11/* Automatically generated by
2- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2908 uuid: fddf1a4f-c585-45ab-8a74-442230cd3dbd
2+ CCodeGeneratorGlobalStructure VMMaker.oscog-nice.2910 uuid: 32c46c83-0656-460a-8305-29ae2a93bffa
33 from
4- CoInterpreter VMMaker.oscog-eem.2908 uuid: fddf1a4f-c585-45ab-8a74-442230cd3dbd
4+ CoInterpreter VMMaker.oscog-nice.2910 uuid: 32c46c83-0656-460a-8305-29ae2a93bffa
55 */
6- static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.2908 uuid: fddf1a4f-c585-45ab-8a74-442230cd3dbd " __DATE__ ;
6+ static char __buildInfo[] = "CoInterpreter VMMaker.oscog-nice.2910 uuid: 32c46c83-0656-460a-8305-29ae2a93bffa " __DATE__ ;
77char *__interpBuildInfo = __buildInfo;
88
99
@@ -932,6 +932,7 @@ extern sqInt byteSizeOf(sqInt oop);
932932extern unsigned int byteSwapped32IfBigEndian(unsigned int w);
933933extern unsigned long long byteSwapped64IfBigEndian(unsigned long long w);
934934extern sqInt byteSwapped(sqInt w);
935+ extern sqInt bytesPerElement(sqInt oop);
935936static sqInt NoDbgRegParms changeClassOfto(sqInt rcvr, sqInt argClass);
936937extern sqInt characterObjectOf(sqInt characterCode);
937938extern sqInt characterTable(void);
@@ -943,12 +944,16 @@ extern sqInt classArray(void);
943944extern sqInt classBitmap(void);
944945extern sqInt classByteArray(void);
945946extern sqInt classCharacter(void);
947+ extern sqInt classDoubleByteArray(void);
948+ extern sqInt classDoubleWordArray(void);
946949extern sqInt classExternalAddress(void);
947950extern sqInt classExternalData(void);
948951extern sqInt classExternalFunction(void);
949952extern sqInt classExternalLibrary(void);
950953extern sqInt classExternalStructure(void);
951954extern sqInt classFloat(void);
955+ extern sqInt classFloat32Array(void);
956+ extern sqInt classFloat64Array(void);
952957extern sqInt classHeader(sqInt oop);
953958extern sqInt classLargeNegativeInteger(void);
954959extern sqInt classLargePositiveInteger(void);
@@ -957,6 +962,7 @@ extern sqInt classSemaphore(void);
957962extern sqInt classSmallInteger(void);
958963extern sqInt classString(void);
959964extern sqInt classUnsafeAlien(void);
965+ extern sqInt classWordArray(void);
960966static void clearRootsTable(void);
961967extern sqInt compactClassAt(sqInt ccIndex);
962968extern sqInt compactClassIndexOfClass(sqInt classObj);
@@ -1008,6 +1014,7 @@ extern sqInt isIndexable(sqInt oop);
10081014extern sqInt isInMemory(sqInt address);
10091015extern sqInt isIntegerObject(sqInt objectPointer);
10101016extern sqInt isIntegerValue(sqInt intValue);
1017+ extern sqInt isLong64s(sqInt oop);
10111018extern sqInt isMarked(sqInt oop);
10121019extern sqInt isNonImmediate(sqInt anOop);
10131020extern sqInt isNonIntegerObject(sqInt objectPointer);
@@ -1020,10 +1027,12 @@ extern sqInt isPinned(sqInt objOop);
10201027extern sqInt isPointers(sqInt oop);
10211028static sqInt NoDbgRegParms isPureBitsFormat(sqInt format);
10221029static sqInt NoDbgRegParms isSemaphoreOop(sqInt anOop);
1030+ extern sqInt isShorts(sqInt oop);
10231031static sqInt NoDbgRegParms isWeakNonImm(sqInt oop);
10241032extern sqInt isWeak(sqInt oop);
10251033static sqInt NoDbgRegParms isWordsOrBytesNonImm(sqInt oop);
10261034extern sqInt isWordsOrBytes(sqInt oop);
1035+ extern sqInt isWordsOrShorts(sqInt oop);
10271036extern sqInt isWords(sqInt oop);
10281037static sqInt NoDbgRegParms isYoungRoot(sqInt oop);
10291038extern sqInt isYoung(sqInt oop);
@@ -2194,7 +2203,7 @@ sqInt debugCallbackInvokes;
21942203sqInt debugCallbackReturns;
21952204sqInt ffiExceptionResponse;
21962205sqInt checkedPluginName;
2197- const char *interpreterVersion = "Open Smalltalk Cog[SqueakV3] VM [CoInterpreterPrimitives VMMaker.oscog-eem.2908 ]";
2206+ const char *interpreterVersion = "Open Smalltalk Cog[SqueakV3] VM [CoInterpreterPrimitives VMMaker.oscog-nice.2910 ]";
21982207sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
21992208char primitiveDoMixedArithmetic = 1;
22002209char expensiveAsserts = 0;
@@ -32705,7 +32714,7 @@ static sqInt NoDbgRegParms
3270532714eeInstantiateMethodContextSlots(sqInt numSlots)
3270632715{ DECL_MAYBE_SQ_GLOBAL_STRUCT
3270732716 usqInt hash;
32708- usqInt header1;
32717+ sqInt header1;
3270932718 usqInt newChunk;
3271032719 usqInt newFreeStart;
3271132720 sqInt newObj;
@@ -37104,6 +37113,27 @@ byteSwapped(sqInt w)
3710437113}
3710537114
3710637115
37116+ /* forward compatibility with Spur */
37117+
37118+ /* ObjectMemory>>#bytesPerElement: */
37119+ sqInt
37120+ bytesPerElement(sqInt oop)
37121+ {
37122+ if ((oop & 1)) {
37123+ return 0;
37124+ }
37125+ if (((oop & 1) == 0)
37126+ && (((((usqInt)((longAt(oop)))) >> (instFormatFieldLSB())) & 15) == (firstLongFormat()))) {
37127+ return 4;
37128+ }
37129+ if (((oop & 1) == 0)
37130+ && (((((usqInt)((longAt(oop)))) >> (instFormatFieldLSB())) & 15) >= (firstByteFormat()))) {
37131+ return 1;
37132+ }
37133+ return BytesPerWord;
37134+ }
37135+
37136+
3710737137/* Attempt to change the class of the receiver to the argument given that the
3710837138 format of the receiver matches the format of the argument. If successful,
3710937139 answer 0, otherwise answer an error code indicating the reason for
@@ -37373,6 +37403,26 @@ classCharacter(void)
3737337403 return longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (((int)((usqInt)(ClassCharacter) << (shiftForWord())))));
3737437404}
3737537405
37406+
37407+ /* forward compatibility with Spur */
37408+
37409+ /* ObjectMemory>>#classDoubleByteArray */
37410+ sqInt
37411+ classDoubleByteArray(void)
37412+ {
37413+ return null;
37414+ }
37415+
37416+
37417+ /* forward compatibility with Spur */
37418+
37419+ /* ObjectMemory>>#classDoubleWordArray */
37420+ sqInt
37421+ classDoubleWordArray(void)
37422+ {
37423+ return null;
37424+ }
37425+
3737637426 /* ObjectMemory>>#classExternalAddress */
3737737427sqInt
3737837428classExternalAddress(void)
@@ -37421,6 +37471,26 @@ classFloat(void)
3742137471 return longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (((int)((usqInt)(ClassFloat) << (shiftForWord())))));
3742237472}
3742337473
37474+
37475+ /* forward compatibility with Spur */
37476+
37477+ /* ObjectMemory>>#classFloat32Array */
37478+ sqInt
37479+ classFloat32Array(void)
37480+ {
37481+ return null;
37482+ }
37483+
37484+
37485+ /* forward compatibility with Spur */
37486+
37487+ /* ObjectMemory>>#classFloat64Array */
37488+ sqInt
37489+ classFloat64Array(void)
37490+ {
37491+ return null;
37492+ }
37493+
3742437494 /* ObjectMemory>>#classHeader: */
3742537495sqInt
3742637496classHeader(sqInt oop)
@@ -37485,6 +37555,16 @@ classUnsafeAlien(void)
3748537555}
3748637556
3748737557
37558+ /* forward compatibility with Spur */
37559+
37560+ /* ObjectMemory>>#classWordArray */
37561+ sqInt
37562+ classWordArray(void)
37563+ {
37564+ return null;
37565+ }
37566+
37567+
3748837568/* Clear the root bits of the current roots, then empty the roots table. */
3748937569/* Caution: This should only be done when the young object space is empty. */
3749037570/* reset the roots table (after this, all objects are old so there are no
@@ -38515,6 +38595,16 @@ isIntegerValue(sqInt intValue)
3851538595}
3851638596
3851738597
38598+ /* forward compatibility with Spur */
38599+
38600+ /* ObjectMemory>>#isLong64s: */
38601+ sqInt
38602+ isLong64s(sqInt oop)
38603+ {
38604+ return 0;
38605+ }
38606+
38607+
3851838608/* Answer if oop's mark bit is set */
3851938609
3852038610 /* ObjectMemory>>#isMarked: */
@@ -38649,6 +38739,16 @@ isSemaphoreOop(sqInt anOop)
3864938739}
3865038740
3865138741
38742+ /* forward compatibility with Spur */
38743+
38744+ /* ObjectMemory>>#isShorts: */
38745+ sqInt
38746+ isShorts(sqInt oop)
38747+ {
38748+ return 0;
38749+ }
38750+
38751+
3865238752/* Answer if the argument has only weak fields that can hold oops. See
3865338753 comment in formatOf:
3865438754 */
@@ -38707,6 +38807,17 @@ isWordsOrBytes(sqInt oop)
3870738807}
3870838808
3870938809
38810+ /* forward compatibility with Spur */
38811+
38812+ /* ObjectMemory>>#isWordsOrShorts: */
38813+ sqInt
38814+ isWordsOrShorts(sqInt oop)
38815+ {
38816+ return ((oop & 1) == 0)
38817+ && (((((usqInt)((longAt(oop)))) >> (instFormatFieldLSB())) & 15) == (firstLongFormat()));
38818+ }
38819+
38820+
3871038821/* Answer if the argument contains only indexable words (no oops). See
3871138822 comment in formatOf:
3871238823 */
0 commit comments