Author: eliot Date: 2011-08-22 17:22:53 -0700 (Mon, 22 Aug 2011) New Revision: 2489
Modified: branches/Cog/cygwinbuild/HowToBuild branches/Cog/cygwinbuild/Makefile branches/Cog/nsbuild/cygwinbuild/Makefile branches/Cog/nscogbuild/cygwinbuild/Makefile branches/Cog/nscogsrc/vm/cogit.c branches/Cog/nscogsrc/vm/cogit.h branches/Cog/nscogsrc/vm/cogmethod.h branches/Cog/nscogsrc/vm/cointerp.c branches/Cog/nscogsrc/vm/cointerp.h branches/Cog/nscogsrc/vm/gcc3x-cointerp.c branches/Cog/nscogsrc/vm/interp.h branches/Cog/nscogsrc/vm/vmCallback.h branches/Cog/platforms/Cross/vm/sqSCCSVersion.h branches/Cog/platforms/win32/util/eitheror.c branches/Cog/platforms/win32/vm/sqWin32Backtrace.c branches/Cog/src/vm/cogit.c branches/Cog/src/vm/cogit.h branches/Cog/src/vm/cogmethod.h 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/src/vm/interp.h branches/Cog/src/vm/vmCallback.h Log: CogVm source as per VMMaker.oscog-eem.121. Clean up compilation warnings. Add a hard check on Cogit overflowing the number of allocated abstract instructions.
Modified: branches/Cog/cygwinbuild/HowToBuild =================================================================== --- branches/Cog/cygwinbuild/HowToBuild 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/cygwinbuild/HowToBuild 2011-08-23 00:22:53 UTC (rev 2489) @@ -58,7 +58,7 @@ supports it this VM will be able to read and write to stdin and stdout.
-3a. If you want to get the Cog VM simulator working you'll need to build the +3b. If you want to get the Cog VM simulator working you'll need to build the BochsIA32Plugin/BochsIA32Plugin.xcodeproj project and to build that you'll need to first build bochs. WARNING: No one has tried to build the plugin on Win32. You are on your own but your efforts will be warmly welcomed.
Modified: branches/Cog/cygwinbuild/Makefile =================================================================== --- branches/Cog/cygwinbuild/Makefile 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/cygwinbuild/Makefile 2011-08-23 00:22:53 UTC (rev 2489) @@ -259,7 +259,7 @@ @echo -----------------------------------------------------
eitheror.exe: $(WIN32UTILDIR)/eitheror.c - $(CC) -o $@ -O1 -mno-cygwin $< + $(CC) -o $@ -O1 -mconsole -mno-cygwin $<
mkNamedPrims.exe: $(WIN32UTILDIR)/mkNamedPrims.c $(CC) -o $@ -mconsole -mno-cygwin $< @@ -367,9 +367,3 @@ ./mkNamedPrims.exe $(INTERNAL_PLUGINS) > sqNamedPrims.h
$(OBJDIR)/sqNamedPrims.o: sqNamedPrims.c sqNamedPrims.h - -Squeak.res: $(BASEDIR)/Squeak.rc - $(RC) $(RCFLAGS) -i $< -o $(OBJDIR)/$@ - -Croquet.res: $(BASEDIR)/Croquet.rc - $(RC) $(RCFLAGS) -i $< -o $(OBJDIR)/$@
Modified: branches/Cog/nsbuild/cygwinbuild/Makefile =================================================================== --- branches/Cog/nsbuild/cygwinbuild/Makefile 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/nsbuild/cygwinbuild/Makefile 2011-08-23 00:22:53 UTC (rev 2489) @@ -218,7 +218,7 @@ @echo -----------------------------------------------------
eitheror.exe: $(WIN32UTILDIR)/eitheror.c - $(CC) -o $@ -O1 -mno-cygwin $< + $(CC) -o $@ -O1 -mconsole -mno-cygwin $<
mkNamedPrims.exe: $(WIN32UTILDIR)/mkNamedPrims.c $(CC) -o $@ -mconsole -mno-cygwin $<
Modified: branches/Cog/nscogbuild/cygwinbuild/Makefile =================================================================== --- branches/Cog/nscogbuild/cygwinbuild/Makefile 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/nscogbuild/cygwinbuild/Makefile 2011-08-23 00:22:53 UTC (rev 2489) @@ -218,7 +218,7 @@ @echo -----------------------------------------------------
eitheror.exe: $(WIN32UTILDIR)/eitheror.c - $(CC) -o $@ -O1 -mno-cygwin $< + $(CC) -o $@ -O1 -mconsole -mno-cygwin $<
mkNamedPrims.exe: $(WIN32UTILDIR)/mkNamedPrims.c $(CC) -o $@ -mconsole -mno-cygwin $< @@ -326,6 +326,3 @@ ./mkNamedPrims.exe $(INTERNAL_PLUGINS) > sqNamedPrims.h
$(OBJDIR)/sqNamedPrims.o: sqNamedPrims.c sqNamedPrims.h - -nsvm.res: $(BASEDIR)/nsvm.rc - $(RC) $(RCFLAGS) -i $< -o $(OBJDIR)/$@
Modified: branches/Cog/nscogsrc/vm/cogit.c =================================================================== --- branches/Cog/nscogsrc/vm/cogit.c 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/nscogsrc/vm/cogit.c 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGenerator VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 from - StackToRegisterMappingCogit VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + StackToRegisterMappingCogit VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 " __DATE__ ; char *__cogitBuildInfo = __buildInfo;
@@ -2971,7 +2971,7 @@ { sqInt address; sqInt end; - void *jumpTarget; + sqInt jumpTarget; sqInt operand; sqInt size; sqInt target; @@ -3000,7 +3000,7 @@ /* begin MoveCw:R: */ genoperandoperand(MoveCwR, operand, SendNumArgsReg); /* begin JumpLongZero: */ - genoperand(JumpLongZero, ((sqInt)(((void *) target)))); + genoperand(JumpLongZero, ((sqInt)target)); /* begin MoveCw:R: */ genoperandoperand(MoveCwR, ((sqInt)cPIC), ClassReg); /* begin JumpLong: */ @@ -3109,7 +3109,7 @@
compilationBreakpoint(selector, lengthOf(selector)); if (endCPICCase0 == null) { - return NotFullyInitialized; + return ((CogMethod *) NotFullyInitialized); } startAddress = allocate(closedPICSize); if (startAddress == 0) { @@ -3123,7 +3123,7 @@ headerSize = sizeof(CogMethod); size = generateInstructionsAt(startAddress + headerSize);
- /* The missOffset is th same as the interpretOffset. */ + /* The missOffset is the same as the interpretOffset. */
end = outputInstructionsAt(startAddress + headerSize); assert(missOffset == ((((interpretCall->address)) + ((interpretCall->machineCodeSize))) - startAddress)); @@ -3405,6 +3405,10 @@ : 0)); } while((result == 0) && (bytecodePointer <= end)); + /* begin checkEnoughOpcodes */ + if (opcodeIndex > numAbstractOpcodes) { + error("Cog JIT internal error. Too many abstract opcodes. Num opcodes heuristic is too optimistic."); + } return result; }
@@ -3681,7 +3685,7 @@ { sqInt h; AbstractInstruction *jumpNext; - void *jumpTarget; + sqInt jumpTarget; sqInt numArgs;
numArgs = 0; @@ -3698,7 +3702,7 @@ /* begin MoveCw:R: */ genoperandoperand(MoveCwR, 195929424 + h, SendNumArgsReg); /* begin JumpLongZero: */ - genoperand(JumpLongZero, ((sqInt)(((void *) (3202131424UL + h))))); + genoperand(JumpLongZero, ((sqInt)3202131424UL)); if (h == 1) { /* begin Label */ endCPICCase1 = genoperandoperand(Label, (labelCounter += 1), bytecodePointer); @@ -3707,7 +3711,7 @@ /* begin MoveCw:R: */ genoperandoperand(MoveCwR, 179686997, ClassReg); /* begin JumpLong: */ - jumpTarget = ((void *) (cPICMissTrampolineFor(numArgs))); + jumpTarget = cPICMissTrampolineFor(numArgs); genoperand(JumpLong, jumpTarget); return 0; } @@ -3785,7 +3789,7 @@ compileCPICCase0Case1MethodtagisMNUCasenumArgs(CogMethod *cPIC, CogMethod *case0CogMethod, sqInt case1Method, sqInt case1Tag, sqInt isMNUCase, sqInt numArgs) { AbstractInstruction *jumpNext; - void *jumpTarget; + sqInt jumpTarget; sqInt jumpTarget1; sqInt operand; void *targetEntry; @@ -3817,14 +3821,14 @@ /* begin MoveCw:R: */ genoperandoperand(MoveCwR, operand, SendNumArgsReg); /* begin JumpLongZero: */ - jumpTarget = (isMNUCase - ? mnuCall - : targetEntry); + jumpTarget = ((sqInt)((isMNUCase + ? mnuCall + : targetEntry))); genoperand(JumpLongZero, ((sqInt)jumpTarget)); /* begin MoveCw:R: */ endCPICCase1 = genoperandoperand(MoveCwR, ((sqInt)cPIC), ClassReg); /* begin JumpLong: */ - jumpTarget1 = ((void *) (cPICMissTrampolineFor(numArgs))); + jumpTarget1 = cPICMissTrampolineFor(numArgs); genoperand(JumpLong, jumpTarget1); return 0; }
Modified: branches/Cog/nscogsrc/vm/cogit.h =================================================================== --- branches/Cog/nscogsrc/vm/cogit.h 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/nscogsrc/vm/cogit.h 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGenerator VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */
Modified: branches/Cog/nscogsrc/vm/cogmethod.h =================================================================== --- branches/Cog/nscogsrc/vm/cogmethod.h 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/nscogsrc/vm/cogmethod.h 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGenerator VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */
typedef struct {
Modified: branches/Cog/nscogsrc/vm/cointerp.c =================================================================== --- branches/Cog/nscogsrc/vm/cointerp.c 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/nscogsrc/vm/cointerp.c 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 from - CoInterpreter VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CoInterpreter VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -553,7 +553,7 @@ usqLong getNextWakeupUsecs(void); sqInt getSavedWindowSize(void); static sqInt getShortFromFileswap(sqImageFile aFile, sqInt swapFlag); -sqInt getStackPointer(void); +sqInt * getStackPointer(void); sqInt getThisSessionID(void); static sqInt handleMNUInMachineCodeToclassForMessage(sqInt selectorIndex, sqInt rcvr, sqInt classForMessage); static void handleStackOverflow(void); @@ -1891,7 +1891,7 @@ /* 575 */ (void (*)(void))0, 0 }; static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void); -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.119"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.121"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -17200,7 +17200,7 @@
/* For Alien FFI */
-sqInt +sqInt * getStackPointer(void) { return GIV(stackPointer);
Modified: branches/Cog/nscogsrc/vm/cointerp.h =================================================================== --- branches/Cog/nscogsrc/vm/cointerp.h 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/nscogsrc/vm/cointerp.h 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */
@@ -76,7 +76,7 @@ void (*functionPointerForCompiledMethodprimitiveIndex(sqInt methodObj, sqInt primIndex))(void) ; void (*functionPointerForinClass(sqInt primIdx,sqInt theClass))(void) ; usqLong getNextWakeupUsecs(void); -sqInt getStackPointer(void); +sqInt * getStackPointer(void); sqInt headerOf(sqInt methodPointer); void ifValidWriteBackStackPointersSaveTo(void *theCFP, void *theCSP, char **savedFPP, char **savedSPP); sqInt implicitReceiverFormixinimplementing(sqInt receiver, sqInt mixin, sqInt selector);
Modified: branches/Cog/nscogsrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2011-08-23 00:22:53 UTC (rev 2489) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 from - CoInterpreter VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CoInterpreter VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -556,7 +556,7 @@ usqLong getNextWakeupUsecs(void); sqInt getSavedWindowSize(void); static sqInt getShortFromFileswap(sqImageFile aFile, sqInt swapFlag); -sqInt getStackPointer(void); +sqInt * getStackPointer(void); sqInt getThisSessionID(void); static sqInt handleMNUInMachineCodeToclassForMessage(sqInt selectorIndex, sqInt rcvr, sqInt classForMessage); static void handleStackOverflow(void); @@ -1894,7 +1894,7 @@ /* 575 */ (void (*)(void))0, 0 }; static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void); -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.119"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.121"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -17204,7 +17204,7 @@
/* For Alien FFI */
-sqInt +sqInt * getStackPointer(void) { return GIV(stackPointer);
Modified: branches/Cog/nscogsrc/vm/interp.h =================================================================== --- branches/Cog/nscogsrc/vm/interp.h 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/nscogsrc/vm/interp.h 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */
#define VM_PROXY_MAJOR 1
Modified: branches/Cog/nscogsrc/vm/vmCallback.h =================================================================== --- branches/Cog/nscogsrc/vm/vmCallback.h 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/nscogsrc/vm/vmCallback.h 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */
#define VM_CALLBACK_INC 1
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h ___________________________________________________________________ Modified: checkindate - Fri Aug 19 14:31:01 PDT 2011 + Mon Aug 22 17:21:13 PDT 2011
Modified: branches/Cog/platforms/win32/util/eitheror.c =================================================================== --- branches/Cog/platforms/win32/util/eitheror.c 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/platforms/win32/util/eitheror.c 2011-08-23 00:22:53 UTC (rev 2489) @@ -10,6 +10,8 @@ #ifdef _MSC_VER # define F_OK 00 # define access _access +#else +# include <unistd.h> #endif
int
Modified: branches/Cog/platforms/win32/vm/sqWin32Backtrace.c =================================================================== --- branches/Cog/platforms/win32/vm/sqWin32Backtrace.c 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/platforms/win32/vm/sqWin32Backtrace.c 2011-08-23 00:22:53 UTC (rev 2489) @@ -61,7 +61,7 @@ mov EAX, EBP mov [__fp], EAX } -#elif defined(__MINGW32__) +#elif defined(__GNUC__) asm volatile ("movl %%ebp, %0" : "=r"(__fp) : ); #else # error "don't know how to derive ebp" @@ -81,7 +81,7 @@ mov EAX, FS:[18h] mov [tib], EAX } -#elif defined(__MINGW32__) +#elif defined(__GNUC__) asm volatile ("movl %%fs:0x18, %0" : "=r" (tib) : ); #else # error "don't know how to derive tib"
Modified: branches/Cog/src/vm/cogit.c =================================================================== --- branches/Cog/src/vm/cogit.c 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/src/vm/cogit.c 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGenerator VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 from - StackToRegisterMappingCogit VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + StackToRegisterMappingCogit VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 " __DATE__ ; char *__cogitBuildInfo = __buildInfo;
@@ -2894,7 +2894,7 @@ { sqInt address; sqInt end; - void *jumpTarget; + sqInt jumpTarget; sqInt operand; sqInt size; sqInt target; @@ -2923,7 +2923,7 @@ /* begin MoveCw:R: */ genoperandoperand(MoveCwR, operand, SendNumArgsReg); /* begin JumpLongZero: */ - genoperand(JumpLongZero, ((sqInt)(((void *) target)))); + genoperand(JumpLongZero, ((sqInt)target)); /* begin MoveCw:R: */ genoperandoperand(MoveCwR, ((sqInt)cPIC), ClassReg); /* begin JumpLong: */ @@ -3032,7 +3032,7 @@
compilationBreakpoint(selector, lengthOf(selector)); if (endCPICCase0 == null) { - return NotFullyInitialized; + return ((CogMethod *) NotFullyInitialized); } startAddress = allocate(closedPICSize); if (startAddress == 0) { @@ -3046,7 +3046,7 @@ headerSize = sizeof(CogMethod); size = generateInstructionsAt(startAddress + headerSize);
- /* The missOffset is th same as the interpretOffset. */ + /* The missOffset is the same as the interpretOffset. */
end = outputInstructionsAt(startAddress + headerSize); assert(missOffset == ((((interpretCall->address)) + ((interpretCall->machineCodeSize))) - startAddress)); @@ -3328,6 +3328,10 @@ : 0)); } while((result == 0) && (bytecodePointer <= end)); + /* begin checkEnoughOpcodes */ + if (opcodeIndex > numAbstractOpcodes) { + error("Cog JIT internal error. Too many abstract opcodes. Num opcodes heuristic is too optimistic."); + } return result; }
@@ -3604,7 +3608,7 @@ { sqInt h; AbstractInstruction *jumpNext; - void *jumpTarget; + sqInt jumpTarget; sqInt numArgs;
numArgs = 0; @@ -3621,7 +3625,7 @@ /* begin MoveCw:R: */ genoperandoperand(MoveCwR, 195929424 + h, SendNumArgsReg); /* begin JumpLongZero: */ - genoperand(JumpLongZero, ((sqInt)(((void *) (3202131424UL + h))))); + genoperand(JumpLongZero, ((sqInt)3202131424UL)); if (h == 1) { /* begin Label */ endCPICCase1 = genoperandoperand(Label, (labelCounter += 1), bytecodePointer); @@ -3630,7 +3634,7 @@ /* begin MoveCw:R: */ genoperandoperand(MoveCwR, 179686997, ClassReg); /* begin JumpLong: */ - jumpTarget = ((void *) (cPICMissTrampolineFor(numArgs))); + jumpTarget = cPICMissTrampolineFor(numArgs); genoperand(JumpLong, jumpTarget); return 0; } @@ -3708,7 +3712,7 @@ compileCPICCase0Case1MethodtagisMNUCasenumArgs(CogMethod *cPIC, CogMethod *case0CogMethod, sqInt case1Method, sqInt case1Tag, sqInt isMNUCase, sqInt numArgs) { AbstractInstruction *jumpNext; - void *jumpTarget; + sqInt jumpTarget; sqInt jumpTarget1; sqInt operand; void *targetEntry; @@ -3740,14 +3744,14 @@ /* begin MoveCw:R: */ genoperandoperand(MoveCwR, operand, SendNumArgsReg); /* begin JumpLongZero: */ - jumpTarget = (isMNUCase - ? mnuCall - : targetEntry); + jumpTarget = ((sqInt)((isMNUCase + ? mnuCall + : targetEntry))); genoperand(JumpLongZero, ((sqInt)jumpTarget)); /* begin MoveCw:R: */ endCPICCase1 = genoperandoperand(MoveCwR, ((sqInt)cPIC), ClassReg); /* begin JumpLong: */ - jumpTarget1 = ((void *) (cPICMissTrampolineFor(numArgs))); + jumpTarget1 = cPICMissTrampolineFor(numArgs); genoperand(JumpLong, jumpTarget1); return 0; }
Modified: branches/Cog/src/vm/cogit.h =================================================================== --- branches/Cog/src/vm/cogit.h 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/src/vm/cogit.h 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGenerator VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */
Modified: branches/Cog/src/vm/cogmethod.h =================================================================== --- branches/Cog/src/vm/cogmethod.h 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/src/vm/cogmethod.h 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGenerator VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */
typedef struct {
Modified: branches/Cog/src/vm/cointerp.c =================================================================== --- branches/Cog/src/vm/cointerp.c 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/src/vm/cointerp.c 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 from - CoInterpreter VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CoInterpreter VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -546,7 +546,7 @@ usqLong getNextWakeupUsecs(void); sqInt getSavedWindowSize(void); static sqInt getShortFromFileswap(sqImageFile aFile, sqInt swapFlag); -sqInt getStackPointer(void); +sqInt * getStackPointer(void); sqInt getThisSessionID(void); static sqInt handleMNUInMachineCodeToclassForMessage(sqInt selectorIndex, sqInt rcvr, sqInt classForMessage); static void handleStackOverflow(void); @@ -1882,7 +1882,7 @@ /* 575 */ (void (*)(void))0, 0 }; static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void); -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.119]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.121]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -16739,7 +16739,7 @@
/* For Alien FFI */
-sqInt +sqInt * getStackPointer(void) { return GIV(stackPointer);
Modified: branches/Cog/src/vm/cointerp.h =================================================================== --- branches/Cog/src/vm/cointerp.h 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/src/vm/cointerp.h 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */
@@ -76,7 +76,7 @@ void (*functionPointerForCompiledMethodprimitiveIndex(sqInt methodObj, sqInt primIndex))(void) ; void (*functionPointerForinClass(sqInt primIdx,sqInt theClass))(void) ; usqLong getNextWakeupUsecs(void); -sqInt getStackPointer(void); +sqInt * getStackPointer(void); sqInt headerOf(sqInt methodPointer); void ifValidWriteBackStackPointersSaveTo(void *theCFP, void *theCSP, char **savedFPP, char **savedSPP); sqInt implicitReceiverFormixinimplementing(sqInt receiver, sqInt mixin, sqInt selector);
Modified: branches/Cog/src/vm/cointerpmt.c =================================================================== --- branches/Cog/src/vm/cointerpmt.c 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/src/vm/cointerpmt.c 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 from - CoInterpreterMT VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CoInterpreterMT VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */ -static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 " __DATE__ ; +static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -596,7 +596,7 @@ usqLong getNextWakeupUsecs(void); sqInt getSavedWindowSize(void); static sqInt getShortFromFileswap(sqImageFile aFile, sqInt swapFlag); -sqInt getStackPointer(void); +sqInt * getStackPointer(void); sqInt getThisSessionID(void); sqOSThread getVMOSThread(void); static sqInt getVMOwner(void); @@ -1982,7 +1982,7 @@ /* 575 */ (void (*)(void))0, 0 }; static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void); -const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.119]"; +const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.121]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; sqInt willNotThreadWarnCount; @@ -17359,7 +17359,7 @@
/* For Alien FFI */
-sqInt +sqInt * getStackPointer(void) { return GIV(stackPointer);
Modified: branches/Cog/src/vm/cointerpmt.h =================================================================== --- branches/Cog/src/vm/cointerpmt.h 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/src/vm/cointerpmt.h 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */
@@ -77,7 +77,7 @@ void (*functionPointerForCompiledMethodprimitiveIndex(sqInt methodObj, sqInt primIndex))(void) ; void (*functionPointerForinClass(sqInt primIdx,sqInt theClass))(void) ; usqLong getNextWakeupUsecs(void); -sqInt getStackPointer(void); +sqInt * getStackPointer(void); sqOSThread getVMOSThread(void); sqInt headerOf(sqInt methodPointer); void ifValidWriteBackStackPointersSaveTo(void *theCFP, void *theCSP, char **savedFPP, char **savedSPP);
Modified: branches/Cog/src/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/src/vm/gcc3x-cointerp.c 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/src/vm/gcc3x-cointerp.c 2011-08-23 00:22:53 UTC (rev 2489) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 from - CoInterpreter VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CoInterpreter VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -549,7 +549,7 @@ usqLong getNextWakeupUsecs(void); sqInt getSavedWindowSize(void); static sqInt getShortFromFileswap(sqImageFile aFile, sqInt swapFlag); -sqInt getStackPointer(void); +sqInt * getStackPointer(void); sqInt getThisSessionID(void); static sqInt handleMNUInMachineCodeToclassForMessage(sqInt selectorIndex, sqInt rcvr, sqInt classForMessage); static void handleStackOverflow(void); @@ -1885,7 +1885,7 @@ /* 575 */ (void (*)(void))0, 0 }; static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void); -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.119]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.121]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -16743,7 +16743,7 @@
/* For Alien FFI */
-sqInt +sqInt * getStackPointer(void) { return GIV(stackPointer);
Modified: branches/Cog/src/vm/gcc3x-cointerpmt.c =================================================================== --- branches/Cog/src/vm/gcc3x-cointerpmt.c 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/src/vm/gcc3x-cointerpmt.c 2011-08-23 00:22:53 UTC (rev 2489) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 from - CoInterpreterMT VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CoInterpreterMT VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */ -static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 " __DATE__ ; +static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -599,7 +599,7 @@ usqLong getNextWakeupUsecs(void); sqInt getSavedWindowSize(void); static sqInt getShortFromFileswap(sqImageFile aFile, sqInt swapFlag); -sqInt getStackPointer(void); +sqInt * getStackPointer(void); sqInt getThisSessionID(void); sqOSThread getVMOSThread(void); static sqInt getVMOwner(void); @@ -1985,7 +1985,7 @@ /* 575 */ (void (*)(void))0, 0 }; static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void); -const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.119]"; +const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.121]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; sqInt willNotThreadWarnCount; @@ -17363,7 +17363,7 @@
/* For Alien FFI */
-sqInt +sqInt * getStackPointer(void) { return GIV(stackPointer);
Modified: branches/Cog/src/vm/interp.h =================================================================== --- branches/Cog/src/vm/interp.h 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/src/vm/interp.h 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */
#define VM_PROXY_MAJOR 1
Modified: branches/Cog/src/vm/vmCallback.h =================================================================== --- branches/Cog/src/vm/vmCallback.h 2011-08-19 21:33:12 UTC (rev 2488) +++ branches/Cog/src/vm/vmCallback.h 2011-08-23 00:22:53 UTC (rev 2489) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.119 uuid: dedbaf07-59d6-4a97-b10a-af8a7f631287 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.121 uuid: 8561f7f7-973d-4e7a-bf2d-5ae21509b2c5 */
#define VM_CALLBACK_INC 1
vm-dev@lists.squeakfoundation.org