[commit] r2489 - CogVm source as per VMMaker.oscog-eem.121. Clean up compilation warnings. Add

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[commit] r2489 - CogVm source as per VMMaker.oscog-eem.121. Clean up compilation warnings. Add

commits-3
 
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