[Vm-dev] [commit][2910] CogVM source as per VMMaker.oscog-eem.695

commits at squeakvm.org commits at squeakvm.org
Thu May 1 17:16:05 UTC 2014


Revision: 2910
Author:   eliot
Date:     2014-05-01 10:16:01 -0700 (Thu, 01 May 2014)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.695

VMMaker image:
Don't file-in patches in the trunk image fixed in trunk.
Add an expression to output one or more plugins to the Workspace.

VM:
Use the option: approach to organize the numRegArgs implementations, which allows
inlining and the necessary dead code elimination in CoInterpreter to avoid
implementing the register enilopmarts in SimpleStackBasedCogit.  Hence fix
regression in inlining numRegArgs in CoInterpreter.

Fix slip bug in ObjectMemory>>isContextHeader:

externalSetStackPageAndPointersForSuspendedContextOfProcess:
must be marked <inline> to be reliably inlined in transferTo:/transfer:to: et al.

Fix the return type of convertToMachineCodeFrame:bcpc: to match the change
to answer the absolute pc, not the relative pc of the backward jump done in
VMMaker.oscog-eem.674.

Fix a slip and a bug in printObjectsFrom:to:

Cogit:
Add inline pragmas to the concretize methods that were lacking them.

Spur:
Implement "pig compact", a much more functional compaction algorithm that works
by doubly-linking free chunks in address order, therefore allowing e.g. easy
enumeration of the objects between the penultimate and ultimate free chunks.
Hence the algorithm moves all the objects it can at the end of memory to free
chunks at lower addresses.  It is piggish for several reasons:
1. it is greedy, using parts of a free chunk, not looking for a
   best or perfect fit.
2. it is greedy trying to move a run of objects at a time
3. it deals with large objects ("pigs") by searching the free list
   for a free chunk large enough to hold the pig.  (and what
   constitutes a pig remains to be tuned; currently it is 8 * the
   average object size.

Write the totalFreeOldSpace to the image header immediately
following the size of the first segment.  This to allow better
determination of how much free space to allocate on startup.

Use cCode:inSmalltalk: to encapsulate the printing of the gc
stages, and delete the overrides in the simulator subclasses.

Make sure the last bridge is marked to simplify coallesceFreeChunk:

Rename averageObjectSize to averageObjectSizeInBytes.

Add printOopsFrom:to:

Modified Paths:
--------------
    branches/Cog/image/BuildSqueak45Image.st
    branches/Cog/image/Workspace.text
    branches/Cog/nscogsrc/vm/cogit.c
    branches/Cog/nscogsrc/vm/cogit.h
    branches/Cog/nscogsrc/vm/cogmethod.h
    branches/Cog/nscogsrc/vm/cointerp.c
    branches/Cog/nscogsrc/vm/cointerp.h
    branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
    branches/Cog/nscogsrc/vm/interp.h
    branches/Cog/nscogsrc/vm/vmCallback.h
    branches/Cog/nsspursrc/vm/cogit.c
    branches/Cog/nsspursrc/vm/cogit.h
    branches/Cog/nsspursrc/vm/cogmethod.h
    branches/Cog/nsspursrc/vm/cointerp.c
    branches/Cog/nsspursrc/vm/cointerp.h
    branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
    branches/Cog/nsspursrc/vm/interp.h
    branches/Cog/nsspursrc/vm/vmCallback.h
    branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
    branches/Cog/nsspurstacksrc/vm/interp.c
    branches/Cog/nsspurstacksrc/vm/interp.h
    branches/Cog/nsspurstacksrc/vm/vmCallback.h
    branches/Cog/sistasrc/vm/cogit.c
    branches/Cog/sistasrc/vm/cogit.h
    branches/Cog/sistasrc/vm/cogmethod.h
    branches/Cog/sistasrc/vm/cointerp.c
    branches/Cog/sistasrc/vm/cointerp.h
    branches/Cog/sistasrc/vm/gcc3x-cointerp.c
    branches/Cog/sistasrc/vm/interp.h
    branches/Cog/sistasrc/vm/vmCallback.h
    branches/Cog/spursistasrc/vm/cogit.c
    branches/Cog/spursistasrc/vm/cogit.h
    branches/Cog/spursistasrc/vm/cogmethod.h
    branches/Cog/spursistasrc/vm/cointerp.c
    branches/Cog/spursistasrc/vm/cointerp.h
    branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
    branches/Cog/spursistasrc/vm/interp.h
    branches/Cog/spursistasrc/vm/vmCallback.h
    branches/Cog/spursrc/vm/cogit.c
    branches/Cog/spursrc/vm/cogit.h
    branches/Cog/spursrc/vm/cogmethod.h
    branches/Cog/spursrc/vm/cointerp.c
    branches/Cog/spursrc/vm/cointerp.h
    branches/Cog/spursrc/vm/gcc3x-cointerp.c
    branches/Cog/spursrc/vm/interp.h
    branches/Cog/spursrc/vm/vmCallback.h
    branches/Cog/spurstacksrc/vm/gcc3x-interp.c
    branches/Cog/spurstacksrc/vm/interp.c
    branches/Cog/spurstacksrc/vm/interp.h
    branches/Cog/spurstacksrc/vm/vmCallback.h
    branches/Cog/src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c
    branches/Cog/src/plugins/AioPlugin/AioPlugin.c
    branches/Cog/src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c
    branches/Cog/src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c
    branches/Cog/src/plugins/SqueakFFIPrims/IA32FFIPlugin.c
    branches/Cog/src/vm/cogit.c
    branches/Cog/src/vm/cogit.h
    branches/Cog/src/vm/cogmethod.h
    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/src/vm/interp.h
    branches/Cog/src/vm/vmCallback.h
    branches/Cog/stacksrc/vm/gcc3x-interp.c
    branches/Cog/stacksrc/vm/interp.c
    branches/Cog/stacksrc/vm/interp.h
    branches/Cog/stacksrc/vm/vmCallback.h

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

Modified: branches/Cog/image/BuildSqueak45Image.st
===================================================================
--- branches/Cog/image/BuildSqueak45Image.st	2014-04-30 02:32:11 UTC (rev 2909)
+++ branches/Cog/image/BuildSqueak45Image.st	2014-05-01 17:16:01 UTC (rev 2910)
@@ -23,10 +23,17 @@
 				{repository. order. packages}] valueWithArguments: tuple])
 			sort: [:a :b| a second <= b second].
 
