[Vm-dev] [commit][3247] CogVM source as per VMMaker.oscog-eem.1042

commits at squeakvm.org commits at squeakvm.org
Thu Feb 5 00:15:02 UTC 2015


Revision: 3247
Author:   eliot
Date:     2015-02-04 16:15:02 -0800 (Wed, 04 Feb 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1042

fetchClassTagOf: also needs to be inlineable in ifs.
Use << instead of bitShift: in Spur seg load.

Modified Paths:
--------------
    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/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

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

Modified: branches/Cog/nsspursrc/vm/cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.c	2015-02-04 23:48:12 UTC (rev 3246)
+++ branches/Cog/nsspursrc/vm/cointerp.c	2015-02-05 00:15:02 UTC (rev 3247)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1041 uuid: 07a9d555-3a71-4774-a5f2-04a2ee09a74e
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1042 uuid: cd14932f-16ef-41a5-8212-83e584ac417d
    from
-	CoInterpreter VMMaker.oscog-eem.1041 uuid: 07a9d555-3a71-4774-a5f2-04a2ee09a74e
+	CoInterpreter VMMaker.oscog-eem.1042 uuid: cd14932f-16ef-41a5-8212-83e584ac417d
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1041 uuid: 07a9d555-3a71-4774-a5f2-04a2ee09a74e " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1042 uuid: cd14932f-16ef-41a5-8212-83e584ac417d " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2352,7 +2352,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.1041";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1042";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -5102,7 +5102,7 @@
 
 				if (!((byteAt((localFP + FoxIFrameFlags) + 3)) != 0)) {
 					goto commonCallerReturn;
-					goto l227;
+					goto l220;
 				}
 				closure = longAt(localFP + (frameStackedReceiverOffsetNumArgs(((((usqInt)(longAt(localFP + FoxMethod)))) < (startOfMemory())
 	? ((mframeCogMethod(localFP))->cmNumArgs)
@@ -5155,10 +5155,10 @@
 						: (byteAt((localFP + FoxIFrameFlags) + 2)) != 0)) {
 						assert(isContext(frameContext(localFP)));
 						ourContext = longAt(localFP + FoxThisContext);
-						goto l231;
+						goto l224;
 					}
 					ourContext = marryFrameSP(localFP, localSP);
-				l231:	/* end ensureFrameIsMarried:SP: */;
+				l224:	/* end ensureFrameIsMarried:SP: */;
 					/* begin internalPush: */
 					longAtPointerput((localSP -= BytesPerOop), ourContext);
 					/* begin internalPush: */
@@ -5167,7 +5167,7 @@
 					GIV(argumentCount) = 1;
 					goto normalSend;
 					/* return self */
-					goto l227;
+					goto l220;
 				}
 				if (unwindContextOrNilOrZero != 0) {
 					/* begin internalAboutToReturn:through: */
@@ -5177,10 +5177,10 @@
 						: (byteAt((localFP + FoxIFrameFlags) + 2)) != 0)) {
 						assert(isContext(frameContext(localFP)));
 						ourContext1 = longAt(localFP + FoxThisContext);
-						goto l228;
+						goto l221;
 					}
 					ourContext1 = marryFrameSP(localFP, localSP);
-				l228:	/* end ensureFrameIsMarried:SP: */;
+				l221:	/* end ensureFrameIsMarried:SP: */;
 					/* begin internalPush: */
 					longAtPointerput((localSP -= BytesPerOop), ourContext1);
 					/* begin internalPush: */
@@ -5191,7 +5191,7 @@
 					GIV(argumentCount) = 2;
 					goto normalSend;
 					/* return self */
-					goto l227;
+					goto l220;
 				}
 				contextToReturnTo = null;
 				if (((longAt((home + BaseHeaderSize) + (SenderIndex << (shiftForWord())))) & 1)) {
@@ -5248,10 +5248,10 @@
 							: (byteAt((localFP + FoxIFrameFlags) + 2)) != 0)) {
 							assert(isContext(frameContext(localFP)));
 							ourContext2 = longAt(localFP + FoxThisContext);
-							goto l230;
+							goto l223;
 						}
 						ourContext2 = marryFrameSP(localFP, localSP);
-					l230:	/* end ensureFrameIsMarried:SP: */;
+					l223:	/* end ensureFrameIsMarried:SP: */;
 						/* begin internalPush: */
 						longAtPointerput((localSP -= BytesPerOop), ourContext2);
 						/* begin internalPush: */
@@ -5260,7 +5260,7 @@
 						GIV(argumentCount) = 1;
 						goto normalSend;
 						/* return self */
-						goto l227;
+						goto l220;
 					}
 				}
 				assert(pageListIsWellFormed());
@@ -5379,11 +5379,11 @@
 						GIV(framePointer) = localFP;
 						
 						ceEnterCogCodePopReceiverReg();
-						goto l229;
+						goto l222;
 					}
 					localIP = pointerForOop(longAt(localFP + FoxIFSavedIP));
 				}
-			l229:	/* end maybeReturnToMachineCodeFrame */;
+			l222:	/* end maybeReturnToMachineCodeFrame */;
 				/* begin setMethod: */
 				assert((((usqInt)(longAt(localFP + FoxMethod)))) >= (startOfMemory()));
 				GIV(method) = longAt(localFP + FoxMethod);
@@ -5397,7 +5397,7 @@
 
 				longAtPointerput(localSP, localReturnValue);
 			}
-		l227:	/* end case */;
+		l220:	/* end case */;
 			break;
 		case 121:
 			/* returnTrue */
@@ -5516,27 +5516,27 @@
 							fp = (thePage->headFP);
 							if (fp == theFP) {
 								frameAbove = 0;
-								goto l234;
+								goto l227;
 							}
 							while (((callerFP = frameCallerFP(fp))) != 0) {
 								if (callerFP == theFP) {
 									frameAbove = fp;
-									goto l234;
+									goto l227;
 								}
 								fp = callerFP;
 							}
 							error("did not find theFP in stack page");
 							frameAbove = 0;
-						l234:	/* end findFrameAbove:inPage: */;
+						l227:	/* end findFrameAbove:inPage: */;
 							/* begin newStackPage */
 							lruOrFree = ((mostRecentlyUsedPage())->nextPage);
 							if (isFree(lruOrFree)) {
 								newPage = lruOrFree;
-								goto l235;
+								goto l228;
 							}
 							divorceFramesIn(lruOrFree);
 							newPage = lruOrFree;
-						l235:	/* end newStackPage */;
+						l228:	/* end newStackPage */;
 							assert(newPage == GIV(stackPage));
 							moveFramesInthroughtoPage(thePage, frameAbove, newPage);
 							markStackPageMostRecentlyUsed(newPage);
@@ -5560,7 +5560,7 @@
 							longAtput((sp2 = GIV(stackPointer) - BytesPerWord), GIV(instructionPointer));
 							GIV(stackPointer) = sp2;
 							ceSendAborttonumArgs(longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SelectorCannotReturn << (shiftForWord()))), contextToReturnFrom, 1);
-							goto l233;
+							goto l226;
 						}
 						GIV(instructionPointer) = 0;
 						thePage = makeBaseFrameFor(contextToReturnTo);
@@ -5598,8 +5598,7 @@
 							GIV(framePointer) = localFP;
 							
 							ceEnterCogCodePopReceiverReg();
-							null;
-							goto l233;
+							goto l226;
 						}
 						localIP = pointerForOop(longAt(localFP + FoxIFSavedIP));
 					}
@@ -5616,9 +5615,9 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-					null;
-				l233:	/* end baseFrameReturn */;
-					goto l232;
+					/* return self */
+				l226:	/* end baseFrameReturn */;
+					goto l225;
 				}
 				/* begin frameCallerSavedIP: */
 				localIP = pointerForOop(longAt(localFP + FoxCallerSavedIP));
@@ -5646,7 +5645,7 @@
 						GIV(framePointer) = localFP;
 						
 						ceEnterCogCodePopReceiverReg();
-						goto l232;
+						goto l225;
 					}
 					localIP = pointerForOop(longAt(localFP + FoxIFSavedIP));
 				}
@@ -5663,7 +5662,7 @@
 
 				longAtPointerput(localSP, localReturnValue);
 			}
-		l232:	/* end case */;
+		l225:	/* end case */;
 			break;
 		case 126:
 		case 127:
@@ -5692,10 +5691,10 @@
 					: (byteAt((localFP + FoxIFrameFlags) + 2)) != 0)) {
 					assert(isContext(frameContext(localFP)));
 					ourContext = longAt(localFP + FoxThisContext);
-					goto l236;
+					goto l229;
 				}
 				ourContext = marryFrameSP(localFP, localSP);
-			l236:	/* end ensureFrameIsMarried:SP: */;
+			l229:	/* end ensureFrameIsMarried:SP: */;
 				localIP -= 1;
 				/* begin internalPush: */
 				longAtPointerput((localSP -= BytesPerOop), ourContext);
@@ -5962,15 +5961,11 @@
 
 				VM_LABEL(normalSend);
 				rcvr = longAtPointer(localSP + (GIV(argumentCount) * BytesPerOop));
-				/* begin fetchClassTagOf: */
-				if (((tagBits = rcvr & 3)) != 0) {
-					lkupClassTag = ((tagBits & 1) != 0
-						? 1
-						: tagBits);
-					goto l237;
-				}
-				lkupClassTag = (longAt(rcvr)) & 0x3FFFFF;
-			l237:	/* end fetchClassTagOf: */;
+				lkupClassTag = (((tagBits = rcvr & 3)) != 0
+					? ((tagBits & 1) != 0
+							? 1
+							: tagBits)
+					: (longAt(rcvr)) & 0x3FFFFF);
 				assert(lkupClassTag != (nilObject()));
 				
 			commonSend:
@@ -6013,10 +6008,10 @@
 						classTablePage = longAt((GIV(hiddenRootsObj) + BaseHeaderSize) + ((((usqInt) lkupClassTag) >> 10) << (shiftForWord())));
 						if (classTablePage == GIV(nilObj)) {
 							classOrInteger = null;
-							goto l244;
+							goto l236;
 						}
 						classOrInteger = longAt((classTablePage + BaseHeaderSize) + ((lkupClassTag & ((1 << 10) - 1)) << (shiftForWord())));
-					l244:	/* end classAtIndex: */;
+					l236:	/* end classAtIndex: */;
 						GIV(traceLog)[GIV(traceLogIndex)] = classOrInteger;
 						GIV(traceLog)[GIV(traceLogIndex) + 1] = GIV(messageSelector);
 						GIV(traceLog)[GIV(traceLogIndex) + 2] = TraceIsFromInterpreter;
@@ -6042,7 +6037,7 @@
 						GIV(newMethod) = GIV(methodCache)[probe + MethodCacheMethod];
 						primitiveFunctionPointer = ((void (*)()) (GIV(methodCache)[probe + MethodCachePrimFunction]));
 						ok = 1;
-						goto l239;
+						goto l231;
 					}
 
 					/* second probe */
@@ -6053,7 +6048,7 @@
 						GIV(newMethod) = GIV(methodCache)[probe + MethodCacheMethod];
 						primitiveFunctionPointer = ((void (*)()) (GIV(methodCache)[probe + MethodCachePrimFunction]));
 						ok = 1;
-						goto l239;
+						goto l231;
 					}
 					probe = (((usqInt) hash) >> 2) & MethodCacheMask;
 					if (((GIV(methodCache)[probe + MethodCacheSelector]) == GIV(messageSelector))
@@ -6061,10 +6056,10 @@
 						GIV(newMethod) = GIV(methodCache)[probe + MethodCacheMethod];
 						primitiveFunctionPointer = ((void (*)()) (GIV(methodCache)[probe + MethodCachePrimFunction]));
 						ok = 1;
-						goto l239;
+						goto l231;
 					}
 					ok = 0;
-				l239:	/* end inlineLookupInMethodCacheSel:classTag: */;
+				l231:	/* end inlineLookupInMethodCacheSel:classTag: */;
 					if (ok) {
 						/* begin ifAppropriateCompileToNativeCode:selector: */
 						methodHeader2 = longAt((GIV(newMethod) + BaseHeaderSize) + (HeaderIndex << (shiftForWord())));
@@ -6122,7 +6117,7 @@
 										maybeFlagMethodAsInterpreted(GIV(newMethod));
 									}
 								}
-								goto l242;
+								goto l234;
 							}
 						}
 						/* begin classForClassTag: */
@@ -6133,10 +6128,10 @@
 						classTablePage1 = longAt((GIV(hiddenRootsObj) + BaseHeaderSize) + ((((usqInt) lkupClassTag) >> 10) << (shiftForWord())));
 						if (classTablePage1 == GIV(nilObj)) {
 							GIV(lkupClass) = null;
-							goto l238;
+							goto l230;
 						}
 						GIV(lkupClass) = longAt((classTablePage1 + BaseHeaderSize) + ((lkupClassTag & ((1 << 10) - 1)) << (shiftForWord())));
-					l238:	/* end classAtIndex: */;
+					l230:	/* end classAtIndex: */;
 						lookupMethodInClass(GIV(lkupClass));
 						/* begin internalizeIPandSP */
 						assert(GIV(instructionPointer) != (ceReturnToInterpreterPC()));
@@ -6145,7 +6140,7 @@
 						localFP = pointerForOop(GIV(framePointer));
 						addNewMethodToCache(GIV(lkupClass));
 					}
-				l242:	/* end internalFindNewMethod */;
+				l234:	/* end internalFindNewMethod */;
 					/* begin internalExecuteNewMethod */
 					if (primitiveFunctionPointer != 0) {
 						if ((((unsigned long) primitiveFunctionPointer)) <= MaxQuickPrimitiveIndex) {
@@ -6158,31 +6153,31 @@
 								/* begin internalStackTopPut: */
 								longAtPointerput(localSP, longAt(((longAtPointer(localSP)) + BaseHeaderSize) + ((localPrimIndex - 264) << (shiftForWord()))));
 								1;
-								goto l240;
+								goto l232;
 							}
 							if (localPrimIndex == 256) {
 								1;
-								goto l240;
+								goto l232;
 							}
 							if (localPrimIndex == 257) {
 								longAtPointerput(localSP, GIV(trueObj));
 								1;
-								goto l240;
+								goto l232;
 							}
 							if (localPrimIndex == 258) {
 								longAtPointerput(localSP, GIV(falseObj));
 								1;
-								goto l240;
+								goto l232;
 							}
 							if (localPrimIndex == 259) {
 								longAtPointerput(localSP, GIV(nilObj));
 								1;
-								goto l240;
+								goto l232;
 							}
 							longAtPointerput(localSP, (((localPrimIndex - 261) << 1) | 1));
 							1;
-						l240:	/* end internalQuickPrimitiveResponse */;
-							goto l241;
+						l232:	/* end internalQuickPrimitiveResponse */;
+							goto l233;
 						}
 						/* begin externalizeIPandSP */
 						assert((((usqInt)localIP)) != (ceReturnToInterpreterPC()));
@@ -6246,7 +6241,7 @@
 							returntoExecutive(popStack(), 1);
 							browserPluginReturnIfNeeded();
 							null;
-							goto l241;
+							goto l233;
 						}
 					}
 					if (methodHasCogMethod(GIV(newMethod))) {
@@ -6323,11 +6318,11 @@
 										table = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (PrimErrTableIndex << (shiftForWord())));
 										if (GIV(primFailCode) <= ((lastPointerOf(table)) / BytesPerWord)) {
 											errorCode = longAt((table + BaseHeaderSize) + ((GIV(primFailCode) - 1) << (shiftForWord())));
-											goto l243;
+											goto l235;
 										}
 									}
 									errorCode = ((GIV(primFailCode) << 1) | 1);
