summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/vm/arm/cgencpu.h6
-rw-r--r--src/vm/jitinterface.cpp8
-rw-r--r--src/vm/virtualcallstub.cpp2
3 files changed, 8 insertions, 8 deletions
diff --git a/src/vm/arm/cgencpu.h b/src/vm/arm/cgencpu.h
index 936fdabafb..63c578bb88 100644
--- a/src/vm/arm/cgencpu.h
+++ b/src/vm/arm/cgencpu.h
@@ -36,10 +36,12 @@ Stub * GenerateInitPInvokeFrameHelper();
EXTERN_C void checkStack(void);
+#define THUMB_CODE 1
+
#ifdef CROSSGEN_COMPILE
#define GetEEFuncEntryPoint(pfn) 0x1001
#else
-#define GetEEFuncEntryPoint(pfn) GFN_TADDR(pfn)
+#define GetEEFuncEntryPoint(pfn) (GFN_TADDR(pfn) | THUMB_CODE)
#endif
//**********************************************************************
@@ -306,8 +308,6 @@ inline PCODE decodeBackToBackJump(PCODE pBuffer)
#include "stublink.h"
struct ArrayOpScript;
-#define THUMB_CODE 1
-
inline BOOL IsThumbCode(PCODE pCode)
{
return (pCode & THUMB_CODE) != 0;
diff --git a/src/vm/jitinterface.cpp b/src/vm/jitinterface.cpp
index 133a69121c..2d28a1b37a 100644
--- a/src/vm/jitinterface.cpp
+++ b/src/vm/jitinterface.cpp
@@ -13389,19 +13389,19 @@ BOOL LoadDynamicInfoEntry(Module *currentModule,
break;
case READYTORUN_HELPER_DelayLoad_MethodCall:
- result = (size_t)DelayLoad_MethodCall;
+ result = (size_t)GetEEFuncEntryPoint(DelayLoad_MethodCall);
break;
case READYTORUN_HELPER_DelayLoad_Helper:
- result = (size_t)DelayLoad_Helper;
+ result = (size_t)GetEEFuncEntryPoint(DelayLoad_Helper);
break;
case READYTORUN_HELPER_DelayLoad_Helper_Obj:
- result = (size_t)DelayLoad_Helper_Obj;
+ result = (size_t)GetEEFuncEntryPoint(DelayLoad_Helper_Obj);
break;
case READYTORUN_HELPER_DelayLoad_Helper_ObjObj:
- result = (size_t)DelayLoad_Helper_ObjObj;
+ result = (size_t)GetEEFuncEntryPoint(DelayLoad_Helper_ObjObj);
break;
default:
diff --git a/src/vm/virtualcallstub.cpp b/src/vm/virtualcallstub.cpp
index 512b4f2b36..5fc66f6d6a 100644
--- a/src/vm/virtualcallstub.cpp
+++ b/src/vm/virtualcallstub.cpp
@@ -1107,7 +1107,7 @@ BOOL VirtualCallStubManager::TraceManager(Thread *thread,
#ifdef FEATURE_PREJIT
// This is the case for the lazy slot fixup
- if (GetIP(pContext) == GFN_TADDR(StubDispatchFixupPatchLabel)) {
+ if (GetIP(pContext) == GetEEFuncEntryPoint(StubDispatchFixupPatchLabel)) {
*pRetAddr = (BYTE *)StubManagerHelpers::GetReturnAddress(pContext);