[Vm-dev] [commit][3311] CogVM source as per VMMaker.oscog-eem.1204

commits at squeakvm.org commits at squeakvm.org
Thu Apr 16 22:27:04 UTC 2015


Revision: 3311
Author:   eliot
Date:     2015-04-16 15:27:01 -0700 (Thu, 16 Apr 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1204

ifTrue:ype of AbstractInstruction opcode must be unsigned now that we have
more than 128 opcodes (XCHGRR pushed things over the top).

Fix some Slang generation-time warnings.

Add types for arrays used in Sista machine code generation.

Modified Paths:
--------------
    branches/Cog/nsspursrc/vm/cogit.c
    branches/Cog/nsspursrc/vm/cogit.h
    branches/Cog/spursistasrc/vm/cogit.c
    branches/Cog/spursistasrc/vm/cogit.h
    branches/Cog/spursrc/vm/cogit.c
    branches/Cog/spursrc/vm/cogit.h
    branches/Cog/src/vm/cogit.c
    branches/Cog/src/vm/cogit.h

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

Modified: branches/Cog/nsspursrc/vm/cogit.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.c	2015-04-16 21:33:16 UTC (rev 3310)
+++ branches/Cog/nsspursrc/vm/cogit.c	2015-04-16 22:27:01 UTC (rev 3311)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f
+	CCodeGenerator VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -22,9 +22,9 @@
 #include "cogit.h"
 
 typedef struct _AbstractInstruction {
-	char	opcode;
-	char	machineCodeSize;
-	char	maxSize;
+	unsigned char	opcode;
+	unsigned char	machineCodeSize;
+	unsigned char	maxSize;
 	unsigned long		operands [3];
 	unsigned long	address;
 	struct _AbstractInstruction *dependent;
@@ -418,13 +418,13 @@
 static sqInt callInstructionByteSize(AbstractInstruction * self_in_callInstructionByteSize) NoDbgRegParms;
 static sqInt callTargetFromReturnAddress(AbstractInstruction * self_in_callTargetFromReturnAddress, sqInt callSiteReturnAddress) NoDbgRegParms;
 static sqInt computeMaximumSize(AbstractInstruction * self_in_computeMaximumSize) NoDbgRegParms;
-static sqInt computeShiftRRSize(AbstractInstruction * self_in_computeShiftRRSize) NoDbgRegParms;
+static usqInt computeShiftRRSize(AbstractInstruction * self_in_computeShiftRRSize) NoDbgRegParms;
 static sqInt concreteDPFPRegister(AbstractInstruction * self_in_concreteDPFPRegister, sqInt registerIndex) NoDbgRegParms;
 static sqInt concreteRegister(AbstractInstruction * self_in_concreteRegister, sqInt registerIndex) NoDbgRegParms;
 static sqInt concretizeAt(AbstractInstruction * self_in_concretizeAt, sqInt actualAddress) NoDbgRegParms;
-static sqInt concretizeFill16(AbstractInstruction * self_in_concretizeFill16) NoDbgRegParms;
-static sqInt concretizeFill32(AbstractInstruction * self_in_concretizeFill32) NoDbgRegParms;
-static sqInt concretizeFillFromWord(AbstractInstruction * self_in_concretizeFillFromWord) NoDbgRegParms;
+static usqInt concretizeFill16(AbstractInstruction * self_in_concretizeFill16) NoDbgRegParms;
+static usqInt concretizeFill32(AbstractInstruction * self_in_concretizeFill32) NoDbgRegParms;
+static usqInt concretizeFillFromWord(AbstractInstruction * self_in_concretizeFillFromWord) NoDbgRegParms;
 static sqInt cResultRegister(AbstractInstruction * self_in_cResultRegister) NoDbgRegParms;
 static void dispatchConcretize(AbstractInstruction * self_in_dispatchConcretize) NoDbgRegParms;
 static AbstractInstruction * genDivRRQuoRem(AbstractInstruction * self_in_genDivRRQuoRem, sqInt abstractRegDivisor, sqInt abstractRegDividend, sqInt abstractRegQuotient, sqInt abstractRegRemainder) NoDbgRegParms;
@@ -484,7 +484,7 @@
 static sqInt shiftSetsConditionCodesFor(AbstractInstruction * self_in_shiftSetsConditionCodesFor, sqInt aConditionalJumpOpcode) NoDbgRegParms;
 static sqInt sizeHasModrmat(AbstractInstruction * self_in_sizeHasModrmat, sqInt op, sqInt pc) NoDbgRegParms;
 static sqInt sizeImmediateGroup1at(AbstractInstruction * self_in_sizeImmediateGroup1at, sqInt op, sqInt pc) NoDbgRegParms;
-static sqInt sizePCDependentInstructionAt(AbstractInstruction * self_in_sizePCDependentInstructionAt, sqInt eventualAbsoluteAddress) NoDbgRegParms;
+static usqInt sizePCDependentInstructionAt(AbstractInstruction * self_in_sizePCDependentInstructionAt, sqInt eventualAbsoluteAddress) NoDbgRegParms;
 static sqInt stackBytesForNumArgs(AbstractInstruction * self_in_stackBytesForNumArgs, sqInt numArgs) NoDbgRegParms;
 static sqInt stackPageInterruptHeadroomBytes(AbstractInstruction * self_in_stackPageInterruptHeadroomBytes) NoDbgRegParms;
 static AbstractInstruction * storeLiteralbeforeFollowingAddress(AbstractInstruction * self_in_storeLiteralbeforeFollowingAddress, sqInt literal, sqInt followingAddress) NoDbgRegParms;
@@ -955,7 +955,7 @@
 void voidCogCompiledCode(void);
 static BlockStart * addBlockStartAtnumArgsnumCopiedspan(sqInt bytecodepc, sqInt numArgs, sqInt numCopied, sqInt span) NoDbgRegParms;
 static sqInt allocateOneRegister(void);
-static sqInt allocateRegisterNotConflictingWith(sqInt registerMask) NoDbgRegParms;
+static sqInt allocateRegisterNotConflictingWith(sqInt regMask) NoDbgRegParms;
 static void annotateBytecodeIfAnnotated(CogSimStackEntry *aSimStackEntry) NoDbgRegParms;
 static sqInt anyReferencesToRegisterinTopNItems(sqInt reg, sqInt n) NoDbgRegParms;
 void callCogCodePopReceiverArg0Regs(void);
@@ -975,7 +975,7 @@
 static BytecodeFixup * ensureNonMergeFixupAt(sqInt targetIndex) NoDbgRegParms;
 static void ensureReceiverResultRegContainsSelf(void);
 static void evaluateat(BytecodeDescriptor *descriptor, sqInt pc) NoDbgRegParms;
-static sqInt freeRegisterNotConflictingWith(sqInt registerMask) NoDbgRegParms;
+static sqInt freeRegisterNotConflictingWith(sqInt regMask) NoDbgRegParms;
 static sqInt genBinaryConstOpVarInlinePrimitive(sqInt prim) NoDbgRegParms;
 static sqInt genBinaryInlineComparisonopFalsedestReg(sqInt opTrue, sqInt opFalse, sqInt destReg) NoDbgRegParms;
 static sqInt genBinaryVarOpConstInlinePrimitive(sqInt prim) NoDbgRegParms;
@@ -2423,7 +2423,7 @@
 	register require the shift count to be in %ecx. So we may
 	have to use swap instructions to get the count into ecx. */
 
-static sqInt
+static usqInt
 computeShiftRRSize(AbstractInstruction * self_in_computeShiftRRSize)
 {
     sqInt shiftCountReg;
@@ -2547,7 +2547,7 @@
 	return actualAddress + ((self_in_concretizeAt->machineCodeSize));
 }
 
-static sqInt
+static usqInt
 concretizeFill16(AbstractInstruction * self_in_concretizeFill16)
 {
     unsigned short word;
@@ -2559,7 +2559,7 @@
 	return ((self_in_concretizeFill16->machineCodeSize) = 2);
 }
 
-static sqInt
+static usqInt
 concretizeFill32(AbstractInstruction * self_in_concretizeFill32)
 {
     unsigned long word;
@@ -2572,7 +2572,7 @@
 	return ((self_in_concretizeFill32->machineCodeSize) = 4);
 }
 
-static sqInt
+static usqInt
 concretizeFillFromWord(AbstractInstruction * self_in_concretizeFillFromWord)
 {
     sqInt i;
@@ -6098,7 +6098,7 @@
 	is between that instruction's address (which by now is its eventual
 	absolute address) or absolute address and eventualAbsoluteAddress. */
 
-static sqInt
+static usqInt
 sizePCDependentInstructionAt(AbstractInstruction * self_in_sizePCDependentInstructionAt, sqInt eventualAbsoluteAddress)
 {
     AbstractInstruction *abstractInstruction;
@@ -18789,16 +18789,16 @@
 /*	if there's a free register, use it */
 
 static sqInt
-allocateRegisterNotConflictingWith(sqInt registerMask)
+allocateRegisterNotConflictingWith(sqInt regMask)
 {
     sqInt reg;
 
-	reg = availableRegisterOrNilFor(backEnd, (liveRegisters()) | registerMask);
+	reg = availableRegisterOrNilFor(backEnd, (liveRegisters()) | regMask);
 	if (!(reg)) {
 
-		/* No free register, choose one that does not conflict with registerMask */
+		/* No free register, choose one that does not conflict with regMask */
 
-		reg = freeRegisterNotConflictingWith(registerMask);
+		reg = freeRegisterNotConflictingWith(regMask);
 	}
 	if (reg == ReceiverResultReg) {
 
@@ -19587,11 +19587,11 @@
 }
 
 
-/*	Spill the closest register on stack not conflicting with registerMask. 
-	Assertion Failure if registerMask has already all the registers */
+/*	Spill the closest register on stack not conflicting with regMask. 
+	Assertion Failure if regMask has already all the registers */
 
 static sqInt
-freeRegisterNotConflictingWith(sqInt registerMask)
+freeRegisterNotConflictingWith(sqInt regMask)
 {
     CogSimStackEntry *desc;
     sqInt index;
@@ -19603,7 +19603,7 @@
 	 && (index < simStackPtr)) {
 		desc = simStackAt(index);
 		if (((desc->type)) == SSRegister) {
-			if (!(registerMask & (registerMaskFor((desc->registerr))))) {
+			if (!(regMask & (registerMaskFor((desc->registerr))))) {
 				reg = (desc->registerr);
 			}
 		}

Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h	2015-04-16 21:33:16 UTC (rev 3310)
+++ branches/Cog/nsspursrc/vm/cogit.h	2015-04-16 22:27:01 UTC (rev 3311)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f
+	CCodeGenerator VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc
  */
 
 


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Thu Apr 16 14:25:35 PDT 2015
   + Thu Apr 16 15:27:02 PDT 2015

Modified: branches/Cog/spursistasrc/vm/cogit.c
===================================================================
--- branches/Cog/spursistasrc/vm/cogit.c	2015-04-16 21:33:16 UTC (rev 3310)
+++ branches/Cog/spursistasrc/vm/cogit.c	2015-04-16 22:27:01 UTC (rev 3311)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f
+	CCodeGenerator VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc
    from
-	SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f
+	SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc
  */
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -21,9 +21,9 @@
 #include "cogit.h"
 
 typedef struct _AbstractInstruction {
-	char	opcode;
-	char	machineCodeSize;
-	char	maxSize;
+	unsigned char	opcode;
+	unsigned char	machineCodeSize;
+	unsigned char	maxSize;
 	unsigned long		operands [3];
 	unsigned long	address;
 	struct _AbstractInstruction *dependent;
@@ -417,13 +417,13 @@
 static sqInt callInstructionByteSize(AbstractInstruction * self_in_callInstructionByteSize) NoDbgRegParms;
 static sqInt callTargetFromReturnAddress(AbstractInstruction * self_in_callTargetFromReturnAddress, sqInt callSiteReturnAddress) NoDbgRegParms;
 static sqInt computeMaximumSize(AbstractInstruction * self_in_computeMaximumSize) NoDbgRegParms;
-static sqInt computeShiftRRSize(AbstractInstruction * self_in_computeShiftRRSize) NoDbgRegParms;
+static usqInt computeShiftRRSize(AbstractInstruction * self_in_computeShiftRRSize) NoDbgRegParms;
 static sqInt concreteDPFPRegister(AbstractInstruction * self_in_concreteDPFPRegister, sqInt registerIndex) NoDbgRegParms;
 static sqInt concreteRegister(AbstractInstruction * self_in_concreteRegister, sqInt registerIndex) NoDbgRegParms;
 static sqInt concretizeAt(AbstractInstruction * self_in_concretizeAt, sqInt actualAddress) NoDbgRegParms;
-static sqInt concretizeFill16(AbstractInstruction * self_in_concretizeFill16) NoDbgRegParms;
-static sqInt concretizeFill32(AbstractInstruction * self_in_concretizeFill32) NoDbgRegParms;
-static sqInt concretizeFillFromWord(AbstractInstruction * self_in_concretizeFillFromWord) NoDbgRegParms;
+static usqInt concretizeFill16(AbstractInstruction * self_in_concretizeFill16) NoDbgRegParms;
+static usqInt concretizeFill32(AbstractInstruction * self_in_concretizeFill32) NoDbgRegParms;
+static usqInt concretizeFillFromWord(AbstractInstruction * self_in_concretizeFillFromWord) NoDbgRegParms;
 static sqInt cResultRegister(AbstractInstruction * self_in_cResultRegister) NoDbgRegParms;
 static void dispatchConcretize(AbstractInstruction * self_in_dispatchConcretize) NoDbgRegParms;
 static AbstractInstruction * genDivRRQuoRem(AbstractInstruction * self_in_genDivRRQuoRem, sqInt abstractRegDivisor, sqInt abstractRegDividend, sqInt abstractRegQuotient, sqInt abstractRegRemainder) NoDbgRegParms;
@@ -482,7 +482,7 @@
 static sqInt shiftSetsConditionCodesFor(AbstractInstruction * self_in_shiftSetsConditionCodesFor, sqInt aConditionalJumpOpcode) NoDbgRegParms;
 static sqInt sizeHasModrmat(AbstractInstruction * self_in_sizeHasModrmat, sqInt op, sqInt pc) NoDbgRegParms;
 static sqInt sizeImmediateGroup1at(AbstractInstruction * self_in_sizeImmediateGroup1at, sqInt op, sqInt pc) NoDbgRegParms;
-static sqInt sizePCDependentInstructionAt(AbstractInstruction * self_in_sizePCDependentInstructionAt, sqInt eventualAbsoluteAddress) NoDbgRegParms;
+static usqInt sizePCDependentInstructionAt(AbstractInstruction * self_in_sizePCDependentInstructionAt, sqInt eventualAbsoluteAddress) NoDbgRegParms;
 static sqInt stackBytesForNumArgs(AbstractInstruction * self_in_stackBytesForNumArgs, sqInt numArgs) NoDbgRegParms;
 static sqInt stackPageInterruptHeadroomBytes(AbstractInstruction * self_in_stackPageInterruptHeadroomBytes) NoDbgRegParms;
 static AbstractInstruction * storeLiteralbeforeFollowingAddress(AbstractInstruction * self_in_storeLiteralbeforeFollowingAddress, sqInt literal, sqInt followingAddress) NoDbgRegParms;
@@ -966,7 +966,7 @@
 static void ssFlushNoUpdateTo(sqInt index) NoDbgRegParms;
 static BlockStart * addBlockStartAtnumArgsnumCopiedspan(sqInt bytecodepc, sqInt numArgs, sqInt numCopied, sqInt span) NoDbgRegParms;
 static sqInt allocateOneRegister(void);
-static sqInt allocateRegisterNotConflictingWith(sqInt registerMask) NoDbgRegParms;
+static sqInt allocateRegisterNotConflictingWith(sqInt regMask) NoDbgRegParms;
 static void annotateBytecodeIfAnnotated(CogSimStackEntry *aSimStackEntry) NoDbgRegParms;
 static sqInt anyReferencesToRegisterinTopNItems(sqInt reg, sqInt n) NoDbgRegParms;
 void callCogCodePopReceiverArg0Regs(void);
@@ -983,7 +983,7 @@
 static BytecodeFixup * ensureNonMergeFixupAt(sqInt targetIndex) NoDbgRegParms;
 static void ensureReceiverResultRegContainsSelf(void);
 static void evaluateat(BytecodeDescriptor *descriptor, sqInt pc) NoDbgRegParms;
-static sqInt freeRegisterNotConflictingWith(sqInt registerMask) NoDbgRegParms;
+static sqInt freeRegisterNotConflictingWith(sqInt regMask) NoDbgRegParms;
 static sqInt genBinaryConstOpVarInlinePrimitive(sqInt prim) NoDbgRegParms;
 static sqInt genBinaryInlineComparisonopFalsedestReg(sqInt opTrue, sqInt opFalse, sqInt destReg) NoDbgRegParms;
 static sqInt genBinaryVarOpConstInlinePrimitive(sqInt prim) NoDbgRegParms;
@@ -2419,7 +2419,7 @@
 	register require the shift count to be in %ecx. So we may
 	have to use swap instructions to get the count into ecx. */
 
-static sqInt
+static usqInt
 computeShiftRRSize(AbstractInstruction * self_in_computeShiftRRSize)
 {
     sqInt shiftCountReg;
@@ -2543,7 +2543,7 @@
 	return actualAddress + ((self_in_concretizeAt->machineCodeSize));
 }
 
-static sqInt
+static usqInt
 concretizeFill16(AbstractInstruction * self_in_concretizeFill16)
 {
     unsigned short word;
@@ -2555,7 +2555,7 @@
 	return ((self_in_concretizeFill16->machineCodeSize) = 2);
 }
 
-static sqInt
+static usqInt
 concretizeFill32(AbstractInstruction * self_in_concretizeFill32)
 {
     unsigned long word;
@@ -2568,7 +2568,7 @@
 	return ((self_in_concretizeFill32->machineCodeSize) = 4);
 }
 
-static sqInt
+static usqInt
 concretizeFillFromWord(AbstractInstruction * self_in_concretizeFillFromWord)
 {
     sqInt i;
@@ -6084,7 +6084,7 @@
 	is between that instruction's address (which by now is its eventual
 	absolute address) or absolute address and eventualAbsoluteAddress. */
 
-static sqInt
+static usqInt
 sizePCDependentInstructionAt(AbstractInstruction * self_in_sizePCDependentInstructionAt, sqInt eventualAbsoluteAddress)
 {
     AbstractInstruction *abstractInstruction;
@@ -15709,7 +15709,7 @@
     sqInt j;
     AbstractInstruction * jmpImmediate;
     AbstractInstruction * jmpImmediate1;
-    sqInt jumps;
+    AbstractInstruction **jumps;
     AbstractInstruction * label;
     usqInt numCases;
 
@@ -17996,7 +17996,7 @@
     sqInt immediateMask;
     AbstractInstruction * jmpImmediate;
     AbstractInstruction * jmpImmediate1;
-    sqInt jumps;
+    AbstractInstruction **jumps;
     AbstractInstruction * label;
     sqInt literal;
     sqInt noneImmediate;
@@ -19595,16 +19595,16 @@
 /*	if there's a free register, use it */
 
 static sqInt
-allocateRegisterNotConflictingWith(sqInt registerMask)
+allocateRegisterNotConflictingWith(sqInt regMask)
 {
     sqInt reg;
 
-	reg = availableRegisterOrNilFor(backEnd, (liveRegisters()) | registerMask);
+	reg = availableRegisterOrNilFor(backEnd, (liveRegisters()) | regMask);
 	if (!(reg)) {
 
-		/* No free register, choose one that does not conflict with registerMask */
+		/* No free register, choose one that does not conflict with regMask */
 
-		reg = freeRegisterNotConflictingWith(registerMask);
+		reg = freeRegisterNotConflictingWith(regMask);
 	}
 	if (reg == ReceiverResultReg) {
 
@@ -20181,11 +20181,11 @@
 }
 
 
-/*	Spill the closest register on stack not conflicting with registerMask. 
-	Assertion Failure if registerMask has already all the registers */
+/*	Spill the closest register on stack not conflicting with regMask. 
+	Assertion Failure if regMask has already all the registers */
 
 static sqInt
-freeRegisterNotConflictingWith(sqInt registerMask)
+freeRegisterNotConflictingWith(sqInt regMask)
 {
     CogSimStackEntry *desc;
     sqInt index;
@@ -20197,7 +20197,7 @@
 	 && (index < simStackPtr)) {
 		desc = simStackAt(index);
 		if (((desc->type)) == SSRegister) {
-			if (!(registerMask & (registerMaskFor((desc->registerr))))) {
+			if (!(regMask & (registerMaskFor((desc->registerr))))) {
 				reg = (desc->registerr);
 			}
 		}

Modified: branches/Cog/spursistasrc/vm/cogit.h
===================================================================
--- branches/Cog/spursistasrc/vm/cogit.h	2015-04-16 21:33:16 UTC (rev 3310)
+++ branches/Cog/spursistasrc/vm/cogit.h	2015-04-16 22:27:01 UTC (rev 3311)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f
+	CCodeGenerator VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc
  */
 
 

Modified: branches/Cog/spursrc/vm/cogit.c
===================================================================
--- branches/Cog/spursrc/vm/cogit.c	2015-04-16 21:33:16 UTC (rev 3310)
+++ branches/Cog/spursrc/vm/cogit.c	2015-04-16 22:27:01 UTC (rev 3311)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f
+	CCodeGenerator VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -21,9 +21,9 @@
 #include "cogit.h"
 
 typedef struct _AbstractInstruction {
-	char	opcode;
-	char	machineCodeSize;
-	char	maxSize;
+	unsigned char	opcode;
+	unsigned char	machineCodeSize;
+	unsigned char	maxSize;
 	unsigned long		operands [3];
 	unsigned long	address;
 	struct _AbstractInstruction *dependent;
@@ -414,13 +414,13 @@
 static sqInt callInstructionByteSize(AbstractInstruction * self_in_callInstructionByteSize) NoDbgRegParms;
 static sqInt callTargetFromReturnAddress(AbstractInstruction * self_in_callTargetFromReturnAddress, sqInt callSiteReturnAddress) NoDbgRegParms;
 static sqInt computeMaximumSize(AbstractInstruction * self_in_computeMaximumSize) NoDbgRegParms;
-static sqInt computeShiftRRSize(AbstractInstruction * self_in_computeShiftRRSize) NoDbgRegParms;
+static usqInt computeShiftRRSize(AbstractInstruction * self_in_computeShiftRRSize) NoDbgRegParms;
 static sqInt concreteDPFPRegister(AbstractInstruction * self_in_concreteDPFPRegister, sqInt registerIndex) NoDbgRegParms;
 static sqInt concreteRegister(AbstractInstruction * self_in_concreteRegister, sqInt registerIndex) NoDbgRegParms;
 static sqInt concretizeAt(AbstractInstruction * self_in_concretizeAt, sqInt actualAddress) NoDbgRegParms;
-static sqInt concretizeFill16(AbstractInstruction * self_in_concretizeFill16) NoDbgRegParms;
-static sqInt concretizeFill32(AbstractInstruction * self_in_concretizeFill32) NoDbgRegParms;
-static sqInt concretizeFillFromWord(AbstractInstruction * self_in_concretizeFillFromWord) NoDbgRegParms;
+static usqInt concretizeFill16(AbstractInstruction * self_in_concretizeFill16) NoDbgRegParms;
+static usqInt concretizeFill32(AbstractInstruction * self_in_concretizeFill32) NoDbgRegParms;
+static usqInt concretizeFillFromWord(AbstractInstruction * self_in_concretizeFillFromWord) NoDbgRegParms;
 static sqInt cResultRegister(AbstractInstruction * self_in_cResultRegister) NoDbgRegParms;
 static void dispatchConcretize(AbstractInstruction * self_in_dispatchConcretize) NoDbgRegParms;
 static AbstractInstruction * genDivRRQuoRem(AbstractInstruction * self_in_genDivRRQuoRem, sqInt abstractRegDivisor, sqInt abstractRegDividend, sqInt abstractRegQuotient, sqInt abstractRegRemainder) NoDbgRegParms;
@@ -479,7 +479,7 @@
 static sqInt shiftSetsConditionCodesFor(AbstractInstruction * self_in_shiftSetsConditionCodesFor, sqInt aConditionalJumpOpcode) NoDbgRegParms;
 static sqInt sizeHasModrmat(AbstractInstruction * self_in_sizeHasModrmat, sqInt op, sqInt pc) NoDbgRegParms;
 static sqInt sizeImmediateGroup1at(AbstractInstruction * self_in_sizeImmediateGroup1at, sqInt op, sqInt pc) NoDbgRegParms;
-static sqInt sizePCDependentInstructionAt(AbstractInstruction * self_in_sizePCDependentInstructionAt, sqInt eventualAbsoluteAddress) NoDbgRegParms;
+static usqInt sizePCDependentInstructionAt(AbstractInstruction * self_in_sizePCDependentInstructionAt, sqInt eventualAbsoluteAddress) NoDbgRegParms;
 static sqInt stackBytesForNumArgs(AbstractInstruction * self_in_stackBytesForNumArgs, sqInt numArgs) NoDbgRegParms;
 static sqInt stackPageInterruptHeadroomBytes(AbstractInstruction * self_in_stackPageInterruptHeadroomBytes) NoDbgRegParms;
 static AbstractInstruction * storeLiteralbeforeFollowingAddress(AbstractInstruction * self_in_storeLiteralbeforeFollowingAddress, sqInt literal, sqInt followingAddress) NoDbgRegParms;
@@ -905,7 +905,7 @@
 void voidCogCompiledCode(void);
 static BlockStart * addBlockStartAtnumArgsnumCopiedspan(sqInt bytecodepc, sqInt numArgs, sqInt numCopied, sqInt span) NoDbgRegParms;
 static sqInt allocateOneRegister(void);
-static sqInt allocateRegisterNotConflictingWith(sqInt registerMask) NoDbgRegParms;
+static sqInt allocateRegisterNotConflictingWith(sqInt regMask) NoDbgRegParms;
 static void annotateBytecodeIfAnnotated(CogSimStackEntry *aSimStackEntry) NoDbgRegParms;
 static sqInt anyReferencesToRegisterinTopNItems(sqInt reg, sqInt n) NoDbgRegParms;
 void callCogCodePopReceiverArg0Regs(void);
@@ -925,7 +925,7 @@
 static BytecodeFixup * ensureNonMergeFixupAt(sqInt targetIndex) NoDbgRegParms;
 static void ensureReceiverResultRegContainsSelf(void);
 static void evaluateat(BytecodeDescriptor *descriptor, sqInt pc) NoDbgRegParms;
-static sqInt freeRegisterNotConflictingWith(sqInt registerMask) NoDbgRegParms;
+static sqInt freeRegisterNotConflictingWith(sqInt regMask) NoDbgRegParms;
 static sqInt genBinaryConstOpVarInlinePrimitive(sqInt prim) NoDbgRegParms;
 static sqInt genBinaryInlineComparisonopFalsedestReg(sqInt opTrue, sqInt opFalse, sqInt destReg) NoDbgRegParms;
 static sqInt genBinaryVarOpConstInlinePrimitive(sqInt prim) NoDbgRegParms;
@@ -2098,7 +2098,7 @@
 	register require the shift count to be in %ecx. So we may
 	have to use swap instructions to get the count into ecx. */
 
-static sqInt
+static usqInt
 computeShiftRRSize(AbstractInstruction * self_in_computeShiftRRSize)
 {
     sqInt shiftCountReg;
@@ -2222,7 +2222,7 @@
 	return actualAddress + ((self_in_concretizeAt->machineCodeSize));
 }
 
-static sqInt
+static usqInt
 concretizeFill16(AbstractInstruction * self_in_concretizeFill16)
 {
     unsigned short word;
@@ -2234,7 +2234,7 @@
 	return ((self_in_concretizeFill16->machineCodeSize) = 2);
 }
 
-static sqInt
+static usqInt
 concretizeFill32(AbstractInstruction * self_in_concretizeFill32)
 {
     unsigned long word;
@@ -2247,7 +2247,7 @@
 	return ((self_in_concretizeFill32->machineCodeSize) = 4);
 }
 
-static sqInt
+static usqInt
 concretizeFillFromWord(AbstractInstruction * self_in_concretizeFillFromWord)
 {
     sqInt i;
@@ -5763,7 +5763,7 @@
 	is between that instruction's address (which by now is its eventual
 	absolute address) or absolute address and eventualAbsoluteAddress. */
 
-static sqInt
+static usqInt
 sizePCDependentInstructionAt(AbstractInstruction * self_in_sizePCDependentInstructionAt, sqInt eventualAbsoluteAddress)
 {
     AbstractInstruction *abstractInstruction;
@@ -16723,16 +16723,16 @@
 /*	if there's a free register, use it */
 
 static sqInt
-allocateRegisterNotConflictingWith(sqInt registerMask)
+allocateRegisterNotConflictingWith(sqInt regMask)
 {
     sqInt reg;
 
-	reg = availableRegisterOrNilFor(backEnd, (liveRegisters()) | registerMask);
+	reg = availableRegisterOrNilFor(backEnd, (liveRegisters()) | regMask);
 	if (!(reg)) {
 
-		/* No free register, choose one that does not conflict with registerMask */
+		/* No free register, choose one that does not conflict with regMask */
 
-		reg = freeRegisterNotConflictingWith(registerMask);
+		reg = freeRegisterNotConflictingWith(regMask);
 	}
 	if (reg == ReceiverResultReg) {
 
@@ -17521,11 +17521,11 @@
 }
 
 
-/*	Spill the closest register on stack not conflicting with registerMask. 
-	Assertion Failure if registerMask has already all the registers */
+/*	Spill the closest register on stack not conflicting with regMask. 
+	Assertion Failure if regMask has already all the registers */
 
 static sqInt
-freeRegisterNotConflictingWith(sqInt registerMask)
+freeRegisterNotConflictingWith(sqInt regMask)
 {
     CogSimStackEntry *desc;
     sqInt index;
@@ -17537,7 +17537,7 @@
 	 && (index < simStackPtr)) {
 		desc = simStackAt(index);
 		if (((desc->type)) == SSRegister) {
-			if (!(registerMask & (registerMaskFor((desc->registerr))))) {
+			if (!(regMask & (registerMaskFor((desc->registerr))))) {
 				reg = (desc->registerr);
 			}
 		}

Modified: branches/Cog/spursrc/vm/cogit.h
===================================================================
--- branches/Cog/spursrc/vm/cogit.h	2015-04-16 21:33:16 UTC (rev 3310)
+++ branches/Cog/spursrc/vm/cogit.h	2015-04-16 22:27:01 UTC (rev 3311)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f
+	CCodeGenerator VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc
  */
 
 

Modified: branches/Cog/src/vm/cogit.c
===================================================================
--- branches/Cog/src/vm/cogit.c	2015-04-16 21:33:16 UTC (rev 3310)
+++ branches/Cog/src/vm/cogit.c	2015-04-16 22:27:01 UTC (rev 3311)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f
+	CCodeGenerator VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -21,9 +21,9 @@
 #include "cogit.h"
 
 typedef struct _AbstractInstruction {
-	char	opcode;
-	char	machineCodeSize;
-	char	maxSize;
+	unsigned char	opcode;
+	unsigned char	machineCodeSize;
+	unsigned char	maxSize;
 	unsigned long		operands [3];
 	unsigned long	address;
 	struct _AbstractInstruction *dependent;
@@ -418,13 +418,13 @@
 static sqInt callInstructionByteSize(AbstractInstruction * self_in_callInstructionByteSize) NoDbgRegParms;
 static sqInt callTargetFromReturnAddress(AbstractInstruction * self_in_callTargetFromReturnAddress, sqInt callSiteReturnAddress) NoDbgRegParms;
 static sqInt computeMaximumSize(AbstractInstruction * self_in_computeMaximumSize) NoDbgRegParms;
-static sqInt computeShiftRRSize(AbstractInstruction * self_in_computeShiftRRSize) NoDbgRegParms;
+static usqInt computeShiftRRSize(AbstractInstruction * self_in_computeShiftRRSize) NoDbgRegParms;
 static sqInt concreteDPFPRegister(AbstractInstruction * self_in_concreteDPFPRegister, sqInt registerIndex) NoDbgRegParms;
 static sqInt concreteRegister(AbstractInstruction * self_in_concreteRegister, sqInt registerIndex) NoDbgRegParms;
 static sqInt concretizeAt(AbstractInstruction * self_in_concretizeAt, sqInt actualAddress) NoDbgRegParms;
-static sqInt concretizeFill16(AbstractInstruction * self_in_concretizeFill16) NoDbgRegParms;
-static sqInt concretizeFill32(AbstractInstruction * self_in_concretizeFill32) NoDbgRegParms;
-static sqInt concretizeFillFromWord(AbstractInstruction * self_in_concretizeFillFromWord) NoDbgRegParms;
+static usqInt concretizeFill16(AbstractInstruction * self_in_concretizeFill16) NoDbgRegParms;
+static usqInt concretizeFill32(AbstractInstruction * self_in_concretizeFill32) NoDbgRegParms;
+static usqInt concretizeFillFromWord(AbstractInstruction * self_in_concretizeFillFromWord) NoDbgRegParms;
 static sqInt cResultRegister(AbstractInstruction * self_in_cResultRegister) NoDbgRegParms;
 static void dispatchConcretize(AbstractInstruction * self_in_dispatchConcretize) NoDbgRegParms;
 static AbstractInstruction * genDivRRQuoRem(AbstractInstruction * self_in_genDivRRQuoRem, sqInt abstractRegDivisor, sqInt abstractRegDividend, sqInt abstractRegQuotient, sqInt abstractRegRemainder) NoDbgRegParms;
@@ -483,7 +483,7 @@
 static sqInt shiftSetsConditionCodesFor(AbstractInstruction * self_in_shiftSetsConditionCodesFor, sqInt aConditionalJumpOpcode) NoDbgRegParms;
 static sqInt sizeHasModrmat(AbstractInstruction * self_in_sizeHasModrmat, sqInt op, sqInt pc) NoDbgRegParms;
 static sqInt sizeImmediateGroup1at(AbstractInstruction * self_in_sizeImmediateGroup1at, sqInt op, sqInt pc) NoDbgRegParms;
-static sqInt sizePCDependentInstructionAt(AbstractInstruction * self_in_sizePCDependentInstructionAt, sqInt eventualAbsoluteAddress) NoDbgRegParms;
+static usqInt sizePCDependentInstructionAt(AbstractInstruction * self_in_sizePCDependentInstructionAt, sqInt eventualAbsoluteAddress) NoDbgRegParms;
 static sqInt stackBytesForNumArgs(AbstractInstruction * self_in_stackBytesForNumArgs, sqInt numArgs) NoDbgRegParms;
 static sqInt stackPageInterruptHeadroomBytes(AbstractInstruction * self_in_stackPageInterruptHeadroomBytes) NoDbgRegParms;
 static AbstractInstruction * storeLiteralbeforeFollowingAddress(AbstractInstruction * self_in_storeLiteralbeforeFollowingAddress, sqInt literal, sqInt followingAddress) NoDbgRegParms;
@@ -2064,7 +2064,7 @@
 	register require the shift count to be in %ecx. So we may
 	have to use swap instructions to get the count into ecx. */
 
-static sqInt
+static usqInt
 computeShiftRRSize(AbstractInstruction * self_in_computeShiftRRSize)
 {
     sqInt shiftCountReg;
@@ -2188,7 +2188,7 @@
 	return actualAddress + ((self_in_concretizeAt->machineCodeSize));
 }
 
-static sqInt
+static usqInt
 concretizeFill16(AbstractInstruction * self_in_concretizeFill16)
 {
     unsigned short word;
@@ -2200,7 +2200,7 @@
 	return ((self_in_concretizeFill16->machineCodeSize) = 2);
 }
 
-static sqInt
+static usqInt
 concretizeFill32(AbstractInstruction * self_in_concretizeFill32)
 {
     unsigned long word;
@@ -2213,7 +2213,7 @@
 	return ((self_in_concretizeFill32->machineCodeSize) = 4);
 }
 
-static sqInt
+static usqInt
 concretizeFillFromWord(AbstractInstruction * self_in_concretizeFillFromWord)
 {
     sqInt i;
@@ -5729,7 +5729,7 @@
 	is between that instruction's address (which by now is its eventual
 	absolute address) or absolute address and eventualAbsoluteAddress. */
 
-static sqInt
+static usqInt
 sizePCDependentInstructionAt(AbstractInstruction * self_in_sizePCDependentInstructionAt, sqInt eventualAbsoluteAddress)
 {
     AbstractInstruction *abstractInstruction;

Modified: branches/Cog/src/vm/cogit.h
===================================================================
--- branches/Cog/src/vm/cogit.h	2015-04-16 21:33:16 UTC (rev 3310)
+++ branches/Cog/src/vm/cogit.h	2015-04-16 22:27:01 UTC (rev 3311)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1202 uuid: 992991db-47cc-4d19-85cf-4959c54bd41f
+	CCodeGenerator VMMaker.oscog-eem.1204 uuid: 45d34c98-fee8-4874-95b4-842de9ba8cbc
  */
 
 



More information about the Vm-dev mailing list