-#(	'FT2Constants.st'
-	'Object-performwithwithwithwithwith.st'
-	'CompiledMethod-usesAlternateBytecodeSet.st'
-	'FileDirectory-on-methods.st'
+((MCMcmUpdater defaultUpdateURL endsWith: 'trunk')
+	ifTrue:
+		[#(	"'FT2Constants.st'"
+			'Object-performwithwithwithwithwith.st'
+			'CompiledMethod-usesAlternateBytecodeSet.st' )]
+	ifFalse:
+		[#(	"'FT2Constants.st'"
+			'Object-performwithwithwithwithwith.st'
+			'CompiledMethod-usesAlternateBytecodeSet.st'
+			'FileDirectory-on-methods.st'
+			'StandardFileStream-nextPutAll.st' )]
 	) do:
 	[:fileName| (FileDirectory default fileNamed: fileName) fileIn].
 
Modified: branches/Cog/image/Workspace.text
===================================================================
--- branches/Cog/image/Workspace.text	2014-04-30 02:32:11 UTC (rev 2909)
+++ branches/Cog/image/Workspace.text	2014-05-01 17:16:01 UTC (rev 2910)
@@ -10,10 +10,13 @@
 
 Read the class comments of StackInterpreterSimulator and CogVMSimulator for running the simulator, and/or look at the examples in the VM Simulation Workspace.
 
