Skip to content

Commit ae03460

Browse files
committed
CogVM source as per VMMaker.oscog-eem.2908
StackInterpreter: Provide a selective event printing facility for primGetNextEvent:. Add vm parameter 12 (also potentially settable via a command line argument) to provide a mask of event types to print. Slang: Upgrade the f:printf: transformation to allow specifying stderr as the stream. Upgrade literal array declararions to allow more than one (mangle the target variable name).
1 parent 683f319 commit ae03460

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+1408
-567
lines changed

nsspur64src/vm/cogit.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* Automatically generated by
2-
CCodeGenerator VMMaker.oscog-eem.2905 uuid: b2778a08-d45d-4f84-8467-21a8eccf46dc
2+
CCodeGenerator VMMaker.oscog-eem.2908 uuid: fddf1a4f-c585-45ab-8a74-442230cd3dbd
33
*/
44

55

nsspur64src/vm/cointerp.c

Lines changed: 41 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
/* Automatically generated by
2-
CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2905 uuid: b2778a08-d45d-4f84-8467-21a8eccf46dc
2+
CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2908 uuid: fddf1a4f-c585-45ab-8a74-442230cd3dbd
33
from
4-
CoInterpreter VMMaker.oscog-eem.2905 uuid: b2778a08-d45d-4f84-8467-21a8eccf46dc
4+
CoInterpreter VMMaker.oscog-eem.2908 uuid: fddf1a4f-c585-45ab-8a74-442230cd3dbd
55
*/
6-
static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.2905 uuid: b2778a08-d45d-4f84-8467-21a8eccf46dc " __DATE__ ;
6+
static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.2908 uuid: fddf1a4f-c585-45ab-8a74-442230cd3dbd " __DATE__ ;
77
char *__interpBuildInfo = __buildInfo;
88

99