-								l243:	/* end getErrorObjectFromPrimFailCode */;
+								l235:	/* end getErrorObjectFromPrimFailCode */;
 									longAtPointerput(localSP, errorCode);
 								}
 								GIV(primFailCode) = 0;
@@ -6351,7 +6346,7 @@
 							localFP = pointerForOop(GIV(framePointer));
 						}
 					}
-				l241:	/* end internalExecuteNewMethod */;
+				l233:	/* end internalExecuteNewMethod */;
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
@@ -6758,17 +6753,17 @@
 				if (((newHash = (long32At(superclass + 4)) & 0x3FFFFF)) == 0) {
 					if (!(objCouldBeClassObj(superclass))) {
 						-PrimErrBadReceiver;
-						goto l245;
+						goto l237;
 					}
 					if (((err = enterIntoClassTable(superclass))) != 0) {
 						-err;
-						goto l245;
+						goto l237;
 					}
 					newHash = (long32At(superclass + 4)) & 0x3FFFFF;
 					assert((classAtIndex(newHash)) == superclass);
 				}
 				newHash;
-			l245:	/* end ensureBehaviorHash: */;
+			l237:	/* end ensureBehaviorHash: */;
 				/* begin classTagForClass: */
 				assert(addressCouldBeClassObj(superclass));
 				/* begin ensureBehaviorHash: */
@@ -6776,17 +6771,17 @@
 				if (((newHash1 = (long32At(superclass + 4)) & 0x3FFFFF)) == 0) {
 					if (!(objCouldBeClassObj(superclass))) {
 						lkupClassTag = -PrimErrBadReceiver;
-						goto l246;
+						goto l238;
 					}
 					if (((err1 = enterIntoClassTable(superclass))) != 0) {
 						lkupClassTag = -err1;
-						goto l246;
+						goto l238;
 					}
 					newHash1 = (long32At(superclass + 4)) & 0x3FFFFF;
 					assert((classAtIndex(newHash1)) == superclass);
 				}
 				lkupClassTag = newHash1;
-			l246:	/* end ensureBehaviorHash: */;
+			l238:	/* end ensureBehaviorHash: */;
 				/* begin ensureReceiverUnforwarded */
 				if ((((longAtPointer(localSP + (GIV(argumentCount) * BytesPerOop))) & 3) == 0)
 				 && (((longAt(longAtPointer(localSP + (GIV(argumentCount) * BytesPerOop)))) & 0x3FFFFF) == 8)) {
@@ -7803,7 +7798,7 @@
 						/* begin fetchNextBytecode */
 						currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-						goto l247;
+						goto l239;
 					}
 					if (bytecode == 172) {
 
@@ -7813,7 +7808,7 @@
 						/* begin fetchNextBytecode */
 						currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-						goto l247;
+						goto l239;
 					}
 					if (bytecode > 167) {
 
@@ -7824,7 +7819,7 @@
 						localIP = (localIP + offset) + 1;
 						currentBytecode = (byteAtPointer(localIP)) + GIV(bytecodeSetSelector);
 
-						goto l247;
+						goto l239;
 					}
 				}
 				currentBytecode = bytecode + GIV(bytecodeSetSelector);
@@ -7832,7 +7827,7 @@
 				/* begin internalPush: */
 				longAtPointerput((localSP -= BytesPerOop), GIV(trueObj));
 			}
-		l247:	/* end case */;
+		l239:	/* end case */;
 			break;
 		case 179:
 			/* bytecodePrimGreaterThan */
@@ -7949,7 +7944,7 @@
 					localIP = (localIP + (bytecode - 151)) + 1;
 					currentBytecode = (byteAtPointer(localIP)) + GIV(bytecodeSetSelector);
 
-					goto l248;
+					goto l240;
 				}
 				if (bytecode == 172) {
 
@@ -7960,14 +7955,14 @@
 					localIP = (localIP + offset) + 1;
 					currentBytecode = (byteAtPointer(localIP)) + GIV(bytecodeSetSelector);
 
-					goto l248;
+					goto l240;
 				}
 				currentBytecode = bytecode + GIV(bytecodeSetSelector);
 
 				/* begin internalPush: */
 				longAtPointerput((localSP -= BytesPerOop), GIV(falseObj));
 			}
-		l248:	/* end case */;
+		l240:	/* end case */;
 			break;
 		case 180:
 			/* bytecodePrimLessOrEqual */
@@ -9991,6 +9986,22 @@
 		case 221:
 		case 222:
 		case 223:
+		case 368: /*112*/
+		case 369: /*113*/
+		case 370: /*114*/
+		case 371: /*115*/
+		case 372: /*116*/
+		case 373: /*117*/
+		case 374: /*118*/
+		case 375: /*119*/
+		case 376: /*120*/
+		case 377: /*121*/
+		case 378: /*122*/
+		case 379: /*123*/
+		case 380: /*124*/
+		case 381: /*125*/
+		case 382: /*126*/
+		case 383: /*127*/
 			/* sendLiteralSelector0ArgsBytecode */
 			{
 				sqInt rcvr;
@@ -10002,15 +10013,11 @@
 				GIV(messageSelector) = longAt((GIV(method) + BaseHeaderSize) + (((currentBytecode & 15) + LiteralStart) << (shiftForWord())));
 				GIV(argumentCount) = 0;
 				rcvr = longAtPointer(localSP + (0 * BytesPerOop));
-				/* begin fetchClassTagOf: */
-				if (((tagBits = rcvr & 3)) != 0) {
-					lkupClassTag = ((tagBits & 1) != 0
-						? 1
-						: tagBits);
-					goto l110;
-				}
-				lkupClassTag = (longAt(rcvr)) & 0x3FFFFF;
-			l110:	/* end fetchClassTagOf: */;
+				lkupClassTag = (((tagBits = rcvr & 3)) != 0
+					? ((tagBits & 1) != 0
+							? 1
+							: tagBits)
+					: (longAt(rcvr)) & 0x3FFFFF);
 				assert(lkupClassTag != (nilObject()));
 				goto commonSend;
 			}
@@ -10031,6 +10038,22 @@
 		case 237:
 		case 238:
 		case 239:
+		case 384: /*128*/
+		case 385: /*129*/
+		case 386: /*130*/
+		case 387: /*131*/
+		case 388: /*132*/
+		case 389: /*133*/
+		case 390: /*134*/
+		case 391: /*135*/
+		case 392: /*136*/
+		case 393: /*137*/
+		case 394: /*138*/
+		case 395: /*139*/
+		case 396: /*140*/
+		case 397: /*141*/
+		case 398: /*142*/
+		case 399: /*143*/
 			/* sendLiteralSelector1ArgBytecode */
 			{
 				sqInt rcvr;
@@ -10042,15 +10065,11 @@
 				GIV(messageSelector) = longAt((GIV(method) + BaseHeaderSize) + (((currentBytecode & 15) + LiteralStart) << (shiftForWord())));
 				GIV(argumentCount) = 1;
 				rcvr = longAtPointer(localSP + (1 * BytesPerOop));
-				/* begin fetchClassTagOf: */
-				if (((tagBits = rcvr & 3)) != 0) {
-					lkupClassTag = ((tagBits & 1) != 0
-						? 1
-						: tagBits);
-					goto l111;
-				}
-				lkupClassTag = (longAt(rcvr)) & 0x3FFFFF;
-			l111:	/* end fetchClassTagOf: */;
+				lkupClassTag = (((tagBits = rcvr & 3)) != 0
+					? ((tagBits & 1) != 0
+							? 1
+							: tagBits)
+					: (longAt(rcvr)) & 0x3FFFFF);
 				assert(lkupClassTag != (nilObject()));
 				goto commonSend;
 			}
