[Vm-dev] [commit][3345] CogVM source as per VMMaker.oscog-eem.1306
commits at squeakvm.org
commits at squeakvm.org
Fri May 15 20:18:53 UTC 2015
Revision: 3345
Author: eliot
Date: 2015-05-15 13:18:50 -0700 (Fri, 15 May 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1306
Fix old bug in ceMNUFromPICMNUMethod:receiver: that has been masked by
cacheing of MNU method in MNU PIC entries. ceMNUFromPICMNUMethod:receiver:
must set up lkupClass before calling handleMNU:...
Make ARM rotated 8bit constants actually be correct(er) ie
16r4000001 (SmallInteger 16r2000000) work.
Modified Paths:
--------------
branches/Cog/nsspursrc/vm/cogit.h
branches/Cog/nsspursrc/vm/cogitARMv5.c
branches/Cog/nsspursrc/vm/cogitIA32.c
branches/Cog/nsspursrc/vm/cointerp.c
branches/Cog/nsspursrc/vm/cointerp.h
branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
branches/Cog/nsspurstack64src/vm/gcc3x-interp.c
branches/Cog/nsspurstack64src/vm/interp.c
branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
branches/Cog/nsspurstacksrc/vm/interp.c
branches/Cog/spursistasrc/vm/cogit.h
branches/Cog/spursistasrc/vm/cogitARMv5.c
branches/Cog/spursistasrc/vm/cogitIA32.c
branches/Cog/spursistasrc/vm/cointerp.c
branches/Cog/spursistasrc/vm/cointerp.h
branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
branches/Cog/spursrc/vm/cogit.h
branches/Cog/spursrc/vm/cogitARMv5.c
branches/Cog/spursrc/vm/cogitIA32.c
branches/Cog/spursrc/vm/cointerp.c
branches/Cog/spursrc/vm/cointerp.h
branches/Cog/spursrc/vm/gcc3x-cointerp.c
branches/Cog/spurstack64src/vm/gcc3x-interp.c
branches/Cog/spurstack64src/vm/interp.c
branches/Cog/spurstacksrc/vm/gcc3x-interp.c
branches/Cog/spurstacksrc/vm/interp.c
branches/Cog/src/vm/cogit.h
branches/Cog/src/vm/cogitARMv5.c
branches/Cog/src/vm/cogitIA32.c
branches/Cog/src/vm/cointerp.c
branches/Cog/src/vm/cointerp.h
branches/Cog/src/vm/cointerpmt.c
branches/Cog/src/vm/cointerpmt.h
branches/Cog/src/vm/gcc3x-cointerp.c
branches/Cog/src/vm/gcc3x-cointerpmt.c
Property Changed:
----------------
branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h 2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspursrc/vm/cogit.h 2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+ CCodeGenerator VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
*/
Modified: branches/Cog/nsspursrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitARMv5.c 2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspursrc/vm/cogitARMv5.c 2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+ CCodeGenerator VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -3452,7 +3452,7 @@
for (i9 = 2; i9 <= 30; i9 += 2) {
if ((val2 & (((0xFF << i9) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i9)))) == val2) {
rot8 = 32 - i9;
- immediate13 = ((usqInt) val2) >> i9;
+ immediate13 = (((usqInt) val2) >> i9) | ((val2 << (32 - i9)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((BicOpcode << 21) | (1 << 20)))) | ((rn << 16) | (rd << 12))) | ((((((usqInt) rot8) >> 1) << 8) | immediate13) & 0xFFF));
self_in_dispatchConcretize;
@@ -4084,7 +4084,7 @@
for (i1 = 2; i1 <= 30; i1 += 2) {
if ((constant1 & (((0xFF << i1) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i1)))) == constant1) {
rot = 32 - i1;
- immediate = ((usqInt) constant1) >> i1;
+ immediate = (((usqInt) constant1) >> i1) | ((constant1 << (32 - i1)) & 0xFFFFFFFFUL);
reg = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
/* begin machineCodeAt:put: */
aWord4 = addsrnimmror(self_in_dispatchConcretize, reg, reg, immediate, rot);
@@ -4112,7 +4112,7 @@
for (i = 2; i <= 30; i += 2) {
if ((constant & (((0xFF << i) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i)))) == constant) {
rot = 32 - i;
- immediate = ((usqInt) constant) >> i;
+ immediate = (((usqInt) constant) >> i) | ((constant << (32 - i)) & 0xFFFFFFFFUL);
reg = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
/* begin machineCodeAt:put: */
aWord11 = subsrnimmror(self_in_dispatchConcretize, reg, reg, immediate, rot);
@@ -4219,7 +4219,7 @@
for (i11 = 2; i11 <= 30; i11 += 2) {
if ((val & (((0xFF << i11) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i11)))) == val) {
rot1 = 32 - i11;
- immediate1 = ((usqInt) val) >> i11;
+ immediate1 = (((usqInt) val) >> i11) | ((val << (32 - i11)) & 0xFFFFFFFFUL);
reg1 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
/* begin machineCodeAt:put: */
aWord5 = andsrnimmror(self_in_dispatchConcretize, reg1, reg1, immediate1, rot1);
@@ -4256,7 +4256,7 @@
for (i2 = 2; i2 <= 30; i2 += 2) {
if ((invVal & (((0xFF << i2) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i2)))) == invVal) {
rot1 = 32 - i2;
- immediate1 = ((usqInt) invVal) >> i2;
+ immediate1 = (((usqInt) invVal) >> i2) | ((invVal << (32 - i2)) & 0xFFFFFFFFUL);
reg1 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
/* begin machineCodeAt:put: */
aWord12 = bicsrnimmror(self_in_dispatchConcretize, reg1, reg1, immediate1, rot1);
@@ -4342,7 +4342,7 @@
for (i12 = 2; i12 <= 30; i12 += 2) {
if ((val1 & (((0xFF << i12) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i12)))) == val1) {
rot2 = 32 - i12;
- immediate2 = ((usqInt) val1) >> i12;
+ immediate2 = (((usqInt) val1) >> i12) | ((val1 << (32 - i12)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord6 = andsrnimmror(self_in_dispatchConcretize, dstReg, srcReg, immediate2, rot2);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord6;
@@ -4374,7 +4374,7 @@
for (i3 = 2; i3 <= 30; i3 += 2) {
if ((invVal1 & (((0xFF << i3) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i3)))) == invVal1) {
rot2 = 32 - i3;
- immediate2 = ((usqInt) invVal1) >> i3;
+ immediate2 = (((usqInt) invVal1) >> i3) | ((invVal1 << (32 - i3)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord13 = bicsrnimmror(self_in_dispatchConcretize, dstReg, srcReg, immediate2, rot2);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord13;
@@ -4502,7 +4502,7 @@
for (i10 = 2; i10 <= 30; i10 += 2) {
if ((val3 & (((0xFF << i10) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i10)))) == val3) {
rot9 = 32 - i10;
- immediate14 = ((usqInt) val3) >> i10;
+ immediate14 = (((usqInt) val3) >> i10) | ((val3 << (32 - i10)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((CmpOpcode << 21) | (1 << 20)))) | ((rn8 << 16) | (rd8 << 12))) | ((((((usqInt) rot9) >> 1) << 8) | immediate14) & 0xFFF));
self_in_dispatchConcretize;
@@ -4639,7 +4639,7 @@
for (i16 = 2; i16 <= 30; i16 += 2) {
if ((val4 & (((0xFF << i16) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i16)))) == val4) {
rot10 = 32 - i16;
- immediate15 = ((usqInt) val4) >> i16;
+ immediate15 = (((usqInt) val4) >> i16) | ((val4 << (32 - i16)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((OrOpcode << 21) | (1 << 20)))) | ((rn11 << 16) | (rd11 << 12))) | ((((((usqInt) rot10) >> 1) << 8) | immediate15) & 0xFFF));
self_in_dispatchConcretize;
@@ -4759,7 +4759,7 @@
for (i13 = 2; i13 <= 30; i13 += 2) {
if ((word & (((0xFF << i13) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i13)))) == word) {
rot3 = 32 - i13;
- immediate3 = ((usqInt) word) >> i13;
+ immediate3 = (((usqInt) word) >> i13) | ((word << (32 - i13)) & 0xFFFFFFFFUL);
reg2 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
/* begin machineCodeAt:put: */
aWord7 = subsrnimmror(self_in_dispatchConcretize, reg2, reg2, immediate3, rot3);
@@ -4790,7 +4790,7 @@
for (i4 = 2; i4 <= 30; i4 += 2) {
if (((-word) & (((0xFF << i4) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i4)))) == (-word)) {
rot3 = 32 - i4;
- immediate3 = ((usqInt) (-word)) >> i4;
+ immediate3 = (((usqInt) (-word)) >> i4) | (((-word) << (32 - i4)) & 0xFFFFFFFFUL);
reg2 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
/* begin machineCodeAt:put: */
aWord14 = addsrnimmror(self_in_dispatchConcretize, reg2, reg2, immediate3, rot3);
@@ -4901,7 +4901,7 @@
for (i5 = 2; i5 <= 30; i5 += 2) {
if ((constant2 & (((0xFF << i5) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i5)))) == constant2) {
rot4 = 32 - i5;
- immediate4 = ((usqInt) constant2) >> i5;
+ immediate4 = (((usqInt) constant2) >> i5) | ((constant2 << (32 - i5)) & 0xFFFFFFFFUL);
reg3 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
/* begin machineCodeAt:put: */
aWord8 = tstrnimmror(self_in_dispatchConcretize, reg3, reg3, immediate4, rot4);
@@ -4967,7 +4967,7 @@
for (i17 = 2; i17 <= 30; i17 += 2) {
if ((val5 & (((0xFF << i17) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i17)))) == val5) {
rot11 = 32 - i17;
- immediate16 = ((usqInt) val5) >> i17;
+ immediate16 = (((usqInt) val5) >> i17) | ((val5 << (32 - i17)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((XorOpcode << 21) | (1 << 20)))) | ((rn18 << 16) | (rd18 << 12))) | ((((((usqInt) rot11) >> 1) << 8) | immediate16) & 0xFFF));
self_in_dispatchConcretize;
@@ -5099,7 +5099,7 @@
for (i6 = 2; i6 <= 30; i6 += 2) {
if ((offset25 & (((0xFF << i6) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i6)))) == offset25) {
rot5 = 32 - i6;
- immediate5 = ((usqInt) offset25) >> i6;
+ immediate5 = (((usqInt) offset25) >> i6) | ((offset25 << (32 - i6)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord27 = addrnimmror(self_in_dispatchConcretize, destReg2, srcReg3, immediate5, rot5 << 1);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord27;
@@ -5233,7 +5233,7 @@
for (i14 = 2; i14 <= 30; i14 += 2) {
if ((word1 & (((0xFF << i14) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i14)))) == word1) {
rot6 = 32 - i14;
- immediate6 = ((usqInt) word1) >> i14;
+ immediate6 = (((usqInt) word1) >> i14) | ((word1 << (32 - i14)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord29 = movimmror(self_in_dispatchConcretize, reg5, immediate6, rot6);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord29;
@@ -5264,7 +5264,7 @@
for (i7 = 2; i7 <= 30; i7 += 2) {
if ((invVal2 & (((0xFF << i7) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i7)))) == invVal2) {
rot6 = 32 - i7;
- immediate6 = ((usqInt) invVal2) >> i7;
+ immediate6 = (((usqInt) invVal2) >> i7) | ((invVal2 << (32 - i7)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord113 = mvnimmror(self_in_dispatchConcretize, reg5, immediate6, rot6);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord113;
@@ -5817,7 +5817,7 @@
for (i15 = 2; i15 <= 30; i15 += 2) {
if ((word2 & (((0xFF << i15) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i15)))) == word2) {
rot7 = 32 - i15;
- immediate12 = ((usqInt) word2) >> i15;
+ immediate12 = (((usqInt) word2) >> i15) | ((word2 << (32 - i15)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord60 = movimmror(self_in_dispatchConcretize, ConcreteIPReg, immediate12, rot7);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord60;
@@ -5847,7 +5847,7 @@
for (i8 = 2; i8 <= 30; i8 += 2) {
if ((invVal3 & (((0xFF << i8) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i8)))) == invVal3) {
rot7 = 32 - i8;
- immediate12 = ((usqInt) invVal3) >> i8;
+ immediate12 = (((usqInt) invVal3) >> i8) | ((invVal3 << (32 - i8)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord123 = mvnimmror(self_in_dispatchConcretize, ConcreteIPReg, immediate12, rot7);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord123;
@@ -6666,7 +6666,7 @@
for (i1 = 2; i1 <= 30; i1 += 2) {
if ((distance & (((0xFF << i1) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i1)))) == distance) {
rot = 32 - i1;
- immediate = ((usqInt) distance) >> i1;
+ immediate = (((usqInt) distance) >> i1) | ((distance << (32 - i1)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord = addrnimmror(self_in_loadCwInto, destReg, PC, immediate, rot);
((self_in_loadCwInto->machineCode))[0 / 4] = aWord;
@@ -6690,7 +6690,7 @@
for (i = 2; i <= 30; i += 2) {
if ((constant & (((0xFF << i) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i)))) == constant) {
rot = 32 - i;
- immediate = ((usqInt) constant) >> i;
+ immediate = (((usqInt) constant) >> i) | ((constant << (32 - i)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord1 = subrnimmror(self_in_loadCwInto, destReg, PC, immediate, rot);
((self_in_loadCwInto->machineCode))[0 / 4] = aWord1;
@@ -9618,7 +9618,7 @@
{
sqInt classIndex;
sqInt i;
- sqInt pc;
+ usqInt pc;
pc = (((((usqInt)cPIC)) + firstCPICCaseOffset) + cPICCaseSize) - (jumpLongConditionalByteSize(backEnd));
for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
@@ -23951,6 +23951,7 @@
}
else {
assert(unforwardRcvr);
+ assert(!((((ssTop())->spilled))));
rcvrReg1 = allocateRegForStackEntryAtnotConflictingWith(1, 0);
popToReg(ssValue(1), rcvrReg1);
}
Modified: branches/Cog/nsspursrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitIA32.c 2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspursrc/vm/cogitIA32.c 2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+ CCodeGenerator VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -22707,6 +22707,7 @@
}
else {
assert(unforwardRcvr);
+ assert(!((((ssTop())->spilled))));
rcvrReg1 = allocateRegForStackEntryAtnotConflictingWith(1, 0);
popToReg(ssValue(1), rcvrReg1);
}
Modified: branches/Cog/nsspursrc/vm/cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.c 2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspursrc/vm/cointerp.c 2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
from
- CoInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+ CoInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
*/
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -1188,7 +1188,7 @@
static sqInt storeImageSegmentIntooutPointersroots(sqInt segmentWordArray, sqInt outPointerArray, sqInt arrayOfRoots) NoDbgRegParms;
sqInt storePointerUncheckedofObjectwithValue(sqInt fieldIndex, sqInt objOop, sqInt valuePointer);
sqInt storePointerofObjectwithValue(sqInt fieldIndex, sqInt objOop, sqInt valuePointer);
-usqInt stringForCString(const char *aCString);
+sqInt stringForCString(const char *aCString);
static sqInt sufficientSpaceAfterGC(sqInt numBytes) NoDbgRegParms;
static sqInt swizzleObjStackAt(sqInt objStackRootIndex) NoDbgRegParms;
void tenuringIncrementalGC(void);
@@ -1597,9 +1597,9 @@
_iss sqInt numStackPages;
_iss StackPage * mostRecentlyUsedPage;
_iss SpurNewSpaceSpace pastSpace;
+_iss sqInt lkupClass;
_iss sqInt longRunningPrimitiveCheckMethod;
_iss usqInt oldSpaceStart;
-_iss sqInt lkupClass;
_iss sqLong nextProfileTick;
_iss sqInt tempOop2;
_iss sqInt numClassTablePages;
@@ -2378,7 +2378,7 @@
/*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
};
char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1298";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1306";
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
volatile int sendTrace;
@@ -15779,7 +15779,7 @@
CogMethod *cogMethod;
sqInt methodField;
sqInt methodField1;
- sqInt theIP;
+ usqInt theIP;
assertl(GIV(stackPage) == (mostRecentlyUsedPage()), ln);
assertl(addressIsInPage(GIV(stackPage), lifp), ln);
@@ -16953,8 +16953,8 @@
return interpretMethodFromMachineCode();
}
handleMNUInMachineCodeToclassForMessage(SelectorDoesNotUnderstand, rcvr, (((tagBits1 = rcvr & 3)) != 0
- ? longAt((GIV(classTableFirstPage) + BaseHeaderSize) + (tagBits1 << (shiftForWord())))
- : fetchClassOfNonImm(rcvr)));
+ ? (GIV(lkupClass) = longAt((GIV(classTableFirstPage) + BaseHeaderSize) + (tagBits1 << (shiftForWord()))))
+ : (GIV(lkupClass) = fetchClassOfNonImm(rcvr))));
assert(0);
}
@@ -24105,7 +24105,7 @@
int index;
sqInt methodField;
usqInt numArgs;
- usqInt numTemps;
+ sqInt numTemps;
char *rcvrAddress;
sqInt rcvrOrClosure;
sqInt theMethod;
@@ -33057,7 +33057,7 @@
sqInt arg;
sqInt fmt;
sqInt i;
- usqInt length;
+ sqInt length;
usqInt numBytes;
usqInt numSlots;
usqInt numSlots1;
@@ -33098,18 +33098,18 @@
/* bytes (the common case), including CompiledMethod */
- length = ((sqInt) (numBytes - (fmt & 7)));
+ length = numBytes - (fmt & 7);
goto l1;
}
if (fmt <= 9) {
- length = ((sqInt) numBytes);
+ length = numBytes;
goto l1;
}
if (fmt >= 12) {
- length = ((sqInt) (numBytes - ((fmt & 3) << 1)));
+ length = numBytes - ((fmt & 3) << 1);
goto l1;
}
- length = ((sqInt) (numBytes - ((fmt & 1) << 2)));
+ length = numBytes - ((fmt & 1) << 2);
l1: /* end numBytesOf: */;
if (!((((((usqInt) (longAt(rcvr))) >> 24) & 0x1F) == ((((usqInt) (longAt(arg))) >> 24) & 0x1F))
&& (length == (numBytesOf(arg))))) {
@@ -33127,9 +33127,9 @@
flag("endianness");
assert((classIndexOf(rcvr)) > (isForwardedObjectClassIndexPun()));
numSlots1 = byteAt(rcvr + 7);
- length = (numSlots1 == 0xFF
- ? longAt(rcvr - BaseHeaderSize)
- : numSlots1);
+ length = ((usqInt) ((numSlots1 == 0xFF
+ ? longAt(rcvr - BaseHeaderSize)
+ : numSlots1)));
if (!((isAppropriateForCopyObject(arg))
&& (length == (lengthOfformat(arg, (((usqInt) (longAt(arg))) >> 24) & 0x1F))))) {
(GIV(primFailCode) = PrimErrBadArgument);
@@ -43062,7 +43062,7 @@
sqInt fillValue;
sqInt hash;
sqInt instSpec;
- usqInt newObj;
+ sqInt newObj;
usqInt newObj1;
usqInt numBytes;
usqInt numSlots;
@@ -43163,7 +43163,7 @@
GIV(needGCFlag) = 1;
forceInterruptCheck();
}
- newObj = allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, instSpec, classIndex);
+ newObj = ((usqInt) (allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, instSpec, classIndex)));
goto l1;
}
if (numSlots >= 0xFF) {
@@ -59208,13 +59208,13 @@
sqInt obj21;
sqInt pigBytes;
usqInt prevFree;
- usqInt prevFreeChunk;
+ sqInt prevFreeChunk;
usqInt prevPrevFree;
- usqInt prevPrevFreeChunk;
+ sqInt prevPrevFreeChunk;
sqInt slotBytes;
sqInt slotBytes1;
usqInt there;
- usqInt thisFreeChunk;
+ sqInt thisFreeChunk;
sqInt usedChunk;
nextNext = 0;
@@ -62910,7 +62910,7 @@
/* Answer a new String copied from a null-terminated C string,
or nil if out of memory. */
-usqInt
+sqInt
stringForCString(const char *aCString)
{ DECL_MAYBE_SQ_GLOBAL_STRUCT
sqInt formatField;
@@ -63833,7 +63833,7 @@
sqInt largeChild;
sqInt newEndOfMemory;
sqInt next;
- sqInt node;
+ usqInt node;
SpurSegmentInfo *seg;
sqInt smallChild;
sqInt treeNode;
@@ -78740,7 +78740,7 @@
sqInt header1;
sqInt i;
sqInt methodHeader;
- sqInt numSlots;
+ usqInt numSlots;
usqInt numSlots1;
sqInt rcvr;
char *sp;
@@ -78796,9 +78796,9 @@
flag("endianness");
assert((classIndexOf(rcvr)) > (isForwardedObjectClassIndexPun()));
numSlots1 = byteAt(rcvr + 7);
- numSlots = ((usqInt) ((numSlots1 == 0xFF
- ? longAt(rcvr - BaseHeaderSize)
- : numSlots1)));
+ numSlots = (numSlots1 == 0xFF
+ ? longAt(rcvr - BaseHeaderSize)
+ : numSlots1);
}
}
else {
Modified: branches/Cog/nsspursrc/vm/cointerp.h
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.h 2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspursrc/vm/cointerp.h 2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
*/
@@ -261,7 +261,7 @@
sqInt splObj(sqInt index);
usqInt storeCheckBoundary(void);
sqInt storePointerUncheckedofObjectwithValue(sqInt fieldIndex, sqInt objOop, sqInt valuePointer);
-usqInt stringForCString(const char *aCString);
+sqInt stringForCString(const char *aCString);
void tenuringIncrementalGC(void);
sqInt topRemappableOop(void);
sqInt validFreeTree(void);
Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c 2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c 2015-05-15 20:18:50 UTC (rev 3345)
@@ -2,11 +2,11 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
from
- CoInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+ CoInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
*/
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -1191,7 +1191,7 @@
static sqInt storeImageSegmentIntooutPointersroots(sqInt segmentWordArray, sqInt outPointerArray, sqInt arrayOfRoots) NoDbgRegParms;
sqInt storePointerUncheckedofObjectwithValue(sqInt fieldIndex, sqInt objOop, sqInt valuePointer);
sqInt storePointerofObjectwithValue(sqInt fieldIndex, sqInt objOop, sqInt valuePointer);
-usqInt stringForCString(const char *aCString);
+sqInt stringForCString(const char *aCString);
static sqInt sufficientSpaceAfterGC(sqInt numBytes) NoDbgRegParms;
static sqInt swizzleObjStackAt(sqInt objStackRootIndex) NoDbgRegParms;
void tenuringIncrementalGC(void);
@@ -1600,9 +1600,9 @@
_iss sqInt numStackPages;
_iss StackPage * mostRecentlyUsedPage;
_iss SpurNewSpaceSpace pastSpace;
+_iss sqInt lkupClass;
_iss sqInt longRunningPrimitiveCheckMethod;
_iss usqInt oldSpaceStart;
-_iss sqInt lkupClass;
_iss sqLong nextProfileTick;
_iss sqInt tempOop2;
_iss sqInt numClassTablePages;
@@ -2381,7 +2381,7 @@
/*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
};
char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1298";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1306";
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
volatile int sendTrace;
@@ -15788,7 +15788,7 @@
CogMethod *cogMethod;
sqInt methodField;
sqInt methodField1;
- sqInt theIP;
+ usqInt theIP;
assertl(GIV(stackPage) == (mostRecentlyUsedPage()), ln);
assertl(addressIsInPage(GIV(stackPage), lifp), ln);
@@ -16962,8 +16962,8 @@
return interpretMethodFromMachineCode();
}
handleMNUInMachineCodeToclassForMessage(SelectorDoesNotUnderstand, rcvr, (((tagBits1 = rcvr & 3)) != 0
- ? longAt((GIV(classTableFirstPage) + BaseHeaderSize) + (tagBits1 << (shiftForWord())))
- : fetchClassOfNonImm(rcvr)));
+ ? (GIV(lkupClass) = longAt((GIV(classTableFirstPage) + BaseHeaderSize) + (tagBits1 << (shiftForWord()))))
+ : (GIV(lkupClass) = fetchClassOfNonImm(rcvr))));
assert(0);
}
@@ -24114,7 +24114,7 @@
int index;
sqInt methodField;
usqInt numArgs;
- usqInt numTemps;
+ sqInt numTemps;
char *rcvrAddress;
sqInt rcvrOrClosure;
sqInt theMethod;
@@ -33066,7 +33066,7 @@
sqInt arg;
sqInt fmt;
sqInt i;
- usqInt length;
+ sqInt length;
usqInt numBytes;
usqInt numSlots;
usqInt numSlots1;
@@ -33107,18 +33107,18 @@
/* bytes (the common case), including CompiledMethod */
- length = ((sqInt) (numBytes - (fmt & 7)));
+ length = numBytes - (fmt & 7);
goto l1;
}
if (fmt <= 9) {
- length = ((sqInt) numBytes);
+ length = numBytes;
goto l1;
}
if (fmt >= 12) {
- length = ((sqInt) (numBytes - ((fmt & 3) << 1)));
+ length = numBytes - ((fmt & 3) << 1);
goto l1;
}
- length = ((sqInt) (numBytes - ((fmt & 1) << 2)));
+ length = numBytes - ((fmt & 1) << 2);
l1: /* end numBytesOf: */;
if (!((((((usqInt) (longAt(rcvr))) >> 24) & 0x1F) == ((((usqInt) (longAt(arg))) >> 24) & 0x1F))
&& (length == (numBytesOf(arg))))) {
@@ -33136,9 +33136,9 @@
flag("endianness");
assert((classIndexOf(rcvr)) > (isForwardedObjectClassIndexPun()));
numSlots1 = byteAt(rcvr + 7);
- length = (numSlots1 == 0xFF
- ? longAt(rcvr - BaseHeaderSize)
- : numSlots1);
+ length = ((usqInt) ((numSlots1 == 0xFF
+ ? longAt(rcvr - BaseHeaderSize)
+ : numSlots1)));
if (!((isAppropriateForCopyObject(arg))
&& (length == (lengthOfformat(arg, (((usqInt) (longAt(arg))) >> 24) & 0x1F))))) {
(GIV(primFailCode) = PrimErrBadArgument);
@@ -43071,7 +43071,7 @@
sqInt fillValue;
sqInt hash;
sqInt instSpec;
- usqInt newObj;
+ sqInt newObj;
usqInt newObj1;
usqInt numBytes;
usqInt numSlots;
@@ -43172,7 +43172,7 @@
GIV(needGCFlag) = 1;
forceInterruptCheck();
}
- newObj = allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, instSpec, classIndex);
+ newObj = ((usqInt) (allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, instSpec, classIndex)));
goto l1;
}
if (numSlots >= 0xFF) {
@@ -59217,13 +59217,13 @@
sqInt obj21;
sqInt pigBytes;
usqInt prevFree;
- usqInt prevFreeChunk;
+ sqInt prevFreeChunk;
usqInt prevPrevFree;
- usqInt prevPrevFreeChunk;
+ sqInt prevPrevFreeChunk;
sqInt slotBytes;
sqInt slotBytes1;
usqInt there;
- usqInt thisFreeChunk;
+ sqInt thisFreeChunk;
sqInt usedChunk;
nextNext = 0;
@@ -62919,7 +62919,7 @@
/* Answer a new String copied from a null-terminated C string,
or nil if out of memory. */
-usqInt
+sqInt
stringForCString(const char *aCString)
{ DECL_MAYBE_SQ_GLOBAL_STRUCT
sqInt formatField;
@@ -63842,7 +63842,7 @@
sqInt largeChild;
sqInt newEndOfMemory;
sqInt next;
- sqInt node;
+ usqInt node;
SpurSegmentInfo *seg;
sqInt smallChild;
sqInt treeNode;
@@ -78749,7 +78749,7 @@
sqInt header1;
sqInt i;
sqInt methodHeader;
- sqInt numSlots;
+ usqInt numSlots;
usqInt numSlots1;
sqInt rcvr;
char *sp;
@@ -78805,9 +78805,9 @@
flag("endianness");
assert((classIndexOf(rcvr)) > (isForwardedObjectClassIndexPun()));
numSlots1 = byteAt(rcvr + 7);
- numSlots = ((usqInt) ((numSlots1 == 0xFF
- ? longAt(rcvr - BaseHeaderSize)
- : numSlots1)));
+ numSlots = (numSlots1 == 0xFF
+ ? longAt(rcvr - BaseHeaderSize)
+ : numSlots1);
}
}
else {
Modified: branches/Cog/nsspurstack64src/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstack64src/vm/gcc3x-interp.c 2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspurstack64src/vm/gcc3x-interp.c 2015-05-15 20:18:50 UTC (rev 3345)
@@ -2,11 +2,11 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
from
- StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+ StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
*/
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -2149,7 +2149,7 @@
/* 575 */ (void (*)(void))0,
0 };
char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1298";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1306";
volatile int sendTrace;
sqInt suppressHeartbeatFlag;
Modified: branches/Cog/nsspurstack64src/vm/interp.c
===================================================================
--- branches/Cog/nsspurstack64src/vm/interp.c 2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspurstack64src/vm/interp.c 2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
from
- StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+ StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
*/
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -2146,7 +2146,7 @@
/* 575 */ (void (*)(void))0,
0 };
char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1298";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1306";
volatile int sendTrace;
sqInt suppressHeartbeatFlag;
Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c 2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c 2015-05-15 20:18:50 UTC (rev 3345)
@@ -2,11 +2,11 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
from
- StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+ StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
*/
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -2120,7 +2120,7 @@
/* 575 */ (void (*)(void))0,
0 };
char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1298";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1306";
volatile int sendTrace;
sqInt suppressHeartbeatFlag;
Modified: branches/Cog/nsspurstacksrc/vm/interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/interp.c 2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/nsspurstacksrc/vm/interp.c 2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
from
- StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+ StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
*/
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -2117,7 +2117,7 @@
/* 575 */ (void (*)(void))0,
0 };
char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1298";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1306";
volatile int sendTrace;
sqInt suppressHeartbeatFlag;
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
- Thu May 14 19:29:26 PDT 2015
+ Fri May 15 13:17:35 PDT 2015
Modified: branches/Cog/spursistasrc/vm/cogit.h
===================================================================
--- branches/Cog/spursistasrc/vm/cogit.h 2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/spursistasrc/vm/cogit.h 2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+ CCodeGenerator VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
*/
Modified: branches/Cog/spursistasrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/spursistasrc/vm/cogitARMv5.c 2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/spursistasrc/vm/cogitARMv5.c 2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+ CCodeGenerator VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
from
- SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+ SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
*/
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -3453,7 +3453,7 @@
for (i9 = 2; i9 <= 30; i9 += 2) {
if ((val2 & (((0xFF << i9) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i9)))) == val2) {
rot8 = 32 - i9;
- immediate13 = ((usqInt) val2) >> i9;
+ immediate13 = (((usqInt) val2) >> i9) | ((val2 << (32 - i9)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((BicOpcode << 21) | (1 << 20)))) | ((rn << 16) | (rd << 12))) | ((((((usqInt) rot8) >> 1) << 8) | immediate13) & 0xFFF));
self_in_dispatchConcretize;
@@ -4085,7 +4085,7 @@
for (i1 = 2; i1 <= 30; i1 += 2) {
if ((constant1 & (((0xFF << i1) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i1)))) == constant1) {
rot = 32 - i1;
- immediate = ((usqInt) constant1) >> i1;
+ immediate = (((usqInt) constant1) >> i1) | ((constant1 << (32 - i1)) & 0xFFFFFFFFUL);
reg = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
/* begin machineCodeAt:put: */
aWord4 = addsrnimmror(self_in_dispatchConcretize, reg, reg, immediate, rot);
@@ -4113,7 +4113,7 @@
for (i = 2; i <= 30; i += 2) {
if ((constant & (((0xFF << i) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i)))) == constant) {
rot = 32 - i;
- immediate = ((usqInt) constant) >> i;
+ immediate = (((usqInt) constant) >> i) | ((constant << (32 - i)) & 0xFFFFFFFFUL);
reg = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
/* begin machineCodeAt:put: */
aWord11 = subsrnimmror(self_in_dispatchConcretize, reg, reg, immediate, rot);
@@ -4220,7 +4220,7 @@
for (i11 = 2; i11 <= 30; i11 += 2) {
if ((val & (((0xFF << i11) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i11)))) == val) {
rot1 = 32 - i11;
- immediate1 = ((usqInt) val) >> i11;
+ immediate1 = (((usqInt) val) >> i11) | ((val << (32 - i11)) & 0xFFFFFFFFUL);
reg1 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
/* begin machineCodeAt:put: */
aWord5 = andsrnimmror(self_in_dispatchConcretize, reg1, reg1, immediate1, rot1);
@@ -4257,7 +4257,7 @@
for (i2 = 2; i2 <= 30; i2 += 2) {
if ((invVal & (((0xFF << i2) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i2)))) == invVal) {
rot1 = 32 - i2;
- immediate1 = ((usqInt) invVal) >> i2;
+ immediate1 = (((usqInt) invVal) >> i2) | ((invVal << (32 - i2)) & 0xFFFFFFFFUL);
reg1 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
/* begin machineCodeAt:put: */
aWord12 = bicsrnimmror(self_in_dispatchConcretize, reg1, reg1, immediate1, rot1);
@@ -4343,7 +4343,7 @@
for (i12 = 2; i12 <= 30; i12 += 2) {
if ((val1 & (((0xFF << i12) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i12)))) == val1) {
rot2 = 32 - i12;
- immediate2 = ((usqInt) val1) >> i12;
+ immediate2 = (((usqInt) val1) >> i12) | ((val1 << (32 - i12)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord6 = andsrnimmror(self_in_dispatchConcretize, dstReg, srcReg, immediate2, rot2);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord6;
@@ -4375,7 +4375,7 @@
for (i3 = 2; i3 <= 30; i3 += 2) {
if ((invVal1 & (((0xFF << i3) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i3)))) == invVal1) {
rot2 = 32 - i3;
- immediate2 = ((usqInt) invVal1) >> i3;
+ immediate2 = (((usqInt) invVal1) >> i3) | ((invVal1 << (32 - i3)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord13 = bicsrnimmror(self_in_dispatchConcretize, dstReg, srcReg, immediate2, rot2);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord13;
@@ -4503,7 +4503,7 @@
for (i10 = 2; i10 <= 30; i10 += 2) {
if ((val3 & (((0xFF << i10) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i10)))) == val3) {
rot9 = 32 - i10;
- immediate14 = ((usqInt) val3) >> i10;
+ immediate14 = (((usqInt) val3) >> i10) | ((val3 << (32 - i10)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((CmpOpcode << 21) | (1 << 20)))) | ((rn8 << 16) | (rd8 << 12))) | ((((((usqInt) rot9) >> 1) << 8) | immediate14) & 0xFFF));
self_in_dispatchConcretize;
@@ -4640,7 +4640,7 @@
for (i16 = 2; i16 <= 30; i16 += 2) {
if ((val4 & (((0xFF << i16) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i16)))) == val4) {
rot10 = 32 - i16;
- immediate15 = ((usqInt) val4) >> i16;
+ immediate15 = (((usqInt) val4) >> i16) | ((val4 << (32 - i16)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((OrOpcode << 21) | (1 << 20)))) | ((rn11 << 16) | (rd11 << 12))) | ((((((usqInt) rot10) >> 1) << 8) | immediate15) & 0xFFF));
self_in_dispatchConcretize;
@@ -4760,7 +4760,7 @@
for (i13 = 2; i13 <= 30; i13 += 2) {
if ((word & (((0xFF << i13) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i13)))) == word) {
rot3 = 32 - i13;
- immediate3 = ((usqInt) word) >> i13;
+ immediate3 = (((usqInt) word) >> i13) | ((word << (32 - i13)) & 0xFFFFFFFFUL);
reg2 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
/* begin machineCodeAt:put: */
aWord7 = subsrnimmror(self_in_dispatchConcretize, reg2, reg2, immediate3, rot3);
@@ -4791,7 +4791,7 @@
for (i4 = 2; i4 <= 30; i4 += 2) {
if (((-word) & (((0xFF << i4) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i4)))) == (-word)) {
rot3 = 32 - i4;
- immediate3 = ((usqInt) (-word)) >> i4;
+ immediate3 = (((usqInt) (-word)) >> i4) | (((-word) << (32 - i4)) & 0xFFFFFFFFUL);
reg2 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
/* begin machineCodeAt:put: */
aWord14 = addsrnimmror(self_in_dispatchConcretize, reg2, reg2, immediate3, rot3);
@@ -4902,7 +4902,7 @@
for (i5 = 2; i5 <= 30; i5 += 2) {
if ((constant2 & (((0xFF << i5) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i5)))) == constant2) {
rot4 = 32 - i5;
- immediate4 = ((usqInt) constant2) >> i5;
+ immediate4 = (((usqInt) constant2) >> i5) | ((constant2 << (32 - i5)) & 0xFFFFFFFFUL);
reg3 = concreteRegister(self_in_dispatchConcretize, ((self_in_dispatchConcretize->operands))[1]);
/* begin machineCodeAt:put: */
aWord8 = tstrnimmror(self_in_dispatchConcretize, reg3, reg3, immediate4, rot4);
@@ -4968,7 +4968,7 @@
for (i17 = 2; i17 <= 30; i17 += 2) {
if ((val5 & (((0xFF << i17) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i17)))) == val5) {
rot11 = 32 - i17;
- immediate16 = ((usqInt) val5) >> i17;
+ immediate16 = (((usqInt) val5) >> i17) | ((val5 << (32 - i17)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
((self_in_dispatchConcretize->machineCode))[0 / 4] = ((((AL << 28) | ((1 << 25) | ((XorOpcode << 21) | (1 << 20)))) | ((rn18 << 16) | (rd18 << 12))) | ((((((usqInt) rot11) >> 1) << 8) | immediate16) & 0xFFF));
self_in_dispatchConcretize;
@@ -5100,7 +5100,7 @@
for (i6 = 2; i6 <= 30; i6 += 2) {
if ((offset25 & (((0xFF << i6) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i6)))) == offset25) {
rot5 = 32 - i6;
- immediate5 = ((usqInt) offset25) >> i6;
+ immediate5 = (((usqInt) offset25) >> i6) | ((offset25 << (32 - i6)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord27 = addrnimmror(self_in_dispatchConcretize, destReg2, srcReg3, immediate5, rot5 << 1);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord27;
@@ -5234,7 +5234,7 @@
for (i14 = 2; i14 <= 30; i14 += 2) {
if ((word1 & (((0xFF << i14) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i14)))) == word1) {
rot6 = 32 - i14;
- immediate6 = ((usqInt) word1) >> i14;
+ immediate6 = (((usqInt) word1) >> i14) | ((word1 << (32 - i14)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord29 = movimmror(self_in_dispatchConcretize, reg5, immediate6, rot6);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord29;
@@ -5265,7 +5265,7 @@
for (i7 = 2; i7 <= 30; i7 += 2) {
if ((invVal2 & (((0xFF << i7) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i7)))) == invVal2) {
rot6 = 32 - i7;
- immediate6 = ((usqInt) invVal2) >> i7;
+ immediate6 = (((usqInt) invVal2) >> i7) | ((invVal2 << (32 - i7)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord113 = mvnimmror(self_in_dispatchConcretize, reg5, immediate6, rot6);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord113;
@@ -5818,7 +5818,7 @@
for (i15 = 2; i15 <= 30; i15 += 2) {
if ((word2 & (((0xFF << i15) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i15)))) == word2) {
rot7 = 32 - i15;
- immediate12 = ((usqInt) word2) >> i15;
+ immediate12 = (((usqInt) word2) >> i15) | ((word2 << (32 - i15)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord60 = movimmror(self_in_dispatchConcretize, ConcreteIPReg, immediate12, rot7);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord60;
@@ -5848,7 +5848,7 @@
for (i8 = 2; i8 <= 30; i8 += 2) {
if ((invVal3 & (((0xFF << i8) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i8)))) == invVal3) {
rot7 = 32 - i8;
- immediate12 = ((usqInt) invVal3) >> i8;
+ immediate12 = (((usqInt) invVal3) >> i8) | ((invVal3 << (32 - i8)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord123 = mvnimmror(self_in_dispatchConcretize, ConcreteIPReg, immediate12, rot7);
((self_in_dispatchConcretize->machineCode))[0 / 4] = aWord123;
@@ -6667,7 +6667,7 @@
for (i1 = 2; i1 <= 30; i1 += 2) {
if ((distance & (((0xFF << i1) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i1)))) == distance) {
rot = 32 - i1;
- immediate = ((usqInt) distance) >> i1;
+ immediate = (((usqInt) distance) >> i1) | ((distance << (32 - i1)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord = addrnimmror(self_in_loadCwInto, destReg, PC, immediate, rot);
((self_in_loadCwInto->machineCode))[0 / 4] = aWord;
@@ -6691,7 +6691,7 @@
for (i = 2; i <= 30; i += 2) {
if ((constant & (((0xFF << i) & 0xFFFFFFFFUL) | (((usqInt) 0xFF) >> (32 - i)))) == constant) {
rot = 32 - i;
- immediate = ((usqInt) constant) >> i;
+ immediate = (((usqInt) constant) >> i) | ((constant << (32 - i)) & 0xFFFFFFFFUL);
/* begin machineCodeAt:put: */
aWord1 = subrnimmror(self_in_loadCwInto, destReg, PC, immediate, rot);
((self_in_loadCwInto->machineCode))[0 / 4] = aWord1;
@@ -20296,6 +20296,7 @@
}
else {
assert(unforwardRcvr);
+ assert(!((((ssTop())->spilled))));
rcvrReg1 = allocateRegForStackEntryAtnotConflictingWith(1, 0);
popToReg(ssValue(1), rcvrReg1);
}
@@ -20516,6 +20517,7 @@
}
else {
assert(unforwardRcvr);
+ assert(!((((ssTop())->spilled))));
rcvrReg1 = allocateRegForStackEntryAtnotConflictingWith(1, 0);
popToReg(ssValue(1), rcvrReg1);
}
Modified: branches/Cog/spursistasrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/spursistasrc/vm/cogitIA32.c 2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/spursistasrc/vm/cogitIA32.c 2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+ CCodeGenerator VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
from
- SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa
+ SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
*/
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1303 uuid: d796217a-dcf4-47eb-9a63-579a7e69a7fa " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -19041,6 +19041,7 @@
}
else {
assert(unforwardRcvr);
+ assert(!((((ssTop())->spilled))));
rcvrReg1 = allocateRegForStackEntryAtnotConflictingWith(1, 0);
popToReg(ssValue(1), rcvrReg1);
}
@@ -19261,6 +19262,7 @@
}
else {
assert(unforwardRcvr);
+ assert(!((((ssTop())->spilled))));
rcvrReg1 = allocateRegForStackEntryAtnotConflictingWith(1, 0);
popToReg(ssValue(1), rcvrReg1);
}
Modified: branches/Cog/spursistasrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursistasrc/vm/cointerp.c 2015-05-15 15:10:53 UTC (rev 3344)
+++ branches/Cog/spursistasrc/vm/cointerp.c 2015-05-15 20:18:50 UTC (rev 3345)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
from
- CoInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def
+ CoInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
*/
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1298 uuid: da9fd4c2-e7e4-48c1-bfb6-87139d690def " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -1186,7 +1186,7 @@
static sqInt storeImageSegmentIntooutPointersroots(sqInt segmentWordArray, sqInt outPointerArray, sqInt arrayOfRoots) NoDbgRegParms;
sqInt storePointerUncheckedofObjectwithValue(sqInt fieldIndex, sqInt objOop, sqInt valuePointer);
sqInt storePointerofObjectwithValue(sqInt fieldIndex, sqInt objOop, sqInt valuePointer);
-sqInt stringForCString(const char *aCString);
+usqInt stringForCString(const char *aCString);
static sqInt sufficientSpaceAfterGC(sqInt numBytes) NoDbgRegParms;
static sqInt swizzleObjStackAt(sqInt objStackRootIndex) NoDbgRegParms;
void tenuringIncrementalGC(void);
@@ -1617,6 +1617,7 @@
_iss sqInt previousRememberedSetSize;
_iss sqInt classNameIndex;
_iss sqInt ephemeronQueue;
+_iss sqInt lkupClass;
_iss sqInt tenureCriterion;
_iss sqInt lastMethodCacheProbeWrite;
_iss sqInt metaclassNumSlots;
@@ -1625,7 +1626,6 @@
_iss sqInt gcMode;
_iss sqInt lastCoggableInterpretedBlockMethod;
_iss sqInt lastUncoggableInterpretedBlockMethod;
-_iss sqInt lkupClass;
_iss usqLong nextWakeupUsecs;
_iss sqInt numSegInfos;
_iss sqInt cogCodeSize;
@@ -2375,7 +2375,7 @@
/*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
};
char expensiveAsserts = 0;
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.1298]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.1306]";
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
volatile int sendTrace;
@@ -14920,7 +14920,7 @@
CogMethod *cogMethod;
sqInt methodField;
sqInt methodField1;
- usqInt theIP;
+ sqInt theIP;
assertl(GIV(stackPage) == (mostRecentlyUsedPage()), ln);
assertl(addressIsInPage(GIV(stackPage), lifp), ln);
@@ -15922,8 +15922,8 @@
return interpretMethodFromMachineCode();
}
handleMNUInMachineCodeToclassForMessage(SelectorDoesNotUnderstand, rcvr, (((tagBits1 = rcvr & 3)) != 0
- ? longAt((GIV(classTableFirstPage) + BaseHeaderSize) + (tagBits1 << (shiftForWord())))
- : fetchClassOfNonImm(rcvr)));
+ ? (GIV(lkupClass) = longAt((GIV(classTableFirstPage) + BaseHeaderSize) + (tagBits1 << (shiftForWord()))))
+ : (GIV(lkupClass) = fetchClassOfNonImm(rcvr))));
assert(0);
}
@@ -22761,7 +22761,7 @@
int index;
sqInt methodField;
usqInt numArgs;
- usqInt numTemps;
+ sqInt numTemps;
char *rcvrAddress;
sqInt rcvrOrClosure;
sqInt theMethod;
@@ -30456,7 +30456,7 @@
GIV(needGCFlag) = 1;
forceInterruptCheck();
}
- s = allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, formatField, ClassByteStringCompactIndex);
@@ Diff output truncated at 50000 characters. @@
More information about the Vm-dev
mailing list