[commit][3087] CogVM source as per VMMaker.oscog-eem.889

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

[commit][3087] CogVM source as per VMMaker.oscog-eem.889

commits-3
 
Revision: 3087
Author:   eliot
Date:     2014-09-30 16:39:10 -0700 (Tue, 30 Sep 2014)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.889

Fix the assert fail caused by a frameless method with an unaccessed temp.
Move the assert check to genPushTemporaryVariable:.

Modified Paths:
--------------
    branches/Cog/nscogsrc/vm/cogit.c
    branches/Cog/nscogsrc/vm/cogit.h
    branches/Cog/nsspursrc/vm/cogit.c
    branches/Cog/nsspursrc/vm/cogit.h
    branches/Cog/sistasrc/vm/cogit.c
    branches/Cog/sistasrc/vm/cogit.h
    branches/Cog/spursistasrc/vm/cogit.c
    branches/Cog/spursistasrc/vm/cogit.h
    branches/Cog/spursrc/vm/cogit.c
    branches/Cog/spursrc/vm/cogit.h
    branches/Cog/src/vm/cogit.c
    branches/Cog/src/vm/cogit.h

Property Changed:
----------------
    branches/Cog/platforms/Cross/vm/sqSCCSVersion.h

Modified: branches/Cog/nscogsrc/vm/cogit.c
===================================================================
--- branches/Cog/nscogsrc/vm/cogit.c 2014-09-30 17:23:24 UTC (rev 3086)
+++ branches/Cog/nscogsrc/vm/cogit.c 2014-09-30 23:39:10 UTC (rev 3087)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ CCodeGenerator VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
    from
- StackToRegisterMappingCogit VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ StackToRegisterMappingCogit VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -12553,7 +12553,7 @@
 {
     sqInt *address;
     sqInt *address1;
-    usqInt cacheAddress;
+    sqInt cacheAddress;
     sqInt cacheTag;
     sqInt cacheTag1;
     sqInt cacheTagMarked;
@@ -12723,7 +12723,7 @@
 static sqInt
 markYoungObjectspcmethod(sqInt annotation, char *mcpc, sqInt cogMethod)
 {
-    usqInt cacheAddress;
+    sqInt cacheAddress;
     sqInt cacheTag;
     sqInt cacheTag1;
     sqInt class;
@@ -13814,7 +13814,7 @@
 static sqInt
 remapIfObjectRefpchasYoung(sqInt annotation, char *mcpc, sqInt hasYoungPtr)
 {
-    usqInt cacheAddress;
+    sqInt cacheAddress;
     sqInt cacheTag;
     sqInt cacheTag1;
     sqInt entryPoint;
@@ -14583,7 +14583,7 @@
 static void
 voidImplicitReceiverCacheAt(sqInt mcpc)
 {
-    usqInt cacheAddress;
+    sqInt cacheAddress;
 
  assert(NumOopsPerIRC == 2);
  cacheAddress = (((usqInt)mcpc)) + (jumpShortByteSize(backEnd));
@@ -20888,9 +20888,16 @@
  return ssPushRegister(SendNumArgsReg);
 }
 
+
+/* If a frameless method (not a block), only argument temps can be accessed.
+ This is assured by the use of needsFrameIfMod16GENumArgs: in pushTemp. */
+
 static sqInt
 genPushTemporaryVariable(sqInt index)
 {
+ assert(inBlock
+ || (needsFrame
+ || (index < methodOrBlockNumArgs)));
  return ssPushDesc(simStack[index]);
 }
 
@@ -21829,7 +21836,7 @@
 }
 
 
-/* The register receiver (he closure itself) and args are pushed by the
+/* The register receiver (the closure itself) and args are pushed by the
  closure value primitive(s)
  and hence a frameless block has all arguments and copied values pushed to
  the stack. However,
@@ -21849,7 +21856,6 @@
  (optStatus.isReceiverResultRegLive = 1);
  (optStatus.ssEntry = (&simSelf));
  assert(methodOrBlockNumTemps >= methodOrBlockNumArgs);
- assert((numRegArgs()) <= 2);
  for (i = 0; i < methodOrBlockNumTemps; i += 1) {
  desc = simStackAt(i);
  (desc->type = SSBaseOffset);
@@ -21874,8 +21880,7 @@
  (simSelf.registerr = ReceiverResultReg);
  (optStatus.isReceiverResultRegLive = 1);
  (optStatus.ssEntry = (&simSelf));
- assert((methodOrBlockNumTemps == methodOrBlockNumArgs)
- || (isQuickPrimitiveIndex(primitiveIndex)));
+ assert(methodOrBlockNumTemps >= methodOrBlockNumArgs);
  assert((numRegArgs()) <= 2);
  if (((methodOrBlockNumArgs >= 1) && (methodOrBlockNumArgs <= 1))) {
  desc = simStackAt(0);

Modified: branches/Cog/nscogsrc/vm/cogit.h
===================================================================
--- branches/Cog/nscogsrc/vm/cogit.h 2014-09-30 17:23:24 UTC (rev 3086)
+++ branches/Cog/nscogsrc/vm/cogit.h 2014-09-30 23:39:10 UTC (rev 3087)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ CCodeGenerator VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
  */
 
 

Modified: branches/Cog/nsspursrc/vm/cogit.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.c 2014-09-30 17:23:24 UTC (rev 3086)
+++ branches/Cog/nsspursrc/vm/cogit.c 2014-09-30 23:39:10 UTC (rev 3087)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ CCodeGenerator VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
    from
- StackToRegisterMappingCogit VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ StackToRegisterMappingCogit VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -22693,9 +22693,16 @@
  return ssPushRegister(SendNumArgsReg);
 }
 
+
+/* If a frameless method (not a block), only argument temps can be accessed.
+ This is assured by the use of needsFrameIfMod16GENumArgs: in pushTemp. */
+
 static sqInt
 genPushTemporaryVariable(sqInt index)
 {
+ assert(inBlock
+ || (needsFrame
+ || (index < methodOrBlockNumArgs)));
  return ssPushDesc(simStack[index]);
 }
 
@@ -23637,7 +23644,7 @@
 }
 
 
