From 083a49007d9899805b52d5121bb6974b45665f59 Mon Sep 17 00:00:00 2001 From: Eliot Miranda Date: Sat, 25 Jun 2022 13:41:58 -0700 Subject: [PATCH] CogVM source as per VMMaker.oscog-eem.3200 Add a scheme to report the traceFlags in usage() on the command-line. traceFlagsMeanings is a null-terminated array of strings as per argv. Redefine the flags so that the newspeak-only & simulation-only ones come at the end so avoid reporting unused entries. --- src/spur32.cog.lowcode/cogit.h | 7 ++++--- src/spur32.cog.lowcode/cogitARMv5.c | 17 +++++++++++------ src/spur32.cog.lowcode/cogitIA32.c | 17 +++++++++++------ src/spur32.cog/cogit.h | 7 ++++--- src/spur32.cog/cogitARMv5.c | 17 +++++++++++------ src/spur32.cog/cogitIA32.c | 17 +++++++++++------ src/spur32.sista/cogit.h | 7 ++++--- src/spur32.sista/cogitARMv5.c | 17 +++++++++++------ src/spur32.sista/cogitIA32.c | 17 +++++++++++------ src/spur64.cog.lowcode/cogit.h | 7 ++++--- src/spur64.cog.lowcode/cogitARMv8.c | 17 +++++++++++------ src/spur64.cog.lowcode/cogitX64SysV.c | 17 +++++++++++------ src/spur64.cog.lowcode/cogitX64WIN64.c | 17 +++++++++++------ src/spur64.cog/cogit.h | 7 ++++--- src/spur64.cog/cogitARMv8.c | 21 +++++++++++++-------- src/spur64.cog/cogitX64SysV.c | 17 +++++++++++------ src/spur64.cog/cogitX64WIN64.c | 17 +++++++++++------ src/spur64.sista/cogit.h | 7 ++++--- src/spur64.sista/cogitARMv8.c | 21 +++++++++++++-------- src/spur64.sista/cogitX64SysV.c | 17 +++++++++++------ src/spur64.sista/cogitX64WIN64.c | 17 +++++++++++------ src/v3.cog/cogit.h | 7 ++++--- src/v3.cog/cogitARMv5.c | 17 +++++++++++------ src/v3.cog/cogitIA32.c | 17 +++++++++++------ 24 files changed, 219 insertions(+), 127 deletions(-) diff --git a/src/spur32.cog.lowcode/cogit.h b/src/spur32.cog.lowcode/cogit.h index 25ed1d2fb1..b3b7610805 100644 --- a/src/spur32.cog.lowcode/cogit.h +++ b/src/spur32.cog.lowcode/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ @@ -133,12 +133,13 @@ extern void (*realCECallCogCodePopReceiverArg1Arg0Regs)(void); extern void (*realCECallCogCodePopReceiverReg)(void); extern void (*realCEEnterCogCodePopReceiverReg)(void); extern int traceFlags ; +extern const char * traceFlagsMeanings[] ; extern sqInt traceStores; /*** Macros ***/ #define blockAlignment() 8 -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceReturnToInterpreterPC() ((usqInt)ceReturnToInterpreterTrampoline) @@ -151,7 +152,7 @@ extern sqInt traceStores; #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) diff --git a/src/spur32.cog.lowcode/cogitARMv5.c b/src/spur32.cog.lowcode/cogitARMv5.c index ad8063b486..ed52cd7acc 100644 --- a/src/spur32.cog.lowcode/cogitARMv5.c +++ b/src/spur32.cog.lowcode/cogitARMv5.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2749,6 +2749,11 @@ sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; int traceFlags = 8 /* prim trace log on by default */; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; void (*ceCall0ArgsPIC)(void); void (*ceCall1ArgsPIC)(void); @@ -2794,7 +2799,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2830,7 +2835,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -10780,7 +10785,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin saveAndRestoreLinkRegAround: */ inst = genoperand(PushR, LinkReg); /* begin gen:literal: */ diff --git a/src/spur32.cog.lowcode/cogitIA32.c b/src/spur32.cog.lowcode/cogitIA32.c index 2762bee05b..facaf9f0a8 100644 --- a/src/spur32.cog.lowcode/cogitIA32.c +++ b/src/spur32.cog.lowcode/cogitIA32.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2680,6 +2680,11 @@ sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; int traceFlags = 8 /* prim trace log on by default */; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; void (*ceCall0ArgsPIC)(void); void (*ceCall1ArgsPIC)(void); @@ -2732,7 +2737,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2768,7 +2773,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -10577,7 +10582,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin saveAndRestoreLinkRegAround: */ /* begin annotateCall: */ anInstruction = genoperand(CallFull, ceTraceLinkedSendTrampoline); diff --git a/src/spur32.cog/cogit.h b/src/spur32.cog/cogit.h index 271dd0e232..591096c803 100644 --- a/src/spur32.cog/cogit.h +++ b/src/spur32.cog/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ @@ -131,12 +131,13 @@ extern void (*realCECallCogCodePopReceiverArg1Arg0Regs)(void); extern void (*realCECallCogCodePopReceiverReg)(void); extern void (*realCEEnterCogCodePopReceiverReg)(void); extern int traceFlags ; +extern const char * traceFlagsMeanings[] ; extern sqInt traceStores; /*** Macros ***/ #define blockAlignment() 8 -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceReturnToInterpreterPC() ((usqInt)ceReturnToInterpreterTrampoline) @@ -149,7 +150,7 @@ extern sqInt traceStores; #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) diff --git a/src/spur32.cog/cogitARMv5.c b/src/spur32.cog/cogitARMv5.c index 83ef2030cd..1c96757bba 100644 --- a/src/spur32.cog/cogitARMv5.c +++ b/src/spur32.cog/cogitARMv5.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2568,6 +2568,11 @@ sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; int traceFlags = 8 /* prim trace log on by default */; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; void (*ceCall0ArgsPIC)(void); void (*ceCall1ArgsPIC)(void); @@ -2613,7 +2618,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2649,7 +2654,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -10383,7 +10388,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin saveAndRestoreLinkRegAround: */ inst = genoperand(PushR, LinkReg); /* begin gen:literal: */ diff --git a/src/spur32.cog/cogitIA32.c b/src/spur32.cog/cogitIA32.c index 17ba27ddad..abf94feca4 100644 --- a/src/spur32.cog/cogitIA32.c +++ b/src/spur32.cog/cogitIA32.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2523,6 +2523,11 @@ sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; int traceFlags = 8 /* prim trace log on by default */; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; void (*ceCall0ArgsPIC)(void); void (*ceCall1ArgsPIC)(void); @@ -2575,7 +2580,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2611,7 +2616,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -10047,7 +10052,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin saveAndRestoreLinkRegAround: */ /* begin annotateCall: */ anInstruction = genoperand(CallFull, ceTraceLinkedSendTrampoline); diff --git a/src/spur32.sista/cogit.h b/src/spur32.sista/cogit.h index 9f50596b7b..b55575514a 100644 --- a/src/spur32.sista/cogit.h +++ b/src/spur32.sista/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ @@ -136,12 +136,13 @@ extern void (*realCECallCogCodePopReceiverArg1Arg0Regs)(void); extern void (*realCECallCogCodePopReceiverReg)(void); extern void (*realCEEnterCogCodePopReceiverReg)(void); extern int traceFlags ; +extern const char * traceFlagsMeanings[] ; extern sqInt traceStores; /*** Macros ***/ #define blockAlignment() 8 -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceReturnToInterpreterPC() ((usqInt)ceReturnToInterpreterTrampoline) @@ -154,7 +155,7 @@ extern sqInt traceStores; #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) diff --git a/src/spur32.sista/cogitARMv5.c b/src/spur32.sista/cogitARMv5.c index b45739ac9d..5608be2d78 100644 --- a/src/spur32.sista/cogitARMv5.c +++ b/src/spur32.sista/cogitARMv5.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - SistaCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + SistaCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2660,6 +2660,11 @@ sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; int traceFlags = 8 /* prim trace log on by default */; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; void (*ceCall0ArgsPIC)(void); void (*ceCall1ArgsPIC)(void); @@ -2705,7 +2710,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2741,7 +2746,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -10581,7 +10586,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin saveAndRestoreLinkRegAround: */ inst = genoperand(PushR, LinkReg); /* begin gen:literal: */ diff --git a/src/spur32.sista/cogitIA32.c b/src/spur32.sista/cogitIA32.c index cd97c16d34..9019a5c031 100644 --- a/src/spur32.sista/cogitIA32.c +++ b/src/spur32.sista/cogitIA32.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - SistaCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + SistaCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2614,6 +2614,11 @@ sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; int traceFlags = 8 /* prim trace log on by default */; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; void (*ceCall0ArgsPIC)(void); void (*ceCall1ArgsPIC)(void); @@ -2666,7 +2671,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2702,7 +2707,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -10244,7 +10249,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin saveAndRestoreLinkRegAround: */ /* begin annotateCall: */ anInstruction = genoperand(CallFull, ceTraceLinkedSendTrampoline); diff --git a/src/spur64.cog.lowcode/cogit.h b/src/spur64.cog.lowcode/cogit.h index 25ed1d2fb1..b3b7610805 100644 --- a/src/spur64.cog.lowcode/cogit.h +++ b/src/spur64.cog.lowcode/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ @@ -133,12 +133,13 @@ extern void (*realCECallCogCodePopReceiverArg1Arg0Regs)(void); extern void (*realCECallCogCodePopReceiverReg)(void); extern void (*realCEEnterCogCodePopReceiverReg)(void); extern int traceFlags ; +extern const char * traceFlagsMeanings[] ; extern sqInt traceStores; /*** Macros ***/ #define blockAlignment() 8 -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceReturnToInterpreterPC() ((usqInt)ceReturnToInterpreterTrampoline) @@ -151,7 +152,7 @@ extern sqInt traceStores; #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) diff --git a/src/spur64.cog.lowcode/cogitARMv8.c b/src/spur64.cog.lowcode/cogitARMv8.c index 4a69101420..4cdfaa6f43 100644 --- a/src/spur64.cog.lowcode/cogitARMv8.c +++ b/src/spur64.cog.lowcode/cogitARMv8.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2813,6 +2813,11 @@ sqInt cmEntryOffset; sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; int PJWPNChange; int PJWPNClear; @@ -2872,7 +2877,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2908,7 +2913,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -10760,7 +10765,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin saveAndRestoreLinkRegAround: */ inst = genoperand(PushR, LinkReg); /* begin gen:literal: */ diff --git a/src/spur64.cog.lowcode/cogitX64SysV.c b/src/spur64.cog.lowcode/cogitX64SysV.c index d9305d3d18..1fe35ca248 100644 --- a/src/spur64.cog.lowcode/cogitX64SysV.c +++ b/src/spur64.cog.lowcode/cogitX64SysV.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2729,6 +2729,11 @@ sqInt cmEntryOffset; sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; int traceFlags = 8 /* prim trace log on by default */; void (*ceCall0ArgsPIC)(void); @@ -2772,7 +2777,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2808,7 +2813,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -6375,7 +6380,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin CallFullRT: */ /* begin checkLiteral:forInstruction: */ anInstruction1 = genoperand(CallFull, ceTraceLinkedSendTrampoline); diff --git a/src/spur64.cog.lowcode/cogitX64WIN64.c b/src/spur64.cog.lowcode/cogitX64WIN64.c index e34fce1457..a834602d3b 100644 --- a/src/spur64.cog.lowcode/cogitX64WIN64.c +++ b/src/spur64.cog.lowcode/cogitX64WIN64.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2729,6 +2729,11 @@ sqInt cmEntryOffset; sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; int traceFlags = 8 /* prim trace log on by default */; void (*ceCall0ArgsPIC)(void); @@ -2772,7 +2777,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2808,7 +2813,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -6407,7 +6412,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin CallFullRT: */ /* begin checkLiteral:forInstruction: */ anInstruction1 = genoperand(CallFull, ceTraceLinkedSendTrampoline); diff --git a/src/spur64.cog/cogit.h b/src/spur64.cog/cogit.h index 271dd0e232..591096c803 100644 --- a/src/spur64.cog/cogit.h +++ b/src/spur64.cog/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ @@ -131,12 +131,13 @@ extern void (*realCECallCogCodePopReceiverArg1Arg0Regs)(void); extern void (*realCECallCogCodePopReceiverReg)(void); extern void (*realCEEnterCogCodePopReceiverReg)(void); extern int traceFlags ; +extern const char * traceFlagsMeanings[] ; extern sqInt traceStores; /*** Macros ***/ #define blockAlignment() 8 -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceReturnToInterpreterPC() ((usqInt)ceReturnToInterpreterTrampoline) @@ -149,7 +150,7 @@ extern sqInt traceStores; #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) diff --git a/src/spur64.cog/cogitARMv8.c b/src/spur64.cog/cogitARMv8.c index de99c21d99..d09fb27259 100644 --- a/src/spur64.cog/cogitARMv8.c +++ b/src/spur64.cog/cogitARMv8.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2640,6 +2640,11 @@ sqInt cmEntryOffset; sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; int PJWPNChange; int PJWPNClear; @@ -2699,7 +2704,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2735,7 +2740,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -7284,7 +7289,7 @@ rewriteImm19JumpBeforetarget(AbstractInstruction * self_in_rewriteImm19JumpBefor static sqInt NoDbgRegParms rewriteImm26JumpBeforetarget(AbstractInstruction * self_in_rewriteImm26JumpBeforetarget, sqInt followingAddress, sqInt targetAddress) { - sqInt instrOpcode; + usqInt instrOpcode; sqInt mcpc; sqInt offset; @@ -7294,7 +7299,7 @@ rewriteImm26JumpBeforetarget(AbstractInstruction * self_in_rewriteImm26JumpBefor instrOpcode = ((instructionBeforeAddress(self_in_rewriteImm26JumpBeforetarget, followingAddress))) >> 26; assert((instrOpcode == 5) || (instrOpcode == 37)); - codeLong32Atput(mcpc, (((sqInt)((usqInt)(instrOpcode) << 26))) + (((offset) >> 2) & (0x3FFFFFF))); + codeLong32Atput(mcpc, (instrOpcode << 26) + (((offset) >> 2) & (0x3FFFFFF))); return 4; } @@ -10482,7 +10487,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin saveAndRestoreLinkRegAround: */ inst = genoperand(PushR, LinkReg); /* begin gen:literal: */ diff --git a/src/spur64.cog/cogitX64SysV.c b/src/spur64.cog/cogitX64SysV.c index 9a2517f801..cb9854eeb6 100644 --- a/src/spur64.cog/cogitX64SysV.c +++ b/src/spur64.cog/cogitX64SysV.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2572,6 +2572,11 @@ sqInt cmEntryOffset; sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; int traceFlags = 8 /* prim trace log on by default */; void (*ceCall0ArgsPIC)(void); @@ -2615,7 +2620,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2651,7 +2656,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -5823,7 +5828,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin CallFullRT: */ /* begin checkLiteral:forInstruction: */ anInstruction1 = genoperand(CallFull, ceTraceLinkedSendTrampoline); diff --git a/src/spur64.cog/cogitX64WIN64.c b/src/spur64.cog/cogitX64WIN64.c index 87166483ab..8b337f506d 100644 --- a/src/spur64.cog/cogitX64WIN64.c +++ b/src/spur64.cog/cogitX64WIN64.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2572,6 +2572,11 @@ sqInt cmEntryOffset; sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; int traceFlags = 8 /* prim trace log on by default */; void (*ceCall0ArgsPIC)(void); @@ -2615,7 +2620,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2651,7 +2656,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -5831,7 +5836,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin CallFullRT: */ /* begin checkLiteral:forInstruction: */ anInstruction1 = genoperand(CallFull, ceTraceLinkedSendTrampoline); diff --git a/src/spur64.sista/cogit.h b/src/spur64.sista/cogit.h index 9f50596b7b..b55575514a 100644 --- a/src/spur64.sista/cogit.h +++ b/src/spur64.sista/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ @@ -136,12 +136,13 @@ extern void (*realCECallCogCodePopReceiverArg1Arg0Regs)(void); extern void (*realCECallCogCodePopReceiverReg)(void); extern void (*realCEEnterCogCodePopReceiverReg)(void); extern int traceFlags ; +extern const char * traceFlagsMeanings[] ; extern sqInt traceStores; /*** Macros ***/ #define blockAlignment() 8 -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceReturnToInterpreterPC() ((usqInt)ceReturnToInterpreterTrampoline) @@ -154,7 +155,7 @@ extern sqInt traceStores; #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) diff --git a/src/spur64.sista/cogitARMv8.c b/src/spur64.sista/cogitARMv8.c index 5b9c0b572a..1b47606ce3 100644 --- a/src/spur64.sista/cogitARMv8.c +++ b/src/spur64.sista/cogitARMv8.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - SistaCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + SistaCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2737,6 +2737,11 @@ sqInt cmEntryOffset; sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; int PJWPNChange; int PJWPNClear; @@ -2796,7 +2801,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2832,7 +2837,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -7388,7 +7393,7 @@ rewriteImm19JumpBeforetarget(AbstractInstruction * self_in_rewriteImm19JumpBefor static sqInt NoDbgRegParms rewriteImm26JumpBeforetarget(AbstractInstruction * self_in_rewriteImm26JumpBeforetarget, sqInt followingAddress, sqInt targetAddress) { - sqInt instrOpcode; + usqInt instrOpcode; sqInt mcpc; sqInt offset; @@ -7398,7 +7403,7 @@ rewriteImm26JumpBeforetarget(AbstractInstruction * self_in_rewriteImm26JumpBefor instrOpcode = ((instructionBeforeAddress(self_in_rewriteImm26JumpBeforetarget, followingAddress))) >> 26; assert((instrOpcode == 5) || (instrOpcode == 37)); - codeLong32Atput(mcpc, (((sqInt)((usqInt)(instrOpcode) << 26))) + (((offset) >> 2) & (0x3FFFFFF))); + codeLong32Atput(mcpc, (instrOpcode << 26) + (((offset) >> 2) & (0x3FFFFFF))); return 4; } @@ -10685,7 +10690,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin saveAndRestoreLinkRegAround: */ inst = genoperand(PushR, LinkReg); /* begin gen:literal: */ diff --git a/src/spur64.sista/cogitX64SysV.c b/src/spur64.sista/cogitX64SysV.c index c6f8b9f220..61623d1303 100644 --- a/src/spur64.sista/cogitX64SysV.c +++ b/src/spur64.sista/cogitX64SysV.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - SistaCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + SistaCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2667,6 +2667,11 @@ sqInt cmEntryOffset; sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; int traceFlags = 8 /* prim trace log on by default */; void (*ceCall0ArgsPIC)(void); @@ -2710,7 +2715,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2746,7 +2751,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -6017,7 +6022,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin CallFullRT: */ /* begin checkLiteral:forInstruction: */ anInstruction1 = genoperand(CallFull, ceTraceLinkedSendTrampoline); diff --git a/src/spur64.sista/cogitX64WIN64.c b/src/spur64.sista/cogitX64WIN64.c index 2a4b8fccde..7af2b45a9b 100644 --- a/src/spur64.sista/cogitX64WIN64.c +++ b/src/spur64.sista/cogitX64WIN64.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - SistaCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + SistaCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2667,6 +2667,11 @@ sqInt cmEntryOffset; sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; int traceFlags = 8 /* prim trace log on by default */; void (*ceCall0ArgsPIC)(void); @@ -2710,7 +2715,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2746,7 +2751,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -6025,7 +6030,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin CallFullRT: */ /* begin checkLiteral:forInstruction: */ anInstruction1 = genoperand(CallFull, ceTraceLinkedSendTrampoline); diff --git a/src/v3.cog/cogit.h b/src/v3.cog/cogit.h index 2cfbb7f090..aa6ec6acec 100644 --- a/src/v3.cog/cogit.h +++ b/src/v3.cog/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ @@ -125,12 +125,13 @@ extern void (*realCECallCogCodePopReceiverArg1Arg0Regs)(void); extern void (*realCECallCogCodePopReceiverReg)(void); extern void (*realCEEnterCogCodePopReceiverReg)(void); extern int traceFlags ; +extern const char * traceFlagsMeanings[] ; extern sqInt traceStores; /*** Macros ***/ #define blockAlignment() 8 -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceReturnToInterpreterPC() ((usqInt)ceReturnToInterpreterTrampoline) @@ -143,7 +144,7 @@ extern sqInt traceStores; #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) diff --git a/src/v3.cog/cogitARMv5.c b/src/v3.cog/cogitARMv5.c index 2bb9589878..d78196be78 100644 --- a/src/v3.cog/cogitARMv5.c +++ b/src/v3.cog/cogitARMv5.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2177,6 +2177,11 @@ sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; int traceFlags = 8 /* prim trace log on by default */; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; void (*ceCall0ArgsPIC)(void); void (*ceCall1ArgsPIC)(void); @@ -2222,7 +2227,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2258,7 +2263,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -9763,7 +9768,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin saveAndRestoreLinkRegAround: */ inst = genoperand(PushR, LinkReg); /* begin gen:literal: */ diff --git a/src/v3.cog/cogitIA32.c b/src/v3.cog/cogitIA32.c index f1c7cfd917..3582328768 100644 --- a/src/v3.cog/cogitIA32.c +++ b/src/v3.cog/cogitIA32.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + CCodeGenerator VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 from - StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba + StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3199 uuid: 3866dedc-ccfd-4fc1-a487-85095ada8bba " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3200 uuid: dcd3d040-95e7-43b9-a0e7-4ad384662520 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -2130,6 +2130,11 @@ sqInt cmNoCheckEntryOffset; usqInt methodZoneBase; sqInt missOffset; int traceFlags = 8 /* prim trace log on by default */; +const char * traceFlagsMeanings[] = { + "1: print trace", "2: trace sends", "4: trace block activations", "8: trace interpreter primitives", + "16: trace events (context switches, GCs, etc)", "32: trace stack overflow (poll for events hook)", + "64: trace linked sends", "128: trace fast C call interpreter primitives", null + }; sqInt traceStores; void (*ceCall0ArgsPIC)(void); void (*ceCall1ArgsPIC)(void); @@ -2182,7 +2187,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define backEnd() backEnd #define blockAlignment() 8 #define blockStartAt(index) (&blockStarts[index]) -#define breakOnImplicitReceiver() (traceFlags & 64) +#define breakOnImplicitReceiver() (traceFlags & 256) #define ceBaseFrameReturnPC() ceBaseFrameReturnTrampoline #define ceCannotResumePC() ((usqInt)ceCannotResumeTrampoline) #define ceCheckForInterruptTrampoline() ceCheckForInterruptTrampoline @@ -2218,7 +2223,7 @@ void (*realCEEnterCogCodePopReceiverReg)(void); #define printOnTrace() (traceFlags & 1) #define recordBlockTrace() (traceFlags & 4) #define recordEventTrace() (traceFlags & 16) -#define recordFastCCallPrimTrace() (traceFlags & 512) +#define recordFastCCallPrimTrace() (traceFlags & 128) #define recordOverflowTrace() (traceFlags & 32) #define recordPrimTrace() (traceFlags & 8) #define recordSendTrace() (traceFlags & 2) @@ -9452,7 +9457,7 @@ compileEntry(void) genoperandoperand(CmpRR, ClassReg, TempReg); genConditionalBranchoperand(JumpNonZero, ((sqInt)sendMiss)); noCheckEntry = genoperandoperand(Label, (labelCounter += 1), bytecodePC); - if (((traceFlags & 0x100) == 0x100)) { + if (((traceFlags & 64) == 64)) { /* begin saveAndRestoreLinkRegAround: */ /* begin annotateCall: */ anInstruction = genoperand(CallFull, ceTraceLinkedSendTrampoline);