summaryrefslogtreecommitdiff
path: root/src/jit/gtstructs.h
diff options
context:
space:
mode:
authorEgor Chesakov <t-egche@microsoft.com>2016-07-21 15:37:41 -0700
committerEgor Chesakov <t-egche@microsoft.com>2016-08-08 17:58:25 -0700
commit3c30aa1642ac52844aa3078fd6bc79a06f5c586a (patch)
tree5a13beb22fce080b9172ee097670e4122eaab755 /src/jit/gtstructs.h
parent17ced7fea35cb89ce6fe6c0a614c9fe15171bdea (diff)
downloadcoreclr-3c30aa1642ac52844aa3078fd6bc79a06f5c586a.tar.gz
coreclr-3c30aa1642ac52844aa3078fd6bc79a06f5c586a.tar.bz2
coreclr-3c30aa1642ac52844aa3078fd6bc79a06f5c586a.zip
Work towards objects stack allocation: moved allocation part of newobj-lowering into separate phase
1. Introduced `GT_ALLOCOBJ` node to mark places where object allocation happens 2. In `importer.cpp` changed lowering of allocation part of newobj instruction from an allocation helper call to a `GT_ALLOCOBJ` node creation 3. Created new phase `ObjectAllocator` (`PHASE_ALLOCATE_OBJECTS`) and put it right after dominator computing (we will need the information for escape analysis) 4. Current implementation of ObjectAllocator walks over all basic blocks having flag `BBF_HAS_NEWOBJ` set and replaces `GT_ALLOCOBJ` with an allocation helper call
Diffstat (limited to 'src/jit/gtstructs.h')
-rw-r--r--src/jit/gtstructs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/jit/gtstructs.h b/src/jit/gtstructs.h
index c76e69f417..ae7311ace5 100644
--- a/src/jit/gtstructs.h
+++ b/src/jit/gtstructs.h
@@ -101,6 +101,7 @@ GTSTRUCT_1(CpBlk , GT_COPYBLK)
#ifdef FEATURE_SIMD
GTSTRUCT_1(SIMD , GT_SIMD)
#endif // FEATURE_SIMD
+GTSTRUCT_1(AllocObj , GT_ALLOCOBJ)
/*****************************************************************************/
#undef GTSTRUCT_0
#undef GTSTRUCT_1