Revision: 2859 Author: eliot Date: 2014-01-28 17:37:18 -0800 (Tue, 28 Jan 2014) Log Message: ----------- CogVM source as per VMMaker.oscog-eem.595
Fix PIC entry alignment in Newspeak VMs. It's been working so far only because entry-point alignment covered up the bug.
Allow more opcodes for the trampolines. The implicit receiver trampoline is larger in Spur (alignment? need to check).
Modified Paths: -------------- branches/Cog/nscogsrc/vm/cogit.c branches/Cog/nscogsrc/vm/cogit.h branches/Cog/nscogsrc/vm/cogmethod.h branches/Cog/spursrc/vm/cogit.c branches/Cog/spursrc/vm/cogit.h branches/Cog/spursrc/vm/cogmethod.h branches/Cog/src/vm/cogit.c branches/Cog/src/vm/cogit.h branches/Cog/src/vm/cogmethod.h
Property Changed: ---------------- branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
Modified: branches/Cog/nscogsrc/vm/cogit.c =================================================================== --- branches/Cog/nscogsrc/vm/cogit.c 2014-01-29 00:33:44 UTC (rev 2858) +++ branches/Cog/nscogsrc/vm/cogit.c 2014-01-29 01:37:18 UTC (rev 2859) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.590 uuid: 8f6d2060-b948-464c-89d9-341f775e8662 + CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd from - StackToRegisterMappingCogit VMMaker.oscog-eem.590 uuid: 8f6d2060-b948-464c-89d9-341f775e8662 + StackToRegisterMappingCogit VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.590 uuid: 8f6d2060-b948-464c-89d9-341f775e8662 " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd " __DATE__ ; char *__cogitBuildInfo = __buildInfo;
@@ -4371,6 +4371,11 @@ static AbstractInstruction * compileCPICEntry(void) { + /* begin Nop */ + gen(Nop); + /* begin Nop */ + dynSuperEntry = gen(Nop); + entry = getInlineCacheClassTagFrominto(ReceiverResultReg, TempReg); /* begin CmpR:R: */ genoperandoperand(CmpRR, ClassReg, TempReg); @@ -4880,7 +4885,12 @@ sqInt routine;
compilePICProlog(numArgs); + /* begin Nop */ + gen(Nop); + /* begin Nop */ + dynSuperEntry = gen(Nop);
+ /* Do first of three probes. See CoInterpreter>>lookupInMethodCacheSel:classTag: */
entry = genGetClassTagOfintoscratchReg(ReceiverResultReg, ClassReg, TempReg); @@ -11866,7 +11876,7 @@ sqInt selector;
methodZoneStart = methodZoneBase; - allocateOpcodesbytecodes(40, 0); + allocateOpcodesbytecodes(42, 0); initialPC = 0; endPC = numAbstractOpcodes - 1; hasYoungReferent = 0;
Modified: branches/Cog/nscogsrc/vm/cogit.h =================================================================== --- branches/Cog/nscogsrc/vm/cogit.h 2014-01-29 00:33:44 UTC (rev 2858) +++ branches/Cog/nscogsrc/vm/cogit.h 2014-01-29 01:37:18 UTC (rev 2859) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.590 uuid: 8f6d2060-b948-464c-89d9-341f775e8662 + CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd */
Modified: branches/Cog/nscogsrc/vm/cogmethod.h =================================================================== --- branches/Cog/nscogsrc/vm/cogmethod.h 2014-01-29 00:33:44 UTC (rev 2858) +++ branches/Cog/nscogsrc/vm/cogmethod.h 2014-01-29 01:37:18 UTC (rev 2859) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.590 uuid: 8f6d2060-b948-464c-89d9-341f775e8662 + CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd */
typedef struct {
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h ___________________________________________________________________ Modified: checkindate - Tue Jan 28 15:03:50 PST 2014 + Tue Jan 28 17:36:47 PST 2014
Modified: branches/Cog/spursrc/vm/cogit.c =================================================================== --- branches/Cog/spursrc/vm/cogit.c 2014-01-29 00:33:44 UTC (rev 2858) +++ branches/Cog/spursrc/vm/cogit.c 2014-01-29 01:37:18 UTC (rev 2859) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.590 uuid: 8f6d2060-b948-464c-89d9-341f775e8662 + CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd from - StackToRegisterMappingCogit VMMaker.oscog-eem.590 uuid: 8f6d2060-b948-464c-89d9-341f775e8662 + StackToRegisterMappingCogit VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.590 uuid: 8f6d2060-b948-464c-89d9-341f775e8662 " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd " __DATE__ ; char *__cogitBuildInfo = __buildInfo;
@@ -3926,6 +3926,7 @@ static AbstractInstruction * compileCPICEntry(void) { + entry = getInlineCacheClassTagFrominto(ReceiverResultReg, TempReg); /* begin CmpR:R: */ genoperandoperand(CmpRR, ClassReg, TempReg); @@ -4431,6 +4432,7 @@ sqInt routine;
compilePICProlog(numArgs); +
/* Do first of three probes. See CoInterpreter>>lookupInMethodCacheSel:classTag: */
@@ -11075,7 +11077,7 @@ sqInt selector;
methodZoneStart = methodZoneBase; - allocateOpcodesbytecodes(40, 0); + allocateOpcodesbytecodes(42, 0); initialPC = 0; endPC = numAbstractOpcodes - 1; hasYoungReferent = 0;
Modified: branches/Cog/spursrc/vm/cogit.h =================================================================== --- branches/Cog/spursrc/vm/cogit.h 2014-01-29 00:33:44 UTC (rev 2858) +++ branches/Cog/spursrc/vm/cogit.h 2014-01-29 01:37:18 UTC (rev 2859) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.590 uuid: 8f6d2060-b948-464c-89d9-341f775e8662 + CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd */
Modified: branches/Cog/spursrc/vm/cogmethod.h =================================================================== --- branches/Cog/spursrc/vm/cogmethod.h 2014-01-29 00:33:44 UTC (rev 2858) +++ branches/Cog/spursrc/vm/cogmethod.h 2014-01-29 01:37:18 UTC (rev 2859) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.590 uuid: 8f6d2060-b948-464c-89d9-341f775e8662 + CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd */
typedef struct {
Modified: branches/Cog/src/vm/cogit.c =================================================================== --- branches/Cog/src/vm/cogit.c 2014-01-29 00:33:44 UTC (rev 2858) +++ branches/Cog/src/vm/cogit.c 2014-01-29 01:37:18 UTC (rev 2859) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.590 uuid: 8f6d2060-b948-464c-89d9-341f775e8662 + CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd from - StackToRegisterMappingCogit VMMaker.oscog-eem.590 uuid: 8f6d2060-b948-464c-89d9-341f775e8662 + StackToRegisterMappingCogit VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.590 uuid: 8f6d2060-b948-464c-89d9-341f775e8662 " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd " __DATE__ ; char *__cogitBuildInfo = __buildInfo;
@@ -3925,6 +3925,7 @@ static AbstractInstruction * compileCPICEntry(void) { + entry = getInlineCacheClassTagFrominto(ReceiverResultReg, TempReg); /* begin CmpR:R: */ genoperandoperand(CmpRR, ClassReg, TempReg); @@ -4430,6 +4431,7 @@ sqInt routine;
compilePICProlog(numArgs); +
/* Do first of three probes. See CoInterpreter>>lookupInMethodCacheSel:classTag: */
@@ -10911,7 +10913,7 @@ sqInt selector;
methodZoneStart = methodZoneBase; - allocateOpcodesbytecodes(40, 0); + allocateOpcodesbytecodes(42, 0); initialPC = 0; endPC = numAbstractOpcodes - 1; hasYoungReferent = 0;
Modified: branches/Cog/src/vm/cogit.h =================================================================== --- branches/Cog/src/vm/cogit.h 2014-01-29 00:33:44 UTC (rev 2858) +++ branches/Cog/src/vm/cogit.h 2014-01-29 01:37:18 UTC (rev 2859) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.590 uuid: 8f6d2060-b948-464c-89d9-341f775e8662 + CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd */
Modified: branches/Cog/src/vm/cogmethod.h =================================================================== --- branches/Cog/src/vm/cogmethod.h 2014-01-29 00:33:44 UTC (rev 2858) +++ branches/Cog/src/vm/cogmethod.h 2014-01-29 01:37:18 UTC (rev 2859) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.590 uuid: 8f6d2060-b948-464c-89d9-341f775e8662 + CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd */
typedef struct {
vm-dev@lists.squeakfoundation.org