-This is useful for generating a set of plugins to the default directory:
-(VMMaker
+This is useful for forcing the generation of a set of plugins to the default directory:
+(| plugins |
+ plugins := #(ThreadedARMFFIPlugin ThreadedIA32FFIPlugin).
+ plugins do: [:pluginName| (Smalltalk classNamed: pluginName) touch].
+ (VMMaker
 	makerFor: StackInterpreter
 	and: nil with: #()
 	to: VMMaker sourceTree, '/src'
 	platformDir: VMMaker sourceTree, '/platforms'
-	including: #(ThreadedARMFFIPlugin)) generateExternalPlugins
\ No newline at end of file
+	including: plugins) generateExternalPlugins)
\ No newline at end of file

Modified: branches/Cog/nscogsrc/vm/cogit.c
===================================================================
--- branches/Cog/nscogsrc/vm/cogit.c	2014-04-30 02:32:11 UTC (rev 2909)
+++ branches/Cog/nscogsrc/vm/cogit.c	2014-05-01 17:16:01 UTC (rev 2910)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.674 uuid: eefd603d-9638-4ad8-99c0-4ee12e87d49d
+	CCodeGenerator VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.674 uuid: eefd603d-9638-4ad8-99c0-4ee12e87d49d
+	StackToRegisterMappingCogit VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.674 uuid: eefd603d-9638-4ad8-99c0-4ee12e87d49d " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -112,26 +112,26 @@
 
 
 /*** Constants ***/
-#define AddCqR 85
-#define AddCwR 92
-#define AddRdRd 99
-#define AddRR 78
+#define AddCqR 90
+#define AddCwR 97
+#define AddRdRd 104
+#define AddRR 83
 #define AlignmentNops 2
 #define AllButTypeMask 0xFFFFFFFCUL
 #define AltBlockCreationBytecodeSize 3
 #define AltNSSendIsPCAnnotated 0
-#define AndCqR 87
-#define AndCwR 94
-#define AndRR 80
+#define AndCqR 92
+#define AndCwR 99
+#define AndRR 85
 #define AnnotationShift 5
 #define Arg0Reg -7
 #define Arg1Reg -8
-#define ArithmeticShiftRightCqR 71
-#define ArithmeticShiftRightRR 72
+#define ArithmeticShiftRightCqR 76
+#define ArithmeticShiftRightRR 77
 #define BadRegisterSet 1
 #define BlockCreationBytecodeSize 4
 #define Call 9
-#define CDQ 105
+#define CDQ 110
 #define ClassMethodContextCompactIndex 14
 #define ClassReg -5
 #define ClosureFirstCopiedValueIndex 3
@@ -144,20 +144,20 @@
 #define CMMaxUsageCount 7
 #define CMMethod 2
 #define CMOpenPIC 5
-#define CMPXCHGAwR 113
-#define CMPXCHGMwrR 114
-#define CmpCqR 84
-#define CmpCwR 91
-#define CmpRdRd 98
-#define CmpRR 77
+#define CMPXCHGAwR 118
+#define CMPXCHGMwrR 119
+#define CmpCqR 89
+#define CmpCwR 96
+#define CmpRdRd 103
+#define CmpRR 82
 #define CompactClasses 28
 #define ConstZero 1
-#define ConvertRRd 104
-#define CPUID 108
+#define ConvertRRd 109
+#define CPUID 113
 #define Debug DEBUGVM
 #define DisplacementMask 0x1F
 #define DisplacementX2N 32
-#define DivRdRd 102
+#define DivRdRd 107
 #define DPFPReg0 -9
 #define DPFPReg1 -10
 #define DPFPReg2 -11
@@ -198,8 +198,8 @@
 #define HeaderIndex 0
 #define HeaderTypeShort 3
 #define HeaderTypeSizeAndClass 0
-#define IDIVR 106
-#define IMULRR 107
+#define IDIVR 111
+#define IMULRR 112
 #define InstanceSpecificationIndex 2
 #define InstructionPointerIndex 1
 #define InsufficientCodeSpace -2
@@ -240,14 +240,14 @@
 #define JumpZero 16
 #define Label 1
 #define LastJump 39
-#define LFENCE 109
+#define LFENCE 114
 #define LinkReg -17
-#define LOCK 112
-#define LoadEffectiveAddressMwrR 69
-#define LogicalShiftLeftCqR 75
-#define LogicalShiftLeftRR 76
-#define LogicalShiftRightCqR 73
-#define LogicalShiftRightRR 74
+#define LOCK 117
+#define LoadEffectiveAddressMwrR 73
+#define LogicalShiftLeftCqR 80
+#define LogicalShiftLeftRR 81
+#define LogicalShiftRightCqR 78
+#define LogicalShiftRightRR 79
 #define LongSizeMask 0xFFFFFFFCUL
 #define MapEnd 0
 #define MaxCompiledPrimitiveIndex 222
@@ -264,7 +264,7 @@
 #define MethodCacheSelector 1
 #define MethodIndex 3
 #define MethodTooBig -4
-#define MFENCE 110
+#define MFENCE 115
 #define MFMethodFlagHasContextFlag 1
 #define MFMethodFlagIsBlockFlag 2
 #define ModReg 3
@@ -272,25 +272,25 @@
 #define ModRegRegDisp32 2
 #define ModRegRegDisp8 1
 #define MoveAwR 41
-#define MoveCqR 58
-#define MoveCwR 59
+#define MoveCqR 62
+#define MoveCwR 63
 #define MoveM16rR 50
-#define MoveM64rRd 63
-#define MoveMbrR 54
+#define MoveM64rRd 67
+#define MoveMbrR 58
 #define MoveMwrR 44
 #define MoveRAw 42
-#define MoveRdM64r 64
-#define MoveRdRd 62
-#define MoveRMbr 55
+#define MoveRdM64r 68
+#define MoveRdRd 66
+#define MoveRMbr 59
 #define MoveRMwr 45
 #define MoveRR 40
-#define MoveRXbrR 57
+#define MoveRXbrR 61
 #define MoveRXwrR 47
-#define MoveXbrRR 56
+#define MoveXbrRR 60
 #define MoveXwrRR 46
 #define MULTIPLEBYTECODESETS 1
-#define MulRdRd 101
-#define NegateR 70
+#define MulRdRd 106
+#define NegateR 75
 #define NewspeakVM 1
 #define Nop 8
 #define NotFullyInitialized -1
@@ -298,17 +298,17 @@
 #define NumObjRefsInRuntime 2
 #define NumSendTrampolines 4
 #define NumTrampolines 58
-#define OrCqR 88
-#define OrCwR 95
-#define OrRR 81
-#define PopR 65
-#define PrefetchAw 68
+#define OrCqR 93
+#define OrCwR 100
+#define OrRR 86
+#define PopR 69
+#define PrefetchAw 72
 #define PrimCallCollectsProfileSamples 8
 #define PrimCallMayCallBack 4
 #define PrimCallNeedsNewMethod 1
 #define PrimCallNeedsPrimitiveFunction 2
-#define PushCw 67
-#define PushR 66
+#define PushCw 71
+#define PushR 70
 #define ReceiverIndex 5
 #define ReceiverResultReg -3
 #define RetN 10
@@ -318,29 +318,29 @@
 #define SelectorDoesNotUnderstand 20
 #define SenderIndex 0
 #define SendNumArgsReg -6
-#define SFENCE 111
+#define SFENCE 116
 #define ShiftForWord 2
 #define SIB1 0
 #define SIB4 2
 #define Size4Bit 0
 #define SizeMask 0xFC
 #define SPReg -2
-#define SqrtRd 103
+#define SqrtRd 108
 #define SSBaseOffset 1
 #define SSConstant 2
 #define SSRegister 3
 #define SSSpill 4
-#define SubCqR 86
-#define SubCwR 93
-#define SubRdRd 100
-#define SubRR 79
+#define SubCqR 91
+#define SubCwR 98
+#define SubRdRd 105
+#define SubRR 84
 #define TempReg -4
 #define TypeMask 0x3
 #define UnimplementedPrimitive -7
 #define ValueIndex 1
-#define XCHGAwR 115
-#define XCHGMwrR 116
-#define XCHGRR 117
+#define XCHGAwR 120
+#define XCHGMwrR 121
+#define XCHGRR 122
 #define XMM0L 0
 #define XMM1L 2
 #define XMM2L 4
@@ -349,8 +349,8 @@
 #define XMM5L 10
 #define XMM6L 12
 #define XMM7L 14
-#define XorCwR 96
-#define XorRR 82
+#define XorCwR 101
+#define XorRR 87
 #define YoungSelectorInPIC -5
 
 
@@ -7654,7 +7654,7 @@
 static sqInt
 cPICMissTrampolineFor(sqInt numArgs)
 {
-	return picMissTrampolines[((numArgs < ((numRegArgs()) + 1)) ? numArgs : ((numRegArgs()) + 1))];
+	return picMissTrampolines[((numArgs < (1 + 1)) ? numArgs : (1 + 1))];
 }
 
 static sqInt
@@ -7706,17 +7706,24 @@
 static void
 dispatchConcretize(AbstractInstruction * self_in_dispatchConcretize)
 {
-    unsigned long addressOperand;
-    unsigned long addressOperand1;
-    sqInt addressOperand2;
+    sqInt addressOperand;
+    sqInt addressOperand1;
+    unsigned long addressOperand2;
+    unsigned long addressOperand3;
+    sqInt addressOperand4;
     sqInt base;
     sqInt base1;
     sqInt base2;
     sqInt base3;
+    AbstractInstruction *dependentChain;
     sqInt dest;
     sqInt dest1;
     sqInt destReg;
     sqInt destReg1;
+    sqInt destReg10;
+    sqInt destReg11;
+    sqInt destReg12;
+    sqInt destReg13;
     sqInt destReg2;
     sqInt destReg3;
     sqInt destReg4;
@@ -7728,6 +7735,7 @@
     sqInt distance;
     sqInt distance1;
     sqInt i;
+    sqInt i1;
     sqInt index;
     sqInt index1;
     sqInt index2;
@@ -7822,6 +7830,7 @@
     sqInt offset120;
     sqInt offset121;
     sqInt offset122;
+    sqInt offset123;
     sqInt offset13;
     sqInt offset14;
     sqInt offset15;
@@ -7844,6 +7853,7 @@
     sqInt offset30;
     sqInt offset31;
     sqInt offset32;
+    sqInt offset33;
     sqInt offset4;
     sqInt offset5;
     sqInt offset6;
@@ -7863,6 +7873,12 @@
     sqInt reg18;
     sqInt reg19;
     sqInt reg2;
+    sqInt reg20;
+    sqInt reg21;
+    sqInt reg22;
+    sqInt reg23;
+    sqInt reg24;
+    sqInt reg25;
     sqInt reg3;
     sqInt reg4;
     sqInt reg5;
@@ -7893,10 +7909,17 @@
     sqInt regRHS7;
     sqInt regRHS8;
     sqInt regRHS9;
+    sqInt regToShift;
+    sqInt regToShift1;
+    sqInt shiftCount;
+    sqInt shiftCountReg;
+    sqInt shiftCountReg1;
     sqInt src;
     sqInt src1;
     sqInt srcReg;
     sqInt srcReg1;
+    sqInt srcReg10;
+    sqInt srcReg11;
     sqInt srcReg2;
     sqInt srcReg3;
     sqInt srcReg4;
@@ -7917,11 +7940,20 @@
     sqInt value7;
     sqInt value8;
     sqInt value9;
+    unsigned short word;
+    unsigned long word1;
+    unsigned long word2;
 
 	
 	switch ((self_in_dispatchConcretize->opcode)) {
 	case Label:
-		concretizeLabel(self_in_dispatchConcretize);
+		/* begin concretizeLabel */
+		dependentChain = (self_in_dispatchConcretize->dependent);
+		while (!(dependentChain == null)) {
+			updateLabel(dependentChain, self_in_dispatchConcretize);
+			dependentChain = (dependentChain->dependent);
+		}
+		((self_in_dispatchConcretize->machineCodeSize) = 0);
 		return;
 
 	case AlignmentNops:
@@ -7933,19 +7965,39 @@
 		return;
 
 	case Fill16:
-		concretizeFill16(self_in_dispatchConcretize);
+		/* begin concretizeFill16 */
+		assert(((self_in_dispatchConcretize->maxSize)) == 2);
+		word = ((self_in_dispatchConcretize->operands))[0];
+		((self_in_dispatchConcretize->machineCode))[0] = (word & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[1] = (((usqInt) word) >> 8);
+		((self_in_dispatchConcretize->machineCodeSize) = 2);
 		return;
 
 	case Fill32:
-		concretizeFill32(self_in_dispatchConcretize);
+		/* begin concretizeFill32 */
+		word1 = ((self_in_dispatchConcretize->operands))[0];
+		((self_in_dispatchConcretize->machineCode))[0] = (word1 & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[1] = (((usqInt) word1) >> 8);
+		((self_in_dispatchConcretize->machineCode))[2] = (((usqInt) word1) >> 16);
+		((self_in_dispatchConcretize->machineCode))[3] = (((usqInt) word1) >> 24);
+		((self_in_dispatchConcretize->machineCodeSize) = 4);
 		return;
 
 	case FillFromWord:
-		concretizeFillFromWord(self_in_dispatchConcretize);
+		/* begin concretizeFillFromWord */
+		assert(((self_in_dispatchConcretize->maxSize)) == 4);
+		word2 = (((self_in_dispatchConcretize->operands))[0]) + (((self_in_dispatchConcretize->operands))[1]);
+		for (i1 = 0; i1 <= 3; i1 += 1) {
+			((self_in_dispatchConcretize->machineCode))[i1] = (word2 & 0xFF);
+			word2 = ((usqInt) word2) >> 8;
+		}
+		((self_in_dispatchConcretize->machineCodeSize) = (self_in_dispatchConcretize->maxSize));
 		return;
 
 	case Nop:
-		concretizeNop(self_in_dispatchConcretize);
+		/* begin concretizeNop */
+		((self_in_dispatchConcretize->machineCode))[0] = 144;
+		((self_in_dispatchConcretize->machineCodeSize) = 1);
 		return;
 
 	case CDQ:
@@ -7973,59 +8025,189 @@
 		return;
 
 	case CPUID:
-		concretizeCPUID(self_in_dispatchConcretize);
+		/* begin concretizeCPUID */
+		((self_in_dispatchConcretize->machineCode))[0] = 15;
+		((self_in_dispatchConcretize->machineCode))[1] = 162;
+		((self_in_dispatchConcretize->machineCodeSize) = 2);
 		return;
 
 	case CMPXCHGAwR:
-		concretizeCMPXCHGAwR(self_in_dispatchConcretize);
+		/* begin concretizeCMPXCHGAwR */
+		addressOperand = ((self_in_dispatchConcretize->operands))[0];
+		reg = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
+		((self_in_dispatchConcretize->machineCode))[0] = 15;
+		((self_in_dispatchConcretize->machineCode))[1] = 177;
+		((self_in_dispatchConcretize->machineCode))[2] = (modRMRO(self_in_dispatchConcretize, ModRegInd, 5, reg));
+		((self_in_dispatchConcretize->machineCode))[3] = (addressOperand & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) addressOperand) >> 8) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) addressOperand) >> 16) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[6] = ((((usqInt) addressOperand) >> 24) & 0xFF);
+		((self_in_dispatchConcretize->machineCodeSize) = 7);
 		return;
 
 	case CMPXCHGMwrR:
