Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stack alloc prototype missed converting the newobjs from boxes #8910

Closed
AndyAyersMS opened this issue Sep 11, 2017 · 2 comments · Fixed by dotnet/coreclr#13988
Closed

Stack alloc prototype missed converting the newobjs from boxes #8910

AndyAyersMS opened this issue Sep 11, 2017 · 2 comments · Fixed by dotnet/coreclr#13988
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI enhancement Product code improvement that does NOT require public API changes/additions
Milestone

Comments

@AndyAyersMS
Copy link
Member

The work in dotnet/coreclr#6653 to encapsulate object heap allocation in the JIT IR missed one important case: the new objects created by boxing.

There should be a call to gtNewAllocObjNode in impImportAndPushBox in place of the generic gtNewHelperCallNode.

@AndyAyersMS
Copy link
Member Author

Similar issue with the ready to run newobj/newarray expansions.

@AndyAyersMS
Copy link
Member Author

Regular newarray not handled either, seems like this could be a candidate.

AndyAyersMS referenced this issue in AndyAyersMS/coreclr Sep 14, 2017
Model box object allocations using the AllocObj tree node. Update
the box deconstruction utility to compensate.

Also set the OMF_HAS_NEWOBJ flag when we generate Box IR; this both
fixes an oversight from before and is a necessary step to trigger the
morphing of AllocObj into a helper call.

No diffs.

Closes #13905.
AndyAyersMS referenced this issue in dotnet/coreclr Sep 15, 2017
Model box object allocations using the AllocObj tree node. Update
the box deconstruction utility to compensate.

Also set the OMF_HAS_NEWOBJ flag when we generate Box IR; this both
fixes an oversight from before and is a necessary step to trigger the
morphing of AllocObj into a helper call.

No diffs.

Closes #13905.
@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@msftgits msftgits added this to the Future milestone Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 20, 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 enhancement Product code improvement that does NOT require public API changes/additions
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants