From 4324dcc8cd85c6fb5cd79b9322a5f20a07f373c4 Mon Sep 17 00:00:00 2001 From: Bart Wiegmans Date: Thu, 5 Sep 2019 12:53:48 +0200 Subject: [PATCH] [JIT] Add devirtualization method for REPRs --- src/6model/6model.h | 4 ++++ src/6model/reprs/CArray.c | 1 + src/6model/reprs/CPPStruct.c | 1 + src/6model/reprs/CPointer.c | 1 + src/6model/reprs/CStr.c | 1 + src/6model/reprs/CStruct.c | 1 + src/6model/reprs/CUnion.c | 1 + src/6model/reprs/ConcBlockingQueue.c | 1 + src/6model/reprs/ConditionVariable.c | 1 + src/6model/reprs/Decoder.c | 1 + src/6model/reprs/HashAttrStore.c | 1 + src/6model/reprs/KnowHOWAttributeREPR.c | 1 + src/6model/reprs/KnowHOWREPR.c | 1 + src/6model/reprs/MVMAsyncTask.c | 1 + src/6model/reprs/MVMCFunction.c | 1 + src/6model/reprs/MVMCallCapture.c | 1 + src/6model/reprs/MVMCode.c | 1 + src/6model/reprs/MVMCompUnit.c | 1 + src/6model/reprs/MVMContext.c | 1 + src/6model/reprs/MVMContinuation.c | 1 + src/6model/reprs/MVMDLLSym.c | 1 + src/6model/reprs/MVMException.c | 1 + src/6model/reprs/MVMHash.c | 1 + src/6model/reprs/MVMIter.c | 1 + src/6model/reprs/MVMMultiCache.c | 1 + src/6model/reprs/MVMNull.c | 1 + src/6model/reprs/MVMOSHandle.c | 1 + src/6model/reprs/MVMSpeshLog.c | 1 + src/6model/reprs/MVMStaticFrame.c | 1 + src/6model/reprs/MVMStaticFrameSpesh.c | 1 + src/6model/reprs/MVMString.c | 1 + src/6model/reprs/MVMThread.c | 1 + src/6model/reprs/MultiDimArray.c | 1 + src/6model/reprs/NFA.c | 1 + src/6model/reprs/NativeCall.c | 1 + src/6model/reprs/NativeRef.c | 1 + src/6model/reprs/P6bigint.c | 1 + src/6model/reprs/P6int.c | 1 + src/6model/reprs/P6num.c | 1 + src/6model/reprs/P6opaque.c | 1 + src/6model/reprs/P6str.c | 1 + src/6model/reprs/ReentrantMutex.c | 1 + src/6model/reprs/SCRef.c | 1 + src/6model/reprs/Semaphore.c | 1 + src/6model/reprs/Uninstantiable.c | 1 + src/6model/reprs/VMArray.c | 1 + 46 files changed, 49 insertions(+) diff --git a/src/6model/6model.h b/src/6model/6model.h index 41aeae6f40..1cef00a72e 100644 --- a/src/6model/6model.h +++ b/src/6model/6model.h @@ -667,6 +667,10 @@ struct MVMREPROps { void (*spesh) (MVMThreadContext *tc, MVMSTable *st, MVMSpeshGraph *g, MVMSpeshBB *bb, MVMSpeshIns *ins); + /* Allows the REPR to produce specialized expr IR of various instructions, + * when we know the type involved. */ + MVMint32 (*jit) (MVMThreadContext *tc, MVMSTable *st, MVMSpeshGraph *g, MVMSpeshIns *ins, MVMJitExprTree *tree, MVMint32 args[]); + /* The representation's name. */ const char *name; diff --git a/src/6model/reprs/CArray.c b/src/6model/reprs/CArray.c index 6ea5a8a8fa..0a1a988527 100644 --- a/src/6model/reprs/CArray.c +++ b/src/6model/reprs/CArray.c @@ -517,6 +517,7 @@ static const MVMREPROps CArray_this_repr = { gc_free_repr_data, compose, NULL, /* spesh */ + NULL, /* jit */ "CArray", /* name */ MVM_REPR_ID_MVMCArray, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/CPPStruct.c b/src/6model/reprs/CPPStruct.c index b9bd26cfe2..18ae009ddc 100644 --- a/src/6model/reprs/CPPStruct.c +++ b/src/6model/reprs/CPPStruct.c @@ -878,6 +878,7 @@ static const MVMREPROps CPPStruct_this_repr = { gc_free_repr_data, compose, NULL, /* spesh */ + NULL, /* jit */ "CPPStruct", /* name */ MVM_REPR_ID_MVMCPPStruct, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/CPointer.c b/src/6model/reprs/CPointer.c index 75c01c16cd..ac558ad9c9 100644 --- a/src/6model/reprs/CPointer.c +++ b/src/6model/reprs/CPointer.c @@ -151,6 +151,7 @@ static const MVMREPROps CPointer_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "CPointer", /* name */ MVM_REPR_ID_MVMCPointer, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/CStr.c b/src/6model/reprs/CStr.c index 853a8624c5..e3737a9307 100644 --- a/src/6model/reprs/CStr.c +++ b/src/6model/reprs/CStr.c @@ -110,6 +110,7 @@ static const MVMREPROps CStr_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "CStr", /* name */ MVM_REPR_ID_MVMCStr, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/CStruct.c b/src/6model/reprs/CStruct.c index c775ec69c2..1600d9ec80 100644 --- a/src/6model/reprs/CStruct.c +++ b/src/6model/reprs/CStruct.c @@ -1061,6 +1061,7 @@ static const MVMREPROps CStruct_this_repr = { gc_free_repr_data, compose, spesh, /* spesh */ + NULL, /* jit */ "CStruct", /* name */ MVM_REPR_ID_MVMCStruct, unmanaged_size, diff --git a/src/6model/reprs/CUnion.c b/src/6model/reprs/CUnion.c index 434454c935..b61d9c9005 100644 --- a/src/6model/reprs/CUnion.c +++ b/src/6model/reprs/CUnion.c @@ -816,6 +816,7 @@ static const MVMREPROps CUnion_this_repr = { gc_free_repr_data, compose, NULL, /* spesh */ + NULL, /* jit */ "CUnion", /* name */ MVM_REPR_ID_MVMCUnion, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/ConcBlockingQueue.c b/src/6model/reprs/ConcBlockingQueue.c index be2a4869dc..f875a9312f 100644 --- a/src/6model/reprs/ConcBlockingQueue.c +++ b/src/6model/reprs/ConcBlockingQueue.c @@ -316,6 +316,7 @@ static const MVMREPROps ConcBlockingQueue_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "ConcBlockingQueue", /* name */ MVM_REPR_ID_ConcBlockingQueue, unmanaged_size, diff --git a/src/6model/reprs/ConditionVariable.c b/src/6model/reprs/ConditionVariable.c index 3f5eb84b34..4df0ca9c32 100644 --- a/src/6model/reprs/ConditionVariable.c +++ b/src/6model/reprs/ConditionVariable.c @@ -93,6 +93,7 @@ static const MVMREPROps ConditionVariable_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "ConditionVariable", /* name */ MVM_REPR_ID_ConditionVariable, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/Decoder.c b/src/6model/reprs/Decoder.c index 7ea1c1f8a7..4a7cb811f3 100644 --- a/src/6model/reprs/Decoder.c +++ b/src/6model/reprs/Decoder.c @@ -94,6 +94,7 @@ static const MVMREPROps Decoder_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "Decoder", /* name */ MVM_REPR_ID_Decoder, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/HashAttrStore.c b/src/6model/reprs/HashAttrStore.c index 2287ca0024..a05d0b91c0 100644 --- a/src/6model/reprs/HashAttrStore.c +++ b/src/6model/reprs/HashAttrStore.c @@ -158,6 +158,7 @@ static const MVMREPROps HashAttrStore_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "HashAttrStore", /* name */ MVM_REPR_ID_HashAttrStore, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/KnowHOWAttributeREPR.c b/src/6model/reprs/KnowHOWAttributeREPR.c index dfd2ad6104..aafe122998 100644 --- a/src/6model/reprs/KnowHOWAttributeREPR.c +++ b/src/6model/reprs/KnowHOWAttributeREPR.c @@ -99,6 +99,7 @@ static const MVMREPROps KnowHOWAttributeREPR_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "KnowHOWAttributeREPR", /* name */ MVM_REPR_ID_KnowHOWAttributeREPR, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/KnowHOWREPR.c b/src/6model/reprs/KnowHOWREPR.c index 2a41933a01..64bbc529e0 100644 --- a/src/6model/reprs/KnowHOWREPR.c +++ b/src/6model/reprs/KnowHOWREPR.c @@ -121,6 +121,7 @@ static const MVMREPROps KnowHOWREPR_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "KnowHOWREPR", /* name */ MVM_REPR_ID_KnowHOWREPR, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/MVMAsyncTask.c b/src/6model/reprs/MVMAsyncTask.c index 5fb1a066a1..56e8b2fd15 100644 --- a/src/6model/reprs/MVMAsyncTask.c +++ b/src/6model/reprs/MVMAsyncTask.c @@ -93,6 +93,7 @@ static const MVMREPROps MVMAsyncTask_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "AsyncTask", /* name */ MVM_REPR_ID_MVMAsyncTask, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/MVMCFunction.c b/src/6model/reprs/MVMCFunction.c index 17e94d7e0d..cebf8d7000 100644 --- a/src/6model/reprs/MVMCFunction.c +++ b/src/6model/reprs/MVMCFunction.c @@ -83,6 +83,7 @@ static const MVMREPROps MVMCFunction_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "MVMCFunction", /* name */ MVM_REPR_ID_MVMCFunction, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/MVMCallCapture.c b/src/6model/reprs/MVMCallCapture.c index 59912113a4..be84cde82b 100644 --- a/src/6model/reprs/MVMCallCapture.c +++ b/src/6model/reprs/MVMCallCapture.c @@ -117,6 +117,7 @@ static const MVMREPROps MVMCallCapture_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "MVMCallCapture", /* name */ MVM_REPR_ID_MVMCallCapture, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/MVMCode.c b/src/6model/reprs/MVMCode.c index 2f51deade3..8cbb1ca63e 100644 --- a/src/6model/reprs/MVMCode.c +++ b/src/6model/reprs/MVMCode.c @@ -120,6 +120,7 @@ static const MVMREPROps MVMCode_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "MVMCode", /* name */ MVM_REPR_ID_MVMCode, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/MVMCompUnit.c b/src/6model/reprs/MVMCompUnit.c index d0c5e8111b..010c606c46 100644 --- a/src/6model/reprs/MVMCompUnit.c +++ b/src/6model/reprs/MVMCompUnit.c @@ -241,6 +241,7 @@ static const MVMREPROps MVMCompUnit_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "MVMCompUnit", /* name */ MVM_REPR_ID_MVMCompUnit, unmanaged_size, diff --git a/src/6model/reprs/MVMContext.c b/src/6model/reprs/MVMContext.c index eff5985452..e811f3421c 100644 --- a/src/6model/reprs/MVMContext.c +++ b/src/6model/reprs/MVMContext.c @@ -259,6 +259,7 @@ static const MVMREPROps MVMContext_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "MVMContext", /* name */ MVM_REPR_ID_MVMContext, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/MVMContinuation.c b/src/6model/reprs/MVMContinuation.c index b175943e57..6cff523fb0 100644 --- a/src/6model/reprs/MVMContinuation.c +++ b/src/6model/reprs/MVMContinuation.c @@ -106,6 +106,7 @@ static const MVMREPROps MVMContinuation_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "MVMContinuation", /* name */ MVM_REPR_ID_MVMContinuation, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/MVMDLLSym.c b/src/6model/reprs/MVMDLLSym.c index 254dbb8699..569be56adc 100644 --- a/src/6model/reprs/MVMDLLSym.c +++ b/src/6model/reprs/MVMDLLSym.c @@ -83,6 +83,7 @@ static const MVMREPROps MVMDLLSym_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "MVMDLLSym", MVM_REPR_ID_MVMDLLSym, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/MVMException.c b/src/6model/reprs/MVMException.c index db28818b49..a34de44c4a 100644 --- a/src/6model/reprs/MVMException.c +++ b/src/6model/reprs/MVMException.c @@ -79,6 +79,7 @@ static const MVMREPROps MVMException_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "VMException", /* name */ MVM_REPR_ID_MVMException, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/MVMHash.c b/src/6model/reprs/MVMHash.c index 802d43e3a1..1ec079d254 100644 --- a/src/6model/reprs/MVMHash.c +++ b/src/6model/reprs/MVMHash.c @@ -278,6 +278,7 @@ static const MVMREPROps MVMHash_this_repr = { NULL, /* gc_free_repr_data */ compose, spesh, + NULL, /* jit */ "VMHash", /* name */ MVM_REPR_ID_MVMHash, unmanaged_size, /* unmanaged_size */ diff --git a/src/6model/reprs/MVMIter.c b/src/6model/reprs/MVMIter.c index 0d073b5927..7f0ace4efc 100644 --- a/src/6model/reprs/MVMIter.c +++ b/src/6model/reprs/MVMIter.c @@ -192,6 +192,7 @@ static const MVMREPROps MVMIter_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "VMIter", /* name */ MVM_REPR_ID_MVMIter, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/MVMMultiCache.c b/src/6model/reprs/MVMMultiCache.c index 2c685d5775..dc9d6bad6d 100644 --- a/src/6model/reprs/MVMMultiCache.c +++ b/src/6model/reprs/MVMMultiCache.c @@ -96,6 +96,7 @@ static const MVMREPROps MVMMultiCache_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "MVMMultiCache", /* name */ MVM_REPR_ID_MVMMultiCache, unmanaged_size, /* unmanaged_size */ diff --git a/src/6model/reprs/MVMNull.c b/src/6model/reprs/MVMNull.c index 16ea280db1..7d3e726a2b 100644 --- a/src/6model/reprs/MVMNull.c +++ b/src/6model/reprs/MVMNull.c @@ -80,6 +80,7 @@ static const MVMREPROps MVMNull_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "Null", /* name */ MVM_REPR_ID_MVMNull, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/MVMOSHandle.c b/src/6model/reprs/MVMOSHandle.c index 6780851ba5..92dd809a9a 100644 --- a/src/6model/reprs/MVMOSHandle.c +++ b/src/6model/reprs/MVMOSHandle.c @@ -104,6 +104,7 @@ static const MVMREPROps MVMOSHandle_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "MVMOSHandle", /* name */ MVM_REPR_ID_MVMOSHandle, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/MVMSpeshLog.c b/src/6model/reprs/MVMSpeshLog.c index 169c6e8db1..0b8d4f02cf 100644 --- a/src/6model/reprs/MVMSpeshLog.c +++ b/src/6model/reprs/MVMSpeshLog.c @@ -180,6 +180,7 @@ static const MVMREPROps SpeshLog_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "MVMSpeshLog", /* name */ MVM_REPR_ID_MVMSpeshLog, unmanaged_size, diff --git a/src/6model/reprs/MVMStaticFrame.c b/src/6model/reprs/MVMStaticFrame.c index 7d1d069d08..44c1518325 100644 --- a/src/6model/reprs/MVMStaticFrame.c +++ b/src/6model/reprs/MVMStaticFrame.c @@ -316,6 +316,7 @@ static const MVMREPROps MVMStaticFrame_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "MVMStaticFrame", /* name */ MVM_REPR_ID_MVMStaticFrame, unmanaged_size, /* unmanaged_size */ diff --git a/src/6model/reprs/MVMStaticFrameSpesh.c b/src/6model/reprs/MVMStaticFrameSpesh.c index 1e5e9bb975..ec35d7c8bf 100644 --- a/src/6model/reprs/MVMStaticFrameSpesh.c +++ b/src/6model/reprs/MVMStaticFrameSpesh.c @@ -172,6 +172,7 @@ static const MVMREPROps StaticFrameSpesh_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "MVMStaticFrameSpesh", /* name */ MVM_REPR_ID_MVMStaticFrameSpesh, unmanaged_size, diff --git a/src/6model/reprs/MVMString.c b/src/6model/reprs/MVMString.c index aa5d51a6ad..c020338f76 100644 --- a/src/6model/reprs/MVMString.c +++ b/src/6model/reprs/MVMString.c @@ -130,6 +130,7 @@ static const MVMREPROps MVMString_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "MVMString", /* name */ MVM_REPR_ID_MVMString, unmanaged_size, diff --git a/src/6model/reprs/MVMThread.c b/src/6model/reprs/MVMThread.c index 54ae500eec..16fa2c56ab 100644 --- a/src/6model/reprs/MVMThread.c +++ b/src/6model/reprs/MVMThread.c @@ -91,6 +91,7 @@ static const MVMREPROps MVMThread_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "VMThread", /* name */ MVM_REPR_ID_MVMThread, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/MultiDimArray.c b/src/6model/reprs/MultiDimArray.c index 601edc40d2..3345b6a31e 100644 --- a/src/6model/reprs/MultiDimArray.c +++ b/src/6model/reprs/MultiDimArray.c @@ -832,6 +832,7 @@ static const MVMREPROps MultiDimArray_this_repr = { gc_free_repr_data, compose, NULL, /* spesh */ + NULL, /* jit */ "MultiDimArray", /* name */ MVM_REPR_ID_MultiDimArray, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/NFA.c b/src/6model/reprs/NFA.c index 00cb4fe248..c30f15e4c5 100644 --- a/src/6model/reprs/NFA.c +++ b/src/6model/reprs/NFA.c @@ -345,6 +345,7 @@ static const MVMREPROps NFA_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "NFA", /* name */ MVM_REPR_ID_NFA, unmanaged_size, diff --git a/src/6model/reprs/NativeCall.c b/src/6model/reprs/NativeCall.c index 18f226011c..4207e17d43 100644 --- a/src/6model/reprs/NativeCall.c +++ b/src/6model/reprs/NativeCall.c @@ -135,6 +135,7 @@ static const MVMREPROps NativeCall_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "NativeCall", /* name */ MVM_REPR_ID_MVMNativeCall, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/NativeRef.c b/src/6model/reprs/NativeRef.c index 89d6a05cc9..3a23cbec44 100644 --- a/src/6model/reprs/NativeRef.c +++ b/src/6model/reprs/NativeRef.c @@ -174,6 +174,7 @@ static const MVMREPROps NativeRef_this_repr = { gc_free_repr_data, compose, spesh, /* spesh */ + NULL, /* jit */ "NativeRef", /* name */ MVM_REPR_ID_NativeRef, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/P6bigint.c b/src/6model/reprs/P6bigint.c index 5fc9872ed5..21d116434d 100644 --- a/src/6model/reprs/P6bigint.c +++ b/src/6model/reprs/P6bigint.c @@ -288,6 +288,7 @@ static const MVMREPROps P6bigint_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "P6bigint", /* name */ MVM_REPR_ID_P6bigint, unmanaged_size, /* unmanaged_size */ diff --git a/src/6model/reprs/P6int.c b/src/6model/reprs/P6int.c index e4579c55e4..e21d6d4f44 100644 --- a/src/6model/reprs/P6int.c +++ b/src/6model/reprs/P6int.c @@ -292,6 +292,7 @@ static const MVMREPROps P6int_this_repr = { gc_free_repr_data, compose, spesh, + NULL, /* jit */ "P6int", /* name */ MVM_REPR_ID_P6int, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/P6num.c b/src/6model/reprs/P6num.c index cd3296610c..6bd2cb3691 100644 --- a/src/6model/reprs/P6num.c +++ b/src/6model/reprs/P6num.c @@ -237,6 +237,7 @@ static const MVMREPROps P6num_this_repr = { gc_free_repr_data, compose, spesh, + NULL, /* jit */ "P6num", /* name */ MVM_REPR_ID_P6num, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/P6opaque.c b/src/6model/reprs/P6opaque.c index 8d6f8dc30b..e8b362b487 100644 --- a/src/6model/reprs/P6opaque.c +++ b/src/6model/reprs/P6opaque.c @@ -1903,6 +1903,7 @@ static const MVMREPROps P6opaque_this_repr = { gc_free_repr_data, compose, spesh, + NULL, /* jit */ "P6opaque", /* name */ MVM_REPR_ID_P6opaque, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/P6str.c b/src/6model/reprs/P6str.c index ce4247c4df..903bed8bd1 100644 --- a/src/6model/reprs/P6str.c +++ b/src/6model/reprs/P6str.c @@ -157,6 +157,7 @@ static const MVMREPROps P6str_this_repr = { NULL, /* gc_free_repr_data */ compose, spesh, + NULL, /* jit */ "P6str", /* name */ MVM_REPR_ID_P6str, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/ReentrantMutex.c b/src/6model/reprs/ReentrantMutex.c index 16547a7960..eaddc0bb99 100644 --- a/src/6model/reprs/ReentrantMutex.c +++ b/src/6model/reprs/ReentrantMutex.c @@ -109,6 +109,7 @@ static const MVMREPROps ReentrantMutex_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "ReentrantMutex", /* name */ MVM_REPR_ID_ReentrantMutex, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/SCRef.c b/src/6model/reprs/SCRef.c index 097f069973..2b0bdad0ab 100644 --- a/src/6model/reprs/SCRef.c +++ b/src/6model/reprs/SCRef.c @@ -251,6 +251,7 @@ static const MVMREPROps SCRef_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "SCRef", /* name */ MVM_REPR_ID_SCRef, unmanaged_size, diff --git a/src/6model/reprs/Semaphore.c b/src/6model/reprs/Semaphore.c index dce072d151..f7f0426845 100644 --- a/src/6model/reprs/Semaphore.c +++ b/src/6model/reprs/Semaphore.c @@ -108,6 +108,7 @@ static const MVMREPROps Semaphore_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "Semaphore", /* name */ MVM_REPR_ID_Semaphore, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/Uninstantiable.c b/src/6model/reprs/Uninstantiable.c index da16c3ac46..9e00b4e745 100644 --- a/src/6model/reprs/Uninstantiable.c +++ b/src/6model/reprs/Uninstantiable.c @@ -82,6 +82,7 @@ static const MVMREPROps Uninstantiable_this_repr = { NULL, /* gc_free_repr_data */ compose, NULL, /* spesh */ + NULL, /* jit */ "Uninstantiable", /* name */ MVM_REPR_ID_Uninstantiable, NULL, /* unmanaged_size */ diff --git a/src/6model/reprs/VMArray.c b/src/6model/reprs/VMArray.c index d5b883024c..5f5acf07a4 100644 --- a/src/6model/reprs/VMArray.c +++ b/src/6model/reprs/VMArray.c @@ -1464,6 +1464,7 @@ static const MVMREPROps VMArray_this_repr = { gc_free_repr_data, compose, spesh, + NULL, /* jit */ "VMArray", /* name */ MVM_REPR_ID_VMArray, unmanaged_size,