[commit] r2474 - CogVM source as per VMMaker.oscog-eem.112.mcz.

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

[commit] r2474 - CogVM source as per VMMaker.oscog-eem.112.mcz.

commits-3
 
Author: eliot
Date: 2011-07-26 15:55:21 -0700 (Tue, 26 Jul 2011)
New Revision: 2474

Removed:
   branches/Cog/VERSION
Modified:
   branches/Cog/nscogbuild/macbuild/CoreVM.plist
   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/scripts/uploadvms
   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.112.mcz.
Newspeak:
        Add missing incremental GC code for implicit receiver cache.
        Fix markLiteralsAndUnlinkIfUnmarkedSendOrPushImplicit:pc:method:
        for empty cache.
        Fix Mac VM to use correct Newspeak document icons for source files et al.
Nuke long forgotten VERSION, in favour of platforms/Cross/vm/sqSCCSVersion.h.


Deleted: branches/Cog/VERSION
===================================================================
--- branches/Cog/VERSION 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/VERSION 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1 +0,0 @@
-VMMaker-oscog.16

Modified: branches/Cog/nscogbuild/macbuild/CoreVM.plist
===================================================================
--- branches/Cog/nscogbuild/macbuild/CoreVM.plist 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/nscogbuild/macbuild/CoreVM.plist 2011-07-26 22:55:21 UTC (rev 2474)
@@ -2,8 +2,6 @@
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
- <key>BuildMachineOSBuild</key>
- <string>10J4138</string>
  <key>CFBundleDevelopmentRegion</key>
  <string>English</string>
  <key>CFBundleDocumentTypes</key>
@@ -28,6 +26,13 @@
  <key>CFBundleTypeExtensions</key>
  <array>
  <string>sources</string>
+ <string>ns0</string>
+ <string>ns1</string>
+ <string>ns2</string>
+ <string>ns3</string>
+ <string>ns4</string>
+ <string>ns5</string>
+ <string>ns6</string>
  </array>
  <key>CFBundleTypeIconFile</key>
  <string>Newspeak Virtual Machine.icns</string>
@@ -136,46 +141,10 @@
  <string>NSVM</string>
  <key>CGDisableCoalescedUpdates</key>
  <true/>
- <key>DTCompiler</key>
- <string></string>
- <key>DTPlatformBuild</key>
- <string>10M2518</string>
- <key>DTPlatformVersion</key>
- <string>PG</string>
- <key>DTSDKBuild</key>
- <string>9L31a</string>
- <key>DTSDKName</key>
- <string>macosx10.5</string>
- <key>DTXcode</key>
- <string>0400</string>
- <key>DTXcodeBuild</key>
- <string>10M2518</string>
  <key>LSBackgroundOnly</key>
  <false/>
  <key>LSMinimumSystemVersion</key>
  <string>10.5.0</string>
- <key>NSServices</key>
- <array>
- <dict>
- <key>NSMenuItem</key>
- <dict>
- <key>default</key>
- <string>Squeak DoIt</string>
- </dict>
- <key>NSMessage</key>
- <string>doitandreturn</string>
- <key>NSPortName</key>
- <string>Squeak</string>
- <key>NSReturnTypes</key>
- <array>
- <string>NSStringPboardType</string>
- </array>
- <key>NSSendTypes</key>
- <array>
- <string>NSStringPboardType</string>
- </array>
- </dict>
- </array>
  <key>SqueakBrowserMouseCmdButton1</key>
  <integer>3</integer>
  <key>SqueakBrowserMouseCmdButton2</key>

Modified: branches/Cog/nscogsrc/vm/cogit.c
===================================================================
--- branches/Cog/nscogsrc/vm/cogit.c 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/nscogsrc/vm/cogit.c 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.111 uuid: 119eefd3-e409-4891-9741-ae7fa472607e
+ CCodeGenerator VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
    from
- StackToRegisterMappingCogit VMMaker.oscog-eem.111 uuid: 119eefd3-e409-4891-9741-ae7fa472607e
+ StackToRegisterMappingCogit VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.111 uuid: 119eefd3-e409-4891-9741-ae7fa472607e " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -826,7 +826,7 @@
 static AbstractInstruction * gMulRR(sqInt reg1, sqInt reg2);
 static void manageFromto(sqInt theStartAddress, sqInt theLimitAddress);
 static sqInt mapEndFor(CogMethod *cogMethod);
