[Vm-dev] [commit][3345] CogVM source as per VMMaker.oscog-eem.1306

commits at squeakvm.org commits at squeakvm.org
Fri May 15 20:18:53 UTC 2015


Revision: 3345
Author:   eliot
Date:     2015-05-15 13:18:50 -0700 (Fri, 15 May 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1306

Fix old bug in ceMNUFromPICMNUMethod:receiver: that has been masked by
cacheing of MNU method in MNU PIC entries.  ceMNUFromPICMNUMethod:receiver:
must set up lkupClass before calling handleMNU:...

Make ARM rotated 8bit constants actually be correct(er) ie
16r4000001 (SmallInteger 16r2000000) work.

Modified Paths:
--------------
    branches/Cog/nsspursrc/vm/cogit.h
    branches/Cog/nsspursrc/vm/cogitARMv5.c
    branches/Cog/nsspursrc/vm/cogitIA32.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/spursistasrc/vm/cogit.h
    branches/Cog/spursistasrc/vm/cogitARMv5.c
    branches/Cog/spursistasrc/vm/cogitIA32.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/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/vm/cogit.h
    branches/Cog/src/vm/cogitARMv5.c
    branches/Cog/src/vm/cogitIA32.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

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

Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h	2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspursrc/vm/cogit.h	2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+	CCodeGenerator VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
  */
 
 

Modified: branches/Cog/nsspursrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitARMv5.c	2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspursrc/vm/cogitARMv5.c	2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+	CCodeGenerator VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -3452,7 +3452,7 @@
 		for (i9 = 2; i9 <= 30; i9 += 2) {
 			if ((val2 & (((0xFF << i9) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i9)))) == val2) {
 				rot8 = 32 - i9;
-				immediate13 = ((usqInt) val2) >> i9;
+				immediate13 = (((usqInt) val2) >> i9) | ((val2 << (32 - i9)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((BicOpcode << 21) | (1 << 20)))) | ((rn << 16) | (rd << 12))) | ((((((usqInt) rot8) >> 1) << 8) | immediate13) & 0xFFF));
 				self_in_dispatchConcretize;
