[Vm-dev] [commit][3261] CogVM source as per VMMaker.oscog-eem.1073

commits at squeakvm.org commits at squeakvm.org
Sun Feb 22 23:10:11 UTC 2015


Revision: 3261
Author:   eliot
Date:     2015-02-22 15:10:08 -0800 (Sun, 22 Feb 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1073

General:
Add an option to control FailUnbalancedPrimitives and
no longer burden the Stack VMs with the responsibility.

Newspeak VM:
Add an optional CheckPrivacyViolations option and obey it (thanks, Ryan).

Modified Paths:
--------------
    branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
    branches/Cog/nsspurstacksrc/vm/interp.c
    branches/Cog/spurstack64src/vm/gcc3x-interp.c
    branches/Cog/spurstack64src/vm/interp.c
    branches/Cog/spurstacksrc/vm/gcc3x-interp.c
    branches/Cog/spurstacksrc/vm/interp.c
    branches/Cog/stacksrc/vm/gcc3x-interp.c
    branches/Cog/stacksrc/vm/interp.c

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

Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2015-02-21 06:09:27 UTC (rev 3260)
+++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2015-02-22 23:10:08 UTC (rev 3261)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1073 uuid: f5e526a5-587e-4182-856d-519220e8efa9
    from
-	StackInterpreter VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554
+	StackInterpreter VMMaker.oscog-eem.1073 uuid: f5e526a5-587e-4182-856d-519220e8efa9
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1073 uuid: f5e526a5-587e-4182-856d-519220e8efa9 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -150,6 +150,7 @@
 #define CacheProbeMax 3
 #define CharacterTable null
 #define CharacterValueIndex 0
+#define CheckPrivacyViolations 1
 #define ClassAlien 52
 #define ClassArray 7
 #define ClassArrayCompactIndex 51
@@ -202,7 +203,7 @@
 #define ExcessSignalsIndex 2
 #define ExternalObjectsArray 38
 #define ExtraRootsSize 2048
-#define FailImbalancedPrimitives 1
+#define FailImbalancedPrimitives 0
 #define FalseObject 1
 #define FirstLinkIndex 0
 #define FoxCallerContext 4
@@ -248,6 +249,7 @@
 #define MethodCacheSize 4096
 #define MethodDictionaryIndex 1
 #define MethodHeaderArgCountShift 25
+#define MethodHeaderFlagBitPosition 29
 #define MethodHeaderTempCountShift 19
 #define MethodIndex 3
 #define MillisecondClockMask 0x1FFFFFFF
@@ -961,6 +963,7 @@
 static usqInt totalBytesInSegments(void);
 static sqInt writeImageSegmentsToFile(sqImageFile aBinaryStream) NoDbgRegParms;
 static sqInt writeSegmentnextSegmenttoFile(SpurSegmentInfo *segment, SpurSegmentInfo *nextSegment, sqImageFile aBinaryStream) NoDbgRegParms;
+static sqInt accessModifierOfMethod(sqInt methodObj) NoDbgRegParms;
 sqInt activeProcess(void);
 static void addLastLinktoList(sqInt proc, sqInt aList) NoDbgRegParms;
 static void addNewMethodToCache(sqInt classObj) NoDbgRegParms;
@@ -1455,6 +1458,7 @@
 _iss sqInt gcSemaphoreIndex;
 _iss sqInt globalSessionID;
 _iss sqInt imageFloatsBigEndian;
+_iss sqInt isPrivateSend;
 _iss sqInt longRunningPrimitiveSignalUndelivered;
 _iss sqInt maxExtSemTabSizeSet;
 _iss sqInt rememberedSetRedZone;
@@ -2110,7 +2114,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1072";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1073";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -5671,7 +5675,7 @@
 					sendBreakpointreceiver(firstFixedFieldOfMaybeImmediate(GIV(messageSelector)), lengthOfMaybeImmediate(GIV(messageSelector)), longAtPointer(localSP + (GIV(argumentCount) * BytesPerOop)));
 					
 					/* begin internalFindNewMethod */
-
+					
 					/* shift drops two low-order zeros from addresses */
 
 					hash1 = GIV(messageSelector) ^ lkupClassTag;
@@ -5741,6 +5745,9 @@
 					localFP = pointerForOop(GIV(framePointer));
 					addNewMethodToCache(GIV(lkupClass));
 				l239:	;
+
+					GIV(isPrivateSend) = 0;
+
 				l238:	/* end internalFindNewMethod */;
 					/* begin internalExecuteNewMethod */
 					if (primitiveFunctionPointer != 0) {
@@ -5787,10 +5794,7 @@
 						/* begin slowPrimitiveResponse */
 						assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 						assert((remapBufferCount()) == 0);
-						nArgs = GIV(argumentCount);
-						savedStackPointer = GIV(stackPointer);
-						savedFramePointer = GIV(framePointer);
-
+						
 						/* begin initPrimCall */
 						GIV(primFailCode) = 0;
 						dispatchFunctionPointer(primitiveFunctionPointer);
@@ -5808,18 +5812,7 @@
 								GIV(primFailCode) = PrimErrWritePastObject;
 							}
 						}
