[Vm-dev] [commit][3360] CogVM source as per VMMaker.oscog-eem.1329

commits at squeakvm.org commits at squeakvm.org
Wed May 27 20:42:54 UTC 2015


Revision: 3360
Author:   eliot
Date:     2015-05-27 13:42:53 -0700 (Wed, 27 May 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1329

Cogit:
Fix cache tag access for ARM in cPICHasForwardedClass:

Guard access to the inline cache tag in PICs in
GC routines by inlineCacheTagsMayBeObjects.

Mark inlineCacheTagsMayBeObjects as inline to eliminate dead code.

Linux build:
Fix creating the launch scripts given the removal of VM_VERSION et al
from the autoconf subsystem.

Modified Paths:
--------------
    branches/Cog/image/buildspurtrunkvmmakerimage.sh
    branches/Cog/nsspursrc/vm/cogit.h
    branches/Cog/nsspursrc/vm/cogitARMv5.c
    branches/Cog/nsspursrc/vm/cogitIA32.c
    branches/Cog/platforms/unix/config/Makefile.in
    branches/Cog/platforms/unix/config/Makefile.install
    branches/Cog/platforms/unix/config/configure
    branches/Cog/platforms/unix/config/configure.ac
    branches/Cog/spursistasrc/vm/cogit.h
    branches/Cog/spursistasrc/vm/cogitARMv5.c
    branches/Cog/spursistasrc/vm/cogitIA32.c
    branches/Cog/spursrc/vm/cogit.h
    branches/Cog/spursrc/vm/cogitARMv5.c
    branches/Cog/spursrc/vm/cogitIA32.c
    branches/Cog/src/vm/cogit.h
    branches/Cog/src/vm/cogitARMv5.c
    branches/Cog/src/vm/cogitIA32.c

Added Paths:
-----------
    branches/Cog/image/BuildSpurTrunk64Image.st
    branches/Cog/image/buildspurtrunk64image.sh
    branches/Cog/image/updatespurimage.sh

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

Added: branches/Cog/image/BuildSpurTrunk64Image.st
===================================================================
--- branches/Cog/image/BuildSpurTrunk64Image.st	                        (rev 0)
+++ branches/Cog/image/BuildSpurTrunk64Image.st	2015-05-27 20:42:53 UTC (rev 3360)
@@ -0,0 +1,2 @@
+Spur32to64BitBootstrap new bootstrapImage: 'trunk46-spur'.
+Smalltalk snapshot: false andQuit: true
Added: branches/Cog/image/buildspurtrunk64image.sh
===================================================================
--- branches/Cog/image/buildspurtrunk64image.sh	                        (rev 0)
+++ branches/Cog/image/buildspurtrunk64image.sh	2015-05-27 20:42:53 UTC (rev 3360)
@@ -0,0 +1,12 @@
+#!/bin/sh
+. ./envvars.sh
+
+./buildspurtrunkvmmakerimage.sh
+
+. ./getGoodSpurVM.sh
+
+echo $VM SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st
+$VM SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st
+
+echo $VM SpurVMMaker.image BuildSpurTrunk64Image.st
+$VM SpurVMMaker.image BuildSpurTrunk64Image.st


Property changes on: branches/Cog/image/buildspurtrunk64image.sh
___________________________________________________________________
Added: svn:executable
   + *

Modified: branches/Cog/image/buildspurtrunkvmmakerimage.sh
===================================================================
--- branches/Cog/image/buildspurtrunkvmmakerimage.sh	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/image/buildspurtrunkvmmakerimage.sh	2015-05-27 20:42:53 UTC (rev 3360)
@@ -1,19 +1,10 @@
 #!/bin/sh
 . ./envvars.sh
 
-if [ ! -f trunk46-spur.image -o ! -f trunk46-spur.changes ]; then
-	./getlatestspurtrunkimage.sh
-fi
+./updatespurimage.sh
 
-./ensureSqueakV41sources.sh
-
 cp -p trunk46-spur.image SpurVMMaker.image
 cp -p trunk46-spur.changes SpurVMMaker.changes
 
-. ./getGoodSpurVM.sh
-
-echo $VM SpurVMMaker.image UpdateSqueakTrunkImage.st
-$VM SpurVMMaker.image UpdateSqueakTrunkImage.st
-
 echo $VM SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st
 $VM SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st

Added: branches/Cog/image/updatespurimage.sh
===================================================================
--- branches/Cog/image/updatespurimage.sh	                        (rev 0)
+++ branches/Cog/image/updatespurimage.sh	2015-05-27 20:42:53 UTC (rev 3360)
@@ -0,0 +1,14 @@
+#!/bin/sh
+# Update the latest Spur image.
+. ./envvars.sh
+
+if [ ! -f trunk46-spur.image -o ! -f trunk46-spur.changes ]; then
+	./getlatestspurtrunkimage.sh
+fi
+
+./ensureSqueakV41sources.sh
+
+. ./getGoodSpurVM.sh
+
+echo $VM trunk46-spur.image UpdateSqueakTrunkImage.st
+$VM trunk46-spur.image UpdateSqueakTrunkImage.st


Property changes on: branches/Cog/image/updatespurimage.sh
___________________________________________________________________
Added: svn:executable
   + *

Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/nsspursrc/vm/cogit.h	2015-05-27 20:42:53 UTC (rev 3360)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	CCodeGenerator VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
  */
 
 

Modified: branches/Cog/nsspursrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitARMv5.c	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/nsspursrc/vm/cogitARMv5.c	2015-05-27 20:42:53 UTC (rev 3360)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	CCodeGenerator VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -882,7 +882,6 @@
 static sqInt getActiveContextAllocatesInMachineCode(void);
 static sqInt hasSpurMemoryManagerAPI(void);
 static sqInt inlineCacheTagIsYoung(sqInt cacheTag) NoDbgRegParms;
-static sqInt inlineCacheTagsMayBeObjects(void);
 static sqInt isSmallIntegerTagNonZero(void);
 static AbstractInstruction * jumpNotCharacterUnsignedValueInRegister(sqInt reg) NoDbgRegParms;
 static sqInt markAndTraceCacheTagLiteralinatpc(sqInt literal, CogMethod *cogMethodOrNil, usqInt address) NoDbgRegParms;
@@ -6713,7 +6712,9 @@
 
 
 /*	Answer the long constant loaded by a MOV/ORR/ORR/ORR
-	or MOV/ORR/ORR/ORR/PUSH sequence, just before this address: */
+	or MOV/ORR/ORR/ORR/PUSH, or MOV/ORR/ORR/ORR/CMP sequence, just before this
+	address: 
+ */
 
 	/* CogARMCompiler>>#literalBeforeFollowingAddress: */
 static sqInt
@@ -9848,11 +9849,11 @@
 {
     sqInt classIndex;
     sqInt i;
-    usqInt pc;
+    sqInt pc;
 
 	pc = (((((usqInt)cPIC)) + firstCPICCaseOffset) + cPICCaseSize) - (jumpLongConditionalByteSize(backEnd));
 	for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
-		classIndex = inlineCacheTagAt(backEnd, pc);
+		classIndex = literalBeforeFollowingAddress(backEnd, pc - (loadLiteralByteSize(backEnd)));
 		if (isForwardedClassIndex(classIndex)) {
 			return 1;
 		}
@@ -11793,9 +11794,7 @@
 	refersToYoung = updateMaybeObjRefAt(pc - (jumpLongByteSize(backEnd)));
 	pc += cPICCaseSize;
 	for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
-		if (updateMaybeObjRefAt((pc - (jumpLongConditionalByteSize(backEnd))) - (loadLiteralByteSize(backEnd)))) {
-			refersToYoung = 1;
-		}
+		;
 		if (updateMaybeObjRefAt(pc - (jumpLongConditionalByteSize(backEnd)))) {
 			refersToYoung = 1;
 		}
@@ -18437,13 +18436,6 @@
 	return 0;
 }
 
-	/* CogObjectRepresentationForSpur>>#inlineCacheTagsMayBeObjects */
-static sqInt
-inlineCacheTagsMayBeObjects(void)
-{
-	return 0;
-}
-
 	/* CogObjectRepresentationForSpur>>#isSmallIntegerTagNonZero */
 static sqInt
 isSmallIntegerTagNonZero(void)

Modified: branches/Cog/nsspursrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitIA32.c	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/nsspursrc/vm/cogitIA32.c	2015-05-27 20:42:53 UTC (rev 3360)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	CCodeGenerator VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -826,7 +826,6 @@
 static sqInt getActiveContextAllocatesInMachineCode(void);
 static sqInt hasSpurMemoryManagerAPI(void);
 static sqInt inlineCacheTagIsYoung(sqInt cacheTag) NoDbgRegParms;
-static sqInt inlineCacheTagsMayBeObjects(void);
 static sqInt isSmallIntegerTagNonZero(void);
 static AbstractInstruction * jumpNotCharacterUnsignedValueInRegister(sqInt reg) NoDbgRegParms;
 static sqInt markAndTraceCacheTagLiteralinatpc(sqInt literal, CogMethod *cogMethodOrNil, usqInt address) NoDbgRegParms;
@@ -8586,7 +8585,7 @@
 
 	pc = (((((usqInt)cPIC)) + firstCPICCaseOffset) + cPICCaseSize) - (jumpLongConditionalByteSize(backEnd));
 	for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
-		classIndex = inlineCacheTagAt(backEnd, pc);
+		classIndex = literalBeforeFollowingAddress(backEnd, pc - (loadLiteralByteSize(backEnd)));
 		if (isForwardedClassIndex(classIndex)) {
 			return 1;
 		}
@@ -10533,9 +10532,7 @@
 	refersToYoung = updateMaybeObjRefAt(pc - (jumpLongByteSize(backEnd)));
 	pc += cPICCaseSize;
 	for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
-		if (updateMaybeObjRefAt((pc - (jumpLongConditionalByteSize(backEnd))) - (loadLiteralByteSize(backEnd)))) {
-			refersToYoung = 1;
-		}
+		;
 		if (updateMaybeObjRefAt(pc - (jumpLongConditionalByteSize(backEnd)))) {
 			refersToYoung = 1;
 		}
@@ -17163,13 +17160,6 @@
 	return 0;
 }
 
-	/* CogObjectRepresentationForSpur>>#inlineCacheTagsMayBeObjects */
-static sqInt
-inlineCacheTagsMayBeObjects(void)
-{
-	return 0;
-}
-
 	/* CogObjectRepresentationForSpur>>#isSmallIntegerTagNonZero */
 static sqInt
 isSmallIntegerTagNonZero(void)


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Wed May 27 10:09:31 PDT 2015
   + Wed May 27 13:40:34 PDT 2015

Modified: branches/Cog/platforms/unix/config/Makefile.in
===================================================================
--- branches/Cog/platforms/unix/config/Makefile.in	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/platforms/unix/config/Makefile.in	2015-05-27 20:42:53 UTC (rev 3360)
@@ -69,6 +69,13 @@
 reallyclean:
 	for f in *; do case "$$f" in plugins.[ie][nx]t|mvm) ;; *) rm -rf $$f; esac; done
 
+# unix launch scripts
+squeak.sh: ${cfgdir}/squeak.sh.in getversion
+	sed "s|.expanded_relative_imgdir.|lib/squeak/`./getversion VERSION_TAG`|" <${cfgdir}/squeak.sh.in >squeak.sh
+
+bin.squeak.sh: ${cfgdir}/bin.squeak.sh.in getversion
+	sed "s|.expanded_relative_imgdir.|lib/squeak/`./getversion VERSION_TAG`|" <${cfgdir}/bin.squeak.sh.in >bin.squeak.sh
+
 # npsqueak
 
 npsqueak : nps/npsqueak.so

