Skip to content

Conversation

@CarolEidt
Copy link
Contributor

If profiling is enabled, we need to kill REG_PROFILER_RET_SCRATCH as it may be used if r0 is occupied.

Fix #37223

@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jun 9, 2020
@CarolEidt
Copy link
Contributor Author

@dotnet/jit-contrib PTAL

@CarolEidt
Copy link
Contributor Author

ping @dotnet/jit-contrib

Copy link
Contributor

@echesakov echesakov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@CarolEidt I have a question - what would happen when r0 is not used (when a method returns void, HFA, or uses a return buffer)? We will still consider r2 (REG_PROFILER_RET_SCRATCH) as killed even though it wasn't?

@CarolEidt
Copy link
Contributor Author

what would happen when r0 is not used (when a method returns void, HFA, or uses a return buffer)? We will still consider r2 (REG_PROFILER_RET_SCRATCH) as killed even though it wasn't?

Yes, unfortunately that's the case.

@CarolEidt CarolEidt merged commit b179e19 into dotnet:master Jun 12, 2020
@CarolEidt CarolEidt deleted the Fix37223 branch June 12, 2020 11:34
AndyAyersMS added a commit to AndyAyersMS/runtime that referenced this pull request Jul 1, 2020
AndyAyersMS added a commit to AndyAyersMS/runtime that referenced this pull request Jul 15, 2020
AndyAyersMS added a commit that referenced this pull request Jul 17, 2020
Jacksondr5 pushed a commit to Jacksondr5/runtime that referenced this pull request Aug 10, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 8, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Assertion failed 'nonVarPtrRegs == RBM_NONE'

4 participants