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 { |
Free forum by Nabble | Edit this page |