-		concretizeCMPXCHGMwrR(self_in_dispatchConcretize);
+		/* begin concretizeCMPXCHGMwrR */
+		offset = ((self_in_dispatchConcretize->operands))[0];
+		srcReg = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
+		destReg = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[2]);
+		if (srcReg != ESP) {
+			if (isQuick(self_in_dispatchConcretize, offset)) {
+				((self_in_dispatchConcretize->machineCode))[0] = 15;
+				((self_in_dispatchConcretize->machineCode))[1] = 177;
+				((self_in_dispatchConcretize->machineCode))[2] = (modRMRO(self_in_dispatchConcretize, ModRegRegDisp8, srcReg, destReg));
+				((self_in_dispatchConcretize->machineCode))[3] = (offset & 0xFF);
+				((self_in_dispatchConcretize->machineCodeSize) = 4);
+				return;
+			}
+			((self_in_dispatchConcretize->machineCode))[0] = 15;
+			((self_in_dispatchConcretize->machineCode))[1] = 177;
+			((self_in_dispatchConcretize->machineCode))[2] = (modRMRO(self_in_dispatchConcretize, ModRegRegDisp32, srcReg, destReg));
+			((self_in_dispatchConcretize->machineCode))[3] = (offset & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset) >> 8) & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset) >> 16) & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[6] = ((((usqInt) offset) >> 24) & 0xFF);
+			((self_in_dispatchConcretize->machineCodeSize) = 7);
+			return;
+		}
+		if (isQuick(self_in_dispatchConcretize, offset)) {
+			((self_in_dispatchConcretize->machineCode))[0] = 15;
+			((self_in_dispatchConcretize->machineCode))[1] = 177;
+			((self_in_dispatchConcretize->machineCode))[2] = (modRMRO(self_in_dispatchConcretize, ModRegRegDisp8, srcReg, destReg));
+			((self_in_dispatchConcretize->machineCode))[3] = (sib(self_in_dispatchConcretize, SIB1, 4, srcReg));
+			((self_in_dispatchConcretize->machineCode))[4] = (offset & 0xFF);
+			((self_in_dispatchConcretize->machineCodeSize) = 5);
+			return;
+		}
+		((self_in_dispatchConcretize->machineCode))[0] = 15;
+		((self_in_dispatchConcretize->machineCode))[1] = 177;
+		((self_in_dispatchConcretize->machineCode))[2] = (modRMRO(self_in_dispatchConcretize, ModRegRegDisp32, srcReg, destReg));
+		((self_in_dispatchConcretize->machineCode))[3] = (sib(self_in_dispatchConcretize, SIB1, 4, srcReg));
+		((self_in_dispatchConcretize->machineCode))[4] = (offset & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset) >> 8) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[6] = ((((usqInt) offset) >> 16) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[7] = ((((usqInt) offset) >> 24) & 0xFF);
+		((self_in_dispatchConcretize->machineCodeSize) = 8);
 		return;
 
 	case LFENCE:
-		concretizeFENCE(self_in_dispatchConcretize, 5);
+		/* begin concretizeFENCE: */
+		((self_in_dispatchConcretize->machineCode))[0] = 15;
+		((self_in_dispatchConcretize->machineCode))[1] = 174;
+		((self_in_dispatchConcretize->machineCode))[2] = (modRMRO(self_in_dispatchConcretize, ModReg, 0, 5));
+		((self_in_dispatchConcretize->machineCodeSize) = 3);
 		return;
 
 	case MFENCE:
-		concretizeFENCE(self_in_dispatchConcretize, 6);
+		/* begin concretizeFENCE: */
+		((self_in_dispatchConcretize->machineCode))[0] = 15;
+		((self_in_dispatchConcretize->machineCode))[1] = 174;
+		((self_in_dispatchConcretize->machineCode))[2] = (modRMRO(self_in_dispatchConcretize, ModReg, 0, 6));
+		((self_in_dispatchConcretize->machineCodeSize) = 3);
 		return;
 
 	case SFENCE:
-		concretizeFENCE(self_in_dispatchConcretize, 7);
+		/* begin concretizeFENCE: */
+		((self_in_dispatchConcretize->machineCode))[0] = 15;
+		((self_in_dispatchConcretize->machineCode))[1] = 174;
+		((self_in_dispatchConcretize->machineCode))[2] = (modRMRO(self_in_dispatchConcretize, ModReg, 0, 7));
+		((self_in_dispatchConcretize->machineCodeSize) = 3);
 		return;
 
 	case LOCK:
-		concretizeLOCK(self_in_dispatchConcretize);
+		/* begin concretizeLOCK */
+		((self_in_dispatchConcretize->machineCode))[0] = 240;
+		((self_in_dispatchConcretize->machineCodeSize) = 1);
 		return;
 
 	case XCHGAwR:
-		concretizeXCHGAwR(self_in_dispatchConcretize);
+		/* begin concretizeXCHGAwR */
+		addressOperand1 = ((self_in_dispatchConcretize->operands))[0];
+		reg3 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
+		((self_in_dispatchConcretize->machineCode))[0] = 135;
+		((self_in_dispatchConcretize->machineCode))[1] = (modRMRO(self_in_dispatchConcretize, ModRegInd, 5, reg3));
+		((self_in_dispatchConcretize->machineCode))[2] = (addressOperand1 & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) addressOperand1) >> 8) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) addressOperand1) >> 16) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) addressOperand1) >> 24) & 0xFF);
+		((self_in_dispatchConcretize->machineCodeSize) = 6);
 		return;
 
 	case XCHGMwrR:
