diff --git a/src/coreclr/vm/dllimportcallback.cpp b/src/coreclr/vm/dllimportcallback.cpp index e33e08849f9795..2a5c72510f04b6 100644 --- a/src/coreclr/vm/dllimportcallback.cpp +++ b/src/coreclr/vm/dllimportcallback.cpp @@ -1014,6 +1014,9 @@ UMEntryThunk *UMEntryThunkCache::GetUMEntryThunk(MethodDesc *pMD) else { // cache miss -> create a new thunk +#if defined(HOST_OSX) && defined(HOST_ARM64) + auto jitWriteEnableHolder = PAL_JITWriteEnable(true); +#endif // defined(HOST_OSX) && defined(HOST_ARM64) pThunk = UMEntryThunk::CreateUMEntryThunk(); Holder umHolder; umHolder.Assign(pThunk); @@ -1098,6 +1101,10 @@ PCODE TheUMEntryPrestubWorker(UMEntryThunk * pUMEntryThunk) if (pThread->IsAbortRequested()) pThread->HandleThreadAbort(); +#if defined(HOST_OSX) && defined(HOST_ARM64) + auto jitWriteEnableHolder = PAL_JITWriteEnable(true); +#endif // defined(HOST_OSX) && defined(HOST_ARM64) + UMEntryThunk::DoRunTimeInit(pUMEntryThunk); return (PCODE)pUMEntryThunk->GetCode();