diff options
author | Eugene Rozenfeld <erozen@microsoft.com> | 2018-10-12 17:35:28 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-12 17:35:28 -0700 |
commit | cb2d6ee13fe94d3112f3ac886c8e981456351e57 (patch) | |
tree | e04618df7cb75190343e73baacabbb2222825694 /src/jit/objectalloc.cpp | |
parent | d6c35b6274a49bf83eff4e1089b8013c3741d936 (diff) | |
download | coreclr-cb2d6ee13fe94d3112f3ac886c8e981456351e57.tar.gz coreclr-cb2d6ee13fe94d3112f3ac886c8e981456351e57.tar.bz2 coreclr-cb2d6ee13fe94d3112f3ac886c8e981456351e57.zip |
Move ObjectAllocator phase to run right after inlining. (#20377)
This change will support object stack allocation for the following reasons:
1. Objects should be allocated on the stack before struct promotion phase
so that their fields have a chance to be promoted.
2. Eventually object stack allocation will be performed in the same phase
as inlining since inlining heuristics will need to be aware of object stack allocation
opportunities.
I verified no x64 diffs with jit-diffs --frameworks --tests --pmi
Diffstat (limited to 'src/jit/objectalloc.cpp')
-rw-r--r-- | src/jit/objectalloc.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/jit/objectalloc.cpp b/src/jit/objectalloc.cpp index 93e60ee3c4..c4fdc11c53 100644 --- a/src/jit/objectalloc.cpp +++ b/src/jit/objectalloc.cpp @@ -155,7 +155,9 @@ GenTree* ObjectAllocator::MorphAllocObjNodeIntoHelperCall(GenTreeAllocObj* alloc GenTree* op1 = allocObj->gtGetOp1(); - GenTree* helperCall = comp->fgMorphIntoHelperCall(allocObj, allocObj->gtNewHelper, comp->gtNewArgList(op1)); + const bool morphArgs = false; + GenTree* helperCall = + comp->fgMorphIntoHelperCall(allocObj, allocObj->gtNewHelper, comp->gtNewArgList(op1), morphArgs); return helperCall; } |