-/* The register receiver (he closure itself) and args are pushed by the
+/* The register receiver (the closure itself) and args are pushed by the
  closure value primitive(s)
  and hence a frameless block has all arguments and copied values pushed to
  the stack. However,
@@ -23657,7 +23664,6 @@
  (optStatus.isReceiverResultRegLive = 1);
  (optStatus.ssEntry = (&simSelf));
  assert(methodOrBlockNumTemps >= methodOrBlockNumArgs);
- assert((numRegArgs()) <= 2);
  for (i = 0; i < methodOrBlockNumTemps; i += 1) {
  desc = simStackAt(i);
  (desc->type = SSBaseOffset);
@@ -23682,8 +23688,7 @@
  (simSelf.registerr = ReceiverResultReg);
  (optStatus.isReceiverResultRegLive = 1);
  (optStatus.ssEntry = (&simSelf));
- assert((methodOrBlockNumTemps == methodOrBlockNumArgs)
- || (isQuickPrimitiveIndex(primitiveIndex)));
+ assert(methodOrBlockNumTemps >= methodOrBlockNumArgs);
  assert((numRegArgs()) <= 2);
  if (((methodOrBlockNumArgs >= 1) && (methodOrBlockNumArgs <= 2))) {
  desc = simStackAt(0);

Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h 2014-09-30 17:23:24 UTC (rev 3086)
+++ branches/Cog/nsspursrc/vm/cogit.h 2014-09-30 23:39:10 UTC (rev 3087)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ CCodeGenerator VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
  */
 
 


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Tue Sep 30 10:22:20 PDT 2014
   + Tue Sep 30 16:39:14 PDT 2014

Modified: branches/Cog/sistasrc/vm/cogit.c
===================================================================
--- branches/Cog/sistasrc/vm/cogit.c 2014-09-30 17:23:24 UTC (rev 3086)
+++ branches/Cog/sistasrc/vm/cogit.c 2014-09-30 23:39:10 UTC (rev 3087)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ CCodeGenerator VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
    from
- SistaStackToRegisterMappingCogit VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ SistaStackToRegisterMappingCogit VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
  */
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6 " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -21669,9 +21669,16 @@
  return ssPushRegister(SendNumArgsReg);
 }
 
+
+/* If a frameless method (not a block), only argument temps can be accessed.
+ This is assured by the use of needsFrameIfMod16GENumArgs: in pushTemp. */
+
 static sqInt
 genPushTemporaryVariable(sqInt index)
 {
+ assert(inBlock
+ || (needsFrame
+ || (index < methodOrBlockNumArgs)));
  return ssPushDesc(simStack[index]);
 }
 
@@ -22377,7 +22384,7 @@
 }
 
 