Modified: branches/Cog/platforms/unix/config/Makefile.install
===================================================================
--- branches/Cog/platforms/unix/config/Makefile.install	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/platforms/unix/config/Makefile.install	2015-05-27 20:42:53 UTC (rev 3360)
@@ -15,7 +15,7 @@
 
 # squeak
 
-install-squeak : $(squeak) getversion
+install-squeak : $(squeak) $(squeaksh) $(binsqueaksh) getversion
 	$(MKINSTALLDIRS) $(ROOT)$(plgdir)
 	$(MKINSTALLDIRS) $(ROOT)$(bindir)
 	$(INSTALL_PROG) $(squeak) $(ROOT)$(plgdir)

Modified: branches/Cog/platforms/unix/config/configure
===================================================================
--- branches/Cog/platforms/unix/config/configure	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/platforms/unix/config/configure	2015-05-27 20:42:53 UTC (rev 3360)
@@ -29291,7 +29291,7 @@
 
           ac_config_headers="$ac_config_headers config.h"
 
-                                                                                          ac_config_files="$ac_config_files mkconfig make.cfg make.int make.ext make.prg inisqueak squeak.sh bin.squeak.sh Makefile"
+                                                                      ac_config_files="$ac_config_files mkconfig make.cfg make.int make.ext make.prg inisqueak Makefile"
 
           ac_config_commands="$ac_config_commands default"
 