-						if ((!GIV(primFailCode))
-						 && ((GIV(framePointer) == savedFramePointer)
-						 && (!0))) {
-
-							/* Don't fail if primitive has done something radical, e.g. perform: */
-
-							if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-								flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-								GIV(stackPointer) = savedStackPointer;
-								failUnbalancedPrimitive();
-							}
-						}
+						
 						if (GIV(nextProfileTick) > 0) {
 							checkProfileTick(GIV(newMethod));
 						}
@@ -13177,6 +13170,8 @@
 								: tagBits)
 						: (longAt(localAbsentReceiver)) & 0x3FFFFF);
 					assert((classForClassTag(lkupClassTag)) != (nilObject()));
+					GIV(isPrivateSend) = 1;
+
 					goto commonSend;
 				}
 			}
@@ -19951,10 +19946,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -19972,18 +19964,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -22411,10 +22392,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -22432,18 +22410,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -22663,10 +22630,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -22684,18 +22648,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -48396,7 +48349,19 @@
 	return nWritten;
 }
 
+static sqInt
+accessModifierOfMethod(sqInt methodObj)
+{
+    sqInt header;
 
+	/* begin accessModifierOfMethodHeader: */
+	/* begin methodHeaderOf: */
+	assert(isCompiledMethod(methodObj));
+	header = longAt((methodObj + BaseHeaderSize) + (HeaderIndex << (shiftForWord())));
+	return (((usqInt) header) >> MethodHeaderFlagBitPosition) & 3;
+}
+
+
 /*	Answer the current activeProcess. */
 /*	useful for VM debugging */
 
@@ -53867,6 +53832,19 @@
 		}
 		found = 0;
 	l1:	/* end lookupMethodInDictionary: */;
+		if ((!GIV(isPrivateSend))
+		 && ((GIV(messageSelector) != (longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SelectorDoesNotUnderstand << (shiftForWord())))))
+		 && ((accessModifierOfMethod(GIV(newMethod))) != 0))) {
+			print(nameOfClass(currentClass));
+			/* begin space */
+			/* begin printChar: */
+			putchar(' ');
+			printStringOf(GIV(messageSelector));
+			print(" from ");
+			printStringOf(fetchPointerofObject(0, methodClassOf(GIV(method))));
+			/* begin cr */
+			printf("\n");
+		}
 		if (found) {
 			return currentClass;
 		}
@@ -65759,10 +65737,7 @@
 	/* begin slowPrimitiveResponse */
 	assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 	assert((remapBufferCount()) == 0);