-static sqInt mapForbcpcperformUntilarg(CogMethod *cogMethod, sqInt startbcpc, sqInt (*functionSymbol)(char *mcpc, sqInt bcpc, void *arg), void *arg);
+static sqInt mapForbcpcperformUntilarg(CogBlockMethod *cogMethod, sqInt startbcpc, sqInt (*functionSymbol)(char *mcpc, sqInt bcpc, void *arg), void *arg);
 static sqInt mapForperformUntilarg(CogMethod *cogMethod, int (*functionSymbol)(sqInt annotation, char *mcpc, sqInt arg), sqInt arg);
 static sqInt mapObjectReferencesInClosedPIC(CogMethod *cPIC);
 static void mapObjectReferencesInGeneratedRuntime(void);
@@ -843,6 +843,7 @@
 static sqInt markLiteralsAndUnlinkIfUnmarkedSendOrPushImplicitpcmethod(sqInt annotation, char *mcpc, sqInt cogMethod);
 static sqInt markLiteralsAndUnlinkIfUnmarkedSendpcmethod(sqInt annotation, char *mcpc, sqInt cogMethod);
 void markMethodAndReferents(CogBlockMethod *aCogMethod);
+static sqInt markNSYoungObjectspcmethod(sqInt annotation, char *mcpc, sqInt cogMethod);
 static sqInt markYoungObjectspcmethod(sqInt annotation, char *mcpc, sqInt cogMethod);
 static void marshallSendArguments(sqInt numArgs);
 usqInt maxCogMethodAddress(void);
@@ -1820,7 +1821,7 @@
 static sqInt
 addressIsInFixups(void *address)
 {
- return address >= &fixups[0] && address < &fixups[numAbstractOpcodes];
+ return address >= (void *)&fixups[0] && address < (void *)&fixups[numAbstractOpcodes];
 }
 
 static sqInt
@@ -13228,7 +13229,7 @@
  methods.  */
 
 static sqInt
-mapForbcpcperformUntilarg(CogMethod *cogMethod, sqInt startbcpc, sqInt (*functionSymbol)(char *mcpc, sqInt bcpc, void *arg), void *arg)
+mapForbcpcperformUntilarg(CogBlockMethod *cogMethod, sqInt startbcpc, sqInt (*functionSymbol)(char *mcpc, sqInt bcpc, void *arg), void *arg)
 {
     sqInt aMethodObj;
     sqInt annotation;
@@ -13604,7 +13605,13 @@
  && (isYoung((cogMethod->methodObject)))) {
  markAndTrace((cogMethod->methodObject));
  }
- mapForperformUntilarg(cogMethod, markYoungObjectspcmethod, ((sqInt)cogMethod));
+ mapForperformUntilarg(cogMethod,
+#        if NewspeakVM
+ markNSYoungObjectspcmethod
+#        else /* NewspeakVM */
+ markYoungObjectspcmethod
+#        endif /* NewspeakVM */
+ , ((sqInt)cogMethod));
  }
  }
  pointer += BytesPerWord;
@@ -13778,17 +13785,21 @@
  classpc = (((sqInt)mcpc)) + (jumpShortByteSize(backEnd));
  mixinpc = ((((sqInt)mcpc)) + (jumpShortByteSize(backEnd))) + BytesPerOop;
  class = unalignedLongAt(backEnd, classpc);