@@ -29839,8 +29839,6 @@
   "make.ext" ) CONFIG_FILES="$CONFIG_FILES make.ext" ;;
   "make.prg" ) CONFIG_FILES="$CONFIG_FILES make.prg" ;;
   "inisqueak" ) CONFIG_FILES="$CONFIG_FILES inisqueak" ;;
-  "squeak.sh" ) CONFIG_FILES="$CONFIG_FILES squeak.sh" ;;
-  "bin.squeak.sh" ) CONFIG_FILES="$CONFIG_FILES bin.squeak.sh" ;;
   "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
   "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
   "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;

Modified: branches/Cog/platforms/unix/config/configure.ac
===================================================================
--- branches/Cog/platforms/unix/config/configure.ac	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/platforms/unix/config/configure.ac	2015-05-27 20:42:53 UTC (rev 3360)
@@ -401,7 +401,7 @@
 # Create the build environment
 
 AC_CONFIG_HEADER(config.h)
-AC_CONFIG_FILES(mkconfig make.cfg make.int make.ext make.prg inisqueak squeak.sh bin.squeak.sh Makefile)
+AC_CONFIG_FILES(mkconfig make.cfg make.int make.ext make.prg inisqueak Makefile)
 AC_CONFIG_COMMANDS([default],[
   chmod +x mkconfig inisqueak
   ${SHELL} -ec "./mkconfig; ${cfgdir}/mktargets; ${cfgdir}/mkmf"],[

Modified: branches/Cog/spursistasrc/vm/cogit.h
===================================================================
--- branches/Cog/spursistasrc/vm/cogit.h	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/spursistasrc/vm/cogit.h	2015-05-27 20:42:53 UTC (rev 3360)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	CCodeGenerator VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
  */
 
 

Modified: branches/Cog/spursistasrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/spursistasrc/vm/cogitARMv5.c	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/spursistasrc/vm/cogitARMv5.c	2015-05-27 20:42:53 UTC (rev 3360)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	CCodeGenerator VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
    from
-	SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
  */
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78 " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -876,7 +876,6 @@
 static sqInt getActiveContextAllocatesInMachineCode(void);
 static sqInt hasSpurMemoryManagerAPI(void);
 static sqInt inlineCacheTagIsYoung(sqInt cacheTag) NoDbgRegParms;
-static sqInt inlineCacheTagsMayBeObjects(void);
 static sqInt isSmallIntegerTagNonZero(void);
 static AbstractInstruction * jumpNotCharacterUnsignedValueInRegister(sqInt reg) NoDbgRegParms;
 static sqInt markAndTraceCacheTagLiteralinatpc(sqInt literal, CogMethod *cogMethodOrNil, usqInt address) NoDbgRegParms;
@@ -6714,7 +6713,9 @@
 
 
 /*	Answer the long constant loaded by a MOV/ORR/ORR/ORR
-	or MOV/ORR/ORR/ORR/PUSH sequence, just before this address: */
+	or MOV/ORR/ORR/ORR/PUSH, or MOV/ORR/ORR/ORR/CMP sequence, just before this
+	address: 
+ */
 
 	/* CogARMCompiler>>#literalBeforeFollowingAddress: */
 static sqInt
@@ -9758,11 +9759,11 @@
 {
     sqInt classIndex;
     sqInt i;
-    sqInt pc;
+    usqInt pc;
 
 	pc = (((((usqInt)cPIC)) + firstCPICCaseOffset) + cPICCaseSize) - (jumpLongConditionalByteSize(backEnd));
 	for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
-		classIndex = inlineCacheTagAt(backEnd, pc);
+		classIndex = literalBeforeFollowingAddress(backEnd, pc - (loadLiteralByteSize(backEnd)));
 		if (isForwardedClassIndex(classIndex)) {
 			return 1;
 		}
@@ -11542,9 +11543,7 @@
 	refersToYoung = updateMaybeObjRefAt(pc - (jumpLongByteSize(backEnd)));
 	pc += cPICCaseSize;
 	for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
-		if (updateMaybeObjRefAt((pc - (jumpLongConditionalByteSize(backEnd))) - (loadLiteralByteSize(backEnd)))) {
-			refersToYoung = 1;
-		}
+		;
 		if (updateMaybeObjRefAt(pc - (jumpLongConditionalByteSize(backEnd)))) {
 			refersToYoung = 1;
 		}
@@ -17482,13 +17481,6 @@
 	return 0;
 }
 
-	/* CogObjectRepresentationForSpur>>#inlineCacheTagsMayBeObjects */
-static sqInt
-inlineCacheTagsMayBeObjects(void)
-{
-	return 0;
-}
-
 	/* CogObjectRepresentationForSpur>>#isSmallIntegerTagNonZero */
 static sqInt
 isSmallIntegerTagNonZero(void)

Modified: branches/Cog/spursistasrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/spursistasrc/vm/cogitIA32.c	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/spursistasrc/vm/cogitIA32.c	2015-05-27 20:42:53 UTC (rev 3360)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	CCodeGenerator VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
    from
-	SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
  */
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78 " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -819,7 +819,6 @@
 static sqInt getActiveContextAllocatesInMachineCode(void);
 static sqInt hasSpurMemoryManagerAPI(void);
 static sqInt inlineCacheTagIsYoung(sqInt cacheTag) NoDbgRegParms;
-static sqInt inlineCacheTagsMayBeObjects(void);
 static sqInt isSmallIntegerTagNonZero(void);
 static AbstractInstruction * jumpNotCharacterUnsignedValueInRegister(sqInt reg) NoDbgRegParms;
 static sqInt markAndTraceCacheTagLiteralinatpc(sqInt literal, CogMethod *cogMethodOrNil, usqInt address) NoDbgRegParms;
@@ -8484,7 +8483,7 @@
 
 	pc = (((((usqInt)cPIC)) + firstCPICCaseOffset) + cPICCaseSize) - (jumpLongConditionalByteSize(backEnd));
 	for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
-		classIndex = inlineCacheTagAt(backEnd, pc);
+		classIndex = literalBeforeFollowingAddress(backEnd, pc - (loadLiteralByteSize(backEnd)));
 		if (isForwardedClassIndex(classIndex)) {
 			return 1;
 		}
@@ -10270,9 +10269,7 @@
 	refersToYoung = updateMaybeObjRefAt(pc - (jumpLongByteSize(backEnd)));
 	pc += cPICCaseSize;
 	for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
-		if (updateMaybeObjRefAt((pc - (jumpLongConditionalByteSize(backEnd))) - (loadLiteralByteSize(backEnd)))) {
-			refersToYoung = 1;
-		}
+		;
 		if (updateMaybeObjRefAt(pc - (jumpLongConditionalByteSize(backEnd)))) {
 			refersToYoung = 1;
 		}
@@ -16196,13 +16193,6 @@
 	return 0;
 }
 
-	/* CogObjectRepresentationForSpur>>#inlineCacheTagsMayBeObjects */
-static sqInt
-inlineCacheTagsMayBeObjects(void)
-{
-	return 0;
-}
-
 	/* CogObjectRepresentationForSpur>>#isSmallIntegerTagNonZero */
 static sqInt
 isSmallIntegerTagNonZero(void)

Modified: branches/Cog/spursrc/vm/cogit.h
===================================================================
--- branches/Cog/spursrc/vm/cogit.h	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/spursrc/vm/cogit.h	2015-05-27 20:42:53 UTC (rev 3360)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	CCodeGenerator VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
  */
 
 

Modified: branches/Cog/spursrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/spursrc/vm/cogitARMv5.c	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/spursrc/vm/cogitARMv5.c	2015-05-27 20:42:53 UTC (rev 3360)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	CCodeGenerator VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -866,7 +866,6 @@
 static sqInt getActiveContextAllocatesInMachineCode(void);
 static sqInt hasSpurMemoryManagerAPI(void);
 static sqInt inlineCacheTagIsYoung(sqInt cacheTag) NoDbgRegParms;
-static sqInt inlineCacheTagsMayBeObjects(void);
 static sqInt isSmallIntegerTagNonZero(void);
 static AbstractInstruction * jumpNotCharacterUnsignedValueInRegister(sqInt reg) NoDbgRegParms;
 static sqInt markAndTraceCacheTagLiteralinatpc(sqInt literal, CogMethod *cogMethodOrNil, usqInt address) NoDbgRegParms;
@@ -6389,7 +6388,9 @@
 
 
 /*	Answer the long constant loaded by a MOV/ORR/ORR/ORR
-	or MOV/ORR/ORR/ORR/PUSH sequence, just before this address: */
+	or MOV/ORR/ORR/ORR/PUSH, or MOV/ORR/ORR/ORR/CMP sequence, just before this
+	address: 
+ */
 
 	/* CogARMCompiler>>#literalBeforeFollowingAddress: */
 static sqInt
@@ -9389,7 +9390,7 @@
 
 	pc = (((((usqInt)cPIC)) + firstCPICCaseOffset) + cPICCaseSize) - (jumpLongConditionalByteSize(backEnd));
 	for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
-		classIndex = inlineCacheTagAt(backEnd, pc);
+		classIndex = literalBeforeFollowingAddress(backEnd, pc - (loadLiteralByteSize(backEnd)));
 		if (isForwardedClassIndex(classIndex)) {
 			return 1;
 		}
@@ -11202,9 +11203,7 @@
 	refersToYoung = updateMaybeObjRefAt(pc - (jumpLongByteSize(backEnd)));
 	pc += cPICCaseSize;
 	for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
-		if (updateMaybeObjRefAt((pc - (jumpLongConditionalByteSize(backEnd))) - (loadLiteralByteSize(backEnd)))) {
-			refersToYoung = 1;
-		}
+		;
 		if (updateMaybeObjRefAt(pc - (jumpLongConditionalByteSize(backEnd)))) {
 			refersToYoung = 1;
 		}
@@ -16994,13 +16993,6 @@
 	return 0;
 }
 