-	nArgs = GIV(argumentCount);
-	savedStackPointer = GIV(stackPointer);
-	savedFramePointer = GIV(framePointer);
-
+	
 	/* begin initPrimCall */
 	GIV(primFailCode) = 0;
 	dispatchFunctionPointer(primitiveFunctionPointer);
@@ -65780,18 +65755,7 @@
 			GIV(primFailCode) = PrimErrWritePastObject;
 		}
 	}
-	if ((!GIV(primFailCode))
-	 && ((GIV(framePointer) == savedFramePointer)
-	 && (!0))) {
-
-		/* Don't fail if primitive has done something radical, e.g. perform: */
-
-		if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-			flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-			GIV(stackPointer) = savedStackPointer;
-			failUnbalancedPrimitive();
-		}
-	}
+	
 	if (GIV(nextProfileTick) > 0) {
 		checkProfileTick(GIV(newMethod));
 	}
@@ -65897,10 +65861,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -65918,18 +65879,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -66128,10 +66078,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -66149,18 +66096,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -67437,10 +67373,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -67458,18 +67391,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}

Modified: branches/Cog/nsspurstacksrc/vm/interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/interp.c	2015-02-21 06:09:27 UTC (rev 3260)
+++ branches/Cog/nsspurstacksrc/vm/interp.c	2015-02-22 23:10:08 UTC (rev 3261)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1073 uuid: f5e526a5-587e-4182-856d-519220e8efa9
    from
-	StackInterpreter VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554
+	StackInterpreter VMMaker.oscog-eem.1073 uuid: f5e526a5-587e-4182-856d-519220e8efa9
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1073 uuid: f5e526a5-587e-4182-856d-519220e8efa9 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -147,6 +147,7 @@
 #define CacheProbeMax 3
 #define CharacterTable null
 #define CharacterValueIndex 0
+#define CheckPrivacyViolations 1
 #define ClassAlien 52
 #define ClassArray 7
 #define ClassArrayCompactIndex 51
@@ -199,7 +200,7 @@
 #define ExcessSignalsIndex 2
 #define ExternalObjectsArray 38
 #define ExtraRootsSize 2048
-#define FailImbalancedPrimitives 1
+#define FailImbalancedPrimitives 0
 #define FalseObject 1
 #define FirstLinkIndex 0
 #define FoxCallerContext 4
@@ -245,6 +246,7 @@
 #define MethodCacheSize 4096
 #define MethodDictionaryIndex 1
 #define MethodHeaderArgCountShift 25
+#define MethodHeaderFlagBitPosition 29
 #define MethodHeaderTempCountShift 19
 #define MethodIndex 3
 #define MillisecondClockMask 0x1FFFFFFF
@@ -958,6 +960,7 @@
 static usqInt totalBytesInSegments(void);
 static sqInt writeImageSegmentsToFile(sqImageFile aBinaryStream) NoDbgRegParms;
 static sqInt writeSegmentnextSegmenttoFile(SpurSegmentInfo *segment, SpurSegmentInfo *nextSegment, sqImageFile aBinaryStream) NoDbgRegParms;
+static sqInt accessModifierOfMethod(sqInt methodObj) NoDbgRegParms;
 sqInt activeProcess(void);
 static void addLastLinktoList(sqInt proc, sqInt aList) NoDbgRegParms;
 static void addNewMethodToCache(sqInt classObj) NoDbgRegParms;
@@ -1452,6 +1455,7 @@
 _iss sqInt gcSemaphoreIndex;
 _iss sqInt globalSessionID;
 _iss sqInt imageFloatsBigEndian;
+_iss sqInt isPrivateSend;
 _iss sqInt longRunningPrimitiveSignalUndelivered;
 _iss sqInt maxExtSemTabSizeSet;
 _iss sqInt rememberedSetRedZone;