@@ -10071,6 +10090,22 @@
 		case 253:
 		case 254:
 		case 255:
+		case 400: /*144*/
+		case 401: /*145*/
+		case 402: /*146*/
+		case 403: /*147*/
+		case 404: /*148*/
+		case 405: /*149*/
+		case 406: /*150*/
+		case 407: /*151*/
+		case 408: /*152*/
+		case 409: /*153*/
+		case 410: /*154*/
+		case 411: /*155*/
+		case 412: /*156*/
+		case 413: /*157*/
+		case 414: /*158*/
+		case 415: /*159*/
 			/* sendLiteralSelector2ArgsBytecode */
 			{
 				sqInt rcvr;
@@ -10082,15 +10117,11 @@
 				GIV(messageSelector) = longAt((GIV(method) + BaseHeaderSize) + (((currentBytecode & 15) + LiteralStart) << (shiftForWord())));
 				GIV(argumentCount) = 2;
 				rcvr = longAtPointer(localSP + (2 * BytesPerOop));
-				/* begin fetchClassTagOf: */
-				if (((tagBits = rcvr & 3)) != 0) {
-					lkupClassTag = ((tagBits & 1) != 0
-						? 1
-						: tagBits);
-					goto l112;
-				}
-				lkupClassTag = (longAt(rcvr)) & 0x3FFFFF;
-			l112:	/* end fetchClassTagOf: */;
+				lkupClassTag = (((tagBits = rcvr & 3)) != 0
+					? ((tagBits & 1) != 0
+							? 1
+							: tagBits)
+					: (longAt(rcvr)) & 0x3FFFFF);
 				assert(lkupClassTag != (nilObject()));
 				goto commonSend;
 			}
@@ -10110,7 +10141,7 @@
 				case 0:
 					/* begin internalPush: */
 					longAtPointerput((localSP -= BytesPerOop), GIV(falseObj));
-					goto l113;
+					goto l110;
 
 					break;
 				case 1:
@@ -10128,10 +10159,10 @@
 						: (byteAt((localFP + FoxIFrameFlags) + 2)) != 0)) {
 						assert(isContext(frameContext(localFP)));
 						context = longAt(localFP + FoxThisContext);
-						goto l114;
+						goto l111;
 					}
 					context = marryFrameSP(localFP, localSP);
-				l114:	/* end ensureFrameIsMarried:SP: */;
+				l111:	/* end ensureFrameIsMarried:SP: */;
 					thing = context;
 
 					break;
@@ -10146,7 +10177,7 @@
 				/* begin internalPush: */
 				longAtPointerput((localSP -= BytesPerOop), thing);
 			}
-		l113:	/* end case */;
+		l110:	/* end case */;
 			break;
 		case 336: /*80*/
 			/* bytecodePrimAdd */
@@ -10173,7 +10204,7 @@
 						/* begin fetchNextBytecode */
 						currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-						goto l115;
+						goto l112;
 					}
 				}
 				else {
@@ -10188,7 +10219,7 @@
 					/* begin loadFloatOrIntFrom: */
 					if ((rcvr & 1)) {
 						rcvr1 = ((double) ((rcvr >> 1)) );
-						goto l117;
+						goto l114;
 					}
 					/* begin floatValueOf: */
 					isFloat = ((rcvr & 3) == 0)
@@ -10197,19 +10228,19 @@
 						;
 						fetchFloatAtinto(rcvr + BaseHeaderSize, result1);
 						rcvr1 = result1;
-						goto l116;
+						goto l113;
 					}
 					/* begin primitiveFail */
 					if (!GIV(primFailCode)) {
 						GIV(primFailCode) = 1;
 					}
 					rcvr1 = 0.0;
-				l116:	/* end floatValueOf: */;
-				l117:	/* end loadFloatOrIntFrom: */;
+				l113:	/* end floatValueOf: */;
+				l114:	/* end loadFloatOrIntFrom: */;
 					/* begin loadFloatOrIntFrom: */
 					if ((arg & 1)) {
 						arg1 = ((double) ((arg >> 1)) );
-						goto l119;
+						goto l116;
 					}
 					/* begin floatValueOf: */
 					isFloat1 = ((arg & 3) == 0)
@@ -10218,15 +10249,15 @@
 						;
 						fetchFloatAtinto(arg + BaseHeaderSize, result2);
 						arg1 = result2;
-						goto l118;
+						goto l115;
 					}
 					/* begin primitiveFail */
 					if (!GIV(primFailCode)) {
 						GIV(primFailCode) = 1;
 					}
 					arg1 = 0.0;
-				l118:	/* end floatValueOf: */;
-				l119:	/* end loadFloatOrIntFrom: */;
+				l115:	/* end floatValueOf: */;
+				l116:	/* end loadFloatOrIntFrom: */;
 					if (!GIV(primFailCode)) {
 						/* begin pop:thenPushFloat: */
 						longAtput((sp = GIV(stackPointer) + ((2 - 1) * BytesPerWord)), floatObjectOf(rcvr1 + arg1));
@@ -10241,7 +10272,7 @@
 						/* begin fetchNextBytecode */
 						currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-						goto l115;
+						goto l112;
 					}
 				}
 				/* begin fetchPointer:ofObject: */
@@ -10249,7 +10280,7 @@
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l115:	/* end case */;
+		l112:	/* end case */;
 			break;
 		case 337: /*81*/
 			/* bytecodePrimSubtract */
@@ -10276,7 +10307,7 @@
 						/* begin fetchNextBytecode */
 						currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-						goto l120;
+						goto l117;
 					}
 				}
 				else {
@@ -10291,7 +10322,7 @@
 					/* begin loadFloatOrIntFrom: */
 					if ((rcvr & 1)) {
 						rcvr1 = ((double) ((rcvr >> 1)) );
-						goto l122;
+						goto l119;
 					}
 					/* begin floatValueOf: */
 					isFloat = ((rcvr & 3) == 0)
@@ -10300,19 +10331,19 @@
 						;
 						fetchFloatAtinto(rcvr + BaseHeaderSize, result1);
 						rcvr1 = result1;
-						goto l121;
+						goto l118;
 					}
 					/* begin primitiveFail */
 					if (!GIV(primFailCode)) {
 						GIV(primFailCode) = 1;
 					}
 					rcvr1 = 0.0;
-				l121:	/* end floatValueOf: */;
-				l122:	/* end loadFloatOrIntFrom: */;
+				l118:	/* end floatValueOf: */;
+				l119:	/* end loadFloatOrIntFrom: */;
 					/* begin loadFloatOrIntFrom: */
 					if ((arg & 1)) {
 						arg1 = ((double) ((arg >> 1)) );
-						goto l124;
+						goto l121;
 					}
 					/* begin floatValueOf: */
 					isFloat1 = ((arg & 3) == 0)
@@ -10321,15 +10352,15 @@
 						;
 						fetchFloatAtinto(arg + BaseHeaderSize, result2);
 						arg1 = result2;
-						goto l123;
+						goto l120;
 					}
 					/* begin primitiveFail */
 					if (!GIV(primFailCode)) {
 						GIV(primFailCode) = 1;
 					}
 					arg1 = 0.0;
-				l123:	/* end floatValueOf: */;
-				l124:	/* end loadFloatOrIntFrom: */;
+				l120:	/* end floatValueOf: */;
+				l121:	/* end loadFloatOrIntFrom: */;
 					if (!GIV(primFailCode)) {
 						/* begin pop:thenPushFloat: */
 						longAtput((sp = GIV(stackPointer) + ((2 - 1) * BytesPerWord)), floatObjectOf(rcvr1 - arg1));
@@ -10344,7 +10375,7 @@
 						/* begin fetchNextBytecode */
 						currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-						goto l120;
+						goto l117;
 					}
 				}
 				/* begin fetchPointer:ofObject: */
