Skip to content

Commit 3fd454a

Browse files
authored
JIT: Ensure correct alignment of CILJit singleton (#73451)
Fix #73409
1 parent 7b1967e commit 3fd454a

File tree

1 file changed

+2
-13
lines changed

1 file changed

+2
-13
lines changed

src/coreclr/jit/ee_il_dll.cpp

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -152,18 +152,6 @@ void jitShutdown(bool processIsTerminating)
152152

153153
/*****************************************************************************/
154154

155-
struct CILJitSingletonAllocator
156-
{
157-
int x;
158-
};
159-
const CILJitSingletonAllocator CILJitSingleton = {0};
160-
161-
void* __cdecl operator new(size_t, const CILJitSingletonAllocator&)
162-
{
163-
static char CILJitBuff[sizeof(CILJit)];
164-
return CILJitBuff;
165-
}
166-
167155
DLLEXPORT ICorJitCompiler* getJit()
168156
{
169157
if (!g_jitInitialized)
@@ -173,7 +161,8 @@ DLLEXPORT ICorJitCompiler* getJit()
173161

174162
if (ILJitter == nullptr)
175163
{
176-
ILJitter = new (CILJitSingleton) CILJit();
164+
alignas(alignof(CILJit)) static char CILJitBuff[sizeof(CILJit)];
165+
ILJitter = new (CILJitBuff, jitstd::placement_t()) CILJit();
177166
}
178167
return (ILJitter);
179168
}

0 commit comments

Comments
 (0)