- assert((class == 0)
- || (addressCouldBeObj(class)));
- if (cacheTagIsMarked(class)) {
- if (((mixin = unalignedLongAt(backEnd, mixinpc))) != 0) {
- markAndTraceLiteral(mixin);
+ if (class != 0) {
+ assert(addressCouldBeObj(class));
+ if (cacheTagIsMarked(class)) {
+ if (((mixin = unalignedLongAt(backEnd, mixinpc))) != 0) {
+ markAndTraceLiteral(mixin);
+ }
  }
+ else {
+ unalignedLongAtput(backEnd, classpc, 0);
+ unalignedLongAtput(backEnd, mixinpc, 0);
+ codeModified = 1;
+ }
  }
  else {
- unalignedLongAtput(backEnd, classpc, 0);
- unalignedLongAtput(backEnd, mixinpc, 0);
- codeModified = 1;
+ assert((unalignedLongAt(backEnd, mixinpc)) == 0);
  }
  }
  else {
@@ -13990,6 +14001,44 @@
 /* Mark and trace young literals. */
 
 static sqInt
+markNSYoungObjectspcmethod(sqInt annotation, char *mcpc, sqInt cogMethod)
+{
+    sqInt cacheTag;
+    sqInt class;
+    sqInt entryPoint;
+    sqInt literal;
+    sqInt mixin;
+
+ if (annotation == IsObjectReference) {
+ literal = literalBeforeFollowingAddress(backEnd, ((sqInt)mcpc));
+ markAndTraceLiteralIfYoung(literal);
+ }
+ if (
+#  if NewspeakVM
+ (annotation == IsSendCall)
+ || (annotation == IsNSSendCall)
+#  else /* NewspeakVM */
+ annotation == IsSendCall
+#  endif /* NewspeakVM */
+ ) {
+ cacheTag = inlineCacheTagAt(backEnd, ((sqInt)mcpc));
+ markAndTraceLiteralIfYoung(cacheTag);
+ entryPoint = callTargetFromReturnAddress(backEnd, ((sqInt)mcpc));
+ if (entryPoint == ceImplicitReceiverTrampoline) {
+ if (((class = unalignedLongAt(backEnd, (((sqInt)mcpc)) + (jumpShortByteSize(backEnd))))) != 0) {
+ markAndTraceLiteralIfYoung(class);
+ mixin = unalignedLongAt(backEnd, ((((sqInt)mcpc)) + (jumpShortByteSize(backEnd))) + BytesPerOop);
+ markAndTraceLiteralIfYoung(mixin);
+ }
+ }
+ }
+ return 0;
+}
+
+
+/* Mark and trace young literals. */
+
+static sqInt
 markYoungObjectspcmethod(sqInt annotation, char *mcpc, sqInt cogMethod)
 {
     sqInt cacheTag;
@@ -14199,13 +14248,13 @@
 
  cogMethod = ((CogMethod *) baseAddress);
  while ((cogMethod < (limitZony()))
- && (cogMethod <= address)) {
+ && ((((void *) cogMethod)) <= address)) {
  nextMethod = methodAfter(cogMethod);
  if (nextMethod == cogMethod) {
  return 0;
  }
- if ((address >= cogMethod)
- && (address < nextMethod)) {
+ if ((address >= (((void *) cogMethod)))
+ && (address < (((void *) nextMethod)))) {
  return cogMethod;
  }
  cogMethod = nextMethod;

Modified: branches/Cog/nscogsrc/vm/cogit.h
===================================================================
--- branches/Cog/nscogsrc/vm/cogit.h 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/nscogsrc/vm/cogit.h 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.111 uuid: 119eefd3-e409-4891-9741-ae7fa472607e
+ CCodeGenerator VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
 
 

Modified: branches/Cog/nscogsrc/vm/cogmethod.h
===================================================================
--- branches/Cog/nscogsrc/vm/cogmethod.h 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/nscogsrc/vm/cogmethod.h 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.111 uuid: 119eefd3-e409-4891-9741-ae7fa472607e
+ CCodeGenerator VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
 
 typedef struct {

Modified: branches/Cog/nscogsrc/vm/cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.c 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/nscogsrc/vm/cointerp.c 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.111 uuid: 119eefd3-e409-4891-9741-ae7fa472607e
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
    from
- CoInterpreter VMMaker.oscog-eem.111 uuid: 119eefd3-e409-4891-9741-ae7fa472607e
+ CoInterpreter VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.111 uuid: 119eefd3-e409-4891-9741-ae7fa472607e " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -676,7 +676,7 @@
 static sqInt methodWithHeaderShouldBeCogged(sqInt methodHeader);
 sqInt methodwithInitialPCHasErrorCode(sqInt methodObj, sqInt initialPC);
 static CogBlockMethod * mframeCogMethod(char *theFP);
-sqInt mframeHomeMethodExport(void);
+CogMethod * mframeHomeMethodExport(void);
 CogMethod * mframeHomeMethod(char *theFP);
 static sqInt mframeIsBlockActivation(char *theFP);
 static sqInt mframeReceiver(char *theFP);
@@ -1881,7 +1881,7 @@
  /* 575 */ (void (*)(void))0,
  0 };
 static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.111";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.112";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -22126,7 +22126,7 @@
  return ((CogBlockMethod *) ((longAt(theFP + FoxMethod)) & MFMethodMask));
 }
 
-sqInt
+CogMethod *
 mframeHomeMethodExport(void)
 {
     sqInt methodField;
@@ -22134,9 +22134,9 @@
  /* begin mframeHomeMethod: */
  methodField = longAt(GIV(framePointer) + FoxMethod);
  if ((methodField & MFMethodFlagIsBlockFlag) != 0) {
- return ((CogMethod *) (cmHomeMethod(((CogBlockMethod *) (methodField & MFMethodMask)))));
+ return cmHomeMethod(((CogBlockMethod *) (methodField & MFMethodMask)));
  }
- return ((CogMethod *) (((CogMethod *) (methodField & MFMethodMask))));
+ return ((CogMethod *) (methodField & MFMethodMask));
 }
 
 

Modified: branches/Cog/nscogsrc/vm/cointerp.h
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.h 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/nscogsrc/vm/cointerp.h 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.111 uuid: 119eefd3-e409-4891-9741-ae7fa472607e
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
 
 
@@ -111,7 +111,7 @@
 sqInt methodPrimitiveIndex(void);
 sqInt methodShouldBeCogged(sqInt aMethodObj);
 sqInt methodwithInitialPCHasErrorCode(sqInt methodObj, sqInt initialPC);
-sqInt mframeHomeMethodExport(void);
+CogMethod * mframeHomeMethodExport(void);
 CogMethod * mframeHomeMethod(char *theFP);
 sqInt mMethodClass(void);
 usqInt newMethodAddress(void);

Modified: branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2011-07-26 22:55:21 UTC (rev 2474)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.111 uuid: 119eefd3-e409-4891-9741-ae7fa472607e
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
    from
- CoInterpreter VMMaker.oscog-eem.111 uuid: 119eefd3-e409-4891-9741-ae7fa472607e
+ CoInterpreter VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.111 uuid: 119eefd3-e409-4891-9741-ae7fa472607e " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -679,7 +679,7 @@
 static sqInt methodWithHeaderShouldBeCogged(sqInt methodHeader);
 sqInt methodwithInitialPCHasErrorCode(sqInt methodObj, sqInt initialPC);
 static CogBlockMethod * mframeCogMethod(char *theFP);
-sqInt mframeHomeMethodExport(void);
+CogMethod * mframeHomeMethodExport(void);
 CogMethod * mframeHomeMethod(char *theFP);
 static sqInt mframeIsBlockActivation(char *theFP);
 static sqInt mframeReceiver(char *theFP);
@@ -1884,7 +1884,7 @@
  /* 575 */ (void (*)(void))0,
  0 };
 static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.111";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.112";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -22130,7 +22130,7 @@
  return ((CogBlockMethod *) ((longAt(theFP + FoxMethod)) & MFMethodMask));
 }
 
-sqInt
+CogMethod *
 mframeHomeMethodExport(void)
 {
     sqInt methodField;
@@ -22138,9 +22138,9 @@
  /* begin mframeHomeMethod: */
  methodField = longAt(GIV(framePointer) + FoxMethod);
  if ((methodField & MFMethodFlagIsBlockFlag) != 0) {
- return ((CogMethod *) (cmHomeMethod(((CogBlockMethod *) (methodField & MFMethodMask)))));
+ return cmHomeMethod(((CogBlockMethod *) (methodField & MFMethodMask)));
  }
- return ((CogMethod *) (((CogMethod *) (methodField & MFMethodMask))));
+ return ((CogMethod *) (methodField & MFMethodMask));
 }
 
 

Modified: branches/Cog/nscogsrc/vm/interp.h
===================================================================
--- branches/Cog/nscogsrc/vm/interp.h 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/nscogsrc/vm/interp.h 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.111 uuid: 119eefd3-e409-4891-9741-ae7fa472607e
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/nscogsrc/vm/vmCallback.h
===================================================================
--- branches/Cog/nscogsrc/vm/vmCallback.h 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/nscogsrc/vm/vmCallback.h 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.111 uuid: 119eefd3-e409-4891-9741-ae7fa472607e
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
 
 #define VM_CALLBACK_INC 1


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Mon Jul 25 15:46:51 PDT 2011
   + Tue Jul 26 15:51:31 PDT 2011

Modified: branches/Cog/scripts/uploadvms
===================================================================
--- branches/Cog/scripts/uploadvms 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/scripts/uploadvms 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,13 +1,17 @@
 #!/bin/sh
 IFS="
 "
+CSARCS="Cog.app.tgz coglinux.tgz cogwin.zip"
+CMARCS="cogmtlinux.tgz CogMT.app.tgz cogmtwin.zip"
+NSARCS="Newspeak Virtual Machine.app.tgz nsvmlinux.tgz nsvmwin.zip"
+NMARCS="Newspeak Virtual MachineMT.app.tgz nsvmmtlinux.tgz nsvmmtwin.zip"
 if [ $# = 0 ]; then
-ARCHIVES="Cog.app.tgz coglinux.tgz cogwin.zip Newspeak Virtual Machine.app.tgz nsvmlinux.tgz nsvmwin.zip"
+ARCHIVES="$CSARCS $CMARCS $NSARCS"
 else
 ARCHIVES=
  while [ -n "$1" ]; do
  case $1 in
- -c) ARCHIVES="$ARCHIVES coglinux.tgz Cog.app.tgz cogwin.zip cogmtlinux.tgz CogMT.app.tgz cogmtwin.zip";;
+ -c) ARCHIVES="$ARCHIVES $CSARCS $CMARCS"
  -cl) ARCHIVES="$ARCHIVES coglinux.tgz";;
  -cm) ARCHIVES="$ARCHIVES Cog.app.tgz";;
  -cw) ARCHIVES="$ARCHIVES cogwin.zip";;