@@ -10352,7 +10383,7 @@
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l120:	/* end case */;
+		l117:	/* end case */;
 			break;
 		case 338: /*82*/
 			/* bytecodePrimLessThanV4 */
@@ -10382,7 +10413,7 @@
 					else {
 						goto booleanCheatFalseV4;
 					}
-					goto l125;
+					goto l122;
 				}
 				/* begin initPrimCall */
 				GIV(primFailCode) = 0;
@@ -10390,7 +10421,7 @@
 				/* begin loadFloatOrIntFrom: */
 				if ((rcvr & 1)) {
 					rcvr1 = ((double) ((rcvr >> 1)) );
-					goto l127;
+					goto l124;
 				}
 				/* begin floatValueOf: */
 				isFloat = ((rcvr & 3) == 0)
@@ -10399,19 +10430,19 @@
 					;
 					fetchFloatAtinto(rcvr + BaseHeaderSize, result);
 					rcvr1 = result;
-					goto l126;
+					goto l123;
 				}
 				/* begin primitiveFail */
 				if (!GIV(primFailCode)) {
 					GIV(primFailCode) = 1;
 				}
 				rcvr1 = 0.0;
-			l126:	/* end floatValueOf: */;
-			l127:	/* end loadFloatOrIntFrom: */;
+			l123:	/* end floatValueOf: */;
+			l124:	/* end loadFloatOrIntFrom: */;
 				/* begin loadFloatOrIntFrom: */
 				if ((arg & 1)) {
 					arg1 = ((double) ((arg >> 1)) );
-					goto l129;
+					goto l126;
 				}
 				/* begin floatValueOf: */
 				isFloat1 = ((arg & 3) == 0)
@@ -10420,15 +10451,15 @@
 					;
 					fetchFloatAtinto(arg + BaseHeaderSize, result1);
 					arg1 = result1;
-					goto l128;
+					goto l125;
 				}
 				/* begin primitiveFail */
 				if (!GIV(primFailCode)) {
 					GIV(primFailCode) = 1;
 				}
 				arg1 = 0.0;
-			l128:	/* end floatValueOf: */;
-			l129:	/* end loadFloatOrIntFrom: */;
+			l125:	/* end floatValueOf: */;
+			l126:	/* end loadFloatOrIntFrom: */;
 				aBool = rcvr1 < arg1;
 				if (!GIV(primFailCode)) {
 					/* begin booleanCheatV4: */
@@ -10438,14 +10469,14 @@
 					else {
 						goto booleanCheatFalseV4;
 					}
-					goto l125;
+					goto l122;
 				}
 				/* begin fetchPointer:ofObject: */
 				GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((2 * 2) << (shiftForWord())));
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l125:	/* end case */;
+		l122:	/* end case */;
 			
 		booleanCheatTrueV4:
 			/* booleanCheatTrueV4 */
@@ -10468,7 +10499,7 @@
 						/* begin fetchNextBytecode */
 						currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-						goto l249;
+						goto l241;
 					}
 					if (bytecode == 244) {
 
@@ -10478,7 +10509,7 @@
 						/* begin fetchNextBytecode */
 						currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-						goto l249;
+						goto l241;
 					}
 					if (bytecode == 243) {
 
@@ -10489,7 +10520,7 @@
 						localIP = (localIP + offset) + 1;
 						currentBytecode = (byteAtPointer(localIP)) + GIV(bytecodeSetSelector);
 
-						goto l249;
+						goto l241;
 					}
 				}
 				currentBytecode = bytecode + GIV(bytecodeSetSelector);
@@ -10497,7 +10528,7 @@
 				/* begin internalPush: */
 				longAtPointerput((localSP -= BytesPerOop), GIV(trueObj));
 			}
-		l249:	/* end case */;
+		l241:	/* end case */;
 			break;
 		case 339: /*83*/
 			/* bytecodePrimGreaterThanV4 */
@@ -10527,7 +10558,7 @@
 					else {
 						/* goto booleanCheatFalseV4 */
 					}
-					goto l130;
+					goto l127;
 				}
 				/* begin initPrimCall */
 				GIV(primFailCode) = 0;
@@ -10535,7 +10566,7 @@
 				/* begin loadFloatOrIntFrom: */
 				if ((rcvr & 1)) {
 					rcvr1 = ((double) ((rcvr >> 1)) );
-					goto l132;
+					goto l129;
 				}
 				/* begin floatValueOf: */
 				isFloat = ((rcvr & 3) == 0)
@@ -10544,19 +10575,19 @@
 					;
 					fetchFloatAtinto(rcvr + BaseHeaderSize, result);
 					rcvr1 = result;
-					goto l131;
+					goto l128;
 				}
 				/* begin primitiveFail */
 				if (!GIV(primFailCode)) {
 					GIV(primFailCode) = 1;
 				}
 				rcvr1 = 0.0;
-			l131:	/* end floatValueOf: */;
-			l132:	/* end loadFloatOrIntFrom: */;
+			l128:	/* end floatValueOf: */;
+			l129:	/* end loadFloatOrIntFrom: */;
 				/* begin loadFloatOrIntFrom: */
 				if ((arg & 1)) {
 					arg1 = ((double) ((arg >> 1)) );
-					goto l134;
+					goto l131;
 				}
 				/* begin floatValueOf: */
 				isFloat1 = ((arg & 3) == 0)
@@ -10565,15 +10596,15 @@
 					;
 					fetchFloatAtinto(arg + BaseHeaderSize, result1);
 					arg1 = result1;
-					goto l133;
+					goto l130;
 				}
 				/* begin primitiveFail */
 				if (!GIV(primFailCode)) {
 					GIV(primFailCode) = 1;
 				}
 				arg1 = 0.0;
-			l133:	/* end floatValueOf: */;
-			l134:	/* end loadFloatOrIntFrom: */;
+			l130:	/* end floatValueOf: */;
+			l131:	/* end loadFloatOrIntFrom: */;
 				aBool = rcvr1 > arg1;
 				if (!GIV(primFailCode)) {
 					/* begin booleanCheatV4: */
@@ -10583,14 +10614,14 @@
 					else {
 						goto booleanCheatFalseV4;
 					}
-					goto l130;
+					goto l127;
 				}
 				/* begin fetchPointer:ofObject: */
 				GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((3 * 2) << (shiftForWord())));
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l130:	/* end case */;
+		l127:	/* end case */;
 			
 		booleanCheatFalseV4:
 			/* booleanCheatFalseV4 */
@@ -10614,7 +10645,7 @@
 					localIP = (localIP + (bytecode - 207)) + 1;
 					currentBytecode = (byteAtPointer(localIP)) + GIV(bytecodeSetSelector);
 
-					goto l250;
+					goto l242;
 				}
 				if (bytecode == 244) {
 
@@ -10625,14 +10656,14 @@
 					localIP = (localIP + offset) + 1;
 					currentBytecode = (byteAtPointer(localIP)) + GIV(bytecodeSetSelector);
 
-					goto l250;
+					goto l242;
 				}
 				currentBytecode = bytecode + GIV(bytecodeSetSelector);
 
 				/* begin internalPush: */
 				longAtPointerput((localSP -= BytesPerOop), GIV(falseObj));
 			}
-		l250:	/* end case */;
+		l242:	/* end case */;
 			break;
 		case 340: /*84*/
 			/* bytecodePrimLessOrEqualV4 */
@@ -10662,7 +10693,7 @@
 					else {
 						goto booleanCheatFalseV4;
 					}
-					goto l135;
+					goto l132;
 				}
 				/* begin initPrimCall */
 				GIV(primFailCode) = 0;
