[commit][2865] CogVM source as per VMMaker.oscog-eem.600

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

[commit][2865] CogVM source as per VMMaker.oscog-eem.600

commits-3
 
Revision: 2865
Author:   eliot
Date:     2014-01-31 17:04:05 -0800 (Fri, 31 Jan 2014)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.600

Revert bogus assert change.

Remember to follow the specialObjectsOop during scavenges.

Fix a typo in a selector.

Modified Paths:
--------------
    branches/Cog/nscogsrc/vm/cogit.c
    branches/Cog/nscogsrc/vm/cogit.h
    branches/Cog/nscogsrc/vm/cogmethod.h
    branches/Cog/nscogsrc/vm/cointerp.c
    branches/Cog/nscogsrc/vm/cointerp.h
    branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
    branches/Cog/nscogsrc/vm/interp.h
    branches/Cog/nscogsrc/vm/vmCallback.h
    branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
    branches/Cog/nsspurstacksrc/vm/interp.c
    branches/Cog/nsspurstacksrc/vm/interp.h
    branches/Cog/nsspurstacksrc/vm/vmCallback.h
    branches/Cog/spursrc/vm/cogit.c
    branches/Cog/spursrc/vm/cogit.h
    branches/Cog/spursrc/vm/cogmethod.h
    branches/Cog/spursrc/vm/cointerp.c
    branches/Cog/spursrc/vm/cointerp.h
    branches/Cog/spursrc/vm/gcc3x-cointerp.c
    branches/Cog/spursrc/vm/interp.h
    branches/Cog/spursrc/vm/vmCallback.h
    branches/Cog/spurstacksrc/vm/gcc3x-interp.c
    branches/Cog/spurstacksrc/vm/interp.c
    branches/Cog/spurstacksrc/vm/interp.h
    branches/Cog/spurstacksrc/vm/vmCallback.h
    branches/Cog/src/vm/cogit.c
    branches/Cog/src/vm/cogit.h
    branches/Cog/src/vm/cogmethod.h
    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/src/vm/interp.h
    branches/Cog/src/vm/vmCallback.h
    branches/Cog/stacksrc/vm/gcc3x-interp.c
    branches/Cog/stacksrc/vm/interp.c
    branches/Cog/stacksrc/vm/interp.h
    branches/Cog/stacksrc/vm/vmCallback.h

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

Modified: branches/Cog/nscogsrc/vm/cogit.c
===================================================================
--- branches/Cog/nscogsrc/vm/cogit.c 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/nscogsrc/vm/cogit.c 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd
+ CCodeGenerator VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
    from
- StackToRegisterMappingCogit VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd
+ StackToRegisterMappingCogit VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -587,7 +587,7 @@
 static void (*genEnilopmartForandandcalled(sqInt regArg1, sqInt regArg2, sqInt regArg3, char *trampolineName))(void) ;
 static void (*genEnilopmartForandcalled(sqInt regArg1, sqInt regArg2, char *trampolineName))(void) ;
 static void (*genEnilopmartForcalled(sqInt regArg, char *trampolineName))(void) ;
-static sqInt genEnsureObjInRegRegNotForwardedscratchReg(sqInt reg, sqInt scratch);
+static sqInt genEnsureObjInRegNotForwardedscratchReg(sqInt reg, sqInt scratch);
 static void (*genEnterPICEnilopmartNumArgs(sqInt numArgs))(void) ;
 static sqInt genExtendedSendBytecode(void);
 static sqInt genExtendedSuperBytecode(void);
@@ -10836,7 +10836,7 @@
  nothing to do. Subclasses for memory managers that forward will override. */
 
 static sqInt
-genEnsureObjInRegRegNotForwardedscratchReg(sqInt reg, sqInt scratch)
+genEnsureObjInRegNotForwardedscratchReg(sqInt reg, sqInt scratch)
 {
  return 0;
 }
@@ -14353,7 +14353,7 @@
 
  association = getLiteral(literalIndex);
  annotateobjRef(gMoveCwR(association, TempReg), association);
- genEnsureObjInRegRegNotForwardedscratchReg(TempReg, freeReg);
+ genEnsureObjInRegNotForwardedscratchReg(TempReg, freeReg);
  genLoadSlotsourceRegdestReg(ValueIndex, TempReg, freeReg);
  ssPushRegister(freeReg);
  return 0;
