diff options
Diffstat (limited to 'src/vm/metasig.h')
-rw-r--r-- | src/vm/metasig.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/vm/metasig.h b/src/vm/metasig.h index c2dc42fb9d..bbd326ebe3 100644 --- a/src/vm/metasig.h +++ b/src/vm/metasig.h @@ -56,6 +56,7 @@ // T -- TypedReference -- TypedReference // G -- -- Generic type variable // M -- -- Generic method variable +// GI -- -- Generic type instantiation // //#DEFINE_METASIG @@ -128,6 +129,8 @@ #define G(n) METASIG_ATOM(ELEMENT_TYPE_VAR) METASIG_ATOM(n) #define M(n) METASIG_ATOM(ELEMENT_TYPE_MVAR) METASIG_ATOM(n) +#define GI(type, n, x) METASIG_ATOM(ELEMENT_TYPE_GENERICINST) type METASIG_ATOM(n) x + // The references to other types have special definition in some cases #ifndef C #define C(x) METASIG_ATOM(ELEMENT_TYPE_CLASS) METASIG_ATOM(CLASS__ ## x % 0x100) METASIG_ATOM(CLASS__ ## x / 0x100) @@ -145,6 +148,8 @@ #define G(n) METASIG_ATOM(ELEMENT_TYPE_VAR) #define M(n) METASIG_ATOM(ELEMENT_TYPE_MVAR) +#define GI(type, n, x) METASIG_ATOM(ELEMENT_TYPE_GENERICINST) + // The references to other types have special definition in some cases #ifndef C #define C(x) METASIG_ATOM(ELEMENT_TYPE_CLASS) @@ -285,6 +290,11 @@ DEFINE_METASIG(GM(RefByte_T_RetVoid, IMAGE_CEE_CS_CALLCONV_DEFAULT, 1, r(b) M(0) DEFINE_METASIG(GM(PtrVoid_RetT, IMAGE_CEE_CS_CALLCONV_DEFAULT, 1, P(v), M(0))) DEFINE_METASIG(GM(PtrVoid_T_RetVoid, IMAGE_CEE_CS_CALLCONV_DEFAULT, 1, P(v) M(0), v)) +DEFINE_METASIG(GM(RefTFrom_RetRefTTo, IMAGE_CEE_CS_CALLCONV_DEFAULT, 2, r(M(0)), r(M(1)))) +DEFINE_METASIG(GM(Obj_RetT, IMAGE_CEE_CS_CALLCONV_DEFAULT, 1, j, M(0))) +DEFINE_METASIG(GM(RefT_Int_RetRefT, IMAGE_CEE_CS_CALLCONV_DEFAULT, 1, r(M(0)) i, r(M(0)))) +DEFINE_METASIG(GM(PtrVoid_Int_RetPtrVoid, IMAGE_CEE_CS_CALLCONV_DEFAULT, 1, P(v) i, P(v))) + DEFINE_METASIG_T(SM(SafeHandle_RefBool_RetIntPtr, C(SAFE_HANDLE) r(F), I )) DEFINE_METASIG_T(SM(SafeHandle_RetVoid, C(SAFE_HANDLE), v )) @@ -382,6 +392,7 @@ DEFINE_METASIG(IM(Bool_Bool_RetStr, F F, s)) DEFINE_METASIG(IM(PtrChar_RetVoid, P(u), v)) DEFINE_METASIG(IM(PtrChar_Int_Int_RetVoid, P(u) i i, v)) +DEFINE_METASIG_T(IM(ReadOnlySpanOfChar_RetVoid, GI(g(READONLY_SPAN), 1, u), v)) DEFINE_METASIG(IM(PtrSByt_RetVoid, P(B), v)) DEFINE_METASIG(IM(PtrSByt_Int_Int_RetVoid, P(B) i i, v)) DEFINE_METASIG_T(IM(PtrSByt_Int_Int_Encoding_RetVoid, P(B) i i C(ENCODING), v)) @@ -393,6 +404,7 @@ DEFINE_METASIG(IM(ArrChar_Int_Int_RetStr, a(u) i i, s)) DEFINE_METASIG(IM(Char_Int_RetStr, u i, s)) DEFINE_METASIG(IM(PtrChar_RetStr, P(u), s)) DEFINE_METASIG(IM(PtrChar_Int_Int_RetStr, P(u) i i, s)) +DEFINE_METASIG_T(IM(ReadOnlySpanOfChar_RetStr, GI(g(READONLY_SPAN), 1, u), s)) DEFINE_METASIG(IM(Obj_Int_RetIntPtr, j i, I)) DEFINE_METASIG(IM(Char_Char_RetStr, u u, s)) @@ -405,6 +417,8 @@ DEFINE_METASIG(IM(Int_RefIntPtr_RefIntPtr_RefIntPtr_RetVoid, i r(I) r(I) r(I), v DEFINE_METASIG(IM(Int_RetStr, i, s)) DEFINE_METASIG(IM(Int_RetVoid, i, v)) DEFINE_METASIG(IM(Int_RetBool, i, F)) +DEFINE_METASIG(IM(Int_Int_RetVoid, i i, v)) +DEFINE_METASIG(IM(Int_Int_Int_RetVoid, i i i, v)) DEFINE_METASIG(IM(Int_Int_Int_Int_RetVoid, i i i i, v)) DEFINE_METASIG_T(IM(Obj_EventArgs_RetVoid, j C(EVENT_ARGS), v)) DEFINE_METASIG_T(IM(Obj_UnhandledExceptionEventArgs_RetVoid, j C(UNHANDLED_EVENTARGS), v)) @@ -608,6 +622,7 @@ DEFINE_METASIG_T(IM(IAsyncResult_RetVoid, C(IASYNCRESULT), v)) #undef T #undef G #undef M +#undef GI #undef _ |