@@ -1265,7 +1265,7 @@ extern sqInt nonIndexablePointerFormat(void);
12651265
static sqInt noUnscannedEphemerons(void);
12661266
static sqInt NoDbgRegParms numBytesOfBytes(sqInt objOop);
12671267
extern sqInt numBytesOf(sqInt objOop);
1268-
extern sqInt numPointerSlotsOf(sqInt objOop);
1268+
extern usqInt numPointerSlotsOf(sqInt objOop);
12691269
static usqInt NoDbgRegParms numSlotsOfAny(sqInt objOop);
12701270
extern usqInt numSlotsOf(sqInt objOop);
12711271
static sqInt NoDbgRegParms numStrongSlotsOfInephemeral(sqInt objOop);
@@ -2616,6 +2616,7 @@ sqInt desiredNumStackPages;
26162616
sqInt extraVMMemory;
26172617
char * breakSelector;
26182618
sqInt desiredCogCodeSize;
2619+
sqInt eventTraceMask;
26192620
usqInt maxOldSpaceSize;
26202621
usqInt heapBase;
26212622
sqInt inIOProcessEvents;
@@ -2627,7 +2628,7 @@ sqInt debugCallbackInvokes;
26272628
sqInt debugCallbackReturns;
26282629
sqInt ffiExceptionResponse;
26292630
sqInt checkedPluginName;
2630-
const char *interpreterVersion = "Newspeak Virtual Machine [ Open Smalltalk, Spur] CoInterpreterPrimitives_VMMaker.oscog-eem.2905";
2631+
const char *interpreterVersion = "Newspeak Virtual Machine [ Open Smalltalk, Spur] CoInterpreterPrimitives_VMMaker.oscog-eem.2908";
26312632
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
26322633
int displayWidth;
26332634
int displayDepth;
@@ -33078,6 +33079,7 @@ primitiveGetNextEvent(void)
3307833079
{ DECL_MAYBE_SQ_GLOBAL_STRUCT
3307933080
sqInt arg;
3308033081
sqIntptr_t eventTypeIs;
33082+
char ** eventTypeNames;
3308133083
sqIntptr_t evtBuf[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
3308233084
sqInt i;
3308333085
sqIntptr_t value;
@@ -33094,6 +33096,20 @@ primitiveGetNextEvent(void)
3309433096
if (GIV(primFailCode)) {
3309533097
return;
3309633098
}
33099+
if ((eventTraceMask != 0)
33100+
&& (eventTraceMask & ((((evtBuf[0]) < 0) ? (((usqInt)(1)) >> (-(evtBuf[0]))) : (1ULL << (evtBuf[0])))))) {
33101+
/* begin traceInputEvent: */
33102+
33103+
{ static char * eventTypeNamesInitializer[] = {
33104+
"None", "Mouse", "Keyboard", "DragDropFiles", "Menu", "Window", "Complex", "MouseWheel",
33105+
"Plugin"
33106+
};
33107+
eventTypeNames = eventTypeNamesInitializer;
33108+
}
33109+
fprintf(stderr, "Event%s/%" PRIdSQINT " @ %" PRIuSQINT "\t\t%" PRIdSQINT "/%" PRIxSQINT " %" PRIdSQINT "/%" PRIxSQINT "\n\t%" PRIdSQINT "/%" PRIxSQINT " %" PRIdSQINT "/%" PRIxSQINT "\t %" PRIdSQINT "/%" PRIxSQINT " %p\n", ((((evtBuf[0]) >= 0) && ((evtBuf[0]) <= 8))
33110+
? eventTypeNames[evtBuf[0]]
33111+
: "?"), evtBuf[0], evtBuf[1], evtBuf[2], evtBuf[2], evtBuf[3], evtBuf[3], evtBuf[4], evtBuf[4], evtBuf[5], evtBuf[5], evtBuf[6], evtBuf[6], evtBuf[7]);
33112+
}
3309733113
eventTypeIs = evtBuf[0];
3309833114
/* begin storeInteger:ofObject:withValue: */
3309933115
if ((((((usqIntptr_t)((evtBuf[0]))) >> 60) + 1) & 15) <= 1) {
@@ -41043,7 +41059,7 @@ followForwardedObjectFieldstoDepth(sqInt objOop, sqInt depth)
4104341059
sqInt header1;
4104441060
sqInt i;
4104541061
sqInt numLiterals;
41046-
sqInt numSlots;
41062+
usqInt numSlots;
4104741063
usqInt numSlots1;
4104841064
sqInt oop;
4104941065
sqInt referent;
@@ -48665,7 +48681,7 @@ copyObjtoAddrstopAtsavedFirstFieldsindex(sqInt objOop, sqInt segAddr, sqInt endS
4866548681
sqInt iLimiT;
4866648682
sqInt methodHeader;
4866748683
sqInt numLiterals;
48668-
sqInt numMediatedSlots;
48684+
usqInt numMediatedSlots;
4866948685
usqInt numSlots;
4867048686
usqInt numSlots1;
4867148687
sqInt oop;
@@ -54921,7 +54937,7 @@ numBytesOf(sqInt objOop)
5492154937
Works with CompiledMethods, as well as ordinary objects. */
5492254938

5492354939
/* SpurMemoryManager>>#numPointerSlotsOf: */
54924-
sqInt
54940+
usqInt
5492554941
numPointerSlotsOf(sqInt objOop)
5492654942
{ DECL_MAYBE_SQ_GLOBAL_STRUCT
5492754943
sqInt contextSize;
@@ -57916,7 +57932,7 @@ printReferencesTo(sqInt anOop)
5791657932
assert((ReceiverIndex + ((sp >> 3))) < (lengthOf(objOop1)));
5791757933
contextSize = (sp >> 3);
5791857934
l9: /* end fetchStackPointerOf: */;
57919-
i = CtxtTempFrameStart + contextSize;
57935+
i = ((usqInt) (CtxtTempFrameStart + contextSize));
5792057936
goto l10;
5792157937
}
5792257938
/* begin numSlotsOf: */
@@ -57949,7 +57965,7 @@ printReferencesTo(sqInt anOop)
5794957965
/* begin literalCountOfMethodHeader: */
5795057966
assert((((header) & 7) == 1));
5795157967
numLiterals = ((header >> 3)) & AlternateHeaderNumLiteralsMask;
57952-
i = numLiterals + LiteralStart;
57968+
i = ((usqInt) (numLiterals + LiteralStart));
5795357969
l10: /* end numPointerSlotsOf: */;
5795457970
while (((i -= 1)) >= 0) {
5795557971
if (anOop == (longAt((objOop1 + BaseHeaderSize) + (((sqInt)((usqInt)(i) << (shiftForWord()))))))) {
@@ -61097,10 +61113,10 @@ updatePointers(void)
6109761113
sqInt numLiterals1;
6109861114
sqInt numLiterals2;
6109961115
sqInt numLiterals3;
61100-
sqInt numPointerSlots;
61101-
sqInt numPointerSlots1;
61102-
sqInt numPointerSlots2;
61103-
sqInt numPointerSlots3;
61116+
usqInt numPointerSlots;
61117+
usqInt numPointerSlots1;
61118+
usqInt numPointerSlots2;
61119+
usqInt numPointerSlots3;
6110461120
usqInt numSlots;
6110561121
usqInt numSlots1;
6110661122
usqInt numSlots11;
@@ -62256,7 +62272,7 @@ prepareForSnapshot(void)
6225662272
sqInt limit;
6225762273
sqInt newEndOfMemory;
6225862274
sqInt next;
62259-
usqInt node;
62275+
sqInt node;
6226062276
SpurSegmentInfo *seg;
6226162277
sqInt smallChild;
6226262278
sqInt treeNode;
@@ -66070,8 +66086,8 @@ static sqInt
6607066086
getErrorObjectFromPrimFailCode(void)
6607166087
{ DECL_MAYBE_SQ_GLOBAL_STRUCT
6607266088
sqInt classIndex;
66073-
usqInt clone;
66074-
usqInt errObj;
66089+
sqInt clone;
66090+
sqInt errObj;
6607566091
sqInt fieldIndex;
6607666092
sqInt i;
6607766093
usqInt newObj;
@@ -80032,7 +80048,7 @@ primitiveVMParameter(void)
8003280048
longAtput((result1 + BaseHeaderSize) + (10U << (shiftForWord())), valuePointer16);
8003380049
/* begin storePointerUnchecked:ofObject:withValue: */
8003480050
assert(!(isOopForwarded(result1)));
80035-
longAtput((result1 + BaseHeaderSize) + (11U << (shiftForWord())), ConstZero);
80051+
longAtput((result1 + BaseHeaderSize) + (11U << (shiftForWord())), (((usqInt)eventTraceMask << 3) | 1));
8003680052
/* begin storePointerUnchecked:ofObject:withValue: */
8003780053
valuePointer17 =
8003880054
# if VM_TICKER
@@ -80380,7 +80396,7 @@ primitiveVMParameter(void)
8038080396
goto l86;
8038180397
break;
8038280398
case 12:
80383-
result = ConstZero;
80399+
result = (((usqInt)eventTraceMask << 3) | 1);
8038480400
goto l86;
8038580401
break;
8038680402
case 13:
@@ -80803,6 +80819,12 @@ primitiveVMParameter(void)
8080380819
GIV(primFailCode) = 0;
8080480820
l96: /* end tenuringThreshold: */;
8080580821
break;
80822+
case 12:
80823+
result2 = (((usqInt)eventTraceMask << 3) | 1);
80824+
eventTraceMask = arg;
80825+
/* begin initPrimCall */
80826+
GIV(primFailCode) = 0;
80827+
break;
8080680828
case 11:
8080780829
if (arg >= 0) {
8080880830
result2 = (((usqInt)GIV(statTenures) << 3) | 1);

nsspur64src/vm/cointerp.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* Automatically generated by
2-
CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2905 uuid: b2778a08-d45d-4f84-8467-21a8eccf46dc
2+
CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2908 uuid: fddf1a4f-c585-45ab-8a74-442230cd3dbd
33
*/
44

55

@@ -255,7 +255,7 @@ extern sqInt minSlotsForShortening(void);
255255
extern sqInt nilObject(void);
256256
extern sqInt nonIndexablePointerFormat(void);
257257
extern sqInt numBytesOf(sqInt objOop);
258-
extern sqInt numPointerSlotsOf(sqInt objOop);
258+
extern usqInt numPointerSlotsOf(sqInt objOop);
259259
extern usqInt numSlotsOf(sqInt objOop);
260260
extern sqInt numStrongSlotsOfWeakling(sqInt objOop);
261261
extern sqInt objectAfter(sqInt objOop);
@@ -398,6 +398,7 @@ extern void * displayBits;
398398
extern int displayDepth;
399399
extern int displayHeight;
400400
extern int displayWidth;
401+
extern sqInt eventTraceMask;
401402
extern sqInt extraVMMemory;
402403
extern sqInt ffiExceptionResponse;
403404
extern usqInt heapBase;

nsspur64src/vm/gcc3x-cointerp.c

Lines changed: 41 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33

44
/* Automatically generated by
5-
CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2905 uuid: b2778a08-d45d-4f84-8467-21a8eccf46dc
5+
CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2908 uuid: fddf1a4f-c585-45ab-8a74-442230cd3dbd
66
from
7-
CoInterpreter VMMaker.oscog-eem.2905 uuid: b2778a08-d45d-4f84-8467-21a8eccf46dc
7+
CoInterpreter VMMaker.oscog-eem.2908 uuid: fddf1a4f-c585-45ab-8a74-442230cd3dbd
88
*/
9-
static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.2905 uuid: b2778a08-d45d-4f84-8467-21a8eccf46dc " __DATE__ ;
9+
static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.2908 uuid: fddf1a4f-c585-45ab-8a74-442230cd3dbd " __DATE__ ;
1010
char *__interpBuildInfo = __buildInfo;
1111

1212

@@ -1268,7 +1268,7 @@ extern sqInt nonIndexablePointerFormat(void);
12681268
static sqInt noUnscannedEphemerons(void);
12691269
static sqInt NoDbgRegParms numBytesOfBytes(sqInt objOop);
12701270
extern sqInt numBytesOf(sqInt objOop);
1271-
extern sqInt numPointerSlotsOf(sqInt objOop);
1271+
extern usqInt numPointerSlotsOf(sqInt objOop);
12721272
static usqInt NoDbgRegParms numSlotsOfAny(sqInt objOop);
12731273
extern usqInt numSlotsOf(sqInt objOop);
12741274
static sqInt NoDbgRegParms numStrongSlotsOfInephemeral(sqInt objOop);
@@ -2619,6 +2619,7 @@ sqInt desiredNumStackPages;
26192619
sqInt extraVMMemory;
26202620
char * breakSelector;
26212621
sqInt desiredCogCodeSize;
2622+
sqInt eventTraceMask;
26222623
usqInt maxOldSpaceSize;
26232624
usqInt heapBase;
26242625
sqInt inIOProcessEvents;
@@ -2630,7 +2631,7 @@ sqInt debugCallbackInvokes;
26302631
sqInt debugCallbackReturns;
26312632
sqInt ffiExceptionResponse;
26322633
sqInt checkedPluginName;
2633-
const char *interpreterVersion = "Newspeak Virtual Machine [ Open Smalltalk, Spur] CoInterpreterPrimitives_VMMaker.oscog-eem.2905";
2634+
const char *interpreterVersion = "Newspeak Virtual Machine [ Open Smalltalk, Spur] CoInterpreterPrimitives_VMMaker.oscog-eem.2908";
26342635
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
26352636
int displayWidth;
26362637
int displayDepth;
@@ -33087,6 +33088,7 @@ primitiveGetNextEvent(void)
3308733088
{ DECL_MAYBE_SQ_GLOBAL_STRUCT
3308833089
sqInt arg;
3308933090
sqIntptr_t eventTypeIs;
33091+
char ** eventTypeNames;
3309033092
sqIntptr_t evtBuf[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
3309133093
sqInt i;
3309233094
sqIntptr_t value;
@@ -33103,6 +33105,20 @@ primitiveGetNextEvent(void)
3310333105
if (GIV(primFailCode)) {
3310433106
return;
3310533107
}
33108+
if ((eventTraceMask != 0)
33109+
&& (eventTraceMask & ((((evtBuf[0]) < 0) ? (((usqInt)(1)) >> (-(evtBuf[0]))) : (1ULL << (evtBuf[0])))))) {
33110+
/* begin traceInputEvent: */
33111+
33112+
{ static char * eventTypeNamesInitializer[] = {
33113+
"None", "Mouse", "Keyboard", "DragDropFiles", "Menu", "Window", "Complex", "MouseWheel",
33114+
"Plugin"
33115+
};
33116+
eventTypeNames = eventTypeNamesInitializer;
33117+
}
33118+
fprintf(stderr, "Event%s/%" PRIdSQINT " @ %" PRIuSQINT "\t\t%" PRIdSQINT "/%" PRIxSQINT " %" PRIdSQINT "/%" PRIxSQINT "\n\t%" PRIdSQINT "/%" PRIxSQINT " %" PRIdSQINT "/%" PRIxSQINT "\t %" PRIdSQINT "/%" PRIxSQINT " %p\n", ((((evtBuf[0]) >= 0) && ((evtBuf[0]) <= 8))
33119+
? eventTypeNames[evtBuf[0]]
33120+
: "?"), evtBuf[0], evtBuf[1], evtBuf[2], evtBuf[2], evtBuf[3], evtBuf[3], evtBuf[4], evtBuf[4], evtBuf[5], evtBuf[5], evtBuf[6], evtBuf[6], evtBuf[7]);
33121+
}
3310633122
eventTypeIs = evtBuf[0];
3310733123
/* begin storeInteger:ofObject:withValue: */
3310833124
if ((((((usqIntptr_t)((evtBuf[0]))) >> 60) + 1) & 15) <= 1) {
@@ -41052,7 +41068,7 @@ followForwardedObjectFieldstoDepth(sqInt objOop, sqInt depth)
4105241068
sqInt header1;
4105341069
sqInt i;
4105441070
sqInt numLiterals;
41055-
sqInt numSlots;
41071+
usqInt numSlots;
4105641072
usqInt numSlots1;
4105741073
sqInt oop;
4105841074
sqInt referent;
@@ -48674,7 +48690,7 @@ copyObjtoAddrstopAtsavedFirstFieldsindex(sqInt objOop, sqInt segAddr, sqInt endS
4867448690
sqInt iLimiT;
4867548691
sqInt methodHeader;
4867648692
sqInt numLiterals;
48677-
sqInt numMediatedSlots;
48693+
usqInt numMediatedSlots;
4867848694
usqInt numSlots;
4867948695
usqInt numSlots1;
4868048696
sqInt oop;
@@ -54930,7 +54946,7 @@ numBytesOf(sqInt objOop)
5493054946
Works with CompiledMethods, as well as ordinary objects. */
5493154947

5493254948
/* SpurMemoryManager>>#numPointerSlotsOf: */
54933-
sqInt
54949+
usqInt
5493454950
numPointerSlotsOf(sqInt objOop)
5493554951
{ DECL_MAYBE_SQ_GLOBAL_STRUCT
5493654952
sqInt contextSize;
@@ -57925,7 +57941,7 @@ printReferencesTo(sqInt anOop)
5792557941
assert((ReceiverIndex + ((sp >> 3))) < (lengthOf(objOop1)));
5792657942
contextSize = (sp >> 3);
5792757943
l9: /* end fetchStackPointerOf: */;
57928-
i = CtxtTempFrameStart + contextSize;
57944+
i = ((usqInt) (CtxtTempFrameStart + contextSize));
5792957945
goto l10;
5793057946
}
5793157947
/* begin numSlotsOf: */
@@ -57958,7 +57974,7 @@ printReferencesTo(sqInt anOop)
5795857974
/* begin literalCountOfMethodHeader: */
5795957975
assert((((header) & 7) == 1));
5796057976
numLiterals = ((header >> 3)) & AlternateHeaderNumLiteralsMask;
57961-
i = numLiterals + LiteralStart;
57977+
i = ((usqInt) (numLiterals + LiteralStart));
5796257978
l10: /* end numPointerSlotsOf: */;
5796357979
while (((i -= 1)) >= 0) {
5796457980
if (anOop == (longAt((objOop1 + BaseHeaderSize) + (((sqInt)((usqInt)(i) << (shiftForWord()))))))) {
@@ -61106,10 +61122,10 @@ updatePointers(void)
6110661122
sqInt numLiterals1;
6110761123
sqInt numLiterals2;
6110861124
sqInt numLiterals3;
61109-
sqInt numPointerSlots;
61110-
sqInt numPointerSlots1;
61111-
sqInt numPointerSlots2;
61112-
sqInt numPointerSlots3;
61125+
usqInt numPointerSlots;
61126+
usqInt numPointerSlots1;
61127+
usqInt numPointerSlots2;
61128+
usqInt numPointerSlots3;
6111361129
usqInt numSlots;
6111461130
usqInt numSlots1;
6111561131
usqInt numSlots11;
@@ -62265,7 +62281,7 @@ prepareForSnapshot(void)
6226562281
sqInt limit;
6226662282
sqInt newEndOfMemory;
6226762283
sqInt next;
62268-
usqInt node;
62284+
sqInt node;
6226962285
SpurSegmentInfo *seg;
6227062286
sqInt smallChild;
6227162287
sqInt treeNode;
@@ -66079,8 +66095,8 @@ static sqInt
6607966095
getErrorObjectFromPrimFailCode(void)
6608066096
{ DECL_MAYBE_SQ_GLOBAL_STRUCT
6608166097
sqInt classIndex;
66082-
usqInt clone;
66083-
usqInt errObj;
66098+
sqInt clone;
66099+
sqInt errObj;
6608466100
sqInt fieldIndex;
6608566101
sqInt i;
6608666102
usqInt newObj;
@@ -80041,7 +80057,7 @@ primitiveVMParameter(void)
8004180057
longAtput((result1 + BaseHeaderSize) + (10U << (shiftForWord())), valuePointer16);
8004280058
/* begin storePointerUnchecked:ofObject:withValue: */
8004380059
assert(!(isOopForwarded(result1)));
80044-
longAtput((result1 + BaseHeaderSize) + (11U << (shiftForWord())), ConstZero);
80060+
longAtput((result1 + BaseHeaderSize) + (11U << (shiftForWord())), (((usqInt)eventTraceMask << 3) | 1));
8004580061
/* begin storePointerUnchecked:ofObject:withValue: */
8004680062
valuePointer17 =
8004780063
# if VM_TICKER
@@ -80389,7 +80405,7 @@ primitiveVMParameter(void)
8038980405
goto l86;
8039080406
break;
8039180407
case 12:
80392-
result = ConstZero;
80408+
result = (((usqInt)eventTraceMask << 3) | 1);
8039380409
goto l86;
8039480410
break;
8039580411
case 13:
@@ -80812,6 +80828,12 @@ primitiveVMParameter(void)
8081280828
GIV(primFailCode) = 0;
8081380829
l96: /* end tenuringThreshold: */;
8081480830
break;
80831+
case 12:
80832+
result2 = (((usqInt)eventTraceMask << 3) | 1);
80833+
eventTraceMask = arg;
80834+
/* begin initPrimCall */
80835+
GIV(primFailCode) = 0;
80836+
break;
8081580837
case 11:
8081680838
if (arg >= 0) {
8081780839
result2 = (((usqInt)GIV(statTenures) << 3) | 1);

nsspursrc/vm/cogit.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* Automatically generated by
2-
CCodeGenerator VMMaker.oscog-eem.2905 uuid: b2778a08-d45d-4f84-8467-21a8eccf46dc
2+
CCodeGenerator VMMaker.oscog-eem.2908 uuid: fddf1a4f-c585-45ab-8a74-442230cd3dbd
33
*/
44

55

0 commit comments

Comments
 (0)