@@ -15573,7 +15573,7 @@
  && (!(shouldAnnotateObjectReference(constVal)))) {
  ssAllocateRequiredReg(ReceiverResultReg);
  annotateobjRef(gMoveCwR(association, ReceiverResultReg), association);
- genEnsureObjInRegRegNotForwardedscratchReg(ReceiverResultReg, TempReg);
+ genEnsureObjInRegNotForwardedscratchReg(ReceiverResultReg, TempReg);
  ssStorePoptoPreferredReg(popBoolean, TempReg);
  if (traceStores > 0) {
  CallRT(ceTraceStoreTrampoline);
@@ -15594,7 +15594,7 @@
  }
  ssAllocateCallReg(ReceiverResultReg);
  annotateobjRef(gMoveCwR(association, ReceiverResultReg), association);
- genEnsureObjInRegRegNotForwardedscratchReg(ReceiverResultReg, TempReg);
+ genEnsureObjInRegNotForwardedscratchReg(ReceiverResultReg, TempReg);
  if (traceStores > 0) {
  /* begin MoveR:R: */
  genoperandoperand(MoveRR, topReg, TempReg);

Modified: branches/Cog/nscogsrc/vm/cogit.h
===================================================================
--- branches/Cog/nscogsrc/vm/cogit.h 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/nscogsrc/vm/cogit.h 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd
+ CCodeGenerator VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
 
 

Modified: branches/Cog/nscogsrc/vm/cogmethod.h
===================================================================
--- branches/Cog/nscogsrc/vm/cogmethod.h 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/nscogsrc/vm/cogmethod.h 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd
+ CCodeGenerator VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
 
 typedef struct {

Modified: branches/Cog/nscogsrc/vm/cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.c 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/nscogsrc/vm/cointerp.c 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
    from
- CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2030,7 +2030,7 @@
  /* 574 */ (void (*)(void))0,
  /* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.597";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.600";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -5667,6 +5667,7 @@
  /* begin internalPush: */
  longAtPointerput((localSP -= BytesPerOop), longAt((rcvr + BaseHeaderSize) + (byte3 << ShiftForWord)));
  }
+ null;
  goto l4;
  }
  if (opType == 3) {
@@ -5676,6 +5677,7 @@
  assert(GIV(method) == (iframeMethod(localFP)));
  object = longAt((GIV(method) + BaseHeaderSize) + ((byte3 + LiteralStart) << ShiftForWord));
  longAtPointerput((localSP -= BytesPerOop), object);
+ null;
  goto l4;
  }
  if (opType == 4) {
@@ -5689,6 +5691,7 @@
  object2 = longAt((oop + BaseHeaderSize) + (ValueIndex << ShiftForWord));
  longAtPointerput((localSP -= BytesPerOop), object2);
 
+ null;
  goto l4;
  }
  top = longAtPointer(localSP);
@@ -53867,7 +53870,7 @@
  GIV(stackPointer) += BytesPerWord;
  GIV(instructionPointer) = ((sqInt) top);
  /* begin assertValidExecutionPointe:r:s: */
- assertValidExecutionPointersimbarline(GIV(instructionPointer) + 1, GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__);
+ assertValidExecutionPointersimbarline(GIV(instructionPointer), GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__);
 }
 
 sqInt

Modified: branches/Cog/nscogsrc/vm/cointerp.h
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.h 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/nscogsrc/vm/cointerp.h 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
 
 

Modified: branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2014-02-01 01:04:05 UTC (rev 2865)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
    from
- CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2033,7 +2033,7 @@
  /* 574 */ (void (*)(void))0,
  /* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.597";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.600";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -5676,6 +5676,7 @@
  /* begin internalPush: */
  longAtPointerput((localSP -= BytesPerOop), longAt((rcvr + BaseHeaderSize) + (byte3 << ShiftForWord)));
  }
+ null;
  goto l4;
  }
  if (opType == 3) {
@@ -5685,6 +5686,7 @@
  assert(GIV(method) == (iframeMethod(localFP)));
  object = longAt((GIV(method) + BaseHeaderSize) + ((byte3 + LiteralStart) << ShiftForWord));
  longAtPointerput((localSP -= BytesPerOop), object);
+ null;
  goto l4;
  }
  if (opType == 4) {
@@ -5698,6 +5700,7 @@
  object2 = longAt((oop + BaseHeaderSize) + (ValueIndex << ShiftForWord));
  longAtPointerput((localSP -= BytesPerOop), object2);
 
+ null;
  goto l4;
  }
  top = longAtPointer(localSP);
@@ -53876,7 +53879,7 @@
  GIV(stackPointer) += BytesPerWord;
  GIV(instructionPointer) = ((sqInt) top);
  /* begin assertValidExecutionPointe:r:s: */
- assertValidExecutionPointersimbarline(GIV(instructionPointer) + 1, GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__);
+ assertValidExecutionPointersimbarline(GIV(instructionPointer), GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__);
 }
 
 sqInt

Modified: branches/Cog/nscogsrc/vm/interp.h
===================================================================
--- branches/Cog/nscogsrc/vm/interp.h 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/nscogsrc/vm/interp.h 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/nscogsrc/vm/vmCallback.h
===================================================================
--- branches/Cog/nscogsrc/vm/vmCallback.h 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/nscogsrc/vm/vmCallback.h 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
 
 #define VM_CALLBACK_INC 1

Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c 2014-02-01 01:04:05 UTC (rev 2865)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
    from
- StackInterpreter VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2
+ StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1969,7 +1969,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.598";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.600";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -53061,6 +53061,10 @@
  if (firstTime) {
  mapInterpreterOops();
  /* begin mapExtraRoots */
+ if ((((longAt(GIV(specialObjectsOop))) & 0x3FFFFF) == 8)
+ || (isYoungObject(GIV(specialObjectsOop)))) {
+ GIV(specialObjectsOop) = remapObj(GIV(specialObjectsOop));
+ }
  assert(GIV(remapBufferCount) == 0);
  for (i = 1; i <= GIV(extraRootCount); i += 1) {
  oop = (GIV(extraRoots)[i])[0];
@@ -53463,6 +53467,7 @@
     sqInt object6;
     sqInt object7;
     sqInt object8;
+    sqInt object9;
     sqInt rcvr;
     char *sp;
     char *sp1;
@@ -53494,7 +53499,8 @@
  }
  /* begin saveCStackStateForCallbackContext: */
  /* begin push: */
- longAtput((sp8 = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)));
+ object8 = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2));
+ longAtput((sp8 = GIV(stackPointer) - BytesPerWord), object8);
  GIV(stackPointer) = sp8;
 
 #  if BytesPerWord == 8
