diff options
Diffstat (limited to 'src/vm/prestub.cpp')
-rw-r--r-- | src/vm/prestub.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/vm/prestub.cpp b/src/vm/prestub.cpp index 67639e99b2..fccec51bb3 100644 --- a/src/vm/prestub.cpp +++ b/src/vm/prestub.cpp @@ -55,6 +55,13 @@ #ifndef DACCESS_COMPILE EXTERN_C void STDCALL ThePreStub(); + +#if defined(HAS_COMPACT_ENTRYPOINTS) && defined (_TARGET_ARM_) + +EXTERN_C void STDCALL ThePreStubCompactARM(); + +#endif // defined(HAS_COMPACT_ENTRYPOINTS) && defined (_TARGET_ARM_) + EXTERN_C void STDCALL ThePreStubPatch(); //========================================================================== @@ -1002,6 +1009,21 @@ Stub * MakeInstantiatingStubWorker(MethodDesc *pMD) } #endif // defined(FEATURE_SHARE_GENERIC_CODE) +#if defined (HAS_COMPACT_ENTRYPOINTS) && defined (_TARGET_ARM_) + +extern "C" MethodDesc * STDCALL PreStubGetMethodDescForCompactEntryPoint (PCODE pCode) +{ + _ASSERTE (pCode >= PC_REG_RELATIVE_OFFSET); + + pCode = (PCODE) (pCode - PC_REG_RELATIVE_OFFSET + THUMB_CODE); + + _ASSERTE (MethodDescChunk::IsCompactEntryPointAtAddress (pCode)); + + return MethodDescChunk::GetMethodDescFromCompactEntryPoint(pCode, FALSE); +} + +#endif // defined (HAS_COMPACT_ENTRYPOINTS) && defined (_TARGET_ARM_) + //============================================================================= // This function generates the real code for a method and installs it into // the methoddesc. Usually ***BUT NOT ALWAYS***, this function runs only once |