@@ -2107,7 +2111,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1072";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1073";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -5662,7 +5666,7 @@
 					sendBreakpointreceiver(firstFixedFieldOfMaybeImmediate(GIV(messageSelector)), lengthOfMaybeImmediate(GIV(messageSelector)), longAtPointer(localSP + (GIV(argumentCount) * BytesPerOop)));
 					
 					/* begin internalFindNewMethod */
-
+					
 					/* shift drops two low-order zeros from addresses */
 
 					hash1 = GIV(messageSelector) ^ lkupClassTag;
@@ -5732,6 +5736,9 @@
 					localFP = pointerForOop(GIV(framePointer));
 					addNewMethodToCache(GIV(lkupClass));
 				l239:	;
+
+					GIV(isPrivateSend) = 0;
+
 				l238:	/* end internalFindNewMethod */;
 					/* begin internalExecuteNewMethod */
 					if (primitiveFunctionPointer != 0) {
@@ -5778,10 +5785,7 @@
 						/* begin slowPrimitiveResponse */
 						assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 						assert((remapBufferCount()) == 0);
-						nArgs = GIV(argumentCount);
-						savedStackPointer = GIV(stackPointer);
-						savedFramePointer = GIV(framePointer);
-
+						
 						/* begin initPrimCall */
 						GIV(primFailCode) = 0;
 						dispatchFunctionPointer(primitiveFunctionPointer);
@@ -5799,18 +5803,7 @@
 								GIV(primFailCode) = PrimErrWritePastObject;
 							}
 						}
-						if ((!GIV(primFailCode))
-						 && ((GIV(framePointer) == savedFramePointer)
-						 && (!0))) {
-
-							/* Don't fail if primitive has done something radical, e.g. perform: */
-
-							if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-								flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-								GIV(stackPointer) = savedStackPointer;
-								failUnbalancedPrimitive();
-							}
-						}
+						
 						if (GIV(nextProfileTick) > 0) {
 							checkProfileTick(GIV(newMethod));
 						}
@@ -13168,6 +13161,8 @@
 								: tagBits)
 						: (longAt(localAbsentReceiver)) & 0x3FFFFF);
 					assert((classForClassTag(lkupClassTag)) != (nilObject()));
+					GIV(isPrivateSend) = 1;
+
 					goto commonSend;
 				}
 			}
@@ -19942,10 +19937,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -19963,18 +19955,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -22402,10 +22383,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -22423,18 +22401,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -22654,10 +22621,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -22675,18 +22639,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -48387,7 +48340,19 @@
 	return nWritten;
 }
 
+static sqInt
+accessModifierOfMethod(sqInt methodObj)
+{
+    sqInt header;
 
+	/* begin accessModifierOfMethodHeader: */
+	/* begin methodHeaderOf: */
+	assert(isCompiledMethod(methodObj));
+	header = longAt((methodObj + BaseHeaderSize) + (HeaderIndex << (shiftForWord())));
+	return (((usqInt) header) >> MethodHeaderFlagBitPosition) & 3;
+}
+
+
 /*	Answer the current activeProcess. */
 /*	useful for VM debugging */
 
@@ -53858,6 +53823,19 @@
 		}
 		found = 0;
 	l1:	/* end lookupMethodInDictionary: */;
+		if ((!GIV(isPrivateSend))
+		 && ((GIV(messageSelector) != (longAt((GIV(specialObjectsOop) + BaseHeaderSize) + (SelectorDoesNotUnderstand << (shiftForWord())))))
+		 && ((accessModifierOfMethod(GIV(newMethod))) != 0))) {
+			print(nameOfClass(currentClass));
+			/* begin space */
+			/* begin printChar: */
+			putchar(' ');
+			printStringOf(GIV(messageSelector));
+			print(" from ");
+			printStringOf(fetchPointerofObject(0, methodClassOf(GIV(method))));
+			/* begin cr */
+			printf("\n");
+		}
 		if (found) {
 			return currentClass;
 		}
@@ -65750,10 +65728,7 @@
 	/* begin slowPrimitiveResponse */
 	assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 	assert((remapBufferCount()) == 0);