@@ -53567,8 +53573,8 @@
  : 0);
 
  /* begin push: */
- object8 = ((1 + (numArgs << 8)) + (0)) + (0);
- longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object8);
+ object9 = ((1 + (numArgs << 8)) + (0)) + (0);
+ longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object9);
  GIV(stackPointer) = sp41;
  /* begin push: */
  longAtput((sp51 = GIV(stackPointer) - BytesPerWord), GIV(nilObj));
@@ -53654,6 +53660,7 @@
     sqInt object2;
     sqInt object3;
     sqInt object4;
+    sqInt object5;
     sqInt rcvr;
     char *sp;
     char *sp1;
@@ -53682,23 +53689,24 @@
  return 0;
  }
  /* begin push: */
- longAtput((sp = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)));
+ object = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2));
+ longAtput((sp = GIV(stackPointer) - BytesPerWord), object);
  GIV(stackPointer) = sp;
  /* begin push: */
- object = positive32BitIntegerFor(thunkPtr);
- longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object);
+ object1 = positive32BitIntegerFor(thunkPtr);
+ longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object1);
  GIV(stackPointer) = sp1;
  /* begin push: */
- object1 = positive32BitIntegerFor(stackPtr);
- longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object1);
+ object2 = positive32BitIntegerFor(stackPtr);
+ longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object2);
  GIV(stackPointer) = sp2;
  /* begin push: */
- object2 = positive32BitIntegerFor(regsPtr);
- longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object2);
+ object3 = positive32BitIntegerFor(regsPtr);
+ longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object3);
  GIV(stackPointer) = sp3;
  /* begin push: */
- object3 = positive32BitIntegerFor(jmpBufPtr);
- longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object3);
+ object4 = positive32BitIntegerFor(jmpBufPtr);
+ longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object4);
  GIV(stackPointer) = sp4;
  /* begin ifAppropriateCompileToNativeCode:selector: */
  /* begin justActivateNewMethod */
@@ -53728,8 +53736,8 @@
  : 0);
 
  /* begin push: */
- object4 = ((1 + (numArgs << 8)) + (0)) + (0);
- longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object4);
+ object5 = ((1 + (numArgs << 8)) + (0)) + (0);
+ longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object5);
  GIV(stackPointer) = sp41;
  /* begin push: */
  longAtput((sp5 = GIV(stackPointer) - BytesPerWord), GIV(nilObj));
@@ -56452,7 +56460,7 @@
  GIV(stackPointer) += BytesPerWord;
  GIV(instructionPointer) = ((sqInt) top);
  /* begin assertValidExecutionPointe:r:s: */
- assertValidExecutionPointersimbarline(GIV(instructionPointer) + 1, GIV(framePointer), GIV(stackPointer), !0, __LINE__);
+ assertValidExecutionPointersimbarline(GIV(instructionPointer), GIV(framePointer), GIV(stackPointer), !0, __LINE__);
 }
 
 sqInt

Modified: branches/Cog/nsspurstacksrc/vm/interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/interp.c 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/nsspurstacksrc/vm/interp.c 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
    from
- StackInterpreter VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2
+ StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1966,7 +1966,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.598";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.600";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -53052,6 +53052,10 @@
  if (firstTime) {
  mapInterpreterOops();
  /* begin mapExtraRoots */
+ if ((((longAt(GIV(specialObjectsOop))) & 0x3FFFFF) == 8)
+ || (isYoungObject(GIV(specialObjectsOop)))) {
+ GIV(specialObjectsOop) = remapObj(GIV(specialObjectsOop));
+ }
  assert(GIV(remapBufferCount) == 0);
  for (i = 1; i <= GIV(extraRootCount); i += 1) {
  oop = (GIV(extraRoots)[i])[0];
@@ -53454,6 +53458,7 @@
     sqInt object6;
     sqInt object7;
     sqInt object8;
+    sqInt object9;
     sqInt rcvr;
     char *sp;
     char *sp1;
@@ -53485,7 +53490,8 @@
  }
  /* begin saveCStackStateForCallbackContext: */
  /* begin push: */
- longAtput((sp8 = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)));
+ object8 = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2));
+ longAtput((sp8 = GIV(stackPointer) - BytesPerWord), object8);
  GIV(stackPointer) = sp8;
 
 #  if BytesPerWord == 8
@@ -53558,8 +53564,8 @@
  : 0);
 
  /* begin push: */
- object8 = ((1 + (numArgs << 8)) + (0)) + (0);
- longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object8);
+ object9 = ((1 + (numArgs << 8)) + (0)) + (0);
+ longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object9);
  GIV(stackPointer) = sp41;
  /* begin push: */
  longAtput((sp51 = GIV(stackPointer) - BytesPerWord), GIV(nilObj));
@@ -53645,6 +53651,7 @@
     sqInt object2;
     sqInt object3;
     sqInt object4;
+    sqInt object5;
     sqInt rcvr;
     char *sp;
     char *sp1;
@@ -53673,23 +53680,24 @@
  return 0;
  }
  /* begin push: */
- longAtput((sp = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)));
+ object = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2));
+ longAtput((sp = GIV(stackPointer) - BytesPerWord), object);
  GIV(stackPointer) = sp;
  /* begin push: */
