diff options
Diffstat (limited to 'src/vm/precode.cpp')
-rw-r--r-- | src/vm/precode.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/vm/precode.cpp b/src/vm/precode.cpp index 8891d5a903..103fc03959 100644 --- a/src/vm/precode.cpp +++ b/src/vm/precode.cpp @@ -425,6 +425,29 @@ void Precode::Init(PrecodeType t, MethodDesc* pMD, LoaderAllocator *pLoaderAlloc _ASSERTE(IsValidType(GetType())); } +void Precode::ResetTargetInterlocked() +{ + WRAPPER_NO_CONTRACT; + + PrecodeType precodeType = GetType(); + switch (precodeType) + { + case PRECODE_STUB: + AsStubPrecode()->ResetTargetInterlocked(); + break; + +#ifdef HAS_FIXUP_PRECODE + case PRECODE_FIXUP: + AsFixupPrecode()->ResetTargetInterlocked(); + break; +#endif // HAS_FIXUP_PRECODE + + default: + UnexpectedPrecodeType("Precode::ResetTargetInterlocked", precodeType); + break; + } +} + BOOL Precode::SetTargetInterlocked(PCODE target, BOOL fOnlyRedirectFromPrestub) { WRAPPER_NO_CONTRACT; |