-	/* CogObjectRepresentationForSpur>>#inlineCacheTagsMayBeObjects */
-static sqInt
-inlineCacheTagsMayBeObjects(void)
-{
-	return 0;
-}
-
 	/* CogObjectRepresentationForSpur>>#isSmallIntegerTagNonZero */
 static sqInt
 isSmallIntegerTagNonZero(void)

Modified: branches/Cog/spursrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/spursrc/vm/cogitIA32.c	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/spursrc/vm/cogitIA32.c	2015-05-27 20:42:53 UTC (rev 3360)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	CCodeGenerator VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -809,7 +809,6 @@
 static sqInt getActiveContextAllocatesInMachineCode(void);
 static sqInt hasSpurMemoryManagerAPI(void);
 static sqInt inlineCacheTagIsYoung(sqInt cacheTag) NoDbgRegParms;
-static sqInt inlineCacheTagsMayBeObjects(void);
 static sqInt isSmallIntegerTagNonZero(void);
 static AbstractInstruction * jumpNotCharacterUnsignedValueInRegister(sqInt reg) NoDbgRegParms;
 static sqInt markAndTraceCacheTagLiteralinatpc(sqInt literal, CogMethod *cogMethodOrNil, usqInt address) NoDbgRegParms;
@@ -8111,7 +8110,7 @@
 
 	pc = (((((usqInt)cPIC)) + firstCPICCaseOffset) + cPICCaseSize) - (jumpLongConditionalByteSize(backEnd));
 	for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