-		concretizeXCHGMwrR(self_in_dispatchConcretize);
+		/* begin concretizeXCHGMwrR */
+		offset1 = ((self_in_dispatchConcretize->operands))[0];
+		srcReg1 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
+		destReg1 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[2]);
+		if (srcReg1 != ESP) {
+			if (isQuick(self_in_dispatchConcretize, offset1)) {
+				((self_in_dispatchConcretize->machineCode))[0] = 135;
+				((self_in_dispatchConcretize->machineCode))[1] = (modRMRO(self_in_dispatchConcretize, ModRegRegDisp8, srcReg1, destReg1));
+				((self_in_dispatchConcretize->machineCode))[2] = (offset1 & 0xFF);
+				((self_in_dispatchConcretize->machineCodeSize) = 3);
+				return;
+			}
+			((self_in_dispatchConcretize->machineCode))[0] = 135;
+			((self_in_dispatchConcretize->machineCode))[1] = (modRMRO(self_in_dispatchConcretize, ModRegRegDisp32, srcReg1, destReg1));
+			((self_in_dispatchConcretize->machineCode))[2] = (offset1 & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset1) >> 8) & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset1) >> 16) & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset1) >> 24) & 0xFF);
+			((self_in_dispatchConcretize->machineCodeSize) = 6);
+			return;
+		}
+		if (isQuick(self_in_dispatchConcretize, offset1)) {
+			((self_in_dispatchConcretize->machineCode))[0] = 135;
+			((self_in_dispatchConcretize->machineCode))[1] = (modRMRO(self_in_dispatchConcretize, ModRegRegDisp8, srcReg1, destReg1));
+			((self_in_dispatchConcretize->machineCode))[2] = (sib(self_in_dispatchConcretize, SIB1, 4, srcReg1));
+			((self_in_dispatchConcretize->machineCode))[3] = (offset1 & 0xFF);
+			((self_in_dispatchConcretize->machineCodeSize) = 4);
+			return;
+		}
+		((self_in_dispatchConcretize->machineCode))[0] = 135;
+		((self_in_dispatchConcretize->machineCode))[1] = (modRMRO(self_in_dispatchConcretize, ModRegRegDisp32, srcReg1, destReg1));
+		((self_in_dispatchConcretize->machineCode))[2] = (sib(self_in_dispatchConcretize, SIB1, 4, srcReg1));
+		((self_in_dispatchConcretize->machineCode))[3] = (offset1 & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset1) >> 8) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset1) >> 16) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[6] = ((((usqInt) offset1) >> 24) & 0xFF);
+		((self_in_dispatchConcretize->machineCodeSize) = 7);
 		return;
 
 	case XCHGRR:
-		concretizeXCHGRR(self_in_dispatchConcretize);
+		/* begin concretizeXCHGRR */
+		reg11 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[0]);
+		reg21 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
+		if (reg21 == EAX) {
+			reg21 = reg11;
+			reg11 = EAX;
+		}
+		if (reg11 == EAX) {
+			((self_in_dispatchConcretize->machineCode))[0] = (144 + reg21);
+			((self_in_dispatchConcretize->machineCodeSize) = 1);
+			return;
+		}
+		((self_in_dispatchConcretize->machineCode))[0] = 135;
+		((self_in_dispatchConcretize->machineCode))[1] = (modRMRO(self_in_dispatchConcretize, ModReg, reg11, reg21));
+		((self_in_dispatchConcretize->machineCodeSize) = 2);
 		return;
 
 	case Call:
 		/* begin concretizeCall */
 		assert((((self_in_dispatchConcretize->operands))[0]) != 0);
-		offset = (((sqInt) (((self_in_dispatchConcretize->operands))[0]))) - (((sqInt) (((self_in_dispatchConcretize->address)) + 5)));
+		offset2 = (((sqInt) (((self_in_dispatchConcretize->operands))[0]))) - (((sqInt) (((self_in_dispatchConcretize->address)) + 5)));
 		((self_in_dispatchConcretize->machineCode))[0] = 232;
-		((self_in_dispatchConcretize->machineCode))[1] = (offset & 0xFF);
-		((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->machineCode))[1] = (offset2 & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[2] = ((((usqInt) offset2) >> 8) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset2) >> 16) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset2) >> 24) & 0xFF);
 		((self_in_dispatchConcretize->machineCodeSize) = 5);
 		return;
 
 	case JumpR:
-		concretizeJumpR(self_in_dispatchConcretize);
+		/* begin concretizeJumpR */
+		reg4 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[0]);
+		((self_in_dispatchConcretize->machineCode))[0] = 0xFF;
+		((self_in_dispatchConcretize->machineCode))[1] = (modRMRO(self_in_dispatchConcretize, ModReg, reg4, 4));
+		((self_in_dispatchConcretize->machineCodeSize) = 2);
 		return;
 
 	case JumpLong:
@@ -8035,12 +8217,12 @@
 			jumpTarget = ((AbstractInstruction *) ((jumpTarget->address)));
 		}
 		assert(jumpTarget != 0);
-		offset1 = (((sqInt) jumpTarget)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 5)));
+		offset3 = (((sqInt) jumpTarget)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 5)));
 		((self_in_dispatchConcretize->machineCode))[0] = 233;