-	nArgs = GIV(argumentCount);
-	savedStackPointer = GIV(stackPointer);
-	savedFramePointer = GIV(framePointer);
-
+	
 	/* begin initPrimCall */
 	GIV(primFailCode) = 0;
 	dispatchFunctionPointer(primitiveFunctionPointer);
@@ -65771,18 +65746,7 @@
 			GIV(primFailCode) = PrimErrWritePastObject;
 		}
 	}
-	if ((!GIV(primFailCode))
-	 && ((GIV(framePointer) == savedFramePointer)
-	 && (!0))) {
-
-		/* Don't fail if primitive has done something radical, e.g. perform: */
-
-		if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-			flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-			GIV(stackPointer) = savedStackPointer;
-			failUnbalancedPrimitive();
-		}
-	}
+	
 	if (GIV(nextProfileTick) > 0) {
 		checkProfileTick(GIV(newMethod));
 	}
@@ -65888,10 +65852,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -65909,18 +65870,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -66119,10 +66069,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -66140,18 +66087,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -67428,10 +67364,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -67449,18 +67382,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Fri Feb 20 22:04:44 PST 2015
   + Sun Feb 22 15:09:48 PST 2015

Modified: branches/Cog/spurstack64src/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/spurstack64src/vm/gcc3x-interp.c	2015-02-21 06:09:27 UTC (rev 3260)
+++ branches/Cog/spurstack64src/vm/gcc3x-interp.c	2015-02-22 23:10:08 UTC (rev 3261)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1073 uuid: f5e526a5-587e-4182-856d-519220e8efa9
    from
-	StackInterpreter VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554
+	StackInterpreter VMMaker.oscog-eem.1073 uuid: f5e526a5-587e-4182-856d-519220e8efa9
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1073 uuid: f5e526a5-587e-4182-856d-519220e8efa9 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -128,7 +128,7 @@
 #define ActiveProcessIndex 1
 #define AlternateHeaderHasPrimFlag 0x80000
 #define AlternateHeaderNumLiteralsMask 0x7FFF
-#define AltLongStoreBytecode 129
+#define AltLongStoreBytecode 234
 #define AtCacheFixedFields 4
 #define AtCacheFmt 3
 #define AtCacheMask 0x1C
@@ -158,6 +158,7 @@
 #define CacheProbeMax 3
 #define CharacterTable null
 #define CharacterValueIndex 0
+#define CheckPrivacyViolations 0
 #define ClassAlien 52
 #define ClassArray 7
 #define ClassArrayCompactIndex 51
@@ -208,7 +209,7 @@
 #define ExcessSignalsIndex 2
 #define ExternalObjectsArray 38
 #define ExtraRootsSize 2048
-#define FailImbalancedPrimitives 1
+#define FailImbalancedPrimitives 0
 #define FalseObject 1
 #define FirstLinkIndex 0
 #define FoxCallerContext 8
@@ -2131,7 +2132,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1072]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1073]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -5581,7 +5582,7 @@
 					sendBreakpointreceiver(firstFixedFieldOfMaybeImmediate(GIV(messageSelector)), lengthOfMaybeImmediate(GIV(messageSelector)), longAtPointer(localSP + (GIV(argumentCount) * BytesPerOop)));
 					
 					/* begin internalFindNewMethod */
-
+					
 					/* shift drops two low-order zeros from addresses */
 
 					hash1 = GIV(messageSelector) ^ lkupClassTag;
@@ -5651,6 +5652,8 @@
 					localFP = pointerForOop(GIV(framePointer));
 					addNewMethodToCache(GIV(lkupClass));
 				l105:	;
