[Vm-dev] [commit][2639] Third time lucky.

commits at squeakvm.org commits at squeakvm.org
Tue Dec 18 18:39:16 UTC 2012


Revision: 2639
Author:   eliot
Date:     2012-12-18 10:39:16 -0800 (Tue, 18 Dec 2012)
Log Message:
-----------
Third time lucky.  Fix bug in changeClass:from: so that if receiver has long
header and class is compact, receiver still gets compact class field set, not
cleared.  No matter what header an instance has, if its class is compact it
should have the compact class index set.

Modified Paths:
--------------
    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/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

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

Modified: branches/Cog/nscogsrc/vm/cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.c	2012-12-17 23:49:47 UTC (rev 2638)
+++ branches/Cog/nscogsrc/vm/cointerp.c	2012-12-18 18:39:16 UTC (rev 2639)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
    from
-	CoInterpreter VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CoInterpreter VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1932,7 +1932,7 @@
  0 };
 static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
 static usqInt heapBase;
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.238";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.239";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -15549,9 +15549,7 @@
 
 #    endif /* IMMUTABILITY */
 
-		if (((((usqInt) (longAt(rcvr))) >> 12) & 31) != 0) {
-			longAtput(rcvr, ((((longAt(rcvr)) | CompactClassMask) - CompactClassMask)) | ccIndex);
-		}
+		longAtput(rcvr, ((((longAt(rcvr)) | CompactClassMask) - CompactClassMask)) | ccIndex);
 		longAtput(rcvr - BaseHeaderSize, argClass | ((longAt(rcvr)) & TypeMask));
 		if ((((usqInt) rcvr)) < (((usqInt) GIV(youngStart)))) {
 			possibleRootStoreIntovalue(rcvr, argClass);

Modified: branches/Cog/nscogsrc/vm/cointerp.h
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.h	2012-12-17 23:49:47 UTC (rev 2638)
+++ branches/Cog/nscogsrc/vm/cointerp.h	2012-12-18 18:39:16 UTC (rev 2639)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
  */
 
 

Modified: branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/gcc3x-cointerp.c	2012-12-17 23:49:47 UTC (rev 2638)
+++ branches/Cog/nscogsrc/vm/gcc3x-cointerp.c	2012-12-18 18:39:16 UTC (rev 2639)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
    from
-	CoInterpreter VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CoInterpreter VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1935,7 +1935,7 @@
  0 };
 static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
 static usqInt heapBase;
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.238";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.239";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -15558,9 +15558,7 @@
 
 #    endif /* IMMUTABILITY */
 
-		if (((((usqInt) (longAt(rcvr))) >> 12) & 31) != 0) {
-			longAtput(rcvr, ((((longAt(rcvr)) | CompactClassMask) - CompactClassMask)) | ccIndex);
-		}
+		longAtput(rcvr, ((((longAt(rcvr)) | CompactClassMask) - CompactClassMask)) | ccIndex);
 		longAtput(rcvr - BaseHeaderSize, argClass | ((longAt(rcvr)) & TypeMask));
 		if ((((usqInt) rcvr)) < (((usqInt) GIV(youngStart)))) {
 			possibleRootStoreIntovalue(rcvr, argClass);

Modified: branches/Cog/nscogsrc/vm/interp.h
===================================================================
--- branches/Cog/nscogsrc/vm/interp.h	2012-12-17 23:49:47 UTC (rev 2638)
+++ branches/Cog/nscogsrc/vm/interp.h	2012-12-18 18:39:16 UTC (rev 2639)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/nscogsrc/vm/vmCallback.h
===================================================================
--- branches/Cog/nscogsrc/vm/vmCallback.h	2012-12-17 23:49:47 UTC (rev 2638)
+++ branches/Cog/nscogsrc/vm/vmCallback.h	2012-12-18 18:39:16 UTC (rev 2639)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
  */
 
 #define VM_CALLBACK_INC 1


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Mon Dec 17 11:50:28 PST 2012
   + Tue Dec 18 10:38:34 PST 2012

Modified: branches/Cog/src/vm/cointerp.c
===================================================================
--- branches/Cog/src/vm/cointerp.c	2012-12-17 23:49:47 UTC (rev 2638)
+++ branches/Cog/src/vm/cointerp.c	2012-12-18 18:39:16 UTC (rev 2639)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
    from
-	CoInterpreter VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CoInterpreter VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1922,7 +1922,7 @@
  0 };
 static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
 static usqInt heapBase;
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.238]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.239]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -11450,9 +11450,7 @@
 
 #    endif /* IMMUTABILITY */
 
-		if (((((usqInt) (longAt(rcvr))) >> 12) & 31) != 0) {
-			longAtput(rcvr, ((((longAt(rcvr)) | CompactClassMask) - CompactClassMask)) | ccIndex);
-		}
+		longAtput(rcvr, ((((longAt(rcvr)) | CompactClassMask) - CompactClassMask)) | ccIndex);
 		longAtput(rcvr - BaseHeaderSize, argClass | ((longAt(rcvr)) & TypeMask));
 		if ((((usqInt) rcvr)) < (((usqInt) GIV(youngStart)))) {
 			possibleRootStoreIntovalue(rcvr, argClass);

Modified: branches/Cog/src/vm/cointerp.h
===================================================================
--- branches/Cog/src/vm/cointerp.h	2012-12-17 23:49:47 UTC (rev 2638)
+++ branches/Cog/src/vm/cointerp.h	2012-12-18 18:39:16 UTC (rev 2639)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
  */
 
 

Modified: branches/Cog/src/vm/cointerpmt.c
===================================================================
--- branches/Cog/src/vm/cointerpmt.c	2012-12-17 23:49:47 UTC (rev 2638)
+++ branches/Cog/src/vm/cointerpmt.c	2012-12-18 18:39:16 UTC (rev 2639)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
    from
-	CoInterpreterMT VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CoInterpreterMT VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
  */
-static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f " __DATE__ ;
+static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2021,7 +2021,7 @@
  0 };
 static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
 static usqInt heapBase;