@@ -4084,7 +4084,7 @@
 		for (i1 = 2; i1 <= 30; i1 += 2) {
 			if ((constant1 & (((0xFF << i1) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i1)))) == constant1) {
 				rot = 32 - i1;
-				immediate = ((usqInt) constant1) >> i1;
+				immediate = (((usqInt) constant1) >> i1) | ((constant1 << (32 - i1)) & 0xFFFFFFFFUL);
 				reg = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
 				/* begin machineCodeAt:put: */
 				aWord4 = addsrnimmror(self_in_dispatchConcretize, reg, reg, immediate, rot);
@@ -4112,7 +4112,7 @@
 		for (i = 2; i <= 30; i += 2) {
 			if ((constant & (((0xFF << i) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i)))) == constant) {
 				rot = 32 - i;
-				immediate = ((usqInt) constant) >> i;
+				immediate = (((usqInt) constant) >> i) | ((constant << (32 - i)) & 0xFFFFFFFFUL);
 				reg = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
 				/* begin machineCodeAt:put: */
 				aWord11 = subsrnimmror(self_in_dispatchConcretize, reg, reg, immediate, rot);
@@ -4219,7 +4219,7 @@
 		for (i11 = 2; i11 <= 30; i11 += 2) {
 			if ((val & (((0xFF << i11) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i11)))) == val) {
 				rot1 = 32 - i11;
-				immediate1 = ((usqInt) val) >> i11;
+				immediate1 = (((usqInt) val) >> i11) | ((val << (32 - i11)) & 0xFFFFFFFFUL);
 				reg1 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
 				/* begin machineCodeAt:put: */
 				aWord5 = andsrnimmror(self_in_dispatchConcretize, reg1, reg1, immediate1, rot1);
@@ -4256,7 +4256,7 @@
 		for (i2 = 2; i2 <= 30; i2 += 2) {
 			if ((invVal & (((0xFF << i2) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i2)))) == invVal) {
 				rot1 = 32 - i2;
-				immediate1 = ((usqInt) invVal) >> i2;
+				immediate1 = (((usqInt) invVal) >> i2) | ((invVal << (32 - i2)) & 0xFFFFFFFFUL);
 				reg1 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
 				/* begin machineCodeAt:put: */
 				aWord12 = bicsrnimmror(self_in_dispatchConcretize, reg1, reg1, immediate1, rot1);
@@ -4342,7 +4342,7 @@
 		for (i12 = 2; i12 <= 30; i12 += 2) {
 			if ((val1 & (((0xFF << i12) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i12)))) == val1) {
 				rot2 = 32 - i12;
-				immediate2 = ((usqInt) val1) >> i12;
+				immediate2 = (((usqInt) val1) >> i12) | ((val1 << (32 - i12)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord6 = andsrnimmror(self_in_dispatchConcretize, dstReg, srcReg, immediate2, rot2);
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord6;
@@ -4374,7 +4374,7 @@
 		for (i3 = 2; i3 <= 30; i3 += 2) {
 			if ((invVal1 & (((0xFF << i3) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i3)))) == invVal1) {
 				rot2 = 32 - i3;
-				immediate2 = ((usqInt) invVal1) >> i3;
+				immediate2 = (((usqInt) invVal1) >> i3) | ((invVal1 << (32 - i3)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord13 = bicsrnimmror(self_in_dispatchConcretize, dstReg, srcReg, immediate2, rot2);
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord13;
@@ -4502,7 +4502,7 @@
 		for (i10 = 2; i10 <= 30; i10 += 2) {
 			if ((val3 & (((0xFF << i10) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i10)))) == val3) {
 				rot9 = 32 - i10;
-				immediate14 = ((usqInt) val3) >> i10;
+				immediate14 = (((usqInt) val3) >> i10) | ((val3 << (32 - i10)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((CmpOpcode << 21) | (1 << 20)))) | ((rn8 << 16) | (rd8 << 12))) | ((((((usqInt) rot9) >> 1) << 8) | immediate14) & 0xFFF));
 				self_in_dispatchConcretize;
@@ -4639,7 +4639,7 @@
 		for (i16 = 2; i16 <= 30; i16 += 2) {
 			if ((val4 & (((0xFF << i16) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i16)))) == val4) {
 				rot10 = 32 - i16;
-				immediate15 = ((usqInt) val4) >> i16;
+				immediate15 = (((usqInt) val4) >> i16) | ((val4 << (32 - i16)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((OrOpcode << 21) | (1 << 20)))) | ((rn11 << 16) | (rd11 << 12))) | ((((((usqInt) rot10) >> 1) << 8) | immediate15) & 0xFFF));
 				self_in_dispatchConcretize;
@@ -4759,7 +4759,7 @@
 		for (i13 = 2; i13 <= 30; i13 += 2) {
 			if ((word & (((0xFF << i13) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i13)))) == word) {
 				rot3 = 32 - i13;
-				immediate3 = ((usqInt) word) >> i13;
+				immediate3 = (((usqInt) word) >> i13) | ((word << (32 - i13)) & 0xFFFFFFFFUL);
 				reg2 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
 				/* begin machineCodeAt:put: */
 				aWord7 = subsrnimmror(self_in_dispatchConcretize, reg2, reg2, immediate3, rot3);
@@ -4790,7 +4790,7 @@
 		for (i4 = 2; i4 <= 30; i4 += 2) {
 			if (((-word) & (((0xFF << i4) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i4)))) == (-word)) {
 				rot3 = 32 - i4;
-				immediate3 = ((usqInt) (-word)) >> i4;
+				immediate3 = (((usqInt) (-word)) >> i4) | (((-word) << (32 - i4)) & 0xFFFFFFFFUL);
 				reg2 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
 				/* begin machineCodeAt:put: */
 				aWord14 = addsrnimmror(self_in_dispatchConcretize, reg2, reg2, immediate3, rot3);
@@ -4901,7 +4901,7 @@
 		for (i5 = 2; i5 <= 30; i5 += 2) {
 			if ((constant2 & (((0xFF << i5) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i5)))) == constant2) {
 				rot4 = 32 - i5;
-				immediate4 = ((usqInt) constant2) >> i5;
+				immediate4 = (((usqInt) constant2) >> i5) | ((constant2 << (32 - i5)) & 0xFFFFFFFFUL);
 				reg3 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
 				/* begin machineCodeAt:put: */
 				aWord8 = tstrnimmror(self_in_dispatchConcretize, reg3, reg3, immediate4, rot4);
@@ -4967,7 +4967,7 @@
 		for (i17 = 2; i17 <= 30; i17 += 2) {
 			if ((val5 & (((0xFF << i17) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i17)))) == val5) {
 				rot11 = 32 - i17;
-				immediate16 = ((usqInt) val5) >> i17;
+				immediate16 = (((usqInt) val5) >> i17) | ((val5 << (32 - i17)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((XorOpcode << 21) | (1 << 20)))) | ((rn18 << 16) | (rd18 << 12))) | ((((((usqInt) rot11) >> 1) << 8) | immediate16) & 0xFFF));
 				self_in_dispatchConcretize;
@@ -5099,7 +5099,7 @@
 		for (i6 = 2; i6 <= 30; i6 += 2) {
 			if ((offset25 & (((0xFF << i6) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i6)))) == offset25) {
 				rot5 = 32 - i6;
-				immediate5 = ((usqInt) offset25) >> i6;
+				immediate5 = (((usqInt) offset25) >> i6) | ((offset25 << (32 - i6)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord27 = addrnimmror(self_in_dispatchConcretize, destReg2, srcReg3, immediate5, rot5 << 1);
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord27;
@@ -5233,7 +5233,7 @@
 		for (i14 = 2; i14 <= 30; i14 += 2) {
 			if ((word1 & (((0xFF << i14) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i14)))) == word1) {
 				rot6 = 32 - i14;
-				immediate6 = ((usqInt) word1) >> i14;
+				immediate6 = (((usqInt) word1) >> i14) | ((word1 << (32 - i14)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord29 = movimmror(self_in_dispatchConcretize, reg5, immediate6, rot6);
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord29;
@@ -5264,7 +5264,7 @@
 		for (i7 = 2; i7 <= 30; i7 += 2) {
 			if ((invVal2 & (((0xFF << i7) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i7)))) == invVal2) {
 				rot6 = 32 - i7;
-				immediate6 = ((usqInt) invVal2) >> i7;
+				immediate6 = (((usqInt) invVal2) >> i7) | ((invVal2 << (32 - i7)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord113 = mvnimmror(self_in_dispatchConcretize, reg5, immediate6, rot6);
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord113;
@@ -5817,7 +5817,7 @@
 		for (i15 = 2; i15 <= 30; i15 += 2) {
 			if ((word2 & (((0xFF << i15) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i15)))) == word2) {
 				rot7 = 32 - i15;
-				immediate12 = ((usqInt) word2) >> i15;
+				immediate12 = (((usqInt) word2) >> i15) | ((word2 << (32 - i15)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord60 = movimmror(self_in_dispatchConcretize, ConcreteIPReg, immediate12, rot7);
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord60;
@@ -5847,7 +5847,7 @@
 		for (i8 = 2; i8 <= 30; i8 += 2) {
 			if ((invVal3 & (((0xFF << i8) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i8)))) == invVal3) {
 				rot7 = 32 - i8;
-				immediate12 = ((usqInt) invVal3) >> i8;
+				immediate12 = (((usqInt) invVal3) >> i8) | ((invVal3 << (32 - i8)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord123 = mvnimmror(self_in_dispatchConcretize, ConcreteIPReg, immediate12, rot7);
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord123;
@@ -6666,7 +6666,7 @@
 		for (i1 = 2; i1 <= 30; i1 += 2) {
 			if ((distance & (((0xFF << i1) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i1)))) == distance) {
 				rot = 32 - i1;
-				immediate = ((usqInt) distance) >> i1;
+				immediate = (((usqInt) distance) >> i1) | ((distance << (32 - i1)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord = addrnimmror(self_in_loadCwInto, destReg, PC, immediate, rot);
 				((self_in_loadCwInto->machineCode))[0 / 4] = aWord;
@@ -6690,7 +6690,7 @@
 		for (i = 2; i <= 30; i += 2) {
 			if ((constant & (((0xFF << i) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i)))) == constant) {
 				rot = 32 - i;
-				immediate = ((usqInt) constant) >> i;
+				immediate = (((usqInt) constant) >> i) | ((constant << (32 - i)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord1 = subrnimmror(self_in_loadCwInto, destReg, PC, immediate, rot);
 				((self_in_loadCwInto->machineCode))[0 / 4] = aWord1;
@@ -9618,7 +9618,7 @@
 {
     sqInt classIndex;
     sqInt i;
-    sqInt pc;
+    usqInt pc;
 
 	pc = (((((usqInt)cPIC)) + firstCPICCaseOffset) + cPICCaseSize) - (jumpLongConditionalByteSize(backEnd));
 	for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
@@ -23951,6 +23951,7 @@
 	}
 	else {
 		assert(unforwardRcvr);
+		assert(!((((ssTop())->spilled))));
 		rcvrReg1 = allocateRegForStackEntryAtnotConflictingWith(1, 0);
 		popToReg(ssValue(1), rcvrReg1);
 	}

Modified: branches/Cog/nsspursrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitIA32.c	2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspursrc/vm/cogitIA32.c	2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+	CCodeGenerator VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -22707,6 +22707,7 @@
 	}
 	else {
 		assert(unforwardRcvr);
+		assert(!((((ssTop())->spilled))));
 		rcvrReg1 = allocateRegForStackEntryAtnotConflictingWith(1, 0);
 		popToReg(ssValue(1), rcvrReg1);
 	}

Modified: branches/Cog/nsspursrc/vm/cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.c	2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspursrc/vm/cointerp.c	2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
    from
-	CoInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+	CoInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1188,7 +1188,7 @@
 static sqInt storeImageSegmentIntooutPointersroots(sqInt segmentWordArray, sqInt outPointerArray, sqInt arrayOfRoots) NoDbgRegParms;
 sqInt storePointerUncheckedofObjectwithValue(sqInt fieldIndex, sqInt objOop, sqInt valuePointer);
 sqInt storePointerofObjectwithValue(sqInt fieldIndex, sqInt objOop, sqInt valuePointer);
-usqInt stringForCString(const char *aCString);
+sqInt stringForCString(const char *aCString);
 static sqInt sufficientSpaceAfterGC(sqInt numBytes) NoDbgRegParms;
 static sqInt swizzleObjStackAt(sqInt objStackRootIndex) NoDbgRegParms;
 void tenuringIncrementalGC(void);
@@ -1597,9 +1597,9 @@
 _iss sqInt numStackPages;
 _iss StackPage * mostRecentlyUsedPage;
 _iss SpurNewSpaceSpace pastSpace;
+_iss sqInt lkupClass;
 _iss sqInt longRunningPrimitiveCheckMethod;
 _iss usqInt oldSpaceStart;
-_iss sqInt lkupClass;
 _iss sqLong nextProfileTick;
 _iss sqInt tempOop2;
 _iss sqInt numClassTablePages;
@@ -2378,7 +2378,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.1298";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1306";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -15779,7 +15779,7 @@
     CogMethod *cogMethod;
     sqInt methodField;
     sqInt methodField1;
-    sqInt theIP;
+    usqInt theIP;
 
 	assertl(GIV(stackPage) == (mostRecentlyUsedPage()), ln);
 	assertl(addressIsInPage(GIV(stackPage), lifp), ln);
@@ -16953,8 +16953,8 @@
 		return interpretMethodFromMachineCode();
 	}
 	handleMNUInMachineCodeToclassForMessage(SelectorDoesNotUnderstand, rcvr, (((tagBits1 = rcvr & 3)) != 0
-		? longAt((GIV(classTableFirstPage) + BaseHeaderSize) + (tagBits1 << (shiftForWord())))
-		: fetchClassOfNonImm(rcvr)));
+		? (GIV(lkupClass) = longAt((GIV(classTableFirstPage) + BaseHeaderSize) + (tagBits1 << (shiftForWord()))))
+		: (GIV(lkupClass) = fetchClassOfNonImm(rcvr))));
 	assert(0);
 }
 
@@ -24105,7 +24105,7 @@
     int index;
     sqInt methodField;
     usqInt numArgs;
-    usqInt numTemps;
+    sqInt numTemps;
     char *rcvrAddress;
     sqInt rcvrOrClosure;
     sqInt theMethod;
@@ -33057,7 +33057,7 @@
     sqInt arg;
     sqInt fmt;
     sqInt i;
-    usqInt length;
+    sqInt length;
     usqInt numBytes;
     usqInt numSlots;
     usqInt numSlots1;
@@ -33098,18 +33098,18 @@
 
 			/* bytes (the common case), including CompiledMethod */
 
-			length = ((sqInt) (numBytes - (fmt & 7)));
+			length = numBytes - (fmt & 7);
 			goto l1;
 		}
 		if (fmt <= 9) {
-			length = ((sqInt) numBytes);
+			length = numBytes;
 			goto l1;
 		}
 		if (fmt >= 12) {
-			length = ((sqInt) (numBytes - ((fmt & 3) << 1)));
+			length = numBytes - ((fmt & 3) << 1);
 			goto l1;
 		}
-		length = ((sqInt) (numBytes - ((fmt & 1) << 2)));
+		length = numBytes - ((fmt & 1) << 2);
 	l1:	/* end numBytesOf: */;
 		if (!((((((usqInt) (longAt(rcvr))) >> 24) & 0x1F) == ((((usqInt) (longAt(arg))) >> 24) & 0x1F))
 			 && (length == (numBytesOf(arg))))) {
@@ -33127,9 +33127,9 @@
 		flag("endianness");
 		assert((classIndexOf(rcvr)) > (isForwardedObjectClassIndexPun()));
 		numSlots1 = byteAt(rcvr + 7);
-		length = (numSlots1 == 0xFF
-			? longAt(rcvr - BaseHeaderSize)
-			: numSlots1);
+		length = ((usqInt) ((numSlots1 == 0xFF
+	? longAt(rcvr - BaseHeaderSize)
+	: numSlots1)));
 		if (!((isAppropriateForCopyObject(arg))
 			 && (length == (lengthOfformat(arg, (((usqInt) (longAt(arg))) >> 24) & 0x1F))))) {
 			(GIV(primFailCode) = PrimErrBadArgument);
@@ -43062,7 +43062,7 @@
     sqInt fillValue;
     sqInt hash;
     sqInt instSpec;
-    usqInt newObj;
+    sqInt newObj;
     usqInt newObj1;
     usqInt numBytes;
     usqInt numSlots;
@@ -43163,7 +43163,7 @@
 				GIV(needGCFlag) = 1;
 				forceInterruptCheck();
 			}
-			newObj = allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, instSpec, classIndex);
+			newObj = ((usqInt) (allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, instSpec, classIndex)));
 			goto l1;
 		}
 		if (numSlots >= 0xFF) {
@@ -59208,13 +59208,13 @@
     sqInt obj21;
     sqInt pigBytes;
     usqInt prevFree;
-    usqInt prevFreeChunk;
+    sqInt prevFreeChunk;
     usqInt prevPrevFree;
-    usqInt prevPrevFreeChunk;
+    sqInt prevPrevFreeChunk;
     sqInt slotBytes;
     sqInt slotBytes1;
     usqInt there;
-    usqInt thisFreeChunk;
+    sqInt thisFreeChunk;
     sqInt usedChunk;
 
 	nextNext = 0;
@@ -62910,7 +62910,7 @@
 /*	Answer a new String copied from a null-terminated C string,
 	or nil if out of memory. */
 
-usqInt
+sqInt
 stringForCString(const char *aCString)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt formatField;
@@ -63833,7 +63833,7 @@
     sqInt largeChild;
     sqInt newEndOfMemory;
     sqInt next;
-    sqInt node;
+    usqInt node;
     SpurSegmentInfo *seg;
     sqInt smallChild;
     sqInt treeNode;
@@ -78740,7 +78740,7 @@
     sqInt header1;
     sqInt i;
     sqInt methodHeader;
-    sqInt numSlots;
+    usqInt numSlots;
     usqInt numSlots1;
     sqInt rcvr;
     char *sp;
@@ -78796,9 +78796,9 @@
 			flag("endianness");
 			assert((classIndexOf(rcvr)) > (isForwardedObjectClassIndexPun()));
 			numSlots1 = byteAt(rcvr + 7);
-			numSlots = ((usqInt) ((numSlots1 == 0xFF
-	? longAt(rcvr - BaseHeaderSize)
-	: numSlots1)));
+			numSlots = (numSlots1 == 0xFF
+				? longAt(rcvr - BaseHeaderSize)
+				: numSlots1);
 		}
 	}
 	else {

Modified: branches/Cog/nsspursrc/vm/cointerp.h
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.h	2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspursrc/vm/cointerp.h	2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
  */
 
 
@@ -261,7 +261,7 @@
 sqInt splObj(sqInt index);
 usqInt storeCheckBoundary(void);
 sqInt storePointerUncheckedofObjectwithValue(sqInt fieldIndex, sqInt objOop, sqInt valuePointer);
-usqInt stringForCString(const char *aCString);
+sqInt stringForCString(const char *aCString);
 void tenuringIncrementalGC(void);
 sqInt topRemappableOop(void);
 sqInt validFreeTree(void);

Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2015-05-15 20:18:50 UTC (rev 3345)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
    from
-	CoInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+	CoInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1191,7 +1191,7 @@
 static sqInt storeImageSegmentIntooutPointersroots(sqInt segmentWordArray, sqInt outPointerArray, sqInt arrayOfRoots) NoDbgRegParms;
 sqInt storePointerUncheckedofObjectwithValue(sqInt fieldIndex, sqInt objOop, sqInt valuePointer);
 sqInt storePointerofObjectwithValue(sqInt fieldIndex, sqInt objOop, sqInt valuePointer);
-usqInt stringForCString(const char *aCString);
+sqInt stringForCString(const char *aCString);
 static sqInt sufficientSpaceAfterGC(sqInt numBytes) NoDbgRegParms;
 static sqInt swizzleObjStackAt(sqInt objStackRootIndex) NoDbgRegParms;
 void tenuringIncrementalGC(void);
@@ -1600,9 +1600,9 @@
 _iss sqInt numStackPages;
 _iss StackPage * mostRecentlyUsedPage;
 _iss SpurNewSpaceSpace pastSpace;
+_iss sqInt lkupClass;
 _iss sqInt longRunningPrimitiveCheckMethod;
 _iss usqInt oldSpaceStart;
-_iss sqInt lkupClass;
 _iss sqLong nextProfileTick;
 _iss sqInt tempOop2;
 _iss sqInt numClassTablePages;
@@ -2381,7 +2381,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.1298";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1306";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -15788,7 +15788,7 @@
     CogMethod *cogMethod;
     sqInt methodField;
     sqInt methodField1;
-    sqInt theIP;
+    usqInt theIP;
 
 	assertl(GIV(stackPage) == (mostRecentlyUsedPage()), ln);
 	assertl(addressIsInPage(GIV(stackPage), lifp), ln);
@@ -16962,8 +16962,8 @@
 		return interpretMethodFromMachineCode();
 	}
 	handleMNUInMachineCodeToclassForMessage(SelectorDoesNotUnderstand, rcvr, (((tagBits1 = rcvr & 3)) != 0
-		? longAt((GIV(classTableFirstPage) + BaseHeaderSize) + (tagBits1 << (shiftForWord())))
-		: fetchClassOfNonImm(rcvr)));
+		? (GIV(lkupClass) = longAt((GIV(classTableFirstPage) + BaseHeaderSize) + (tagBits1 << (shiftForWord()))))
+		: (GIV(lkupClass) = fetchClassOfNonImm(rcvr))));
 	assert(0);
 }
 
@@ -24114,7 +24114,7 @@
     int index;
     sqInt methodField;
     usqInt numArgs;
-    usqInt numTemps;
+    sqInt numTemps;
     char *rcvrAddress;
     sqInt rcvrOrClosure;
     sqInt theMethod;
@@ -33066,7 +33066,7 @@
     sqInt arg;
     sqInt fmt;
     sqInt i;
-    usqInt length;
+    sqInt length;
     usqInt numBytes;
     usqInt numSlots;
     usqInt numSlots1;
@@ -33107,18 +33107,18 @@
 
 			/* bytes (the common case), including CompiledMethod */
 
-			length = ((sqInt) (numBytes - (fmt & 7)));
+			length = numBytes - (fmt & 7);
 			goto l1;
 		}
 		if (fmt <= 9) {
-			length = ((sqInt) numBytes);
+			length = numBytes;
 			goto l1;
 		}
 		if (fmt >= 12) {
-			length = ((sqInt) (numBytes - ((fmt & 3) << 1)));
+			length = numBytes - ((fmt & 3) << 1);
 			goto l1;
 		}
-		length = ((sqInt) (numBytes - ((fmt & 1) << 2)));
+		length = numBytes - ((fmt & 1) << 2);
 	l1:	/* end numBytesOf: */;
 		if (!((((((usqInt) (longAt(rcvr))) >> 24) & 0x1F) == ((((usqInt) (longAt(arg))) >> 24) & 0x1F))
 			 && (length == (numBytesOf(arg))))) {
@@ -33136,9 +33136,9 @@
 		flag("endianness");
 		assert((classIndexOf(rcvr)) > (isForwardedObjectClassIndexPun()));
 		numSlots1 = byteAt(rcvr + 7);
-		length = (numSlots1 == 0xFF
-			? longAt(rcvr - BaseHeaderSize)
-			: numSlots1);
+		length = ((usqInt) ((numSlots1 == 0xFF
+	? longAt(rcvr - BaseHeaderSize)
+	: numSlots1)));
 		if (!((isAppropriateForCopyObject(arg))
 			 && (length == (lengthOfformat(arg, (((usqInt) (longAt(arg))) >> 24) & 0x1F))))) {
 			(GIV(primFailCode) = PrimErrBadArgument);
@@ -43071,7 +43071,7 @@
     sqInt fillValue;
     sqInt hash;
     sqInt instSpec;
-    usqInt newObj;
+    sqInt newObj;
     usqInt newObj1;
     usqInt numBytes;
     usqInt numSlots;
@@ -43172,7 +43172,7 @@
 				GIV(needGCFlag) = 1;
 				forceInterruptCheck();
 			}
-			newObj = allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, instSpec, classIndex);
+			newObj = ((usqInt) (allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, instSpec, classIndex)));
 			goto l1;
 		}
 		if (numSlots >= 0xFF) {
@@ -59217,13 +59217,13 @@
     sqInt obj21;
     sqInt pigBytes;
     usqInt prevFree;
-    usqInt prevFreeChunk;
+    sqInt prevFreeChunk;
     usqInt prevPrevFree;
-    usqInt prevPrevFreeChunk;
+    sqInt prevPrevFreeChunk;
     sqInt slotBytes;
     sqInt slotBytes1;
     usqInt there;
-    usqInt thisFreeChunk;
+    sqInt thisFreeChunk;
     sqInt usedChunk;
 
 	nextNext = 0;
@@ -62919,7 +62919,7 @@
 /*	Answer a new String copied from a null-terminated C string,
 	or nil if out of memory. */
 
-usqInt
+sqInt
 stringForCString(const char *aCString)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt formatField;
@@ -63842,7 +63842,7 @@
     sqInt largeChild;
     sqInt newEndOfMemory;
     sqInt next;
-    sqInt node;
+    usqInt node;
     SpurSegmentInfo *seg;
     sqInt smallChild;
     sqInt treeNode;
@@ -78749,7 +78749,7 @@
     sqInt header1;
     sqInt i;
     sqInt methodHeader;
-    sqInt numSlots;
+    usqInt numSlots;
     usqInt numSlots1;
     sqInt rcvr;
     char *sp;
@@ -78805,9 +78805,9 @@
 			flag("endianness");
 			assert((classIndexOf(rcvr)) > (isForwardedObjectClassIndexPun()));
 			numSlots1 = byteAt(rcvr + 7);
-			numSlots = ((usqInt) ((numSlots1 == 0xFF
-	? longAt(rcvr - BaseHeaderSize)
-	: numSlots1)));
+			numSlots = (numSlots1 == 0xFF
+				? longAt(rcvr - BaseHeaderSize)
+				: numSlots1);
 		}
 	}
 	else {

Modified: branches/Cog/nsspurstack64src/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstack64src/vm/gcc3x-interp.c	2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspurstack64src/vm/gcc3x-interp.c	2015-05-15 20:18:50 UTC (rev 3345)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
    from
-	StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+	StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2149,7 +2149,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1298";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1306";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 

Modified: branches/Cog/nsspurstack64src/vm/interp.c
===================================================================
--- branches/Cog/nsspurstack64src/vm/interp.c	2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspurstack64src/vm/interp.c	2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
    from
-	StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+	StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2146,7 +2146,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1298";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1306";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 

Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2015-05-15 20:18:50 UTC (rev 3345)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
    from
-	StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+	StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2120,7 +2120,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1298";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1306";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 

Modified: branches/Cog/nsspurstacksrc/vm/interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/interp.c	2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspurstacksrc/vm/interp.c	2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
    from
-	StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+	StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2117,7 +2117,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1298";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1306";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Thu May 14 19:29:26 PDT 2015
   + Fri May 15 13:17:35 PDT 2015

Modified: branches/Cog/spursistasrc/vm/cogit.h
===================================================================
--- branches/Cog/spursistasrc/vm/cogit.h	2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/spursistasrc/vm/cogit.h	2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+	CCodeGenerator VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
  */
 
 

Modified: branches/Cog/spursistasrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/spursistasrc/vm/cogitARMv5.c	2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/spursistasrc/vm/cogitARMv5.c	2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+	CCodeGenerator VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
    from
-	SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+	SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
  */
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -3453,7 +3453,7 @@
 		for (i9 = 2; i9 <= 30; i9 += 2) {
 			if ((val2 & (((0xFF << i9) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i9)))) == val2) {
 				rot8 = 32 - i9;
-				immediate13 = ((usqInt) val2) >> i9;
+				immediate13 = (((usqInt) val2) >> i9) | ((val2 << (32 - i9)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((BicOpcode << 21) | (1 << 20)))) | ((rn << 16) | (rd << 12))) | ((((((usqInt) rot8) >> 1) << 8) | immediate13) & 0xFFF));
 				self_in_dispatchConcretize;
@@ -4085,7 +4085,7 @@
 		for (i1 = 2; i1 <= 30; i1 += 2) {
 			if ((constant1 & (((0xFF << i1) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i1)))) == constant1) {
 				rot = 32 - i1;
-				immediate = ((usqInt) constant1) >> i1;
+				immediate = (((usqInt) constant1) >> i1) | ((constant1 << (32 - i1)) & 0xFFFFFFFFUL);
 				reg = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
 				/* begin machineCodeAt:put: */
 				aWord4 = addsrnimmror(self_in_dispatchConcretize, reg, reg, immediate, rot);
@@ -4113,7 +4113,7 @@
 		for (i = 2; i <= 30; i += 2) {
 			if ((constant & (((0xFF << i) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i)))) == constant) {
 				rot = 32 - i;
-				immediate = ((usqInt) constant) >> i;
+				immediate = (((usqInt) constant) >> i) | ((constant << (32 - i)) & 0xFFFFFFFFUL);
 				reg = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
 				/* begin machineCodeAt:put: */
 				aWord11 = subsrnimmror(self_in_dispatchConcretize, reg, reg, immediate, rot);
@@ -4220,7 +4220,7 @@
 		for (i11 = 2; i11 <= 30; i11 += 2) {
 			if ((val & (((0xFF << i11) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i11)))) == val) {
 				rot1 = 32 - i11;
-				immediate1 = ((usqInt) val) >> i11;
+				immediate1 = (((usqInt) val) >> i11) | ((val << (32 - i11)) & 0xFFFFFFFFUL);
 				reg1 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
 				/* begin machineCodeAt:put: */
 				aWord5 = andsrnimmror(self_in_dispatchConcretize, reg1, reg1, immediate1, rot1);
@@ -4257,7 +4257,7 @@
 		for (i2 = 2; i2 <= 30; i2 += 2) {
 			if ((invVal & (((0xFF << i2) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i2)))) == invVal) {
 				rot1 = 32 - i2;
-				immediate1 = ((usqInt) invVal) >> i2;
+				immediate1 = (((usqInt) invVal) >> i2) | ((invVal << (32 - i2)) & 0xFFFFFFFFUL);
 				reg1 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
 				/* begin machineCodeAt:put: */
 				aWord12 = bicsrnimmror(self_in_dispatchConcretize, reg1, reg1, immediate1, rot1);
@@ -4343,7 +4343,7 @@
 		for (i12 = 2; i12 <= 30; i12 += 2) {
 			if ((val1 & (((0xFF << i12) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i12)))) == val1) {
 				rot2 = 32 - i12;
-				immediate2 = ((usqInt) val1) >> i12;
+				immediate2 = (((usqInt) val1) >> i12) | ((val1 << (32 - i12)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord6 = andsrnimmror(self_in_dispatchConcretize, dstReg, srcReg, immediate2, rot2);
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord6;
@@ -4375,7 +4375,7 @@
 		for (i3 = 2; i3 <= 30; i3 += 2) {
 			if ((invVal1 & (((0xFF << i3) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i3)))) == invVal1) {
 				rot2 = 32 - i3;
-				immediate2 = ((usqInt) invVal1) >> i3;
+				immediate2 = (((usqInt) invVal1) >> i3) | ((invVal1 << (32 - i3)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord13 = bicsrnimmror(self_in_dispatchConcretize, dstReg, srcReg, immediate2, rot2);
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord13;
@@ -4503,7 +4503,7 @@
 		for (i10 = 2; i10 <= 30; i10 += 2) {
 			if ((val3 & (((0xFF << i10) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i10)))) == val3) {
 				rot9 = 32 - i10;
-				immediate14 = ((usqInt) val3) >> i10;
+				immediate14 = (((usqInt) val3) >> i10) | ((val3 << (32 - i10)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((CmpOpcode << 21) | (1 << 20)))) | ((rn8 << 16) | (rd8 << 12))) | ((((((usqInt) rot9) >> 1) << 8) | immediate14) & 0xFFF));
 				self_in_dispatchConcretize;
@@ -4640,7 +4640,7 @@
 		for (i16 = 2; i16 <= 30; i16 += 2) {
 			if ((val4 & (((0xFF << i16) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i16)))) == val4) {
 				rot10 = 32 - i16;
-				immediate15 = ((usqInt) val4) >> i16;
+				immediate15 = (((usqInt) val4) >> i16) | ((val4 << (32 - i16)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((OrOpcode << 21) | (1 << 20)))) | ((rn11 << 16) | (rd11 << 12))) | ((((((usqInt) rot10) >> 1) << 8) | immediate15) & 0xFFF));
 				self_in_dispatchConcretize;
@@ -4760,7 +4760,7 @@
 		for (i13 = 2; i13 <= 30; i13 += 2) {
 			if ((word & (((0xFF << i13) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i13)))) == word) {
 				rot3 = 32 - i13;
-				immediate3 = ((usqInt) word) >> i13;
+				immediate3 = (((usqInt) word) >> i13) | ((word << (32 - i13)) & 0xFFFFFFFFUL);
 				reg2 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
 				/* begin machineCodeAt:put: */
 				aWord7 = subsrnimmror(self_in_dispatchConcretize, reg2, reg2, immediate3, rot3);
@@ -4791,7 +4791,7 @@
 		for (i4 = 2; i4 <= 30; i4 += 2) {
 			if (((-word) & (((0xFF << i4) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i4)))) == (-word)) {
 				rot3 = 32 - i4;
-				immediate3 = ((usqInt) (-word)) >> i4;
+				immediate3 = (((usqInt) (-word)) >> i4) | (((-word) << (32 - i4)) & 0xFFFFFFFFUL);
 				reg2 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
 				/* begin machineCodeAt:put: */
 				aWord14 = addsrnimmror(self_in_dispatchConcretize, reg2, reg2, immediate3, rot3);
@@ -4902,7 +4902,7 @@
 		for (i5 = 2; i5 <= 30; i5 += 2) {
 			if ((constant2 & (((0xFF << i5) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i5)))) == constant2) {
 				rot4 = 32 - i5;
-				immediate4 = ((usqInt) constant2) >> i5;
+				immediate4 = (((usqInt) constant2) >> i5) | ((constant2 << (32 - i5)) & 0xFFFFFFFFUL);
 				reg3 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
 				/* begin machineCodeAt:put: */
 				aWord8 = tstrnimmror(self_in_dispatchConcretize, reg3, reg3, immediate4, rot4);
@@ -4968,7 +4968,7 @@
 		for (i17 = 2; i17 <= 30; i17 += 2) {
 			if ((val5 & (((0xFF << i17) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i17)))) == val5) {
 				rot11 = 32 - i17;
-				immediate16 = ((usqInt) val5) >> i17;
+				immediate16 = (((usqInt) val5) >> i17) | ((val5 << (32 - i17)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((XorOpcode << 21) | (1 << 20)))) | ((rn18 << 16) | (rd18 << 12))) | ((((((usqInt) rot11) >> 1) << 8) | immediate16) & 0xFFF));
 				self_in_dispatchConcretize;
@@ -5100,7 +5100,7 @@
 		for (i6 = 2; i6 <= 30; i6 += 2) {
 			if ((offset25 & (((0xFF << i6) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i6)))) == offset25) {
 				rot5 = 32 - i6;
-				immediate5 = ((usqInt) offset25) >> i6;
+				immediate5 = (((usqInt) offset25) >> i6) | ((offset25 << (32 - i6)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord27 = addrnimmror(self_in_dispatchConcretize, destReg2, srcReg3, immediate5, rot5 << 1);
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord27;
@@ -5234,7 +5234,7 @@
 		for (i14 = 2; i14 <= 30; i14 += 2) {
 			if ((word1 & (((0xFF << i14) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i14)))) == word1) {
 				rot6 = 32 - i14;
-				immediate6 = ((usqInt) word1) >> i14;
+				immediate6 = (((usqInt) word1) >> i14) | ((word1 << (32 - i14)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord29 = movimmror(self_in_dispatchConcretize, reg5, immediate6, rot6);
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord29;
@@ -5265,7 +5265,7 @@
 		for (i7 = 2; i7 <= 30; i7 += 2) {
 			if ((invVal2 & (((0xFF << i7) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i7)))) == invVal2) {
 				rot6 = 32 - i7;
-				immediate6 = ((usqInt) invVal2) >> i7;
+				immediate6 = (((usqInt) invVal2) >> i7) | ((invVal2 << (32 - i7)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord113 = mvnimmror(self_in_dispatchConcretize, reg5, immediate6, rot6);
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord113;
@@ -5818,7 +5818,7 @@
 		for (i15 = 2; i15 <= 30; i15 += 2) {
 			if ((word2 & (((0xFF << i15) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i15)))) == word2) {
 				rot7 = 32 - i15;
-				immediate12 = ((usqInt) word2) >> i15;
+				immediate12 = (((usqInt) word2) >> i15) | ((word2 << (32 - i15)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord60 = movimmror(self_in_dispatchConcretize, ConcreteIPReg, immediate12, rot7);
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord60;
@@ -5848,7 +5848,7 @@
 		for (i8 = 2; i8 <= 30; i8 += 2) {
 			if ((invVal3 & (((0xFF << i8) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i8)))) == invVal3) {
 				rot7 = 32 - i8;
-				immediate12 = ((usqInt) invVal3) >> i8;
+				immediate12 = (((usqInt) invVal3) >> i8) | ((invVal3 << (32 - i8)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord123 = mvnimmror(self_in_dispatchConcretize, ConcreteIPReg, immediate12, rot7);
 				((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord123;
@@ -6667,7 +6667,7 @@
 		for (i1 = 2; i1 <= 30; i1 += 2) {
 			if ((distance & (((0xFF << i1) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i1)))) == distance) {
 				rot = 32 - i1;
-				immediate = ((usqInt) distance) >> i1;
+				immediate = (((usqInt) distance) >> i1) | ((distance << (32 - i1)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord = addrnimmror(self_in_loadCwInto, destReg, PC, immediate, rot);
 				((self_in_loadCwInto->machineCode))[0 / 4] = aWord;
@@ -6691,7 +6691,7 @@
 		for (i = 2; i <= 30; i += 2) {
 			if ((constant & (((0xFF << i) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i)))) == constant) {
 				rot = 32 - i;
-				immediate = ((usqInt) constant) >> i;
+				immediate = (((usqInt) constant) >> i) | ((constant << (32 - i)) & 0xFFFFFFFFUL);
 				/* begin machineCodeAt:put: */
 				aWord1 = subrnimmror(self_in_loadCwInto, destReg, PC, immediate, rot);
 				((self_in_loadCwInto->machineCode))[0 / 4] = aWord1;
@@ -20296,6 +20296,7 @@
 	}
 	else {
 		assert(unforwardRcvr);
+		assert(!((((ssTop())->spilled))));
 		rcvrReg1 = allocateRegForStackEntryAtnotConflictingWith(1, 0);
 		popToReg(ssValue(1), rcvrReg1);
 	}
@@ -20516,6 +20517,7 @@
 	}
 	else {
 		assert(unforwardRcvr);
+		assert(!((((ssTop())->spilled))));
 		rcvrReg1 = allocateRegForStackEntryAtnotConflictingWith(1, 0);
 		popToReg(ssValue(1), rcvrReg1);
 	}

Modified: branches/Cog/spursistasrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/spursistasrc/vm/cogitIA32.c	2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/spursistasrc/vm/cogitIA32.c	2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+	CCodeGenerator VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
    from
-	SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+	SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
  */
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -19041,6 +19041,7 @@
 	}
 	else {
 		assert(unforwardRcvr);
+		assert(!((((ssTop())->spilled))));
 		rcvrReg1 = allocateRegForStackEntryAtnotConflictingWith(1, 0);
 		popToReg(ssValue(1), rcvrReg1);
 	}
@@ -19261,6 +19262,7 @@
 	}
 	else {
 		assert(unforwardRcvr);
+		assert(!((((ssTop())->spilled))));
 		rcvrReg1 = allocateRegForStackEntryAtnotConflictingWith(1, 0);
 		popToReg(ssValue(1), rcvrReg1);
 	}

Modified: branches/Cog/spursistasrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursistasrc/vm/cointerp.c	2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/spursistasrc/vm/cointerp.c	2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
    from
-	CoInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+	CoInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1186,7 +1186,7 @@
 static sqInt storeImageSegmentIntooutPointersroots(sqInt segmentWordArray, sqInt outPointerArray, sqInt arrayOfRoots) NoDbgRegParms;
 sqInt storePointerUncheckedofObjectwithValue(sqInt fieldIndex, sqInt objOop, sqInt valuePointer);
 sqInt storePointerofObjectwithValue(sqInt fieldIndex, sqInt objOop, sqInt valuePointer);
-sqInt stringForCString(const char *aCString);
+usqInt stringForCString(const char *aCString);
 static sqInt sufficientSpaceAfterGC(sqInt numBytes) NoDbgRegParms;
 static sqInt swizzleObjStackAt(sqInt objStackRootIndex) NoDbgRegParms;
 void tenuringIncrementalGC(void);
@@ -1617,6 +1617,7 @@
 _iss sqInt previousRememberedSetSize;
 _iss sqInt classNameIndex;
 _iss sqInt ephemeronQueue;
+_iss sqInt lkupClass;
 _iss sqInt tenureCriterion;
 _iss sqInt lastMethodCacheProbeWrite;
 _iss sqInt metaclassNumSlots;
@@ -1625,7 +1626,6 @@
 _iss sqInt gcMode;
 _iss sqInt lastCoggableInterpretedBlockMethod;
 _iss sqInt lastUncoggableInterpretedBlockMethod;
-_iss sqInt lkupClass;
 _iss usqLong nextWakeupUsecs;
 _iss sqInt numSegInfos;
 _iss sqInt cogCodeSize;
@@ -2375,7 +2375,7 @@
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.1298]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.1306]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -14920,7 +14920,7 @@
     CogMethod *cogMethod;
     sqInt methodField;
     sqInt methodField1;
-    usqInt theIP;
+    sqInt theIP;
 
 	assertl(GIV(stackPage) == (mostRecentlyUsedPage()), ln);
 	assertl(addressIsInPage(GIV(stackPage), lifp), ln);
@@ -15922,8 +15922,8 @@
 		return interpretMethodFromMachineCode();
 	}
 	handleMNUInMachineCodeToclassForMessage(SelectorDoesNotUnderstand, rcvr, (((tagBits1 = rcvr & 3)) != 0
-		? longAt((GIV(classTableFirstPage) + BaseHeaderSize) + (tagBits1 << (shiftForWord())))
-		: fetchClassOfNonImm(rcvr)));
+		? (GIV(lkupClass) = longAt((GIV(classTableFirstPage) + BaseHeaderSize) + (tagBits1 << (shiftForWord()))))
+		: (GIV(lkupClass) = fetchClassOfNonImm(rcvr))));
 	assert(0);
 }
 
@@ -22761,7 +22761,7 @@
     int index;
     sqInt methodField;
     usqInt numArgs;
-    usqInt numTemps;
+    sqInt numTemps;
     char *rcvrAddress;
     sqInt rcvrOrClosure;
     sqInt theMethod;
@@ -30456,7 +30456,7 @@
 				GIV(needGCFlag) = 1;
 				forceInterruptCheck();
 			}
-			s = allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, formatField, ClassByteStringCompactIndex);

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list