-		((self_in_dispatchConcretize->machineCode))[1] = (offset1 & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[2] = ((((usqInt) offset1) >> 8) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset1) >> 16) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset1) >> 24) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[1] = (offset3 & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[2] = ((((usqInt) offset3) >> 8) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset3) >> 16) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset3) >> 24) & 0xFF);
 		((self_in_dispatchConcretize->machineCodeSize) = 5);
 		return;
 
@@ -8055,13 +8237,13 @@
 		}
 		assert(jumpTarget11 != 0);
 		jumpTarget2 = jumpTarget11;
-		offset12 = (((sqInt) jumpTarget2)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
+		offset14 = (((sqInt) jumpTarget2)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
 		((self_in_dispatchConcretize->machineCode))[0] = 15;
 		((self_in_dispatchConcretize->machineCode))[1] = (128 + 4);
-		((self_in_dispatchConcretize->machineCode))[2] = (offset12 & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset12) >> 8) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset12) >> 16) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset12) >> 24) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[2] = (offset14 & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset14) >> 8) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset14) >> 16) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset14) >> 24) & 0xFF);
 		((self_in_dispatchConcretize->machineCodeSize) = 6);
 		return;
 
@@ -8076,13 +8258,13 @@
 		}
 		assert(jumpTarget12 != 0);
 		jumpTarget3 = jumpTarget12;
-		offset13 = (((sqInt) jumpTarget3)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
+		offset15 = (((sqInt) jumpTarget3)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
 		((self_in_dispatchConcretize->machineCode))[0] = 15;
 		((self_in_dispatchConcretize->machineCode))[1] = (128 + 5);
-		((self_in_dispatchConcretize->machineCode))[2] = (offset13 & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset13) >> 8) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset13) >> 16) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset13) >> 24) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[2] = (offset15 & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset15) >> 8) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset15) >> 16) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset15) >> 24) & 0xFF);
 		((self_in_dispatchConcretize->machineCodeSize) = 6);
 		return;
 
@@ -8094,21 +8276,21 @@
 			jumpTarget1 = ((AbstractInstruction *) ((jumpTarget1->address)));
 		}
 		assert(jumpTarget1 != 0);
-		offset2 = (((sqInt) jumpTarget1)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
+		offset4 = (((sqInt) jumpTarget1)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
 		if ((((self_in_dispatchConcretize->machineCodeSize)) == 0
-			? isQuick(self_in_dispatchConcretize, offset2)
+			? isQuick(self_in_dispatchConcretize, offset4)
 			: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
 			((self_in_dispatchConcretize->machineCode))[0] = 235;
-			((self_in_dispatchConcretize->machineCode))[1] = (offset2 & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[1] = (offset4 & 0xFF);
 			((self_in_dispatchConcretize->machineCodeSize) = 2);
 			return;
 		}
-		offset2 = (((sqInt) jumpTarget1)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 5)));
+		offset4 = (((sqInt) jumpTarget1)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 5)));
 		((self_in_dispatchConcretize->machineCode))[0] = 233;
-		((self_in_dispatchConcretize->machineCode))[1] = (offset2 & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[2] = ((((usqInt) offset2) >> 8) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset2) >> 16) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset2) >> 24) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[1] = (offset4 & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[2] = ((((usqInt) offset4) >> 8) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset4) >> 16) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset4) >> 24) & 0xFF);
 		((self_in_dispatchConcretize->machineCodeSize) = 5);
 		return;
 
@@ -8124,12 +8306,12 @@
 		}
 		assert(jumpTarget13 != 0);
 		jumpTarget4 = jumpTarget13;
-		offset15 = (((sqInt) jumpTarget4)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
+		offset17 = (((sqInt) jumpTarget4)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
 		if ((((self_in_dispatchConcretize->machineCodeSize)) == 0
-			? isQuick(self_in_dispatchConcretize, offset15)
+			? isQuick(self_in_dispatchConcretize, offset17)
 			: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
 			((self_in_dispatchConcretize->machineCode))[0] = (112 + 4);
-			((self_in_dispatchConcretize->machineCode))[1] = (offset15 & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[1] = (offset17 & 0xFF);
 			((self_in_dispatchConcretize->machineCodeSize) = 2);
 			return;
 		}
@@ -8143,13 +8325,13 @@
 		}
 		assert(jumpTarget111 != 0);
 		jumpTarget21 = jumpTarget111;
-		offset14 = (((sqInt) jumpTarget21)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
+		offset16 = (((sqInt) jumpTarget21)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
 		((self_in_dispatchConcretize->machineCode))[0] = 15;
 		((self_in_dispatchConcretize->machineCode))[1] = (128 + 4);
-		((self_in_dispatchConcretize->machineCode))[2] = (offset14 & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset14) >> 8) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset14) >> 16) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset14) >> 24) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[2] = (offset16 & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset16) >> 8) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset16) >> 16) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset16) >> 24) & 0xFF);
 		((self_in_dispatchConcretize->machineCodeSize) = 6);
 		return;
 
@@ -8165,12 +8347,12 @@
 		}
 		assert(jumpTarget14 != 0);
 		jumpTarget5 = jumpTarget14;
-		offset17 = (((sqInt) jumpTarget5)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
+		offset19 = (((sqInt) jumpTarget5)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
 		if ((((self_in_dispatchConcretize->machineCodeSize)) == 0
-			? isQuick(self_in_dispatchConcretize, offset17)
+			? isQuick(self_in_dispatchConcretize, offset19)
 			: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
 			((self_in_dispatchConcretize->machineCode))[0] = (112 + 5);
-			((self_in_dispatchConcretize->machineCode))[1] = (offset17 & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[1] = (offset19 & 0xFF);
 			((self_in_dispatchConcretize->machineCodeSize) = 2);
 			return;
 		}
@@ -8184,13 +8366,13 @@
 		}
 		assert(jumpTarget112 != 0);
 		jumpTarget22 = jumpTarget112;
-		offset16 = (((sqInt) jumpTarget22)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
+		offset18 = (((sqInt) jumpTarget22)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
 		((self_in_dispatchConcretize->machineCode))[0] = 15;
 		((self_in_dispatchConcretize->machineCode))[1] = (128 + 5);
-		((self_in_dispatchConcretize->machineCode))[2] = (offset16 & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset16) >> 8) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset16) >> 16) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset16) >> 24) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[2] = (offset18 & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset18) >> 8) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset18) >> 16) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset18) >> 24) & 0xFF);
 		((self_in_dispatchConcretize->machineCodeSize) = 6);
 		return;
 
@@ -8205,12 +8387,12 @@
 		}
 		assert(jumpTarget15 != 0);
 		jumpTarget6 = jumpTarget15;