- object = positive32BitIntegerFor(thunkPtr);
- longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object);
+ object1 = positive32BitIntegerFor(thunkPtr);
+ longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object1);
  GIV(stackPointer) = sp1;
  /* begin push: */
- object1 = positive32BitIntegerFor(stackPtr);
- longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object1);
+ object2 = positive32BitIntegerFor(stackPtr);
+ longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object2);
  GIV(stackPointer) = sp2;
  /* begin push: */
- object2 = positive32BitIntegerFor(regsPtr);
- longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object2);
+ object3 = positive32BitIntegerFor(regsPtr);
+ longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object3);
  GIV(stackPointer) = sp3;
  /* begin push: */
- object3 = positive32BitIntegerFor(jmpBufPtr);
- longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object3);
+ object4 = positive32BitIntegerFor(jmpBufPtr);
+ longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object4);
  GIV(stackPointer) = sp4;
  /* begin ifAppropriateCompileToNativeCode:selector: */
  /* begin justActivateNewMethod */
@@ -53719,8 +53727,8 @@
  : 0);
 
  /* begin push: */
- object4 = ((1 + (numArgs << 8)) + (0)) + (0);
- longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object4);
+ object5 = ((1 + (numArgs << 8)) + (0)) + (0);
+ longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object5);
  GIV(stackPointer) = sp41;
  /* begin push: */
  longAtput((sp5 = GIV(stackPointer) - BytesPerWord), GIV(nilObj));
@@ -56443,7 +56451,7 @@
  GIV(stackPointer) += BytesPerWord;
  GIV(instructionPointer) = ((sqInt) top);
  /* begin assertValidExecutionPointe:r:s: */
- assertValidExecutionPointersimbarline(GIV(instructionPointer) + 1, GIV(framePointer), GIV(stackPointer), !0, __LINE__);
+ assertValidExecutionPointersimbarline(GIV(instructionPointer), GIV(framePointer), GIV(stackPointer), !0, __LINE__);
 }
 
 sqInt

Modified: branches/Cog/nsspurstacksrc/vm/interp.h
===================================================================
--- branches/Cog/nsspurstacksrc/vm/interp.h 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/nsspurstacksrc/vm/interp.h 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/nsspurstacksrc/vm/vmCallback.h
===================================================================
--- branches/Cog/nsspurstacksrc/vm/vmCallback.h 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/nsspurstacksrc/vm/vmCallback.h 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
 
 #define VM_CALLBACK_INC 1


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Fri Jan 31 10:40:41 PST 2014
   + Fri Jan 31 17:03:23 PST 2014

Modified: branches/Cog/spursrc/vm/cogit.c
===================================================================
--- branches/Cog/spursrc/vm/cogit.c 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/spursrc/vm/cogit.c 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd
+ CCodeGenerator VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
    from
- StackToRegisterMappingCogit VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd
+ StackToRegisterMappingCogit VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -575,7 +575,7 @@
 static void (*genEnilopmartForandandcalled(sqInt regArg1, sqInt regArg2, sqInt regArg3, char *trampolineName))(void) ;
 static void (*genEnilopmartForandcalled(sqInt regArg1, sqInt regArg2, char *trampolineName))(void) ;
 static void (*genEnilopmartForcalled(sqInt regArg, char *trampolineName))(void) ;
-static sqInt genEnsureObjInRegRegNotForwardedscratchReg(sqInt reg, sqInt scratch);
+static sqInt genEnsureObjInRegNotForwardedscratchReg(sqInt reg, sqInt scratch);
 static void (*genEnterPICEnilopmartNumArgs(sqInt numArgs))(void) ;
 static sqInt genExtendedSendBytecode(void);
 static sqInt genExtendedSuperBytecode(void);
@@ -10442,10 +10442,10 @@
 }
 
 
-/* Make sure that the obejct in reg is not forwarded. */
+/* Make sure that the object in reg is not forwarded. */
 
 static sqInt
