• S
    Pass opaque method signature handle between JIT/CG2 (#47779) · ba63deb2
    Simon Nattress 提交于
    * Crossgen2 presently abuses the `CORINFO_SIG_INFO` pSig field to pass a handle representing a managed method signature object which the JIT passes back to us later in compilation. This field is for byte arrays and causes problems with SuperPMI which rightly doesn't know how to interpret a zero-length buffer whose pointer is set.
    * Introduce a new field ,`methodSignature` where we pass the handle back to the JIT. This pattern saves us from allocating and pinning a byte buffer for signatures, something the native code VM and Crossgen1 don't have to worry about.
    * Add strongly typed `ObjectToHandle` and `HandleToObject` methods for `CORINFO_MODULE_STRUCT_` <=> `MethodIL` and `MethodSignatureInfo` <=> `MethodSignature`.
    * Add SuperPMI support for CORINFO_SIG_INFO.methodSignature
    Co-authored-by: NBruce Forstall <brucefo@microsoft.com>
    ba63deb2
jiteeversionguid.h 1.9 KB