-		classIndex = inlineCacheTagAt(backEnd, pc);
+		classIndex = literalBeforeFollowingAddress(backEnd, pc - (loadLiteralByteSize(backEnd)));
 		if (isForwardedClassIndex(classIndex)) {
 			return 1;
 		}
@@ -9930,9 +9929,7 @@
 	refersToYoung = updateMaybeObjRefAt(pc - (jumpLongByteSize(backEnd)));
 	pc += cPICCaseSize;
 	for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
-		if (updateMaybeObjRefAt((pc - (jumpLongConditionalByteSize(backEnd))) - (loadLiteralByteSize(backEnd)))) {
-			refersToYoung = 1;
-		}
+		;
 		if (updateMaybeObjRefAt(pc - (jumpLongConditionalByteSize(backEnd)))) {
 			refersToYoung = 1;
 		}
@@ -15708,13 +15705,6 @@
 	return 0;
 }
 
-	/* CogObjectRepresentationForSpur>>#inlineCacheTagsMayBeObjects */
-static sqInt
-inlineCacheTagsMayBeObjects(void)
-{
-	return 0;
-}
-
 	/* CogObjectRepresentationForSpur>>#isSmallIntegerTagNonZero */
 static sqInt
 isSmallIntegerTagNonZero(void)

Modified: branches/Cog/src/vm/cogit.h
===================================================================
--- branches/Cog/src/vm/cogit.h	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/src/vm/cogit.h	2015-05-27 20:42:53 UTC (rev 3360)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	CCodeGenerator VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
  */
 
 

