-
Notifications
You must be signed in to change notification settings - Fork 2.7k
new JitEE interface method: expandRawHandleIntrinsic #12071
Changes from all commits
4ac0b4f
4c1bc22
cd52f3f
184e651
3222668
14676f3
4d84341
605fbcd
f4c24b0
713026e
f98ab6a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,7 +20,6 @@ DEF_CLR_API(getUnmanagedCallConv) | |
DEF_CLR_API(pInvokeMarshalingRequired) | ||
DEF_CLR_API(satisfiesMethodConstraints) | ||
DEF_CLR_API(isCompatibleDelegate) | ||
DEF_CLR_API(isDelegateCreationAllowed) | ||
DEF_CLR_API(isInstantiationOfVerifiedGeneric) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Shouldn't you add a new case for expandRawHandleIntrinsic() in this file? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I am not sure, I asked @AndyAyersMS in the message above why there is no resolveVirtualMethod there. Looks like we do not test code under MEASURE_CLRAPI_CALLS 1. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This was created by Peter Kukol to measure JIT-EE interface overhead. It's probably reasonable to keep it working as close as possible, even if we don't actively build with it regularly. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ok, I fixed that for both methods. I checked that it is possible to build VM with this flag on. |
||
DEF_CLR_API(initConstraintsForVerification) | ||
DEF_CLR_API(canSkipMethodVerification) | ||
|
@@ -113,7 +112,6 @@ DEF_CLR_API(getSystemVAmd64PassStructInRegisterDescriptor) | |
DEF_CLR_API(getThreadTLSIndex) | ||
DEF_CLR_API(getInlinedCallFrameVptr) | ||
DEF_CLR_API(getAddrOfCaptureThreadGlobal) | ||
DEF_CLR_API(getAddrModuleDomainID) | ||
DEF_CLR_API(getHelperFtn) | ||
DEF_CLR_API(getFunctionEntryPoint) | ||
DEF_CLR_API(getFunctionFixedEntryPoint) | ||
|
@@ -167,5 +165,7 @@ DEF_CLR_API(recordRelocation) | |
DEF_CLR_API(getRelocTypeHint) | ||
DEF_CLR_API(getModuleNativeEntryPointRange) | ||
DEF_CLR_API(getExpectedTargetArchitecture) | ||
DEF_CLR_API(resolveVirtualMethod) | ||
DEF_CLR_API(expandRawHandleIntrinsic) | ||
|
||
#undef DEF_CLR_API |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -189,17 +189,6 @@ BOOL WrapICorJitInfo::isCompatibleDelegate( | |
return temp; | ||
} | ||
|
||
BOOL WrapICorJitInfo::isDelegateCreationAllowed( | ||
CORINFO_CLASS_HANDLE delegateHnd, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Shouldn't you add a new case for expandRawHandleIntrinsic() in this file? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed |
||
CORINFO_METHOD_HANDLE calleeHnd) | ||
{ | ||
API_ENTER(isDelegateCreationAllowed); | ||
BOOL temp = wrapHnd->isDelegateCreationAllowed(delegateHnd, calleeHnd); | ||
API_LEAVE(isDelegateCreationAllowed); | ||
return temp; | ||
} | ||
|
||
|
||
CorInfoInstantiationVerification WrapICorJitInfo::isInstantiationOfVerifiedGeneric( | ||
CORINFO_METHOD_HANDLE method /* IN */) | ||
{ | ||
|
@@ -1097,14 +1086,6 @@ LONG * WrapICorJitInfo::getAddrOfCaptureThreadGlobal( | |
return temp; | ||
} | ||
|
||
SIZE_T* WrapICorJitInfo::getAddrModuleDomainID(CORINFO_MODULE_HANDLE module) | ||
{ | ||
API_ENTER(getAddrModuleDomainID); | ||
SIZE_T* result = wrapHnd->getAddrModuleDomainID(module); | ||
API_LEAVE(getAddrModuleDomainID); | ||
return result; | ||
} | ||
|
||
void* WrapICorJitInfo::getHelperFtn( | ||
CorInfoHelpFunc ftnNum, | ||
void **ppIndirection) | ||
|
@@ -1615,6 +1596,27 @@ DWORD WrapICorJitInfo::getExpectedTargetArchitecture() | |
return result; | ||
} | ||
|
||
CORINFO_METHOD_HANDLE WrapICorJitInfo::resolveVirtualMethod( | ||
CORINFO_METHOD_HANDLE virtualMethod, /* IN */ | ||
CORINFO_CLASS_HANDLE implementingClass, /* IN */ | ||
CORINFO_CONTEXT_HANDLE ownerType = NULL /* IN */ | ||
) | ||
{ | ||
API_ENTER(resolveVirtualMethod); | ||
CORINFO_METHOD_HANDLE result = wrapHnd->resolveVirtualMethod(virtualMethod, implementingClass, ownerType); | ||
API_LEAVE(resolveVirtualMethod); | ||
return result; | ||
} | ||
|
||
void WrapICorJitInfo::expandRawHandleIntrinsic( | ||
CORINFO_RESOLVED_TOKEN * pResolvedToken, | ||
CORINFO_GENERICHANDLE_RESULT * pResult) | ||
{ | ||
API_ENTER(expandRawHandleIntrinsic); | ||
wrapHnd->expandRawHandleIntrinsic(pResolvedToken, pResult); | ||
API_LEAVE(expandRawHandleIntrinsic); | ||
} | ||
|
||
/**********************************************************************************/ | ||
// clang-format on | ||
/**********************************************************************************/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While you are on it you can also delete
getAddrModuleDomainID
... I have noticed earlier today that it is also unused.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, done.