diff --git a/spursista64src/vm/cogit.h b/spursista64src/vm/cogit.h index 39f360a043..25f51d5824 100644 --- a/spursista64src/vm/cogit.h +++ b/spursista64src/vm/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.2397 uuid: b696a3c2-2443-4c71-94ef-04a4a9a8c426 + CCodeGenerator VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 */ diff --git a/spursista64src/vm/cointerp.c b/spursista64src/vm/cointerp.c index 287494b40a..5c0394584f 100644 --- a/spursista64src/vm/cointerp.c +++ b/spursista64src/vm/cointerp.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2397 uuid: b696a3c2-2443-4c71-94ef-04a4a9a8c426 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 from - CoInterpreter VMMaker.oscog-eem.2397 uuid: b696a3c2-2443-4c71-94ef-04a4a9a8c426 + CoInterpreter VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.2397 uuid: b696a3c2-2443-4c71-94ef-04a4a9a8c426 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -924,6 +924,7 @@ extern sqInt isReallyYoungObject(sqInt objOop); extern sqInt methodHeaderOf(sqInt methodObj); extern usqInt needGCFlagAddress(void); extern sqLong nullHeaderForMachineCodeMethod(void); +extern usqInt objectBytesForSlots(sqInt numSlots); extern sqInt receiverTagBitsForMethod(sqInt aMethodObj); extern usqInt scavengeThresholdAddress(void); extern usqInt specialObjectsArrayAddress(void); @@ -2573,7 +2574,7 @@ static signed char primitiveAccessorDepthTable[MaxPrimitiveIndex + 2 /* 577 */] }; sqInt checkedPluginName; char expensiveAsserts = 0; -const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.2397]"; +const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.2400]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace; @@ -8094,7 +8095,7 @@ interpret(void) sqInt context; sqInt i; sqInt initialIP; - sqInt newClosure; + usqInt newClosure; usqInt newClosure1; usqInt newObj; sqInt numArgs; @@ -16283,7 +16284,7 @@ interpret(void) sqInt context; sqInt i; sqInt initialIP; - sqInt newClosure; + usqInt newClosure; usqInt newClosure1; usqInt newObj; sqInt numArgs; @@ -42835,6 +42836,23 @@ nullHeaderForMachineCodeMethod(void) } +/* Answer the total number of bytes in an object with the given + number of slots, including header and possible overflow size header. */ +/* Answer the total number of bytes in an object with the given + number of slots, including header and possible overflow size header. */ + + /* Spur64BitCoMemoryManager>>#objectBytesForSlots: */ +usqInt +objectBytesForSlots(sqInt numSlots) +{ + return (numSlots == 0 + ? 8 /* allocationUnit */ + BaseHeaderSize + : (((sqInt)((usqInt)(numSlots) << (shiftForWord())))) + ((numSlots >= (numSlotsMask()) + ? BaseHeaderSize + BaseHeaderSize + : BaseHeaderSize))); +} + + /* Answer the tag bits for the receiver based on the method's methodClass, if any. */ diff --git a/spursista64src/vm/cointerp.h b/spursista64src/vm/cointerp.h index a5cbe6b6e3..9187c72fe5 100644 --- a/spursista64src/vm/cointerp.h +++ b/spursista64src/vm/cointerp.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2397 uuid: b696a3c2-2443-4c71-94ef-04a4a9a8c426 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 */ @@ -143,6 +143,7 @@ extern sqInt isReallyYoungObject(sqInt objOop); extern sqInt methodHeaderOf(sqInt methodObj); extern usqInt needGCFlagAddress(void); extern sqLong nullHeaderForMachineCodeMethod(void); +extern usqInt objectBytesForSlots(sqInt numSlots); extern sqInt receiverTagBitsForMethod(sqInt aMethodObj); extern usqInt scavengeThresholdAddress(void); extern usqInt specialObjectsArrayAddress(void); diff --git a/spursista64src/vm/gcc3x-cointerp.c b/spursista64src/vm/gcc3x-cointerp.c index 2f415cd2c1..2b5a3fd7aa 100644 --- a/spursista64src/vm/gcc3x-cointerp.c +++ b/spursista64src/vm/gcc3x-cointerp.c @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2397 uuid: b696a3c2-2443-4c71-94ef-04a4a9a8c426 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 from - CoInterpreter VMMaker.oscog-eem.2397 uuid: b696a3c2-2443-4c71-94ef-04a4a9a8c426 + CoInterpreter VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.2397 uuid: b696a3c2-2443-4c71-94ef-04a4a9a8c426 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -927,6 +927,7 @@ extern sqInt isReallyYoungObject(sqInt objOop); extern sqInt methodHeaderOf(sqInt methodObj); extern usqInt needGCFlagAddress(void); extern sqLong nullHeaderForMachineCodeMethod(void); +extern usqInt objectBytesForSlots(sqInt numSlots); extern sqInt receiverTagBitsForMethod(sqInt aMethodObj); extern usqInt scavengeThresholdAddress(void); extern usqInt specialObjectsArrayAddress(void); @@ -2576,7 +2577,7 @@ static signed char primitiveAccessorDepthTable[MaxPrimitiveIndex + 2 /* 577 */] }; sqInt checkedPluginName; char expensiveAsserts = 0; -const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.2397]"; +const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.2400]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace; @@ -8103,7 +8104,7 @@ interpret(void) sqInt context; sqInt i; sqInt initialIP; - sqInt newClosure; + usqInt newClosure; usqInt newClosure1; usqInt newObj; sqInt numArgs; @@ -16292,7 +16293,7 @@ interpret(void) sqInt context; sqInt i; sqInt initialIP; - sqInt newClosure; + usqInt newClosure; usqInt newClosure1; usqInt newObj; sqInt numArgs; @@ -42844,6 +42845,23 @@ nullHeaderForMachineCodeMethod(void) } +/* Answer the total number of bytes in an object with the given + number of slots, including header and possible overflow size header. */ +/* Answer the total number of bytes in an object with the given + number of slots, including header and possible overflow size header. */ + + /* Spur64BitCoMemoryManager>>#objectBytesForSlots: */ +usqInt +objectBytesForSlots(sqInt numSlots) +{ + return (numSlots == 0 + ? 8 /* allocationUnit */ + BaseHeaderSize + : (((sqInt)((usqInt)(numSlots) << (shiftForWord())))) + ((numSlots >= (numSlotsMask()) + ? BaseHeaderSize + BaseHeaderSize + : BaseHeaderSize))); +} + + /* Answer the tag bits for the receiver based on the method's methodClass, if any. */ diff --git a/spursistasrc/vm/cogit.h b/spursistasrc/vm/cogit.h index 79382ebc98..25f51d5824 100644 --- a/spursistasrc/vm/cogit.h +++ b/spursistasrc/vm/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.2399 uuid: 39957c2e-eab8-452a-9a31-4f7dd241b6d3 + CCodeGenerator VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 */ diff --git a/spursistasrc/vm/cointerp.c b/spursistasrc/vm/cointerp.c index 3aa85ff397..641a4852de 100644 --- a/spursistasrc/vm/cointerp.c +++ b/spursistasrc/vm/cointerp.c @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2399 uuid: 39957c2e-eab8-452a-9a31-4f7dd241b6d3 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 from - CoInterpreter VMMaker.oscog-eem.2399 uuid: 39957c2e-eab8-452a-9a31-4f7dd241b6d3 + CoInterpreter VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.2399 uuid: 39957c2e-eab8-452a-9a31-4f7dd241b6d3 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -904,6 +904,7 @@ extern sqInt isReallyYoungObject(sqInt objOop); extern sqInt methodHeaderOf(sqInt methodObj); extern usqInt needGCFlagAddress(void); extern sqLong nullHeaderForMachineCodeMethod(void); +extern usqInt objectBytesForSlots(sqInt numSlots); extern sqInt receiverTagBitsForMethod(sqInt aMethodObj); extern usqInt scavengeThresholdAddress(void); extern sqInt withoutForwardingOnandwithsendToCogit(sqInt obj1, sqInt obj2, sqInt aBool, sqInt (*selector)(sqInt,sqInt,sqInt)); @@ -2552,7 +2553,7 @@ static signed char primitiveAccessorDepthTable[MaxPrimitiveIndex + 2 /* 577 */] }; sqInt checkedPluginName; char expensiveAsserts = 0; -const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.2399]"; +const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.2400]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace; @@ -41325,6 +41326,23 @@ nullHeaderForMachineCodeMethod(void) } +/* Answer the total number of bytes in an object with the given + number of slots, including header and possible overflow size header. */ +/* Answer the total number of bytes in an object with the given + number of slots, including header and possible overflow size header. */ + + /* Spur32BitCoMemoryManager>>#objectBytesForSlots: */ +usqInt +objectBytesForSlots(sqInt numSlots) +{ + return (numSlots == 0 + ? 8 /* allocationUnit */ + BaseHeaderSize + : (((sqInt)((usqInt)((numSlots + (numSlots & 1))) << (shiftForWord())))) + ((numSlots >= (numSlotsMask()) + ? BaseHeaderSize + BaseHeaderSize + : BaseHeaderSize))); +} + + /* Answer the tag bits for the receiver based on the method's methodClass, if any. */ diff --git a/spursistasrc/vm/cointerp.h b/spursistasrc/vm/cointerp.h index 7fbbb62662..7644536744 100644 --- a/spursistasrc/vm/cointerp.h +++ b/spursistasrc/vm/cointerp.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2399 uuid: 39957c2e-eab8-452a-9a31-4f7dd241b6d3 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 */ @@ -142,6 +142,7 @@ extern sqInt isReallyYoungObject(sqInt objOop); extern sqInt methodHeaderOf(sqInt methodObj); extern usqInt needGCFlagAddress(void); extern sqLong nullHeaderForMachineCodeMethod(void); +extern usqInt objectBytesForSlots(sqInt numSlots); extern sqInt receiverTagBitsForMethod(sqInt aMethodObj); extern usqInt scavengeThresholdAddress(void); extern sqInt withoutForwardingOnandwithsendToCogit(sqInt obj1, sqInt obj2, sqInt aBool, sqInt (*selector)(sqInt,sqInt,sqInt)); diff --git a/spursistasrc/vm/gcc3x-cointerp.c b/spursistasrc/vm/gcc3x-cointerp.c index 0a6ec989fa..e246dfec3d 100644 --- a/spursistasrc/vm/gcc3x-cointerp.c +++ b/spursistasrc/vm/gcc3x-cointerp.c @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2399 uuid: 39957c2e-eab8-452a-9a31-4f7dd241b6d3 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 from - CoInterpreter VMMaker.oscog-eem.2399 uuid: 39957c2e-eab8-452a-9a31-4f7dd241b6d3 + CoInterpreter VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.2399 uuid: 39957c2e-eab8-452a-9a31-4f7dd241b6d3 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.2400 uuid: 1ba9bd98-23e8-4045-9b36-21c45003b2c4 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -907,6 +907,7 @@ extern sqInt isReallyYoungObject(sqInt objOop); extern sqInt methodHeaderOf(sqInt methodObj); extern usqInt needGCFlagAddress(void); extern sqLong nullHeaderForMachineCodeMethod(void); +extern usqInt objectBytesForSlots(sqInt numSlots); extern sqInt receiverTagBitsForMethod(sqInt aMethodObj); extern usqInt scavengeThresholdAddress(void); extern sqInt withoutForwardingOnandwithsendToCogit(sqInt obj1, sqInt obj2, sqInt aBool, sqInt (*selector)(sqInt,sqInt,sqInt)); @@ -2555,7 +2556,7 @@ static signed char primitiveAccessorDepthTable[MaxPrimitiveIndex + 2 /* 577 */] }; sqInt checkedPluginName; char expensiveAsserts = 0; -const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.2399]"; +const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.2400]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace; @@ -41334,6 +41335,23 @@ nullHeaderForMachineCodeMethod(void) } +/* Answer the total number of bytes in an object with the given + number of slots, including header and possible overflow size header. */ +/* Answer the total number of bytes in an object with the given + number of slots, including header and possible overflow size header. */ + + /* Spur32BitCoMemoryManager>>#objectBytesForSlots: */ +usqInt +objectBytesForSlots(sqInt numSlots) +{ + return (numSlots == 0 + ? 8 /* allocationUnit */ + BaseHeaderSize + : (((sqInt)((usqInt)((numSlots + (numSlots & 1))) << (shiftForWord())))) + ((numSlots >= (numSlotsMask()) + ? BaseHeaderSize + BaseHeaderSize + : BaseHeaderSize))); +} + + /* Answer the tag bits for the receiver based on the method's methodClass, if any. */