Modified: branches/Cog/src/vm/cogitARMv5.c
===================================================================
--- branches/Cog/src/vm/cogitARMv5.c	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/src/vm/cogitARMv5.c	2015-05-27 20:42:53 UTC (rev 3360)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	CCodeGenerator VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -844,7 +844,6 @@
 static sqInt genStoreSourceRegslotIndexintoNewObjectInDestReg(sqInt sourceReg, sqInt index, sqInt destReg) NoDbgRegParms;
 static sqInt inlineCacheTagForInstance(sqInt oop) NoDbgRegParms;
 static sqInt inlineCacheTagIsYoung(sqInt cacheTag) NoDbgRegParms;
-static sqInt inlineCacheTagsMayBeObjects(void);
 static sqInt isSmallIntegerTagNonZero(void);
 static void markAndTraceLiteralIfYoung(sqInt literal) NoDbgRegParms;
 static void markAndTraceLiteral(sqInt literal) NoDbgRegParms;
@@ -6358,7 +6357,9 @@
 
 
 /*	Answer the long constant loaded by a MOV/ORR/ORR/ORR
-	or MOV/ORR/ORR/ORR/PUSH sequence, just before this address: */
+	or MOV/ORR/ORR/ORR/PUSH, or MOV/ORR/ORR/ORR/CMP sequence, just before this
+	address: 
+ */
 
 	/* CogARMCompiler>>#literalBeforeFollowingAddress: */
 static sqInt