@@ -17,7 +21,7 @@
  -nl) ARCHIVES="$ARCHIVES nsvmlinux.tgz";;
  -nm) ARCHIVES="$ARCHIVES Newspeak Virtual Machine.app.tgz";;
  -nw) ARCHIVES="$ARCHIVES nsvmwin.zip";;
- -n) ARCHIVES="$ARCHIVES nsvmlinux.tgz Newspeak Virtual Machine.app.tgz nsvmwin.zip";;
+ -n) ARCHIVES="$ARCHIVES $NSARCS"
  -l) ARCHIVES="$ARCHIVES coglinux.tgz nsvmlinux.tgz";;
  -m) ARCHIVES="$ARCHIVES Cog.app.tgz Newspeak Virtual Machine.app.tgz";;
  -w) ARCHIVES="$ARCHIVES cogwin.tgz nsvmwin.tgz";;

Modified: branches/Cog/src/vm/cogit.c
===================================================================
--- branches/Cog/src/vm/cogit.c 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/src/vm/cogit.c 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.107 uuid: e97a2dd5-e1e7-4281-bb49-cb97be511631
+ CCodeGenerator VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
    from
- StackToRegisterMappingCogit VMMaker.oscog-eem.107 uuid: e97a2dd5-e1e7-4281-bb49-cb97be511631
+ StackToRegisterMappingCogit VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.107 uuid: e97a2dd5-e1e7-4281-bb49-cb97be511631 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -290,7 +290,6 @@
 #define MoveXwrRR 46
 #define MulRdRd 99
 #define NegateR 68