@@ -10670,7 +10701,7 @@
 				/* begin loadFloatOrIntFrom: */
 				if ((rcvr & 1)) {
 					rcvr1 = ((double) ((rcvr >> 1)) );
-					goto l137;
+					goto l134;
 				}
 				/* begin floatValueOf: */
 				isFloat = ((rcvr & 3) == 0)
@@ -10679,19 +10710,19 @@
 					;
 					fetchFloatAtinto(rcvr + BaseHeaderSize, result);
 					rcvr1 = result;
-					goto l136;
+					goto l133;
 				}
 				/* begin primitiveFail */
 				if (!GIV(primFailCode)) {
 					GIV(primFailCode) = 1;
 				}
 				rcvr1 = 0.0;
-			l136:	/* end floatValueOf: */;
-			l137:	/* end loadFloatOrIntFrom: */;
+			l133:	/* end floatValueOf: */;
+			l134:	/* end loadFloatOrIntFrom: */;
 				/* begin loadFloatOrIntFrom: */
 				if ((arg & 1)) {
 					arg1 = ((double) ((arg >> 1)) );
-					goto l139;
+					goto l136;
 				}
 				/* begin floatValueOf: */
 				isFloat1 = ((arg & 3) == 0)
@@ -10700,15 +10731,15 @@
 					;
 					fetchFloatAtinto(arg + BaseHeaderSize, result1);
 					arg1 = result1;
-					goto l138;
+					goto l135;
 				}
 				/* begin primitiveFail */
 				if (!GIV(primFailCode)) {
 					GIV(primFailCode) = 1;
 				}
 				arg1 = 0.0;
-			l138:	/* end floatValueOf: */;
-			l139:	/* end loadFloatOrIntFrom: */;
+			l135:	/* end floatValueOf: */;
+			l136:	/* end loadFloatOrIntFrom: */;
 				aBool = rcvr1 <= arg1;
 				if (!GIV(primFailCode)) {
 					/* begin booleanCheatV4: */
@@ -10718,14 +10749,14 @@
 					else {
 						goto booleanCheatFalseV4;
 					}
-					goto l135;
+					goto l132;
 				}
 				/* begin fetchPointer:ofObject: */
 				GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((4 * 2) << (shiftForWord())));
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l135:	/* end case */;
+		l132:	/* end case */;
 			break;
 		case 341: /*85*/
 			/* bytecodePrimGreaterOrEqualV4 */
@@ -10755,7 +10786,7 @@
 					else {
 						goto booleanCheatFalseV4;
 					}
-					goto l140;
+					goto l137;
 				}
 				/* begin initPrimCall */
 				GIV(primFailCode) = 0;
@@ -10763,7 +10794,7 @@
 				/* begin loadFloatOrIntFrom: */
 				if ((rcvr & 1)) {
 					rcvr1 = ((double) ((rcvr >> 1)) );
-					goto l142;
+					goto l139;
 				}
 				/* begin floatValueOf: */
 				isFloat = ((rcvr & 3) == 0)
@@ -10772,19 +10803,19 @@
 					;
 					fetchFloatAtinto(rcvr + BaseHeaderSize, result);
 					rcvr1 = result;
-					goto l141;
+					goto l138;
 				}
 				/* begin primitiveFail */
 				if (!GIV(primFailCode)) {
 					GIV(primFailCode) = 1;
 				}
 				rcvr1 = 0.0;
-			l141:	/* end floatValueOf: */;
-			l142:	/* end loadFloatOrIntFrom: */;
+			l138:	/* end floatValueOf: */;
+			l139:	/* end loadFloatOrIntFrom: */;
 				/* begin loadFloatOrIntFrom: */
 				if ((arg & 1)) {
 					arg1 = ((double) ((arg >> 1)) );
-					goto l144;
+					goto l141;
 				}
 				/* begin floatValueOf: */
 				isFloat1 = ((arg & 3) == 0)
@@ -10793,15 +10824,15 @@
 					;
 					fetchFloatAtinto(arg + BaseHeaderSize, result1);
 					arg1 = result1;
-					goto l143;
+					goto l140;
 				}
 				/* begin primitiveFail */
 				if (!GIV(primFailCode)) {
 					GIV(primFailCode) = 1;
 				}
 				arg1 = 0.0;
-			l143:	/* end floatValueOf: */;
-			l144:	/* end loadFloatOrIntFrom: */;
+			l140:	/* end floatValueOf: */;
+			l141:	/* end loadFloatOrIntFrom: */;
 				aBool = rcvr1 >= arg1;
 				if (!GIV(primFailCode)) {
 					/* begin booleanCheatV4: */
@@ -10811,14 +10842,14 @@
 					else {
 						goto booleanCheatFalseV4;
 					}
-					goto l140;
+					goto l137;
 				}
 				/* begin fetchPointer:ofObject: */
 				GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((5 * 2) << (shiftForWord())));
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l140:	/* end case */;
+		l137:	/* end case */;
 			break;
 		case 342: /*86*/
 			/* bytecodePrimEqualV4 */
@@ -10844,7 +10875,7 @@
 					else {
 						goto booleanCheatFalseV4;
 					}
-					goto l145;
+					goto l142;
 				}
 				/* begin initPrimCall */
 				GIV(primFailCode) = 0;
@@ -10852,7 +10883,7 @@
 				/* begin loadFloatOrIntFrom: */
 				if ((rcvr & 1)) {
 					rcvr1 = ((double) ((rcvr >> 1)) );
-					goto l147;
+					goto l144;
 				}
 				/* begin floatValueOf: */
 				isFloat = ((rcvr & 3) == 0)
@@ -10861,19 +10892,19 @@
 					;
 					fetchFloatAtinto(rcvr + BaseHeaderSize, result);
 					rcvr1 = result;
-					goto l146;
+					goto l143;
 				}
 				/* begin primitiveFail */
 				if (!GIV(primFailCode)) {
 					GIV(primFailCode) = 1;
 				}
 				rcvr1 = 0.0;
-			l146:	/* end floatValueOf: */;
-			l147:	/* end loadFloatOrIntFrom: */;
+			l143:	/* end floatValueOf: */;
+			l144:	/* end loadFloatOrIntFrom: */;
 				/* begin loadFloatOrIntFrom: */
 				if ((arg & 1)) {
 					arg1 = ((double) ((arg >> 1)) );
-					goto l149;
+					goto l146;
 				}
 				/* begin floatValueOf: */
 				isFloat1 = ((arg & 3) == 0)
@@ -10882,15 +10913,15 @@
 					;
 					fetchFloatAtinto(arg + BaseHeaderSize, result1);
 					arg1 = result1;
-					goto l148;
+					goto l145;
 				}
 				/* begin primitiveFail */
 				if (!GIV(primFailCode)) {
 					GIV(primFailCode) = 1;
 				}
 				arg1 = 0.0;
-			l148:	/* end floatValueOf: */;
-			l149:	/* end loadFloatOrIntFrom: */;
+			l145:	/* end floatValueOf: */;
+			l146:	/* end loadFloatOrIntFrom: */;
 				aBool = rcvr1 == arg1;
 				if (!GIV(primFailCode)) {
 					/* begin booleanCheatV4: */
@@ -10900,14 +10931,14 @@
 					else {
 						goto booleanCheatFalseV4;
 					}
-					goto l145;
+					goto l142;
 				}
 				/* begin fetchPointer:ofObject: */
 				GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((6 * 2) << (shiftForWord())));
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l145:	/* end case */;
+		l142:	/* end case */;
 			break;
 		case 343: /*87*/
 			/* bytecodePrimNotEqualV4 */
@@ -10933,7 +10964,7 @@
 					else {
 						goto booleanCheatFalseV4;
 					}
-					goto l150;
+					goto l147;
 				}
 				/* begin initPrimCall */
 				GIV(primFailCode) = 0;