-		offset19 = (((sqInt) jumpTarget6)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
+		offset20 = (((sqInt) jumpTarget6)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
 		if ((((self_in_dispatchConcretize->machineCodeSize)) == 0
-			? isQuick(self_in_dispatchConcretize, offset19)
+			? isQuick(self_in_dispatchConcretize, offset20)
 			: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
 			((self_in_dispatchConcretize->machineCode))[0] = (112 + 8);
-			((self_in_dispatchConcretize->machineCode))[1] = (offset19 & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[1] = (offset20 & 0xFF);
 			((self_in_dispatchConcretize->machineCodeSize) = 2);
 			return;
 		}
@@ -8224,13 +8406,13 @@
 		}
 		assert(jumpTarget113 != 0);
 		jumpTarget23 = jumpTarget113;
-		offset18 = (((sqInt) jumpTarget23)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
+		offset110 = (((sqInt) jumpTarget23)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
 		((self_in_dispatchConcretize->machineCode))[0] = 15;
 		((self_in_dispatchConcretize->machineCode))[1] = (128 + 8);
-		((self_in_dispatchConcretize->machineCode))[2] = (offset18 & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset18) >> 8) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset18) >> 16) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset18) >> 24) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[2] = (offset110 & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset110) >> 8) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset110) >> 16) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset110) >> 24) & 0xFF);
 		((self_in_dispatchConcretize->machineCodeSize) = 6);
 		return;
 
@@ -8245,12 +8427,12 @@
 		}
 		assert(jumpTarget16 != 0);
 		jumpTarget7 = jumpTarget16;
-		offset20 = (((sqInt) jumpTarget7)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
+		offset21 = (((sqInt) jumpTarget7)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
 		if ((((self_in_dispatchConcretize->machineCodeSize)) == 0
-			? isQuick(self_in_dispatchConcretize, offset20)
+			? isQuick(self_in_dispatchConcretize, offset21)
 			: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
 			((self_in_dispatchConcretize->machineCode))[0] = (112 + 9);
-			((self_in_dispatchConcretize->machineCode))[1] = (offset20 & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[1] = (offset21 & 0xFF);
 			((self_in_dispatchConcretize->machineCodeSize) = 2);
 			return;
 		}
@@ -8264,13 +8446,13 @@
 		}
 		assert(jumpTarget114 != 0);
 		jumpTarget24 = jumpTarget114;
-		offset110 = (((sqInt) jumpTarget24)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
+		offset111 = (((sqInt) jumpTarget24)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
 		((self_in_dispatchConcretize->machineCode))[0] = 15;
 		((self_in_dispatchConcretize->machineCode))[1] = (128 + 9);
-		((self_in_dispatchConcretize->machineCode))[2] = (offset110 & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset110) >> 8) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset110) >> 16) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset110) >> 24) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[2] = (offset111 & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset111) >> 8) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset111) >> 16) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset111) >> 24) & 0xFF);
 		((self_in_dispatchConcretize->machineCodeSize) = 6);
 		return;
 
@@ -8285,12 +8467,12 @@
 		}
 		assert(jumpTarget17 != 0);
 		jumpTarget8 = jumpTarget17;
-		offset21 = (((sqInt) jumpTarget8)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
+		offset22 = (((sqInt) jumpTarget8)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
 		if ((((self_in_dispatchConcretize->machineCodeSize)) == 0
-			? isQuick(self_in_dispatchConcretize, offset21)
+			? isQuick(self_in_dispatchConcretize, offset22)
 			: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
 			((self_in_dispatchConcretize->machineCode))[0] = (112 + 0);
-			((self_in_dispatchConcretize->machineCode))[1] = (offset21 & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[1] = (offset22 & 0xFF);
 			((self_in_dispatchConcretize->machineCodeSize) = 2);
 			return;
 		}
@@ -8304,13 +8486,13 @@
 		}
 		assert(jumpTarget115 != 0);
 		jumpTarget25 = jumpTarget115;
-		offset111 = (((sqInt) jumpTarget25)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
+		offset112 = (((sqInt) jumpTarget25)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
 		((self_in_dispatchConcretize->machineCode))[0] = 15;
 		((self_in_dispatchConcretize->machineCode))[1] = (128 + 0);
-		((self_in_dispatchConcretize->machineCode))[2] = (offset111 & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset111) >> 8) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset111) >> 16) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset111) >> 24) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[2] = (offset112 & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset112) >> 8) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset112) >> 16) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset112) >> 24) & 0xFF);
 		((self_in_dispatchConcretize->machineCodeSize) = 6);
 		return;
 
@@ -8325,12 +8507,12 @@
 		}
 		assert(jumpTarget18 != 0);
 		jumpTarget9 = jumpTarget18;