-#define NewspeakVM 0
 #define Nop 8
 #define NumObjRefsInRuntime 2
 #define NumSendTrampolines 4
@@ -820,7 +819,7 @@
 static AbstractInstruction * gMulRR(sqInt reg1, sqInt reg2);
 static void manageFromto(sqInt theStartAddress, sqInt theLimitAddress);
 static sqInt mapEndFor(CogMethod *cogMethod);
-static sqInt mapForbcpcperformUntilarg(CogMethod *cogMethod, sqInt startbcpc, sqInt (*functionSymbol)(char *mcpc, sqInt bcpc, void *arg), void *arg);
+static sqInt mapForbcpcperformUntilarg(CogBlockMethod *cogMethod, sqInt startbcpc, sqInt (*functionSymbol)(char *mcpc, sqInt bcpc, void *arg), void *arg);
 static sqInt mapForperformUntilarg(CogMethod *cogMethod, int (*functionSymbol)(sqInt annotation, char *mcpc, sqInt arg), sqInt arg);
 static sqInt mapObjectReferencesInClosedPIC(CogMethod *cPIC);
 static void mapObjectReferencesInGeneratedRuntime(void);
@@ -1805,7 +1804,7 @@
 static sqInt
 addressIsInFixups(void *address)
 {
- return address >= &fixups[0] && address < &fixups[numAbstractOpcodes];
+ return address >= (void *)&fixups[0] && address < (void *)&fixups[numAbstractOpcodes];
 }
 
 static sqInt
