[Vm-dev] [commit][3661] CogVM source as per VMMaker.oscog-eem.1746
commits at squeakvm.org
commits at squeakvm.org
Mon Mar 28 22:36:04 UTC 2016
Revision: 3661
Author: eliot
Date: 2016-03-28 15:36:02 -0700 (Mon, 28 Mar 2016)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1746
Slang:
Beware: sending abs to an unsigned int will re-interpret the int as signed and
will generate C compiler warnings. The new version uses SQABS and SQLABS macros
on sqInt and sqLong vars, and fabs and fabsf on double and float argsa, and
llabs on long long, __int64 vars.
LargeIntegersPlugin:
Finish 1st round of LargeIntegers refactoring
- simplify the left and right shift
- use as much unsigned arithmetic as possible
- homogenize type declaration within the plugin
- remove unused digitOf:at:
Refactor LargeIntegers in order to prepare the avent of digits larger than 8 bits.
Most of these refactorings are already applied in classic interpreter VMMaker branch.
Half message were named #bytesOp, the other #digitOp...
Homogenize all message names as #digitOp.
Also homogenize C core message names #cCoreBytes #cCoreDigit #cBytes -> #cDigit...
Rename the rest of #bytes message (whose purpose is to operate on bytesObjects) -> #largeInt (whose effective use is to operate on largeIntegerObjects). This makes the intention a bit clearer.
Remove unused #negative:
Remove debugging stub #think
Spur Cogit:
Rewrote identity primitive to check for forwarders only when the identity of
objects is different. The previous version woudl crash if the argument was a
forwarder to an immediate.
Modified Paths:
--------------
branches/Cog/nsspur64src/vm/cogit.h
branches/Cog/nsspur64src/vm/cogitX64.c
branches/Cog/nsspur64src/vm/cointerp.c
branches/Cog/nsspur64src/vm/cointerp.h
branches/Cog/nsspur64src/vm/gcc3x-cointerp.c
branches/Cog/nsspursrc/vm/cogit.h
branches/Cog/nsspursrc/vm/cogitARMv5.c
branches/Cog/nsspursrc/vm/cogitIA32.c
branches/Cog/nsspursrc/vm/cogitMIPSEL.c
branches/Cog/nsspursrc/vm/cointerp.c
branches/Cog/nsspursrc/vm/cointerp.h
branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
branches/Cog/nsspurstack64src/vm/gcc3x-interp.c
branches/Cog/nsspurstack64src/vm/interp.c
branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
branches/Cog/nsspurstacksrc/vm/interp.c
branches/Cog/spur64src/vm/cogit.h
branches/Cog/spur64src/vm/cogitX64.c
branches/Cog/spur64src/vm/cointerp.c
branches/Cog/spur64src/vm/cointerp.h
branches/Cog/spur64src/vm/gcc3x-cointerp.c
branches/Cog/spursistasrc/vm/cogit.h
branches/Cog/spursistasrc/vm/cogitARMv5.c
branches/Cog/spursistasrc/vm/cogitIA32.c
branches/Cog/spursistasrc/vm/cogitMIPSEL.c
branches/Cog/spursistasrc/vm/cointerp.c
branches/Cog/spursistasrc/vm/cointerp.h
branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
branches/Cog/spursrc/vm/cogit.h
branches/Cog/spursrc/vm/cogitARMv5.c
branches/Cog/spursrc/vm/cogitIA32.c
branches/Cog/spursrc/vm/cogitMIPSEL.c
branches/Cog/spursrc/vm/cointerp.c
branches/Cog/spursrc/vm/cointerp.h
branches/Cog/spursrc/vm/gcc3x-cointerp.c
branches/Cog/spurstack64src/vm/gcc3x-interp.c
branches/Cog/spurstack64src/vm/interp.c
branches/Cog/spurstacksrc/vm/gcc3x-interp.c
branches/Cog/spurstacksrc/vm/interp.c
branches/Cog/src/plugins/BitBltPlugin/BitBltPlugin.c
branches/Cog/src/plugins/GeniePlugin/GeniePlugin.c
branches/Cog/src/plugins/IA32ABI/IA32ABI.c
branches/Cog/src/plugins/LargeIntegers/LargeIntegers.c
branches/Cog/src/vm/cogit.h
branches/Cog/src/vm/cogitARMv5.c
branches/Cog/src/vm/cogitIA32.c
branches/Cog/src/vm/cogitMIPSEL.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/nsspur64src/vm/cogit.h
===================================================================
--- branches/Cog/nsspur64src/vm/cogit.h 2016-03-28 21:36:20 UTC (rev 3660)
+++ branches/Cog/nsspur64src/vm/cogit.h 2016-03-28 22:36:02 UTC (rev 3661)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1740 uuid: 10ece78d-d04d-4ad2-8598-e496b6a6097c
+ CCodeGenerator VMMaker.oscog-eem.1746 uuid: 9e4a49eb-8ebe-486d-b6f0-430100efa288
*/
Modified: branches/Cog/nsspur64src/vm/cogitX64.c
===================================================================
--- branches/Cog/nsspur64src/vm/cogitX64.c 2016-03-28 21:36:20 UTC (rev 3660)
+++ branches/Cog/nsspur64src/vm/cogitX64.c 2016-03-28 22:36:02 UTC (rev 3661)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1740 uuid: 10ece78d-d04d-4ad2-8598-e496b6a6097c
+ CCodeGenerator VMMaker.oscog-eem.1746 uuid: 9e4a49eb-8ebe-486d-b6f0-430100efa288
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1740 uuid: 10ece78d-d04d-4ad2-8598-e496b6a6097c
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1746 uuid: 9e4a49eb-8ebe-486d-b6f0-430100efa288
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1740 uuid: 10ece78d-d04d-4ad2-8598-e496b6a6097c " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1746 uuid: 9e4a49eb-8ebe-486d-b6f0-430100efa288 " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -974,7 +974,6 @@
static sqInt genLongUnconditionalBackwardJump(void);
static sqInt genLongUnconditionalForwardJump(void);
static sqInt NoDbgRegParms genLookupForPerformNumArgs(sqInt numArgs);
-static AbstractInstruction * NoDbgRegParms genMoveFalseR(sqInt reg);
static AbstractInstruction * NoDbgRegParms genMoveTrueR(sqInt reg);
static sqInt NoDbgRegParms genMustBeBooleanTrampolineForcalled(sqInt boolean, char *trampolineName);
static void NoDbgRegParms genPrimReturnEnterCogCodeEnilopmart(sqInt profiling);
@@ -3637,7 +3636,7 @@
closedPICRefersToUnmarkedObject(CogMethod *cPIC)
{
sqInt i;
- usqInt object;
+ sqInt object;
sqInt pc;
if (!((isImmediate((cPIC->selector)))
@@ -15604,18 +15603,20 @@
genPrimitiveIdenticalOrNotIf(sqInt orNot)
{
AbstractInstruction *anInstruction;
+ AbstractInstruction *anInstruction1;
+ AbstractInstruction *comp;
sqInt constant;
+ sqInt constant1;
AbstractInstruction *jumpCmp;
- AbstractInstruction *jumpImmediate;
/* begin genLoadArgAtDepth:into: */
assert(0 < (numRegArgs()));
- jumpImmediate = genJumpImmediate(Arg0Reg);
- genEnsureObjInRegNotForwardedscratchReg(Arg0Reg, TempReg);
- jmpTarget(jumpImmediate, gCmpRR(Arg0Reg, ReceiverResultReg));
+ /* begin CmpR:R: */
+ comp = genoperandoperand(CmpRR, Arg0Reg, ReceiverResultReg);
if (orNot) {
/* begin JumpZero: */
jumpCmp = genConditionalBranchoperand(JumpZero, ((sqInt)0));
+ genEnsureOopInRegNotForwardedscratchRegjumpBackTo(Arg0Reg, TempReg, comp);
}
else {
/* begin JumpNonZero: */
@@ -15634,7 +15635,19 @@
assert(methodOrBlockNumArgs <= (numRegArgs()));
/* begin RetN: */
genoperand(RetN, 0);
- jmpTarget(jumpCmp, genMoveFalseR(ReceiverResultReg));
+ jmpTarget(jumpCmp, gLabel());
+ if (!orNot) {
+ genEnsureOopInRegNotForwardedscratchRegjumpBackTo(Arg0Reg, TempReg, comp);
+ }
+ /* begin genMoveFalseR: */
+ constant1 = falseObject();
+ if (shouldAnnotateObjectReference(constant1)) {
+ annotateobjRef(gMoveCwR(constant1, ReceiverResultReg), constant1);
+ }
+ else {
+ /* begin MoveCq:R: */
+ anInstruction1 = genoperandoperand(MoveCqR, constant1, ReceiverResultReg);
+ }
/* begin genPrimReturn */
assert(methodOrBlockNumArgs <= (numRegArgs()));
/* begin RetN: */
@@ -20537,7 +20550,7 @@
usqInt callDistance;
callDistance = jumpTargetAddress - addressFollowingJump;
- assert((abs(callDistance)) < 128);
+ assert((SQABS(callDistance)) < 128);
byteAtput(addressFollowingJump - 1, callDistance & 0xFF);
return 2;
}
@@ -22124,22 +22137,6 @@
return 0;
}
- /* SimpleStackBasedCogit>>#genMoveFalseR: */
-static AbstractInstruction * NoDbgRegParms
-genMoveFalseR(sqInt reg)
-{
- AbstractInstruction *anInstruction;
- sqInt constant;
-
- /* begin genMoveConstant:R: */
- constant = falseObject();
- return (shouldAnnotateObjectReference(constant)
- ? annotateobjRef(gMoveCwR(constant, reg), constant)
- : (/* begin MoveCq:R: */
- (anInstruction = genoperandoperand(MoveCqR, constant, reg)),
- anInstruction));
-}
-
/* SimpleStackBasedCogit>>#genMoveTrueR: */
static AbstractInstruction * NoDbgRegParms
genMoveTrueR(sqInt reg)
Modified: branches/Cog/nsspur64src/vm/cointerp.c
===================================================================
--- branches/Cog/nsspur64src/vm/cointerp.c 2016-03-28 21:36:20 UTC (rev 3660)
+++ branches/Cog/nsspur64src/vm/cointerp.c 2016-03-28 22:36:02 UTC (rev 3661)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1740 uuid: 10ece78d-d04d-4ad2-8598-e496b6a6097c
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1746 uuid: 9e4a49eb-8ebe-486d-b6f0-430100efa288
from
- CoInterpreter VMMaker.oscog-eem.1740 uuid: 10ece78d-d04d-4ad2-8598-e496b6a6097c
+ CoInterpreter VMMaker.oscog-eem.1746 uuid: 9e4a49eb-8ebe-486d-b6f0-430100efa288
*/
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1740 uuid: 10ece78d-d04d-4ad2-8598-e496b6a6097c " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1746 uuid: 9e4a49eb-8ebe-486d-b6f0-430100efa288 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -2441,7 +2441,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.1740";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1746";
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
volatile int sendTrace;
@@ -42647,7 +42647,7 @@
return 0;
}
size = longAt(oop + BaseHeaderSize);
- return abs(size);
+ return SQABS(size);
}
@@ -67205,7 +67205,7 @@
bridgeFromto(SpurSegmentInfo *aSegment, SpurSegmentInfo *nextSegmentOrNil)
{
usqInt bridgeSpan;
- usqInt clifton;
+ sqInt clifton;
usqInt segEnd;
segEnd = ((aSegment->segSize)) + ((aSegment->segStart));
@@ -67578,7 +67578,7 @@
static sqInt NoDbgRegParms
readHeapFromImageFiledataBytes(sqImageFile f, sqInt numBytes)
{ DECL_MAYBE_SQ_GLOBAL_STRUCT
- sqInt bridge;
+ usqInt bridge;
usqInt bridgehead;
usqLong bridgeSpan;
sqInt bytesRead;
@@ -67672,9 +67672,9 @@
}
else {
if ((shrinkage >= (((seg->segSize)) * 0.75))
- && ((abs(((seg->segSize)) - shrinkage)) < delta1)) {
+ && ((SQABS((((seg->segSize)) - shrinkage))) < delta1)) {
best = seg;
- delta1 = abs(((seg->segSize)) - shrinkage);
+ delta1 = SQABS((((seg->segSize)) - shrinkage));
}
}
}
@@ -67793,7 +67793,7 @@
usqLong firstSavedBridgeWord;
sqInt nWritten;
usqInt pier1;
- usqInt pier2;
+ sqInt pier2;
usqLong secondSavedBridgeWord;
pier1 = (((segment->segSize)) + ((segment->segStart))) - (2 * BaseHeaderSize);
Modified: branches/Cog/nsspur64src/vm/cointerp.h
===================================================================
--- branches/Cog/nsspur64src/vm/cointerp.h 2016-03-28 21:36:20 UTC (rev 3660)
+++ branches/Cog/nsspur64src/vm/cointerp.h 2016-03-28 22:36:02 UTC (rev 3661)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1740 uuid: 10ece78d-d04d-4ad2-8598-e496b6a6097c
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1746 uuid: 9e4a49eb-8ebe-486d-b6f0-430100efa288
*/
Modified: branches/Cog/nsspur64src/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nsspur64src/vm/gcc3x-cointerp.c 2016-03-28 21:36:20 UTC (rev 3660)
+++ branches/Cog/nsspur64src/vm/gcc3x-cointerp.c 2016-03-28 22:36:02 UTC (rev 3661)
@@ -2,11 +2,11 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1740 uuid: 10ece78d-d04d-4ad2-8598-e496b6a6097c
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1746 uuid: 9e4a49eb-8ebe-486d-b6f0-430100efa288
from
- CoInterpreter VMMaker.oscog-eem.1740 uuid: 10ece78d-d04d-4ad2-8598-e496b6a6097c
+ CoInterpreter VMMaker.oscog-eem.1746 uuid: 9e4a49eb-8ebe-486d-b6f0-430100efa288
*/
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1740 uuid: 10ece78d-d04d-4ad2-8598-e496b6a6097c " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1746 uuid: 9e4a49eb-8ebe-486d-b6f0-430100efa288 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -2444,7 +2444,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.1740";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1746";
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
volatile int sendTrace;
@@ -42656,7 +42656,7 @@
return 0;
}
size = longAt(oop + BaseHeaderSize);
- return abs(size);
+ return SQABS(size);
}
@@ -67214,7 +67214,7 @@
bridgeFromto(SpurSegmentInfo *aSegment, SpurSegmentInfo *nextSegmentOrNil)
{
usqInt bridgeSpan;
- usqInt clifton;
+ sqInt clifton;
usqInt segEnd;
segEnd = ((aSegment->segSize)) + ((aSegment->segStart));
@@ -67587,7 +67587,7 @@
static sqInt NoDbgRegParms
readHeapFromImageFiledataBytes(sqImageFile f, sqInt numBytes)
{ DECL_MAYBE_SQ_GLOBAL_STRUCT
- sqInt bridge;
+ usqInt bridge;
usqInt bridgehead;
usqLong bridgeSpan;
sqInt bytesRead;
@@ -67681,9 +67681,9 @@
}
else {
if ((shrinkage >= (((seg->segSize)) * 0.75))
- && ((abs(((seg->segSize)) - shrinkage)) < delta1)) {
+ && ((SQABS((((seg->segSize)) - shrinkage))) < delta1)) {
best = seg;
- delta1 = abs(((seg->segSize)) - shrinkage);
+ delta1 = SQABS((((seg->segSize)) - shrinkage));
}
}
}
@@ -67802,7 +67802,7 @@
usqLong firstSavedBridgeWord;
sqInt nWritten;
usqInt pier1;
- usqInt pier2;
+ sqInt pier2;
usqLong secondSavedBridgeWord;
pier1 = (((segment->segSize)) + ((segment->segStart))) - (2 * BaseHeaderSize);
Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h 2016-03-28 21:36:20 UTC (rev 3660)
+++ branches/Cog/nsspursrc/vm/cogit.h 2016-03-28 22:36:02 UTC (rev 3661)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1740 uuid: 10ece78d-d04d-4ad2-8598-e496b6a6097c
+ CCodeGenerator VMMaker.oscog-eem.1746 uuid: 9e4a49eb-8ebe-486d-b6f0-430100efa288
*/
Modified: branches/Cog/nsspursrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitARMv5.c 2016-03-28 21:36:20 UTC (rev 3660)
+++ branches/Cog/nsspursrc/vm/cogitARMv5.c 2016-03-28 22:36:02 UTC (rev 3661)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1740 uuid: 10ece78d-d04d-4ad2-8598-e496b6a6097c
+ CCodeGenerator VMMaker.oscog-eem.1746 uuid: 9e4a49eb-8ebe-486d-b6f0-430100efa288
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1740 uuid: 10ece78d-d04d-4ad2-8598-e496b6a6097c
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1746 uuid: 9e4a49eb-8ebe-486d-b6f0-430100efa288
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1740 uuid: 10ece78d-d04d-4ad2-8598-e496b6a6097c " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1746 uuid: 9e4a49eb-8ebe-486d-b6f0-430100efa288 " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -1021,7 +1021,6 @@
static sqInt genLongUnconditionalBackwardJump(void);
static sqInt genLongUnconditionalForwardJump(void);
static sqInt NoDbgRegParms genLookupForPerformNumArgs(sqInt numArgs);
-static AbstractInstruction * NoDbgRegParms genMoveFalseR(sqInt reg);
static AbstractInstruction * NoDbgRegParms genMoveTrueR(sqInt reg);
static sqInt NoDbgRegParms genMustBeBooleanTrampolineForcalled(sqInt boolean, char *trampolineName);
static void NoDbgRegParms genPrimReturnEnterCogCodeEnilopmart(sqInt profiling);
@@ -2614,7 +2613,7 @@
case MoveRM16r:
/* begin is12BitValue:ifTrue:ifFalse: */
constant4 = ((self_in_computeMaximumSize->operands))[1];
- if ((abs(constant4)) <= 0xFFF) {
+ if ((SQABS(constant4)) <= 0xFFF) {
/* (2 raisedTo: 12)-1 */
if (constant4 >= 0) {
@@ -2635,7 +2634,7 @@
case MoveMwrR:
/* begin is12BitValue:ifTrue:ifFalse: */
constant5 = ((self_in_computeMaximumSize->operands))[0];
- if ((abs(constant5)) <= 0xFFF) {
+ if ((SQABS(constant5)) <= 0xFFF) {
/* (2 raisedTo: 12)-1 */
if (constant5 >= 0) {
@@ -3403,11 +3402,11 @@
jumpTarget = jumpTarget1;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord43 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord43;
instrOffset6 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -3437,11 +3436,11 @@
jumpTarget2 = jumpTarget11;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord44 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord44;
instrOffset7 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -3957,11 +3956,11 @@
rd2 = rn4;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord45 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord45;
instrOffset8 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -4084,11 +4083,11 @@
rd22 = rn24;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord79 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord79;
instrOffset27 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -4165,11 +4164,11 @@
rd4 = rn6;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord47 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord47;
instrOffset9 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -4251,11 +4250,11 @@
rd5 = 0;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord48 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord48;
instrOffset10 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -4319,11 +4318,11 @@
rd23 = rn25;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord80 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord80;
instrOffset28 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -4396,11 +4395,11 @@
rd7 = rn9;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord50 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord50;
instrOffset11 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -4446,11 +4445,11 @@
rd8 = rn10;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord51 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord51;
instrOffset12 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -4573,11 +4572,11 @@
rd24 = rn26;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord81 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord81;
instrOffset29 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -4598,11 +4597,11 @@
rd10 = rn12;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord53 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord53;
instrOffset13 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -4617,11 +4616,11 @@
rd11 = rn13;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord54 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord54;
instrOffset14 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -4636,11 +4635,11 @@
rd12 = 0;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord55 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord55;
instrOffset15 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -4655,11 +4654,11 @@
rd13 = rn15;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord56 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord56;
instrOffset16 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -4674,11 +4673,11 @@
rd14 = rn16;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord57 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord57;
instrOffset17 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -4693,11 +4692,11 @@
rd15 = rn17;
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord58 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord58;
instrOffset18 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -4855,11 +4854,11 @@
}
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord36 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord36;
instrOffset = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -5050,11 +5049,11 @@
}
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord210 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord210;
instrOffset19 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -5078,11 +5077,11 @@
}
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord211 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord211;
instrOffset20 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -5106,11 +5105,11 @@
}
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord212 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord212;
instrOffset21 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -5134,11 +5133,11 @@
}
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord213 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord213;
instrOffset22 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -5153,7 +5152,7 @@
srcReg17 = ((self_in_dispatchConcretize->operands))[1];
destReg12 = ((self_in_dispatchConcretize->operands))[2];
/* begin is12BitValue:ifTrue:ifFalse: */
- if ((abs(offset31)) <= 0xFFF) {
+ if ((SQABS(offset31)) <= 0xFFF) {
/* (2 raisedTo: 12)-1 */
if (offset31 >= 0) {
@@ -5166,7 +5165,7 @@
goto l245;
}
else {
- immediate17 = abs(offset31);
+ immediate17 = SQABS(offset31);
/* begin machineCodeAt:put: */
aWord75 = ldrbrnplusimm(self_in_dispatchConcretize, destReg12, srcReg17, 0, immediate17);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord75;
@@ -5188,11 +5187,11 @@
else {
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord310 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord310;
instrOffset23 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
}
@@ -5213,7 +5212,7 @@
offset32 = ((self_in_dispatchConcretize->operands))[1];
baseReg1 = ((self_in_dispatchConcretize->operands))[2];
/* begin is12BitValue:ifTrue:ifFalse: */
- if ((abs(offset32)) <= 0xFFF) {
+ if ((SQABS(offset32)) <= 0xFFF) {
/* (2 raisedTo: 12)-1 */
if (offset32 >= 0) {
@@ -5226,7 +5225,7 @@
goto l251;
}
else {
- immediate18 = abs(offset32);
+ immediate18 = SQABS(offset32);
/* begin machineCodeAt:put: */
aWord76 = strbrnplusimm(self_in_dispatchConcretize, srcReg18, baseReg1, 0, immediate18);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord76;
@@ -5248,11 +5247,11 @@
else {
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord311 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord311;
instrOffset24 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
}
@@ -5273,7 +5272,7 @@
offset33 = ((self_in_dispatchConcretize->operands))[1];
baseReg2 = ((self_in_dispatchConcretize->operands))[2];
/* begin is12BitValue:ifTrue:ifFalse: */
- if ((abs(offset33)) <= 0xFFF) {
+ if ((SQABS(offset33)) <= 0xFFF) {
/* (2 raisedTo: 12)-1 */
if (offset33 >= 0) {
@@ -5286,7 +5285,7 @@
goto l257;
}
else {
- immediate19 = abs(offset33);
+ immediate19 = SQABS(offset33);
/* begin machineCodeAt:put: */
aWord77 = strhrnplusimm(self_in_dispatchConcretize, srcReg19, baseReg2, 0, immediate19);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord77;
@@ -5308,11 +5307,11 @@
else {
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord312 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord312;
instrOffset25 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
}
@@ -5333,7 +5332,7 @@
srcReg3 = ((self_in_dispatchConcretize->operands))[1];
destReg2 = ((self_in_dispatchConcretize->operands))[2];
/* begin is8BitValue:ifTrue:ifFalse: */
- if ((abs(offset3)) <= 0xFF) {
+ if ((SQABS(offset3)) <= 0xFF) {
/* (2 raisedTo: 8)-1 */
if (offset3 >= 0) {
@@ -5345,7 +5344,7 @@
}
else {
- immediate8 = abs(offset3);
+ immediate8 = SQABS(offset3);
/* begin machineCodeAt:put: */
aWord20 = ldrhrnplusimm(self_in_dispatchConcretize, destReg2, srcReg3, 0, immediate8);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord20;
@@ -5357,11 +5356,11 @@
else {
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord38 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord38;
instrOffset1 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -5390,7 +5389,7 @@
srcReg5 = ((self_in_dispatchConcretize->operands))[1];
destReg4 = ((self_in_dispatchConcretize->operands))[2];
/* begin is12BitValue:ifTrue:ifFalse: */
- if ((abs(offset5)) <= 0xFFF) {
+ if ((SQABS(offset5)) <= 0xFFF) {
/* (2 raisedTo: 12)-1 */
if (offset5 >= 0) {
@@ -5403,7 +5402,7 @@
goto l40;
}
else {
- immediate9 = abs(offset5);
+ immediate9 = SQABS(offset5);
/* begin machineCodeAt:put: */
aWord26 = ldrrnplusimm(self_in_dispatchConcretize, destReg4, srcReg5, 0, immediate9);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord26;
@@ -5416,11 +5415,11 @@
else {
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord39 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord39;
instrOffset2 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -5500,7 +5499,7 @@
offset6 = ((self_in_dispatchConcretize->operands))[1];
baseReg = ((self_in_dispatchConcretize->operands))[2];
/* begin is12BitValue:ifTrue:ifFalse: */
- if ((abs(offset6)) <= 0xFFF) {
+ if ((SQABS(offset6)) <= 0xFFF) {
/* (2 raisedTo: 12)-1 */
if (offset6 >= 0) {
@@ -5513,7 +5512,7 @@
goto l47;
}
else {
- immediate10 = abs(offset6);
+ immediate10 = SQABS(offset6);
/* begin machineCodeAt:put: */
aWord31 = strrnplusimm(self_in_dispatchConcretize, srcReg6, baseReg, 0, immediate10);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord31;
@@ -5526,11 +5525,11 @@
else {
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord40 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord40;
instrOffset3 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -5616,11 +5615,11 @@
}
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord41 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord41;
instrOffset4 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
@@ -5699,11 +5698,11 @@
}
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_dispatchConcretize->dependent))->address)));
- assert((abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord126 = ldrrnplusimm(self_in_dispatchConcretize, ConcreteIPReg, PC, (((((self_in_dispatchConcretize->dependent))->address)) >= (((self_in_dispatchConcretize->address)) + 8)
? 1
- : 0), abs(((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8)));
+ : 0), abs((((((self_in_dispatchConcretize->dependent))->address)) - (((self_in_dispatchConcretize->address)) + 8))));
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord126;
instrOffset26 = ((self_in_dispatchConcretize->machineCodeSize) = 4);
/* begin machineCodeAt:put: */
@@ -6528,11 +6527,11 @@
}
/* begin moveCw:intoR: */
assert(addressIsInCurrentCompilation((((self_in_loadCwInto->dependent))->address)));
- assert((abs(((((self_in_loadCwInto->dependent))->address)) - (((self_in_loadCwInto->address)) + 8))) < (1L << 12));
+ assert((abs((((((self_in_loadCwInto->dependent))->address)) - (((self_in_loadCwInto->address)) + 8)))) < (1L << 12));
/* begin machineCodeAt:put: */
aWord1 = ldrrnplusimm(self_in_loadCwInto, destReg, PC, (((((self_in_loadCwInto->dependent))->address)) >= (((self_in_loadCwInto->address)) + 8)
? 1
- : 0), abs(((((self_in_loadCwInto->dependent))->address)) - (((self_in_loadCwInto->address)) + 8)));
+ : 0), abs((((((self_in_loadCwInto->dependent))->address)) - (((self_in_loadCwInto->address)) + 8))));
((self_in_loadCwInto->machineCode))[0 / 4] = aWord1;
return ((usqInt) (((self_in_loadCwInto->machineCodeSize) = 4)));
}
@@ -20840,18 +20839,20 @@
genPrimitiveIdenticalOrNotIf(sqInt orNot)
{
AbstractInstruction *anInstruction;
+ AbstractInstruction *anInstruction1;
+ AbstractInstruction *comp;
sqInt constant;
+ sqInt constant1;
AbstractInstruction *jumpCmp;
- AbstractInstruction *jumpImmediate;
/* begin genLoadArgAtDepth:into: */
assert(0 < (numRegArgs()));
- jumpImmediate = genJumpImmediate(Arg0Reg);
- genEnsureObjInRegNotForwardedscratchReg(Arg0Reg, TempReg);
- jmpTarget(jumpImmediate, gCmpRR(Arg0Reg, ReceiverResultReg));
+ /* begin CmpR:R: */
+ comp = genoperandoperand(CmpRR, Arg0Reg, ReceiverResultReg);
if (orNot) {
/* begin JumpZero: */
jumpCmp = genConditionalBranchoperand(JumpZero, ((sqInt)0));
+ genEnsureOopInRegNotForwardedscratchRegjumpBackTo(Arg0Reg, TempReg, comp);
}
else {
/* begin JumpNonZero: */
@@ -20873,7 +20874,22 @@
assert(methodOrBlockNumArgs <= (numRegArgs()));
/* begin RetN: */
genoperand(RetN, 0);
- jmpTarget(jumpCmp, genMoveFalseR(ReceiverResultReg));
+ jmpTarget(jumpCmp, gLabel());
+ if (!orNot) {
+ genEnsureOopInRegNotForwardedscratchRegjumpBackTo(Arg0Reg, TempReg, comp);
+ }
+ /* begin genMoveFalseR: */
+ constant1 = falseObject();
+ if (shouldAnnotateObjectReference(constant1)) {
+ annotateobjRef(gMoveCwR(constant1, ReceiverResultReg), constant1);
+ }
+ else {
+ /* begin MoveCq:R: */
+ anInstruction1 = genoperandoperand(MoveCqR, constant1, ReceiverResultReg);
+ if (usesOutOfLineLiteral(anInstruction1)) {
+ (anInstruction1->dependent = locateLiteral(constant1));
+ }
+ }
/* begin genPrimReturn */
assert(methodOrBlockNumArgs <= (numRegArgs()));
/* begin RetN: */
@@ -21965,7 +21981,7 @@
case MoveRM16r:
/* begin is12BitValue:ifTrue:ifFalse: */
constant4 = ((self_in_usesOutOfLineLiteral->operands))[1];
- if ((abs(constant4)) <= 0xFFF) {
+ if ((SQABS(constant4)) <= 0xFFF) {
/* (2 raisedTo: 12)-1 */
if (constant4 >= 0) {
@@ -21987,7 +22003,7 @@
case MoveMwrR:
/* begin is12BitValue:ifTrue:ifFalse: */
constant5 = ((self_in_usesOutOfLineLiteral->operands))[0];
- if ((abs(constant5)) <= 0xFFF) {
+ if ((SQABS(constant5)) <= 0xFFF) {
/* (2 raisedTo: 12)-1 */
if (constant5 >= 0) {
@@ Diff output truncated at 50000 characters. @@
More information about the Vm-dev
mailing list