-genEnsureObjInRegRegNotForwardedscratchReg(sqInt reg, sqInt scratch)
+genEnsureObjInRegNotForwardedscratchReg(sqInt reg, sqInt scratch)
 {
     AbstractInstruction *loop;
     AbstractInstruction *ok;
@@ -11894,7 +11894,7 @@
  /* begin MoveR:R: */
  genoperandoperand(MoveRR, Arg0Reg, TempReg);
  jumpImmediate = genJumpImmediateInScratchReg(TempReg);
- genEnsureObjInRegRegNotForwardedscratchReg(Arg0Reg, TempReg);
+ genEnsureObjInRegNotForwardedscratchReg(Arg0Reg, TempReg);
  jmpTarget(jumpImmediate, gCmpRR(Arg0Reg, ReceiverResultReg));
  jumpCmp = (orNot
  ? (/* begin JumpZero: */
@@ -14174,7 +14174,7 @@
 
  association = getLiteral(literalIndex);
  annotateobjRef(gMoveCwR(association, TempReg), association);
- genEnsureObjInRegRegNotForwardedscratchReg(TempReg, freeReg);
+ genEnsureObjInRegNotForwardedscratchReg(TempReg, freeReg);
  genLoadSlotsourceRegdestReg(ValueIndex, TempReg, freeReg);
  ssPushRegister(freeReg);
  return 0;
@@ -15391,7 +15391,7 @@
  && (!(shouldAnnotateObjectReference(constVal)))) {
  ssAllocateRequiredReg(ReceiverResultReg);
  annotateobjRef(gMoveCwR(association, ReceiverResultReg), association);
- genEnsureObjInRegRegNotForwardedscratchReg(ReceiverResultReg, TempReg);
+ genEnsureObjInRegNotForwardedscratchReg(ReceiverResultReg, TempReg);
  ssStorePoptoPreferredReg(popBoolean, TempReg);
  if (traceStores > 0) {
  CallRT(ceTraceStoreTrampoline);
@@ -15412,7 +15412,7 @@
  }
  ssAllocateCallReg(ReceiverResultReg);
  annotateobjRef(gMoveCwR(association, ReceiverResultReg), association);
- genEnsureObjInRegRegNotForwardedscratchReg(ReceiverResultReg, TempReg);
+ genEnsureObjInRegNotForwardedscratchReg(ReceiverResultReg, TempReg);
  if (traceStores > 0) {
  /* begin MoveR:R: */
  genoperandoperand(MoveRR, topReg, TempReg);

Modified: branches/Cog/spursrc/vm/cogit.h
===================================================================
--- branches/Cog/spursrc/vm/cogit.h 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/spursrc/vm/cogit.h 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd
+ CCodeGenerator VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
 
 

Modified: branches/Cog/spursrc/vm/cogmethod.h
===================================================================
--- branches/Cog/spursrc/vm/cogmethod.h 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/spursrc/vm/cogmethod.h 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd
+ CCodeGenerator VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
 
 typedef struct {

Modified: branches/Cog/spursrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/cointerp.c 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/spursrc/vm/cointerp.c 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
    from
- CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2169,7 +2169,7 @@
  /* 575 */ (void (*)(void))0,
  0 };
 usqInt heapBase;
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.597]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.600]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -6383,6 +6383,7 @@
  /* begin internalPush: */
  longAtPointerput((localSP -= BytesPerOop), longAt((rcvr1 + (BaseHeaderSize)) + (byte3 << 2)));
  }
+ null;
  goto l4;
  }
  if (opType == 3) {
@@ -6392,6 +6393,7 @@
  assert(GIV(method) == (iframeMethod(localFP)));
  object = longAt((GIV(method) + (BaseHeaderSize)) + ((byte3 + LiteralStart) << 2));
  longAtPointerput((localSP -= BytesPerOop), object);
+ null;
  goto l4;
  }
  if (opType == 4) {
@@ -6419,6 +6421,7 @@
  /* begin internalPush: */
  longAtPointerput((localSP -= BytesPerOop), longAt((litVar1 + (BaseHeaderSize)) + (ValueIndex << 2)));
 
+ null;
  goto l4;
  }
  top = longAtPointer(localSP);
@@ -54451,6 +54454,10 @@
  if (firstTime) {
  mapInterpreterOops();
  /* begin mapExtraRoots */
+ if ((((longAt(GIV(specialObjectsOop))) & 0x3FFFFF) == 8)
+ || (isReallyYoungObject(GIV(specialObjectsOop)))) {
+ GIV(specialObjectsOop) = remapObj(GIV(specialObjectsOop));
+ }
  assert(GIV(remapBufferCount) == 0);
  for (i = 1; i <= GIV(extraRootCount); i += 1) {
  oop = (GIV(extraRoots)[i])[0];
@@ -54881,6 +54888,7 @@
     sqInt object6;
     sqInt object7;
     sqInt object8;
+    sqInt object9;
     sqInt rcvr;
     char *sp;
     char *sp1;
@@ -54924,7 +54932,8 @@
  (vmCallbackContext->savedCFramePointer = getCFramePointer());
  memcpy(((void *)((vmCallbackContext->savedReenterInterpreter))), reenterInterpreter, sizeof(jmp_buf));
  /* begin push: */
- longAtput((sp8 = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)));
+ object8 = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2));
+ longAtput((sp8 = GIV(stackPointer) - BytesPerWord), object8);
  GIV(stackPointer) = sp8;
 
 #  if BytesPerWord == 8
@@ -55037,8 +55046,8 @@
  longAtput((sp31 = GIV(stackPointer) - BytesPerWord), GIV(nilObj));
  GIV(stackPointer) = sp31;
  /* begin push: */
- object8 = ((1 + (numArgs << 8)) + (0)) + (0);
- longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object8);
+ object9 = ((1 + (numArgs << 8)) + (0)) + (0);
+ longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object9);
  GIV(stackPointer) = sp41;
  /* begin push: */
  longAtput((sp51 = GIV(stackPointer) - BytesPerWord), 0);
@@ -55130,6 +55139,7 @@
     sqInt object2;
     sqInt object3;
     sqInt object4;
+    sqInt object5;
     sqInt rcvr;
     char *sp;
     char *sp1;
@@ -55167,23 +55177,24 @@
  return 0;
  }
  /* begin push: */
- longAtput((sp = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)));
+ object = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2));
+ longAtput((sp = GIV(stackPointer) - BytesPerWord), object);
  GIV(stackPointer) = sp;
  /* begin push: */
- object = positive32BitIntegerFor(thunkPtr);
- longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object);
+ object1 = positive32BitIntegerFor(thunkPtr);
+ longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object1);
  GIV(stackPointer) = sp1;
  /* begin push: */
- object1 = positive32BitIntegerFor(stackPtr);
- longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object1);
+ object2 = positive32BitIntegerFor(stackPtr);
+ longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object2);
  GIV(stackPointer) = sp2;
  /* begin push: */
