[commit][3689] CogVM source as per VMMaker.oscog-eem.1851

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[commit][3689] CogVM source as per VMMaker.oscog-eem.1851

commits-3
 
Revision: 3689
Author:   eliot
Date:     2016-04-29 06:58:43 -0700 (Fri, 29 Apr 2016)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1851

Slang:
Fix inlining in the wake of recent type inferrence/promotion changes that
changed the inlining landscape sufficiently to uncover bugs.

inlineCodeOrNilForStatement:returningNodes:in: and inlineSend:directReturn:exitVar:in:
must cooperate to not drop returns in statement lists, other than at the end of
the statement list, in the context of returning ifs.  They must be careful not
to leave returns at the end of statement lists in returning ifs.  A symptom
was falure to assign the value of a converted SmallInteger when inlining
positive32BitIntegerFor: into positiveMachineIntegerFor: in the 32-bit case.

Do not use cppIf: SPURVM ifTrue: ... or cppIf: MULTIPLEBYTECODESETS ifTrue: in
InterpreterPrimitives and subclasses, and allow the vmClass to override
VMBasicConstants so as to eliminate code at translation time that tests COGVM,
COGMTVM, SPURVM  and STACKVM.  These need to be defined at compile time only
in plugins; the VMs generated are soecific to the values of these constants.

Rewrite methodClassOf: to not reply on comma-separated expressions in the
generated C.

Regenerate plugins using the recently revised type inferrence code.

Modified Paths:
--------------
    branches/Cog/nsspur64src/vm/cogit.h
    branches/Cog/nsspur64src/vm/cogitX64.c
    branches/Cog/nsspur64src/vm/cointerp.c
    branches/Cog/nsspur64src/vm/cointerp.h
    branches/Cog/nsspur64src/vm/gcc3x-cointerp.c
    branches/Cog/nsspursrc/vm/cogit.h
    branches/Cog/nsspursrc/vm/cogitARMv5.c
    branches/Cog/nsspursrc/vm/cogitIA32.c
    branches/Cog/nsspursrc/vm/cogitMIPSEL.c
    branches/Cog/nsspursrc/vm/cointerp.c
    branches/Cog/nsspursrc/vm/cointerp.h
    branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
    branches/Cog/nsspurstack64src/vm/gcc3x-interp.c
    branches/Cog/nsspurstack64src/vm/interp.c
    branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
    branches/Cog/nsspurstacksrc/vm/interp.c
    branches/Cog/spur64src/vm/cogit.h
    branches/Cog/spur64src/vm/cogitX64.c
    branches/Cog/spur64src/vm/cointerp.c
    branches/Cog/spur64src/vm/cointerp.h
    branches/Cog/spur64src/vm/gcc3x-cointerp.c
    branches/Cog/spursistasrc/vm/cogit.h
    branches/Cog/spursistasrc/vm/cogitARMv5.c
    branches/Cog/spursistasrc/vm/cogitIA32.c
    branches/Cog/spursistasrc/vm/cogitMIPSEL.c
    branches/Cog/spursistasrc/vm/cointerp.c
    branches/Cog/spursistasrc/vm/cointerp.h
    branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
    branches/Cog/spursrc/vm/cogit.h
    branches/Cog/spursrc/vm/cogitARMv5.c
    branches/Cog/spursrc/vm/cogitIA32.c
    branches/Cog/spursrc/vm/cogitMIPSEL.c
    branches/Cog/spursrc/vm/cointerp.c
    branches/Cog/spursrc/vm/cointerp.h
    branches/Cog/spursrc/vm/gcc3x-cointerp.c
    branches/Cog/spurstack64src/vm/gcc3x-interp.c
    branches/Cog/spurstack64src/vm/interp.c
    branches/Cog/spurstacksrc/vm/gcc3x-interp.c
    branches/Cog/spurstacksrc/vm/interp.c
    branches/Cog/src/plugins/AioPlugin/AioPlugin.c
    branches/Cog/src/plugins/B2DPlugin/B2DPlugin.c
    branches/Cog/src/plugins/BitBltPlugin/BitBltPlugin.c
    branches/Cog/src/plugins/DSAPrims/DSAPrims.c
    branches/Cog/src/plugins/FFTPlugin/FFTPlugin.c
    branches/Cog/src/plugins/FilePlugin/FilePlugin.c
    branches/Cog/src/plugins/GeniePlugin/GeniePlugin.c
    branches/Cog/src/plugins/IA32ABI/IA32ABI.c
    branches/Cog/src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c
    branches/Cog/src/plugins/LargeIntegers/LargeIntegers.c
    branches/Cog/src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c
    branches/Cog/src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c
    branches/Cog/src/plugins/RePlugin/RePlugin.c
    branches/Cog/src/plugins/ScratchPlugin/ScratchPlugin.c
    branches/Cog/src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c
    branches/Cog/src/plugins/Squeak3D/Squeak3D.c
    branches/Cog/src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c
    branches/Cog/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
    branches/Cog/src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c
    branches/Cog/src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
    branches/Cog/src/plugins/ZipPlugin/ZipPlugin.c
    branches/Cog/src/vm/cogit.h
    branches/Cog/src/vm/cogitARMv5.c
    branches/Cog/src/vm/cogitIA32.c
    branches/Cog/src/vm/cogitMIPSEL.c
    branches/Cog/src/vm/cointerp.c
    branches/Cog/src/vm/cointerp.h
    branches/Cog/src/vm/cointerpmt.c
    branches/Cog/src/vm/cointerpmt.h
    branches/Cog/src/vm/gcc3x-cointerp.c
    branches/Cog/src/vm/gcc3x-cointerpmt.c
    branches/Cog/stacksrc/vm/gcc3x-interp.c
    branches/Cog/stacksrc/vm/interp.c

Property Changed:
----------------
    branches/Cog/platforms/Cross/vm/sqSCCSVersion.h

Modified: branches/Cog/nsspur64src/vm/cogit.h
===================================================================
--- branches/Cog/nsspur64src/vm/cogit.h 2016-04-29 05:06:53 UTC (rev 3688)
+++ branches/Cog/nsspur64src/vm/cogit.h 2016-04-29 13:58:43 UTC (rev 3689)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ CCodeGenerator VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
  */
 
 

Modified: branches/Cog/nsspur64src/vm/cogitX64.c
===================================================================
--- branches/Cog/nsspur64src/vm/cogitX64.c 2016-04-29 05:06:53 UTC (rev 3688)
+++ branches/Cog/nsspur64src/vm/cogitX64.c 2016-04-29 13:58:43 UTC (rev 3689)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ CCodeGenerator VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
    from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -281,9 +281,7 @@
 #define SistaVM 0
 #define SmallContextSlots 22
 #define SPReg 4
