[Vm-dev] [commit][3740] CogVM source as per VMMaker.oscog-eem.1886
commits at squeakvm.org
commits at squeakvm.org
Wed Jun 8 18:21:52 UTC 2016
Revision: 3740
Author: eliot
Date: 2016-06-08 11:21:49 -0700 (Wed, 08 Jun 2016)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1886
Slang:
Fix type inferrence for the 64-bit VM and some other cases after the bug fix
in VMMaker.oscog-eem.1883 uncovers bugs in existing code.
Add ImmX11Plugin to the linux squeak builds.
Modified Paths:
--------------
branches/Cog/build.linux32ARM/squeak.cog.spur/plugins.ext
branches/Cog/build.linux32ARM/squeak.stack.spur/plugins.ext
branches/Cog/build.linux32ARM/squeak.stack.v3/plugins.ext
branches/Cog/build.linux32x86/squeak.cog.spur/plugins.ext
branches/Cog/build.linux32x86/squeak.cog.spur.immutability/plugins.ext
branches/Cog/build.linux32x86/squeak.cog.v3/plugins.ext
branches/Cog/build.linux32x86/squeak.sista.spur/plugins.ext
branches/Cog/build.linux32x86/squeak.stack.spur/plugins.ext
branches/Cog/build.linux32x86/squeak.stack.v3/plugins.ext
branches/Cog/build.linux64x64/squeak.cog.spur/plugins.ext
branches/Cog/build.linux64x64/squeak.cog.spur.immutability/plugins.ext
branches/Cog/build.linux64x64/squeak.stack.spur/plugins.ext
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/B2DPlugin/B2DPlugin.c
branches/Cog/src/plugins/BitBltPlugin/BitBltPlugin.c
branches/Cog/src/plugins/DSAPrims/DSAPrims.c
branches/Cog/src/plugins/FFTPlugin/FFTPlugin.c
branches/Cog/src/plugins/FloatMathPlugin/FloatMathPlugin.c
branches/Cog/src/plugins/GeniePlugin/GeniePlugin.c
branches/Cog/src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c
branches/Cog/src/plugins/LargeIntegers/LargeIntegers.c
branches/Cog/src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c
branches/Cog/src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c
branches/Cog/src/plugins/ZipPlugin/ZipPlugin.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/build.linux32ARM/squeak.cog.spur/plugins.ext
===================================================================
--- branches/Cog/build.linux32ARM/squeak.cog.spur/plugins.ext 2016-06-07 22:35:56 UTC (rev 3739)
+++ branches/Cog/build.linux32ARM/squeak.cog.spur/plugins.ext 2016-06-08 18:21:49 UTC (rev 3740)
@@ -11,4 +11,5 @@
UnixOSProcessPlugin \
UUIDPlugin \
WeDoPlugin \
+ImmX11Plugin \
XDisplayControlPlugin
Modified: branches/Cog/build.linux32ARM/squeak.stack.spur/plugins.ext
===================================================================
--- branches/Cog/build.linux32ARM/squeak.stack.spur/plugins.ext 2016-06-07 22:35:56 UTC (rev 3739)
+++ branches/Cog/build.linux32ARM/squeak.stack.spur/plugins.ext 2016-06-08 18:21:49 UTC (rev 3740)
@@ -6,4 +6,5 @@
UnicodePlugin \
UnixOSProcessPlugin \
UUIDPlugin \
+ImmX11Plugin \
XDisplayControlPlugin
Modified: branches/Cog/build.linux32ARM/squeak.stack.v3/plugins.ext
===================================================================
--- branches/Cog/build.linux32ARM/squeak.stack.v3/plugins.ext 2016-06-07 22:35:56 UTC (rev 3739)
+++ branches/Cog/build.linux32ARM/squeak.stack.v3/plugins.ext 2016-06-08 18:21:49 UTC (rev 3740)
@@ -6,4 +6,5 @@
UnicodePlugin \
UnixOSProcessPlugin \
UUIDPlugin \
+ImmX11Plugin \
XDisplayControlPlugin
Modified: branches/Cog/build.linux32x86/squeak.cog.spur/plugins.ext
===================================================================
--- branches/Cog/build.linux32x86/squeak.cog.spur/plugins.ext 2016-06-07 22:35:56 UTC (rev 3739)
+++ branches/Cog/build.linux32x86/squeak.cog.spur/plugins.ext 2016-06-08 18:21:49 UTC (rev 3740)
@@ -10,4 +10,5 @@
UnicodePlugin \
UnixOSProcessPlugin \
UUIDPlugin \
+ImmX11Plugin \
XDisplayControlPlugin
Modified: branches/Cog/build.linux32x86/squeak.cog.spur.immutability/plugins.ext
===================================================================
--- branches/Cog/build.linux32x86/squeak.cog.spur.immutability/plugins.ext 2016-06-07 22:35:56 UTC (rev 3739)
+++ branches/Cog/build.linux32x86/squeak.cog.spur.immutability/plugins.ext 2016-06-08 18:21:49 UTC (rev 3740)
@@ -10,4 +10,5 @@
UnicodePlugin \
UnixOSProcessPlugin \
UUIDPlugin \
+ImmX11Plugin \
XDisplayControlPlugin
Modified: branches/Cog/build.linux32x86/squeak.cog.v3/plugins.ext
===================================================================
--- branches/Cog/build.linux32x86/squeak.cog.v3/plugins.ext 2016-06-07 22:35:56 UTC (rev 3739)
+++ branches/Cog/build.linux32x86/squeak.cog.v3/plugins.ext 2016-06-08 18:21:49 UTC (rev 3740)
@@ -8,4 +8,5 @@
UnicodePlugin \
UnixOSProcessPlugin \
UUIDPlugin \
+ImmX11Plugin \
XDisplayControlPlugin
Modified: branches/Cog/build.linux32x86/squeak.sista.spur/plugins.ext
===================================================================
--- branches/Cog/build.linux32x86/squeak.sista.spur/plugins.ext 2016-06-07 22:35:56 UTC (rev 3739)
+++ branches/Cog/build.linux32x86/squeak.sista.spur/plugins.ext 2016-06-08 18:21:49 UTC (rev 3740)
@@ -8,4 +8,5 @@
UnicodePlugin \
UnixOSProcessPlugin \
UUIDPlugin \
+ImmX11Plugin \
XDisplayControlPlugin
Modified: branches/Cog/build.linux32x86/squeak.stack.spur/plugins.ext
===================================================================
--- branches/Cog/build.linux32x86/squeak.stack.spur/plugins.ext 2016-06-07 22:35:56 UTC (rev 3739)
+++ branches/Cog/build.linux32x86/squeak.stack.spur/plugins.ext 2016-06-08 18:21:49 UTC (rev 3740)
@@ -7,4 +7,5 @@
UnicodePlugin \
UnixOSProcessPlugin \
UUIDPlugin \
+ImmX11Plugin \
XDisplayControlPlugin
Modified: branches/Cog/build.linux32x86/squeak.stack.v3/plugins.ext
===================================================================
--- branches/Cog/build.linux32x86/squeak.stack.v3/plugins.ext 2016-06-07 22:35:56 UTC (rev 3739)
+++ branches/Cog/build.linux32x86/squeak.stack.v3/plugins.ext 2016-06-08 18:21:49 UTC (rev 3740)
@@ -7,4 +7,5 @@
UnicodePlugin \
UnixOSProcessPlugin \
UUIDPlugin \
+ImmX11Plugin \
XDisplayControlPlugin
Modified: branches/Cog/build.linux64x64/squeak.cog.spur/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/squeak.cog.spur/plugins.ext 2016-06-07 22:35:56 UTC (rev 3739)
+++ branches/Cog/build.linux64x64/squeak.cog.spur/plugins.ext 2016-06-08 18:21:49 UTC (rev 3740)
@@ -7,4 +7,5 @@
UnicodePlugin \
UnixOSProcessPlugin \
UUIDPlugin \
+ImmX11Plugin \
XDisplayControlPlugin
Modified: branches/Cog/build.linux64x64/squeak.cog.spur.immutability/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/squeak.cog.spur.immutability/plugins.ext 2016-06-07 22:35:56 UTC (rev 3739)
+++ branches/Cog/build.linux64x64/squeak.cog.spur.immutability/plugins.ext 2016-06-08 18:21:49 UTC (rev 3740)
@@ -7,4 +7,5 @@
UnicodePlugin \
UnixOSProcessPlugin \
UUIDPlugin \
+ImmX11Plugin \
XDisplayControlPlugin
Modified: branches/Cog/build.linux64x64/squeak.stack.spur/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/squeak.stack.spur/plugins.ext 2016-06-07 22:35:56 UTC (rev 3739)
+++ branches/Cog/build.linux64x64/squeak.stack.spur/plugins.ext 2016-06-08 18:21:49 UTC (rev 3740)
@@ -7,4 +7,5 @@
UnicodePlugin \
UnixOSProcessPlugin \
UUIDPlugin \
+ImmX11Plugin \
XDisplayControlPlugin
Modified: branches/Cog/nsspur64src/vm/cogit.h
===================================================================
--- branches/Cog/nsspur64src/vm/cogit.h 2016-06-07 22:35:56 UTC (rev 3739)
+++ branches/Cog/nsspur64src/vm/cogit.h 2016-06-08 18:21:49 UTC (rev 3740)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1885 uuid: 3c9ce24b-d7c4-4160-ac59-56aed18461a1
+ CCodeGenerator VMMaker.oscog-eem.1886 uuid: d413db9f-37cc-4c5d-bfc6-87b11203ee96
*/
Modified: branches/Cog/nsspur64src/vm/cogitX64.c
===================================================================
--- branches/Cog/nsspur64src/vm/cogitX64.c 2016-06-07 22:35:56 UTC (rev 3739)
+++ branches/Cog/nsspur64src/vm/cogitX64.c 2016-06-08 18:21:49 UTC (rev 3740)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1885 uuid: 3c9ce24b-d7c4-4160-ac59-56aed18461a1
+ CCodeGenerator VMMaker.oscog-eem.1886 uuid: d413db9f-37cc-4c5d-bfc6-87b11203ee96
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1885 uuid: 3c9ce24b-d7c4-4160-ac59-56aed18461a1
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1886 uuid: d413db9f-37cc-4c5d-bfc6-87b11203ee96
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1885 uuid: 3c9ce24b-d7c4-4160-ac59-56aed18461a1 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1886 uuid: d413db9f-37cc-4c5d-bfc6-87b11203ee96 " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -441,7 +441,7 @@
static usqInt NoDbgRegParms inlineCacheTagAt(AbstractInstruction * self_in_inlineCacheTagAt, sqInt callSiteReturnAddress);
static sqInt NoDbgRegParms isPCDependent(AbstractInstruction * self_in_isPCDependent);
static usqInt NoDbgRegParms literal32BeforeFollowingAddress(AbstractInstruction * self_in_literal32BeforeFollowingAddress, sqInt followingAddress);
-static void NoDbgRegParms literalBeforeFollowingAddress(AbstractInstruction * self_in_literalBeforeFollowingAddress, sqInt followingAddress);
+static sqInt NoDbgRegParms literalBeforeFollowingAddress(AbstractInstruction * self_in_literalBeforeFollowingAddress, sqInt followingAddress);
static sqInt NoDbgRegParms loadLiteralByteSize(AbstractInstruction * self_in_loadLiteralByteSize);
static usqInt NoDbgRegParms sizePCDependentInstructionAt(AbstractInstruction * self_in_sizePCDependentInstructionAt, sqInt eventualAbsoluteAddress);
static AbstractInstruction * NoDbgRegParms storeLiteralbeforeFollowingAddress(AbstractInstruction * self_in_storeLiteralbeforeFollowingAddress, sqInt literal, sqInt followingAddress);
@@ -892,7 +892,7 @@
static SimStackEntry * NoDbgRegParms storeToReg(SimStackEntry * self_in_storeToReg, sqInt reg);
static sqInt NoDbgRegParms isMergeFixup(BytecodeFixup * self_in_isMergeFixup);
static sqInt NoDbgRegParms availableRegisterOrNoneFor(AbstractInstruction * self_in_availableRegisterOrNoneFor, sqInt liveRegsMask);
-static void NoDbgRegParms callFullTargetFromReturnAddress(AbstractInstruction * self_in_callFullTargetFromReturnAddress, sqInt callSiteReturnAddress);
+static sqInt NoDbgRegParms callFullTargetFromReturnAddress(AbstractInstruction * self_in_callFullTargetFromReturnAddress, sqInt callSiteReturnAddress);
static sqInt NoDbgRegParms callInstructionByteSize(AbstractInstruction * self_in_callInstructionByteSize);
static sqInt NoDbgRegParms callTargetFromReturnAddress(AbstractInstruction * self_in_callTargetFromReturnAddress, sqInt callSiteReturnAddress);
static sqInt NoDbgRegParms cmpC32RTempByteSize(AbstractInstruction * self_in_cmpC32RTempByteSize);
@@ -939,7 +939,7 @@
static usqInt NoDbgRegParms machineCodeAt(AbstractInstruction * self_in_machineCodeAt, sqInt anOffset);
static sqInt NoDbgRegParms machineCodeBytes(AbstractInstruction * self_in_machineCodeBytes);
static sqInt NoDbgRegParms modRMRO(AbstractInstruction * self_in_modRMRO, sqInt mod, sqInt regMode, sqInt regOpcode);
-static void NoDbgRegParms nsSendCacheAt(AbstractInstruction * self_in_nsSendCacheAt, char *callSiteReturnAddress);
+static sqInt NoDbgRegParms nsSendCacheAt(AbstractInstruction * self_in_nsSendCacheAt, char *callSiteReturnAddress);
static sqInt NoDbgRegParms numIntRegArgs(AbstractInstruction * self_in_numIntRegArgs);
static AbstractInstruction * NoDbgRegParms padIfPossibleWithStopsFromto(AbstractInstruction * self_in_padIfPossibleWithStopsFromto, sqInt startAddr, sqInt endAddr);
static AbstractInstruction * NoDbgRegParms relocateCallBeforeReturnPCby(AbstractInstruction * self_in_relocateCallBeforeReturnPCby, sqInt retpc, sqInt delta);
@@ -2360,7 +2360,7 @@
least 16rC0. */
/* CogInLineLiteralsX64Compiler>>#literalBeforeFollowingAddress: */
-static void NoDbgRegParms
+static sqInt NoDbgRegParms
literalBeforeFollowingAddress(AbstractInstruction * self_in_literalBeforeFollowingAddress, sqInt followingAddress)
{
sqInt base;
@@ -2374,8 +2374,7 @@
? 9
: 10)
: 11));
- unalignedLongAt(base);
- return;
+ return unalignedLongAt(base);
}
/* CogInLineLiteralsX64Compiler>>#loadLiteralByteSize */
@@ -8686,7 +8685,7 @@
void
printPCMapPairsFor(CogMethod *cogMethod)
{
- sqInt annotation;
+ unsigned char annotation;
usqInt map;
unsigned char mapByte;
usqInt mcpc;
@@ -13010,6 +13009,7 @@
sqInt quickConstant5;
sqInt quickConstant6;
sqInt quickConstant7;
+ sqInt quickConstant8;
/* begin genLoadArgAtDepth:into: */
assert(1 < (numRegArgs()));
@@ -13025,9 +13025,9 @@
# if IMMUTABILITY
genGetFormatOfintoleastSignificantHalfOfBaseHeaderIntoScratch(ReceiverResultReg, (formatReg = SendNumArgsReg), TempReg);
/* begin genJumpBaseHeaderImmutable: */
- quickConstant7 = immutableBitMask();
+ quickConstant8 = immutableBitMask();
/* begin gen:quickConstant:operand: */
- anInstruction18 = genoperandoperand(TstCqR, quickConstant7, TempReg);
+ anInstruction18 = genoperandoperand(TstCqR, quickConstant8, TempReg);
/* begin JumpNonZero: */
jumpImmutable = genConditionalBranchoperand(JumpNonZero, ((sqInt)0));
@@ -13119,7 +13119,9 @@
/* begin JumpBelow: */
jumpNotIndexableBits = genConditionalBranchoperand(JumpBelow, ((sqInt)0));
/* begin CmpCq:R: */
- anInstruction9 = genoperandoperand(CmpCqR, (((sqInt)0xFFFFFFFFU << 3) | 1), Arg1Reg);
+ quickConstant6 = (((sqInt)0xFFFFFFFFU << 3) | 1);
+ /* begin gen:quickConstant:operand: */
+ anInstruction9 = genoperandoperand(CmpCqR, quickConstant6, Arg1Reg);
/* begin JumpAbove: */
jumpWordsOutOfRange = genConditionalBranchoperand(JumpAbove, ((sqInt)0));
/* begin LogicalShiftLeftCq:R: */
@@ -13158,9 +13160,9 @@
/* begin JumpBelowOrEqual: */
jumpBytesOutOfBounds = genConditionalBranchoperand(JumpBelowOrEqual, ((sqInt)0));
/* begin CmpCq:R: */
- quickConstant6 = firstCompiledMethodFormat();
+ quickConstant7 = firstCompiledMethodFormat();
/* begin gen:quickConstant:operand: */
- anInstruction12 = genoperandoperand(CmpCqR, quickConstant6, formatReg);
+ anInstruction12 = genoperandoperand(CmpCqR, quickConstant7, formatReg);
/* begin JumpAboveOrEqual: */
jumpIsCompiledMethod = genConditionalBranchoperand(JumpAboveOrEqual, ((sqInt)0));
/* begin MoveR:R: */
@@ -13551,6 +13553,7 @@
sqInt quickConstant;
sqInt quickConstant1;
sqInt quickConstant10;
+ sqInt quickConstant11;
sqInt quickConstant2;
sqInt quickConstant3;
sqInt quickConstant4;
@@ -13635,7 +13638,9 @@
/* begin JumpNonZero: */
jumpFailCuzFixed = genConditionalBranchoperand(JumpNonZero, ((sqInt)0));
/* begin CmpCq:R: */
- anInstruction5 = genoperandoperand(CmpCqR, ((maxSlots << 3) | 1), Arg0Reg);
+ quickConstant6 = ((maxSlots << 3) | 1);
+ /* begin gen:quickConstant:operand: */
+ anInstruction5 = genoperandoperand(CmpCqR, quickConstant6, Arg0Reg);
/* begin JumpAbove: */
jumpLongTooBig = genConditionalBranchoperand(JumpAbove, ((sqInt)0));
/* begin MoveR:R: */
@@ -13647,8 +13652,8 @@
/* begin AndCq:R: */
anInstruction6 = genoperandoperand(AndCqR, (BytesPerWord / 4) - 1, TempReg);
/* begin LogicalShiftLeftCq:R: */
- quickConstant6 = formatShift();
- genoperandoperand(LogicalShiftLeftCqR, quickConstant6, TempReg);
+ quickConstant7 = formatShift();
+ genoperandoperand(LogicalShiftLeftCqR, quickConstant7, TempReg);
/* begin AddR:R: */
genoperandoperand(AddRR, TempReg, headerReg);
/* begin AddCq:R: */
@@ -13671,8 +13676,8 @@
/* begin AndCq:R: */
anInstruction8 = genoperandoperand(AndCqR, BytesPerWord - 1, TempReg);
/* begin LogicalShiftLeftCq:R: */
- quickConstant7 = formatShift();
- genoperandoperand(LogicalShiftLeftCqR, quickConstant7, TempReg);
+ quickConstant8 = formatShift();
+ genoperandoperand(LogicalShiftLeftCqR, quickConstant8, TempReg);
/* begin AddR:R: */
genoperandoperand(AddRR, TempReg, headerReg);
/* begin AddCq:R: */
@@ -13689,15 +13694,15 @@
/* begin MoveR:R: */
genoperandoperand(MoveRR, fillReg, instSpecReg);
/* begin MoveCq:R: */
- quickConstant10 = nilObject();
+ quickConstant11 = nilObject();
/* begin gen:quickConstant:operand: */
- anInstruction18 = genoperandoperand(MoveCqR, quickConstant10, fillReg);
+ anInstruction18 = genoperandoperand(MoveCqR, quickConstant11, fillReg);
jmpTarget(jumpBytePrepDone, jmpTarget(jumpLongPrepDone, gLabel()));
/* begin MoveR:R: */
genoperandoperand(MoveRR, instSpecReg, TempReg);
/* begin LogicalShiftLeftCq:R: */
- quickConstant8 = numSlotsFullShift();
- genoperandoperand(LogicalShiftLeftCqR, quickConstant8, TempReg);
+ quickConstant9 = numSlotsFullShift();
+ genoperandoperand(LogicalShiftLeftCqR, quickConstant9, TempReg);
/* begin AddR:R: */
genoperandoperand(AddRR, TempReg, headerReg);
/* begin CmpCq:R: */
@@ -13713,9 +13718,9 @@
genoperandoperand(LogicalShiftLeftCqR, shiftForWord(), byteSizeReg);
jmpTarget(skip, gAddRR(Arg1Reg, byteSizeReg));
/* begin CmpCq:R: */
- quickConstant9 = getScavengeThreshold();
+ quickConstant10 = getScavengeThreshold();
/* begin gen:quickConstant:operand: */
- anInstruction11 = genoperandoperand(CmpCqR, quickConstant9, byteSizeReg);
+ anInstruction11 = genoperandoperand(CmpCqR, quickConstant10, byteSizeReg);
/* begin JumpAboveOrEqual: */
jumpNoSpace = genConditionalBranchoperand(JumpAboveOrEqual, ((sqInt)0));
/* begin MoveR:R: */
@@ -13971,13 +13976,13 @@
AbstractInstruction *jumpUnhashed;
sqInt literal;
sqInt literal1;
- sqInt literal2;
sqInt maxSlots;
sqInt quickConstant;
sqInt quickConstant1;
sqInt quickConstant10;
sqInt quickConstant11;
sqInt quickConstant12;
+ sqInt quickConstant13;
sqInt quickConstant2;
sqInt quickConstant3;
sqInt quickConstant4;
@@ -14054,8 +14059,9 @@
/* begin JumpNonZero: */
jumpFailCuzFixed = genConditionalBranchoperand(JumpNonZero, ((sqInt)0));
/* begin CmpCq:R: */
- literal = (((maxSlots * 2) << 3) | 1);
- anInstruction5 = genoperandoperand(CmpCqR, (((maxSlots * 2) << 3) | 1), Arg0Reg);
+ quickConstant6 = (((maxSlots * 2) << 3) | 1);
+ /* begin gen:quickConstant:operand: */
+ anInstruction5 = genoperandoperand(CmpCqR, quickConstant6, Arg0Reg);
/* begin JumpAbove: */
jumpLongTooBig = genConditionalBranchoperand(JumpAbove, ((sqInt)0));
/* begin MoveR:R: */
@@ -14065,18 +14071,18 @@
/* begin SubR:R: */
genoperandoperand(SubRR, instSpecReg, TempReg);
/* begin AndCq:R: */
- quickConstant6 = (BytesPerWord / 4) - 1;
+ quickConstant7 = (BytesPerWord / 4) - 1;
/* begin gen:quickConstant:operand: */
- anInstruction7 = genoperandoperand(AndCqR, quickConstant6, TempReg);
+ anInstruction7 = genoperandoperand(AndCqR, quickConstant7, TempReg);
/* begin LogicalShiftLeftCq:R: */
- quickConstant7 = formatShift();
- genoperandoperand(LogicalShiftLeftCqR, quickConstant7, TempReg);
+ quickConstant8 = formatShift();
+ genoperandoperand(LogicalShiftLeftCqR, quickConstant8, TempReg);
/* begin AddR:R: */
genoperandoperand(AddRR, TempReg, headerReg);
/* begin AddCq:R: */
- quickConstant8 = (BytesPerWord / 4) - 1;
+ quickConstant9 = (BytesPerWord / 4) - 1;
/* begin gen:quickConstant:operand: */
- anInstruction8 = genoperandoperand(AddCqR, quickConstant8, instSpecReg);
+ anInstruction8 = genoperandoperand(AddCqR, quickConstant9, instSpecReg);
/* begin LogicalShiftRightCq:R: */
genoperandoperand(LogicalShiftRightCqR, (shiftForWord()) - 2, instSpecReg);
/* begin MoveCq:R: */
@@ -14093,15 +14099,15 @@
/* begin SubR:R: */
genoperandoperand(SubRR, instSpecReg, TempReg);
/* begin AndCq:R: */
- literal1 = BytesPerWord - 1;
+ literal = BytesPerWord - 1;
anInstruction11 = genoperandoperand(AndCqR, BytesPerWord - 1, TempReg);
/* begin LogicalShiftLeftCq:R: */
- quickConstant9 = formatShift();
- genoperandoperand(LogicalShiftLeftCqR, quickConstant9, TempReg);
+ quickConstant10 = formatShift();
+ genoperandoperand(LogicalShiftLeftCqR, quickConstant10, TempReg);
/* begin AddR:R: */
genoperandoperand(AddRR, TempReg, headerReg);
/* begin AddCq:R: */
- literal2 = BytesPerWord - 1;
+ literal1 = BytesPerWord - 1;
anInstruction12 = genoperandoperand(AddCqR, BytesPerWord - 1, instSpecReg);
/* begin LogicalShiftRightCq:R: */
genoperandoperand(LogicalShiftRightCqR, shiftForWord(), instSpecReg);
@@ -14115,15 +14121,15 @@
/* begin MoveR:R: */
genoperandoperand(MoveRR, fillReg, instSpecReg);
/* begin MoveCq:R: */
- quickConstant12 = nilObject();
+ quickConstant13 = nilObject();
/* begin gen:quickConstant:operand: */
- anInstruction14 = genoperandoperand(MoveCqR, quickConstant12, fillReg);
+ anInstruction14 = genoperandoperand(MoveCqR, quickConstant13, fillReg);
jmpTarget(jumpBytePrepDone, jmpTarget(jumpLongPrepDone, gLabel()));
/* begin MoveR:R: */
genoperandoperand(MoveRR, instSpecReg, TempReg);
/* begin LogicalShiftLeftCq:R: */
- quickConstant10 = numSlotsFullShift();
- genoperandoperand(LogicalShiftLeftCqR, quickConstant10, TempReg);
+ quickConstant11 = numSlotsFullShift();
+ genoperandoperand(LogicalShiftLeftCqR, quickConstant11, TempReg);
/* begin AddR:R: */
genoperandoperand(AddRR, TempReg, headerReg);
/* begin CmpCq:R: */
@@ -14139,9 +14145,9 @@
genoperandoperand(LogicalShiftLeftCqR, shiftForWord(), byteSizeReg);
jmpTarget(skip, gAddRR(Arg1Reg, byteSizeReg));
/* begin CmpCq:R: */
- quickConstant11 = getScavengeThreshold();
+ quickConstant12 = getScavengeThreshold();
/* begin gen:quickConstant:operand: */
- anInstruction17 = genoperandoperand(CmpCqR, quickConstant11, byteSizeReg);
+ anInstruction17 = genoperandoperand(CmpCqR, quickConstant12, byteSizeReg);
/* begin JumpAboveOrEqual: */
jumpNoSpace = genConditionalBranchoperand(JumpAboveOrEqual, ((sqInt)0));
/* begin MoveR:R: */
@@ -14762,7 +14768,7 @@
{
AbstractInstruction *anInstruction;
AbstractInstruction *anInstruction1;
- sqInt mask;
+ int mask;
sqInt rememberedBitByteOffset;
rememberedBitByteOffset = (rememberedBitShift()) / 8;
@@ -15750,6 +15756,8 @@
usqLong header;
sqInt numSlots;
sqInt quickConstant;
+ sqInt quickConstant1;
+ sqInt quickConstant2;
AbstractInstruction *skip;
@@ -15787,11 +15795,15 @@
/* begin MoveR:Mw:r: */
anInstruction6 = genoperandoperandoperand(MoveRMwr, ClassReg, (ClosureOuterContextIndex * BytesPerOop) + BaseHeaderSize, ReceiverResultReg);
/* begin MoveCq:R: */
- anInstruction7 = genoperandoperand(MoveCqR, ((bcpc << 3) | 1), TempReg);
+ quickConstant1 = ((bcpc << 3) | 1);
+ /* begin gen:quickConstant:operand: */
+ anInstruction7 = genoperandoperand(MoveCqR, quickConstant1, TempReg);
/* begin MoveR:Mw:r: */
anInstruction8 = genoperandoperandoperand(MoveRMwr, TempReg, (ClosureStartPCIndex * BytesPerOop) + BaseHeaderSize, ReceiverResultReg);
/* begin MoveCq:R: */
- anInstruction9 = genoperandoperand(MoveCqR, ((numArgs << 3) | 1), TempReg);
+ quickConstant2 = ((numArgs << 3) | 1);
+ /* begin gen:quickConstant:operand: */
+ anInstruction9 = genoperandoperand(MoveCqR, quickConstant2, TempReg);
/* begin MoveR:Mw:r: */
anInstruction10 = genoperandoperandoperand(MoveRMwr, TempReg, (ClosureNumArgsIndex * BytesPerOop) + BaseHeaderSize, ReceiverResultReg);
return 0;
@@ -15907,6 +15919,7 @@
AbstractInstruction *jumpBounds;
AbstractInstruction *jumpNotHeaderIndex;
sqInt quickConstant;
+ sqInt quickConstant1;
/* begin genLoadArgAtDepth:into: */
assert(0 < (numRegArgs()));
@@ -15914,7 +15927,9 @@
jumpBadIndex = genJumpNotSmallInteger(Arg0Reg);
genGetMethodHeaderOfintoscratch(ReceiverResultReg, (headerReg = Arg1Reg), TempReg);
/* begin CmpCq:R: */
- anInstruction = genoperandoperand(CmpCqR, (((sqInt)1 << 3) | 1), Arg0Reg);
+ quickConstant = (((sqInt)1 << 3) | 1);
+ /* begin gen:quickConstant:operand: */
+ anInstruction = genoperandoperand(CmpCqR, quickConstant, Arg0Reg);
/* begin JumpNonZero: */
jumpNotHeaderIndex = genConditionalBranchoperand(JumpNonZero, ((sqInt)0));
/* begin MoveR:R: */
@@ -15925,9 +15940,9 @@
genoperand(RetN, 0);
jmpTarget(jumpNotHeaderIndex, gAndCqR((((alternateHeaderNumLiteralsMask()) << 3) | 1), headerReg));
/* begin SubCq:R: */
- quickConstant = ((((sqInt)1 << 3) | 1)) - (smallIntegerTag());
+ quickConstant1 = ((((sqInt)1 << 3) | 1)) - (smallIntegerTag());
/* begin gen:quickConstant:operand: */
- anInstruction2 = genoperandoperand(SubCqR, quickConstant, Arg0Reg);
+ anInstruction2 = genoperandoperand(SubCqR, quickConstant1, Arg0Reg);
/* begin CmpR:R: */
genoperandoperand(CmpRR, headerReg, Arg0Reg);
/* begin JumpAbove: */
@@ -16907,12 +16922,10 @@
*/
/* CogX64Compiler>>#callFullTargetFromReturnAddress: */
-static void NoDbgRegParms
+static sqInt NoDbgRegParms
callFullTargetFromReturnAddress(AbstractInstruction * self_in_callFullTargetFromReturnAddress, sqInt callSiteReturnAddress)
{
- /* begin sixtyFourBitLiteralBefore: */
- unalignedLongAt((callSiteReturnAddress - 2) - 8);
- return;
+ return unalignedLongAt((callSiteReturnAddress - 2) - 8);
}
/* CogX64Compiler>>#callInstructionByteSize */
@@ -17801,7 +17814,7 @@
updateLabel(dependentChain, self_in_dispatchConcretize);
dependentChain = (dependentChain->dependent);
}
- ((self_in_dispatchConcretize->machineCodeSize) = 0);
+ (self_in_dispatchConcretize->machineCodeSize) = 0;
return;
case AlignmentNops:
@@ -17819,20 +17832,20 @@
((self_in_dispatchConcretize->machineCode))[1] = ((((usqInt) word) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[2] = ((((usqInt) word) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) word) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 4);
+ (self_in_dispatchConcretize->machineCodeSize) = 4;
return;
case Nop:
/* begin concretizeNop */
((self_in_dispatchConcretize->machineCode))[0] = 144;
- ((self_in_dispatchConcretize->machineCodeSize) = 1);
+ (self_in_dispatchConcretize->machineCodeSize) = 1;
return;
case CDQ:
/* begin concretizeCDQ */
((self_in_dispatchConcretize->machineCode))[0] = 72;
((self_in_dispatchConcretize->machineCode))[1] = 153;
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
return;
case IDIVR:
@@ -17841,7 +17854,7 @@
((self_in_dispatchConcretize->machineCode))[0] = (rexRxb(self_in_dispatchConcretize, 0, 0, regDivisor));
((self_in_dispatchConcretize->machineCode))[1] = 247;
((self_in_dispatchConcretize->machineCode))[2] = (modRMRO(self_in_dispatchConcretize, ModReg, regDivisor, 7));
- ((self_in_dispatchConcretize->machineCodeSize) = 3);
+ (self_in_dispatchConcretize->machineCodeSize) = 3;
return;
case IMULRR:
@@ -17852,7 +17865,7 @@
((self_in_dispatchConcretize->machineCode))[1] = 15;
((self_in_dispatchConcretize->machineCode))[2] = 175;
((self_in_dispatchConcretize->machineCode))[3] = (modRMRO(self_in_dispatchConcretize, ModReg, reg1, reg2));
- ((self_in_dispatchConcretize->machineCodeSize) = 4);
+ (self_in_dispatchConcretize->machineCodeSize) = 4;
return;
case XCHGRR:
@@ -17868,7 +17881,7 @@
((self_in_dispatchConcretize->machineCode))[2] = ((((usqInt) offset) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 5);
+ (self_in_dispatchConcretize->machineCodeSize) = 5;
return;
case CallFull:
@@ -17886,7 +17899,7 @@
((self_in_dispatchConcretize->machineCode))[9] = ((((usqInt) operand) >> 56) & 0xFF);
((self_in_dispatchConcretize->machineCode))[10] = 0xFF;
((self_in_dispatchConcretize->machineCode))[11] = (modRMRO(self_in_dispatchConcretize, ModReg, RAX, 2));
- ((self_in_dispatchConcretize->machineCodeSize) = 12);
+ (self_in_dispatchConcretize->machineCodeSize) = 12;
return;
case JumpR:
@@ -17894,7 +17907,7 @@
reg = ((self_in_dispatchConcretize->operands))[0];
((self_in_dispatchConcretize->machineCode))[0] = 0xFF;
((self_in_dispatchConcretize->machineCode))[1] = (modRMRO(self_in_dispatchConcretize, ModReg, reg, 4));
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
return;
case JumpFull:
@@ -17912,7 +17925,7 @@
((self_in_dispatchConcretize->machineCode))[9] = ((((usqInt) operand1) >> 56) & 0xFF);
((self_in_dispatchConcretize->machineCode))[10] = 0xFF;
((self_in_dispatchConcretize->machineCode))[11] = (modRMRO(self_in_dispatchConcretize, ModReg, RAX, 4));
- ((self_in_dispatchConcretize->machineCodeSize) = 12);
+ (self_in_dispatchConcretize->machineCodeSize) = 12;
return;
case JumpLong:
@@ -17929,7 +17942,7 @@
((self_in_dispatchConcretize->machineCode))[2] = ((((usqInt) offset12) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset12) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset12) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 5);
+ (self_in_dispatchConcretize->machineCodeSize) = 5;
return;
case JumpLongZero:
@@ -17950,8 +17963,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112 + 4);
((self_in_dispatchConcretize->machineCode))[1] = (offset23 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l69;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget11 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -17969,7 +17982,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset113) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset113) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset113) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l69: /* end concretizeConditionalJump: */;
return;
case JumpLongNonZero:
@@ -17990,8 +18004,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112 + 5);
((self_in_dispatchConcretize->machineCode))[1] = (offset24 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l74;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget111 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -18009,7 +18023,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset114) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset114) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset114) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l74: /* end concretizeConditionalJump: */;
return;
case Jump:
@@ -18027,8 +18042,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = 235;
((self_in_dispatchConcretize->machineCode))[1] = (offset13 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l52;
}
offset13 = (((int) jumpTarget1)) - (((int) (((self_in_dispatchConcretize->address)) + 5)));
((self_in_dispatchConcretize->machineCode))[0] = 233;
@@ -18036,7 +18051,8 @@
((self_in_dispatchConcretize->machineCode))[2] = ((((usqInt) offset13) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset13) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset13) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 5);
+ (self_in_dispatchConcretize->machineCodeSize) = 5;
+ l52: /* end concretizeJump */;
return;
case JumpNegative:
@@ -18055,8 +18071,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112 + 8);
((self_in_dispatchConcretize->machineCode))[1] = (offset25 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l79;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget112 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -18074,7 +18090,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset115) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset115) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset115) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l79: /* end concretizeConditionalJump: */;
return;
case JumpNonNegative:
@@ -18093,8 +18110,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112 + 9);
((self_in_dispatchConcretize->machineCode))[1] = (offset26 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l84;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget113 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -18112,7 +18129,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset116) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset116) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset116) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l84: /* end concretizeConditionalJump: */;
return;
case JumpOverflow:
@@ -18131,8 +18149,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112);
((self_in_dispatchConcretize->machineCode))[1] = (offset27 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l89;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget114 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -18150,7 +18168,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset117) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset117) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset117) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l89: /* end concretizeConditionalJump: */;
return;
case JumpNoOverflow:
@@ -18169,8 +18188,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112 + 1);
((self_in_dispatchConcretize->machineCode))[1] = (offset28 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l94;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget115 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -18188,7 +18207,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset118) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset118) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset118) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l94: /* end concretizeConditionalJump: */;
return;
case JumpCarry:
@@ -18209,8 +18229,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112 + 2);
((self_in_dispatchConcretize->machineCode))[1] = (offset29 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l99;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget116 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -18228,7 +18248,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset119) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset119) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset119) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l99: /* end concretizeConditionalJump: */;
return;
case JumpNoCarry:
@@ -18249,8 +18270,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112 + 3);
((self_in_dispatchConcretize->machineCode))[1] = (offset30 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l104;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget117 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -18268,7 +18289,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset120) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset120) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset120) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l104: /* end concretizeConditionalJump: */;
return;
case JumpLess:
@@ -18287,8 +18309,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112 + 12);
((self_in_dispatchConcretize->machineCode))[1] = (offset31 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l109;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget118 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -18306,7 +18328,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset121) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset121) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset121) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l109: /* end concretizeConditionalJump: */;
return;
case JumpGreaterOrEqual:
@@ -18325,8 +18348,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112 + 13);
((self_in_dispatchConcretize->machineCode))[1] = (offset32 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l114;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget1110 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -18344,7 +18367,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset122) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset122) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset122) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l114: /* end concretizeConditionalJump: */;
return;
case JumpGreater:
@@ -18363,8 +18387,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112 + 15);
((self_in_dispatchConcretize->machineCode))[1] = (offset33 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l119;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget1111 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -18382,7 +18406,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset123) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset123) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset123) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l119: /* end concretizeConditionalJump: */;
return;
case JumpLessOrEqual:
@@ -18401,8 +18426,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112 + 14);
((self_in_dispatchConcretize->machineCode))[1] = (offset34 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l124;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget1112 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -18420,7 +18445,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset124) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset124) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset124) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l124: /* end concretizeConditionalJump: */;
return;
case JumpAbove:
@@ -18440,8 +18466,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112 + 7);
((self_in_dispatchConcretize->machineCode))[1] = (offset35 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l129;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget1113 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -18459,7 +18485,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset125) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset125) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset125) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l129: /* end concretizeConditionalJump: */;
return;
case JumpBelowOrEqual:
@@ -18479,8 +18506,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112 + 6);
((self_in_dispatchConcretize->machineCode))[1] = (offset36 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l134;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget1114 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -18498,7 +18525,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset126) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset126) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset126) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l134: /* end concretizeConditionalJump: */;
return;
case JumpFPOrdered:
@@ -18517,8 +18545,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112 + 11);
((self_in_dispatchConcretize->machineCode))[1] = (offset37 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l139;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget1115 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -18536,7 +18564,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset127) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset127) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset127) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l139: /* end concretizeConditionalJump: */;
return;
case JumpFPUnordered:
@@ -18555,8 +18584,8 @@
: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
((self_in_dispatchConcretize->machineCode))[0] = (112 + 10);
((self_in_dispatchConcretize->machineCode))[1] = (offset38 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 2);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 2;
+ goto l144;
}
/* begin concretizeConditionalJumpLong: */
jumpTarget1116 = ((AbstractInstruction *) (((self_in_dispatchConcretize->operands))[0]));
@@ -18574,7 +18603,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset128) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset128) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset128) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ l144: /* end concretizeConditionalJump: */;
return;
case RetN:
@@ -18582,19 +18612,20 @@
offset1 = ((self_in_dispatchConcretize->operands))[0];
if (offset1 == 0) {
((self_in_dispatchConcretize->machineCode))[0] = 195;
- ((self_in_dispatchConcretize->machineCodeSize) = 1);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 1;
+ goto l12;
}
((self_in_dispatchConcretize->machineCode))[0] = 194;
((self_in_dispatchConcretize->machineCode))[1] = (offset1 & 0xFF);
((self_in_dispatchConcretize->machineCode))[2] = (((usqInt) offset1) >> 8);
- ((self_in_dispatchConcretize->machineCodeSize) = 3);
+ (self_in_dispatchConcretize->machineCodeSize) = 3;
+ l12: /* end concretizeRetN */;
return;
case Stop:
/* begin concretizeStop */
((self_in_dispatchConcretize->machineCode))[0] = 204;
- ((self_in_dispatchConcretize->machineCodeSize) = 1);
+ (self_in_dispatchConcretize->machineCodeSize) = 1;
return;
case AddCqR:
@@ -18617,7 +18648,7 @@
((self_in_dispatchConcretize->machineCode))[1] = 15;
((self_in_dispatchConcretize->machineCode))[2] = 88;
((self_in_dispatchConcretize->machineCode))[3] = (modRMRO(self_in_dispatchConcretize, ModReg, regRHS, regLHS));
- ((self_in_dispatchConcretize->machineCodeSize) = 4);
+ (self_in_dispatchConcretize->machineCodeSize) = 4;
return;
case AndCqR:
@@ -18641,8 +18672,8 @@
((self_in_dispatchConcretize->machineCode))[1] = 246;
((self_in_dispatchConcretize->machineCode))[2] = (modRMRO(self_in_dispatchConcretize, ModReg, reg3, 0));
((self_in_dispatchConcretize->machineCode))[3] = (value & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 4);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 4;
+ goto l15;
}
if (is32BitSignedImmediate(self_in_dispatchConcretize, value)) {
if (reg3 == RAX) {
@@ -18651,8 +18682,8 @@
((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) value) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) value) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) value) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 6);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 6;
+ goto l15;
}
((self_in_dispatchConcretize->machineCode))[1] = 247;
((self_in_dispatchConcretize->machineCode))[2] = (modRMRO(self_in_dispatchConcretize, ModReg, reg3, 0));
@@ -18660,10 +18691,11 @@
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) value) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) value) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[6] = ((((usqInt) value) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 7);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 7;
+ goto l15;
}
concretizeArithCwR(self_in_dispatchConcretize, 133);
+ l15: /* end concretizeTstCqR */;
return;
case CmpCqR:
@@ -18697,7 +18729,7 @@
((self_in_dispatchConcretize->machineCode))[skip + 2] = ((((usqInt) value1) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[skip + 3] = ((((usqInt) value1) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[skip + 4] = ((((usqInt) value1) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 5 + skip);
+ (self_in_dispatchConcretize->machineCodeSize) = 5 + skip;
return;
case CmpRR:
@@ -18712,7 +18744,7 @@
((self_in_dispatchConcretize->machineCode))[1] = 15;
((self_in_dispatchConcretize->machineCode))[2] = 46;
((self_in_dispatchConcretize->machineCode))[3] = (modRMRO(self_in_dispatchConcretize, ModReg, regRHS1, regLHS1));
- ((self_in_dispatchConcretize->machineCodeSize) = 4);
+ (self_in_dispatchConcretize->machineCodeSize) = 4;
return;
case DivRdRd:
@@ -18723,7 +18755,7 @@
((self_in_dispatchConcretize->machineCode))[1] = 15;
((self_in_dispatchConcretize->machineCode))[2] = 94;
((self_in_dispatchConcretize->machineCode))[3] = (modRMRO(self_in_dispatchConcretize, ModReg, regRHS2, regLHS2));
- ((self_in_dispatchConcretize->machineCodeSize) = 4);
+ (self_in_dispatchConcretize->machineCodeSize) = 4;
return;
case MulRdRd:
@@ -18734,7 +18766,7 @@
((self_in_dispatchConcretize->machineCode))[1] = 15;
((self_in_dispatchConcretize->machineCode))[2] = 89;
((self_in_dispatchConcretize->machineCode))[3] = (modRMRO(self_in_dispatchConcretize, ModReg, regRHS3, regLHS3));
- ((self_in_dispatchConcretize->machineCodeSize) = 4);
+ (self_in_dispatchConcretize->machineCodeSize) = 4;
return;
case OrCqR:
@@ -18769,7 +18801,7 @@
((self_in_dispatchConcretize->machineCode))[1] = 15;
((self_in_dispatchConcretize->machineCode))[2] = 92;
((self_in_dispatchConcretize->machineCode))[3] = (modRMRO(self_in_dispatchConcretize, ModReg, regRHS4, regLHS4));
- ((self_in_dispatchConcretize->machineCodeSize) = 4);
+ (self_in_dispatchConcretize->machineCodeSize) = 4;
return;
case SqrtRd:
@@ -18779,7 +18811,7 @@
((self_in_dispatchConcretize->machineCode))[1] = 15;
((self_in_dispatchConcretize->machineCode))[2] = 81;
((self_in_dispatchConcretize->machineCode))[3] = (modRMRO(self_in_dispatchConcretize, ModReg, reg5, reg5));
- ((self_in_dispatchConcretize->machineCodeSize) = 4);
+ (self_in_dispatchConcretize->machineCodeSize) = 4;
return;
case XorCwR:
@@ -18796,7 +18828,7 @@
((self_in_dispatchConcretize->machineCode))[0] = (rexRxb(self_in_dispatchConcretize, 0, 0, reg6));
((self_in_dispatchConcretize->machineCode))[1] = 247;
((self_in_dispatchConcretize->machineCode))[2] = (modRMRO(self_in_dispatchConcretize, ModReg, reg6, 3));
- ((self_in_dispatchConcretize->machineCodeSize) = 3);
+ (self_in_dispatchConcretize->machineCodeSize) = 3;
return;
case LoadEffectiveAddressMwrR:
@@ -18811,23 +18843,23 @@
if (isQuick(self_in_dispatchConcretize, offset2)) {
((self_in_dispatchConcretize->machineCode))[2] = (modRMRO(self_in_dispatchConcretize, ModRegRegDisp8, srcReg, destReg));
((self_in_dispatchConcretize->machineCode))[3] = (offset2 & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 4);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 4;
+ goto l23;
}
((self_in_dispatchConcretize->machineCode))[2] = (modRMRO(self_in_dispatchConcretize, ModRegRegDisp32, srcReg, destReg));
((self_in_dispatchConcretize->machineCode))[3] = (offset2 & 0xFF);
((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset2) >> 8) & 0xFF);
((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset2) >> 16) & 0xFF);
((self_in_dispatchConcretize->machineCode))[6] = ((((usqInt) offset2) >> 24) & 0xFF);
- ((self_in_dispatchConcretize->machineCodeSize) = 7);
- return;
+ (self_in_dispatchConcretize->machineCodeSize) = 7;
+ goto l23;
}
if (isQuick(self_in_dispatchConcretize, offset2)) {
@@ Diff output truncated at 50000 characters. @@
More information about the Vm-dev
mailing list