-		offset22 = (((sqInt) jumpTarget9)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
+		offset23 = (((sqInt) jumpTarget9)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
 		if ((((self_in_dispatchConcretize->machineCodeSize)) == 0
-			? isQuick(self_in_dispatchConcretize, offset22)
+			? isQuick(self_in_dispatchConcretize, offset23)
 			: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
 			((self_in_dispatchConcretize->machineCode))[0] = (112 + 1);
-			((self_in_dispatchConcretize->machineCode))[1] = (offset22 & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[1] = (offset23 & 0xFF);
 			((self_in_dispatchConcretize->machineCodeSize) = 2);
 			return;
 		}
@@ -8344,13 +8526,13 @@
 		}
 		assert(jumpTarget116 != 0);
 		jumpTarget26 = jumpTarget116;
-		offset112 = (((sqInt) jumpTarget26)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
+		offset113 = (((sqInt) jumpTarget26)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
 		((self_in_dispatchConcretize->machineCode))[0] = 15;
 		((self_in_dispatchConcretize->machineCode))[1] = (128 + 1);
-		((self_in_dispatchConcretize->machineCode))[2] = (offset112 & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[3] = ((((usqInt) offset112) >> 8) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[4] = ((((usqInt) offset112) >> 16) & 0xFF);
-		((self_in_dispatchConcretize->machineCode))[5] = ((((usqInt) offset112) >> 24) & 0xFF);
+		((self_in_dispatchConcretize->machineCode))[2] = (offset113 & 0xFF);
+		((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);
 		return;
 
@@ -8367,12 +8549,12 @@
 		}
 		assert(jumpTarget19 != 0);
 		jumpTarget10 = jumpTarget19;
-		offset23 = (((sqInt) jumpTarget10)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
+		offset24 = (((sqInt) jumpTarget10)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
 		if ((((self_in_dispatchConcretize->machineCodeSize)) == 0
-			? isQuick(self_in_dispatchConcretize, offset23)
+			? isQuick(self_in_dispatchConcretize, offset24)
 			: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
 			((self_in_dispatchConcretize->machineCode))[0] = (112 + 2);
-			((self_in_dispatchConcretize->machineCode))[1] = (offset23 & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[1] = (offset24 & 0xFF);
 			((self_in_dispatchConcretize->machineCodeSize) = 2);
 			return;
 		}
@@ -8386,13 +8568,13 @@
 		}
 		assert(jumpTarget117 != 0);
 		jumpTarget27 = jumpTarget117;
-		offset113 = (((sqInt) jumpTarget27)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
+		offset114 = (((sqInt) jumpTarget27)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
 		((self_in_dispatchConcretize->machineCode))[0] = 15;
 		((self_in_dispatchConcretize->machineCode))[1] = (128 + 2);
-		((self_in_dispatchConcretize->machineCode))[2] = (offset113 & 0xFF);
-		((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->machineCode))[2] = (offset114 & 0xFF);
+		((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);
 		return;
 
@@ -8409,12 +8591,12 @@
 		}
 		assert(jumpTarget110 != 0);
 		jumpTarget20 = jumpTarget110;
-		offset24 = (((sqInt) jumpTarget20)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
+		offset25 = (((sqInt) jumpTarget20)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
 		if ((((self_in_dispatchConcretize->machineCodeSize)) == 0
-			? isQuick(self_in_dispatchConcretize, offset24)
+			? isQuick(self_in_dispatchConcretize, offset25)
 			: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
 			((self_in_dispatchConcretize->machineCode))[0] = (112 + 3);
-			((self_in_dispatchConcretize->machineCode))[1] = (offset24 & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[1] = (offset25 & 0xFF);
 			((self_in_dispatchConcretize->machineCodeSize) = 2);
 			return;
 		}
@@ -8428,13 +8610,13 @@
 		}
 		assert(jumpTarget118 != 0);
 		jumpTarget28 = jumpTarget118;
-		offset114 = (((sqInt) jumpTarget28)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
+		offset115 = (((sqInt) jumpTarget28)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
 		((self_in_dispatchConcretize->machineCode))[0] = 15;
 		((self_in_dispatchConcretize->machineCode))[1] = (128 + 3);
-		((self_in_dispatchConcretize->machineCode))[2] = (offset114 & 0xFF);
-		((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->machineCode))[2] = (offset115 & 0xFF);
+		((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);
 		return;
 
@@ -8449,12 +8631,12 @@
 		}
 		assert(jumpTarget120 != 0);
 		jumpTarget29 = jumpTarget120;
-		offset25 = (((sqInt) jumpTarget29)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
+		offset26 = (((sqInt) jumpTarget29)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
 		if ((((self_in_dispatchConcretize->machineCodeSize)) == 0
-			? isQuick(self_in_dispatchConcretize, offset25)
+			? isQuick(self_in_dispatchConcretize, offset26)
 			: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
 			((self_in_dispatchConcretize->machineCode))[0] = (112 + 12);
-			((self_in_dispatchConcretize->machineCode))[1] = (offset25 & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[1] = (offset26 & 0xFF);
 			((self_in_dispatchConcretize->machineCodeSize) = 2);
 			return;
 		}
@@ -8468,13 +8650,13 @@
 		}
 		assert(jumpTarget119 != 0);
 		jumpTarget210 = jumpTarget119;
-		offset115 = (((sqInt) jumpTarget210)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
+		offset116 = (((sqInt) jumpTarget210)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
 		((self_in_dispatchConcretize->machineCode))[0] = 15;
 		((self_in_dispatchConcretize->machineCode))[1] = (128 + 12);
-		((self_in_dispatchConcretize->machineCode))[2] = (offset115 & 0xFF);
-		((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->machineCode))[2] = (offset116 & 0xFF);
+		((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);
 		return;
 
@@ -8489,12 +8671,12 @@
 		}
 		assert(jumpTarget121 != 0);
 		jumpTarget30 = jumpTarget121;
-		offset26 = (((sqInt) jumpTarget30)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
+		offset27 = (((sqInt) jumpTarget30)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
 		if ((((self_in_dispatchConcretize->machineCodeSize)) == 0
-			? isQuick(self_in_dispatchConcretize, offset26)
+			? isQuick(self_in_dispatchConcretize, offset27)
 			: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
 			((self_in_dispatchConcretize->machineCode))[0] = (112 + 13);
-			((self_in_dispatchConcretize->machineCode))[1] = (offset26 & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[1] = (offset27 & 0xFF);
 			((self_in_dispatchConcretize->machineCodeSize) = 2);
 			return;
 		}
@@ -8508,13 +8690,13 @@
 		}
 		assert(jumpTarget1110 != 0);
 		jumpTarget211 = jumpTarget1110;
-		offset116 = (((sqInt) jumpTarget211)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
+		offset117 = (((sqInt) jumpTarget211)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
 		((self_in_dispatchConcretize->machineCode))[0] = 15;
 		((self_in_dispatchConcretize->machineCode))[1] = (128 + 13);
-		((self_in_dispatchConcretize->machineCode))[2] = (offset116 & 0xFF);
-		((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->machineCode))[2] = (offset117 & 0xFF);
+		((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);
 		return;
 
@@ -8529,12 +8711,12 @@
 		}
 		assert(jumpTarget122 != 0);
 		jumpTarget31 = jumpTarget122;
-		offset27 = (((sqInt) jumpTarget31)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
+		offset28 = (((sqInt) jumpTarget31)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
 		if ((((self_in_dispatchConcretize->machineCodeSize)) == 0
-			? isQuick(self_in_dispatchConcretize, offset27)
+			? isQuick(self_in_dispatchConcretize, offset28)
 			: ((self_in_dispatchConcretize->machineCodeSize)) == 2)) {
 			((self_in_dispatchConcretize->machineCode))[0] = (112 + 15);
-			((self_in_dispatchConcretize->machineCode))[1] = (offset27 & 0xFF);
+			((self_in_dispatchConcretize->machineCode))[1] = (offset28 & 0xFF);
 			((self_in_dispatchConcretize->machineCodeSize) = 2);
 			return;
 		}
@@ -8548,13 +8730,13 @@
 		}
 		assert(jumpTarget1111 != 0);
 		jumpTarget212 = jumpTarget1111;
-		offset117 = (((sqInt) jumpTarget212)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
+		offset118 = (((sqInt) jumpTarget212)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 6)));
 		((self_in_dispatchConcretize->machineCode))[0] = 15;
 		((self_in_dispatchConcretize->machineCode))[1] = (128 + 15);
-		((self_in_dispatchConcretize->machineCode))[2] = (offset117 & 0xFF);
-		((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->machineCode))[2] = (offset118 & 0xFF);
+		((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);
 		return;
 
@@ -8569,12 +8751,12 @@
 		}
 		assert(jumpTarget123 != 0);
 		jumpTarget32 = jumpTarget123;
-		offset28 = (((sqInt) jumpTarget32)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
+		offset29 = (((sqInt) jumpTarget32)) - (((sqInt) (((self_in_dispatchConcretize->address)) + 2)));
 		if ((((self_in_dispatchConcretize->machineCodeSize)) == 0

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list