-/* The register receiver (he closure itself) and args are pushed by the
+/* The register receiver (the closure itself) and args are pushed by the
  closure value primitive(s)
  and hence a frameless block has all arguments and copied values pushed to
  the stack. However,
@@ -22397,7 +22404,6 @@
  (optStatus.isReceiverResultRegLive = 1);
  (optStatus.ssEntry = (&simSelf));
  assert(methodOrBlockNumTemps >= methodOrBlockNumArgs);
- assert((numRegArgs()) <= 2);
  for (i = 0; i < methodOrBlockNumTemps; i += 1) {
  desc = simStackAt(i);
  (desc->type = SSBaseOffset);
@@ -22422,8 +22428,7 @@
  (simSelf.registerr = ReceiverResultReg);
  (optStatus.isReceiverResultRegLive = 1);
  (optStatus.ssEntry = (&simSelf));
- assert((methodOrBlockNumTemps == methodOrBlockNumArgs)
- || (isQuickPrimitiveIndex(primitiveIndex)));
+ assert(methodOrBlockNumTemps >= methodOrBlockNumArgs);
  assert((numRegArgs()) <= 2);
  if (((methodOrBlockNumArgs >= 1) && (methodOrBlockNumArgs <= 1))) {
  desc = simStackAt(0);

Modified: branches/Cog/sistasrc/vm/cogit.h
===================================================================
--- branches/Cog/sistasrc/vm/cogit.h 2014-09-30 17:23:24 UTC (rev 3086)
+++ branches/Cog/sistasrc/vm/cogit.h 2014-09-30 23:39:10 UTC (rev 3087)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ CCodeGenerator VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
  */
 
 

Modified: branches/Cog/spursistasrc/vm/cogit.c
===================================================================
--- branches/Cog/spursistasrc/vm/cogit.c 2014-09-30 17:23:24 UTC (rev 3086)
+++ branches/Cog/spursistasrc/vm/cogit.c 2014-09-30 23:39:10 UTC (rev 3087)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ CCodeGenerator VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
    from
- SistaStackToRegisterMappingCogit VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ SistaStackToRegisterMappingCogit VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
  */
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6 " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -23184,9 +23184,16 @@
  return ssPushRegister(SendNumArgsReg);
 }
 
+
+/* If a frameless method (not a block), only argument temps can be accessed.
+ This is assured by the use of needsFrameIfMod16GENumArgs: in pushTemp. */
+
 static sqInt
 genPushTemporaryVariable(sqInt index)
 {
+ assert(inBlock
+ || (needsFrame
+ || (index < methodOrBlockNumArgs)));
  return ssPushDesc(simStack[index]);
 }
 
@@ -23895,7 +23902,7 @@
 }
 
 
-/* The register receiver (he closure itself) and args are pushed by the
+/* The register receiver (the closure itself) and args are pushed by the
  closure value primitive(s)
  and hence a frameless block has all arguments and copied values pushed to
  the stack. However,
@@ -23915,7 +23922,6 @@
  (optStatus.isReceiverResultRegLive = 1);
  (optStatus.ssEntry = (&simSelf));
  assert(methodOrBlockNumTemps >= methodOrBlockNumArgs);
- assert((numRegArgs()) <= 2);
  for (i = 0; i < methodOrBlockNumTemps; i += 1) {
  desc = simStackAt(i);
  (desc->type = SSBaseOffset);
@@ -23940,8 +23946,7 @@
  (simSelf.registerr = ReceiverResultReg);
  (optStatus.isReceiverResultRegLive = 1);
  (optStatus.ssEntry = (&simSelf));
- assert((methodOrBlockNumTemps == methodOrBlockNumArgs)
- || (isQuickPrimitiveIndex(primitiveIndex)));
+ assert(methodOrBlockNumTemps >= methodOrBlockNumArgs);
  assert((numRegArgs()) <= 2);
  if (((methodOrBlockNumArgs >= 1) && (methodOrBlockNumArgs <= 2))) {
  desc = simStackAt(0);

Modified: branches/Cog/spursistasrc/vm/cogit.h
===================================================================
--- branches/Cog/spursistasrc/vm/cogit.h 2014-09-30 17:23:24 UTC (rev 3086)
+++ branches/Cog/spursistasrc/vm/cogit.h 2014-09-30 23:39:10 UTC (rev 3087)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ CCodeGenerator VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
  */
 
 

Modified: branches/Cog/spursrc/vm/cogit.c
===================================================================
--- branches/Cog/spursrc/vm/cogit.c 2014-09-30 17:23:24 UTC (rev 3086)
+++ branches/Cog/spursrc/vm/cogit.c 2014-09-30 23:39:10 UTC (rev 3087)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ CCodeGenerator VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
    from
- StackToRegisterMappingCogit VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ StackToRegisterMappingCogit VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -20745,9 +20745,16 @@
  return ssPushRegister(SendNumArgsReg);
 }
 
+
+/* If a frameless method (not a block), only argument temps can be accessed.
+ This is assured by the use of needsFrameIfMod16GENumArgs: in pushTemp. */
+
 static sqInt
 genPushTemporaryVariable(sqInt index)
 {
+ assert(inBlock
+ || (needsFrame
+ || (index < methodOrBlockNumArgs)));
  return ssPushDesc(simStack[index]);
 }
 
