Revision: 3148 Author: eliot Date: 2014-11-24 12:21:59 -0800 (Mon, 24 Nov 2014) Log Message: ----------- CogVM source as per VMMaker.oscog-eem.956
Fix brain fade in primitive[SmallFloat]Truncated
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/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 2014-11-24 19:12:43 UTC (rev 3147) +++ branches/Cog/nscogsrc/vm/cointerp.c 2014-11-24 20:21:59 UTC (rev 3148) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.951 uuid: f669df37-8b1c-41de-b9ab-a6626a19f914 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.956 uuid: c2eb8c1e-ed43-4316-80b4-781c57cf3f1e from - CoInterpreter VMMaker.oscog-eem.951 uuid: f669df37-8b1c-41de-b9ab-a6626a19f914 + CoInterpreter VMMaker.oscog-eem.956 uuid: c2eb8c1e-ed43-4316-80b4-781c57cf3f1e */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.951 uuid: f669df37-8b1c-41de-b9ab-a6626a19f914 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.956 uuid: c2eb8c1e-ed43-4316-80b4-781c57cf3f1e " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -821,6 +821,8 @@ static sqInt eeInstantiateSmallClassnumSlots(sqInt classPointer, sqInt numSlots) NoDbgRegParms; void findStringBeginningWith(char *aCString); void findString(char *aCString); +sqInt floatObjectOf(double aFloat); +double floatValueOf(sqInt oop); void fullGC(void); static sqInt fwdTableInit(sqInt blkSize) NoDbgRegParms; static sqInt fwdTableSize(sqInt blkSize) NoDbgRegParms; @@ -854,7 +856,7 @@ void printWronglySizedContexts(sqInt printContexts); static void restoreHeadersFromtofromandtofrom(sqInt firstIn, sqInt lastIn, sqInt hdrBaseIn, sqInt firstOut, sqInt lastOut, sqInt hdrBaseOut) NoDbgRegParms; static void runLeakCheckerForFullGC(sqInt fullGCFlag) NoDbgRegParms; -static sqInt safeObjectAfter(sqInt oop) NoDbgRegParms; +static usqInt safeObjectAfter(sqInt oop) NoDbgRegParms; static sqInt safePrintStringOf(sqInt oop) NoDbgRegParms; static sqInt shortentoIndexableSize(sqInt obj, sqInt nSlots) NoDbgRegParms; static sqInt sizeBitsOfSafe(sqInt oop) NoDbgRegParms; @@ -1082,8 +1084,6 @@ sqInt findSelectorOfMethod(sqInt methArg); static char * findSPOfon(char *theFP, StackPage *thePage) NoDbgRegParms; double floatArg(sqInt index); -sqInt floatObjectOf(double aFloat); -double floatValueOf(sqInt oop); sqInt followLiteralofMethod(sqInt offset, sqInt methodPointer); sqInt forceInterruptCheck(void); static char * frameCallerFP(char *theFP) NoDbgRegParms; @@ -2093,7 +2093,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.951"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.956"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace;
@@ -4344,7 +4344,7 @@ ? ((longAt(localFP + FoxMethod)) & MFMethodFlagIsBlockFlag) != 0 : (byteAt((localFP + FoxIFrameFlags) + 3)) != 0))) { goto commonCallerReturn; - goto l254; + goto l294; } closure = longAt(localFP + (frameStackedReceiverOffsetNumArgs(((((usqInt)(longAt(localFP + FoxMethod)))) < (startOfMemory()) ? ((mframeCogMethod(localFP))->cmNumArgs) @@ -4380,11 +4380,11 @@ theMethod = longAt((home + BaseHeaderSize) + (MethodIndex << (shiftForWord()))); if ((primitiveIndexOfMethodheader(theMethod, methodHeaderOf(theMethod))) == 198) { unwindContextOrNilOrZero = home; - goto l256; + goto l296; } } unwindContextOrNilOrZero = ctxtOrNilOrZero; - l256: /* end internalFindUnwindThroughContext: */; + l296: /* end internalFindUnwindThroughContext: */; if (unwindContextOrNilOrZero == GIV(nilObj)) {
/* error: can't find home on chain; cannot return */ @@ -4396,10 +4396,10 @@ : (byteAt((localFP + FoxIFrameFlags) + 2)) != 0)) { assert(isContext(frameContext(localFP))); ourContext = longAt(localFP + FoxThisContext); - goto l258; + goto l298; } ourContext = marryFrameSP(localFP, localSP); - l258: /* end ensureFrameIsMarried:SP: */; + l298: /* end ensureFrameIsMarried:SP: */; /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), ourContext); /* begin internalPush: */ @@ -4408,7 +4408,7 @@ GIV(argumentCount) = 1; goto normalSend; /* return self */ - goto l254; + goto l294; } if (unwindContextOrNilOrZero != 0) { /* begin internalAboutToReturn:through: */ @@ -4418,10 +4418,10 @@ : (byteAt((localFP + FoxIFrameFlags) + 2)) != 0)) { assert(isContext(frameContext(localFP))); ourContext1 = longAt(localFP + FoxThisContext); - goto l255; + goto l295; } ourContext1 = marryFrameSP(localFP, localSP); - l255: /* end ensureFrameIsMarried:SP: */; + l295: /* end ensureFrameIsMarried:SP: */; /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), ourContext1); /* begin internalPush: */ @@ -4432,7 +4432,7 @@ GIV(argumentCount) = 2; goto normalSend; /* return self */ - goto l254; + goto l294; } contextToReturnTo = null; if (((longAt((home + BaseHeaderSize) + (SenderIndex << (shiftForWord())))) & 1)) { @@ -4489,10 +4489,10 @@ : (byteAt((localFP + FoxIFrameFlags) + 2)) != 0)) { assert(isContext(frameContext(localFP))); ourContext2 = longAt(localFP + FoxThisContext); - goto l257; + goto l297; } ourContext2 = marryFrameSP(localFP, localSP); - l257: /* end ensureFrameIsMarried:SP: */; + l297: /* end ensureFrameIsMarried:SP: */; /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), ourContext2); /* begin internalPush: */ @@ -4501,7 +4501,7 @@ GIV(argumentCount) = 1; goto normalSend; /* return self */ - goto l254; + goto l294; } } assert(pageListIsWellFormed()); @@ -4611,7 +4611,7 @@ GIV(framePointer) = localFP; ceEnterCogCodePopReceiverReg(); - goto l254; + goto l294; } localIP = pointerForOop(longAt(localFP + FoxIFSavedIP)); } @@ -4629,7 +4629,7 @@
/* return self */ } - l254: /* end case */; + l294: /* end case */; break; case 121: /* returnTrue */ @@ -4748,27 +4748,27 @@ fp = (thePage->headFP); if (fp == theFP) { frameAbove = 0; - goto l261; + goto l301; } while (((callerFP = frameCallerFP(fp))) != 0) { if (callerFP == theFP) { frameAbove = fp; - goto l261; + goto l301; } fp = callerFP; } error("did not find theFP in stack page"); frameAbove = 0; - l261: /* end findFrameAbove:inPage: */; + l301: /* end findFrameAbove:inPage: */; /* begin newStackPage */ lruOrFree = ((mostRecentlyUsedPage())->nextPage); if (isFree(lruOrFree)) { newPage = lruOrFree; - goto l262; + goto l302; } divorceFramesIn(lruOrFree); newPage = lruOrFree; - l262: /* end newStackPage */; + l302: /* end newStackPage */; assert(newPage == GIV(stackPage)); moveFramesInthroughtoPage(thePage, frameAbove, newPage); markStackPageMostRecentlyUsed(newPage); @@ -4792,7 +4792,7 @@ longAtput((sp2 = GIV(stackPointer) - BytesPerWord), GIV(instructionPointer)); GIV(stackPointer) = sp2; ceSendAborttonumArgs(longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SelectorCannotReturn << (shiftForWord()))), contextToReturnFrom, 1); - goto l260; + goto l300; } GIV(instructionPointer) = 0; thePage = makeBaseFrameFor(contextToReturnTo); @@ -4830,7 +4830,7 @@ GIV(framePointer) = localFP; ceEnterCogCodePopReceiverReg(); - goto l260; + goto l300; } localIP = pointerForOop(longAt(localFP + FoxIFSavedIP)); } @@ -4848,8 +4848,8 @@ currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
/* return self */ - l260: /* end baseFrameReturn */; - goto l259; + l300: /* end baseFrameReturn */; + goto l299; } /* begin frameCallerSavedIP: */ localIP = pointerForOop(longAt(localFP + FoxCallerSavedIP)); @@ -4877,7 +4877,7 @@ GIV(framePointer) = localFP; ceEnterCogCodePopReceiverReg(); - goto l259; + goto l299; } localIP = pointerForOop(longAt(localFP + FoxIFSavedIP)); } @@ -4894,7 +4894,7 @@
longAtPointerput(localSP, localReturnValue); } - l259: /* end case */; + l299: /* end case */; break; case 126: /* dynamicSuperSendBytecode */ @@ -5192,7 +5192,7 @@ GIV(newMethod) = GIV(methodCache)[probe + MethodCacheMethod]; primitiveFunctionPointer = ((void (*)()) (GIV(methodCache)[probe + MethodCachePrimFunction])); ok = 1; - goto l266; + goto l306; }
/* second probe */ @@ -5203,7 +5203,7 @@ GIV(newMethod) = GIV(methodCache)[probe + MethodCacheMethod]; primitiveFunctionPointer = ((void (*)()) (GIV(methodCache)[probe + MethodCachePrimFunction])); ok = 1; - goto l266; + goto l306; } probe = (((usqInt) hash) >> 2) & MethodCacheMask; if (((GIV(methodCache)[probe + MethodCacheSelector]) == GIV(messageSelector)) @@ -5211,10 +5211,10 @@ GIV(newMethod) = GIV(methodCache)[probe + MethodCacheMethod]; primitiveFunctionPointer = ((void (*)()) (GIV(methodCache)[probe + MethodCachePrimFunction])); ok = 1; - goto l266; + goto l306; } ok = 0; - l266: /* end inlineLookupInMethodCacheSel:classTag: */; + l306: /* end inlineLookupInMethodCacheSel:classTag: */; if (ok) { /* begin ifAppropriateCompileToNativeCode:selector: */ methodHeader2 = longAt((GIV(newMethod) + BaseHeaderSize) + (HeaderIndex << (shiftForWord()))); @@ -5252,7 +5252,7 @@ localFP = pointerForOop(GIV(framePointer)); addNewMethodToCache(GIV(lkupClass)); } - l263: /* end internalFindNewMethod */; + l303: /* end internalFindNewMethod */; /* begin internalExecuteNewMethod */ if (primitiveFunctionPointer != 0) { if ((((unsigned long) primitiveFunctionPointer)) <= MaxQuickPrimitiveIndex) { @@ -5265,31 +5265,31 @@ /* begin internalStackTopPut: */ longAtPointerput(localSP, longAt(((longAtPointer(localSP)) + BaseHeaderSize) + ((localPrimIndex - 264) << (shiftForWord())))); 1; - goto l267; + goto l307; } if (localPrimIndex == 256) { 1; - goto l267; + goto l307; } if (localPrimIndex == 257) { longAtPointerput(localSP, GIV(trueObj)); 1; - goto l267; + goto l307; } if (localPrimIndex == 258) { longAtPointerput(localSP, GIV(falseObj)); 1; - goto l267; + goto l307; } if (localPrimIndex == 259) { longAtPointerput(localSP, GIV(nilObj)); 1; - goto l267; + goto l307; } longAtPointerput(localSP, (((localPrimIndex - 261) << 1) | 1)); 1; - l267: /* end internalQuickPrimitiveResponse */; - goto l265; + l307: /* end internalQuickPrimitiveResponse */; + goto l305; } /* begin externalizeIPandSP */ assert((((usqInt)localIP)) != (ceReturnToInterpreterPC())); @@ -5349,7 +5349,7 @@ returntoExecutive(popStack(), 1); browserPluginReturnIfNeeded(); null; - goto l265; + goto l305; } } if (methodHasCogMethod(GIV(newMethod))) { @@ -5430,11 +5430,11 @@ table = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (PrimErrTableIndex << (shiftForWord()))); if (GIV(primFailCode) <= ((lastPointerOf(table)) / BytesPerWord)) { errorCode = longAt((table + BaseHeaderSize) + ((GIV(primFailCode) - 1) << (shiftForWord()))); - goto l264; + goto l304; } } errorCode = ((GIV(primFailCode) << 1) | 1); - l264: /* end getErrorObjectFromPrimFailCode */; + l304: /* end getErrorObjectFromPrimFailCode */; longAtPointerput(localSP, errorCode); } GIV(primFailCode) = 0; @@ -5458,7 +5458,7 @@ localFP = pointerForOop(GIV(framePointer)); } } - l265: /* end internalExecuteNewMethod */; + l305: /* end internalExecuteNewMethod */; /* begin fetchNextBytecode */ currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
@@ -6408,53 +6408,54 @@ /* begin loadFloatOrIntFrom: */ if ((rcvr & 1)) { rcvr1 = ((double) ((rcvr >> 1)) ); - goto l17; + goto l18; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((rcvr & 1)) { isFloat = 0; - goto l16; + goto l17; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((rcvr & 1))); ccIndex = (((usqInt) (longAt(rcvr))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex == 0) { isFloat = ((longAt(rcvr - BaseHeaderSize)) & AllButTypeMask) == classOop; - goto l16; + goto l21; } isFloat = ClassFloatCompactIndex == ccIndex; - goto l16; + goto l21;
isFloat = classOop == (fetchPointerofObject(ccIndex - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l16: /* end is:instanceOf:compactClassIndex: */; + l21: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l17: /* end is:instanceOf:compactClassIndex: */; if (isFloat) { ; fetchFloatAtinto(rcvr + BaseHeaderSize, result1); rcvr1 = result1; - goto l19; + goto l16; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } rcvr1 = 0.0; - l19: /* end floatValueOf: */; - l17: /* end loadFloatOrIntFrom: */; + l16: /* end floatValueOf: */; + l18: /* end loadFloatOrIntFrom: */; /* begin loadFloatOrIntFrom: */ if ((arg & 1)) { arg1 = ((double) ((arg >> 1)) ); - goto l20; + goto l22; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((arg & 1)) { isFloat1 = 0; - goto l15; + goto l20; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((arg & 1))); ccIndex1 = (((usqInt) (longAt(arg))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex1 == 0) { @@ -6465,20 +6466,21 @@ goto l15;
isFloat1 = classOop1 == (fetchPointerofObject(ccIndex1 - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l15: /* end is:instanceOf:compactClassIndex: */; + l15: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l20: /* end is:instanceOf:compactClassIndex: */; if (isFloat1) { ; fetchFloatAtinto(arg + BaseHeaderSize, result2); arg1 = result2; - goto l18; + goto l19; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } arg1 = 0.0; - l18: /* end floatValueOf: */; - l20: /* end loadFloatOrIntFrom: */; + l19: /* end floatValueOf: */; + l22: /* end loadFloatOrIntFrom: */; if (!GIV(primFailCode)) { /* begin pop:thenPushFloat: */ longAtput((sp = GIV(stackPointer) + ((2 - 1) * BytesPerWord)), floatObjectOf(rcvr1 + arg1)); @@ -6532,7 +6534,7 @@ /* begin fetchNextBytecode */ currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
- goto l21; + goto l23; } } else { @@ -6547,77 +6549,79 @@ /* begin loadFloatOrIntFrom: */ if ((rcvr & 1)) { rcvr1 = ((double) ((rcvr >> 1)) ); - goto l24; + goto l27; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((rcvr & 1)) { isFloat = 0; - goto l23; + goto l26; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((rcvr & 1))); ccIndex = (((usqInt) (longAt(rcvr))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex == 0) { isFloat = ((longAt(rcvr - BaseHeaderSize)) & AllButTypeMask) == classOop; - goto l23; + goto l30; } isFloat = ClassFloatCompactIndex == ccIndex; - goto l23; + goto l30;
isFloat = classOop == (fetchPointerofObject(ccIndex - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l23: /* end is:instanceOf:compactClassIndex: */; + l30: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l26: /* end is:instanceOf:compactClassIndex: */; if (isFloat) { ; fetchFloatAtinto(rcvr + BaseHeaderSize, result1); rcvr1 = result1; - goto l26; + goto l25; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } rcvr1 = 0.0; - l26: /* end floatValueOf: */; - l24: /* end loadFloatOrIntFrom: */; + l25: /* end floatValueOf: */; + l27: /* end loadFloatOrIntFrom: */; /* begin loadFloatOrIntFrom: */ if ((arg & 1)) { arg1 = ((double) ((arg >> 1)) ); - goto l27; + goto l31; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((arg & 1)) { isFloat1 = 0; - goto l22; + goto l29; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((arg & 1))); ccIndex1 = (((usqInt) (longAt(arg))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex1 == 0) { isFloat1 = ((longAt(arg - BaseHeaderSize)) & AllButTypeMask) == classOop1; - goto l22; + goto l24; } isFloat1 = ClassFloatCompactIndex == ccIndex1; - goto l22; + goto l24;
isFloat1 = classOop1 == (fetchPointerofObject(ccIndex1 - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l22: /* end is:instanceOf:compactClassIndex: */; + l24: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l29: /* end is:instanceOf:compactClassIndex: */; if (isFloat1) { ; fetchFloatAtinto(arg + BaseHeaderSize, result2); arg1 = result2; - goto l25; + goto l28; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } arg1 = 0.0; - l25: /* end floatValueOf: */; - l27: /* end loadFloatOrIntFrom: */; + l28: /* end floatValueOf: */; + l31: /* end loadFloatOrIntFrom: */; if (!GIV(primFailCode)) { /* begin pop:thenPushFloat: */ longAtput((sp = GIV(stackPointer) + ((2 - 1) * BytesPerWord)), floatObjectOf(rcvr1 - arg1)); @@ -6632,7 +6636,7 @@ /* begin fetchNextBytecode */ currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
- goto l21; + goto l23; } } /* begin fetchPointer:ofObject: */ @@ -6640,7 +6644,7 @@ GIV(argumentCount) = 1; goto normalSend; } - l21: /* end case */; + l23: /* end case */; break; case 178: /* bytecodePrimLessThan */ @@ -6674,7 +6678,7 @@ else { goto booleanCheatFalse; } - goto l28; + goto l32; } /* begin initPrimCall */ GIV(primFailCode) = 0; @@ -6682,77 +6686,79 @@ /* begin loadFloatOrIntFrom: */ if ((rcvr & 1)) { rcvr1 = ((double) ((rcvr >> 1)) ); - goto l31; + goto l36; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((rcvr & 1)) { isFloat = 0; - goto l30; + goto l35; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((rcvr & 1))); ccIndex = (((usqInt) (longAt(rcvr))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex == 0) { isFloat = ((longAt(rcvr - BaseHeaderSize)) & AllButTypeMask) == classOop; - goto l30; + goto l39; } isFloat = ClassFloatCompactIndex == ccIndex; - goto l30; + goto l39;
isFloat = classOop == (fetchPointerofObject(ccIndex - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l30: /* end is:instanceOf:compactClassIndex: */; + l39: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l35: /* end is:instanceOf:compactClassIndex: */; if (isFloat) { ; fetchFloatAtinto(rcvr + BaseHeaderSize, result); rcvr1 = result; - goto l33; + goto l34; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } rcvr1 = 0.0; - l33: /* end floatValueOf: */; - l31: /* end loadFloatOrIntFrom: */; + l34: /* end floatValueOf: */; + l36: /* end loadFloatOrIntFrom: */; /* begin loadFloatOrIntFrom: */ if ((arg & 1)) { arg1 = ((double) ((arg >> 1)) ); - goto l34; + goto l40; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((arg & 1)) { isFloat1 = 0; - goto l29; + goto l38; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((arg & 1))); ccIndex1 = (((usqInt) (longAt(arg))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex1 == 0) { isFloat1 = ((longAt(arg - BaseHeaderSize)) & AllButTypeMask) == classOop1; - goto l29; + goto l33; } isFloat1 = ClassFloatCompactIndex == ccIndex1; - goto l29; + goto l33;
isFloat1 = classOop1 == (fetchPointerofObject(ccIndex1 - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l29: /* end is:instanceOf:compactClassIndex: */; + l33: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l38: /* end is:instanceOf:compactClassIndex: */; if (isFloat1) { ; fetchFloatAtinto(arg + BaseHeaderSize, result1); arg1 = result1; - goto l32; + goto l37; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } arg1 = 0.0; - l32: /* end floatValueOf: */; - l34: /* end loadFloatOrIntFrom: */; + l37: /* end floatValueOf: */; + l40: /* end loadFloatOrIntFrom: */; aBool = rcvr1 < arg1; if (!GIV(primFailCode)) { /* begin booleanCheat: */ @@ -6762,14 +6768,14 @@ else { goto booleanCheatFalse; } - goto l28; + goto l32; } /* begin fetchPointer:ofObject: */ GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((2 * 2) << (shiftForWord()))); GIV(argumentCount) = 1; goto normalSend; } - l28: /* end case */; + l32: /* end case */; booleanCheatTrue: /* booleanCheatTrue */ @@ -6793,7 +6799,7 @@ /* begin fetchNextBytecode */ currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
- goto l268; + goto l308; } if (bytecode == 172) {
@@ -6803,7 +6809,7 @@ /* begin fetchNextBytecode */ currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
- goto l268; + goto l308; } if (bytecode > 167) {
@@ -6814,7 +6820,7 @@ localIP = (localIP + offset) + 1; currentBytecode = (byteAtPointer(localIP)) + GIV(bytecodeSetSelector);
- goto l268; + goto l308; } } currentBytecode = bytecode + GIV(bytecodeSetSelector); @@ -6822,7 +6828,7 @@ /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), GIV(trueObj)); } - l268: /* end case */; + l308: /* end case */; break; case 179: /* bytecodePrimGreaterThan */ @@ -6856,7 +6862,7 @@ else { /* goto booleanCheatFalse */ } - goto l35; + goto l41; } /* begin initPrimCall */ GIV(primFailCode) = 0; @@ -6864,77 +6870,79 @@ /* begin loadFloatOrIntFrom: */ if ((rcvr & 1)) { rcvr1 = ((double) ((rcvr >> 1)) ); - goto l38; + goto l45; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((rcvr & 1)) { isFloat = 0; - goto l37; + goto l44; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((rcvr & 1))); ccIndex = (((usqInt) (longAt(rcvr))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex == 0) { isFloat = ((longAt(rcvr - BaseHeaderSize)) & AllButTypeMask) == classOop; - goto l37; + goto l48; } isFloat = ClassFloatCompactIndex == ccIndex; - goto l37; + goto l48;
isFloat = classOop == (fetchPointerofObject(ccIndex - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l37: /* end is:instanceOf:compactClassIndex: */; + l48: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l44: /* end is:instanceOf:compactClassIndex: */; if (isFloat) { ; fetchFloatAtinto(rcvr + BaseHeaderSize, result); rcvr1 = result; - goto l40; + goto l43; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } rcvr1 = 0.0; - l40: /* end floatValueOf: */; - l38: /* end loadFloatOrIntFrom: */; + l43: /* end floatValueOf: */; + l45: /* end loadFloatOrIntFrom: */; /* begin loadFloatOrIntFrom: */ if ((arg & 1)) { arg1 = ((double) ((arg >> 1)) ); - goto l41; + goto l49; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((arg & 1)) { isFloat1 = 0; - goto l36; + goto l47; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((arg & 1))); ccIndex1 = (((usqInt) (longAt(arg))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex1 == 0) { isFloat1 = ((longAt(arg - BaseHeaderSize)) & AllButTypeMask) == classOop1; - goto l36; + goto l42; } isFloat1 = ClassFloatCompactIndex == ccIndex1; - goto l36; + goto l42;
isFloat1 = classOop1 == (fetchPointerofObject(ccIndex1 - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l36: /* end is:instanceOf:compactClassIndex: */; + l42: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l47: /* end is:instanceOf:compactClassIndex: */; if (isFloat1) { ; fetchFloatAtinto(arg + BaseHeaderSize, result1); arg1 = result1; - goto l39; + goto l46; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } arg1 = 0.0; - l39: /* end floatValueOf: */; - l41: /* end loadFloatOrIntFrom: */; + l46: /* end floatValueOf: */; + l49: /* end loadFloatOrIntFrom: */; aBool = rcvr1 > arg1; if (!GIV(primFailCode)) { /* begin booleanCheat: */ @@ -6944,14 +6952,14 @@ else { goto booleanCheatFalse; } - goto l35; + goto l41; } /* begin fetchPointer:ofObject: */ GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((3 * 2) << (shiftForWord()))); GIV(argumentCount) = 1; goto normalSend; } - l35: /* end case */; + l41: /* end case */; booleanCheatFalse: /* booleanCheatFalse */ @@ -6975,7 +6983,7 @@ localIP = (localIP + (bytecode - 151)) + 1; currentBytecode = (byteAtPointer(localIP)) + GIV(bytecodeSetSelector);
- goto l269; + goto l309; } if (bytecode == 172) {
@@ -6986,14 +6994,14 @@ localIP = (localIP + offset) + 1; currentBytecode = (byteAtPointer(localIP)) + GIV(bytecodeSetSelector);
- goto l269; + goto l309; } currentBytecode = bytecode + GIV(bytecodeSetSelector);
/* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), GIV(falseObj)); } - l269: /* end case */; + l309: /* end case */; break; case 180: /* bytecodePrimLessOrEqual */ @@ -7027,7 +7035,7 @@ else { goto booleanCheatFalse; } - goto l42; + goto l50; } /* begin initPrimCall */ GIV(primFailCode) = 0; @@ -7035,77 +7043,79 @@ /* begin loadFloatOrIntFrom: */ if ((rcvr & 1)) { rcvr1 = ((double) ((rcvr >> 1)) ); - goto l45; + goto l54; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((rcvr & 1)) { isFloat = 0; - goto l44; + goto l53; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((rcvr & 1))); ccIndex = (((usqInt) (longAt(rcvr))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex == 0) { isFloat = ((longAt(rcvr - BaseHeaderSize)) & AllButTypeMask) == classOop; - goto l44; + goto l57; } isFloat = ClassFloatCompactIndex == ccIndex; - goto l44; + goto l57;
isFloat = classOop == (fetchPointerofObject(ccIndex - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l44: /* end is:instanceOf:compactClassIndex: */; + l57: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l53: /* end is:instanceOf:compactClassIndex: */; if (isFloat) { ; fetchFloatAtinto(rcvr + BaseHeaderSize, result); rcvr1 = result; - goto l47; + goto l52; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } rcvr1 = 0.0; - l47: /* end floatValueOf: */; - l45: /* end loadFloatOrIntFrom: */; + l52: /* end floatValueOf: */; + l54: /* end loadFloatOrIntFrom: */; /* begin loadFloatOrIntFrom: */ if ((arg & 1)) { arg1 = ((double) ((arg >> 1)) ); - goto l48; + goto l58; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((arg & 1)) { isFloat1 = 0; - goto l43; + goto l56; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((arg & 1))); ccIndex1 = (((usqInt) (longAt(arg))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex1 == 0) { isFloat1 = ((longAt(arg - BaseHeaderSize)) & AllButTypeMask) == classOop1; - goto l43; + goto l51; } isFloat1 = ClassFloatCompactIndex == ccIndex1; - goto l43; + goto l51;
isFloat1 = classOop1 == (fetchPointerofObject(ccIndex1 - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l43: /* end is:instanceOf:compactClassIndex: */; + l51: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l56: /* end is:instanceOf:compactClassIndex: */; if (isFloat1) { ; fetchFloatAtinto(arg + BaseHeaderSize, result1); arg1 = result1; - goto l46; + goto l55; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } arg1 = 0.0; - l46: /* end floatValueOf: */; - l48: /* end loadFloatOrIntFrom: */; + l55: /* end floatValueOf: */; + l58: /* end loadFloatOrIntFrom: */; aBool = rcvr1 <= arg1; if (!GIV(primFailCode)) { /* begin booleanCheat: */ @@ -7115,14 +7125,14 @@ else { goto booleanCheatFalse; } - goto l42; + goto l50; } /* begin fetchPointer:ofObject: */ GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((4 * 2) << (shiftForWord()))); GIV(argumentCount) = 1; goto normalSend; } - l42: /* end case */; + l50: /* end case */; break; case 181: /* bytecodePrimGreaterOrEqual */ @@ -7156,7 +7166,7 @@ else { goto booleanCheatFalse; } - goto l49; + goto l59; } /* begin initPrimCall */ GIV(primFailCode) = 0; @@ -7164,77 +7174,79 @@ /* begin loadFloatOrIntFrom: */ if ((rcvr & 1)) { rcvr1 = ((double) ((rcvr >> 1)) ); - goto l52; + goto l63; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((rcvr & 1)) { isFloat = 0; - goto l51; + goto l62; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((rcvr & 1))); ccIndex = (((usqInt) (longAt(rcvr))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex == 0) { isFloat = ((longAt(rcvr - BaseHeaderSize)) & AllButTypeMask) == classOop; - goto l51; + goto l66; } isFloat = ClassFloatCompactIndex == ccIndex; - goto l51; + goto l66;
isFloat = classOop == (fetchPointerofObject(ccIndex - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l51: /* end is:instanceOf:compactClassIndex: */; + l66: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l62: /* end is:instanceOf:compactClassIndex: */; if (isFloat) { ; fetchFloatAtinto(rcvr + BaseHeaderSize, result); rcvr1 = result; - goto l54; + goto l61; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } rcvr1 = 0.0; - l54: /* end floatValueOf: */; - l52: /* end loadFloatOrIntFrom: */; + l61: /* end floatValueOf: */; + l63: /* end loadFloatOrIntFrom: */; /* begin loadFloatOrIntFrom: */ if ((arg & 1)) { arg1 = ((double) ((arg >> 1)) ); - goto l55; + goto l67; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((arg & 1)) { isFloat1 = 0; - goto l50; + goto l65; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((arg & 1))); ccIndex1 = (((usqInt) (longAt(arg))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex1 == 0) { isFloat1 = ((longAt(arg - BaseHeaderSize)) & AllButTypeMask) == classOop1; - goto l50; + goto l60; } isFloat1 = ClassFloatCompactIndex == ccIndex1; - goto l50; + goto l60;
isFloat1 = classOop1 == (fetchPointerofObject(ccIndex1 - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l50: /* end is:instanceOf:compactClassIndex: */; + l60: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l65: /* end is:instanceOf:compactClassIndex: */; if (isFloat1) { ; fetchFloatAtinto(arg + BaseHeaderSize, result1); arg1 = result1; - goto l53; + goto l64; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } arg1 = 0.0; - l53: /* end floatValueOf: */; - l55: /* end loadFloatOrIntFrom: */; + l64: /* end floatValueOf: */; + l67: /* end loadFloatOrIntFrom: */; aBool = rcvr1 >= arg1; if (!GIV(primFailCode)) { /* begin booleanCheat: */ @@ -7244,14 +7256,14 @@ else { goto booleanCheatFalse; } - goto l49; + goto l59; } /* begin fetchPointer:ofObject: */ GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((5 * 2) << (shiftForWord()))); GIV(argumentCount) = 1; goto normalSend; } - l49: /* end case */; + l59: /* end case */; break; case 182: /* bytecodePrimEqual */ @@ -7281,7 +7293,7 @@ else { goto booleanCheatFalse; } - goto l56; + goto l68; } /* begin initPrimCall */ GIV(primFailCode) = 0; @@ -7289,77 +7301,79 @@ /* begin loadFloatOrIntFrom: */ if ((rcvr & 1)) { rcvr1 = ((double) ((rcvr >> 1)) ); - goto l59; + goto l72; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((rcvr & 1)) { isFloat = 0; - goto l58; + goto l71; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((rcvr & 1))); ccIndex = (((usqInt) (longAt(rcvr))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex == 0) { isFloat = ((longAt(rcvr - BaseHeaderSize)) & AllButTypeMask) == classOop; - goto l58; + goto l75; } isFloat = ClassFloatCompactIndex == ccIndex; - goto l58; + goto l75;
isFloat = classOop == (fetchPointerofObject(ccIndex - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l58: /* end is:instanceOf:compactClassIndex: */; + l75: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l71: /* end is:instanceOf:compactClassIndex: */; if (isFloat) { ; fetchFloatAtinto(rcvr + BaseHeaderSize, result); rcvr1 = result; - goto l61; + goto l70; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } rcvr1 = 0.0; - l61: /* end floatValueOf: */; - l59: /* end loadFloatOrIntFrom: */; + l70: /* end floatValueOf: */; + l72: /* end loadFloatOrIntFrom: */; /* begin loadFloatOrIntFrom: */ if ((arg & 1)) { arg1 = ((double) ((arg >> 1)) ); - goto l62; + goto l76; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((arg & 1)) { isFloat1 = 0; - goto l57; + goto l74; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((arg & 1))); ccIndex1 = (((usqInt) (longAt(arg))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex1 == 0) { isFloat1 = ((longAt(arg - BaseHeaderSize)) & AllButTypeMask) == classOop1; - goto l57; + goto l69; } isFloat1 = ClassFloatCompactIndex == ccIndex1; - goto l57; + goto l69;
isFloat1 = classOop1 == (fetchPointerofObject(ccIndex1 - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l57: /* end is:instanceOf:compactClassIndex: */; + l69: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l74: /* end is:instanceOf:compactClassIndex: */; if (isFloat1) { ; fetchFloatAtinto(arg + BaseHeaderSize, result1); arg1 = result1; - goto l60; + goto l73; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } arg1 = 0.0; - l60: /* end floatValueOf: */; - l62: /* end loadFloatOrIntFrom: */; + l73: /* end floatValueOf: */; + l76: /* end loadFloatOrIntFrom: */; aBool = rcvr1 == arg1; if (!GIV(primFailCode)) { /* begin booleanCheat: */ @@ -7369,14 +7383,14 @@ else { goto booleanCheatFalse; } - goto l56; + goto l68; } /* begin fetchPointer:ofObject: */ GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((6 * 2) << (shiftForWord()))); GIV(argumentCount) = 1; goto normalSend; } - l56: /* end case */; + l68: /* end case */; break; case 183: /* bytecodePrimNotEqual */ @@ -7406,7 +7420,7 @@ else { goto booleanCheatFalse; } - goto l63; + goto l77; } /* begin initPrimCall */ GIV(primFailCode) = 0; @@ -7414,77 +7428,79 @@ /* begin loadFloatOrIntFrom: */ if ((rcvr & 1)) { rcvr1 = ((double) ((rcvr >> 1)) ); - goto l66; + goto l81; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((rcvr & 1)) { isFloat = 0; - goto l65; + goto l80; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((rcvr & 1))); ccIndex = (((usqInt) (longAt(rcvr))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex == 0) { isFloat = ((longAt(rcvr - BaseHeaderSize)) & AllButTypeMask) == classOop; - goto l65; + goto l84; } isFloat = ClassFloatCompactIndex == ccIndex; - goto l65; + goto l84;
isFloat = classOop == (fetchPointerofObject(ccIndex - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l65: /* end is:instanceOf:compactClassIndex: */; + l84: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l80: /* end is:instanceOf:compactClassIndex: */; if (isFloat) { ; fetchFloatAtinto(rcvr + BaseHeaderSize, result); rcvr1 = result; - goto l68; + goto l79; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } rcvr1 = 0.0; - l68: /* end floatValueOf: */; - l66: /* end loadFloatOrIntFrom: */; + l79: /* end floatValueOf: */; + l81: /* end loadFloatOrIntFrom: */; /* begin loadFloatOrIntFrom: */ if ((arg & 1)) { arg1 = ((double) ((arg >> 1)) ); - goto l69; + goto l85; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((arg & 1)) { isFloat1 = 0; - goto l64; + goto l83; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((arg & 1))); ccIndex1 = (((usqInt) (longAt(arg))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex1 == 0) { isFloat1 = ((longAt(arg - BaseHeaderSize)) & AllButTypeMask) == classOop1; - goto l64; + goto l78; } isFloat1 = ClassFloatCompactIndex == ccIndex1; - goto l64; + goto l78;
isFloat1 = classOop1 == (fetchPointerofObject(ccIndex1 - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l64: /* end is:instanceOf:compactClassIndex: */; + l78: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l83: /* end is:instanceOf:compactClassIndex: */; if (isFloat1) { ; fetchFloatAtinto(arg + BaseHeaderSize, result1); arg1 = result1; - goto l67; + goto l82; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } arg1 = 0.0; - l67: /* end floatValueOf: */; - l69: /* end loadFloatOrIntFrom: */; + l82: /* end floatValueOf: */; + l85: /* end loadFloatOrIntFrom: */; aBool = rcvr1 == arg1; if (!GIV(primFailCode)) { /* begin booleanCheat: */ @@ -7494,14 +7510,14 @@ else { goto booleanCheatFalse; } - goto l63; + goto l77; } /* begin fetchPointer:ofObject: */ GIV(messageSelector) = longAt(((longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SpecialSelectors << (shiftForWord())))) + BaseHeaderSize) + ((7 * 2) << (shiftForWord()))); GIV(argumentCount) = 1; goto normalSend; } - l63: /* end case */; + l77: /* end case */; break; case 184: /* bytecodePrimMultiply */ @@ -7536,7 +7552,7 @@ /* begin fetchNextBytecode */ currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
- goto l70; + goto l86; } } else { @@ -7551,77 +7567,79 @@ /* begin loadFloatOrIntFrom: */ if ((rcvr & 1)) { rcvr1 = ((double) ((rcvr >> 1)) ); - goto l73; + goto l90; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((rcvr & 1)) { isFloat = 0; - goto l72; + goto l89; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((rcvr & 1))); ccIndex = (((usqInt) (longAt(rcvr))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex == 0) { isFloat = ((longAt(rcvr - BaseHeaderSize)) & AllButTypeMask) == classOop; - goto l72; + goto l93; } isFloat = ClassFloatCompactIndex == ccIndex; - goto l72; + goto l93;
isFloat = classOop == (fetchPointerofObject(ccIndex - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l72: /* end is:instanceOf:compactClassIndex: */; + l93: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l89: /* end is:instanceOf:compactClassIndex: */; if (isFloat) { ; fetchFloatAtinto(rcvr + BaseHeaderSize, result1); rcvr1 = result1; - goto l75; + goto l88; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } rcvr1 = 0.0; - l75: /* end floatValueOf: */; - l73: /* end loadFloatOrIntFrom: */; + l88: /* end floatValueOf: */; + l90: /* end loadFloatOrIntFrom: */; /* begin loadFloatOrIntFrom: */ if ((arg & 1)) { arg1 = ((double) ((arg >> 1)) ); - goto l76; + goto l94; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((arg & 1)) { isFloat1 = 0; - goto l71; + goto l92; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop1 = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((arg & 1))); ccIndex1 = (((usqInt) (longAt(arg))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex1 == 0) { isFloat1 = ((longAt(arg - BaseHeaderSize)) & AllButTypeMask) == classOop1; - goto l71; + goto l87; } isFloat1 = ClassFloatCompactIndex == ccIndex1; - goto l71; + goto l87;
isFloat1 = classOop1 == (fetchPointerofObject(ccIndex1 - 1, longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (CompactClasses << (shiftForWord()))))); - l71: /* end is:instanceOf:compactClassIndex: */; + l87: /* end isClassOfNonImm:equalTo:compactClassIndex: */; + l92: /* end is:instanceOf:compactClassIndex: */; if (isFloat1) { ; fetchFloatAtinto(arg + BaseHeaderSize, result2); arg1 = result2; - goto l74; + goto l91; } /* begin primitiveFail */ if (!GIV(primFailCode)) { GIV(primFailCode) = 1; } arg1 = 0.0; - l74: /* end floatValueOf: */; - l76: /* end loadFloatOrIntFrom: */; + l91: /* end floatValueOf: */; + l94: /* end loadFloatOrIntFrom: */; if (!GIV(primFailCode)) { /* begin pop:thenPushFloat: */ longAtput((sp = GIV(stackPointer) + ((2 - 1) * BytesPerWord)), floatObjectOf(rcvr1 * arg1)); @@ -7636,7 +7654,7 @@ /* begin fetchNextBytecode */ currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
- goto l70; + goto l86; } } /* begin fetchPointer:ofObject: */ @@ -7644,7 +7662,7 @@ GIV(argumentCount) = 1; goto normalSend; } - l70: /* end case */; + l86: /* end case */; break; case 185: /* bytecodePrimDivide */ @@ -7682,7 +7700,7 @@ /* begin fetchNextBytecode */ currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
- goto l77; + goto l95; } } } @@ -7698,77 +7716,79 @@ /* begin loadFloatOrIntFrom: */ if ((rcvr & 1)) { rcvr1 = ((double) ((rcvr >> 1)) ); - goto l80; + goto l99; } /* begin floatValueOf: */ /* begin is:instanceOf:compactClassIndex: */ - classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); if ((rcvr & 1)) { isFloat = 0; - goto l79; + goto l98; } /* begin isClassOfNonImm:equalTo:compactClassIndex: */ + classOop = longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (ClassFloat << (shiftForWord()))); assert(!((rcvr & 1))); ccIndex = (((usqInt) (longAt(rcvr))) >> (compactClassFieldLSB())) & 0x1F; if (ccIndex == 0) { isFloat = ((longAt(rcvr - BaseHeaderSize)) & AllButTypeMask) == classOop; - goto l79; + goto l102; } isFloat = ClassFloatCompactIndex == ccIndex; - goto l79; + goto l102;
@@ Diff output truncated at 50000 characters. @@
vm-dev@lists.squeakfoundation.org