@@ -13018,7 +13017,7 @@
  methods.  */
 
 static sqInt
-mapForbcpcperformUntilarg(CogMethod *cogMethod, sqInt startbcpc, sqInt (*functionSymbol)(char *mcpc, sqInt bcpc, void *arg), void *arg)
+mapForbcpcperformUntilarg(CogBlockMethod *cogMethod, sqInt startbcpc, sqInt (*functionSymbol)(char *mcpc, sqInt bcpc, void *arg), void *arg)
 {
     sqInt aMethodObj;
     sqInt annotation;
@@ -13394,7 +13393,13 @@
  && (isYoung((cogMethod->methodObject)))) {
  markAndTrace((cogMethod->methodObject));
  }
- mapForperformUntilarg(cogMethod, markYoungObjectspcmethod, ((sqInt)cogMethod));
+ mapForperformUntilarg(cogMethod,
+#        if NewspeakVM
+ markNSYoungObjectspcmethod
+#        else /* NewspeakVM */
+ markYoungObjectspcmethod
+#        endif /* NewspeakVM */
+ , ((sqInt)cogMethod));
  }
  }
  pointer += BytesPerWord;
@@ -13858,13 +13863,13 @@
 
  cogMethod = ((CogMethod *) baseAddress);
  while ((cogMethod < (limitZony()))
- && (cogMethod <= address)) {
+ && ((((void *) cogMethod)) <= address)) {
  nextMethod = methodAfter(cogMethod);
  if (nextMethod == cogMethod) {
  return 0;
  }
- if ((address >= cogMethod)
- && (address < nextMethod)) {
+ if ((address >= (((void *) cogMethod)))
+ && (address < (((void *) nextMethod)))) {
  return cogMethod;
  }
  cogMethod = nextMethod;

Modified: branches/Cog/src/vm/cogit.h
===================================================================
--- branches/Cog/src/vm/cogit.h 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/src/vm/cogit.h 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.107 uuid: e97a2dd5-e1e7-4281-bb49-cb97be511631
+ CCodeGenerator VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
 
 

Modified: branches/Cog/src/vm/cogmethod.h
===================================================================
--- branches/Cog/src/vm/cogmethod.h 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/src/vm/cogmethod.h 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.107 uuid: e97a2dd5-e1e7-4281-bb49-cb97be511631
+ CCodeGenerator VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
 
 typedef struct {

Modified: branches/Cog/src/vm/cointerp.c
===================================================================
--- branches/Cog/src/vm/cointerp.c 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/src/vm/cointerp.c 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
    from
- CoInterpreter VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb
+ CoInterpreter VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -203,7 +203,6 @@
 #define HeaderTypeShort 3
 #define HeaderTypeSizeAndClass 0
 #define IFrameSlots 7
-#define IMMUTABILITY 0
 #define ImmutabilityBit 0x20000000
 #define InstanceSpecificationIndex 2
 #define InstructionPointerIndex 1
@@ -241,7 +240,6 @@
 #define MillisecondClockMask 0x1FFFFFFF
 #define MinBackwardJumpCountForCompile 10
 #define MyListIndex 3
-#define NewspeakVM 0
 #define NextLinkIndex 0
 #define NilObject 0
 #define PrimCallCollectsProfileSamples 8
@@ -1874,7 +1872,7 @@
  /* 575 */ (void (*)(void))0,
  0 };
 static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.106]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.112]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 

Modified: branches/Cog/src/vm/cointerp.h
===================================================================
--- branches/Cog/src/vm/cointerp.h 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/src/vm/cointerp.h 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
 
 
@@ -111,7 +111,7 @@
 sqInt methodPrimitiveIndex(void);
 sqInt methodShouldBeCogged(sqInt aMethodObj);
 sqInt methodwithInitialPCHasErrorCode(sqInt methodObj, sqInt initialPC);
-sqInt mframeHomeMethodExport(void);
+CogMethod * mframeHomeMethodExport(void);
 CogMethod * mframeHomeMethod(char *theFP);
 sqInt mMethodClass(void);
 usqInt newMethodAddress(void);

Modified: branches/Cog/src/vm/cointerpmt.c
===================================================================
--- branches/Cog/src/vm/cointerpmt.c 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/src/vm/cointerpmt.c 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
    from