-const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.238]";
+const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.239]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 sqInt willNotThreadWarnCount;
@@ -11803,9 +11803,7 @@
 
 #    endif /* IMMUTABILITY */
 
-		if (((((usqInt) (longAt(rcvr))) >> 12) & 31) != 0) {
-			longAtput(rcvr, ((((longAt(rcvr)) | CompactClassMask) - CompactClassMask)) | ccIndex);
-		}
+		longAtput(rcvr, ((((longAt(rcvr)) | CompactClassMask) - CompactClassMask)) | ccIndex);
 		longAtput(rcvr - BaseHeaderSize, argClass | ((longAt(rcvr)) & TypeMask));
 		if ((((usqInt) rcvr)) < (((usqInt) GIV(youngStart)))) {
 			possibleRootStoreIntovalue(rcvr, argClass);

Modified: branches/Cog/src/vm/cointerpmt.h
===================================================================
--- branches/Cog/src/vm/cointerpmt.h	2012-12-17 23:49:47 UTC (rev 2638)
+++ branches/Cog/src/vm/cointerpmt.h	2012-12-18 18:39:16 UTC (rev 2639)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
  */
 
 

Modified: branches/Cog/src/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/src/vm/gcc3x-cointerp.c	2012-12-17 23:49:47 UTC (rev 2638)
+++ branches/Cog/src/vm/gcc3x-cointerp.c	2012-12-18 18:39:16 UTC (rev 2639)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
    from
-	CoInterpreter VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CoInterpreter VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1925,7 +1925,7 @@
  0 };
 static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
 static usqInt heapBase;
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.238]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.239]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -11459,9 +11459,7 @@
 
 #    endif /* IMMUTABILITY */
 
-		if (((((usqInt) (longAt(rcvr))) >> 12) & 31) != 0) {
-			longAtput(rcvr, ((((longAt(rcvr)) | CompactClassMask) - CompactClassMask)) | ccIndex);
-		}
+		longAtput(rcvr, ((((longAt(rcvr)) | CompactClassMask) - CompactClassMask)) | ccIndex);
 		longAtput(rcvr - BaseHeaderSize, argClass | ((longAt(rcvr)) & TypeMask));
 		if ((((usqInt) rcvr)) < (((usqInt) GIV(youngStart)))) {
 			possibleRootStoreIntovalue(rcvr, argClass);

Modified: branches/Cog/src/vm/gcc3x-cointerpmt.c
===================================================================
--- branches/Cog/src/vm/gcc3x-cointerpmt.c	2012-12-17 23:49:47 UTC (rev 2638)
+++ branches/Cog/src/vm/gcc3x-cointerpmt.c	2012-12-18 18:39:16 UTC (rev 2639)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
    from
-	CoInterpreterMT VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CoInterpreterMT VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
  */
-static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f " __DATE__ ;
+static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2024,7 +2024,7 @@
  0 };
 static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
 static usqInt heapBase;
-const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.238]";
+const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.239]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 sqInt willNotThreadWarnCount;
@@ -11812,9 +11812,7 @@
 
 #    endif /* IMMUTABILITY */
 
-		if (((((usqInt) (longAt(rcvr))) >> 12) & 31) != 0) {
-			longAtput(rcvr, ((((longAt(rcvr)) | CompactClassMask) - CompactClassMask)) | ccIndex);
-		}
+		longAtput(rcvr, ((((longAt(rcvr)) | CompactClassMask) - CompactClassMask)) | ccIndex);
 		longAtput(rcvr - BaseHeaderSize, argClass | ((longAt(rcvr)) & TypeMask));
 		if ((((usqInt) rcvr)) < (((usqInt) GIV(youngStart)))) {
 			possibleRootStoreIntovalue(rcvr, argClass);

Modified: branches/Cog/src/vm/interp.h
===================================================================
--- branches/Cog/src/vm/interp.h	2012-12-17 23:49:47 UTC (rev 2638)
+++ branches/Cog/src/vm/interp.h	2012-12-18 18:39:16 UTC (rev 2639)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/src/vm/vmCallback.h
===================================================================
--- branches/Cog/src/vm/vmCallback.h	2012-12-17 23:49:47 UTC (rev 2638)
+++ branches/Cog/src/vm/vmCallback.h	2012-12-18 18:39:16 UTC (rev 2639)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.238 uuid: a3d10eab-6079-4c91-99f6-3dcf58d1446f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.239 uuid: 3087e16d-bf3c-4fdc-b2ec-14791deff66f
  */
 
 #define VM_CALLBACK_INC 1



More information about the Vm-dev mailing list