Skip to content

Commit b4542a6

Browse files
github-actions[bot]jakobbotschCopilot
authored
[release/10.0] JIT: Fix heap allocations (#120323)
* JIT: Fix heap allocations Also override the global new operators to assert unconditionally, to catch this common pitfall proactively. * Nit * Fix x86 build * Nit * Address feedback * Update src/coreclr/jit/CMakeLists.txt Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Remove diagnostic from 10.0 backport --------- Co-authored-by: Jakob Botsch Nielsen <jakob.botsch.nielsen@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent c605463 commit b4542a6

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/coreclr/jit/lsra.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -874,15 +874,15 @@ LinearScan::LinearScan(Compiler* theCompiler)
874874
}
875875
else
876876
{
877-
regIndices =
878-
new regNumber[]{REG_RAX, REG_RCX, REG_RDX, REG_RBX, REG_RSP, REG_RBP, REG_RSI, REG_RDI,
879-
REG_R8, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15,
880-
REG_XMM0, REG_XMM1, REG_XMM2, REG_XMM3, REG_XMM4, REG_XMM5, REG_XMM6, REG_XMM7,
881-
REG_XMM8, REG_XMM9, REG_XMM10, REG_XMM11, REG_XMM12, REG_XMM13, REG_XMM14, REG_XMM15,
882-
REG_XMM16, REG_XMM17, REG_XMM18, REG_XMM19, REG_XMM20, REG_XMM21, REG_XMM22, REG_XMM23,
883-
REG_XMM24, REG_XMM25, REG_XMM26, REG_XMM27, REG_XMM28, REG_XMM29, REG_XMM30, REG_XMM31,
884-
REG_K0, REG_K1, REG_K2, REG_K3, REG_K4, REG_K5, REG_K6, REG_K7,
885-
REG_COUNT};
877+
regIndices = new (theCompiler, CMK_LSRA)
878+
regNumber[]{REG_RAX, REG_RCX, REG_RDX, REG_RBX, REG_RSP, REG_RBP, REG_RSI, REG_RDI,
879+
REG_R8, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15,
880+
REG_XMM0, REG_XMM1, REG_XMM2, REG_XMM3, REG_XMM4, REG_XMM5, REG_XMM6, REG_XMM7,
881+
REG_XMM8, REG_XMM9, REG_XMM10, REG_XMM11, REG_XMM12, REG_XMM13, REG_XMM14, REG_XMM15,
882+
REG_XMM16, REG_XMM17, REG_XMM18, REG_XMM19, REG_XMM20, REG_XMM21, REG_XMM22, REG_XMM23,
883+
REG_XMM24, REG_XMM25, REG_XMM26, REG_XMM27, REG_XMM28, REG_XMM29, REG_XMM30, REG_XMM31,
884+
REG_K0, REG_K1, REG_K2, REG_K3, REG_K4, REG_K5, REG_K6, REG_K7,
885+
REG_COUNT};
886886
}
887887
#endif // TARGET_AMD64
888888

@@ -12575,7 +12575,7 @@ LinearScan::RegisterSelection::RegisterSelection(LinearScan* linearScan)
1257512575
this->linearScan = linearScan;
1257612576

1257712577
#ifdef DEBUG
12578-
mappingTable = new ScoreMappingTable(linearScan->compiler->getAllocator(CMK_LSRA));
12578+
mappingTable = new (linearScan->compiler, CMK_LSRA) ScoreMappingTable(linearScan->compiler->getAllocator(CMK_LSRA));
1257912579

1258012580
#define REG_SEL_DEF(stat, value, shortname, orderSeqId) \
1258112581
mappingTable->Set(stat, &LinearScan::RegisterSelection::try_##stat);

0 commit comments

Comments
 (0)