[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