@@ -10941,7 +10972,7 @@
 				/* begin loadFloatOrIntFrom: */
 				if ((rcvr & 1)) {
 					rcvr1 = ((double) ((rcvr >> 1)) );
-					goto l152;
+					goto l149;
 				}
 				/* begin floatValueOf: */
 				isFloat = ((rcvr & 3) == 0)
@@ -10950,19 +10981,19 @@
 					;
 					fetchFloatAtinto(rcvr + BaseHeaderSize, result);
 					rcvr1 = result;
-					goto l151;
+					goto l148;
 				}
 				/* begin primitiveFail */
 				if (!GIV(primFailCode)) {
 					GIV(primFailCode) = 1;
 				}
 				rcvr1 = 0.0;
-			l151:	/* end floatValueOf: */;
-			l152:	/* end loadFloatOrIntFrom: */;
+			l148:	/* end floatValueOf: */;
+			l149:	/* end loadFloatOrIntFrom: */;
 				/* begin loadFloatOrIntFrom: */
 				if ((arg & 1)) {
 					arg1 = ((double) ((arg >> 1)) );
-					goto l154;
+					goto l151;
 				}
 				/* begin floatValueOf: */
 				isFloat1 = ((arg & 3) == 0)
@@ -10971,15 +11002,15 @@
 					;
 					fetchFloatAtinto(arg + BaseHeaderSize, result1);
 					arg1 = result1;
-					goto l153;
+					goto l150;
 				}
 				/* begin primitiveFail */
 				if (!GIV(primFailCode)) {
 					GIV(primFailCode) = 1;
 				}
 				arg1 = 0.0;
-			l153:	/* end floatValueOf: */;
-			l154:	/* end loadFloatOrIntFrom: */;
+			l150:	/* end floatValueOf: */;
+			l151:	/* end loadFloatOrIntFrom: */;
 				aBool = rcvr1 == arg1;
 				if (!GIV(primFailCode)) {
 					/* begin booleanCheatV4: */
@@ -10989,14 +11020,14 @@
 					else {
 						goto booleanCheatFalseV4;
 					}
-					goto l150;
+					goto l147;
 				}
 				/* begin fetchPointer:ofObject: */
 				GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((7 * 2) << (shiftForWord())));
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l150:	/* end case */;
+		l147:	/* end case */;
 			break;
 		case 344: /*88*/
 			/* bytecodePrimMultiply */
@@ -11027,7 +11058,7 @@
 						/* begin fetchNextBytecode */
 						currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-						goto l155;
+						goto l152;
 					}
 				}
 				else {
@@ -11042,7 +11073,7 @@
 					/* begin loadFloatOrIntFrom: */
 					if ((rcvr & 1)) {
 						rcvr1 = ((double) ((rcvr >> 1)) );
-						goto l157;
+						goto l154;
 					}
 					/* begin floatValueOf: */
 					isFloat = ((rcvr & 3) == 0)
@@ -11051,19 +11082,19 @@
 						;
 						fetchFloatAtinto(rcvr + BaseHeaderSize, result1);
 						rcvr1 = result1;
-						goto l156;
+						goto l153;
 					}
 					/* begin primitiveFail */
 					if (!GIV(primFailCode)) {
 						GIV(primFailCode) = 1;
 					}
 					rcvr1 = 0.0;
-				l156:	/* end floatValueOf: */;
-				l157:	/* end loadFloatOrIntFrom: */;
+				l153:	/* end floatValueOf: */;
+				l154:	/* end loadFloatOrIntFrom: */;
 					/* begin loadFloatOrIntFrom: */
 					if ((arg & 1)) {
 						arg1 = ((double) ((arg >> 1)) );
-						goto l159;
+						goto l156;
 					}
 					/* begin floatValueOf: */
 					isFloat1 = ((arg & 3) == 0)
@@ -11072,15 +11103,15 @@
 						;
 						fetchFloatAtinto(arg + BaseHeaderSize, result2);
 						arg1 = result2;
-						goto l158;
+						goto l155;
 					}
 					/* begin primitiveFail */
 					if (!GIV(primFailCode)) {
 						GIV(primFailCode) = 1;
 					}
 					arg1 = 0.0;
-				l158:	/* end floatValueOf: */;
-				l159:	/* end loadFloatOrIntFrom: */;
+				l155:	/* end floatValueOf: */;
+				l156:	/* end loadFloatOrIntFrom: */;
 					if (!GIV(primFailCode)) {
 						/* begin pop:thenPushFloat: */
 						longAtput((sp = GIV(stackPointer) + ((2 - 1) * BytesPerWord)), floatObjectOf(rcvr1 * arg1));
@@ -11095,7 +11126,7 @@
 						/* begin fetchNextBytecode */
 						currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-						goto l155;
+						goto l152;
 					}
 				}
 				/* begin fetchPointer:ofObject: */
@@ -11103,7 +11134,7 @@
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l155:	/* end case */;
+		l152:	/* end case */;
 			break;
 		case 345: /*89*/
 			/* bytecodePrimDivide */
@@ -11137,7 +11168,7 @@
 							/* begin fetchNextBytecode */
 							currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-							goto l160;
+							goto l157;
 						}
 					}
 				}
@@ -11153,7 +11184,7 @@
 					/* begin loadFloatOrIntFrom: */
 					if ((rcvr & 1)) {
 						rcvr1 = ((double) ((rcvr >> 1)) );
-						goto l162;
+						goto l159;
 					}
 					/* begin floatValueOf: */
 					isFloat = ((rcvr & 3) == 0)
@@ -11162,19 +11193,19 @@
 						;
 						fetchFloatAtinto(rcvr + BaseHeaderSize, result1);
 						rcvr1 = result1;
-						goto l161;
+						goto l158;
 					}
 					/* begin primitiveFail */
 					if (!GIV(primFailCode)) {
 						GIV(primFailCode) = 1;
 					}
 					rcvr1 = 0.0;
-				l161:	/* end floatValueOf: */;
-				l162:	/* end loadFloatOrIntFrom: */;
+				l158:	/* end floatValueOf: */;
+				l159:	/* end loadFloatOrIntFrom: */;
 					/* begin loadFloatOrIntFrom: */
 					if ((arg & 1)) {
 						arg1 = ((double) ((arg >> 1)) );
-						goto l164;
+						goto l161;
 					}
 					/* begin floatValueOf: */
 					isFloat1 = ((arg & 3) == 0)
@@ -11183,15 +11214,15 @@
 						;
 						fetchFloatAtinto(arg + BaseHeaderSize, result2);
 						arg1 = result2;
-						goto l163;
+						goto l160;
 					}
 					/* begin primitiveFail */
 					if (!GIV(primFailCode)) {
 						GIV(primFailCode) = 1;
 					}
 					arg1 = 0.0;
-				l163:	/* end floatValueOf: */;
-				l164:	/* end loadFloatOrIntFrom: */;
+				l160:	/* end floatValueOf: */;
+				l161:	/* end loadFloatOrIntFrom: */;
 					/* begin success: */
 					if (!(arg1 != 0.0)) {
 
@@ -11215,7 +11246,7 @@
 						/* begin fetchNextBytecode */
 						currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-						goto l160;
+						goto l157;
 					}
 				}
 				/* begin fetchPointer:ofObject: */
@@ -11223,7 +11254,7 @@
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l160:	/* end case */;
+		l157:	/* end case */;
 			break;
 		case 346: /*90*/
 			/* bytecodePrimMod */
@@ -11240,14 +11271,14 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-					goto l165;
+					goto l162;
 				}
 				/* begin fetchPointer:ofObject: */
 				GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((10 * 2) << (shiftForWord())));
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l165:	/* end case */;
+		l162:	/* end case */;
 			break;
 		case 347: /*91*/
 			/* bytecodePrimMakePoint */