- object2 = positive32BitIntegerFor(regsPtr);
- longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object2);
+ object3 = positive32BitIntegerFor(regsPtr);
+ longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object3);
  GIV(stackPointer) = sp3;
  /* begin push: */
- object3 = positive32BitIntegerFor(jmpBufPtr);
- longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object3);
+ object4 = positive32BitIntegerFor(jmpBufPtr);
+ longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object4);
  GIV(stackPointer) = sp4;
  /* begin ifAppropriateCompileToNativeCode:selector: */
  methodHeader = longAt((GIV(newMethod) + (BaseHeaderSize)) + (HeaderIndex << 2));
@@ -55253,8 +55264,8 @@
  longAtput((sp31 = GIV(stackPointer) - BytesPerWord), GIV(nilObj));
  GIV(stackPointer) = sp31;
  /* begin push: */
- object4 = ((1 + (numArgs << 8)) + (0)) + (0);
- longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object4);
+ object5 = ((1 + (numArgs << 8)) + (0)) + (0);
+ longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object5);
  GIV(stackPointer) = sp41;
  /* begin push: */
  longAtput((sp5 = GIV(stackPointer) - BytesPerWord), 0);
@@ -58106,9 +58117,9 @@
 transferTofrom(sqInt newProc, sqInt sourceCode)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt activeContext;
+    sqInt aProcess;
     sqInt index;
     StackPage *lastUsedPage;
-    usqInt lip;
     StackPage *lruOrFree;
     sqInt newContext;
     StackPage *newPage;
@@ -58122,10 +58133,11 @@
     sqInt value;
 
  /* begin recordContextSwitchFrom:in: */
+ aProcess = longAt(((longAt(((longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SchedulerAssociation << 2))) + (BaseHeaderSize)) + (ValueIndex << 2))) + (BaseHeaderSize)) + (ActiveProcessIndex << 2));
  if (recordEventTrace()) {
  /* begin recordTrace:thing:source: */
  GIV(traceLog)[GIV(traceLogIndex)] = TraceContextSwitch;
- GIV(traceLog)[GIV(traceLogIndex) + 1] = (longAt(((longAt(((longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SchedulerAssociation << 2))) + (BaseHeaderSize)) + (ValueIndex << 2))) + (BaseHeaderSize)) + (ActiveProcessIndex << 2)));
+ GIV(traceLog)[GIV(traceLogIndex) + 1] = aProcess;
  GIV(traceLog)[GIV(traceLogIndex) + 2] = sourceCode;
  GIV(traceLogIndex) = (GIV(traceLogIndex) + 3) % TraceBufferSize;
  }
@@ -58282,8 +58294,7 @@
  GIV(stackPointer) += BytesPerWord;
  GIV(instructionPointer) = ((sqInt) top);
  /* begin assertValidExecutionPointe:r:s: */
- lip = GIV(instructionPointer) + 1;
- assertValidExecutionPointersimbarline(lip, GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__);
+ assertValidExecutionPointersimbarline(GIV(instructionPointer), GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__);
 }
 
 sqInt

Modified: branches/Cog/spursrc/vm/cointerp.h
===================================================================
--- branches/Cog/spursrc/vm/cointerp.h 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/spursrc/vm/cointerp.h 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
 
 

Modified: branches/Cog/spursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/gcc3x-cointerp.c 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/spursrc/vm/gcc3x-cointerp.c 2014-02-01 01:04:05 UTC (rev 2865)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
    from
- CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2172,7 +2172,7 @@
  /* 575 */ (void (*)(void))0,
  0 };
 usqInt heapBase;
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.597]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.600]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -6392,6 +6392,7 @@
  /* begin internalPush: */
  longAtPointerput((localSP -= BytesPerOop), longAt((rcvr1 + (BaseHeaderSize)) + (byte3 << 2)));
  }
+ null;
  goto l4;
  }
  if (opType == 3) {
@@ -6401,6 +6402,7 @@
  assert(GIV(method) == (iframeMethod(localFP)));
  object = longAt((GIV(method) + (BaseHeaderSize)) + ((byte3 + LiteralStart) << 2));
  longAtPointerput((localSP -= BytesPerOop), object);
+ null;
  goto l4;
  }
  if (opType == 4) {
@@ -6428,6 +6430,7 @@
  /* begin internalPush: */
  longAtPointerput((localSP -= BytesPerOop), longAt((litVar1 + (BaseHeaderSize)) + (ValueIndex << 2)));
 
+ null;
  goto l4;
  }
  top = longAtPointer(localSP);
@@ -54460,6 +54463,10 @@
  if (firstTime) {
  mapInterpreterOops();
  /* begin mapExtraRoots */
+ if ((((longAt(GIV(specialObjectsOop))) & 0x3FFFFF) == 8)
+ || (isReallyYoungObject(GIV(specialObjectsOop)))) {
+ GIV(specialObjectsOop) = remapObj(GIV(specialObjectsOop));
+ }
  assert(GIV(remapBufferCount) == 0);
  for (i = 1; i <= GIV(extraRootCount); i += 1) {
  oop = (GIV(extraRoots)[i])[0];
@@ -54890,6 +54897,7 @@
     sqInt object6;
     sqInt object7;
     sqInt object8;
+    sqInt object9;
     sqInt rcvr;
     char *sp;
     char *sp1;
@@ -54933,7 +54941,8 @@
  (vmCallbackContext->savedCFramePointer = getCFramePointer());
  memcpy(((void *)((vmCallbackContext->savedReenterInterpreter))), reenterInterpreter, sizeof(jmp_buf));
  /* begin push: */
- longAtput((sp8 = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)));
+ object8 = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2));
+ longAtput((sp8 = GIV(stackPointer) - BytesPerWord), object8);
  GIV(stackPointer) = sp8;
 
 #  if BytesPerWord == 8
