[Vm-dev] [commit] r2503 - Filter-out attempts to create MNU pics
with new selectors. Fixes
commits at squeakvm.org
commits at squeakvm.org
Tue Oct 25 18:52:30 UTC 2011
Author: eliot
Date: 2011-10-25 11:52:29 -0700 (Tue, 25 Oct 2011)
New Revision: 2503
Modified:
branches/Cog/nscogsrc/vm/cogit.c
branches/Cog/nscogsrc/vm/cogit.h
branches/Cog/nscogsrc/vm/cogmethod.h
branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
branches/Cog/src/vm/cogit.c
branches/Cog/src/vm/cogit.h
branches/Cog/src/vm/cogmethod.h
Log:
Filter-out attempts to create MNU pics with new selectors. Fixes
Stephane Rollandin's crash of 21/10/2011:
[((Compiler new evaluate: ('Beuh' ifNuk: [yo]))
on: Error
do: [:ex | ex description]) printString] fork
Modified: branches/Cog/nscogsrc/vm/cogit.c
===================================================================
--- branches/Cog/nscogsrc/vm/cogit.c 2011-10-19 18:52:10 UTC (rev 2502)
+++ branches/Cog/nscogsrc/vm/cogit.c 2011-10-25 18:52:29 UTC (rev 2503)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.134 uuid: a0d46c48-3d9a-43f9-a769-51f31ce120e9
+ CCodeGenerator VMMaker.oscog-eem.135 uuid: 1c85e5ef-0fe8-4a1e-9421-ff0d53845fba
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.134 uuid: a0d46c48-3d9a-43f9-a769-51f31ce120e9
+ StackToRegisterMappingCogit VMMaker.oscog-eem.135 uuid: 1c85e5ef-0fe8-4a1e-9421-ff0d53845fba
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.134 uuid: a0d46c48-3d9a-43f9-a769-51f31ce120e9 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.135 uuid: 1c85e5ef-0fe8-4a1e-9421-ff0d53845fba " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -184,7 +184,7 @@
#define ECX 1
#define EDI 7
#define EDX 2
-#define EncounteredUnknownBytecode -3
+#define EncounteredUnknownBytecode -4
#define ESI 6
#define ESP 4
#define Fill16 5
@@ -261,10 +261,10 @@
#define LongSizeMask 0xFFFFFFFCUL
#define MapEnd 0
#define MaxCompiledPrimitiveIndex 222
-#define MaxNegativeErrorCode -3
+#define MaxNegativeErrorCode -4
#define MaxNumArgs 15
#define MaxUnitDisplacement 31
-#define MaxUnreportableError -2
+#define MaxUnreportableError -3
#define MaxX2NDisplacement 992
#define MethodCacheClass 2
#define MethodCacheMask 0xFFC
@@ -352,6 +352,7 @@
#define XMM7L 14
#define XorCwR 94
#define XorRR 80
+#define YoungSelectorInPIC -3
/*** Function Prototypes ***/
@@ -3130,6 +3131,9 @@
sqInt size;
sqInt startAddress;
+ if (isYoung(selector)) {
+ return 0;
+ }
compilationBreakpoint(selector, lengthOf(selector));
assert(endCPICCase0 != null);
startAddress = allocate(closedPICSize);
@@ -3205,6 +3209,9 @@
sqInt size;
sqInt startAddress;
+ if (isYoung(selector)) {
+ return ((CogMethod *) YoungSelectorInPIC);
+ }
compilationBreakpoint(selector, lengthOf(selector));
startAddress = allocate(closedPICSize);
if (startAddress == 0) {
Modified: branches/Cog/nscogsrc/vm/cogit.h
===================================================================
--- branches/Cog/nscogsrc/vm/cogit.h 2011-10-19 18:52:10 UTC (rev 2502)
+++ branches/Cog/nscogsrc/vm/cogit.h 2011-10-25 18:52:29 UTC (rev 2503)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.134 uuid: a0d46c48-3d9a-43f9-a769-51f31ce120e9
+ CCodeGenerator VMMaker.oscog-eem.135 uuid: 1c85e5ef-0fe8-4a1e-9421-ff0d53845fba
*/
Modified: branches/Cog/nscogsrc/vm/cogmethod.h
===================================================================
--- branches/Cog/nscogsrc/vm/cogmethod.h 2011-10-19 18:52:10 UTC (rev 2502)
+++ branches/Cog/nscogsrc/vm/cogmethod.h 2011-10-25 18:52:29 UTC (rev 2503)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.134 uuid: a0d46c48-3d9a-43f9-a769-51f31ce120e9
+ CCodeGenerator VMMaker.oscog-eem.135 uuid: 1c85e5ef-0fe8-4a1e-9421-ff0d53845fba
*/
typedef struct {
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
- Wed Oct 19 11:51:32 PDT 2011
+ Tue Oct 25 11:25:05 PDT 2011
Modified: branches/Cog/src/vm/cogit.c
===================================================================
--- branches/Cog/src/vm/cogit.c 2011-10-19 18:52:10 UTC (rev 2502)
+++ branches/Cog/src/vm/cogit.c 2011-10-25 18:52:29 UTC (rev 2503)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.134 uuid: a0d46c48-3d9a-43f9-a769-51f31ce120e9
+ CCodeGenerator VMMaker.oscog-eem.135 uuid: 1c85e5ef-0fe8-4a1e-9421-ff0d53845fba
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.134 uuid: a0d46c48-3d9a-43f9-a769-51f31ce120e9
+ StackToRegisterMappingCogit VMMaker.oscog-eem.135 uuid: 1c85e5ef-0fe8-4a1e-9421-ff0d53845fba
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.134 uuid: a0d46c48-3d9a-43f9-a769-51f31ce120e9 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.135 uuid: 1c85e5ef-0fe8-4a1e-9421-ff0d53845fba " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -184,7 +184,7 @@
#define ECX 1
#define EDI 7
#define EDX 2
-#define EncounteredUnknownBytecode -3
+#define EncounteredUnknownBytecode -4
#define ESI 6
#define ESP 4
#define Fill16 5
@@ -261,10 +261,10 @@
#define LongSizeMask 0xFFFFFFFCUL
#define MapEnd 0
#define MaxCompiledPrimitiveIndex 222
-#define MaxNegativeErrorCode -3
+#define MaxNegativeErrorCode -4
#define MaxNumArgs 15
#define MaxUnitDisplacement 31
-#define MaxUnreportableError -2
+#define MaxUnreportableError -3
#define MaxX2NDisplacement 992
#define MethodCacheClass 2
#define MethodCacheMask 0xFFC
@@ -352,6 +352,7 @@
#define XMM7L 14
#define XorCwR 94
#define XorRR 80
+#define YoungSelectorInPIC -3
/*** Function Prototypes ***/
@@ -3053,6 +3054,9 @@
sqInt size;
sqInt startAddress;
+ if (isYoung(selector)) {
+ return 0;
+ }
compilationBreakpoint(selector, lengthOf(selector));
assert(endCPICCase0 != null);
startAddress = allocate(closedPICSize);
@@ -3128,6 +3132,9 @@
sqInt size;
sqInt startAddress;
+ if (isYoung(selector)) {
+ return ((CogMethod *) YoungSelectorInPIC);
+ }
compilationBreakpoint(selector, lengthOf(selector));
startAddress = allocate(closedPICSize);
if (startAddress == 0) {
Modified: branches/Cog/src/vm/cogit.h
===================================================================
--- branches/Cog/src/vm/cogit.h 2011-10-19 18:52:10 UTC (rev 2502)
+++ branches/Cog/src/vm/cogit.h 2011-10-25 18:52:29 UTC (rev 2503)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.134 uuid: a0d46c48-3d9a-43f9-a769-51f31ce120e9
+ CCodeGenerator VMMaker.oscog-eem.135 uuid: 1c85e5ef-0fe8-4a1e-9421-ff0d53845fba
*/
Modified: branches/Cog/src/vm/cogmethod.h
===================================================================
--- branches/Cog/src/vm/cogmethod.h 2011-10-19 18:52:10 UTC (rev 2502)
+++ branches/Cog/src/vm/cogmethod.h 2011-10-25 18:52:29 UTC (rev 2503)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.134 uuid: a0d46c48-3d9a-43f9-a769-51f31ce120e9
+ CCodeGenerator VMMaker.oscog-eem.135 uuid: 1c85e5ef-0fe8-4a1e-9421-ff0d53845fba
*/
typedef struct {
More information about the Vm-dev
mailing list