-#if !defined(SPURVM) /* Allow this to be overridden on the compiler command line */
-# define SPURVM 1
-#endif
+#define SPURVM 1
 #define SpecialSelectors 23
 #define SqrtRd 114
 #define SSBaseOffset 1
@@ -603,7 +601,7 @@
 static AbstractInstruction * NoDbgRegParms gMoveCwR(sqInt wordConstant, sqInt reg);
 static AbstractInstruction * NoDbgRegParms gMoveRMwr(sqInt sourceReg, sqInt offset, sqInt baseReg);
 static AbstractInstruction * NoDbgRegParms gMoveRR(sqInt reg1, sqInt reg2);
-static sqInt NoDbgRegParms mapEndFor(CogMethod *cogMethod);
+static usqInt NoDbgRegParms mapEndFor(CogMethod *cogMethod);
 static sqInt NoDbgRegParms mapForperformUntilarg(CogMethod *cogMethod, sqInt (*functionSymbol)(sqInt annotation, char *mcpc, sqInt arg), sqInt arg);
 static sqInt NoDbgRegParms mapObjectReferencesInClosedPIC(CogMethod *cPIC);
 static void mapObjectReferencesInGeneratedRuntime(void);
@@ -3669,7 +3667,7 @@
 closedPICRefersToUnmarkedObject(CogMethod *cPIC)
 {
     sqInt i;
-    sqInt object;
+    usqInt object;
     sqInt pc;
 
  if (!((isImmediate((cPIC->selector)))
@@ -5240,7 +5238,7 @@
     sqInt annotation;
     usqInt map;
     sqInt mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
 
  mcpc = (0
  ? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
@@ -5324,7 +5322,7 @@
     sqInt annotation;
     usqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
 
  assert((((cogMethod->cmType)) != CMMethod)
@@ -7138,10 +7136,10 @@
 /* Answer the address of the null byte at the end of the method map. */
 
  /* Cogit>>#mapEndFor: */
-static sqInt NoDbgRegParms
+static usqInt NoDbgRegParms
 mapEndFor(CogMethod *cogMethod)
 {
-    sqInt end;
+    usqInt end;
 
  end = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
  while ((byteAt(end)) != MapEnd) {
@@ -7161,7 +7159,7 @@
     sqInt annotation;
     usqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
 
  mcpc = (0
@@ -7268,7 +7266,7 @@
     sqInt hasYoungObjPtr;
     usqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt remappedMethod;
     sqInt result;
     sqInt val;
@@ -7386,7 +7384,7 @@
     CogMethod *cogMethod;
     usqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
 
  codeModified = 0;
@@ -7466,7 +7464,7 @@
     sqInt hasYoungObjPtr;
     usqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     usqInt pointer;
     sqInt result;
     sqInt val;
@@ -7588,8 +7586,8 @@
     usqInt map1;
     sqInt mapByte;
     sqInt mapByte1;
-    usqInt mcpc;
-    usqInt mcpc1;
+    sqInt mcpc;
+    sqInt mcpc1;
     sqInt result;
     sqInt result1;
     sqInt val;
@@ -7746,7 +7744,7 @@
     sqInt annotation;
     usqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
     sqInt val;
 
@@ -8074,7 +8072,7 @@
     CogMethod *cogMethod;
     usqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
 
  assert((((aCogMethod->cmType)) == CMMethod)
@@ -8643,9 +8641,9 @@
 printPCMapPairsFor(CogMethod *cogMethod)
 {
     sqInt annotation;
-    sqInt map;
+    usqInt map;
     unsigned char mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
     sqInt value;
 
  mcpc = (0
@@ -8824,7 +8822,7 @@
     sqLong callDelta;
     usqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqLong refDelta;
     sqInt result;
 
@@ -9398,7 +9396,7 @@
     CogMethod *cogMethod;
     usqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
 
  if (!(methodZoneBase)) {
@@ -9841,7 +9839,7 @@
     sqInt freedPIC;
     usqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
 
  if (!(methodZoneBase)) {
@@ -9918,7 +9916,7 @@
     CogMethod *cogMethod;
     usqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt mustScanAndUnlink;
     sqInt result;
 
@@ -10017,7 +10015,7 @@
     CogMethod *cogMethod;
     usqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
 
  if (!(methodZoneBase)) {
@@ -10086,7 +10084,7 @@
     sqInt freedPIC;
     usqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
     CogMethod *targetMethod;
 

Modified: branches/Cog/nsspur64src/vm/cointerp.c
===================================================================
--- branches/Cog/nsspur64src/vm/cointerp.c 2016-04-29 05:06:53 UTC (rev 3688)
+++ branches/Cog/nsspur64src/vm/cointerp.c 2016-04-29 13:58:43 UTC (rev 3689)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
    from
- CoInterpreter VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ CoInterpreter VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -305,9 +305,7 @@
 #define SistaV1BytecodeSet 0
 #define SistaVM 0
 #define SmallContextSlots 22
-#if !defined(SPURVM) /* Allow this to be overridden on the compiler command line */
-# define SPURVM 1
-#endif
+#define SPURVM 1
 #define SpecialSelectors 23
 #define StackPageReachedButUntraced 1
 #define StackPageTraced 2
@@ -2438,7 +2436,7 @@
 /*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
  };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1849";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1851";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -25376,11 +25374,11 @@
  table = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (((long)PrimErrTableIndex) << (shiftForWord())));
  if (GIV(primFailCode) <= (numSlotsOf(table))) {
  errorCode = longAt((table + BaseHeaderSize) + (((long)(GIV(primFailCode) - 1)) << (shiftForWord())));
- goto l9;
+ goto l6;
  }
  }
  errorCode = ((GIV(primFailCode) << 3) | 1);
- l9: /* end getErrorObjectFromPrimFailCode */;
+ l6: /* end getErrorObjectFromPrimFailCode */;
  longAtPointerput(GIV(stackPointer), errorCode);
  }
  GIV(primFailCode) = 0;
@@ -28765,21 +28763,9 @@
 
  newLargeInteger = instantiateClassindexableSize(largeClass, sz);
 
-#  if SPURVM
-
  /* Memory is eight byte aligned in SPUR, so we are sure to have room for 64bits word whatever allocated sz */
  long64Atput((newLargeInteger + BaseHeaderSize) + (0LL << 3), SQ_SWAP_8_BYTES_IF_BIGENDIAN(magnitude));
 
-#  else /* SPURVM */
- if (sz > 4) {
- long64Atput((newLargeInteger + BaseHeaderSize) + (0LL << 3), SQ_SWAP_8_BYTES_IF_BIGENDIAN(magnitude));
- }
- else {
- long32Atput((newLargeInteger + BaseHeaderSize) + (0LL << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(magnitude));
- }
-
-#  endif /* SPURVM */
-
  return newLargeInteger;
 }
 
@@ -41212,7 +41198,7 @@
     sqInt oopRcvr;
     sqInt oopResult;
     usqLong result;
-    sqInt resultIsNegative;
+    int resultIsNegative;
     char *sp;
 
  oopArg = longAt(GIV(stackPointer) + (0 * BytesPerWord));
@@ -47118,7 +47104,7 @@
     sqInt effectsFlags1;
     sqInt errCode;
     sqInt fieldOffset;
-    usqInt fieldOffset1;
+    sqInt fieldOffset1;
     sqInt fmt;
     sqInt hash;
     sqInt header;
@@ -61384,7 +61370,7 @@
     usqInt prevFree;
     usqInt prevFreeChunk;
     usqInt prevPrevFree;
-    sqInt prevPrevFreeChunk;
+    usqInt prevPrevFreeChunk;
     sqInt slotBytes;
     sqInt slotBytes1;
     usqInt there;
@@ -67783,8 +67769,8 @@
 {
     usqLong firstSavedBridgeWord;
     sqInt nWritten;
-    sqInt pier1;
-    sqInt pier2;
+    usqInt pier1;
+    usqInt pier2;
     usqLong secondSavedBridgeWord;
 
  pier1 = (((segment->segSize)) + ((segment->segStart))) - (2 * BaseHeaderSize);
@@ -74722,15 +74708,17 @@
  objOop2 = fixFollowedFieldofObjectwithInitialValue(offset + LiteralStart, methodPointer, objOop2);
  }
  literal = objOop2;
- return (literal == GIV(nilObj)
- ? literal
- : (/* begin followField:ofObject: */
- (objOop = longAt((literal + BaseHeaderSize) + (((long)ValueIndex) << (shiftForWord())))),
- (((objOop & (tagMask())) == 0)
- && (((longAt(objOop)) & (classIndexMask())) == (isForwardedObjectClassIndexPun()))
- ? (objOop = fixFollowedFieldofObjectwithInitialValue(ValueIndex, literal, objOop))
- : 0),
- objOop));
+ if (literal != GIV(nilObj)) {
+ /* begin followField:ofObject: */
+ objOop = longAt((literal + BaseHeaderSize) + (((long)ValueIndex) << (shiftForWord())));
+ if (((objOop & (tagMask())) == 0)
+ && (((longAt(objOop)) & (classIndexMask())) == (isForwardedObjectClassIndexPun()))) {
+ objOop = fixFollowedFieldofObjectwithInitialValue(ValueIndex, literal, objOop);
+ }
+ literal = objOop;
+ }
+
+ return literal;
 }
 
 
@@ -79013,21 +79001,9 @@
  newLargeInteger = newObj;
 l2: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#  if SPURVM
-
  /* Memory is eight byte aligned in SPUR, so we are sure to have room for 64bits word whatever allocated sz */
  long64Atput((newLargeInteger + BaseHeaderSize) + (0LL << 3), SQ_SWAP_8_BYTES_IF_BIGENDIAN(magnitude));
 
-#  else /* SPURVM */
- if (sz > 4) {
- long64Atput((newLargeInteger + BaseHeaderSize) + (0LL << 3), SQ_SWAP_8_BYTES_IF_BIGENDIAN(magnitude));
- }
- else {
- long32Atput((newLargeInteger + BaseHeaderSize) + (0LL << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(magnitude));
- }
-
-#  endif /* SPURVM */
-
  return newLargeInteger;
 }
 

Modified: branches/Cog/nsspur64src/vm/cointerp.h
===================================================================
--- branches/Cog/nsspur64src/vm/cointerp.h 2016-04-29 05:06:53 UTC (rev 3688)
+++ branches/Cog/nsspur64src/vm/cointerp.h 2016-04-29 13:58:43 UTC (rev 3689)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
  */
 
 

Modified: branches/Cog/nsspur64src/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nsspur64src/vm/gcc3x-cointerp.c 2016-04-29 05:06:53 UTC (rev 3688)
+++ branches/Cog/nsspur64src/vm/gcc3x-cointerp.c 2016-04-29 13:58:43 UTC (rev 3689)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
    from
- CoInterpreter VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ CoInterpreter VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -308,9 +308,7 @@
 #define SistaV1BytecodeSet 0
 #define SistaVM 0
 #define SmallContextSlots 22
-#if !defined(SPURVM) /* Allow this to be overridden on the compiler command line */
-# define SPURVM 1
-#endif
+#define SPURVM 1
 #define SpecialSelectors 23
 #define StackPageReachedButUntraced 1
 #define StackPageTraced 2
@@ -2441,7 +2439,7 @@
 /*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
  };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1849";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1851";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -25385,11 +25383,11 @@
  table = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (((long)PrimErrTableIndex) << (shiftForWord())));
  if (GIV(primFailCode) <= (numSlotsOf(table))) {
  errorCode = longAt((table + BaseHeaderSize) + (((long)(GIV(primFailCode) - 1)) << (shiftForWord())));
- goto l9;
+ goto l6;
  }
  }
  errorCode = ((GIV(primFailCode) << 3) | 1);
- l9: /* end getErrorObjectFromPrimFailCode */;
+ l6: /* end getErrorObjectFromPrimFailCode */;
  longAtPointerput(GIV(stackPointer), errorCode);
  }
  GIV(primFailCode) = 0;
@@ -28774,21 +28772,9 @@
 
  newLargeInteger = instantiateClassindexableSize(largeClass, sz);
 
-#  if SPURVM
-
  /* Memory is eight byte aligned in SPUR, so we are sure to have room for 64bits word whatever allocated sz */
  long64Atput((newLargeInteger + BaseHeaderSize) + (0LL << 3), SQ_SWAP_8_BYTES_IF_BIGENDIAN(magnitude));
 
-#  else /* SPURVM */
- if (sz > 4) {
- long64Atput((newLargeInteger + BaseHeaderSize) + (0LL << 3), SQ_SWAP_8_BYTES_IF_BIGENDIAN(magnitude));
- }
- else {
- long32Atput((newLargeInteger + BaseHeaderSize) + (0LL << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(magnitude));
- }
-
-#  endif /* SPURVM */
-
  return newLargeInteger;
 }
 
@@ -41221,7 +41207,7 @@
     sqInt oopRcvr;
     sqInt oopResult;
     usqLong result;
-    sqInt resultIsNegative;
+    int resultIsNegative;
     char *sp;
 
  oopArg = longAt(GIV(stackPointer) + (0 * BytesPerWord));
@@ -47127,7 +47113,7 @@
     sqInt effectsFlags1;
     sqInt errCode;
     sqInt fieldOffset;
-    usqInt fieldOffset1;
+    sqInt fieldOffset1;
     sqInt fmt;
     sqInt hash;
     sqInt header;
@@ -61393,7 +61379,7 @@
     usqInt prevFree;
     usqInt prevFreeChunk;
     usqInt prevPrevFree;
-    sqInt prevPrevFreeChunk;
+    usqInt prevPrevFreeChunk;
     sqInt slotBytes;
     sqInt slotBytes1;
     usqInt there;
@@ -67792,8 +67778,8 @@
 {
     usqLong firstSavedBridgeWord;
     sqInt nWritten;
-    sqInt pier1;
-    sqInt pier2;
+    usqInt pier1;
+    usqInt pier2;
     usqLong secondSavedBridgeWord;
 
  pier1 = (((segment->segSize)) + ((segment->segStart))) - (2 * BaseHeaderSize);
@@ -74731,15 +74717,17 @@
  objOop2 = fixFollowedFieldofObjectwithInitialValue(offset + LiteralStart, methodPointer, objOop2);
  }
  literal = objOop2;
- return (literal == GIV(nilObj)
- ? literal
- : (/* begin followField:ofObject: */
- (objOop = longAt((literal + BaseHeaderSize) + (((long)ValueIndex) << (shiftForWord())))),
- (((objOop & (tagMask())) == 0)
- && (((longAt(objOop)) & (classIndexMask())) == (isForwardedObjectClassIndexPun()))
- ? (objOop = fixFollowedFieldofObjectwithInitialValue(ValueIndex, literal, objOop))
- : 0),
- objOop));
+ if (literal != GIV(nilObj)) {
+ /* begin followField:ofObject: */
+ objOop = longAt((literal + BaseHeaderSize) + (((long)ValueIndex) << (shiftForWord())));
+ if (((objOop & (tagMask())) == 0)
+ && (((longAt(objOop)) & (classIndexMask())) == (isForwardedObjectClassIndexPun()))) {
+ objOop = fixFollowedFieldofObjectwithInitialValue(ValueIndex, literal, objOop);
+ }
+ literal = objOop;
+ }
+
+ return literal;
 }
 
 
@@ -79022,21 +79010,9 @@
  newLargeInteger = newObj;
 l2: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#  if SPURVM
-
  /* Memory is eight byte aligned in SPUR, so we are sure to have room for 64bits word whatever allocated sz */
  long64Atput((newLargeInteger + BaseHeaderSize) + (0LL << 3), SQ_SWAP_8_BYTES_IF_BIGENDIAN(magnitude));
 
-#  else /* SPURVM */
- if (sz > 4) {
- long64Atput((newLargeInteger + BaseHeaderSize) + (0LL << 3), SQ_SWAP_8_BYTES_IF_BIGENDIAN(magnitude));
- }
- else {
- long32Atput((newLargeInteger + BaseHeaderSize) + (0LL << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(magnitude));
- }
-
-#  endif /* SPURVM */
-
  return newLargeInteger;
 }
 

Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h 2016-04-29 05:06:53 UTC (rev 3688)
+++ branches/Cog/nsspursrc/vm/cogit.h 2016-04-29 13:58:43 UTC (rev 3689)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ CCodeGenerator VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
  */
 
 

Modified: branches/Cog/nsspursrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitARMv5.c 2016-04-29 05:06:53 UTC (rev 3688)
+++ branches/Cog/nsspursrc/vm/cogitARMv5.c 2016-04-29 13:58:43 UTC (rev 3689)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ CCodeGenerator VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
    from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -279,9 +279,7 @@
 #define SmallContextSlots 22
 #define SP 13
 #define SPReg 13
-#if !defined(SPURVM) /* Allow this to be overridden on the compiler command line */
-# define SPURVM 1
-#endif
+#define SPURVM 1
 #define SqrtRd 114
 #define SSBaseOffset 1
 #define SSConstant 2
@@ -7528,7 +7526,7 @@
     sqInt isBackwardBranch;
     sqInt isInBlock;
     sqInt latestContinuation;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
     usqInt mcpc1;
     sqInt nExts;
@@ -13002,7 +13000,7 @@
     sqInt isBackwardBranch;
     sqInt isInBlock;
     sqInt latestContinuation;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
     usqInt mcpc;
     sqInt nExts;
@@ -13442,9 +13440,9 @@
 printPCMapPairsFor(CogMethod *cogMethod)
 {
     sqInt annotation;
-    usqInt map;
+    sqInt map;
     unsigned char mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt value;
 
  mcpc = (0
@@ -24832,7 +24830,7 @@
     sqInt isBackwardBranch;
     sqInt isInBlock;
     sqInt latestContinuation;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
     usqInt mcpc;
     sqInt nExts;

Modified: branches/Cog/nsspursrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitIA32.c 2016-04-29 05:06:53 UTC (rev 3688)
+++ branches/Cog/nsspursrc/vm/cogitIA32.c 2016-04-29 13:58:43 UTC (rev 3689)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ CCodeGenerator VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
    from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -267,9 +267,7 @@
 #define SistaVM 0
 #define SmallContextSlots 22
 #define SPReg 4
-#if !defined(SPURVM) /* Allow this to be overridden on the compiler command line */
-# define SPURVM 1
-#endif
+#define SPURVM 1
 #define SqrtRd 114
 #define SSBaseOffset 1
 #define SSConstant 2
@@ -654,7 +652,7 @@
 static AbstractInstruction * NoDbgRegParms gMoveMwrR(sqInt offset, sqInt baseReg, sqInt destReg);
 static AbstractInstruction * NoDbgRegParms gMoveRMwr(sqInt sourceReg, sqInt offset, sqInt baseReg);
 static AbstractInstruction * NoDbgRegParms gMoveRR(sqInt reg1, sqInt reg2);
-static usqInt NoDbgRegParms mapEndFor(CogMethod *cogMethod);
+static sqInt NoDbgRegParms mapEndFor(CogMethod *cogMethod);
 static sqInt NoDbgRegParms mapForperformUntilarg(CogMethod *cogMethod, sqInt (*functionSymbol)(sqInt annotation, char *mcpc, sqInt arg), sqInt arg);
 static sqInt NoDbgRegParms mapObjectReferencesInClosedPIC(CogMethod *cPIC);
 static void mapObjectReferencesInGeneratedRuntime(void);
@@ -9014,9 +9012,9 @@
 findMapLocationForMcpcinMethod(sqInt targetMcpc, CogMethod *cogMethod)
 {
     sqInt annotation;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
 
  mcpc = (0
  ? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
@@ -9098,9 +9096,9 @@
 followForwardedLiteralsIn(CogMethod *cogMethod)
 {
     sqInt annotation;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
 
  assert((((cogMethod->cmType)) != CMMethod)
@@ -9672,12 +9670,12 @@
 generateMapAtstart(sqInt addressOrNull, sqInt startAddress)
 {
     unsigned char annotation;
-    usqInt delta;
+    sqInt delta;
     sqInt i;
     AbstractInstruction *instruction;
     sqInt length;
-    usqInt location;
-    usqInt mapEntry;
+    sqInt location;
+    sqInt mapEntry;
     sqInt maxDelta;
     usqInt mcpc;
 
@@ -10923,10 +10921,10 @@
 /* Answer the address of the null byte at the end of the method map. */
 
  /* Cogit>>#mapEndFor: */
-static usqInt NoDbgRegParms
+static sqInt NoDbgRegParms
 mapEndFor(CogMethod *cogMethod)
 {
-    usqInt end;
+    sqInt end;
 
  end = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
  while ((byteAt(end)) != MapEnd) {
@@ -10944,9 +10942,9 @@
 mapForperformUntilarg(CogMethod *cogMethod, sqInt (*functionSymbol)(sqInt annotation, char *mcpc, sqInt arg), sqInt arg)
 {
     sqInt annotation;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
 
  mcpc = (0
@@ -11049,9 +11047,9 @@
     sqInt freedPIC;
     sqInt hasYoungObj;
     sqInt hasYoungObjPtr;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt remappedMethod;
     sqInt result;
     sqInt val;
@@ -11165,9 +11163,9 @@
 {
     sqInt annotation;
     CogMethod *cogMethod;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
 
  codeModified = 0;
@@ -11243,9 +11241,9 @@
     CogMethod *cogMethod;
     sqInt hasYoungObj;
     sqInt hasYoungObjPtr;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     usqInt pointer;
     sqInt result;
     sqInt val;
@@ -11361,12 +11359,12 @@
     sqInt annotation;
     sqInt annotation1;
     CogMethod *cogMethod;
-    usqInt map;
-    usqInt map1;
+    sqInt map;
+    sqInt map1;
     sqInt mapByte;
     sqInt mapByte1;
-    usqInt mcpc;
-    usqInt mcpc1;
+    sqInt mcpc;
+    sqInt mcpc1;
     sqInt result;
     sqInt result1;
     sqInt val;
@@ -11517,9 +11515,9 @@
 markAndTraceOrFreeCogMethodfirstVisit(CogMethod *cogMethod, sqInt firstVisit)
 {
     sqInt annotation;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
     sqInt val;
 
@@ -11857,9 +11855,9 @@
 {
     sqInt annotation;
     CogMethod *cogMethod;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
 
  assert((((aCogMethod->cmType)) == CMMethod)
@@ -12431,9 +12429,9 @@
 printPCMapPairsFor(CogMethod *cogMethod)
 {
     sqInt annotation;
-    usqInt map;
+    sqInt map;
     unsigned char mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt value;
 
  mcpc = (0
@@ -12603,9 +12601,9 @@
 {
     sqInt annotation;
     sqLong callDelta;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqLong refDelta;
     sqInt result;
 
@@ -13162,9 +13160,9 @@
 {
     sqInt annotation;
     CogMethod *cogMethod;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
 
  if (!(methodZoneBase)) {
@@ -13603,9 +13601,9 @@
     sqInt annotation;
     CogMethod *cogMethod;
     sqInt freedPIC;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
 
  if (!(methodZoneBase)) {
@@ -13678,9 +13676,9 @@
 {
     sqInt annotation;
     CogMethod *cogMethod;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt mustScanAndUnlink;
     sqInt result;
 
@@ -13775,9 +13773,9 @@
 {
     sqInt annotation;
     CogMethod *cogMethod;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
 
  if (!(methodZoneBase)) {
@@ -13842,9 +13840,9 @@
     sqInt annotation;
     CogMethod *cogMethod;
     sqInt freedPIC;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
-    usqInt mcpc;
+    sqInt mcpc;
     sqInt result;
     CogMethod *targetMethod;
 

Modified: branches/Cog/nsspursrc/vm/cogitMIPSEL.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitMIPSEL.c 2016-04-29 05:06:53 UTC (rev 3688)
+++ branches/Cog/nsspursrc/vm/cogitMIPSEL.c 2016-04-29 13:58:43 UTC (rev 3689)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ CCodeGenerator VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
    from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -319,9 +319,7 @@
 #define SP 29
 #define SPECIAL 0
 #define SPReg 29
-#if !defined(SPURVM) /* Allow this to be overridden on the compiler command line */
-# define SPURVM 1
-#endif
+#define SPURVM 1
 #define SqrtRd 114
 #define SRA 3
 #define SRAV 7
@@ -2645,7 +2643,7 @@
 blockDispatchTargetsForperformarg(CogMethod *cogMethod, usqInt (*binaryFunction)(sqInt mcpc, sqInt arg), sqInt arg)
 {
     sqInt blockEntry;
-    usqInt end;
+    sqInt end;
     sqInt pc;
     sqInt result;
     usqInt targetpc;
@@ -2689,12 +2687,12 @@
     sqInt byte;
     BytecodeDescriptor *descriptor;
     sqInt distance;
-    usqInt endbcpc;
+    sqInt endbcpc;
     CogMethod *homeMethod;
     sqInt isBackwardBranch;
     sqInt isInBlock;
     sqInt latestContinuation;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
     usqInt mcpc1;
     sqInt nExts;
@@ -5100,7 +5098,7 @@
     sqInt annotation;
     usqInt map;
     sqInt mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
 
  mcpc = (0
  ? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
@@ -5184,7 +5182,7 @@
     sqInt annotation;
     usqInt map;
     sqInt mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
     sqInt result;
 
  assert((((cogMethod->cmType)) != CMMethod)
@@ -6466,7 +6464,7 @@
 incrementUsageOfTargetIfLinkedSendmcpcignored(sqInt annotation, char *mcpc, sqInt superfluity)
 {
     usqInt cacheAddress;
-    sqInt entryPoint;
+    usqInt entryPoint;
     usqInt entryPoint1;
     char *mcpc1;
     NSSendCache *nsSendCache;
@@ -7015,7 +7013,7 @@
     sqInt annotation;
     usqInt map;
     sqInt mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
     sqInt result;
 
  mcpc = (0
@@ -7119,7 +7117,7 @@
     sqInt hasYoungObjPtr;
     usqInt map;
     sqInt mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
     sqInt remappedMethod;
     sqInt result;
     sqInt val;
@@ -7235,7 +7233,7 @@
     CogMethod *cogMethod;
     usqInt map;
     sqInt mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
     sqInt result;
 
  codeModified = 0;
@@ -7313,7 +7311,7 @@
     sqInt hasYoungObjPtr;
     usqInt map;
     sqInt mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
     usqInt pointer;
     sqInt result;
     sqInt val;
@@ -7433,8 +7431,8 @@
     usqInt map1;
     sqInt mapByte;
     sqInt mapByte1;
-    sqInt mcpc;
-    sqInt mcpc1;
+    usqInt mcpc;
+    usqInt mcpc1;
     sqInt result;
     sqInt result1;
     sqInt val;
@@ -7587,7 +7585,7 @@
     sqInt annotation;
     usqInt map;
     sqInt mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
     sqInt result;
     sqInt val;
 
@@ -7927,7 +7925,7 @@
     CogMethod *cogMethod;
     usqInt map;
     sqInt mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
     sqInt result;
 
  assert((((aCogMethod->cmType)) == CMMethod)
@@ -8051,12 +8049,12 @@
     sqInt byte;
     BytecodeDescriptor *descriptor;
     sqInt distance;
-    usqInt endbcpc;
+    sqInt endbcpc;
     CogMethod *homeMethod;
     sqInt isBackwardBranch;
     sqInt isInBlock;
     sqInt latestContinuation;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
     usqInt mcpc;
     sqInt nExts;
@@ -8499,7 +8497,7 @@
 printPCMapPairsFor(CogMethod *cogMethod)
 {
     sqInt annotation;
-    usqInt map;
+    sqInt map;
     unsigned char mapByte;
     sqInt mcpc;
     sqInt value;
@@ -8673,7 +8671,7 @@
     sqLong callDelta;
     usqInt map;
     sqInt mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
     sqLong refDelta;
     sqInt result;
 
@@ -8720,7 +8718,7 @@
 relocateCallsInClosedPIC(CogMethod *cPIC)
 {
     sqLong callDelta;
-    sqInt entryPoint;
+    usqInt entryPoint;
     sqInt i;
     sqInt pc;
     sqLong refDelta;
@@ -8770,7 +8768,7 @@
 {
     usqInt cacheAddress;
     sqInt callDelta;
-    sqInt entryPoint;
+    usqInt entryPoint;
     usqInt entryPoint1;
     char *mcpc1;
     NSSendCache *nsSendCache;
@@ -9233,7 +9231,7 @@
     CogMethod *cogMethod;
     usqInt map;
     sqInt mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
     sqInt result;
 
  if (!(methodZoneBase)) {
@@ -9674,7 +9672,7 @@
     sqInt freedPIC;
     usqInt map;
     sqInt mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
     sqInt result;
 
  if (!(methodZoneBase)) {
@@ -9749,7 +9747,7 @@
     CogMethod *cogMethod;
     usqInt map;
     sqInt mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
     sqInt mustScanAndUnlink;
     sqInt result;
 
@@ -9846,7 +9844,7 @@
     CogMethod *cogMethod;
     usqInt map;
     sqInt mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
     sqInt result;
 
  if (!(methodZoneBase)) {
@@ -9913,7 +9911,7 @@
     sqInt freedPIC;
     usqInt map;
     sqInt mapByte;
-    sqInt mcpc;
+    usqInt mcpc;
     sqInt result;
     CogMethod *targetMethod;
 
@@ -22251,13 +22249,13 @@
     CogBlockMethod *cogMethod1;
     BytecodeDescriptor *descriptor;
     sqInt distance;
-    usqInt endbcpc;
+    sqInt endbcpc;
     sqInt errCode;
     CogMethod *homeMethod;
     sqInt isBackwardBranch;
     sqInt isInBlock;
     sqInt latestContinuation;
-    usqInt map;
+    sqInt map;
     sqInt mapByte;
     usqInt mcpc;
     sqInt nExts;

Modified: branches/Cog/nsspursrc/vm/cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.c 2016-04-29 05:06:53 UTC (rev 3688)
+++ branches/Cog/nsspursrc/vm/cointerp.c 2016-04-29 13:58:43 UTC (rev 3689)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
    from
- CoInterpreter VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1
+ CoInterpreter VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1849 uuid: d65892b1-b636-442a-affd-36ef8f9abcd1 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1851 uuid: a2b37448-8ea6-480e-aa07-e99d6de1744a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -305,9 +305,7 @@
 #define SistaV1BytecodeSet 0
 #define SistaVM 0
 #define SmallContextSlots 22
-#if !defined(SPURVM) /* Allow this to be overridden on the compiler command line */
-# define SPURVM 1
-#endif
+#define SPURVM 1
 #define SpecialSelectors 23
 #define StackPageReachedButUntraced 1
 #define StackPageTraced 2
@@ -2414,7 +2412,7 @@
 /*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
  };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1849";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1851";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -8653,17 +8651,11 @@
  newLargeInteger = newObj;
  l156: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#          if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(shifted));
  long32Atput((newLargeInteger + BaseHeaderSize) + (1L << 2), 0);
 
-#          else /* SPURVM */
- long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(shifted));
-
-#          endif /* SPURVM */
-
  shifted = newLargeInteger;
  l159: /* end maybeInlinePositive32BitIntegerFor: */;
  goto l161;
@@ -10672,17 +10664,11 @@
  newLargeInteger = newObj;
  l281: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#          if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(shifted));
  long32Atput((newLargeInteger + BaseHeaderSize) + (1L << 2), 0);
 
-#          else /* SPURVM */
- long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(shifted));
-
-#          endif /* SPURVM */
-
  shifted = newLargeInteger;
  l284: /* end maybeInlinePositive32BitIntegerFor: */;
  goto l286;
@@ -17093,7 +17079,7 @@
 static sqInt
 checkForAndFollowForwardedPrimitiveState(void)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    sqInt accessorDepth;
+    signed char accessorDepth;
     sqInt firstBytecode;
     sqInt found;
     sqInt found1;
@@ -23026,17 +23012,11 @@
  newLargeInteger = newObj;
 l2: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#  if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(integerValue));
  long32Atput((newLargeInteger + BaseHeaderSize) + (1L << 2), 0);
 
-#  else /* SPURVM */
- long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(integerValue));
-
-#  endif /* SPURVM */
-
  return newLargeInteger;
 
 }
@@ -24609,7 +24589,7 @@
  assert(!((hasSixtyFourBitImmediates())));
  if ((((unsigned int) value)) <= (MaxSmallInteger)) {
  ((value << 1) | 1);
- goto l4;
+ goto l3;
  }
  /* begin eeInstantiateSmallClassIndex:format:numSlots: */
  objFormat = (firstByteFormat()) + ((8 - 4) & (BytesPerWord - 1));
@@ -24632,30 +24612,22 @@
  if ((GIV(freeStart) + numBytes) > (((eden()).limit))) {
  error("no room in eden for allocateSmallNewSpaceSlots:format:classIndex:");
  newLargeInteger = 0;
- goto l6;
+ goto l5;
  }
  }
  long64Atput(newObj, (((((usqLong) 1)) << (numSlotsFullShift())) + (objFormat << (formatShift()))) + ClassLargePositiveIntegerCompactIndex);
  GIV(freeStart) += numBytes;
  newLargeInteger = newObj;
- l6: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
+ l5: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#    if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(value));
  long32Atput((newLargeInteger + BaseHeaderSize) + (1L << 2), 0);
 
-#    else /* SPURVM */
- long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(value));
-
-#    endif /* SPURVM */
-
  object = newLargeInteger;
- l4: /* end maybeInlinePositive32BitIntegerFor: */;
- goto l5;
+ l3: /* end maybeInlinePositive32BitIntegerFor: */;
 
- l5: /* end positive32BitIntegerFor: */;
 
  longAtput((sp = GIV(stackPointer) - BytesPerWord), object);
  GIV(stackPointer) = sp;
@@ -24666,7 +24638,7 @@
  assert(!((hasSixtyFourBitImmediates())));
  if ((((unsigned int) value1)) <= (MaxSmallInteger)) {
  ((value1 << 1) | 1);
- goto l10;
+ goto l7;
  }
  /* begin eeInstantiateSmallClassIndex:format:numSlots: */
  objFormat1 = (firstByteFormat()) + ((8 - 4) & (BytesPerWord - 1));
@@ -24689,30 +24661,22 @@
  if ((GIV(freeStart) + numBytes1) > (((eden()).limit))) {
  error("no room in eden for allocateSmallNewSpaceSlots:format:classIndex:");
  newLargeInteger1 = 0;
- goto l11;
+ goto l9;
  }
  }
  long64Atput(newObj1, (((((usqLong) 1)) << (numSlotsFullShift())) + (objFormat1 << (formatShift()))) + ClassLargePositiveIntegerCompactIndex);
  GIV(freeStart) += numBytes1;
  newLargeInteger1 = newObj1;
- l11: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
+ l9: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#    if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger1 + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(value1));
  long32Atput((newLargeInteger1 + BaseHeaderSize) + (1L << 2), 0);
 
-#    else /* SPURVM */
- long32Atput((newLargeInteger1 + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(value1));
-
-#    endif /* SPURVM */
-
  object1 = newLargeInteger1;
- l10: /* end maybeInlinePositive32BitIntegerFor: */;
- goto l9;
+ l7: /* end maybeInlinePositive32BitIntegerFor: */;
 
- l9: /* end positive32BitIntegerFor: */;
 
  longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object1);
  GIV(stackPointer) = sp1;
@@ -24723,7 +24687,7 @@
  assert(!((hasSixtyFourBitImmediates())));
  if ((((unsigned int) value2)) <= (MaxSmallInteger)) {
  ((value2 << 1) | 1);
- goto l15;
+ goto l11;
  }
  /* begin eeInstantiateSmallClassIndex:format:numSlots: */
  objFormat2 = (firstByteFormat()) + ((8 - 4) & (BytesPerWord - 1));
@@ -24746,30 +24710,22 @@
  if ((GIV(freeStart) + numBytes2) > (((eden()).limit))) {
  error("no room in eden for allocateSmallNewSpaceSlots:format:classIndex:");
  newLargeInteger2 = 0;
- goto l16;
+ goto l13;
  }
  }
  long64Atput(newObj2, (((((usqLong) 1)) << (numSlotsFullShift())) + (objFormat2 << (formatShift()))) + ClassLargePositiveIntegerCompactIndex);
  GIV(freeStart) += numBytes2;
  newLargeInteger2 = newObj2;
- l16: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
+ l13: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#    if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger2 + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(value2));
  long32Atput((newLargeInteger2 + BaseHeaderSize) + (1L << 2), 0);
 
-#    else /* SPURVM */
- long32Atput((newLargeInteger2 + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(value2));
-
-#    endif /* SPURVM */
-
  object2 = newLargeInteger2;
- l15: /* end maybeInlinePositive32BitIntegerFor: */;
- goto l14;
+ l11: /* end maybeInlinePositive32BitIntegerFor: */;
 
- l14: /* end positive32BitIntegerFor: */;
 
  longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object2);
  GIV(stackPointer) = sp2;
@@ -24780,7 +24736,7 @@
  assert(!((hasSixtyFourBitImmediates())));
  if ((((unsigned int) (((usqInt)vmCallbackContext)))) <= (MaxSmallInteger)) {
  object3 = (((((usqInt)vmCallbackContext)) << 1) | 1);
- goto l20;
+ goto l17;
  }
  /* begin eeInstantiateSmallClassIndex:format:numSlots: */
  objFormat3 = (firstByteFormat()) + ((8 - 4) & (BytesPerWord - 1));
@@ -24803,27 +24759,21 @@
  if ((GIV(freeStart) + numBytes3) > (((eden()).limit))) {
  error("no room in eden for allocateSmallNewSpaceSlots:format:classIndex:");
  newLargeInteger3 = 0;
- goto l19;
+ goto l16;
  }
  }
  long64Atput(newObj3, (((((usqLong) 1)) << (numSlotsFullShift())) + (objFormat3 << (formatShift()))) + ClassLargePositiveIntegerCompactIndex);
  GIV(freeStart) += numBytes3;
  newLargeInteger3 = newObj3;
-l19: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
+l16: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#  if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger3 + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN((((usqInt)vmCallbackContext))));
  long32Atput((newLargeInteger3 + BaseHeaderSize) + (1L << 2), 0);
 
-#  else /* SPURVM */
- long32Atput((newLargeInteger3 + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN((((usqInt)vmCallbackContext))));
-
-#  endif /* SPURVM */
-
  object3 = newLargeInteger3;
-l20: /* end maybeInlinePositive32BitIntegerFor: */;
+l17: /* end maybeInlinePositive32BitIntegerFor: */;
  goto l1;
 
 l1: /* end positive32BitIntegerFor: */;
@@ -24936,11 +24886,11 @@
  table = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (PrimErrTableIndex << (shiftForWord())));
  if (GIV(primFailCode) <= (numSlotsOf(table))) {
  errorCode = longAt((table + BaseHeaderSize) + ((GIV(primFailCode) - 1) << (shiftForWord())));
- goto l21;
+ goto l18;
  }
  }
  errorCode = ((GIV(primFailCode) << 1) | 1);
- l21: /* end getErrorObjectFromPrimFailCode */;
+ l18: /* end getErrorObjectFromPrimFailCode */;
  longAtPointerput(GIV(stackPointer), errorCode);
  }
  GIV(primFailCode) = 0;
@@ -25091,17 +25041,11 @@
  newLargeInteger = newObj;
 l7: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#  if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(thunkPtr));
  long32Atput((newLargeInteger + BaseHeaderSize) + (1L << 2), 0);
 
-#  else /* SPURVM */
- long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(thunkPtr));
-
-#  endif /* SPURVM */
-
  object = newLargeInteger;
 l8: /* end maybeInlinePositive32BitIntegerFor: */;
  goto l1;
@@ -25147,17 +25091,11 @@
  newLargeInteger1 = newObj1;
 l10: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#  if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger1 + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(stackPtr));
  long32Atput((newLargeInteger1 + BaseHeaderSize) + (1L << 2), 0);
 
-#  else /* SPURVM */
- long32Atput((newLargeInteger1 + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(stackPtr));
-
-#  endif /* SPURVM */
-
  object1 = newLargeInteger1;
 l11: /* end maybeInlinePositive32BitIntegerFor: */;
  goto l2;
@@ -25203,17 +25141,11 @@
  newLargeInteger2 = newObj2;
 l13: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#  if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger2 + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(regsPtr));
  long32Atput((newLargeInteger2 + BaseHeaderSize) + (1L << 2), 0);
 
-#  else /* SPURVM */
- long32Atput((newLargeInteger2 + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(regsPtr));
-
-#  endif /* SPURVM */
-
  object2 = newLargeInteger2;
 l14: /* end maybeInlinePositive32BitIntegerFor: */;
  goto l3;
@@ -25259,17 +25191,11 @@
  newLargeInteger3 = newObj3;
 l16: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#  if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger3 + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(jmpBufPtr));
  long32Atput((newLargeInteger3 + BaseHeaderSize) + (1L << 2), 0);
 
-#  else /* SPURVM */
- long32Atput((newLargeInteger3 + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(jmpBufPtr));
-
-#  endif /* SPURVM */
-
  object3 = newLargeInteger3;
 l17: /* end maybeInlinePositive32BitIntegerFor: */;
  goto l4;
@@ -28560,21 +28486,9 @@
 
  newLargeInteger = instantiateClassindexableSize(largeClass, sz);
 
-#  if SPURVM
-
  /* Memory is eight byte aligned in SPUR, so we are sure to have room for 64bits word whatever allocated sz */
  long64Atput((newLargeInteger + BaseHeaderSize) + (0L << 3), SQ_SWAP_8_BYTES_IF_BIGENDIAN(magnitude));
 
-#  else /* SPURVM */
- if (sz > 4) {
- long64Atput((newLargeInteger + BaseHeaderSize) + (0L << 3), SQ_SWAP_8_BYTES_IF_BIGENDIAN(magnitude));
- }
- else {
- long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(magnitude));
- }
-
-#  endif /* SPURVM */
-
  return newLargeInteger;
 }
 
@@ -29402,17 +29316,11 @@
  newLargeInteger = newObj;
  l7: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#    if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(integerValue));
  long32Atput((newLargeInteger + BaseHeaderSize) + (1L << 2), 0);
 
-#    else /* SPURVM */
- long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(integerValue));
-
-#    endif /* SPURVM */
-
  result = newLargeInteger;
  goto l10;
 
@@ -30166,17 +30074,11 @@
  newLargeInteger = newObj;
  l2: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#    if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN((integerArgumentValue & integerReceiverValue)));
  long32Atput((newLargeInteger + BaseHeaderSize) + (1L << 2), 0);
 
-#    else /* SPURVM */
- long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN((integerArgumentValue & integerReceiverValue)));
-
-#    endif /* SPURVM */
-
  oop = newLargeInteger;
  l4: /* end maybeInlinePositive32BitIntegerFor: */;
  goto l1;
@@ -30400,17 +30302,11 @@
  newLargeInteger = newObj;
  l2: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#    if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN((integerArgumentValue | integerReceiverValue)));
  long32Atput((newLargeInteger + BaseHeaderSize) + (1L << 2), 0);
 
-#    else /* SPURVM */
- long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN((integerArgumentValue | integerReceiverValue)));
-
-#    endif /* SPURVM */
-
  oop = newLargeInteger;
  l4: /* end maybeInlinePositive32BitIntegerFor: */;
  goto l1;
@@ -30543,17 +30439,11 @@
  newLargeInteger = newObj;
  l2: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#    if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(shifted));
  long32Atput((newLargeInteger + BaseHeaderSize) + (1L << 2), 0);
 
-#    else /* SPURVM */
- long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN(shifted));
-
-#    endif /* SPURVM */
-
  shifted = newLargeInteger;
  l4: /* end maybeInlinePositive32BitIntegerFor: */;
  goto l1;
@@ -30836,17 +30726,11 @@
  newLargeInteger = newObj;
  l2: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#      if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */
  long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN((integerArgumentValue ^ integerReceiverValue)));
  long32Atput((newLargeInteger + BaseHeaderSize) + (1L << 2), 0);
 
-#      else /* SPURVM */
- long32Atput((newLargeInteger + BaseHeaderSize) + (0L << 2), SQ_SWAP_4_BYTES_IF_BIGENDIAN((integerArgumentValue ^ integerReceiverValue)));
-
-#      endif /* SPURVM */
-
  oop1 = newLargeInteger;
  l4: /* end maybeInlinePositive32BitIntegerFor: */;
  goto l1;
@@ -31279,17 +31163,11 @@
  newLargeInteger = newObj;
 l11: /* end allocateSmallNewSpaceSlots:format:classIndex: */;
 
-#  if SPURVM
-
  /* Memory is 8 byte aligned in Spur, make sure that oversized bytes are set to zero */
+ /* eem 4/28/2016 questionable; they should never be read */

@@ Diff output truncated at 50000 characters. @@