.net 对于JIT编译的方法,MethodHandle.GetFunctionPointer()返回什么?

.net 对于JIT编译的方法,MethodHandle.GetFunctionPointer()返回什么?,.net,jit,.net,Jit,如果方法是JIT编译的,那么MethodHandle.GetFunctionPointer()是否指向实际编译的代码或某个中间存根/跳转?实际上并不重要,它可以始终是存根。无论用户是编译调用还是使用GetFunctionPointer()。例如,在COM互操作或接口方法上发生。从源代码看,GetFunctionPointer()是否强制抖动编译该方法并不明显,我找不到getMultiCallableAddressOfcode()。名字上写着“不”。因为地址通常是相同的,所以您也无法可靠地判断。

如果方法是JIT编译的,那么
MethodHandle.GetFunctionPointer()
是否指向实际编译的代码或某个中间存根/跳转?

实际上并不重要,它可以始终是存根。无论用户是编译调用还是使用GetFunctionPointer()。例如,在COM互操作或接口方法上发生。从源代码看,GetFunctionPointer()是否强制抖动编译该方法并不明显,我找不到getMultiCallableAddressOfcode()。名字上写着“不”。因为地址通常是相同的,所以您也无法可靠地判断。