[Vm-dev] [commit][3350] CogVM source as per VMMaker.oscog-eem.1315
commits at squeakvm.org
commits at squeakvm.org
Tue May 19 01:13:57 UTC 2015
Revision: 3350
Author: eliot
Date: 2015-05-18 18:13:54 -0700 (Mon, 18 May 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1315
Slang:
Do a more thorough job of transforming complex to:[by:]do: loops so that the
limit expression is only evaluated once, not on each iteration of the loop.
Fix regression in read-before-written code when
rewriting to only initialize simple types.
Cogit:
Fix ARM-only regression in StackToRegisterMappingCogit's
PIC aborts when the SimpleStackBasedCogit was fixed.
Modified Paths:
--------------
branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c
branches/Cog/nsspursrc/plugins/BitBltPlugin/BitBltPlugin.c
branches/Cog/nsspursrc/plugins/FilePlugin/FilePlugin.c
branches/Cog/nsspursrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
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/plugins/B2DPlugin/B2DPlugin.c
branches/Cog/src/plugins/BitBltPlugin/BitBltPlugin.c
branches/Cog/src/plugins/BochsIA32Plugin/BochsIA32Plugin.c
branches/Cog/src/plugins/FilePlugin/FilePlugin.c
branches/Cog/src/plugins/GdbARMPlugin/GdbARMPlugin.c
branches/Cog/src/plugins/Mpeg3Plugin/Mpeg3Plugin.c
branches/Cog/src/plugins/SoundCodecPrims/SoundCodecPrims.c
branches/Cog/src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.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
branches/Cog/stacksrc/vm/gcc3x-interp.c
branches/Cog/stacksrc/vm/interp.c
Property Changed:
----------------
branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
Modified: branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c 2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c 2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,9 +1,9 @@
/* Automatically generated by
- VMPluginCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ VMPluginCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
from
- BalloonEnginePlugin VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ BalloonEnginePlugin VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
*/
-static char __buildInfo[] = "BalloonEnginePlugin VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "BalloonEnginePlugin VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
@@ -836,9 +836,9 @@
static void * loadBBFn;
static const char *moduleName =
#ifdef SQUEAK_BUILTIN_PLUGIN
- "B2DPlugin VMMaker.oscog-eem.1313 (i)"
+ "B2DPlugin VMMaker.oscog-eem.1315 (i)"
#else
- "B2DPlugin VMMaker.oscog-eem.1313 (e)"
+ "B2DPlugin VMMaker.oscog-eem.1315 (e)"
#endif
;
static int* objBuffer;
@@ -11962,6 +11962,7 @@
{
sqInt aaLevel;
+ aaLevel = 0;
if (level >= 4) {
aaLevel = 4;
}
Modified: branches/Cog/nsspursrc/plugins/BitBltPlugin/BitBltPlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/BitBltPlugin/BitBltPlugin.c 2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/plugins/BitBltPlugin/BitBltPlugin.c 2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,9 +1,9 @@
/* Automatically generated by
- SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
from
- BitBltSimulation VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ BitBltSimulation VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
*/
-static char __buildInfo[] = "BitBltSimulation VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "BitBltSimulation VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
@@ -344,9 +344,9 @@
};
static const char *moduleName =
#ifdef SQUEAK_BUILTIN_PLUGIN
- "BitBltPlugin VMMaker.oscog-eem.1313 (i)"
+ "BitBltPlugin VMMaker.oscog-eem.1315 (i)"
#else
- "BitBltPlugin VMMaker.oscog-eem.1313 (e)"
+ "BitBltPlugin VMMaker.oscog-eem.1315 (e)"
#endif
;
static sqInt noHalftone;
@@ -5027,6 +5027,7 @@
sqInt val;
sqInt _return_value;
+ val = 0;
colorA = (BytesPerOop == 4
? positive32BitValueOf(stackValue(2))
: positive64BitValueOf(stackValue(2)));
Modified: branches/Cog/nsspursrc/plugins/FilePlugin/FilePlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/FilePlugin/FilePlugin.c 2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/plugins/FilePlugin/FilePlugin.c 2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,9 +1,9 @@
/* Automatically generated by
- VMPluginCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ VMPluginCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
from
- FilePlugin VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ FilePlugin VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
*/
-static char __buildInfo[] = "FilePlugin VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "FilePlugin VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
@@ -177,9 +177,9 @@
struct VirtualMachine* interpreterProxy;
static const char *moduleName =
#ifdef SQUEAK_BUILTIN_PLUGIN
- "FilePlugin VMMaker.oscog-eem.1313 (i)"
+ "FilePlugin VMMaker.oscog-eem.1315 (i)"
#else
- "FilePlugin VMMaker.oscog-eem.1313 (e)"
+ "FilePlugin VMMaker.oscog-eem.1315 (e)"
#endif
;
static void * sCCPfn;
@@ -471,6 +471,10 @@
sqInt requestedName;
sqInt status;
+ createDate = 0;
+ dirFlag = 0;
+ entryNameSize = 0;
+ modifiedDate = 0;
requestedName = stackValue(0);
pathName = stackValue(1);
if (!(isBytes(pathName))) {
@@ -576,6 +580,10 @@
sqInt pathNameSize;
sqInt status;
+ createDate = 0;
+ dirFlag = 0;
+ entryNameSize = 0;
+ modifiedDate = 0;
index = stackIntegerValue(0);
pathName = stackValue(1);
if (!(isBytes(pathName))) {
Modified: branches/Cog/nsspursrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c 2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c 2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,5 +1,5 @@
/* Automatically generated by
- VMPluginCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ VMPluginCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
from
Win32OSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.50 uuid: 67b1e805-4efd-476c-8cf3-b4a5e14e22a9
*/
@@ -1856,6 +1856,7 @@
sqInt index;
struct {int index; HANDLE handle;} *threadArgs;
+ index = 0;
threadArgs = args;
index = threadArgs->index;
handle = threadArgs->handle;
Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h 2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/vm/cogit.h 2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ CCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
*/
Modified: branches/Cog/nsspursrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitARMv5.c 2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/vm/cogitARMv5.c 2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ CCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -10696,9 +10696,9 @@
genoperandoperand(CmpCqR, 0, ClassReg);
/* begin JumpZero: */
jumpMNUCase = genoperand(JumpZero, ((sqInt)0));
- compileTrampolineFornumArgsargargargargsaveRegspushLinkRegresultReg(ceInterpretMethodFromPICreceiver, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 1, null);
+ compileTrampolineFornumArgsargargargargsaveRegspushLinkRegresultReg(ceInterpretMethodFromPICreceiver, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 0, null);
jmpTarget(jumpMNUCase, gLabel());
- return genTrampolineForcallednumArgsargargargargsaveRegspushLinkRegresultRegappendOpcodes(ceMNUFromPICMNUMethodreceiver, name, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 1, null, 1);
+ return genTrampolineForcallednumArgsargargargargsaveRegspushLinkRegresultRegappendOpcodes(ceMNUFromPICMNUMethodreceiver, name, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 0, null, 1);
}
static sqInt
@@ -11559,6 +11559,7 @@
sqInt result;
sqInt val;
+ val = 0;
hasYoungObj = 0;
hasYoungObjPtr = ((sqInt)((&hasYoungObj)));
codeModified = (freedPIC = 0);
@@ -11755,6 +11756,7 @@
sqInt result;
sqInt val;
+ val = 0;
hasYoungObj = 0;
hasYoungObjPtr = ((sqInt)((&hasYoungObj)));
codeModified = 0;
@@ -11876,6 +11878,8 @@
sqInt val;
sqInt val1;
+ val = 0;
+ val1 = 0;
if (leakCheckFullGC()) {
assert(allMachineCodeObjectReferencesValid());
}
@@ -20372,6 +20376,7 @@
sqInt savedNumArgs;
sqInt savedNumTemps;
+ initialIndexOfIRC = 0;
assert(blockCount > 0);
savedNeedsFrame = needsFrame;
savedNumArgs = methodOrBlockNumArgs;
Modified: branches/Cog/nsspursrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitIA32.c 2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/vm/cogitIA32.c 2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ CCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -9453,9 +9453,9 @@
genoperandoperand(CmpCqR, 0, ClassReg);
/* begin JumpZero: */
jumpMNUCase = genoperand(JumpZero, ((sqInt)0));
- compileTrampolineFornumArgsargargargargsaveRegspushLinkRegresultReg(ceInterpretMethodFromPICreceiver, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 1, null);
+ compileTrampolineFornumArgsargargargargsaveRegspushLinkRegresultReg(ceInterpretMethodFromPICreceiver, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 0, null);
jmpTarget(jumpMNUCase, gLabel());
- return genTrampolineForcallednumArgsargargargargsaveRegspushLinkRegresultRegappendOpcodes(ceMNUFromPICMNUMethodreceiver, name, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 1, null, 1);
+ return genTrampolineForcallednumArgsargargargargsaveRegspushLinkRegresultRegappendOpcodes(ceMNUFromPICMNUMethodreceiver, name, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 0, null, 1);
}
static sqInt
@@ -10326,6 +10326,7 @@
sqInt result;
sqInt val;
+ val = 0;
hasYoungObj = 0;
hasYoungObjPtr = ((sqInt)((&hasYoungObj)));
codeModified = (freedPIC = 0);
@@ -10522,6 +10523,7 @@
sqInt result;
sqInt val;
+ val = 0;
hasYoungObj = 0;
hasYoungObjPtr = ((sqInt)((&hasYoungObj)));
codeModified = 0;
@@ -10643,6 +10645,8 @@
sqInt val;
sqInt val1;
+ val = 0;
+ val1 = 0;
if (leakCheckFullGC()) {
assert(allMachineCodeObjectReferencesValid());
}
@@ -19132,6 +19136,7 @@
sqInt savedNumArgs;
sqInt savedNumTemps;
+ initialIndexOfIRC = 0;
assert(blockCount > 0);
savedNeedsFrame = needsFrame;
savedNumArgs = methodOrBlockNumArgs;
Modified: branches/Cog/nsspursrc/vm/cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.c 2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/vm/cointerp.c 2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
from
- CoInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ CoInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
*/
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -2380,7 +2380,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.1313";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1315";
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
volatile int sendTrace;
@@ -6046,6 +6046,7 @@
sqInt table;
VM_LABEL(commonSend);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
/* begin sendBreakpoint:receiver: */
@@ -8956,6 +8957,7 @@
sqInt totalLength1;
VM_LABEL(bytecodePrimAt);
+ objOop = 0;
result = 0;
index = longAtPointer(localSP);
rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -11577,6 +11579,7 @@
sqInt totalLength1;
VM_LABEL(bytecodePrimAt1);
+ objOop = 0;
result = 0;
index = longAtPointer(localSP);
rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -13435,6 +13438,7 @@
sqInt tagBits;
VM_LABEL(commonSendAbsentImplicit);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
localAbsentReceiver = implicitReceiverFormixinimplementing(longAt(localFP + FoxIFReceiver), methodClassOf(GIV(method)), GIV(messageSelector));
@@ -13854,6 +13858,7 @@
sqInt tagBits;
VM_LABEL(extSendAbsentDynamicSuperBytecode);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
byte = byteAtPointer(++localIP);
@@ -14433,6 +14438,7 @@
sqInt tagBits;
VM_LABEL(extSendAbsentSelfBytecode);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
byte = byteAtPointer(++localIP);
@@ -14997,6 +15003,7 @@
sqInt tagBits;
VM_LABEL(extSendAbsentOuterBytecode);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
byte = byteAtPointer(++localIP);
@@ -15775,7 +15782,7 @@
CogMethod *cogMethod;
sqInt methodField;
sqInt methodField1;
- sqInt theIP;
+ usqInt theIP;
assertl(GIV(stackPage) == (mostRecentlyUsedPage()), ln);
assertl(addressIsInPage(GIV(stackPage), lifp), ln);
@@ -20024,6 +20031,7 @@
char *savedFramePointer;
char *savedStackPointer;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
assertCStackWellAligned();
@@ -26335,6 +26343,7 @@
char *savedFramePointer;
char *savedStackPointer;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
if (recordPrimTrace()) {
@@ -30227,6 +30236,7 @@
sqInt copyHashFlag;
sqInt ec;
+ copyHashFlag = 0;
if ((longAt(GIV(stackPointer))) == GIV(trueObj)) {
copyHashFlag = 1;
}
@@ -30259,6 +30269,7 @@
sqInt reasonCode;
char *sp;
+ objOop = 0;
characterCode = longAt(GIV(stackPointer));
if (!(((characterCode & 1))
&& (((characterCode = (characterCode >> 1)),
@@ -30327,6 +30338,7 @@
sqInt stSize;
sqInt totalLength;
+ objOop = 0;
/* begin commonAt: */
/* begin initPrimCall */
GIV(primFailCode) = 0;
@@ -30739,6 +30751,7 @@
depth = 0;
extentX = 0;
extentY = 0;
+ i = 0;
maskBitsIndex = 0;
maskObj = 0;
offsetObj = 0;
@@ -31926,7 +31939,9 @@
sqInt v1;
sqInt v2;
+ midx = 0;
msecs = 0;
+ uidx = 0;
usecs = 0;
if (GIV(argumentCount) != 1) {
/* begin primitiveFail */
@@ -33171,7 +33186,7 @@
sqInt arg;
sqInt fmt;
sqInt i;
- usqInt length;
+ sqInt length;
usqInt numBytes;
usqInt numSlots;
usqInt numSlots1;
@@ -33212,18 +33227,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))))) {
@@ -33241,9 +33256,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);
@@ -37267,6 +37282,7 @@
char *sp1;
sqInt spaceOkay;
+ spaceOkay = 0;
/* Allocate a new fixed-size instance. Fail if the allocation would leave
less than lowSpaceThreshold bytes free. This *will not* cause a GC :-) */
@@ -37534,6 +37550,7 @@
sqInt spaceOkay;
sqInt value;
+ spaceOkay = 0;
/* begin positiveMachineIntegerValueOf: */
oop1 = longAt(GIV(stackPointer));
if ((oop1 & 1)) {
@@ -40386,6 +40403,7 @@
sqInt stSize;
sqInt totalLength;
+ objOop = 0;
/* begin commonAt: */
/* begin initPrimCall */
GIV(primFailCode) = 0;
@@ -45311,7 +45329,7 @@
sqInt ptr2;
sqInt slotBytes;
usqInt smallObj;
- usqInt start;
+ sqInt start;
classIndex = (long32At(aClass + 4)) & 0x3FFFFF;
if (classIndex == 0) {
@@ -48910,6 +48928,7 @@
sqInt referent2;
sqInt startOfFreeRun;
+ endOfFreeRun = 0;
startOfFreeRun = 0;
assert(!(isForwarded(GIV(nilObj))));
assert(!(isForwarded(GIV(falseObj))));
@@ -63576,6 +63595,7 @@
sqInt segAddress1;
sqInt segIndex;
+ allocatedSize = 0;
newSegIndex = 0;
null;
segAddress = sqAllocateMemorySegmentOfSizeAboveAllocatedSizeInto(ammount, firstGapOfSizeAtLeast(ammount), (&allocatedSize));
@@ -64268,7 +64288,7 @@
usqLong firstSavedBridgeWord;
sqInt nWritten;
usqInt pier1;
- usqInt pier2;
+ sqInt pier2;
usqLong secondSavedBridgeWord;
pier1 = (((segment->segSize)) + ((segment->segStart))) - (2 * BaseHeaderSize);
@@ -64618,6 +64638,7 @@
{
sqInt objOop;
+ objOop = 0;
return (CharacterTable == null
? (ascii << 2) + 2
: (/* begin fetchPointer:ofObject: */
@@ -67454,17 +67475,19 @@
{
sqInt oop;
char *ptr;
+ char * toDoLimit1;
+ char * toDoLimit2;
- for (ptr = theSP; ptr <= (frameReceiverLocation(theFP)); ptr += BytesPerWord) {
+ for (ptr = theSP, toDoLimit1 = (frameReceiverLocation(theFP)); ptr <= toDoLimit1; ptr += BytesPerWord) {
oop = longAt(ptr);
if (((oop & 3) == 0)
&& (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
longAtput(ptr, followForwarded(oop));
}
}
- for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord); ptr <= (theFP + (frameStackedReceiverOffsetNumArgs(((((usqInt)(longAt(theFP + FoxMethod)))) < (startOfMemory())
+ for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord), toDoLimit2 = (theFP + (frameStackedReceiverOffsetNumArgs(((((usqInt)(longAt(theFP + FoxMethod)))) < (startOfMemory())
? ((mframeCogMethod(theFP))->cmNumArgs)
- : byteAt((theFP + FoxIFrameFlags) + 1))))); ptr += BytesPerWord) {
+ : byteAt((theFP + FoxIFrameFlags) + 1))))); ptr <= toDoLimit2; ptr += BytesPerWord) {
oop = longAt(ptr);
if (((oop & 3) == 0)
&& (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
@@ -77525,6 +77548,8 @@
char *sp2;
sqInt successBoolean;
+ nArgs = 0;
+ nArgs1 = 0;
savedFramePointer = 0;
savedFramePointer1 = 0;
savedStackPointer = 0;
@@ -77896,6 +77921,8 @@
Fetch the first literal of the method; check its an Array of length 4.
Look at the function index in case it has been loaded before */
+ accessorDepth = 0;
+ val = 0;
if (!((((GIV(newMethod) & 3) == 0)
&& (((((usqInt) (longAt(GIV(newMethod)))) >> 24) & 0x1F) >= 24))
&& (((literalCountOfMethodHeader(methodHeaderOf(GIV(newMethod)))) > 0)
Modified: branches/Cog/nsspursrc/vm/cointerp.h
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.h 2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/vm/cointerp.h 2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
*/
Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c 2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c 2015-05-19 01:13:54 UTC (rev 3350)
@@ -2,11 +2,11 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
from
- CoInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ CoInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
*/
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -2383,7 +2383,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.1313";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1315";
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
volatile int sendTrace;
@@ -6055,6 +6055,7 @@
sqInt table;
VM_LABEL(commonSend);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
/* begin sendBreakpoint:receiver: */
@@ -8965,6 +8966,7 @@
sqInt totalLength1;
VM_LABEL(bytecodePrimAt);
+ objOop = 0;
result = 0;
index = longAtPointer(localSP);
rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -11586,6 +11588,7 @@
sqInt totalLength1;
VM_LABEL(bytecodePrimAt1);
+ objOop = 0;
result = 0;
index = longAtPointer(localSP);
rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -13444,6 +13447,7 @@
sqInt tagBits;
VM_LABEL(commonSendAbsentImplicit);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
localAbsentReceiver = implicitReceiverFormixinimplementing(longAt(localFP + FoxIFReceiver), methodClassOf(GIV(method)), GIV(messageSelector));
@@ -13863,6 +13867,7 @@
sqInt tagBits;
VM_LABEL(extSendAbsentDynamicSuperBytecode);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
byte = byteAtPointer(++localIP);
@@ -14442,6 +14447,7 @@
sqInt tagBits;
VM_LABEL(extSendAbsentSelfBytecode);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
byte = byteAtPointer(++localIP);
@@ -15006,6 +15012,7 @@
sqInt tagBits;
VM_LABEL(extSendAbsentOuterBytecode);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
byte = byteAtPointer(++localIP);
@@ -15784,7 +15791,7 @@
CogMethod *cogMethod;
sqInt methodField;
sqInt methodField1;
- sqInt theIP;
+ usqInt theIP;
assertl(GIV(stackPage) == (mostRecentlyUsedPage()), ln);
assertl(addressIsInPage(GIV(stackPage), lifp), ln);
@@ -20033,6 +20040,7 @@
char *savedFramePointer;
char *savedStackPointer;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
assertCStackWellAligned();
@@ -26344,6 +26352,7 @@
char *savedFramePointer;
char *savedStackPointer;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
if (recordPrimTrace()) {
@@ -30236,6 +30245,7 @@
sqInt copyHashFlag;
sqInt ec;
+ copyHashFlag = 0;
if ((longAt(GIV(stackPointer))) == GIV(trueObj)) {
copyHashFlag = 1;
}
@@ -30268,6 +30278,7 @@
sqInt reasonCode;
char *sp;
+ objOop = 0;
characterCode = longAt(GIV(stackPointer));
if (!(((characterCode & 1))
&& (((characterCode = (characterCode >> 1)),
@@ -30336,6 +30347,7 @@
sqInt stSize;
sqInt totalLength;
+ objOop = 0;
/* begin commonAt: */
/* begin initPrimCall */
GIV(primFailCode) = 0;
@@ -30748,6 +30760,7 @@
depth = 0;
extentX = 0;
extentY = 0;
+ i = 0;
maskBitsIndex = 0;
maskObj = 0;
offsetObj = 0;
@@ -31935,7 +31948,9 @@
sqInt v1;
sqInt v2;
+ midx = 0;
msecs = 0;
+ uidx = 0;
usecs = 0;
if (GIV(argumentCount) != 1) {
/* begin primitiveFail */
@@ -33180,7 +33195,7 @@
sqInt arg;
sqInt fmt;
sqInt i;
- usqInt length;
+ sqInt length;
usqInt numBytes;
usqInt numSlots;
usqInt numSlots1;
@@ -33221,18 +33236,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))))) {
@@ -33250,9 +33265,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);
@@ -37276,6 +37291,7 @@
char *sp1;
sqInt spaceOkay;
+ spaceOkay = 0;
/* Allocate a new fixed-size instance. Fail if the allocation would leave
less than lowSpaceThreshold bytes free. This *will not* cause a GC :-) */
@@ -37543,6 +37559,7 @@
sqInt spaceOkay;
sqInt value;
+ spaceOkay = 0;
/* begin positiveMachineIntegerValueOf: */
oop1 = longAt(GIV(stackPointer));
if ((oop1 & 1)) {
@@ -40395,6 +40412,7 @@
sqInt stSize;
sqInt totalLength;
+ objOop = 0;
/* begin commonAt: */
/* begin initPrimCall */
GIV(primFailCode) = 0;
@@ -45320,7 +45338,7 @@
sqInt ptr2;
sqInt slotBytes;
usqInt smallObj;
- usqInt start;
+ sqInt start;
classIndex = (long32At(aClass + 4)) & 0x3FFFFF;
if (classIndex == 0) {
@@ -48919,6 +48937,7 @@
sqInt referent2;
sqInt startOfFreeRun;
+ endOfFreeRun = 0;
startOfFreeRun = 0;
assert(!(isForwarded(GIV(nilObj))));
assert(!(isForwarded(GIV(falseObj))));
@@ -63585,6 +63604,7 @@
sqInt segAddress1;
sqInt segIndex;
+ allocatedSize = 0;
newSegIndex = 0;
null;
segAddress = sqAllocateMemorySegmentOfSizeAboveAllocatedSizeInto(ammount, firstGapOfSizeAtLeast(ammount), (&allocatedSize));
@@ -64277,7 +64297,7 @@
usqLong firstSavedBridgeWord;
sqInt nWritten;
usqInt pier1;
- usqInt pier2;
+ sqInt pier2;
usqLong secondSavedBridgeWord;
pier1 = (((segment->segSize)) + ((segment->segStart))) - (2 * BaseHeaderSize);
@@ -64627,6 +64647,7 @@
{
sqInt objOop;
+ objOop = 0;
return (CharacterTable == null
? (ascii << 2) + 2
: (/* begin fetchPointer:ofObject: */
@@ -67463,17 +67484,19 @@
{
sqInt oop;
char *ptr;
+ char * toDoLimit1;
+ char * toDoLimit2;
- for (ptr = theSP; ptr <= (frameReceiverLocation(theFP)); ptr += BytesPerWord) {
+ for (ptr = theSP, toDoLimit1 = (frameReceiverLocation(theFP)); ptr <= toDoLimit1; ptr += BytesPerWord) {
oop = longAt(ptr);
if (((oop & 3) == 0)
&& (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
longAtput(ptr, followForwarded(oop));
}
}
- for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord); ptr <= (theFP + (frameStackedReceiverOffsetNumArgs(((((usqInt)(longAt(theFP + FoxMethod)))) < (startOfMemory())
+ for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord), toDoLimit2 = (theFP + (frameStackedReceiverOffsetNumArgs(((((usqInt)(longAt(theFP + FoxMethod)))) < (startOfMemory())
? ((mframeCogMethod(theFP))->cmNumArgs)
- : byteAt((theFP + FoxIFrameFlags) + 1))))); ptr += BytesPerWord) {
+ : byteAt((theFP + FoxIFrameFlags) + 1))))); ptr <= toDoLimit2; ptr += BytesPerWord) {
oop = longAt(ptr);
if (((oop & 3) == 0)
&& (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
@@ -77534,6 +77557,8 @@
char *sp2;
sqInt successBoolean;
+ nArgs = 0;
+ nArgs1 = 0;
savedFramePointer = 0;
savedFramePointer1 = 0;
savedStackPointer = 0;
@@ -77905,6 +77930,8 @@
Fetch the first literal of the method; check its an Array of length 4.
Look at the function index in case it has been loaded before */
+ accessorDepth = 0;
+ val = 0;
if (!((((GIV(newMethod) & 3) == 0)
&& (((((usqInt) (longAt(GIV(newMethod)))) >> 24) & 0x1F) >= 24))
&& (((literalCountOfMethodHeader(methodHeaderOf(GIV(newMethod)))) > 0)
Modified: branches/Cog/nsspurstack64src/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstack64src/vm/gcc3x-interp.c 2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspurstack64src/vm/gcc3x-interp.c 2015-05-19 01:13:54 UTC (rev 3350)
@@ -2,11 +2,11 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
from
- StackInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ StackInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
*/
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __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.1313";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1315";
volatile int sendTrace;
sqInt suppressHeartbeatFlag;
@@ -5716,6 +5716,7 @@
sqInt table;
VM_LABEL(commonSend);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
/* begin sendBreakpoint:receiver: */
@@ -8764,6 +8765,7 @@
sqInt totalLength1;
VM_LABEL(bytecodePrimAt);
+ objOop = 0;
result = 0;
index = longAtPointer(localSP);
rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -11682,6 +11684,7 @@
sqInt totalLength1;
VM_LABEL(bytecodePrimAt1);
+ objOop = 0;
result = 0;
index = longAtPointer(localSP);
rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -13458,6 +13461,7 @@
sqInt wrapAround;
VM_LABEL(commonSendAbsentImplicit);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
/* begin implicitReceiverFor:mixin:implementing: */
@@ -13911,6 +13915,7 @@
sqInt tagBits;
VM_LABEL(extSendAbsentDynamicSuperBytecode);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
byte = byteAtPointer(++localIP);
@@ -14330,6 +14335,7 @@
sqInt tagBits;
VM_LABEL(extSendAbsentSelfBytecode);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
byte = byteAtPointer(++localIP);
@@ -14753,6 +14759,7 @@
sqInt tagBits;
VM_LABEL(extSendAbsentOuterBytecode);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
byte = byteAtPointer(++localIP);
@@ -15824,6 +15831,7 @@
sqInt copyHashFlag;
sqInt ec;
+ copyHashFlag = 0;
if ((longAt(GIV(stackPointer))) == GIV(trueObj)) {
copyHashFlag = 1;
}
@@ -15856,6 +15864,7 @@
sqInt reasonCode;
char *sp;
+ objOop = 0;
characterCode = longAt(GIV(stackPointer));
if (!(((((characterCode) & 7) == 1))
&& (((characterCode = (characterCode >> 3)),
@@ -15920,6 +15929,7 @@
sqInt stSize;
sqInt totalLength;
+ objOop = 0;
/* begin commonAt: */
/* begin initPrimCall */
GIV(primFailCode) = 0;
@@ -16285,6 +16295,7 @@
depth = 0;
extentX = 0;
extentY = 0;
+ i = 0;
maskBitsIndex = 0;
maskObj = 0;
offsetObj = 0;
@@ -17237,7 +17248,9 @@
sqInt v1;
sqInt v2;
+ midx = 0;
msecs = 0;
+ uidx = 0;
usecs = 0;
if (GIV(argumentCount) != 1) {
/* begin primitiveFail */
@@ -21389,6 +21402,7 @@
sqInt top1;
sqInt valuePointer;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
/* begin eeInstantiateClassIndex:format:numSlots: */
@@ -22501,6 +22515,7 @@
char *sp1;
sqInt spaceOkay;
+ spaceOkay = 0;
/* Allocate a new fixed-size instance. Fail if the allocation would leave
less than lowSpaceThreshold bytes free. This *will not* cause a GC :-) */
@@ -22770,6 +22785,7 @@
sqInt spaceOkay;
sqInt value;
+ spaceOkay = 0;
/* begin positiveMachineIntegerValueOf: */
oop1 = longAt(GIV(stackPointer));
if ((((oop1) & 7) == 1)) {
@@ -23628,6 +23644,7 @@
sqInt tagBits2;
sqInt top;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
lookupClass = longAt(GIV(stackPointer));
@@ -23905,6 +23922,7 @@
sqInt tagBits1;
sqInt top;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
/* begin primitiveObject:perform:withArguments:lookedUpIn: */
@@ -27068,6 +27086,7 @@
sqInt stSize;
sqInt totalLength;
+ objOop = 0;
/* begin commonAt: */
/* begin initPrimCall */
GIV(primFailCode) = 0;
@@ -36764,6 +36783,7 @@
sqInt slotBytes2;
sqInt startOfFreeRun;
+ endOfFreeRun = 0;
startOfFreeRun = 0;
assert(!(isForwarded(GIV(nilObj))));
assert(!(isForwarded(GIV(falseObj))));
@@ -53189,6 +53209,7 @@
sqInt segAddress1;
sqInt segIndex;
+ allocatedSize = 0;
newSegIndex = 0;
null;
segAddress = sqAllocateMemorySegmentOfSizeAboveAllocatedSizeInto(ammount, firstGapOfSizeAtLeast(ammount), (&allocatedSize));
@@ -54395,6 +54416,7 @@
{
sqInt objOop;
+ objOop = 0;
return (CharacterTable == null
? (((long)ascii) << 3) + 2
: (/* begin fetchPointer:ofObject: */
@@ -57606,15 +57628,17 @@
{
sqInt oop;
char *ptr;
+ char * toDoLimit1;
+ char * toDoLimit2;
- for (ptr = theSP; ptr <= (frameReceiverLocation(theFP)); ptr += BytesPerWord) {
+ for (ptr = theSP, toDoLimit1 = (frameReceiverLocation(theFP)); ptr <= toDoLimit1; ptr += BytesPerWord) {
oop = longAt(ptr);
if (((oop & 7) == 0)
&& (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
longAtput(ptr, followForwarded(oop));
}
}
- for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord); ptr <= (theFP + ((FoxCallerSavedIP + BytesPerWord) + (((long)(byteAt((theFP + FoxFrameFlags) + 1))) << (shiftForWord())))); ptr += BytesPerWord) {
+ for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord), toDoLimit2 = (theFP + ((FoxCallerSavedIP + BytesPerWord) + (((long)(byteAt((theFP + FoxFrameFlags) + 1))) << (shiftForWord())))); ptr <= toDoLimit2; ptr += BytesPerWord) {
oop = longAt(ptr);
if (((oop & 7) == 0)
&& (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
@@ -71034,6 +71058,8 @@
char *sp2;
sqInt successBoolean;
+ nArgs = 0;
+ nArgs1 = 0;
savedFramePointer = 0;
savedFramePointer1 = 0;
savedStackPointer = 0;
@@ -71207,6 +71233,7 @@
sqInt table;
sqInt top;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
methodArgument = longAt(GIV(stackPointer));
@@ -71400,6 +71427,7 @@
char *sp7;
sqInt table;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
methodArgument = longAt(GIV(stackPointer));
@@ -71631,6 +71659,8 @@
Fetch the first literal of the method; check its an Array of length 4.
Look at the function index in case it has been loaded before */
+ accessorDepth = 0;
+ val = 0;
if (!((((GIV(newMethod) & 7) == 0)
&& (((((usqInt) (longAt(GIV(newMethod)))) >> 24) & 0x1F) >= 24))
&& (((literalCountOfMethodHeader(methodHeaderOf(GIV(newMethod)))) > 0)
@@ -72665,6 +72695,7 @@
sqInt table;
sqInt tagBits;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
performMethod = GIV(newMethod);
Modified: branches/Cog/nsspurstack64src/vm/interp.c
===================================================================
--- branches/Cog/nsspurstack64src/vm/interp.c 2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspurstack64src/vm/interp.c 2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
from
- StackInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ StackInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
*/
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __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.1313";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1315";
volatile int sendTrace;
sqInt suppressHeartbeatFlag;
@@ -5707,6 +5707,7 @@
sqInt table;
VM_LABEL(commonSend);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
/* begin sendBreakpoint:receiver: */
@@ -8755,6 +8756,7 @@
sqInt totalLength1;
VM_LABEL(bytecodePrimAt);
+ objOop = 0;
result = 0;
index = longAtPointer(localSP);
rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -11673,6 +11675,7 @@
sqInt totalLength1;
VM_LABEL(bytecodePrimAt1);
+ objOop = 0;
result = 0;
index = longAtPointer(localSP);
rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -13449,6 +13452,7 @@
sqInt wrapAround;
VM_LABEL(commonSendAbsentImplicit);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
/* begin implicitReceiverFor:mixin:implementing: */
@@ -13902,6 +13906,7 @@
sqInt tagBits;
VM_LABEL(extSendAbsentDynamicSuperBytecode);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
byte = byteAtPointer(++localIP);
@@ -14321,6 +14326,7 @@
sqInt tagBits;
VM_LABEL(extSendAbsentSelfBytecode);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
byte = byteAtPointer(++localIP);
@@ -14744,6 +14750,7 @@
sqInt tagBits;
VM_LABEL(extSendAbsentOuterBytecode);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
byte = byteAtPointer(++localIP);
@@ -15815,6 +15822,7 @@
sqInt copyHashFlag;
sqInt ec;
+ copyHashFlag = 0;
if ((longAt(GIV(stackPointer))) == GIV(trueObj)) {
copyHashFlag = 1;
}
@@ -15847,6 +15855,7 @@
sqInt reasonCode;
char *sp;
+ objOop = 0;
characterCode = longAt(GIV(stackPointer));
if (!(((((characterCode) & 7) == 1))
&& (((characterCode = (characterCode >> 3)),
@@ -15911,6 +15920,7 @@
sqInt stSize;
sqInt totalLength;
+ objOop = 0;
/* begin commonAt: */
/* begin initPrimCall */
GIV(primFailCode) = 0;
@@ -16276,6 +16286,7 @@
depth = 0;
extentX = 0;
extentY = 0;
+ i = 0;
maskBitsIndex = 0;
maskObj = 0;
offsetObj = 0;
@@ -17228,7 +17239,9 @@
sqInt v1;
sqInt v2;
+ midx = 0;
msecs = 0;
+ uidx = 0;
usecs = 0;
if (GIV(argumentCount) != 1) {
/* begin primitiveFail */
@@ -21380,6 +21393,7 @@
sqInt top1;
sqInt valuePointer;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
/* begin eeInstantiateClassIndex:format:numSlots: */
@@ -22492,6 +22506,7 @@
char *sp1;
sqInt spaceOkay;
+ spaceOkay = 0;
/* Allocate a new fixed-size instance. Fail if the allocation would leave
less than lowSpaceThreshold bytes free. This *will not* cause a GC :-) */
@@ -22761,6 +22776,7 @@
sqInt spaceOkay;
sqInt value;
+ spaceOkay = 0;
/* begin positiveMachineIntegerValueOf: */
oop1 = longAt(GIV(stackPointer));
if ((((oop1) & 7) == 1)) {
@@ -23619,6 +23635,7 @@
sqInt tagBits2;
sqInt top;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
lookupClass = longAt(GIV(stackPointer));
@@ -23896,6 +23913,7 @@
sqInt tagBits1;
sqInt top;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
/* begin primitiveObject:perform:withArguments:lookedUpIn: */
@@ -27059,6 +27077,7 @@
sqInt stSize;
sqInt totalLength;
+ objOop = 0;
/* begin commonAt: */
/* begin initPrimCall */
GIV(primFailCode) = 0;
@@ -36755,6 +36774,7 @@
sqInt slotBytes2;
sqInt startOfFreeRun;
+ endOfFreeRun = 0;
startOfFreeRun = 0;
assert(!(isForwarded(GIV(nilObj))));
assert(!(isForwarded(GIV(falseObj))));
@@ -53180,6 +53200,7 @@
sqInt segAddress1;
sqInt segIndex;
+ allocatedSize = 0;
newSegIndex = 0;
null;
segAddress = sqAllocateMemorySegmentOfSizeAboveAllocatedSizeInto(ammount, firstGapOfSizeAtLeast(ammount), (&allocatedSize));
@@ -54386,6 +54407,7 @@
{
sqInt objOop;
+ objOop = 0;
return (CharacterTable == null
? (((long)ascii) << 3) + 2
: (/* begin fetchPointer:ofObject: */
@@ -57597,15 +57619,17 @@
{
sqInt oop;
char *ptr;
+ char * toDoLimit1;
+ char * toDoLimit2;
- for (ptr = theSP; ptr <= (frameReceiverLocation(theFP)); ptr += BytesPerWord) {
+ for (ptr = theSP, toDoLimit1 = (frameReceiverLocation(theFP)); ptr <= toDoLimit1; ptr += BytesPerWord) {
oop = longAt(ptr);
if (((oop & 7) == 0)
&& (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
longAtput(ptr, followForwarded(oop));
}
}
- for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord); ptr <= (theFP + ((FoxCallerSavedIP + BytesPerWord) + (((long)(byteAt((theFP + FoxFrameFlags) + 1))) << (shiftForWord())))); ptr += BytesPerWord) {
+ for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord), toDoLimit2 = (theFP + ((FoxCallerSavedIP + BytesPerWord) + (((long)(byteAt((theFP + FoxFrameFlags) + 1))) << (shiftForWord())))); ptr <= toDoLimit2; ptr += BytesPerWord) {
oop = longAt(ptr);
if (((oop & 7) == 0)
&& (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
@@ -71025,6 +71049,8 @@
char *sp2;
sqInt successBoolean;
+ nArgs = 0;
+ nArgs1 = 0;
savedFramePointer = 0;
savedFramePointer1 = 0;
savedStackPointer = 0;
@@ -71198,6 +71224,7 @@
sqInt table;
sqInt top;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
methodArgument = longAt(GIV(stackPointer));
@@ -71391,6 +71418,7 @@
char *sp7;
sqInt table;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
methodArgument = longAt(GIV(stackPointer));
@@ -71622,6 +71650,8 @@
Fetch the first literal of the method; check its an Array of length 4.
Look at the function index in case it has been loaded before */
+ accessorDepth = 0;
+ val = 0;
if (!((((GIV(newMethod) & 7) == 0)
&& (((((usqInt) (longAt(GIV(newMethod)))) >> 24) & 0x1F) >= 24))
&& (((literalCountOfMethodHeader(methodHeaderOf(GIV(newMethod)))) > 0)
@@ -72656,6 +72686,7 @@
sqInt table;
sqInt tagBits;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
performMethod = GIV(newMethod);
Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c 2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c 2015-05-19 01:13:54 UTC (rev 3350)
@@ -2,11 +2,11 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
from
- StackInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+ StackInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
*/
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __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.1313";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1315";
volatile int sendTrace;
sqInt suppressHeartbeatFlag;
@@ -5689,6 +5689,7 @@
sqInt table;
VM_LABEL(commonSend);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
/* begin sendBreakpoint:receiver: */
@@ -8365,6 +8366,7 @@
sqInt totalLength1;
VM_LABEL(bytecodePrimAt);
+ objOop = 0;
result = 0;
index = longAtPointer(localSP);
rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -10964,6 +10966,7 @@
sqInt totalLength1;
VM_LABEL(bytecodePrimAt1);
+ objOop = 0;
result = 0;
index = longAtPointer(localSP);
rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -12789,6 +12792,7 @@
sqInt wrapAround;
VM_LABEL(commonSendAbsentImplicit);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
/* begin implicitReceiverFor:mixin:implementing: */
@@ -13246,6 +13250,7 @@
sqInt tagBits;
VM_LABEL(extSendAbsentDynamicSuperBytecode);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
byte = byteAtPointer(++localIP);
@@ -13665,6 +13670,7 @@
sqInt tagBits;
VM_LABEL(extSendAbsentSelfBytecode);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
byte = byteAtPointer(++localIP);
@@ -14090,6 +14096,7 @@
sqInt tagBits;
VM_LABEL(extSendAbsentOuterBytecode);
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
byte = byteAtPointer(++localIP);
@@ -15199,6 +15206,7 @@
sqInt copyHashFlag;
sqInt ec;
+ copyHashFlag = 0;
if ((longAt(GIV(stackPointer))) == GIV(trueObj)) {
copyHashFlag = 1;
}
@@ -15231,6 +15239,7 @@
sqInt reasonCode;
char *sp;
+ objOop = 0;
characterCode = longAt(GIV(stackPointer));
if (!(((characterCode & 1))
&& (((characterCode = (characterCode >> 1)),
@@ -15299,6 +15308,7 @@
sqInt stSize;
sqInt totalLength;
+ objOop = 0;
/* begin commonAt: */
/* begin initPrimCall */
GIV(primFailCode) = 0;
@@ -15711,6 +15721,7 @@
depth = 0;
extentX = 0;
extentY = 0;
+ i = 0;
maskBitsIndex = 0;
maskObj = 0;
offsetObj = 0;
@@ -16898,7 +16909,9 @@
sqInt v1;
sqInt v2;
+ midx = 0;
msecs = 0;
+ uidx = 0;
usecs = 0;
if (GIV(argumentCount) != 1) {
/* begin primitiveFail */
@@ -20905,6 +20918,7 @@
sqInt top1;
sqInt valuePointer;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
/* begin eeInstantiateClassIndex:format:numSlots: */
@@ -22037,6 +22051,7 @@
char *sp1;
sqInt spaceOkay;
+ spaceOkay = 0;
/* Allocate a new fixed-size instance. Fail if the allocation would leave
less than lowSpaceThreshold bytes free. This *will not* cause a GC :-) */
@@ -22304,6 +22319,7 @@
sqInt spaceOkay;
sqInt value;
+ spaceOkay = 0;
/* begin positiveMachineIntegerValueOf: */
oop1 = longAt(GIV(stackPointer));
if ((oop1 & 1)) {
@@ -23071,6 +23087,7 @@
sqInt tagBits2;
sqInt top;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
lookupClass = longAt(GIV(stackPointer));
@@ -23350,6 +23367,7 @@
sqInt tagBits1;
sqInt top;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
/* begin primitiveObject:perform:withArguments:lookedUpIn: */
@@ -25575,6 +25593,7 @@
sqInt stSize;
sqInt totalLength;
+ objOop = 0;
/* begin commonAt: */
/* begin initPrimCall */
GIV(primFailCode) = 0;
@@ -34380,6 +34399,7 @@
sqInt referent2;
sqInt startOfFreeRun;
+ endOfFreeRun = 0;
startOfFreeRun = 0;
assert(!(isForwarded(GIV(nilObj))));
assert(!(isForwarded(GIV(falseObj))));
@@ -48829,6 +48849,7 @@
sqInt segAddress1;
sqInt segIndex;
+ allocatedSize = 0;
newSegIndex = 0;
null;
segAddress = sqAllocateMemorySegmentOfSizeAboveAllocatedSizeInto(ammount, firstGapOfSizeAtLeast(ammount), (&allocatedSize));
@@ -50005,6 +50026,7 @@
{
sqInt objOop;
+ objOop = 0;
return (CharacterTable == null
? (ascii << 2) + 2
: (/* begin fetchPointer:ofObject: */
@@ -52989,15 +53011,17 @@
{
sqInt oop;
char *ptr;
+ char * toDoLimit1;
+ char * toDoLimit2;
- for (ptr = theSP; ptr <= (frameReceiverLocation(theFP)); ptr += BytesPerWord) {
+ for (ptr = theSP, toDoLimit1 = (frameReceiverLocation(theFP)); ptr <= toDoLimit1; ptr += BytesPerWord) {
oop = longAt(ptr);
if (((oop & 3) == 0)
&& (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
longAtput(ptr, followForwarded(oop));
}
}
- for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord); ptr <= (theFP + ((FoxCallerSavedIP + BytesPerWord) + ((byteAt((theFP + FoxFrameFlags) + 1)) << (shiftForWord())))); ptr += BytesPerWord) {
+ for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord), toDoLimit2 = (theFP + ((FoxCallerSavedIP + BytesPerWord) + ((byteAt((theFP + FoxFrameFlags) + 1)) << (shiftForWord())))); ptr <= toDoLimit2; ptr += BytesPerWord) {
oop = longAt(ptr);
if (((oop & 3) == 0)
&& (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
@@ -66898,6 +66922,8 @@
char *sp2;
sqInt successBoolean;
+ nArgs = 0;
+ nArgs1 = 0;
savedFramePointer = 0;
savedFramePointer1 = 0;
savedStackPointer = 0;
@@ -67071,6 +67097,7 @@
sqInt table;
sqInt top;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
methodArgument = longAt(GIV(stackPointer));
@@ -67264,6 +67291,7 @@
char *sp7;
sqInt table;
+ nArgs = 0;
savedFramePointer = 0;
savedStackPointer = 0;
methodArgument = longAt(GIV(stackPointer));
@@ -67495,6 +67523,8 @@
@@ Diff output truncated at 50000 characters. @@
More information about the Vm-dev
mailing list