- CoInterpreterMT VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb
+ CoInterpreterMT VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
-static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb " __DATE__ ;
+static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -233,7 +233,6 @@
 #define HeaderTypeShort 3
 #define HeaderTypeSizeAndClass 0
 #define IFrameSlots 7
-#define IMMUTABILITY 0
 #define ImmutabilityBit 0x20000000
 #define InstanceSpecificationIndex 2
 #define InstructionPointerIndex 1
@@ -272,7 +271,6 @@
 #define MillisecondClockMask 0x1FFFFFFF
 #define MinBackwardJumpCountForCompile 10
 #define MyListIndex 3
-#define NewspeakVM 0
 #define NextLinkIndex 0
 #define NilObject 0
 #define OwnVMForeignThreadFlag 0x20000
@@ -1974,7 +1972,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.106]";
+const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.112]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 sqInt willNotThreadWarnCount;

Modified: branches/Cog/src/vm/cointerpmt.h
===================================================================
--- branches/Cog/src/vm/cointerpmt.h 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/src/vm/cointerpmt.h 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
 
 
@@ -113,7 +113,7 @@
 sqInt methodPrimitiveIndex(void);
 sqInt methodShouldBeCogged(sqInt aMethodObj);
 sqInt methodwithInitialPCHasErrorCode(sqInt methodObj, sqInt initialPC);
-sqInt mframeHomeMethodExport(void);
+CogMethod * mframeHomeMethodExport(void);
 CogMethod * mframeHomeMethod(char *theFP);
 sqInt mMethodClass(void);
 usqInt newMethodAddress(void);

Modified: branches/Cog/src/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/src/vm/gcc3x-cointerp.c 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/src/vm/gcc3x-cointerp.c 2011-07-26 22:55:21 UTC (rev 2474)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
    from
- CoInterpreter VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb
+ CoInterpreter VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -206,7 +206,6 @@
 #define HeaderTypeShort 3
 #define HeaderTypeSizeAndClass 0
 #define IFrameSlots 7
-#define IMMUTABILITY 0
 #define ImmutabilityBit 0x20000000
 #define InstanceSpecificationIndex 2
 #define InstructionPointerIndex 1
@@ -244,7 +243,6 @@
 #define MillisecondClockMask 0x1FFFFFFF
 #define MinBackwardJumpCountForCompile 10
 #define MyListIndex 3
-#define NewspeakVM 0
 #define NextLinkIndex 0
 #define NilObject 0
 #define PrimCallCollectsProfileSamples 8
@@ -1877,7 +1875,7 @@
  /* 575 */ (void (*)(void))0,
  0 };
 static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.106]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.112]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 

Modified: branches/Cog/src/vm/gcc3x-cointerpmt.c
===================================================================
--- branches/Cog/src/vm/gcc3x-cointerpmt.c 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/src/vm/gcc3x-cointerpmt.c 2011-07-26 22:55:21 UTC (rev 2474)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
    from
- CoInterpreterMT VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb
+ CoInterpreterMT VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
-static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb " __DATE__ ;
+static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -236,7 +236,6 @@
 #define HeaderTypeShort 3
 #define HeaderTypeSizeAndClass 0
 #define IFrameSlots 7
-#define IMMUTABILITY 0
 #define ImmutabilityBit 0x20000000
 #define InstanceSpecificationIndex 2
 #define InstructionPointerIndex 1
@@ -275,7 +274,6 @@
 #define MillisecondClockMask 0x1FFFFFFF
 #define MinBackwardJumpCountForCompile 10
 #define MyListIndex 3
-#define NewspeakVM 0
 #define NextLinkIndex 0
 #define NilObject 0
 #define OwnVMForeignThreadFlag 0x20000
@@ -1977,7 +1975,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.106]";
+const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.112]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 sqInt willNotThreadWarnCount;

Modified: branches/Cog/src/vm/interp.h
===================================================================
--- branches/Cog/src/vm/interp.h 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/src/vm/interp.h 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/src/vm/vmCallback.h
===================================================================
--- branches/Cog/src/vm/vmCallback.h 2011-07-25 22:47:11 UTC (rev 2473)
+++ branches/Cog/src/vm/vmCallback.h 2011-07-26 22:55:21 UTC (rev 2474)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.106 uuid: 5e185229-3c2a-4912-a60f-e2a42fa627cb
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.112 uuid: efadaaf2-156f-49df-95df-ea610c02b6b2
  */
 
 #define VM_CALLBACK_INC 1