diff options
Diffstat (limited to 'src/vm/jitinterface.cpp')
-rw-r--r-- | src/vm/jitinterface.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/vm/jitinterface.cpp b/src/vm/jitinterface.cpp index ab5c59a8f8..519ccc266c 100644 --- a/src/vm/jitinterface.cpp +++ b/src/vm/jitinterface.cpp @@ -9953,8 +9953,8 @@ void* CEEInfo::getPInvokeUnmanagedTarget(CORINFO_METHOD_HANDLE method, /*********************************************************************/ // return address of fixup area for late-bound N/Direct calls. -void CEEInfo::getAddressOfPInvokeFixup(CORINFO_METHOD_HANDLE method, - CORINFO_CONST_LOOKUP *pLookup) +void* CEEInfo::getAddressOfPInvokeFixup(CORINFO_METHOD_HANDLE method, + void **ppIndirection) { CONTRACTL { SO_TOLERANT; @@ -9963,16 +9963,22 @@ void CEEInfo::getAddressOfPInvokeFixup(CORINFO_METHOD_HANDLE method, MODE_PREEMPTIVE; } CONTRACTL_END; + void * result = NULL; + + if (ppIndirection != NULL) + *ppIndirection = NULL; + JIT_TO_EE_TRANSITION_LEAF(); MethodDesc* ftn = GetMethod(method); _ASSERTE(ftn->IsNDirect()); NDirectMethodDesc *pMD = (NDirectMethodDesc*)ftn; - pLookup->accessType = IAT_PVALUE; - pLookup->addr = (LPVOID)&(pMD->GetWriteableData()->m_pNDirectTarget); + result = (LPVOID)&(pMD->GetWriteableData()->m_pNDirectTarget); EE_TO_JIT_TRANSITION_LEAF(); + + return result; } |