@@ -11317,13 +11348,13 @@
 							if ((GIV(freeStart) + numBytes) > (((eden()).limit))) {
 								error("no room in eden for allocateSmallNewSpaceSlots:format:classIndex:");
 								pointResult = 0;
-								goto l170;
+								goto l167;
 							}
 						}
 						long64Atput(newObj, (((((usqLong) (YIndex + 1))) << 56) + (objFormat << 24)) + ((long32At(classObj + 4)) & 0x3FFFFF));
 						GIV(freeStart) += numBytes;
 						pointResult = newObj;
-					l170:	/* end eeInstantiateSmallClass:numSlots: */;
+					l167:	/* end eeInstantiateSmallClass:numSlots: */;
 						/* begin storePointerUnchecked:ofObject:withValue: */
 						assert(!(isForwarded(pointResult)));
 						longAtput((pointResult + BaseHeaderSize) + (XIndex << (shiftForWord())), ((((rcvr >> 1)) << 1) | 1));
@@ -11362,13 +11393,13 @@
 							if ((GIV(freeStart) + numBytes1) > (((eden()).limit))) {
 								error("no room in eden for allocateSmallNewSpaceSlots:format:classIndex:");
 								pointResult1 = 0;
-								goto l167;
+								goto l164;
 							}
 						}
 						long64Atput(newObj1, (((((usqLong) (YIndex + 1))) << 56) + (objFormat1 << 24)) + ((long32At(classObj1 + 4)) & 0x3FFFFF));
 						GIV(freeStart) += numBytes1;
 						pointResult1 = newObj1;
-					l167:	/* end eeInstantiateSmallClass:numSlots: */;
+					l164:	/* end eeInstantiateSmallClass:numSlots: */;
 						/* begin storePointerUnchecked:ofObject:withValue: */
 						assert(!(isForwarded(pointResult1)));
 						longAtput((pointResult1 + BaseHeaderSize) + (XIndex << (shiftForWord())), ((((rcvr >> 1)) << 1) | 1));
@@ -11406,7 +11437,7 @@
 						}
 
 						null;
-						goto l168;
+						goto l165;
 					}
 					/* begin makePointwithxValue:yValue: */
 					/* begin eeInstantiateSmallClass:numSlots: */
@@ -11437,13 +11468,13 @@
 						if ((GIV(freeStart) + numBytes2) > (((eden()).limit))) {
 							error("no room in eden for allocateSmallNewSpaceSlots:format:classIndex:");
 							pointResult2 = 0;
-							goto l169;
+							goto l166;
 						}
 					}
 					long64Atput(newObj2, (((((usqLong) (YIndex + 1))) << 56) + (objFormat2 << 24)) + ((long32At(classObj2 + 4)) & 0x3FFFFF));
 					GIV(freeStart) += numBytes2;
 					pointResult2 = newObj2;
-				l169:	/* end eeInstantiateSmallClass:numSlots: */;
+				l166:	/* end eeInstantiateSmallClass:numSlots: */;
 					/* begin storePointerUnchecked:ofObject:withValue: */
 					assert(!(isForwarded(pointResult2)));
 					longAtput((pointResult2 + BaseHeaderSize) + (XIndex << (shiftForWord())), ((0 << 1) | 1));
@@ -11487,7 +11518,7 @@
 				/* begin pop:thenPush: */
 				longAtput((sp = GIV(stackPointer) + ((2 - 1) * BytesPerWord)), pt);
 				GIV(stackPointer) = sp;
-			l168:	/* end primitiveMakePoint */;
+			l165:	/* end primitiveMakePoint */;
 				/* begin internalizeIPandSP */
 				assert(GIV(instructionPointer) != (ceReturnToInterpreterPC()));
 				localIP = pointerForOop(GIV(instructionPointer));
@@ -11497,14 +11528,14 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-					goto l166;
+					goto l163;
 				}
 				/* begin fetchPointer:ofObject: */
 				GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((11 * 2) << (shiftForWord())));
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l166:	/* end case */;
+		l163:	/* end case */;
 			break;
 		case 348: /*92*/
 			/* bytecodePrimBitShift */
@@ -11530,7 +11561,7 @@
 						GIV(primFailCode) = 1;
 					}
 					null;
-					goto l172;
+					goto l169;
 				}
 				integerReceiver = longAt(GIV(stackPointer) + (1 * BytesPerWord));
 				integerReceiver = positive32BitValueOf(integerReceiver);
@@ -11546,7 +11577,7 @@
 								GIV(primFailCode) = 1;
 							}
 							null;
-							goto l172;
+							goto l169;
 						}
 						shifted = integerReceiver << integerArgument;
 						if (!(integerReceiver == (((usqInt) shifted) >> integerArgument))) {
@@ -11555,7 +11586,7 @@
 								GIV(primFailCode) = 1;
 							}
 							null;
-							goto l172;
+							goto l169;
 						}
 					}
 					else {
@@ -11568,7 +11599,7 @@
 								GIV(primFailCode) = 1;
 							}
 							null;
-							goto l172;
+							goto l169;
 						}
 						shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
 					}
@@ -11577,7 +11608,7 @@
 					longAtput((sp = GIV(stackPointer) + ((2 - 1) * BytesPerWord)), shifted);
 					GIV(stackPointer) = sp;
 				}
-			l172:	/* end primitiveBitShift */;
+			l169:	/* end primitiveBitShift */;
 				/* begin internalizeIPandSP */
 				assert(GIV(instructionPointer) != (ceReturnToInterpreterPC()));
 				localIP = pointerForOop(GIV(instructionPointer));
@@ -11587,14 +11618,14 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-					goto l171;
+					goto l168;
 				}
 				/* begin fetchPointer:ofObject: */
 				GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((12 * 2) << (shiftForWord())));
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l171:	/* end case */;
+		l168:	/* end case */;
 			break;
 		case 349: /*93*/
 			/* bytecodePrimDiv */
@@ -11611,14 +11642,14 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-					goto l173;
+					goto l170;
 				}
 				/* begin fetchPointer:ofObject: */
 				GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((13 * 2) << (shiftForWord())));
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l173:	/* end case */;
+		l170:	/* end case */;
 			break;
 		case 350: /*94*/
 			/* bytecodePrimBitAnd */
@@ -11672,14 +11703,14 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-					goto l174;
+					goto l171;
 				}
 				/* begin fetchPointer:ofObject: */
 				GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((14 * 2) << (shiftForWord())));
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l174:	/* end case */;
+		l171:	/* end case */;
 			break;
 		case 351: /*95*/
 			/* bytecodePrimBitOr */
@@ -11733,14 +11764,14 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-					goto l175;
+					goto l172;
 				}
 				/* begin fetchPointer:ofObject: */
 				GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((15 * 2) << (shiftForWord())));
 				GIV(argumentCount) = 1;
 				goto normalSend;
 			}
-		l175:	/* end case */;
+		l172:	/* end case */;
 			break;
 		case 352: /*96*/
 			/* bytecodePrimAt */
@@ -11790,7 +11821,7 @@
 						if (!(lookupInMethodCacheSelclassTag(GIV(messageSelector), lkupClassTag))) {
 							GIV(argumentCount) = 1;
 							goto commonSend;
-							goto l176;
+							goto l173;
 						}
 						if (primitiveFunctionPointer == primitiveAt) {
 							/* begin install:inAtCache:at:string: */
@@ -11804,7 +11835,7 @@
 
 								GIV(primFailCode) = PrimErrBadReceiver;
 								0;
-								goto l184;
+								goto l181;
 							}
 							/* begin lengthOf:format: */
 							/* begin numSlotsOfAny: */
@@ -11814,42 +11845,42 @@
 								: numSlots3);
 							if (fmt1 <= 9) {
 								totalLength = numSlots1;
-								goto l185;
+								goto l182;
 							}
 							if (fmt1 >= 16) {
 
 								/* bytes, including CompiledMethod */
 

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list