@@ -21640,7 +21647,7 @@
 }
 
 
-/* The register receiver (he closure itself) and args are pushed by the
+/* The register receiver (the closure itself) and args are pushed by the
  closure value primitive(s)
  and hence a frameless block has all arguments and copied values pushed to
  the stack. However,
@@ -21660,7 +21667,6 @@
  (optStatus.isReceiverResultRegLive = 1);
  (optStatus.ssEntry = (&simSelf));
  assert(methodOrBlockNumTemps >= methodOrBlockNumArgs);
- assert((numRegArgs()) <= 2);
  for (i = 0; i < methodOrBlockNumTemps; i += 1) {
  desc = simStackAt(i);
  (desc->type = SSBaseOffset);
@@ -21685,8 +21691,7 @@
  (simSelf.registerr = ReceiverResultReg);
  (optStatus.isReceiverResultRegLive = 1);
  (optStatus.ssEntry = (&simSelf));
- assert((methodOrBlockNumTemps == methodOrBlockNumArgs)
- || (isQuickPrimitiveIndex(primitiveIndex)));
+ assert(methodOrBlockNumTemps >= methodOrBlockNumArgs);
  assert((numRegArgs()) <= 2);
  if (((methodOrBlockNumArgs >= 1) && (methodOrBlockNumArgs <= 2))) {
  desc = simStackAt(0);

Modified: branches/Cog/spursrc/vm/cogit.h
===================================================================
--- branches/Cog/spursrc/vm/cogit.h 2014-09-30 17:23:24 UTC (rev 3086)
+++ branches/Cog/spursrc/vm/cogit.h 2014-09-30 23:39:10 UTC (rev 3087)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ CCodeGenerator VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
  */
 
 

Modified: branches/Cog/src/vm/cogit.c
===================================================================
--- branches/Cog/src/vm/cogit.c 2014-09-30 17:23:24 UTC (rev 3086)
+++ branches/Cog/src/vm/cogit.c 2014-09-30 23:39:10 UTC (rev 3087)
@@ -1,9 +1,9 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ CCodeGenerator VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
    from
- StackToRegisterMappingCogit VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ StackToRegisterMappingCogit VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -19329,9 +19329,16 @@
  return ssPushRegister(SendNumArgsReg);
 }
 
+
+/* If a frameless method (not a block), only argument temps can be accessed.
+ This is assured by the use of needsFrameIfMod16GENumArgs: in pushTemp. */
+
 static sqInt
 genPushTemporaryVariable(sqInt index)
 {
+ assert(inBlock
+ || (needsFrame
+ || (index < methodOrBlockNumArgs)));
  return ssPushDesc(simStack[index]);
 }
 
@@ -20221,7 +20228,7 @@
 }
 
 
-/* The register receiver (he closure itself) and args are pushed by the
+/* The register receiver (the closure itself) and args are pushed by the
  closure value primitive(s)
  and hence a frameless block has all arguments and copied values pushed to
  the stack. However,
@@ -20241,7 +20248,6 @@
  (optStatus.isReceiverResultRegLive = 1);
  (optStatus.ssEntry = (&simSelf));
  assert(methodOrBlockNumTemps >= methodOrBlockNumArgs);
- assert((numRegArgs()) <= 2);
  for (i = 0; i < methodOrBlockNumTemps; i += 1) {
  desc = simStackAt(i);
  (desc->type = SSBaseOffset);
@@ -20266,8 +20272,7 @@
  (simSelf.registerr = ReceiverResultReg);
  (optStatus.isReceiverResultRegLive = 1);
  (optStatus.ssEntry = (&simSelf));
- assert((methodOrBlockNumTemps == methodOrBlockNumArgs)
- || (isQuickPrimitiveIndex(primitiveIndex)));
+ assert(methodOrBlockNumTemps >= methodOrBlockNumArgs);
  assert((numRegArgs()) <= 2);
  if (((methodOrBlockNumArgs >= 1) && (methodOrBlockNumArgs <= 1))) {
  desc = simStackAt(0);

Modified: branches/Cog/src/vm/cogit.h
===================================================================
--- branches/Cog/src/vm/cogit.h 2014-09-30 17:23:24 UTC (rev 3086)
+++ branches/Cog/src/vm/cogit.h 2014-09-30 23:39:10 UTC (rev 3087)
@@ -1,5 +1,5 @@
 /* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.888 uuid: e58fb0f2-df49-4ac0-8e84-48499470b5f6
+ CCodeGenerator VMMaker.oscog-eem.889 uuid: f7ca0f83-4116-4c07-8307-3c23f8f5600a
  */