[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