[Vm-dev] [commit][3148] CogVM source as per VMMaker.oscog-eem.956
commits at squeakvm.org
commits at squeakvm.org
Mon Nov 24 20:22:04 UTC 2014
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. @@
More information about the Vm-dev
mailing list