[Vm-dev] [commit][3037] CogVM source as per VMMaker.oscog-eem.810
commits at squeakvm.org
commits at squeakvm.org
Wed Jul 9 01:16:19 UTC 2014
Revision: 3037
Author: eliot
Date: 2014-07-08 18:16:16 -0700 (Tue, 08 Jul 2014)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.810
Spur: Fix bug in nilUnmarkedWeaklingSlotsIn: which was not guarding the
isForwarded: check with an isFreeObject: not check. Premature optimizations...
Modified Paths:
--------------
branches/Cog/nsspursrc/vm/cogit.c
branches/Cog/nsspursrc/vm/cogit.h
branches/Cog/nsspursrc/vm/cogmethod.h
branches/Cog/nsspursrc/vm/cointerp.c
branches/Cog/nsspursrc/vm/cointerp.h
branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
branches/Cog/nsspursrc/vm/interp.h
branches/Cog/nsspursrc/vm/vmCallback.h
branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
branches/Cog/nsspurstacksrc/vm/interp.c
branches/Cog/nsspurstacksrc/vm/interp.h
branches/Cog/nsspurstacksrc/vm/vmCallback.h
branches/Cog/spursistasrc/vm/cogit.c
branches/Cog/spursistasrc/vm/cogit.h
branches/Cog/spursistasrc/vm/cogmethod.h
branches/Cog/spursistasrc/vm/cointerp.c
branches/Cog/spursistasrc/vm/cointerp.h
branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
branches/Cog/spursistasrc/vm/interp.h
branches/Cog/spursistasrc/vm/vmCallback.h
branches/Cog/spursrc/vm/cogit.c
branches/Cog/spursrc/vm/cogit.h
branches/Cog/spursrc/vm/cogmethod.h
branches/Cog/spursrc/vm/cointerp.c
branches/Cog/spursrc/vm/cointerp.h
branches/Cog/spursrc/vm/gcc3x-cointerp.c
branches/Cog/spursrc/vm/interp.h
branches/Cog/spursrc/vm/vmCallback.h
branches/Cog/spurstacksrc/vm/gcc3x-interp.c
branches/Cog/spurstacksrc/vm/interp.c
branches/Cog/spurstacksrc/vm/interp.h
branches/Cog/spurstacksrc/vm/vmCallback.h
Property Changed:
----------------
branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
Modified: branches/Cog/nsspursrc/vm/cogit.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.c 2014-07-08 22:56:23 UTC (rev 3036)
+++ branches/Cog/nsspursrc/vm/cogit.c 2014-07-09 01:16:16 UTC (rev 3037)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.808 uuid: 84bdf081-a2e8-4c84-b249-b140228e6636
+ CCodeGenerator VMMaker.oscog-eem.810 uuid: a10a6172-0f6e-47a1-be39-cffd498c9661
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.808 uuid: 84bdf081-a2e8-4c84-b249-b140228e6636
+ StackToRegisterMappingCogit VMMaker.oscog-eem.810 uuid: a10a6172-0f6e-47a1-be39-cffd498c9661
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.808 uuid: 84bdf081-a2e8-4c84-b249-b140228e6636 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.810 uuid: a10a6172-0f6e-47a1-be39-cffd498c9661 " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -10141,7 +10141,8 @@
machinery can distinguish normal and super sends (super sends bind to the
noCheckEntry). In Newspeak we also need to distinguish dynSuperSends from
normal and super
- and so bind a the preceeding nop (on x86 there happens to be one anyway). */
+ and so on Nespeak, bind the dynSuperEntry to the preceeding nop (on x86
+ there happens to be one anyway). */
static void
compileEntry(void)
@@ -11343,10 +11344,12 @@
static void
generateNewspeakRuntime(void)
{
+ sqInt destReg;
AbstractInstruction *jumpItsTheReceiverStupid;
AbstractInstruction *jumpMiss;
sqInt offset;
sqInt offset1;
+ sqInt retpcReg;
/* Generate the non-send runtime support for Newspeak, explicit outer and implicit receiver.
@@ -11371,17 +11374,21 @@
genoperandoperandoperand(MoveMwrR, FoxMFReceiver, FPReg, ReceiverResultReg);
genGetInlineCacheClassTagFromintoforEntry(ReceiverResultReg, ClassReg, 0);
/* begin MoveMw:r:R: */
- genoperandoperandoperand(MoveMwrR, 0, SPReg, TempReg);
+ destReg = (retpcReg = TempReg);
+ genoperandoperandoperand(MoveMwrR, 0, SPReg, destReg);
+
/* begin MoveMw:r:R: */
+ genoperandoperandoperand(MoveMwrR, 0, SPReg, retpcReg);
+ /* begin MoveMw:r:R: */
offset = jumpShortByteSize(backEnd);
- genoperandoperandoperand(MoveMwrR, offset, TempReg, Arg1Reg);
+ genoperandoperandoperand(MoveMwrR, offset, retpcReg, Arg1Reg);
/* begin CmpR:R: */
genoperandoperand(CmpRR, ClassReg, Arg1Reg);
/* begin JumpNonZero: */
jumpMiss = genoperand(JumpNonZero, ((sqInt)0));
/* begin MoveMw:r:R: */
offset1 = (jumpShortByteSize(backEnd)) + BytesPerOop;
- genoperandoperandoperand(MoveMwrR, offset1, TempReg, ClassReg);
+ genoperandoperandoperand(MoveMwrR, offset1, retpcReg, ClassReg);
/* begin CmpCq:R: */
genoperandoperand(CmpCqR, 0, ClassReg);
/* begin JumpZero: */
Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h 2014-07-08 22:56:23 UTC (rev 3036)
+++ branches/Cog/nsspursrc/vm/cogit.h 2014-07-09 01:16:16 UTC (rev 3037)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.808 uuid: 84bdf081-a2e8-4c84-b249-b140228e6636
+ CCodeGenerator VMMaker.oscog-eem.810 uuid: a10a6172-0f6e-47a1-be39-cffd498c9661
*/
Modified: branches/Cog/nsspursrc/vm/cogmethod.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogmethod.h 2014-07-08 22:56:23 UTC (rev 3036)
+++ branches/Cog/nsspursrc/vm/cogmethod.h 2014-07-09 01:16:16 UTC (rev 3037)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.808 uuid: 84bdf081-a2e8-4c84-b249-b140228e6636
+ CCodeGenerator VMMaker.oscog-eem.810 uuid: a10a6172-0f6e-47a1-be39-cffd498c9661
*/
typedef struct {
Modified: branches/Cog/nsspursrc/vm/cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.c 2014-07-08 22:56:23 UTC (rev 3036)
+++ branches/Cog/nsspursrc/vm/cointerp.c 2014-07-09 01:16:16 UTC (rev 3037)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.808 uuid: 84bdf081-a2e8-4c84-b249-b140228e6636
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.810 uuid: a10a6172-0f6e-47a1-be39-cffd498c9661
from
- CoInterpreter VMMaker.oscog-eem.808 uuid: 84bdf081-a2e8-4c84-b249-b140228e6636
+ CoInterpreter VMMaker.oscog-eem.810 uuid: a10a6172-0f6e-47a1-be39-cffd498c9661
*/
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.808 uuid: 84bdf081-a2e8-4c84-b249-b140228e6636 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.810 uuid: a10a6172-0f6e-47a1-be39-cffd498c9661 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -1010,6 +1010,7 @@
sqInt isOopMutable(sqInt oop);
sqInt isPinned(sqInt objOop);
sqInt isPointers(sqInt oop);
+sqInt isReallyForwarded(sqInt objOop);
sqInt isReallyYoung(sqInt oop);
static sqInt isRemembered(sqInt objOop) NoDbgRegParms;
static sqInt isSegmentBridge(sqInt objOop) NoDbgRegParms;
@@ -2284,7 +2285,7 @@
/*540*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
/*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
};
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.808";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.810";
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
volatile int sendTrace;
@@ -3520,7 +3521,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 4 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -3559,7 +3560,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 8 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -3598,7 +3599,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 12 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -3637,7 +3638,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 16 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -3676,7 +3677,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 20 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -3715,7 +3716,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 24 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -3754,7 +3755,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 28 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -3793,7 +3794,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 32 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -3832,7 +3833,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 36 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -3871,7 +3872,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 40 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -3910,7 +3911,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 44 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -3949,7 +3950,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 48 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -3988,7 +3989,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 52 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4027,7 +4028,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 56 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4066,7 +4067,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 60 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4105,7 +4106,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 64 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4143,7 +4144,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 68 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4181,7 +4182,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 72 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4219,7 +4220,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 76 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4257,7 +4258,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 80 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4295,7 +4296,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 84 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4333,7 +4334,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 88 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4371,7 +4372,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 92 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4409,7 +4410,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 96 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4447,7 +4448,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 100 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4485,7 +4486,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 104 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4523,7 +4524,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 108 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4561,7 +4562,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 112 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4599,7 +4600,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 116 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4637,7 +4638,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 120 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4675,7 +4676,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 0x7C /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -4713,7 +4714,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + 128 /* ((currentBytecode bitAnd: 31) + LiteralStart) << 2 */);
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -5577,7 +5578,6 @@
GIV(framePointer) = localFP;
ceEnterCogCodePopReceiverReg();
- null;
goto l292;
}
localIP = pointerForOop(longAt(localFP + FoxIFSavedIP));
@@ -5595,7 +5595,7 @@
/* begin fetchNextBytecode */
currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
- null;
+ /* return self */
l292: /* end baseFrameReturn */;
goto l289;
}
@@ -5757,7 +5757,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + ((variableIndex + LiteralStart) << 2));
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -5830,7 +5830,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + ((variableIndex + LiteralStart) << 2));
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -5921,7 +5921,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + ((variableIndex + LiteralStart) << 2));
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -6676,7 +6676,7 @@
litVar1 = longAt((GIV(method) + (BaseHeaderSize)) + ((byte3 + LiteralStart) << 2));
if (((longAt(litVar1)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar1));
+ assert(isReallyForwarded(litVar1));
referent1 = longAt((litVar1 + (BaseHeaderSize)) + (0 << 2));
while (((referent1 & 3) == 0)
&& (((longAt(referent1)) & 0x3FFFFF) == 8)) {
@@ -6698,7 +6698,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + ((byte3 + LiteralStart) << 2));
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -13983,7 +13983,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + ((index + LiteralStart) << 2));
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -14296,7 +14296,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + ((variableIndex + LiteralStart) << 2));
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -14518,7 +14518,7 @@
litVar = longAt((GIV(method) + (BaseHeaderSize)) + ((variableIndex + LiteralStart) << 2));
if (((longAt(litVar)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(litVar));
+ assert(isReallyForwarded(litVar));
referent = longAt((litVar + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -18663,7 +18663,7 @@
if (((longAt(GIV(method))) & (0x3FFFFF - 8)) == 0) {
theIPPtr = GIV(instructionPointer) - GIV(method);
/* begin followForwarded: */
- assert(isForwarded(GIV(method)));
+ assert(isReallyForwarded(GIV(method)));
referent = longAt((GIV(method) + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -18674,7 +18674,7 @@
}
if (((longAt(GIV(newMethod))) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(GIV(newMethod)));
+ assert(isReallyForwarded(GIV(newMethod)));
referent1 = longAt((GIV(newMethod) + (BaseHeaderSize)) + (0 << 2));
while (((referent1 & 3) == 0)
&& (((longAt(referent1)) & 0x3FFFFF) == 8)) {
@@ -18738,7 +18738,7 @@
oop = longAt(theFP + FoxMethod);
if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(oop));
+ assert(isReallyForwarded(oop));
referent2 = longAt((oop + (BaseHeaderSize)) + (0 << 2));
while (((referent2 & 3) == 0)
&& (((longAt(referent2)) & 0x3FFFFF) == 8)) {
@@ -18997,7 +18997,7 @@
rcvrStackIndex = GIV(argumentCount) + stackDelta;
assert((stackValue(rcvrStackIndex)) == forwardedReceiver);
/* begin followForwarded: */
- assert(isForwarded(forwardedReceiver));
+ assert(isReallyForwarded(forwardedReceiver));
referent = longAt((forwardedReceiver + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -20167,7 +20167,7 @@
if (((oop & 3) == 0)
&& (((longAt(oop)) & 0x3FFFFF) == 8)) {
/* begin followForwarded: */
- assert(isForwarded(oop));
+ assert(isReallyForwarded(oop));
referent = longAt((oop + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -20212,7 +20212,7 @@
if (((oop & 3) == 0)
&& (((longAt(oop)) & 0x3FFFFF) == 8)) {
/* begin followForwarded: */
- assert(isForwarded(oop));
+ assert(isReallyForwarded(oop));
referent1 = longAt((oop + (BaseHeaderSize)) + (0 << 2));
while (((referent1 & 3) == 0)
&& (((longAt(referent1)) & 0x3FFFFF) == 8)) {
@@ -21632,7 +21632,7 @@
if (((intOrSelector & 3) == 0)
&& (((longAt(intOrSelector)) & 0x3FFFFF) == 8)) {
/* begin followForwarded: */
- assert(isForwarded(intOrSelector));
+ assert(isReallyForwarded(intOrSelector));
referent = longAt((intOrSelector + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -24751,7 +24751,7 @@
}
if (((longAt(myList)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(myList));
+ assert(isReallyForwarded(myList));
referent = longAt((myList + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -31992,7 +31992,7 @@
&& (((longAt(otherObject)) & 0x3FFFFF) == 8)) {
assert(GIV(argumentCount) > 1);
/* begin followForwarded: */
- assert(isForwarded(thisObject));
+ assert(isReallyForwarded(thisObject));
referent = longAt((thisObject + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -32004,7 +32004,7 @@
if (((thisObject & 3) == 0)
&& (((longAt(thisObject)) & 0x3FFFFF) == 8)) {
/* begin followForwarded: */
- assert(isForwarded(thisObject));
+ assert(isReallyForwarded(thisObject));
referent1 = longAt((thisObject + (BaseHeaderSize)) + (0 << 2));
while (((referent1 & 3) == 0)
&& (((longAt(referent1)) & 0x3FFFFF) == 8)) {
@@ -34236,7 +34236,7 @@
&& (((longAt(otherObject)) & 0x3FFFFF) == 8)) {
assert(GIV(argumentCount) > 1);
/* begin followForwarded: */
- assert(isForwarded(thisObject));
+ assert(isReallyForwarded(thisObject));
referent = longAt((thisObject + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -34247,7 +34247,7 @@
if (((thisObject & 3) == 0)
&& (((longAt(thisObject)) & 0x3FFFFF) == 8)) {
/* begin followForwarded: */
- assert(isForwarded(thisObject));
+ assert(isReallyForwarded(thisObject));
referent1 = longAt((thisObject + (BaseHeaderSize)) + (0 << 2));
while (((referent1 & 3) == 0)
&& (((longAt(referent1)) & 0x3FFFFF) == 8)) {
@@ -34770,7 +34770,7 @@
if (((oop & 3) == 0)
&& (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
/* begin followForwarded: */
- assert(isForwarded(oop));
+ assert(isReallyForwarded(oop));
referent = longAt((oop + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -38759,7 +38759,7 @@
sqInt targetB;
/* begin followForwarded: */
- assert(isForwarded(obj1));
+ assert(isReallyForwarded(obj1));
referent = longAt((obj1 + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -38767,7 +38767,7 @@
}
targetA = referent;
/* begin followForwarded: */
- assert(isForwarded(obj2));
+ assert(isReallyForwarded(obj2));
referent1 = longAt((obj2 + (BaseHeaderSize)) + (0 << 2));
while (((referent1 & 3) == 0)
&& (((longAt(referent1)) & 0x3FFFFF) == 8)) {
@@ -38790,7 +38790,7 @@
sqInt targetB;
/* begin followForwarded: */
- assert(isForwarded(obj1));
+ assert(isReallyForwarded(obj1));
referent = longAt((obj1 + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -38798,7 +38798,7 @@
}
targetA = referent;
/* begin followForwarded: */
- assert(isForwarded(obj2));
+ assert(isReallyForwarded(obj2));
referent1 = longAt((obj2 + (BaseHeaderSize)) + (0 << 2));
while (((referent1 & 3) == 0)
&& (((longAt(referent1)) & 0x3FFFFF) == 8)) {
@@ -39971,7 +39971,7 @@
}
if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(oop));
+ assert(isReallyForwarded(oop));
referent = longAt((oop + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -40155,7 +40155,7 @@
while (ephemeronCorpse != null) {
assert(isForwarded(ephemeronCorpse));
/* begin followForwarded: */
- assert(isForwarded(ephemeronCorpse));
+ assert(isReallyForwarded(ephemeronCorpse));
referent = longAt((ephemeronCorpse + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -40225,7 +40225,7 @@
while (weakCorpse != null) {
assert(isForwarded(weakCorpse));
/* begin followForwarded: */
- assert(isForwarded(weakCorpse));
+ assert(isReallyForwarded(weakCorpse));
referent = longAt((weakCorpse + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -40267,7 +40267,7 @@
if (((referent & 3) == 0)
&& (((longAt(referent)) & (0x3FFFFF - 8)) == 0)) {
/* begin followForwarded: */
- assert(isForwarded(referent));
+ assert(isReallyForwarded(referent));
referent1 = longAt((referent + (BaseHeaderSize)) + (0 << 2));
while (((referent1 & 3) == 0)
&& (((longAt(referent1)) & 0x3FFFFF) == 8)) {
@@ -40608,7 +40608,7 @@
if (((longAt(referent)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(referent));
+ assert(isReallyForwarded(referent));
referent1 = longAt((referent + (BaseHeaderSize)) + (0 << 2));
while (((referent1 & 3) == 0)
&& (((longAt(referent1)) & 0x3FFFFF) == 8)) {
@@ -40729,7 +40729,7 @@
ephemeronCorpse = ((corpseOffset - 1) << 3) + GIV(newSpaceStart);
assert(isForwarded(ephemeronCorpse));
/* begin followForwarded: */
- assert(isForwarded(ephemeronCorpse));
+ assert(isReallyForwarded(ephemeronCorpse));
referent = longAt((ephemeronCorpse + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -42097,7 +42097,7 @@
}
if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(oop));
+ assert(isReallyForwarded(oop));
referent12 = longAt((oop + (BaseHeaderSize)) + (0 << 2));
while (((referent12 & 3) == 0)
&& (((longAt(referent12)) & 0x3FFFFF) == 8)) {
@@ -42118,7 +42118,7 @@
}
if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(oop));
+ assert(isReallyForwarded(oop));
referent11 = longAt((oop + (BaseHeaderSize)) + (0 << 2));
while (((referent11 & 3) == 0)
&& (((longAt(referent11)) & 0x3FFFFF) == 8)) {
@@ -42193,7 +42193,7 @@
}
if (((longAt(oop1)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(oop1));
+ assert(isReallyForwarded(oop1));
referent13 = longAt((oop1 + (BaseHeaderSize)) + (0 << 2));
while (((referent13 & 3) == 0)
&& (((longAt(referent13)) & 0x3FFFFF) == 8)) {
@@ -42467,7 +42467,7 @@
/* o2 wasn't in the table; put it there */
/* begin followForwarded: */
- assert(isForwarded(obj1));
+ assert(isReallyForwarded(obj1));
referent15 = longAt((obj1 + (BaseHeaderSize)) + (0 << 2));
while (((referent15 & 3) == 0)
&& (((longAt(referent15)) & 0x3FFFFF) == 8)) {
@@ -42485,7 +42485,7 @@
else {
if (o2ClassIndex != 0) {
/* begin followForwarded: */
- assert(isForwarded(obj2));
+ assert(isReallyForwarded(obj2));
referent14 = longAt((obj2 + (BaseHeaderSize)) + (0 << 2));
while (((referent14 & 3) == 0)
&& (((longAt(referent14)) & 0x3FFFFF) == 8)) {
@@ -42608,7 +42608,7 @@
/* begin followSpecialObjectsOop */
if (((longAt(GIV(specialObjectsOop))) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(GIV(specialObjectsOop)));
+ assert(isReallyForwarded(GIV(specialObjectsOop)));
referent5 = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (0 << 2));
while (((referent5 & 3) == 0)
&& (((longAt(referent5)) & 0x3FFFFF) == 8)) {
@@ -42632,7 +42632,7 @@
&& (((m & 3) == 0)
&& (((longAt(m)) & 0x3FFFFF) == 8))))) {
/* begin followForwarded: */
- assert(isForwarded(m));
+ assert(isReallyForwarded(m));
referent = longAt((m + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -42703,7 +42703,7 @@
obj3 = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (TheLowSpaceSemaphore << 2));
if (((longAt(obj3)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(obj3));
+ assert(isReallyForwarded(obj3));
referent7 = longAt((obj3 + (BaseHeaderSize)) + (0 << 2));
while (((referent7 & 3) == 0)
&& (((longAt(referent7)) & 0x3FFFFF) == 8)) {
@@ -42733,7 +42733,7 @@
obj4 = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (TheInterruptSemaphore << 2));
if (((longAt(obj4)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(obj4));
+ assert(isReallyForwarded(obj4));
referent8 = longAt((obj4 + (BaseHeaderSize)) + (0 << 2));
while (((referent8 & 3) == 0)
&& (((longAt(referent8)) & 0x3FFFFF) == 8)) {
@@ -42763,7 +42763,7 @@
obj5 = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (TheTimerSemaphore << 2));
if (((longAt(obj5)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(obj5));
+ assert(isReallyForwarded(obj5));
referent9 = longAt((obj5 + (BaseHeaderSize)) + (0 << 2));
while (((referent9 & 3) == 0)
&& (((longAt(referent9)) & 0x3FFFFF) == 8)) {
@@ -42793,7 +42793,7 @@
obj6 = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (TheFinalizationSemaphore << 2));
if (((longAt(obj6)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(obj6));
+ assert(isReallyForwarded(obj6));
referent10 = longAt((obj6 + (BaseHeaderSize)) + (0 << 2));
while (((referent10 & 3) == 0)
&& (((longAt(referent10)) & 0x3FFFFF) == 8)) {
@@ -42822,7 +42822,7 @@
xArray = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ExternalObjectsArray << 2));
if (((longAt(xArray)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(xArray));
+ assert(isReallyForwarded(xArray));
referent4 = longAt((xArray + (BaseHeaderSize)) + (0 << 2));
while (((referent4 & 3) == 0)
&& (((longAt(referent4)) & 0x3FFFFF) == 8)) {
@@ -42854,7 +42854,7 @@
obj = longAt((xArray + (BaseHeaderSize)) + (i3 << 2));
if (((longAt(obj)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(obj));
+ assert(isReallyForwarded(obj));
referent6 = longAt((obj + (BaseHeaderSize)) + (0 << 2));
while (((referent6 & 3) == 0)
&& (((longAt(referent6)) & 0x3FFFFF) == 8)) {
@@ -42884,7 +42884,7 @@
/* begin followForwardingPointersInProfileState */
if (((longAt(GIV(profileProcess))) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(GIV(profileProcess)));
+ assert(isReallyForwarded(GIV(profileProcess)));
referent1 = longAt((GIV(profileProcess) + (BaseHeaderSize)) + (0 << 2));
while (((referent1 & 3) == 0)
&& (((longAt(referent1)) & 0x3FFFFF) == 8)) {
@@ -42894,7 +42894,7 @@
}
if (((longAt(GIV(profileMethod))) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(GIV(profileMethod)));
+ assert(isReallyForwarded(GIV(profileMethod)));
referent2 = longAt((GIV(profileMethod) + (BaseHeaderSize)) + (0 << 2));
while (((referent2 & 3) == 0)
&& (((longAt(referent2)) & 0x3FFFFF) == 8)) {
@@ -42904,7 +42904,7 @@
}
if (((longAt(GIV(profileProcess))) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(GIV(profileSemaphore)));
+ assert(isReallyForwarded(GIV(profileSemaphore)));
referent3 = longAt((GIV(profileSemaphore) + (BaseHeaderSize)) + (0 << 2));
while (((referent3 & 3) == 0)
&& (((longAt(referent3)) & 0x3FFFFF) == 8)) {
@@ -44114,7 +44114,7 @@
if (((oop & 3) == 0)
&& (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
/* begin followForwarded: */
- assert(isForwarded(oop));
+ assert(isReallyForwarded(oop));
referent = longAt((oop + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -44636,7 +44636,7 @@
/* begin followSpecialObjectsOop */
if (((longAt(GIV(specialObjectsOop))) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(GIV(specialObjectsOop)));
+ assert(isReallyForwarded(GIV(specialObjectsOop)));
referent = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -44667,7 +44667,7 @@
flag("endianness");
longAtput(obj, (longAt(obj)) & (~(1 << 29)));
/* begin followForwarded: */
- assert(isForwarded(obj));
+ assert(isReallyForwarded(obj));
referent1 = longAt((obj + (BaseHeaderSize)) + (0 << 2));
while (((referent1 & 3) == 0)
&& (((longAt(referent1)) & 0x3FFFFF) == 8)) {
@@ -44723,7 +44723,7 @@
if (((f & 3) == 0)
&& (((longAt(f)) & 0x3FFFFF) == 8)) {
/* begin followForwarded: */
- assert(isForwarded(f));
+ assert(isReallyForwarded(f));
referent2 = longAt((f + (BaseHeaderSize)) + (0 << 2));
while (((referent2 & 3) == 0)
&& (((longAt(referent2)) & 0x3FFFFF) == 8)) {
@@ -44766,7 +44766,7 @@
if (((f & 3) == 0)
&& (((longAt(f)) & 0x3FFFFF) == 8)) {
/* begin followForwarded: */
- assert(isForwarded(f));
+ assert(isReallyForwarded(f));
referent11 = longAt((f + (BaseHeaderSize)) + (0 << 2));
while (((referent11 & 3) == 0)
&& (((longAt(referent11)) & 0x3FFFFF) == 8)) {
@@ -45946,7 +45946,7 @@
assert(isOopForwarded(initialValue));
/* begin followForwarded: */
- assert(isForwarded(initialValue));
+ assert(isReallyForwarded(initialValue));
referent = longAt((initialValue + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -46012,7 +46012,7 @@
stackOrNil = objStack;
if (((longAt(stackOrNil)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(stackOrNil));
+ assert(isReallyForwarded(stackOrNil));
referent = longAt((stackOrNil + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -46068,7 +46068,7 @@
&& (((field & 3) == 0)
&& (((longAt(field)) & (0x3FFFFF - 8)) == 0))) {
/* begin followForwarded: */
- assert(isForwarded(field));
+ assert(isReallyForwarded(field));
referent1 = longAt((field + (BaseHeaderSize)) + (0 << 2));
while (((referent1 & 3) == 0)
&& (((longAt(referent1)) & 0x3FFFFF) == 8)) {
@@ -46088,7 +46088,7 @@
if (!(stackOrNil != 0)) break;
if (((longAt(stackOrNil)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(stackOrNil));
+ assert(isReallyForwarded(stackOrNil));
referent2 = longAt((stackOrNil + (BaseHeaderSize)) + (0 << 2));
while (((referent2 & 3) == 0)
&& (((longAt(referent2)) & 0x3FFFFF) == 8)) {
@@ -46128,7 +46128,7 @@
if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) {
found = 1;
/* begin followForwarded: */
- assert(isForwarded(oop));
+ assert(isReallyForwarded(oop));
referent = longAt((oop + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -46188,7 +46188,7 @@
{
sqInt referent;
- assert(isForwarded(objOop));
+ assert(isReallyForwarded(objOop));
referent = longAt((objOop + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -47537,6 +47537,17 @@
}
+/* This version is for asserts. It does not take advantage of the
+ power-of0two optimization
+ in isForwarded:. */
+
+sqInt
+isReallyForwarded(sqInt objOop)
+{
+ return ((longAt(objOop)) & 0x3FFFFF) == 8;
+}
+
+
/* Answer if oop is young. */
sqInt
@@ -48529,7 +48540,7 @@
if (((field & 3) == 0)
&& (((longAt(field)) & 0x3FFFFF) == 8)) {
/* begin followForwarded: */
- assert(isForwarded(field));
+ assert(isReallyForwarded(field));
referent = longAt((field + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -48588,7 +48599,7 @@
if (((field & 3) == 0)
&& (((longAt(field)) & 0x3FFFFF) == 8)) {
/* begin followForwarded: */
- assert(isForwarded(field));
+ assert(isReallyForwarded(field));
referent1 = longAt((field + (BaseHeaderSize)) + (0 << 2));
while (((referent1 & 3) == 0)
&& (((longAt(referent1)) & 0x3FFFFF) == 8)) {
@@ -48875,7 +48886,7 @@
/* begin followForwardingPointersInProfileState */
if (((longAt(GIV(profileProcess))) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(GIV(profileProcess)));
+ assert(isReallyForwarded(GIV(profileProcess)));
referent = longAt((GIV(profileProcess) + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -48885,7 +48896,7 @@
}
if (((longAt(GIV(profileMethod))) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(GIV(profileMethod)));
+ assert(isReallyForwarded(GIV(profileMethod)));
referent1 = longAt((GIV(profileMethod) + (BaseHeaderSize)) + (0 << 2));
while (((referent1 & 3) == 0)
&& (((longAt(referent1)) & 0x3FFFFF) == 8)) {
@@ -48895,7 +48906,7 @@
}
if (((longAt(GIV(profileProcess))) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(GIV(profileSemaphore)));
+ assert(isReallyForwarded(GIV(profileSemaphore)));
referent2 = longAt((GIV(profileSemaphore) + (BaseHeaderSize)) + (0 << 2));
while (((referent2 & 3) == 0)
&& (((longAt(referent2)) & 0x3FFFFF) == 8)) {
@@ -48912,7 +48923,7 @@
&& (GIV(longRunningPrimitiveCheckSequenceNumber) != GIV(statCheckForEvents))) {
if (((longAt(GIV(longRunningPrimitiveCheckMethod))) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(GIV(longRunningPrimitiveCheckMethod)));
+ assert(isReallyForwarded(GIV(longRunningPrimitiveCheckMethod)));
referent3 = longAt((GIV(longRunningPrimitiveCheckMethod) + (BaseHeaderSize)) + (0 << 2));
while (((referent3 & 3) == 0)
&& (((longAt(referent3)) & 0x3FFFFF) == 8)) {
@@ -48925,7 +48936,7 @@
if (GIV(longRunningPrimitiveCheckSemaphore) != null) {
if (((longAt(GIV(longRunningPrimitiveCheckSemaphore))) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(GIV(longRunningPrimitiveCheckSemaphore)));
+ assert(isReallyForwarded(GIV(longRunningPrimitiveCheckSemaphore)));
referent4 = longAt((GIV(longRunningPrimitiveCheckSemaphore) + (BaseHeaderSize)) + (0 << 2));
while (((referent4 & 3) == 0)
&& (((longAt(referent4)) & 0x3FFFFF) == 8)) {
@@ -49558,7 +49569,8 @@
for (i = (numStrongSlotsOfWeakling(aWeakling)), iLimiT = ((numSlotsOf(aWeakling)) - 1); i <= iLimiT; i += 1) {
referent = longAt((aWeakling + (BaseHeaderSize)) + (i << 2));
if (((referent & 3) == 0)
- && (((longAt(referent)) & (0x3FFFFF - 8)) == 0)) {
+ && ((!(((longAt(referent)) & 0x3FFFFF) == 0))
+ && (((longAt(referent)) & (0x3FFFFF - 8)) == 0))) {
referent = fixFollowedFieldofObjectwithInitialValue(i, aWeakling, referent);
}
if (!(((referent & 3) != 0)
@@ -50198,7 +50210,7 @@
if (((oop & 3) == 0)
&& (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
/* begin followForwarded: */
- assert(isForwarded(oop));
+ assert(isReallyForwarded(oop));
referent = longAt((oop + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -50412,7 +50424,7 @@
if (classOrNil != GIV(nilObj)) {
if (((longAt(classOrNil)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(classOrNil));
+ assert(isReallyForwarded(classOrNil));
referent = longAt((classOrNil + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -51514,7 +51526,7 @@
assert(shouldRemapOop(objOop));
if (((longAt(objOop)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(objOop));
+ assert(isReallyForwarded(objOop));
referent = longAt((objOop + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -53504,7 +53516,7 @@
assert(index < GIV(argumentCount));
found = 1;
/* begin followForwarded: */
- assert(isForwarded(oop));
+ assert(isReallyForwarded(oop));
referent = longAt((oop + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -53813,7 +53825,7 @@
frameCtxt = longAt(theFP + FoxThisContext);
if (((longAt(frameCtxt)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(frameCtxt));
+ assert(isReallyForwarded(frameCtxt));
referent = longAt((frameCtxt + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -55924,7 +55936,7 @@
}
if (((longAt(methArg)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(methArg));
+ assert(isReallyForwarded(methArg));
referent = longAt((methArg + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -56208,7 +56220,7 @@
assoc = longAt((methodObj + (BaseHeaderSize)) + (((litCount - 1) + LiteralStart) << 2));
if (((longAt(assoc)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(assoc));
+ assert(isReallyForwarded(assoc));
referent = longAt((assoc + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -56238,7 +56250,7 @@
classObj = longAt((assoc + (BaseHeaderSize)) + (ValueIndex << 2));
if (((longAt(classObj)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(classObj));
+ assert(isReallyForwarded(classObj));
referent1 = longAt((classObj + (BaseHeaderSize)) + (0 << 2));
while (((referent1 & 3) == 0)
&& (((longAt(referent1)) & 0x3FFFFF) == 8)) {
@@ -56533,7 +56545,7 @@
followForwardedFieldsInCurrentMethod();
followForwardedObjectFieldstoDepth(longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SpecialSelectors << 2)), 0);
/* begin followForwarded: */
- assert(isForwarded(selectorOop));
+ assert(isReallyForwarded(selectorOop));
referent = longAt((selectorOop + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -56560,7 +56572,7 @@
rcvr = longAt(GIV(stackPointer) + (GIV(argumentCount) * BytesPerWord));
assert(isOopForwarded(rcvr));
/* begin followForwarded: */
- assert(isForwarded(rcvr));
+ assert(isReallyForwarded(rcvr));
referent = longAt((rcvr + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -56605,7 +56617,7 @@
: longAt(theFP + FoxIFReceiver)), 0);
}
/* begin followForwarded: */
- assert(isForwarded(obj));
+ assert(isReallyForwarded(obj));
referent = longAt((obj + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -57073,7 +57085,7 @@
frameCtxt = longAt(theFrame + FoxThisContext);
if (((longAt(frameCtxt)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(frameCtxt));
+ assert(isReallyForwarded(frameCtxt));
referent = longAt((frameCtxt + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -59620,7 +59632,7 @@
ctxt = callerContextOrNil;
if (((longAt(ctxt)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(ctxt));
+ assert(isReallyForwarded(ctxt));
referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
@@ -62303,7 +62315,7 @@
caller = callerContextOrNil;
if (((longAt(caller)) & (0x3FFFFF - 8)) == 0) {
/* begin followForwarded: */
- assert(isForwarded(caller));
+ assert(isReallyForwarded(caller));
referent = longAt((caller + (BaseHeaderSize)) + (0 << 2));
while (((referent & 3) == 0)
&& (((longAt(referent)) & 0x3FFFFF) == 8)) {
Modified: branches/Cog/nsspursrc/vm/cointerp.h
===================================================================
@@ Diff output truncated at 50000 characters. @@
More information about the Vm-dev
mailing list