@@ -8346,6 +8347,7 @@
 		 && (!(isMarked(object)))) {
 			return 1;
 		}
+
 		object = literalBeforeFollowingAddress(backEnd, pc - offsetToLiteral);
 		if ((couldBeObject(object))
 		 && (!(isMarked(object)))) {
@@ -11050,6 +11052,7 @@
 		if (updateMaybeObjRefAt((pc - (jumpLongConditionalByteSize(backEnd))) - (loadLiteralByteSize(backEnd)))) {
 			refersToYoung = 1;
 		}
+
 		if (updateMaybeObjRefAt(pc - (jumpLongConditionalByteSize(backEnd)))) {
 			refersToYoung = 1;
 		}
@@ -15610,13 +15613,6 @@
 	return isYoung(cacheTag);
 }
 
-	/* CogObjectRepresentationForSqueakV3>>#inlineCacheTagsMayBeObjects */
-static sqInt
-inlineCacheTagsMayBeObjects(void)
-{
-	return 1;
-}
-
 	/* CogObjectRepresentationForSqueakV3>>#isSmallIntegerTagNonZero */
 static sqInt
 isSmallIntegerTagNonZero(void)

Modified: branches/Cog/src/vm/cogitIA32.c
===================================================================
--- branches/Cog/src/vm/cogitIA32.c	2015-05-27 17:09:50 UTC (rev 3359)
+++ branches/Cog/src/vm/cogitIA32.c	2015-05-27 20:42:53 UTC (rev 3360)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	CCodeGenerator VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1328 uuid: c1e2ed6b-28c4-448f-88b8-4c7a3ad53b78 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1329 uuid: d25444c7-af99-40e1-ab8a-a765c046eae5 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -786,7 +786,6 @@
 static sqInt genStoreSourceRegslotIndexintoNewObjectInDestReg(sqInt sourceReg, sqInt index, sqInt destReg) NoDbgRegParms;
 static sqInt inlineCacheTagForInstance(sqInt oop) NoDbgRegParms;
 static sqInt inlineCacheTagIsYoung(sqInt cacheTag) NoDbgRegParms;
-static sqInt inlineCacheTagsMayBeObjects(void);
 static sqInt isSmallIntegerTagNonZero(void);
 static void markAndTraceLiteralIfYoung(sqInt literal) NoDbgRegParms;
 static void markAndTraceLiteral(sqInt literal) NoDbgRegParms;
@@ -7093,6 +7092,7 @@
 		 && (!(isMarked(object)))) {
 			return 1;
 		}
+
 		object = literalBeforeFollowingAddress(backEnd, pc - offsetToLiteral);
 		if ((couldBeObject(object))
 		 && (!(isMarked(object)))) {
@@ -9777,6 +9777,7 @@
 		if (updateMaybeObjRefAt((pc - (jumpLongConditionalByteSize(backEnd))) - (loadLiteralByteSize(backEnd)))) {
 			refersToYoung = 1;
 		}
+
 		if (updateMaybeObjRefAt(pc - (jumpLongConditionalByteSize(backEnd)))) {
 			refersToYoung = 1;
 		}
@@ -14338,13 +14339,6 @@
 	return isYoung(cacheTag);
 }
 
-	/* CogObjectRepresentationForSqueakV3>>#inlineCacheTagsMayBeObjects */
-static sqInt
-inlineCacheTagsMayBeObjects(void)
-{
-	return 1;
-}
-
 	/* CogObjectRepresentationForSqueakV3>>#isSmallIntegerTagNonZero */
 static sqInt
 isSmallIntegerTagNonZero(void)



More information about the Vm-dev mailing list