diff options
-rw-r--r-- | src/jit/jitconfigvalues.h | 1 | ||||
-rw-r--r-- | src/jit/morph.cpp | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/jit/jitconfigvalues.h b/src/jit/jitconfigvalues.h index b5732ed74a..07f0ab15ce 100644 --- a/src/jit/jitconfigvalues.h +++ b/src/jit/jitconfigvalues.h @@ -347,6 +347,7 @@ CONFIG_STRING(JitInlineReplayFile, W("JitInlineReplayFile")) #endif // defined(DEBUG) || defined(INLINE_DATA) CONFIG_INTEGER(JitInlinePolicyModel, W("JitInlinePolicyModel"), 0) +CONFIG_INTEGER(JitObjectStackAllocation, W("JitObjectStackAllocation"), 0) CONFIG_INTEGER(JitEECallTimingInfo, W("JitEECallTimingInfo"), 0) diff --git a/src/jit/morph.cpp b/src/jit/morph.cpp index 0e345a0847..bb04cdb302 100644 --- a/src/jit/morph.cpp +++ b/src/jit/morph.cpp @@ -16737,6 +16737,12 @@ void Compiler::fgMorph() // Transform each GT_ALLOCOBJ node into either an allocation helper call or // local variable allocation on the stack. ObjectAllocator objectAllocator(this); // PHASE_ALLOCATE_OBJECTS + + if (JitConfig.JitObjectStackAllocation() && !opts.MinOpts() && !opts.compDbgCode) + { + objectAllocator.EnableObjectStackAllocation(); + } + objectAllocator.Run(); /* Add any internal blocks/trees we may need */ |