diff options
author | Michal Strehovský <MichalStrehovsky@users.noreply.github.com> | 2017-10-10 14:38:35 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-10 14:38:35 +0300 |
commit | f3328736e5da164dc70974420914f79239a50004 (patch) | |
tree | 98fd95db2361ac7e10ea15ea080b3b26226aa2be /src/Native | |
parent | 8f423ff10972c4fdcb8b315188b83fac398203ce (diff) |
Update RyuJIT (#4691)
Diffstat (limited to 'src/Native')
-rw-r--r-- | src/Native/jitinterface/jitinterface.h | 20 | ||||
-rw-r--r-- | src/Native/jitinterface/jitwrapper.cpp | 10 |
2 files changed, 25 insertions, 5 deletions
diff --git a/src/Native/jitinterface/jitinterface.h b/src/Native/jitinterface/jitinterface.h index b2e498283..cb3598a76 100644 --- a/src/Native/jitinterface/jitinterface.h +++ b/src/Native/jitinterface/jitinterface.h @@ -82,6 +82,8 @@ struct JitInterfaceCallbacks int (__stdcall * getTypeForPrimitiveValueClass)(void * thisHandle, CorInfoException** ppException, void* cls); int (__stdcall * canCast)(void * thisHandle, CorInfoException** ppException, void* child, void* parent); int (__stdcall * areTypesEquivalent)(void * thisHandle, CorInfoException** ppException, void* cls1, void* cls2); + int (__stdcall * compareTypesForCast)(void * thisHandle, CorInfoException** ppException, void* fromClass, void* toClass); + int (__stdcall * compareTypesForEquality)(void * thisHandle, CorInfoException** ppException, void* cls1, void* cls2); void* (__stdcall * mergeClasses)(void * thisHandle, CorInfoException** ppException, void* cls1, void* cls2); void* (__stdcall * getParentType)(void * thisHandle, CorInfoException** ppException, void* cls); int (__stdcall * getChildType)(void * thisHandle, CorInfoException** ppException, void* clsHnd, void* clsRet); @@ -822,6 +824,24 @@ public: return _ret; } + virtual int compareTypesForCast(void* fromClass, void* toClass) + { + CorInfoException* pException = nullptr; + int _ret = _callbacks->compareTypesForCast(_thisHandle, &pException, fromClass, toClass); + if (pException != nullptr) + throw pException; + return _ret; + } + + virtual int compareTypesForEquality(void* cls1, void* cls2) + { + CorInfoException* pException = nullptr; + int _ret = _callbacks->compareTypesForEquality(_thisHandle, &pException, cls1, cls2); + if (pException != nullptr) + throw pException; + return _ret; + } + virtual void* mergeClasses(void* cls1, void* cls2) { CorInfoException* pException = nullptr; diff --git a/src/Native/jitinterface/jitwrapper.cpp b/src/Native/jitinterface/jitwrapper.cpp index 1ad12c969..a58be7eb3 100644 --- a/src/Native/jitinterface/jitwrapper.cpp +++ b/src/Native/jitinterface/jitwrapper.cpp @@ -27,11 +27,11 @@ private: unsigned __int64 corJitFlags; }; -static const GUID JITEEVersionIdentifier = { /* CFEC7B89-D5FF-4A67-823A-EF99FE0286F4 */ - 0xcfec7b89, - 0xd5ff, - 0x4a67, - { 0x82, 0x3a, 0xef, 0x99, 0xfe, 0x2, 0x86, 0xf4 } +static const GUID JITEEVersionIdentifier = { /* 8f51c68e-d515-425c-9e04-97e4a8148b07 */ + 0x8f51c68e, + 0xd515, + 0x425c, + {0x9e, 0x04, 0x97, 0xe4, 0xa8, 0x14, 0x8b, 0x07} }; class Jit |