+
+					
 				l104:	/* end internalFindNewMethod */;
 					/* begin internalExecuteNewMethod */
 					if (primitiveFunctionPointer != 0) {
@@ -5697,10 +5700,7 @@
 						/* begin slowPrimitiveResponse */
 						assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 						assert((remapBufferCount()) == 0);
-						nArgs = GIV(argumentCount);
-						savedStackPointer = GIV(stackPointer);
-						savedFramePointer = GIV(framePointer);
-
+						
 						/* begin initPrimCall */
 						GIV(primFailCode) = 0;
 						dispatchFunctionPointer(primitiveFunctionPointer);
@@ -5718,18 +5718,7 @@
 								GIV(primFailCode) = PrimErrWritePastObject;
 							}
 						}
-						if ((!GIV(primFailCode))
-						 && ((GIV(framePointer) == savedFramePointer)
-						 && (!0))) {
-
-							/* Don't fail if primitive has done something radical, e.g. perform: */
-
-							if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-								flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-								GIV(stackPointer) = savedStackPointer;
-								failUnbalancedPrimitive();
-							}
-						}
+						
 						if (GIV(nextProfileTick) > 0) {
 							checkProfileTick(GIV(newMethod));
 						}
@@ -16352,10 +16341,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -16373,18 +16359,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -18870,10 +18845,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -18891,18 +18863,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -19115,10 +19076,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -19136,18 +19094,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -54094,6 +54041,7 @@
 		}
 		found = 0;
 	l1:	/* end lookupMethodInDictionary: */;
+		
 		if (found) {
 			return currentClass;
 		}
@@ -65546,10 +65494,7 @@
 	/* begin slowPrimitiveResponse */
 	assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 	assert((remapBufferCount()) == 0);
-	nArgs = GIV(argumentCount);
-	savedStackPointer = GIV(stackPointer);
-	savedFramePointer = GIV(framePointer);
-
+	
 	/* begin initPrimCall */
 	GIV(primFailCode) = 0;
 	dispatchFunctionPointer(primitiveFunctionPointer);
@@ -65567,18 +65512,7 @@
 			GIV(primFailCode) = PrimErrWritePastObject;
 		}
 	}
-	if ((!GIV(primFailCode))
-	 && ((GIV(framePointer) == savedFramePointer)
-	 && (!0))) {
-
-		/* Don't fail if primitive has done something radical, e.g. perform: */
-
-		if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-			flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-			GIV(stackPointer) = savedStackPointer;
-			failUnbalancedPrimitive();
-		}
-	}
+	
 	if (GIV(nextProfileTick) > 0) {
 		checkProfileTick(GIV(newMethod));
 	}
@@ -65684,10 +65618,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -65705,18 +65636,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -65910,10 +65830,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -65931,18 +65848,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -67168,10 +67074,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -67189,18 +67092,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}

Modified: branches/Cog/spurstack64src/vm/interp.c
===================================================================
--- branches/Cog/spurstack64src/vm/interp.c	2015-02-21 06:09:27 UTC (rev 3260)
+++ branches/Cog/spurstack64src/vm/interp.c	2015-02-22 23:10:08 UTC (rev 3261)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1073 uuid: f5e526a5-587e-4182-856d-519220e8efa9
    from
-	StackInterpreter VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554
+	StackInterpreter VMMaker.oscog-eem.1073 uuid: f5e526a5-587e-4182-856d-519220e8efa9
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1073 uuid: f5e526a5-587e-4182-856d-519220e8efa9 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -125,7 +125,7 @@
 #define ActiveProcessIndex 1
 #define AlternateHeaderHasPrimFlag 0x80000
 #define AlternateHeaderNumLiteralsMask 0x7FFF
-#define AltLongStoreBytecode 129
+#define AltLongStoreBytecode 234
 #define AtCacheFixedFields 4
 #define AtCacheFmt 3
 #define AtCacheMask 0x1C
@@ -155,6 +155,7 @@
 #define CacheProbeMax 3
 #define CharacterTable null
 #define CharacterValueIndex 0
