[Vm-dev] [commit][3424] CogVM source as per VMMaker.oscog-eem.1436
commits at squeakvm.org
commits at squeakvm.org
Tue Aug 18 03:53:09 UTC 2015
Revision: 3424
Author: eliot
Date: 2015-08-17 20:53:06 -0700 (Mon, 17 Aug 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1436
Fix the bug introduced by the fix to primitive function invocation in
VMMaker.oscog-eem.1351 The fix correctly changd primitjve code to set the
primitiveFunctionPointer appropriately when a jitted external primitive was
rebound, but it didn't remember to void the jit's record of the offset of the
assignment that sets the primitiveFunctionPointer when switching between
profiling andf non-profiling regimes, so that the address from the wrong regime
would remain and be used to smash prmitive code. The fix is simply to void the
externalSetPrimOffsets in voidCogCompiledCode.
This fixes the bug whose symptom is a hard VM crash when using
AndreasSystemProfilier.
Modified Paths:
--------------
branches/Cog/nsspursrc/vm/cogit.h
branches/Cog/nsspursrc/vm/cogitARMv5.c
branches/Cog/nsspursrc/vm/cogitIA32.c
branches/Cog/spursistasrc/vm/cogit.h
branches/Cog/spursistasrc/vm/cogitARMv5.c
branches/Cog/spursistasrc/vm/cogitIA32.c
branches/Cog/spursrc/vm/cogit.h
branches/Cog/spursrc/vm/cogitARMv5.c
branches/Cog/spursrc/vm/cogitIA32.c
branches/Cog/src/vm/cogit.h
branches/Cog/src/vm/cogitARMv5.c
branches/Cog/src/vm/cogitIA32.c
Property Changed:
----------------
branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h 2015-08-18 00:29:33 UTC (rev 3423)
+++ branches/Cog/nsspursrc/vm/cogit.h 2015-08-18 03:53:06 UTC (rev 3424)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1435 uuid: 114c4214-dede-4f25-9bbb-c912623d0ef4
+ CCodeGenerator VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
*/
Modified: branches/Cog/nsspursrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitARMv5.c 2015-08-18 00:29:33 UTC (rev 3423)
+++ branches/Cog/nsspursrc/vm/cogitARMv5.c 2015-08-18 03:53:06 UTC (rev 3424)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ CCodeGenerator VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -22936,6 +22936,7 @@
for (i = 0; i <= MaxNumArgs; i += 1) {
externalPrimJumpOffsets[i] = null;
externalPrimCallOffsets[i] = null;
+ externalSetPrimOffsets[i] = null;
}
}
Modified: branches/Cog/nsspursrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitIA32.c 2015-08-18 00:29:33 UTC (rev 3423)
+++ branches/Cog/nsspursrc/vm/cogitIA32.c 2015-08-18 03:53:06 UTC (rev 3424)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ CCodeGenerator VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -9991,12 +9991,12 @@
generateMapAtstart(sqInt addressOrNull, sqInt startAddress)
{
unsigned char annotation;
- sqInt delta;
+ usqInt delta;
sqInt i;
AbstractInstruction *instruction;
sqInt length;
- sqInt location;
- sqInt mapEntry;
+ usqInt location;
+ usqInt mapEntry;
sqInt maxDelta;
usqInt mcpc;
@@ -22440,6 +22440,7 @@
for (i = 0; i <= MaxNumArgs; i += 1) {
externalPrimJumpOffsets[i] = null;
externalPrimCallOffsets[i] = null;
+ externalSetPrimOffsets[i] = null;
}
}
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
- Mon Aug 17 17:26:28 PDT 2015
+ Mon Aug 17 20:52:15 PDT 2015
Modified: branches/Cog/spursistasrc/vm/cogit.h
===================================================================
--- branches/Cog/spursistasrc/vm/cogit.h 2015-08-18 00:29:33 UTC (rev 3423)
+++ branches/Cog/spursistasrc/vm/cogit.h 2015-08-18 03:53:06 UTC (rev 3424)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1435 uuid: 114c4214-dede-4f25-9bbb-c912623d0ef4
+ CCodeGenerator VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
*/
Modified: branches/Cog/spursistasrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/spursistasrc/vm/cogitARMv5.c 2015-08-18 00:29:33 UTC (rev 3423)
+++ branches/Cog/spursistasrc/vm/cogitARMv5.c 2015-08-18 03:53:06 UTC (rev 3424)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ CCodeGenerator VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
from
- SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
*/
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7 " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -9814,7 +9814,7 @@
{
sqInt classIndex;
sqInt i;
- usqInt pc;
+ sqInt pc;
pc = (((((usqInt)cPIC)) + firstCPICCaseOffset) + cPICCaseSize) - (jumpLongConditionalByteSize(backEnd));
for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
@@ -10736,12 +10736,12 @@
generateMapAtstart(sqInt addressOrNull, sqInt startAddress)
{
unsigned char annotation;
- usqInt delta;
+ sqInt delta;
sqInt i;
AbstractInstruction *instruction;
sqInt length;
- usqInt location;
- usqInt mapEntry;
+ sqInt location;
+ sqInt mapEntry;
sqInt maxDelta;
usqInt mcpc;
@@ -21943,6 +21943,7 @@
for (i = 0; i <= MaxNumArgs; i += 1) {
externalPrimJumpOffsets[i] = null;
externalPrimCallOffsets[i] = null;
+ externalSetPrimOffsets[i] = null;
}
}
Modified: branches/Cog/spursistasrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/spursistasrc/vm/cogitIA32.c 2015-08-18 00:29:33 UTC (rev 3423)
+++ branches/Cog/spursistasrc/vm/cogitIA32.c 2015-08-18 03:53:06 UTC (rev 3424)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ CCodeGenerator VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
from
- SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
*/
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7 " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -21301,6 +21301,7 @@
for (i = 0; i <= MaxNumArgs; i += 1) {
externalPrimJumpOffsets[i] = null;
externalPrimCallOffsets[i] = null;
+ externalSetPrimOffsets[i] = null;
}
}
Modified: branches/Cog/spursrc/vm/cogit.h
===================================================================
--- branches/Cog/spursrc/vm/cogit.h 2015-08-18 00:29:33 UTC (rev 3423)
+++ branches/Cog/spursrc/vm/cogit.h 2015-08-18 03:53:06 UTC (rev 3424)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1435 uuid: 114c4214-dede-4f25-9bbb-c912623d0ef4
+ CCodeGenerator VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
*/
Modified: branches/Cog/spursrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/spursrc/vm/cogitARMv5.c 2015-08-18 00:29:33 UTC (rev 3423)
+++ branches/Cog/spursrc/vm/cogitARMv5.c 2015-08-18 03:53:06 UTC (rev 3424)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ CCodeGenerator VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -9438,7 +9438,7 @@
{
sqInt classIndex;
sqInt i;
- sqInt pc;
+ usqInt pc;
pc = (((((usqInt)cPIC)) + firstCPICCaseOffset) + cPICCaseSize) - (jumpLongConditionalByteSize(backEnd));
for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
@@ -10385,12 +10385,12 @@
generateMapAtstart(sqInt addressOrNull, sqInt startAddress)
{
unsigned char annotation;
- sqInt delta;
+ usqInt delta;
sqInt i;
AbstractInstruction *instruction;
sqInt length;
- sqInt location;
- sqInt mapEntry;
+ usqInt location;
+ usqInt mapEntry;
sqInt maxDelta;
usqInt mcpc;
@@ -20677,6 +20677,7 @@
for (i = 0; i <= MaxNumArgs; i += 1) {
externalPrimJumpOffsets[i] = null;
externalPrimCallOffsets[i] = null;
+ externalSetPrimOffsets[i] = null;
}
}
Modified: branches/Cog/spursrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/spursrc/vm/cogitIA32.c 2015-08-18 00:29:33 UTC (rev 3423)
+++ branches/Cog/spursrc/vm/cogitIA32.c 2015-08-18 03:53:06 UTC (rev 3424)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ CCodeGenerator VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -9495,12 +9495,12 @@
generateMapAtstart(sqInt addressOrNull, sqInt startAddress)
{
unsigned char annotation;
- sqInt delta;
+ usqInt delta;
sqInt i;
AbstractInstruction *instruction;
sqInt length;
- sqInt location;
- sqInt mapEntry;
+ usqInt location;
+ usqInt mapEntry;
sqInt maxDelta;
usqInt mcpc;
@@ -20002,6 +20002,7 @@
for (i = 0; i <= MaxNumArgs; i += 1) {
externalPrimJumpOffsets[i] = null;
externalPrimCallOffsets[i] = null;
+ externalSetPrimOffsets[i] = null;
}
}
Modified: branches/Cog/src/vm/cogit.h
===================================================================
--- branches/Cog/src/vm/cogit.h 2015-08-18 00:29:33 UTC (rev 3423)
+++ branches/Cog/src/vm/cogit.h 2015-08-18 03:53:06 UTC (rev 3424)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1435 uuid: 114c4214-dede-4f25-9bbb-c912623d0ef4
+ CCodeGenerator VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
*/
Modified: branches/Cog/src/vm/cogitARMv5.c
===================================================================
--- branches/Cog/src/vm/cogitARMv5.c 2015-08-18 00:29:33 UTC (rev 3423)
+++ branches/Cog/src/vm/cogitARMv5.c 2015-08-18 03:53:06 UTC (rev 3424)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ CCodeGenerator VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -10181,12 +10181,12 @@
generateMapAtstart(sqInt addressOrNull, sqInt startAddress)
{
unsigned char annotation;
- sqInt delta;
+ usqInt delta;
sqInt i;
AbstractInstruction *instruction;
sqInt length;
- sqInt location;
- sqInt mapEntry;
+ usqInt location;
+ usqInt mapEntry;
sqInt maxDelta;
usqInt mcpc;
@@ -18686,6 +18686,7 @@
for (i = 0; i <= MaxNumArgs; i += 1) {
externalPrimJumpOffsets[i] = null;
externalPrimCallOffsets[i] = null;
+ externalSetPrimOffsets[i] = null;
}
}
Modified: branches/Cog/src/vm/cogitIA32.c
===================================================================
--- branches/Cog/src/vm/cogitIA32.c 2015-08-18 00:29:33 UTC (rev 3423)
+++ branches/Cog/src/vm/cogitIA32.c 2015-08-18 03:53:06 UTC (rev 3424)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ CCodeGenerator VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1432 uuid: 926b6e9a-689f-411b-8b70-baa322cf73e7 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1436 uuid: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -17686,6 +17686,7 @@
for (i = 0; i <= MaxNumArgs; i += 1) {
externalPrimJumpOffsets[i] = null;
externalPrimCallOffsets[i] = null;
+ externalSetPrimOffsets[i] = null;
}
}
More information about the Vm-dev
mailing list