@@ -55046,8 +55055,8 @@
  longAtput((sp31 = GIV(stackPointer) - BytesPerWord), GIV(nilObj));
  GIV(stackPointer) = sp31;
  /* begin push: */
- object8 = ((1 + (numArgs << 8)) + (0)) + (0);
- longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object8);
+ object9 = ((1 + (numArgs << 8)) + (0)) + (0);
+ longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object9);
  GIV(stackPointer) = sp41;
  /* begin push: */
  longAtput((sp51 = GIV(stackPointer) - BytesPerWord), 0);
@@ -55139,6 +55148,7 @@
     sqInt object2;
     sqInt object3;
     sqInt object4;
+    sqInt object5;
     sqInt rcvr;
     char *sp;
     char *sp1;
@@ -55176,23 +55186,24 @@
  return 0;
  }
  /* begin push: */
- longAtput((sp = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)));
+ object = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2));
+ longAtput((sp = GIV(stackPointer) - BytesPerWord), object);
  GIV(stackPointer) = sp;
  /* begin push: */
- object = positive32BitIntegerFor(thunkPtr);
- longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object);
+ object1 = positive32BitIntegerFor(thunkPtr);
+ longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object1);
  GIV(stackPointer) = sp1;
  /* begin push: */
- object1 = positive32BitIntegerFor(stackPtr);
- longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object1);
+ object2 = positive32BitIntegerFor(stackPtr);
+ longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object2);
  GIV(stackPointer) = sp2;
  /* begin push: */
- object2 = positive32BitIntegerFor(regsPtr);
- longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object2);
+ object3 = positive32BitIntegerFor(regsPtr);
+ longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object3);
  GIV(stackPointer) = sp3;
  /* begin push: */
- object3 = positive32BitIntegerFor(jmpBufPtr);
- longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object3);
+ object4 = positive32BitIntegerFor(jmpBufPtr);
+ longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object4);
  GIV(stackPointer) = sp4;
  /* begin ifAppropriateCompileToNativeCode:selector: */
  methodHeader = longAt((GIV(newMethod) + (BaseHeaderSize)) + (HeaderIndex << 2));
@@ -55262,8 +55273,8 @@
  longAtput((sp31 = GIV(stackPointer) - BytesPerWord), GIV(nilObj));
  GIV(stackPointer) = sp31;
  /* begin push: */
- object4 = ((1 + (numArgs << 8)) + (0)) + (0);
- longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object4);
+ object5 = ((1 + (numArgs << 8)) + (0)) + (0);
+ longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object5);
  GIV(stackPointer) = sp41;
  /* begin push: */
  longAtput((sp5 = GIV(stackPointer) - BytesPerWord), 0);
@@ -58115,9 +58126,9 @@
 transferTofrom(sqInt newProc, sqInt sourceCode)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt activeContext;
+    sqInt aProcess;
     sqInt index;
     StackPage *lastUsedPage;
-    usqInt lip;
     StackPage *lruOrFree;
     sqInt newContext;
     StackPage *newPage;
@@ -58131,10 +58142,11 @@
     sqInt value;
 
  /* begin recordContextSwitchFrom:in: */
+ aProcess = longAt(((longAt(((longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SchedulerAssociation << 2))) + (BaseHeaderSize)) + (ValueIndex << 2))) + (BaseHeaderSize)) + (ActiveProcessIndex << 2));
  if (recordEventTrace()) {
  /* begin recordTrace:thing:source: */
  GIV(traceLog)[GIV(traceLogIndex)] = TraceContextSwitch;
- GIV(traceLog)[GIV(traceLogIndex) + 1] = (longAt(((longAt(((longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SchedulerAssociation << 2))) + (BaseHeaderSize)) + (ValueIndex << 2))) + (BaseHeaderSize)) + (ActiveProcessIndex << 2)));
+ GIV(traceLog)[GIV(traceLogIndex) + 1] = aProcess;
  GIV(traceLog)[GIV(traceLogIndex) + 2] = sourceCode;
  GIV(traceLogIndex) = (GIV(traceLogIndex) + 3) % TraceBufferSize;
  }
@@ -58291,8 +58303,7 @@
  GIV(stackPointer) += BytesPerWord;
  GIV(instructionPointer) = ((sqInt) top);
  /* begin assertValidExecutionPointe:r:s: */
- lip = GIV(instructionPointer) + 1;
- assertValidExecutionPointersimbarline(lip, GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__);
+ assertValidExecutionPointersimbarline(GIV(instructionPointer), GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__);
 }
 
 sqInt

Modified: branches/Cog/spursrc/vm/interp.h
===================================================================
--- branches/Cog/spursrc/vm/interp.h 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/spursrc/vm/interp.h 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/spursrc/vm/vmCallback.h
===================================================================
--- branches/Cog/spursrc/vm/vmCallback.h 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/spursrc/vm/vmCallback.h 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
 
 #define VM_CALLBACK_INC 1