+#define CheckPrivacyViolations 0
 #define ClassAlien 52
 #define ClassArray 7
 #define ClassArrayCompactIndex 51
@@ -205,7 +206,7 @@
 #define ExcessSignalsIndex 2
 #define ExternalObjectsArray 38
 #define ExtraRootsSize 2048
-#define FailImbalancedPrimitives 1
+#define FailImbalancedPrimitives 0
 #define FalseObject 1
 #define FirstLinkIndex 0
 #define FoxCallerContext 8
@@ -2128,7 +2129,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1072]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1073]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -5572,7 +5573,7 @@
 					sendBreakpointreceiver(firstFixedFieldOfMaybeImmediate(GIV(messageSelector)), lengthOfMaybeImmediate(GIV(messageSelector)), longAtPointer(localSP + (GIV(argumentCount) * BytesPerOop)));
 					
 					/* begin internalFindNewMethod */
-
+					
 					/* shift drops two low-order zeros from addresses */
 
 					hash1 = GIV(messageSelector) ^ lkupClassTag;
@@ -5642,6 +5643,8 @@
 					localFP = pointerForOop(GIV(framePointer));
 					addNewMethodToCache(GIV(lkupClass));
 				l105:	;
+
+					
 				l104:	/* end internalFindNewMethod */;
 					/* begin internalExecuteNewMethod */
 					if (primitiveFunctionPointer != 0) {
@@ -5688,10 +5691,7 @@
 						/* begin slowPrimitiveResponse */
 						assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 						assert((remapBufferCount()) == 0);
-						nArgs = GIV(argumentCount);
-						savedStackPointer = GIV(stackPointer);
-						savedFramePointer = GIV(framePointer);
-
+						
 						/* begin initPrimCall */
 						GIV(primFailCode) = 0;
 						dispatchFunctionPointer(primitiveFunctionPointer);
@@ -5709,18 +5709,7 @@
 								GIV(primFailCode) = PrimErrWritePastObject;
 							}
 						}
-						if ((!GIV(primFailCode))
-						 && ((GIV(framePointer) == savedFramePointer)
-						 && (!0))) {
-
-							/* Don't fail if primitive has done something radical, e.g. perform: */
-
-							if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-								flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-								GIV(stackPointer) = savedStackPointer;
-								failUnbalancedPrimitive();
-							}
-						}
+						
 						if (GIV(nextProfileTick) > 0) {
 							checkProfileTick(GIV(newMethod));
 						}
@@ -16343,10 +16332,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -16364,18 +16350,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -18861,10 +18836,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -18882,18 +18854,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -19106,10 +19067,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -19127,18 +19085,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -54085,6 +54032,7 @@
 		}
 		found = 0;
 	l1:	/* end lookupMethodInDictionary: */;
+		
 		if (found) {
 			return currentClass;
 		}
@@ -65537,10 +65485,7 @@
 	/* begin slowPrimitiveResponse */
 	assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 	assert((remapBufferCount()) == 0);
-	nArgs = GIV(argumentCount);
-	savedStackPointer = GIV(stackPointer);
-	savedFramePointer = GIV(framePointer);
-
+	
 	/* begin initPrimCall */
 	GIV(primFailCode) = 0;
 	dispatchFunctionPointer(primitiveFunctionPointer);
@@ -65558,18 +65503,7 @@
 			GIV(primFailCode) = PrimErrWritePastObject;
 		}
 	}
-	if ((!GIV(primFailCode))
-	 && ((GIV(framePointer) == savedFramePointer)
-	 && (!0))) {
-
-		/* Don't fail if primitive has done something radical, e.g. perform: */
-
-		if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-			flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-			GIV(stackPointer) = savedStackPointer;
-			failUnbalancedPrimitive();
-		}
-	}
+	
 	if (GIV(nextProfileTick) > 0) {
 		checkProfileTick(GIV(newMethod));
 	}
