[Vm-dev] [commit][3205] CogVM source as per VMMaker.oscog-eem.1008

commits at squeakvm.org commits at squeakvm.org
Thu Jan 1 22:08:52 UTC 2015


Revision: 3205
Author:   eliot
Date:     2015-01-01 14:08:51 -0800 (Thu, 01 Jan 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1008

Third time luckyC in fixing the findUnwindThroughContext: regression?

And remove a gcc compiler warning for printHexnp:

Modified Paths:
--------------
    branches/Cog/nscogsrc/vm/cointerp.c
    branches/Cog/nscogsrc/vm/cointerp.h
    branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
    branches/Cog/nsspursrc/vm/cointerp.c
    branches/Cog/nsspursrc/vm/cointerp.h
    branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
    branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
    branches/Cog/nsspurstacksrc/vm/interp.c
    branches/Cog/sistasrc/vm/cointerp.c
    branches/Cog/sistasrc/vm/cointerp.h
    branches/Cog/sistasrc/vm/gcc3x-cointerp.c
    branches/Cog/spursistasrc/vm/cointerp.c
    branches/Cog/spursistasrc/vm/cointerp.h
    branches/Cog/spursistasrc/vm/gcc3x-cointerp.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/cointerp.c
    branches/Cog/src/vm/cointerp.h
    branches/Cog/src/vm/cointerpmt.c
    branches/Cog/src/vm/cointerpmt.h
    branches/Cog/src/vm/gcc3x-cointerp.c
    branches/Cog/src/vm/gcc3x-cointerpmt.c
    branches/Cog/stacksrc/vm/gcc3x-interp.c
    branches/Cog/stacksrc/vm/interp.c

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

Modified: branches/Cog/nscogsrc/vm/cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.c	2015-01-01 21:42:13 UTC (rev 3204)
+++ branches/Cog/nscogsrc/vm/cointerp.c	2015-01-01 22:08:51 UTC (rev 3205)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a
    from
-	CoInterpreter VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e
+	CoInterpreter VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2101,7 +2101,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1006";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1008";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -18908,7 +18908,7 @@
 			putchar('	');
 			if (p > 1024) {
 				/* begin printHexnp: */
-				printf("0x%lx", p);
+				printf("0x%lx", ((unsigned long) p));
 			}
 			else {
 				printNum(p);
@@ -46183,6 +46183,7 @@
 		if ((primitiveIndexOfMethodheader(theMethod, methodHeaderOf(theMethod))) == 198) {
 			return homeContext;
 		}
+		return 0;
 	}
 	if (!(onSamePage
 		 || (ctxtOrNilOrZero == GIV(nilObj)))) {
@@ -47313,13 +47314,13 @@
 		print(" (");
 		
 		/* begin printHexnp: */
-		printf("0x%lx", class);
+		printf("0x%lx", ((unsigned long) class));
 		print(")");
 	}
 	fmt = (((usqInt) (longAt(oop))) >> (instFormatFieldLSB())) & 15;
 	print(" format ");
 	/* begin printHexnp: */
-	printf("0x%lx", fmt);
+	printf("0x%lx", ((unsigned long) fmt));
 	if (fmt > 4) {
 		print(" nbytes ");
 		printNum(numBytesOf(oop));
@@ -47371,7 +47372,7 @@
 	}
 	print(" hash ");
 	/* begin printHexnp: */
-	printf("0x%lx", (((usqInt) (longAt(oop))) >> HashBitsOffset) & HashMaskUnshifted);
+	printf("0x%lx", ((unsigned long) ((((usqInt) (longAt(oop))) >> HashBitsOffset) & HashMaskUnshifted)));
 	/* begin cr */
 	printf("\n");
 	if (((fmt >= 8) && (fmt <= (12 - 1)))) {
@@ -49726,7 +49727,7 @@
 			print("page ");
 			/* begin printHexPtrnp: */
 			/* begin printHexnp: */
-			printf("0x%lx", oopForPointer(page));
+			printf("0x%lx", ((unsigned long) (oopForPointer(page))));
 			/* begin cr */
 			printf("\n");
 			printFramesInPage(page);
@@ -49958,7 +49959,7 @@
 				offset = (literalCountOfMethodHeader(methodHeaderOf(oop))) - 1;
 				methodClassAssociation = longAt((oop + BaseHeaderSize) + ((offset + LiteralStart) << (shiftForWord())));
 				/* begin printHexnp: */
-				printf("0x%lx", oop);
+				printf("0x%lx", ((unsigned long) oop));
 				/* begin space */
 				/* begin printChar: */
 				putchar(' ');
@@ -49975,7 +49976,7 @@
 						/* begin printChar: */
 						putchar('(');
 						/* begin printHexnp: */
-						printf("0x%lx", (oop2 >> 1));
+						printf("0x%lx", ((unsigned long) ((oop2 >> 1))));
 						/* begin printChar: */
 						putchar(')');
 
@@ -49984,7 +49985,7 @@
 					
 					print("unknown immediate ");
 					/* begin printHexnp: */
-					printf("0x%lx", oop2);
+					printf("0x%lx", ((unsigned long) oop2));
 
 					goto l8;
 				}
@@ -50111,7 +50112,7 @@
 					printOopShort(longAt((oop2 + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 					print(" -> ");
 					/* begin printHexnp: */
-					printf("0x%lx", longAt((oop2 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+					printf("0x%lx", ((unsigned long) (longAt((oop2 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 				l5:	;
 				}
 			l8:	/* end printOopShortInner: */;
@@ -50278,7 +50279,7 @@
 			/* begin printChar: */
 			putchar('(');
 			/* begin printHexnp: */
-			printf("0x%lx", (oop >> 1));
+			printf("0x%lx", ((unsigned long) ((oop >> 1))));
 			/* begin printChar: */
 			putchar(')');
 
@@ -50287,7 +50288,7 @@
 		
 		print("unknown immediate ");
 		/* begin printHexnp: */
-		printf("0x%lx", oop);
+		printf("0x%lx", ((unsigned long) oop));
 
 		goto l4;
 	}
@@ -50414,7 +50415,7 @@
 		printOopShort(longAt((oop + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 		print(" -> ");
 		/* begin printHexnp: */
-		printf("0x%lx", longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+		printf("0x%lx", ((unsigned long) (longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 	l1:	;
 	}
 l4:	/* end printOopShortInner: */;
@@ -50855,10 +50856,10 @@
 					if (oop == (longAt(theSP))) {
 						print("FP: ");
 						/* begin printHexnp: */
-						printf("0x%lx", theFP);
+						printf("0x%lx", ((unsigned long) theFP));
 						print(" @ ");
 						/* begin printHexnp: */
-						printf("0x%lx", theSP);
+						printf("0x%lx", ((unsigned long) theSP));
 						/* begin cr */
 						printf("\n");
 					}
@@ -50870,7 +50871,7 @@
 					if (oop == (longAt(theFP + FoxThisContext))) {
 						print("FP: ");
 						/* begin printHexnp: */
-						printf("0x%lx", theFP);
+						printf("0x%lx", ((unsigned long) theFP));
 						print(" CTXT");
 						/* begin cr */
 						printf("\n");
@@ -50879,7 +50880,7 @@
 				if (oop == (longAt(theFP + FoxMethod))) {
 					print("FP: ");
 					/* begin printHexnp: */
-					printf("0x%lx", theFP);
+					printf("0x%lx", ((unsigned long) theFP));
 					print(" MTHD");
 					/* begin cr */
 					printf("\n");
@@ -50896,10 +50897,10 @@
 				if (oop == (longAt(theSP))) {
 					print("FP: ");
 					/* begin printHexnp: */
-					printf("0x%lx", theFP);
+					printf("0x%lx", ((unsigned long) theFP));
 					print(" @ ");
 					/* begin printHexnp: */
-					printf("0x%lx", theSP);
+					printf("0x%lx", ((unsigned long) theSP));
 					/* begin cr */
 					printf("\n");
 				}
@@ -51785,7 +51786,7 @@
 			print("page ");
 			/* begin printHexPtrnp: */
 			/* begin printHexnp: */
-			printf("0x%lx", oopForPointer(page));
+			printf("0x%lx", ((unsigned long) (oopForPointer(page))));
 			/* begin cr */
 			printf("\n");
 			shortPrintFramesInPage(page);
@@ -51812,7 +51813,7 @@
     sqInt ccIndex;
 
 	/* begin printHexnp: */
-	printf("0x%lx", oop);
+	printf("0x%lx", ((unsigned long) oop));
 	if ((oop & 1)) {
 		if ((oop & 1)) {
 			printf("=%ld\n", (long)integerValueOf(oop));

Modified: branches/Cog/nscogsrc/vm/cointerp.h
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.h	2015-01-01 21:42:13 UTC (rev 3204)
+++ branches/Cog/nscogsrc/vm/cointerp.h	2015-01-01 22:08:51 UTC (rev 3205)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a
  */
 
 

Modified: branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/gcc3x-cointerp.c	2015-01-01 21:42:13 UTC (rev 3204)
+++ branches/Cog/nscogsrc/vm/gcc3x-cointerp.c	2015-01-01 22:08:51 UTC (rev 3205)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a
    from
-	CoInterpreter VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e
+	CoInterpreter VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2104,7 +2104,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1006";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1008";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -18917,7 +18917,7 @@
 			putchar('	');
 			if (p > 1024) {
 				/* begin printHexnp: */
-				printf("0x%lx", p);
+				printf("0x%lx", ((unsigned long) p));
 			}
 			else {
 				printNum(p);
@@ -46192,6 +46192,7 @@
 		if ((primitiveIndexOfMethodheader(theMethod, methodHeaderOf(theMethod))) == 198) {
 			return homeContext;
 		}
+		return 0;
 	}
 	if (!(onSamePage
 		 || (ctxtOrNilOrZero == GIV(nilObj)))) {
@@ -47322,13 +47323,13 @@
 		print(" (");
 		
 		/* begin printHexnp: */
-		printf("0x%lx", class);
+		printf("0x%lx", ((unsigned long) class));
 		print(")");
 	}
 	fmt = (((usqInt) (longAt(oop))) >> (instFormatFieldLSB())) & 15;
 	print(" format ");
 	/* begin printHexnp: */
-	printf("0x%lx", fmt);
+	printf("0x%lx", ((unsigned long) fmt));
 	if (fmt > 4) {
 		print(" nbytes ");
 		printNum(numBytesOf(oop));
@@ -47380,7 +47381,7 @@
 	}
 	print(" hash ");
 	/* begin printHexnp: */
-	printf("0x%lx", (((usqInt) (longAt(oop))) >> HashBitsOffset) & HashMaskUnshifted);
+	printf("0x%lx", ((unsigned long) ((((usqInt) (longAt(oop))) >> HashBitsOffset) & HashMaskUnshifted)));
 	/* begin cr */
 	printf("\n");
 	if (((fmt >= 8) && (fmt <= (12 - 1)))) {
@@ -49735,7 +49736,7 @@
 			print("page ");
 			/* begin printHexPtrnp: */
 			/* begin printHexnp: */
-			printf("0x%lx", oopForPointer(page));
+			printf("0x%lx", ((unsigned long) (oopForPointer(page))));
 			/* begin cr */
 			printf("\n");
 			printFramesInPage(page);
@@ -49967,7 +49968,7 @@
 				offset = (literalCountOfMethodHeader(methodHeaderOf(oop))) - 1;
 				methodClassAssociation = longAt((oop + BaseHeaderSize) + ((offset + LiteralStart) << (shiftForWord())));
 				/* begin printHexnp: */
-				printf("0x%lx", oop);
+				printf("0x%lx", ((unsigned long) oop));
 				/* begin space */
 				/* begin printChar: */
 				putchar(' ');
@@ -49984,7 +49985,7 @@
 						/* begin printChar: */
 						putchar('(');
 						/* begin printHexnp: */
-						printf("0x%lx", (oop2 >> 1));
+						printf("0x%lx", ((unsigned long) ((oop2 >> 1))));
 						/* begin printChar: */
 						putchar(')');
 
@@ -49993,7 +49994,7 @@
 					
 					print("unknown immediate ");
 					/* begin printHexnp: */
-					printf("0x%lx", oop2);
+					printf("0x%lx", ((unsigned long) oop2));
 
 					goto l8;
 				}
@@ -50120,7 +50121,7 @@
 					printOopShort(longAt((oop2 + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 					print(" -> ");
 					/* begin printHexnp: */
-					printf("0x%lx", longAt((oop2 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+					printf("0x%lx", ((unsigned long) (longAt((oop2 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 				l5:	;
 				}
 			l8:	/* end printOopShortInner: */;
@@ -50287,7 +50288,7 @@
 			/* begin printChar: */
 			putchar('(');
 			/* begin printHexnp: */
-			printf("0x%lx", (oop >> 1));
+			printf("0x%lx", ((unsigned long) ((oop >> 1))));
 			/* begin printChar: */
 			putchar(')');
 
@@ -50296,7 +50297,7 @@
 		
 		print("unknown immediate ");
 		/* begin printHexnp: */
-		printf("0x%lx", oop);
+		printf("0x%lx", ((unsigned long) oop));
 
 		goto l4;
 	}
@@ -50423,7 +50424,7 @@
 		printOopShort(longAt((oop + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 		print(" -> ");
 		/* begin printHexnp: */
-		printf("0x%lx", longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+		printf("0x%lx", ((unsigned long) (longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 	l1:	;
 	}
 l4:	/* end printOopShortInner: */;
@@ -50864,10 +50865,10 @@
 					if (oop == (longAt(theSP))) {
 						print("FP: ");
 						/* begin printHexnp: */
-						printf("0x%lx", theFP);
+						printf("0x%lx", ((unsigned long) theFP));
 						print(" @ ");
 						/* begin printHexnp: */
-						printf("0x%lx", theSP);
+						printf("0x%lx", ((unsigned long) theSP));
 						/* begin cr */
 						printf("\n");
 					}
@@ -50879,7 +50880,7 @@
 					if (oop == (longAt(theFP + FoxThisContext))) {
 						print("FP: ");
 						/* begin printHexnp: */
-						printf("0x%lx", theFP);
+						printf("0x%lx", ((unsigned long) theFP));
 						print(" CTXT");
 						/* begin cr */
 						printf("\n");
@@ -50888,7 +50889,7 @@
 				if (oop == (longAt(theFP + FoxMethod))) {
 					print("FP: ");
 					/* begin printHexnp: */
-					printf("0x%lx", theFP);
+					printf("0x%lx", ((unsigned long) theFP));
 					print(" MTHD");
 					/* begin cr */
 					printf("\n");
@@ -50905,10 +50906,10 @@
 				if (oop == (longAt(theSP))) {
 					print("FP: ");
 					/* begin printHexnp: */
-					printf("0x%lx", theFP);
+					printf("0x%lx", ((unsigned long) theFP));
 					print(" @ ");
 					/* begin printHexnp: */
-					printf("0x%lx", theSP);
+					printf("0x%lx", ((unsigned long) theSP));
 					/* begin cr */
 					printf("\n");
 				}
@@ -51794,7 +51795,7 @@
 			print("page ");
 			/* begin printHexPtrnp: */
 			/* begin printHexnp: */
-			printf("0x%lx", oopForPointer(page));
+			printf("0x%lx", ((unsigned long) (oopForPointer(page))));
 			/* begin cr */
 			printf("\n");
 			shortPrintFramesInPage(page);
@@ -51821,7 +51822,7 @@
     sqInt ccIndex;
 
 	/* begin printHexnp: */
-	printf("0x%lx", oop);
+	printf("0x%lx", ((unsigned long) oop));
 	if ((oop & 1)) {
 		if ((oop & 1)) {
 			printf("=%ld\n", (long)integerValueOf(oop));

Modified: branches/Cog/nsspursrc/vm/cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.c	2015-01-01 21:42:13 UTC (rev 3204)
+++ branches/Cog/nsspursrc/vm/cointerp.c	2015-01-01 22:08:51 UTC (rev 3205)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a
    from
-	CoInterpreter VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e
+	CoInterpreter VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2353,7 +2353,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1006";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1008";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -23265,7 +23265,7 @@
 			putchar('	');
 			if (p > 1024) {
 				/* begin printHexnp: */
-				printf("0x%lx", p);
+				printf("0x%lx", ((unsigned long) p));
 			}
 			else {
 				printNum(p);
@@ -59168,27 +59168,27 @@
 	print("freeChunk ");
 	/* begin printHexPtrnp: */
 	/* begin printHexnp: */
-	printf("0x%lx", oopForPointer(freeChunk));
+	printf("0x%lx", ((unsigned long) (oopForPointer(freeChunk))));
 	print(" bytes ");
 	printNum(numBytes);
 	print(" next ");
 	/* begin printHexPtrnp: */
 	/* begin printHexnp: */
-	printf("0x%lx", oopForPointer(longAt((freeChunk + BaseHeaderSize) + (0 << (shiftForWord())))));
+	printf("0x%lx", ((unsigned long) (oopForPointer(longAt((freeChunk + BaseHeaderSize) + (0 << (shiftForWord())))))));
 	if ((numBytes >= (32 * 8))
 	 && (!isNextChunk)) {
 		print(" ^ ");
 		/* begin printHexPtrnp: */
 		/* begin printHexnp: */
-		printf("0x%lx", oopForPointer(longAt((freeChunk + BaseHeaderSize) + (2 << (shiftForWord())))));
+		printf("0x%lx", ((unsigned long) (oopForPointer(longAt((freeChunk + BaseHeaderSize) + (2 << (shiftForWord())))))));
 		print(" < ");
 		/* begin printHexPtrnp: */
 		/* begin printHexnp: */
-		printf("0x%lx", oopForPointer(longAt((freeChunk + BaseHeaderSize) + (3 << (shiftForWord())))));
+		printf("0x%lx", ((unsigned long) (oopForPointer(longAt((freeChunk + BaseHeaderSize) + (3 << (shiftForWord())))))));
 		print(" > ");
 		/* begin printHexPtrnp: */
 		/* begin printHexnp: */
-		printf("0x%lx", oopForPointer(longAt((freeChunk + BaseHeaderSize) + (4 << (shiftForWord())))));
+		printf("0x%lx", ((unsigned long) (oopForPointer(longAt((freeChunk + BaseHeaderSize) + (4 << (shiftForWord())))))));
 	}
 	/* begin cr */
 	printf("\n");
@@ -59219,10 +59219,10 @@
 	printf("\n");
 	print("mask: ");
 	/* begin printHexnp: */
-	printf("0x%lx", GIV(freeListsMask));
+	printf("0x%lx", ((unsigned long) GIV(freeListsMask)));
 	print(" expected: ");
 	/* begin printHexnp: */
-	printf("0x%lx", expectedMask);
+	printf("0x%lx", ((unsigned long) expectedMask));
 	/* begin cr */
 	printf("\n");
 }
@@ -65586,6 +65586,7 @@
 		if ((primitiveIndexOfMethodheader(theMethod, methodHeaderOf(theMethod))) == 198) {
 			return homeContext;
 		}
+		return 0;
 	}
 	if (!(onSamePage
 		 || (ctxtOrNilOrZero == GIV(nilObj)))) {
@@ -66949,17 +66950,17 @@
 		printNameOfClasscount(class, 5);
 		print(" (");
 		/* begin printHexnp: */
-		printf("0x%lx", (longAt(oop)) & 0x3FFFFF);
+		printf("0x%lx", ((unsigned long) ((longAt(oop)) & 0x3FFFFF)));
 		print("=>");
 
 		/* begin printHexnp: */
-		printf("0x%lx", class);
+		printf("0x%lx", ((unsigned long) class));
 		print(")");
 	}
 	fmt = (((usqInt) (longAt(oop))) >> 24) & 0x1F;
 	print(" format ");
 	/* begin printHexnp: */
-	printf("0x%lx", fmt);
+	printf("0x%lx", ((unsigned long) fmt));
 	if (fmt > 5) {
 		print(" nbytes ");
 		printNum(numBytesOf(oop));
@@ -67026,7 +67027,7 @@
 	putchar(aByte4);
 	print(" hash ");
 	/* begin printHexnp: */
-	printf("0x%lx", (long32At(oop + 4)) & 0x3FFFFF);
+	printf("0x%lx", ((unsigned long) ((long32At(oop + 4)) & 0x3FFFFF)));
 	/* begin cr */
 	printf("\n");
 	if (((fmt >= 16) && (fmt <= (24 - 1)))) {
@@ -69568,7 +69569,7 @@
 			print("page ");
 			/* begin printHexPtrnp: */
 			/* begin printHexnp: */
-			printf("0x%lx", oopForPointer(page));
+			printf("0x%lx", ((unsigned long) (oopForPointer(page))));
 			/* begin cr */
 			printf("\n");
 			printFramesInPage(page);
@@ -69857,7 +69858,7 @@
 			offset = (literalCountOf(objOop1)) - 1;
 			methodClassAssociation = longAt((objOop1 + BaseHeaderSize) + ((offset + LiteralStart) << (shiftForWord())));
 			/* begin printHexnp: */
-			printf("0x%lx", objOop1);
+			printf("0x%lx", ((unsigned long) objOop1));
 			/* begin space */
 			/* begin printChar: */
 			putchar(' ');
@@ -69876,7 +69877,7 @@
 					/* begin printChar: */
 					putchar('(');
 					/* begin printHexnp: */
-					printf("0x%lx", (oop >> 1));
+					printf("0x%lx", ((unsigned long) ((oop >> 1))));
 					/* begin printChar: */
 					putchar(')');
 
@@ -69887,7 +69888,7 @@
 					/* begin printChar: */
 					putchar('(');
 					/* begin printHexnp: */
-					printf("0x%lx", (oop >> 1));
+					printf("0x%lx", ((unsigned long) ((oop >> 1))));
 					/* begin printChar: */
 					putchar(')');
 
@@ -69896,7 +69897,7 @@
 				
 				print("unknown immediate ");
 				/* begin printHexnp: */
-				printf("0x%lx", oop);
+				printf("0x%lx", ((unsigned long) oop));
 
 				goto l27;
 			}
@@ -69921,7 +69922,7 @@
 					referent = longAt((referent + BaseHeaderSize) + (0 << (shiftForWord())));
 				}
 				n = referent;
-				printf("0x%lx", n);
+				printf("0x%lx", ((unsigned long) n));
 
 				goto l27;
 			}
@@ -70083,7 +70084,7 @@
 				printOopShort(longAt((oop + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 				print(" -> ");
 				/* begin printHexnp: */
-				printf("0x%lx", longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+				printf("0x%lx", ((unsigned long) (longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 			l22:	;
 			}
 		l27:	/* end printOopShortInner: */;
@@ -70113,7 +70114,7 @@
 			offset = (literalCountOf(objOop1)) - 1;
 			methodClassAssociation = longAt((objOop1 + BaseHeaderSize) + ((offset + LiteralStart) << (shiftForWord())));
 			/* begin printHexnp: */
-			printf("0x%lx", objOop1);
+			printf("0x%lx", ((unsigned long) objOop1));
 			/* begin space */
 			/* begin printChar: */
 			putchar(' ');
@@ -70132,7 +70133,7 @@
 					/* begin printChar: */
 					putchar('(');
 					/* begin printHexnp: */
-					printf("0x%lx", (oop1 >> 1));
+					printf("0x%lx", ((unsigned long) ((oop1 >> 1))));
 					/* begin printChar: */
 					putchar(')');
 
@@ -70143,7 +70144,7 @@
 					/* begin printChar: */
 					putchar('(');
 					/* begin printHexnp: */
-					printf("0x%lx", (oop1 >> 1));
+					printf("0x%lx", ((unsigned long) ((oop1 >> 1))));
 					/* begin printChar: */
 					putchar(')');
 
@@ -70152,7 +70153,7 @@
 				
 				print("unknown immediate ");
 				/* begin printHexnp: */
-				printf("0x%lx", oop1);
+				printf("0x%lx", ((unsigned long) oop1));
 
 				goto l35;
 			}
@@ -70177,7 +70178,7 @@
 					referent1 = longAt((referent1 + BaseHeaderSize) + (0 << (shiftForWord())));
 				}
 				n1 = referent1;
-				printf("0x%lx", n1);
+				printf("0x%lx", ((unsigned long) n1));
 
 				goto l35;
 			}
@@ -70339,7 +70340,7 @@
 				printOopShort(longAt((oop1 + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 				print(" -> ");
 				/* begin printHexnp: */
-				printf("0x%lx", longAt((oop1 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+				printf("0x%lx", ((unsigned long) (longAt((oop1 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 			l34:	;
 			}
 		l35:	/* end printOopShortInner: */;
@@ -70374,7 +70375,7 @@
 				offset = (literalCountOf(objOop11)) - 1;
 				methodClassAssociation = longAt((objOop11 + BaseHeaderSize) + ((offset + LiteralStart) << (shiftForWord())));
 				/* begin printHexnp: */
-				printf("0x%lx", objOop11);
+				printf("0x%lx", ((unsigned long) objOop11));
 				/* begin space */
 				/* begin printChar: */
 				putchar(' ');
@@ -70393,7 +70394,7 @@
 						/* begin printChar: */
 						putchar('(');
 						/* begin printHexnp: */
-						printf("0x%lx", (oop2 >> 1));
+						printf("0x%lx", ((unsigned long) ((oop2 >> 1))));
 						/* begin printChar: */
 						putchar(')');
 
@@ -70404,7 +70405,7 @@
 						/* begin printChar: */
 						putchar('(');
 						/* begin printHexnp: */
-						printf("0x%lx", (oop2 >> 1));
+						printf("0x%lx", ((unsigned long) ((oop2 >> 1))));
 						/* begin printChar: */
 						putchar(')');
 
@@ -70413,7 +70414,7 @@
 					
 					print("unknown immediate ");
 					/* begin printHexnp: */
-					printf("0x%lx", oop2);
+					printf("0x%lx", ((unsigned long) oop2));
 
 					goto l42;
 				}
@@ -70438,7 +70439,7 @@
 						referent2 = longAt((referent2 + BaseHeaderSize) + (0 << (shiftForWord())));
 					}
 					n2 = referent2;
-					printf("0x%lx", n2);
+					printf("0x%lx", ((unsigned long) n2));
 
 					goto l42;
 				}
@@ -70600,7 +70601,7 @@
 					printOopShort(longAt((oop2 + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 					print(" -> ");
 					/* begin printHexnp: */
-					printf("0x%lx", longAt((oop2 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+					printf("0x%lx", ((unsigned long) (longAt((oop2 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 				l41:	;
 				}
 			l42:	/* end printOopShortInner: */;
@@ -70764,7 +70765,7 @@
 			/* begin printChar: */
 			putchar('(');
 			/* begin printHexnp: */
-			printf("0x%lx", (oop >> 1));
+			printf("0x%lx", ((unsigned long) ((oop >> 1))));
 			/* begin printChar: */
 			putchar(')');
 
@@ -70775,7 +70776,7 @@
 			/* begin printChar: */
 			putchar('(');
 			/* begin printHexnp: */
-			printf("0x%lx", (oop >> 1));
+			printf("0x%lx", ((unsigned long) ((oop >> 1))));
 			/* begin printChar: */
 			putchar(')');
 
@@ -70784,7 +70785,7 @@
 		
 		print("unknown immediate ");
 		/* begin printHexnp: */
-		printf("0x%lx", oop);
+		printf("0x%lx", ((unsigned long) oop));
 
 		goto l7;
 	}
@@ -70809,7 +70810,7 @@
 			referent = longAt((referent + BaseHeaderSize) + (0 << (shiftForWord())));
 		}
 		n = referent;
-		printf("0x%lx", n);
+		printf("0x%lx", ((unsigned long) n));
 
 		goto l7;
 	}
@@ -70971,7 +70972,7 @@
 		printOopShort(longAt((oop + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 		print(" -> ");
 		/* begin printHexnp: */
-		printf("0x%lx", longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+		printf("0x%lx", ((unsigned long) (longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 	l1:	;
 	}
 l7:	/* end printOopShortInner: */;
@@ -71424,10 +71425,10 @@
 					if (oop == (longAt(theSP))) {
 						print("FP: ");
 						/* begin printHexnp: */
-						printf("0x%lx", theFP);
+						printf("0x%lx", ((unsigned long) theFP));
 						print(" @ ");
 						/* begin printHexnp: */
-						printf("0x%lx", theSP);
+						printf("0x%lx", ((unsigned long) theSP));
 						/* begin cr */
 						printf("\n");
 					}
@@ -71439,7 +71440,7 @@
 					if (oop == (longAt(theFP + FoxThisContext))) {
 						print("FP: ");
 						/* begin printHexnp: */
-						printf("0x%lx", theFP);
+						printf("0x%lx", ((unsigned long) theFP));
 						print(" CTXT");
 						/* begin cr */
 						printf("\n");
@@ -71448,7 +71449,7 @@
 				if (oop == (longAt(theFP + FoxMethod))) {
 					print("FP: ");
 					/* begin printHexnp: */
-					printf("0x%lx", theFP);
+					printf("0x%lx", ((unsigned long) theFP));
 					print(" MTHD");
 					/* begin cr */
 					printf("\n");
@@ -71465,10 +71466,10 @@
 				if (oop == (longAt(theSP))) {
 					print("FP: ");
 					/* begin printHexnp: */
-					printf("0x%lx", theFP);
+					printf("0x%lx", ((unsigned long) theFP));
 					print(" @ ");
 					/* begin printHexnp: */
-					printf("0x%lx", theSP);
+					printf("0x%lx", ((unsigned long) theSP));
 					/* begin cr */
 					printf("\n");
 				}
@@ -72484,7 +72485,7 @@
 			print("page ");
 			/* begin printHexPtrnp: */
 			/* begin printHexnp: */
-			printf("0x%lx", oopForPointer(page));
+			printf("0x%lx", ((unsigned long) (oopForPointer(page))));
 			/* begin cr */
 			printf("\n");
 			shortPrintFramesInPage(page);
@@ -72509,7 +72510,7 @@
 shortPrintOop(sqInt oop)
 {
 	/* begin printHexnp: */
-	printf("0x%lx", oop);
+	printf("0x%lx", ((unsigned long) oop));
 	if ((oop & 3) != 0) {
 		if ((oop & 1)) {
 			printf("=%ld\n", (long)integerValueOf(oop));

Modified: branches/Cog/nsspursrc/vm/cointerp.h
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.h	2015-01-01 21:42:13 UTC (rev 3204)
+++ branches/Cog/nsspursrc/vm/cointerp.h	2015-01-01 22:08:51 UTC (rev 3205)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a
  */
 
 

Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2015-01-01 21:42:13 UTC (rev 3204)
+++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2015-01-01 22:08:51 UTC (rev 3205)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a
    from
-	CoInterpreter VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e
+	CoInterpreter VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2356,7 +2356,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1006";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1008";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -23274,7 +23274,7 @@
 			putchar('	');
 			if (p > 1024) {
 				/* begin printHexnp: */
-				printf("0x%lx", p);
+				printf("0x%lx", ((unsigned long) p));
 			}
 			else {
 				printNum(p);
@@ -59177,27 +59177,27 @@
 	print("freeChunk ");
 	/* begin printHexPtrnp: */
 	/* begin printHexnp: */
-	printf("0x%lx", oopForPointer(freeChunk));
+	printf("0x%lx", ((unsigned long) (oopForPointer(freeChunk))));
 	print(" bytes ");
 	printNum(numBytes);
 	print(" next ");
 	/* begin printHexPtrnp: */
 	/* begin printHexnp: */
-	printf("0x%lx", oopForPointer(longAt((freeChunk + BaseHeaderSize) + (0 << (shiftForWord())))));
+	printf("0x%lx", ((unsigned long) (oopForPointer(longAt((freeChunk + BaseHeaderSize) + (0 << (shiftForWord())))))));
 	if ((numBytes >= (32 * 8))
 	 && (!isNextChunk)) {
 		print(" ^ ");
 		/* begin printHexPtrnp: */
 		/* begin printHexnp: */
-		printf("0x%lx", oopForPointer(longAt((freeChunk + BaseHeaderSize) + (2 << (shiftForWord())))));
+		printf("0x%lx", ((unsigned long) (oopForPointer(longAt((freeChunk + BaseHeaderSize) + (2 << (shiftForWord())))))));
 		print(" < ");
 		/* begin printHexPtrnp: */
 		/* begin printHexnp: */
-		printf("0x%lx", oopForPointer(longAt((freeChunk + BaseHeaderSize) + (3 << (shiftForWord())))));
+		printf("0x%lx", ((unsigned long) (oopForPointer(longAt((freeChunk + BaseHeaderSize) + (3 << (shiftForWord())))))));
 		print(" > ");
 		/* begin printHexPtrnp: */
 		/* begin printHexnp: */
-		printf("0x%lx", oopForPointer(longAt((freeChunk + BaseHeaderSize) + (4 << (shiftForWord())))));
+		printf("0x%lx", ((unsigned long) (oopForPointer(longAt((freeChunk + BaseHeaderSize) + (4 << (shiftForWord())))))));
 	}
 	/* begin cr */
 	printf("\n");
@@ -59228,10 +59228,10 @@
 	printf("\n");
 	print("mask: ");
 	/* begin printHexnp: */
-	printf("0x%lx", GIV(freeListsMask));
+	printf("0x%lx", ((unsigned long) GIV(freeListsMask)));
 	print(" expected: ");
 	/* begin printHexnp: */
-	printf("0x%lx", expectedMask);
+	printf("0x%lx", ((unsigned long) expectedMask));
 	/* begin cr */
 	printf("\n");
 }
@@ -65595,6 +65595,7 @@
 		if ((primitiveIndexOfMethodheader(theMethod, methodHeaderOf(theMethod))) == 198) {
 			return homeContext;
 		}
+		return 0;
 	}
 	if (!(onSamePage
 		 || (ctxtOrNilOrZero == GIV(nilObj)))) {
@@ -66958,17 +66959,17 @@
 		printNameOfClasscount(class, 5);
 		print(" (");
 		/* begin printHexnp: */
-		printf("0x%lx", (longAt(oop)) & 0x3FFFFF);
+		printf("0x%lx", ((unsigned long) ((longAt(oop)) & 0x3FFFFF)));
 		print("=>");
 
 		/* begin printHexnp: */
-		printf("0x%lx", class);
+		printf("0x%lx", ((unsigned long) class));
 		print(")");
 	}
 	fmt = (((usqInt) (longAt(oop))) >> 24) & 0x1F;
 	print(" format ");
 	/* begin printHexnp: */
-	printf("0x%lx", fmt);
+	printf("0x%lx", ((unsigned long) fmt));
 	if (fmt > 5) {
 		print(" nbytes ");
 		printNum(numBytesOf(oop));
@@ -67035,7 +67036,7 @@
 	putchar(aByte4);
 	print(" hash ");
 	/* begin printHexnp: */
-	printf("0x%lx", (long32At(oop + 4)) & 0x3FFFFF);
+	printf("0x%lx", ((unsigned long) ((long32At(oop + 4)) & 0x3FFFFF)));
 	/* begin cr */
 	printf("\n");
 	if (((fmt >= 16) && (fmt <= (24 - 1)))) {
@@ -69577,7 +69578,7 @@
 			print("page ");
 			/* begin printHexPtrnp: */
 			/* begin printHexnp: */
-			printf("0x%lx", oopForPointer(page));
+			printf("0x%lx", ((unsigned long) (oopForPointer(page))));
 			/* begin cr */
 			printf("\n");
 			printFramesInPage(page);
@@ -69866,7 +69867,7 @@
 			offset = (literalCountOf(objOop1)) - 1;
 			methodClassAssociation = longAt((objOop1 + BaseHeaderSize) + ((offset + LiteralStart) << (shiftForWord())));
 			/* begin printHexnp: */
-			printf("0x%lx", objOop1);
+			printf("0x%lx", ((unsigned long) objOop1));
 			/* begin space */
 			/* begin printChar: */
 			putchar(' ');
@@ -69885,7 +69886,7 @@
 					/* begin printChar: */
 					putchar('(');
 					/* begin printHexnp: */
-					printf("0x%lx", (oop >> 1));
+					printf("0x%lx", ((unsigned long) ((oop >> 1))));
 					/* begin printChar: */
 					putchar(')');
 
@@ -69896,7 +69897,7 @@
 					/* begin printChar: */
 					putchar('(');
 					/* begin printHexnp: */
-					printf("0x%lx", (oop >> 1));
+					printf("0x%lx", ((unsigned long) ((oop >> 1))));
 					/* begin printChar: */
 					putchar(')');
 
@@ -69905,7 +69906,7 @@
 				
 				print("unknown immediate ");
 				/* begin printHexnp: */
-				printf("0x%lx", oop);
+				printf("0x%lx", ((unsigned long) oop));
 
 				goto l27;
 			}
@@ -69930,7 +69931,7 @@
 					referent = longAt((referent + BaseHeaderSize) + (0 << (shiftForWord())));
 				}
 				n = referent;
-				printf("0x%lx", n);
+				printf("0x%lx", ((unsigned long) n));
 
 				goto l27;
 			}
@@ -70092,7 +70093,7 @@
 				printOopShort(longAt((oop + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 				print(" -> ");
 				/* begin printHexnp: */
-				printf("0x%lx", longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+				printf("0x%lx", ((unsigned long) (longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 			l22:	;
 			}
 		l27:	/* end printOopShortInner: */;
@@ -70122,7 +70123,7 @@
 			offset = (literalCountOf(objOop1)) - 1;
 			methodClassAssociation = longAt((objOop1 + BaseHeaderSize) + ((offset + LiteralStart) << (shiftForWord())));
 			/* begin printHexnp: */
-			printf("0x%lx", objOop1);
+			printf("0x%lx", ((unsigned long) objOop1));
 			/* begin space */
 			/* begin printChar: */
 			putchar(' ');
@@ -70141,7 +70142,7 @@
 					/* begin printChar: */
 					putchar('(');
 					/* begin printHexnp: */
-					printf("0x%lx", (oop1 >> 1));
+					printf("0x%lx", ((unsigned long) ((oop1 >> 1))));
 					/* begin printChar: */
 					putchar(')');
 
@@ -70152,7 +70153,7 @@
 					/* begin printChar: */
 					putchar('(');
 					/* begin printHexnp: */
-					printf("0x%lx", (oop1 >> 1));
+					printf("0x%lx", ((unsigned long) ((oop1 >> 1))));
 					/* begin printChar: */
 					putchar(')');
 
@@ -70161,7 +70162,7 @@
 				
 				print("unknown immediate ");
 				/* begin printHexnp: */
-				printf("0x%lx", oop1);
+				printf("0x%lx", ((unsigned long) oop1));
 
 				goto l35;
 			}
@@ -70186,7 +70187,7 @@
 					referent1 = longAt((referent1 + BaseHeaderSize) + (0 << (shiftForWord())));
 				}
 				n1 = referent1;
-				printf("0x%lx", n1);
+				printf("0x%lx", ((unsigned long) n1));
 
 				goto l35;
 			}
@@ -70348,7 +70349,7 @@
 				printOopShort(longAt((oop1 + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 				print(" -> ");
 				/* begin printHexnp: */
-				printf("0x%lx", longAt((oop1 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+				printf("0x%lx", ((unsigned long) (longAt((oop1 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 			l34:	;
 			}
 		l35:	/* end printOopShortInner: */;
@@ -70383,7 +70384,7 @@
 				offset = (literalCountOf(objOop11)) - 1;
 				methodClassAssociation = longAt((objOop11 + BaseHeaderSize) + ((offset + LiteralStart) << (shiftForWord())));
 				/* begin printHexnp: */
-				printf("0x%lx", objOop11);
+				printf("0x%lx", ((unsigned long) objOop11));
 				/* begin space */
 				/* begin printChar: */
 				putchar(' ');
@@ -70402,7 +70403,7 @@
 						/* begin printChar: */
 						putchar('(');
 						/* begin printHexnp: */
-						printf("0x%lx", (oop2 >> 1));
+						printf("0x%lx", ((unsigned long) ((oop2 >> 1))));
 						/* begin printChar: */
 						putchar(')');
 
@@ -70413,7 +70414,7 @@
 						/* begin printChar: */
 						putchar('(');
 						/* begin printHexnp: */
-						printf("0x%lx", (oop2 >> 1));
+						printf("0x%lx", ((unsigned long) ((oop2 >> 1))));
 						/* begin printChar: */
 						putchar(')');
 
@@ -70422,7 +70423,7 @@
 					
 					print("unknown immediate ");
 					/* begin printHexnp: */
-					printf("0x%lx", oop2);
+					printf("0x%lx", ((unsigned long) oop2));
 
 					goto l42;
 				}
@@ -70447,7 +70448,7 @@
 						referent2 = longAt((referent2 + BaseHeaderSize) + (0 << (shiftForWord())));
 					}
 					n2 = referent2;
-					printf("0x%lx", n2);
+					printf("0x%lx", ((unsigned long) n2));
 
 					goto l42;
 				}
@@ -70609,7 +70610,7 @@
 					printOopShort(longAt((oop2 + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 					print(" -> ");
 					/* begin printHexnp: */
-					printf("0x%lx", longAt((oop2 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+					printf("0x%lx", ((unsigned long) (longAt((oop2 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 				l41:	;
 				}
 			l42:	/* end printOopShortInner: */;
@@ -70773,7 +70774,7 @@
 			/* begin printChar: */
 			putchar('(');
 			/* begin printHexnp: */
-			printf("0x%lx", (oop >> 1));
+			printf("0x%lx", ((unsigned long) ((oop >> 1))));
 			/* begin printChar: */
 			putchar(')');
 
@@ -70784,7 +70785,7 @@
 			/* begin printChar: */
 			putchar('(');
 			/* begin printHexnp: */
-			printf("0x%lx", (oop >> 1));
+			printf("0x%lx", ((unsigned long) ((oop >> 1))));
 			/* begin printChar: */
 			putchar(')');
 
@@ -70793,7 +70794,7 @@
 		
 		print("unknown immediate ");
 		/* begin printHexnp: */
-		printf("0x%lx", oop);
+		printf("0x%lx", ((unsigned long) oop));
 
 		goto l7;
 	}
@@ -70818,7 +70819,7 @@
 			referent = longAt((referent + BaseHeaderSize) + (0 << (shiftForWord())));
 		}
 		n = referent;
-		printf("0x%lx", n);
+		printf("0x%lx", ((unsigned long) n));
 
 		goto l7;
 	}
@@ -70980,7 +70981,7 @@
 		printOopShort(longAt((oop + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 		print(" -> ");
 		/* begin printHexnp: */
-		printf("0x%lx", longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+		printf("0x%lx", ((unsigned long) (longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 	l1:	;
 	}
 l7:	/* end printOopShortInner: */;
@@ -71433,10 +71434,10 @@
 					if (oop == (longAt(theSP))) {
 						print("FP: ");
 						/* begin printHexnp: */
-						printf("0x%lx", theFP);
+						printf("0x%lx", ((unsigned long) theFP));
 						print(" @ ");
 						/* begin printHexnp: */
-						printf("0x%lx", theSP);
+						printf("0x%lx", ((unsigned long) theSP));
 						/* begin cr */
 						printf("\n");
 					}
@@ -71448,7 +71449,7 @@
 					if (oop == (longAt(theFP + FoxThisContext))) {
 						print("FP: ");
 						/* begin printHexnp: */
-						printf("0x%lx", theFP);
+						printf("0x%lx", ((unsigned long) theFP));
 						print(" CTXT");
 						/* begin cr */
 						printf("\n");
@@ -71457,7 +71458,7 @@
 				if (oop == (longAt(theFP + FoxMethod))) {
 					print("FP: ");
 					/* begin printHexnp: */
-					printf("0x%lx", theFP);
+					printf("0x%lx", ((unsigned long) theFP));
 					print(" MTHD");
 					/* begin cr */
 					printf("\n");
@@ -71474,10 +71475,10 @@
 				if (oop == (longAt(theSP))) {
 					print("FP: ");
 					/* begin printHexnp: */
-					printf("0x%lx", theFP);
+					printf("0x%lx", ((unsigned long) theFP));
 					print(" @ ");
 					/* begin printHexnp: */
-					printf("0x%lx", theSP);
+					printf("0x%lx", ((unsigned long) theSP));
 					/* begin cr */
 					printf("\n");
 				}
@@ -72493,7 +72494,7 @@
 			print("page ");
 			/* begin printHexPtrnp: */
 			/* begin printHexnp: */
-			printf("0x%lx", oopForPointer(page));
+			printf("0x%lx", ((unsigned long) (oopForPointer(page))));
 			/* begin cr */
 			printf("\n");
 			shortPrintFramesInPage(page);
@@ -72518,7 +72519,7 @@
 shortPrintOop(sqInt oop)
 {
 	/* begin printHexnp: */
-	printf("0x%lx", oop);
+	printf("0x%lx", ((unsigned long) oop));
 	if ((oop & 3) != 0) {
 		if ((oop & 1)) {
 			printf("=%ld\n", (long)integerValueOf(oop));

Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2015-01-01 21:42:13 UTC (rev 3204)
+++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2015-01-01 22:08:51 UTC (rev 3205)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a
    from
-	StackInterpreter VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e
+	StackInterpreter VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1006 uuid: 9d3cd4bd-d2d0-476b-bf87-1b040eaaf57e " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1008 uuid: e5b26122-f27e-498b-bc8a-70f5f0fc3e1a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2101,7 +2101,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1006";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1008";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -4921,6 +4921,8 @@
 						unwindContextOrNilOrZero = home;
 						goto l245;
 					}
+					unwindContextOrNilOrZero = 0;
+					goto l245;
 				}
 				if (!(onSamePage
 					 || (ctxtOrNilOrZero == GIV(nilObj)))) {
@@ -45277,27 +45279,27 @@
 	print("freeChunk ");
 	/* begin printHexPtrnp: */
 	/* begin printHexnp: */
-	printf("0x%lx", oopForPointer(freeChunk));
+	printf("0x%lx", ((unsigned long) (oopForPointer(freeChunk))));
 	print(" bytes ");
 	printNum(numBytes);
 	print(" next ");
 	/* begin printHexPtrnp: */
 	/* begin printHexnp: */
-	printf("0x%lx", oopForPointer(longAt((freeChunk + BaseHeaderSize) + (0 << (shiftForWord())))));
+	printf("0x%lx", ((unsigned long) (oopForPointer(longAt((freeChunk + BaseHeaderSize) + (0 << (shiftForWord())))))));
 	if ((numBytes >= (32 * 8))
 	 && (!isNextChunk)) {
 		print(" ^ ");
 		/* begin printHexPtrnp: */
 		/* begin printHexnp: */
-		printf("0x%lx", oopForPointer(longAt((freeChunk + BaseHeaderSize) + (2 << (shiftForWord())))));
+		printf("0x%lx", ((unsigned long) (oopForPointer(longAt((freeChunk + BaseHeaderSize) + (2 << (shiftForWord())))))));
 		print(" < ");
 		/* begin printHexPtrnp: */
 		/* begin printHexnp: */
-		printf("0x%lx", oopForPointer(longAt((freeChunk + BaseHeaderSize) + (3 << (shiftForWord())))));
+		printf("0x%lx", ((unsigned long) (oopForPointer(longAt((freeChunk + BaseHeaderSize) + (3 << (shiftForWord())))))));
 		print(" > ");
 		/* begin printHexPtrnp: */
 		/* begin printHexnp: */
-		printf("0x%lx", oopForPointer(longAt((freeChunk + BaseHeaderSize) + (4 << (shiftForWord())))));
+		printf("0x%lx", ((unsigned long) (oopForPointer(longAt((freeChunk + BaseHeaderSize) + (4 << (shiftForWord())))))));
 	}
 	/* begin cr */
 	printf("\n");
@@ -45328,10 +45330,10 @@
 	printf("\n");
 	print("mask: ");
 	/* begin printHexnp: */
-	printf("0x%lx", GIV(freeListsMask));
+	printf("0x%lx", ((unsigned long) GIV(freeListsMask)));
 	print(" expected: ");
 	/* begin printHexnp: */
-	printf("0x%lx", expectedMask);
+	printf("0x%lx", ((unsigned long) expectedMask));
 	/* begin cr */
 	printf("\n");
 }
@@ -53838,17 +53840,17 @@
 		printNameOfClasscount(class, 5);
 		print(" (");
 		/* begin printHexnp: */
-		printf("0x%lx", (longAt(oop)) & 0x3FFFFF);
+		printf("0x%lx", ((unsigned long) ((longAt(oop)) & 0x3FFFFF)));
 		print("=>");
 
 		/* begin printHexnp: */
-		printf("0x%lx", class);
+		printf("0x%lx", ((unsigned long) class));
 		print(")");
 	}
 	fmt = (((usqInt) (longAt(oop))) >> 24) & 0x1F;
 	print(" format ");
 	/* begin printHexnp: */
-	printf("0x%lx", fmt);
+	printf("0x%lx", ((unsigned long) fmt));
 	if (fmt > 5) {
 		print(" nbytes ");
 		printNum(numBytesOf(oop));
@@ -53915,7 +53917,7 @@
 	putchar(aByte4);
 	print(" hash ");
 	/* begin printHexnp: */
-	printf("0x%lx", (long32At(oop + 4)) & 0x3FFFFF);
+	printf("0x%lx", ((unsigned long) ((long32At(oop + 4)) & 0x3FFFFF)));
 	/* begin cr */
 	printf("\n");
 	if (((fmt >= 16) && (fmt <= (24 - 1)))) {
@@ -58022,7 +58024,7 @@
 			print("page ");
 			/* begin printHexPtrnp: */
 			/* begin printHexnp: */
-			printf("0x%lx", oopForPointer(page));
+			printf("0x%lx", ((unsigned long) (oopForPointer(page))));
 			/* begin cr */
 			printf("\n");
 			printFramesInPage(page);
@@ -58341,7 +58343,7 @@
 			offset = (literalCountOf(objOop1)) - 1;
 			methodClassAssociation = longAt((objOop1 + BaseHeaderSize) + ((offset + LiteralStart) << (shiftForWord())));
 			/* begin printHexnp: */
-			printf("0x%lx", objOop1);
+			printf("0x%lx", ((unsigned long) objOop1));
 			/* begin space */
 			/* begin printChar: */
 			putchar(' ');
@@ -58360,7 +58362,7 @@
 					/* begin printChar: */
 					putchar('(');
 					/* begin printHexnp: */
-					printf("0x%lx", (oop >> 1));
+					printf("0x%lx", ((unsigned long) ((oop >> 1))));
 					/* begin printChar: */
 					putchar(')');
 
@@ -58371,7 +58373,7 @@
 					/* begin printChar: */
 					putchar('(');
 					/* begin printHexnp: */
-					printf("0x%lx", (oop >> 1));
+					printf("0x%lx", ((unsigned long) ((oop >> 1))));
 					/* begin printChar: */
 					putchar(')');
 
@@ -58380,7 +58382,7 @@
 				
 				print("unknown immediate ");
 				/* begin printHexnp: */
-				printf("0x%lx", oop);
+				printf("0x%lx", ((unsigned long) oop));
 
 				goto l27;
 			}
@@ -58405,7 +58407,7 @@
 					referent = longAt((referent + BaseHeaderSize) + (0 << (shiftForWord())));
 				}
 				n = referent;
-				printf("0x%lx", n);
+				printf("0x%lx", ((unsigned long) n));
 
 				goto l27;
 			}
@@ -58567,7 +58569,7 @@
 				printOopShort(longAt((oop + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 				print(" -> ");
 				/* begin printHexnp: */
-				printf("0x%lx", longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+				printf("0x%lx", ((unsigned long) (longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 			l22:	;
 			}
 		l27:	/* end printOopShortInner: */;
@@ -58597,7 +58599,7 @@
 			offset = (literalCountOf(objOop1)) - 1;
 			methodClassAssociation = longAt((objOop1 + BaseHeaderSize) + ((offset + LiteralStart) << (shiftForWord())));
 			/* begin printHexnp: */
-			printf("0x%lx", objOop1);
+			printf("0x%lx", ((unsigned long) objOop1));
 			/* begin space */
 			/* begin printChar: */
 			putchar(' ');
@@ -58616,7 +58618,7 @@
 					/* begin printChar: */
 					putchar('(');
 					/* begin printHexnp: */
-					printf("0x%lx", (oop1 >> 1));
+					printf("0x%lx", ((unsigned long) ((oop1 >> 1))));
 					/* begin printChar: */
 					putchar(')');
 
@@ -58627,7 +58629,7 @@
 					/* begin printChar: */
 					putchar('(');
 					/* begin printHexnp: */
-					printf("0x%lx", (oop1 >> 1));
+					printf("0x%lx", ((unsigned long) ((oop1 >> 1))));
 					/* begin printChar: */
 					putchar(')');
 
@@ -58636,7 +58638,7 @@
 				
 				print("unknown immediate ");
 				/* begin printHexnp: */
-				printf("0x%lx", oop1);
+				printf("0x%lx", ((unsigned long) oop1));
 
 				goto l35;
 			}
@@ -58661,7 +58663,7 @@
 					referent1 = longAt((referent1 + BaseHeaderSize) + (0 << (shiftForWord())));
 				}
 				n1 = referent1;
-				printf("0x%lx", n1);
+				printf("0x%lx", ((unsigned long) n1));
 
 				goto l35;
 			}
@@ -58823,7 +58825,7 @@
 				printOopShort(longAt((oop1 + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 				print(" -> ");
 				/* begin printHexnp: */
-				printf("0x%lx", longAt((oop1 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+				printf("0x%lx", ((unsigned long) (longAt((oop1 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 			l34:	;
 			}
 		l35:	/* end printOopShortInner: */;
@@ -58858,7 +58860,7 @@
 				offset = (literalCountOf(objOop11)) - 1;
 				methodClassAssociation = longAt((objOop11 + BaseHeaderSize) + ((offset + LiteralStart) << (shiftForWord())));
 				/* begin printHexnp: */
-				printf("0x%lx", objOop11);
+				printf("0x%lx", ((unsigned long) objOop11));
 				/* begin space */
 				/* begin printChar: */
 				putchar(' ');
@@ -58877,7 +58879,7 @@
 						/* begin printChar: */
 						putchar('(');
 						/* begin printHexnp: */
-						printf("0x%lx", (oop2 >> 1));
+						printf("0x%lx", ((unsigned long) ((oop2 >> 1))));
 						/* begin printChar: */
 						putchar(')');
 
@@ -58888,7 +58890,7 @@
 						/* begin printChar: */
 						putchar('(');
 						/* begin printHexnp: */
-						printf("0x%lx", (oop2 >> 1));
+						printf("0x%lx", ((unsigned long) ((oop2 >> 1))));
 						/* begin printChar: */
 						putchar(')');
 
@@ -58897,7 +58899,7 @@
 					
 					print("unknown immediate ");
 					/* begin printHexnp: */
-					printf("0x%lx", oop2);
+					printf("0x%lx", ((unsigned long) oop2));
 
 					goto l42;
 				}
@@ -58922,7 +58924,7 @@
 						referent2 = longAt((referent2 + BaseHeaderSize) + (0 << (shiftForWord())));
 					}
 					n2 = referent2;
-					printf("0x%lx", n2);
+					printf("0x%lx", ((unsigned long) n2));
 
 					goto l42;
 				}
@@ -59084,7 +59086,7 @@
 					printOopShort(longAt((oop2 + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 					print(" -> ");
 					/* begin printHexnp: */
-					printf("0x%lx", longAt((oop2 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+					printf("0x%lx", ((unsigned long) (longAt((oop2 + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 				l41:	;
 				}
 			l42:	/* end printOopShortInner: */;
@@ -59167,7 +59169,7 @@
 			putchar('	');
 			if (p > 1024) {
 				/* begin printHexnp: */
-				printf("0x%lx", p);
+				printf("0x%lx", ((unsigned long) p));
 			}
 			else {
 				printNum(p);
@@ -59318,7 +59320,7 @@
 			/* begin printChar: */
 			putchar('(');
 			/* begin printHexnp: */
-			printf("0x%lx", (oop >> 1));
+			printf("0x%lx", ((unsigned long) ((oop >> 1))));
 			/* begin printChar: */
 			putchar(')');
 
@@ -59329,7 +59331,7 @@
 			/* begin printChar: */
 			putchar('(');
 			/* begin printHexnp: */
-			printf("0x%lx", (oop >> 1));
+			printf("0x%lx", ((unsigned long) ((oop >> 1))));
 			/* begin printChar: */
 			putchar(')');
 
@@ -59338,7 +59340,7 @@
 		
 		print("unknown immediate ");
 		/* begin printHexnp: */
-		printf("0x%lx", oop);
+		printf("0x%lx", ((unsigned long) oop));
 
 		goto l7;
 	}
@@ -59363,7 +59365,7 @@
 			referent = longAt((referent + BaseHeaderSize) + (0 << (shiftForWord())));
 		}
 		n = referent;
-		printf("0x%lx", n);
+		printf("0x%lx", ((unsigned long) n));
 
 		goto l7;
 	}
@@ -59525,7 +59527,7 @@
 		printOopShort(longAt((oop + BaseHeaderSize) + (KeyIndex << (shiftForWord()))));
 		print(" -> ");
 		/* begin printHexnp: */
-		printf("0x%lx", longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))));
+		printf("0x%lx", ((unsigned long) (longAt((oop + BaseHeaderSize) + (ValueIndex << (shiftForWord()))))));
 	l1:	;
 	}
 l7:	/* end printOopShortInner: */;
@@ -59978,10 +59980,10 @@
 					if (oop == (longAt(theSP))) {
 						print("FP: ");

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list