Modified: branches/Cog/spurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/spurstacksrc/vm/gcc3x-interp.c 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/spurstacksrc/vm/gcc3x-interp.c 2014-02-01 01:04:05 UTC (rev 2865)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
    from
- StackInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1962,7 +1962,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.597]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.600]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -48079,6 +48079,10 @@
  if (firstTime) {
  mapInterpreterOops();
  /* begin mapExtraRoots */
+ if ((((longAt(GIV(specialObjectsOop))) & 0x3FFFFF) == 8)
+ || (isYoungObject(GIV(specialObjectsOop)))) {
+ GIV(specialObjectsOop) = remapObj(GIV(specialObjectsOop));
+ }
  assert(GIV(remapBufferCount) == 0);
  for (i = 1; i <= GIV(extraRootCount); i += 1) {
  oop = (GIV(extraRoots)[i])[0];
@@ -48481,6 +48485,7 @@
     sqInt object6;
     sqInt object7;
     sqInt object8;
+    sqInt object9;
     sqInt rcvr;
     char *sp;
     char *sp1;
@@ -48512,7 +48517,8 @@
  }
  /* begin saveCStackStateForCallbackContext: */
  /* begin push: */
- longAtput((sp8 = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)));
+ object8 = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2));
+ longAtput((sp8 = GIV(stackPointer) - BytesPerWord), object8);
  GIV(stackPointer) = sp8;
 
 #  if BytesPerWord == 8
@@ -48582,8 +48588,8 @@
  assert((headerOf(GIV(method))) == methodHeader);
 
  /* begin push: */
- object8 = ((1 + (numArgs << 8)) + (0)) + (0);
- longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object8);
+ object9 = ((1 + (numArgs << 8)) + (0)) + (0);
+ longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object9);
  GIV(stackPointer) = sp41;
  /* begin push: */
  longAtput((sp51 = GIV(stackPointer) - BytesPerWord), GIV(nilObj));
@@ -48661,6 +48667,7 @@
     sqInt object2;
     sqInt object3;
     sqInt object4;
+    sqInt object5;
     sqInt rcvr;
     char *sp;
     char *sp1;
@@ -48689,23 +48696,24 @@
  return 0;
  }
  /* begin push: */
- longAtput((sp = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)));
+ object = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2));
+ longAtput((sp = GIV(stackPointer) - BytesPerWord), object);
  GIV(stackPointer) = sp;
  /* begin push: */
- object = positive32BitIntegerFor(thunkPtr);
- longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object);
+ object1 = positive32BitIntegerFor(thunkPtr);
+ longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object1);
  GIV(stackPointer) = sp1;
  /* begin push: */
- object1 = positive32BitIntegerFor(stackPtr);
- longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object1);
+ object2 = positive32BitIntegerFor(stackPtr);
+ longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object2);
  GIV(stackPointer) = sp2;
  /* begin push: */
- object2 = positive32BitIntegerFor(regsPtr);
- longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object2);
+ object3 = positive32BitIntegerFor(regsPtr);
+ longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object3);
  GIV(stackPointer) = sp3;
  /* begin push: */
- object3 = positive32BitIntegerFor(jmpBufPtr);
- longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object3);
+ object4 = positive32BitIntegerFor(jmpBufPtr);
+ longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object4);
  GIV(stackPointer) = sp4;
  /* begin ifAppropriateCompileToNativeCode:selector: */
  /* begin justActivateNewMethod */
@@ -48732,8 +48740,8 @@
  assert((headerOf(GIV(method))) == methodHeader);
 
  /* begin push: */
- object4 = ((1 + (numArgs << 8)) + (0)) + (0);
- longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object4);
+ object5 = ((1 + (numArgs << 8)) + (0)) + (0);
+ longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object5);
  GIV(stackPointer) = sp41;
  /* begin push: */
  longAtput((sp5 = GIV(stackPointer) - BytesPerWord), GIV(nilObj));
@@ -51426,7 +51434,7 @@
  GIV(stackPointer) += BytesPerWord;
  GIV(instructionPointer) = ((sqInt) top);
  /* begin assertValidExecutionPointe:r:s: */
- assertValidExecutionPointersimbarline(GIV(instructionPointer) + 1, GIV(framePointer), GIV(stackPointer), !0, __LINE__);
+ assertValidExecutionPointersimbarline(GIV(instructionPointer), GIV(framePointer), GIV(stackPointer), !0, __LINE__);
 }
 
 sqInt

Modified: branches/Cog/spurstacksrc/vm/interp.c
===================================================================
--- branches/Cog/spurstacksrc/vm/interp.c 2014-01-31 18:41:22 UTC (rev 2864)
+++ branches/Cog/spurstacksrc/vm/interp.c 2014-02-01 01:04:05 UTC (rev 2865)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
    from
- StackInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220
+ StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1959,7 +1959,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.597]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.600]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -48070,6 +48070,10 @@
  if (firstTime) {
  mapInterpreterOops();
  /* begin mapExtraRoots */
+ if ((((longAt(GIV(specialObjectsOop))) & 0x3FFFFF) == 8)
+ || (isYoungObject(GIV(specialObjectsOop)))) {
+ GIV(specialObjectsOop) = remapObj(GIV(specialObjectsOop));
+ }
  assert(GIV(remapBufferCount) == 0);
  for (i = 1; i <= GIV(extraRootCount); i += 1) {

@@ Diff output truncated at 50000 characters. @@