@@ -65675,10 +65609,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -65696,18 +65627,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -65901,10 +65821,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -65922,18 +65839,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}
@@ -67159,10 +67065,7 @@
 		/* begin slowPrimitiveResponse */
 		assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 		assert((remapBufferCount()) == 0);
-		nArgs = GIV(argumentCount);
-		savedStackPointer = GIV(stackPointer);
-		savedFramePointer = GIV(framePointer);
-
+		
 		/* begin initPrimCall */
 		GIV(primFailCode) = 0;
 		dispatchFunctionPointer(primitiveFunctionPointer);
@@ -67180,18 +67083,7 @@
 				GIV(primFailCode) = PrimErrWritePastObject;
 			}
 		}
-		if ((!GIV(primFailCode))
-		 && ((GIV(framePointer) == savedFramePointer)
-		 && (!0))) {
-
-			/* Don't fail if primitive has done something radical, e.g. perform: */
-
-			if (GIV(stackPointer) != (savedStackPointer + (nArgs * BytesPerWord))) {
-				flag("Would be nice to make this a message send of e.g. unbalancedPrimitive to the current process or context");
-				GIV(stackPointer) = savedStackPointer;
-				failUnbalancedPrimitive();
-			}
-		}
+		
 		if (GIV(nextProfileTick) > 0) {
 			checkProfileTick(GIV(newMethod));
 		}

Modified: branches/Cog/spurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/spurstacksrc/vm/gcc3x-interp.c	2015-02-21 06:09:27 UTC (rev 3260)
+++ branches/Cog/spurstacksrc/vm/gcc3x-interp.c	2015-02-22 23:10:08 UTC (rev 3261)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1073 uuid: f5e526a5-587e-4182-856d-519220e8efa9
    from
-	StackInterpreter VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554
+	StackInterpreter VMMaker.oscog-eem.1073 uuid: f5e526a5-587e-4182-856d-519220e8efa9
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1073 uuid: f5e526a5-587e-4182-856d-519220e8efa9 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -150,6 +150,7 @@
 #define CacheProbeMax 3
 #define CharacterTable null
 #define CharacterValueIndex 0
+#define CheckPrivacyViolations 0
 #define ClassAlien 52
 #define ClassArray 7
 #define ClassArrayCompactIndex 51
@@ -200,7 +201,7 @@
 #define ExcessSignalsIndex 2
 #define ExternalObjectsArray 38
 #define ExtraRootsSize 2048
-#define FailImbalancedPrimitives 1
+#define FailImbalancedPrimitives 0
 #define FalseObject 1
 #define FirstLinkIndex 0
 #define FoxCallerContext 4
@@ -2103,7 +2104,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1072]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1073]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -5555,7 +5556,7 @@
 					sendBreakpointreceiver(firstFixedFieldOfMaybeImmediate(GIV(messageSelector)), lengthOfMaybeImmediate(GIV(messageSelector)), longAtPointer(localSP + (GIV(argumentCount) * BytesPerOop)));
 					
 					/* begin internalFindNewMethod */
-
+					
 					/* shift drops two low-order zeros from addresses */
 
 					hash1 = GIV(messageSelector) ^ lkupClassTag;
@@ -5625,6 +5626,8 @@
 					localFP = pointerForOop(GIV(framePointer));
 					addNewMethodToCache(GIV(lkupClass));
 				l128:	;
+
+					
 				l127:	/* end internalFindNewMethod */;
 					/* begin internalExecuteNewMethod */
 					if (primitiveFunctionPointer != 0) {
@@ -5671,10 +5674,7 @@
 						/* begin slowPrimitiveResponse */
 						assert(!(isOopForwarded(stackValue(GIV(argumentCount)))));
 						assert((remapBufferCount()) == 0);
-						nArgs = GIV(argumentCount);
-						savedStackPointer = GIV(stackPointer);
-						savedFramePointer = GIV(framePointer);
-
+						
 						/* begin initPrimCall */

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list