diff options
Diffstat (limited to 'src/vm/prestub.cpp')
-rw-r--r-- | src/vm/prestub.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/vm/prestub.cpp b/src/vm/prestub.cpp index a8e35a2842..f121278f1a 100644 --- a/src/vm/prestub.cpp +++ b/src/vm/prestub.cpp @@ -2254,8 +2254,12 @@ static PCODE PatchNonVirtualExternalMethod(MethodDesc * pMD, PCODE pCode, PTR_CO // than code:Precode::TryToSkipFixupPrecode. // #ifdef HAS_FIXUP_PRECODE - if (pMD->HasPrecode() && pMD->GetPrecode()->GetType() == PRECODE_FIXUP - && pMD->IsNativeCodeStableAfterInit()) + if (pMD->HasPrecode() + && (pMD->GetPrecode()->GetType() == PRECODE_FIXUP +#ifdef HAS_RELATIVE_FIXUP_PRECODE + || pMD->GetPrecode()->GetType() == PRECODE_RELATIVE_FIXUP +#endif // HAS_RELATIVE_FIXUP_PRECODE + ) && pMD->IsNativeCodeStableAfterInit()) { PCODE pDirectTarget = pMD->IsFCall() ? ECall::GetFCallImpl(pMD) : pMD->GetNativeCode(); if (pDirectTarget != NULL) |