Revision: 3244 Author: eliot Date: 2015-01-30 18:15:58 -0800 (Fri, 30 Jan 2015) Log Message: ----------- CogVM source as per VMMaker.oscog-eem.1034
Spur: Clarify and ensure that we always follow receivers after any become to ensure that e.g. super sends on non-pointer receivers (which don't check) will have unforwarded receivers and hence any primitives that don't validate their receivers will function correctly. Better safe than sorry.
Modified Paths: -------------- branches/Cog/nsspursrc/vm/cointerp.c branches/Cog/nsspursrc/vm/cointerp.h branches/Cog/nsspursrc/vm/gcc3x-cointerp.c branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c branches/Cog/nsspurstacksrc/vm/interp.c branches/Cog/spursistasrc/vm/cointerp.c branches/Cog/spursistasrc/vm/cointerp.h branches/Cog/spursistasrc/vm/gcc3x-cointerp.c branches/Cog/spursrc/vm/cointerp.c branches/Cog/spursrc/vm/cointerp.h branches/Cog/spursrc/vm/gcc3x-cointerp.c branches/Cog/spurstack64src/vm/gcc3x-interp.c branches/Cog/spurstack64src/vm/interp.c branches/Cog/spurstacksrc/vm/gcc3x-interp.c branches/Cog/spurstacksrc/vm/interp.c
Property Changed: ---------------- branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
Modified: branches/Cog/nsspursrc/vm/cointerp.c =================================================================== --- branches/Cog/nsspursrc/vm/cointerp.c 2015-01-31 02:14:57 UTC (rev 3243) +++ branches/Cog/nsspursrc/vm/cointerp.c 2015-01-31 02:15:58 UTC (rev 3244) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 from - CoInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CoInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2353,7 +2353,7 @@ /*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1 }; char expensiveAsserts = 0; -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1029"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1034"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace;
@@ -72847,7 +72847,9 @@ All receivers must be unfollowed for two reasons: 1. inst var access is direct with no read barrier 2. super sends (always to the receiver) have no class check and so don't - trap for forwarded receivers. + trap for forwarded receivers. This is an issue for primitives that assume + their receiver + is valid and don't validate. Methods must be unfollowed since bytecode access is direct with no read barrier. But this only needs to be done if the becomeEffectsFlags indicate that a @@ -72901,12 +72903,8 @@ sqInt schedAssoc; sqInt xArray;
+ followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags != 0) { - - /* (theBecomeEffectsFlags anyMask: BecamePointerObjectFlag+BecameCompiledMethodFlag) ifTrue: - [ */ - - followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags & BecameCompiledMethodFlag) { /* begin followForwardedMethodsInMethodCache */ for (i = 0; i < MethodCacheSize; i += MethodCacheEntrySize) {
Modified: branches/Cog/nsspursrc/vm/cointerp.h =================================================================== --- branches/Cog/nsspursrc/vm/cointerp.h 2015-01-31 02:14:57 UTC (rev 3243) +++ branches/Cog/nsspursrc/vm/cointerp.h 2015-01-31 02:15:58 UTC (rev 3244) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 */
Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c 2015-01-31 02:14:57 UTC (rev 3243) +++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c 2015-01-31 02:15:58 UTC (rev 3244) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 from - CoInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CoInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2356,7 +2356,7 @@ /*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1 }; char expensiveAsserts = 0; -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1029"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1034"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace;
@@ -72856,7 +72856,9 @@ All receivers must be unfollowed for two reasons: 1. inst var access is direct with no read barrier 2. super sends (always to the receiver) have no class check and so don't - trap for forwarded receivers. + trap for forwarded receivers. This is an issue for primitives that assume + their receiver + is valid and don't validate. Methods must be unfollowed since bytecode access is direct with no read barrier. But this only needs to be done if the becomeEffectsFlags indicate that a @@ -72910,12 +72912,8 @@ sqInt schedAssoc; sqInt xArray;
+ followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags != 0) { - - /* (theBecomeEffectsFlags anyMask: BecamePointerObjectFlag+BecameCompiledMethodFlag) ifTrue: - [ */ - - followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags & BecameCompiledMethodFlag) { /* begin followForwardedMethodsInMethodCache */ for (i = 0; i < MethodCacheSize; i += MethodCacheEntrySize) {
Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c =================================================================== --- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c 2015-01-31 02:14:57 UTC (rev 3243) +++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c 2015-01-31 02:15:58 UTC (rev 3244) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 from - StackInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + StackInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2104,7 +2104,7 @@ /* 575 */ (void (*)(void))0, 0 }; char expensiveAsserts = 0; -const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1029"; +const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1034"; volatile int sendTrace; sqInt suppressHeartbeatFlag;
@@ -62299,7 +62299,9 @@ All receivers must be unfollowed for two reasons: 1. inst var access is direct with no read barrier 2. super sends (always to the receiver) have no class check and so don't - trap for forwarded receivers. + trap for forwarded receivers. This is an issue for primitives that assume + their receiver + is valid and don't validate. Methods must be unfollowed since bytecode access is direct with no read barrier. But this only needs to be done if the becomeEffectsFlags indicate that a @@ -62353,12 +62355,8 @@ sqInt schedAssoc; sqInt xArray;
+ followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags != 0) { - - /* (theBecomeEffectsFlags anyMask: BecamePointerObjectFlag+BecameCompiledMethodFlag) ifTrue: - [ */ - - followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags & BecameCompiledMethodFlag) { /* begin followForwardedMethodsInMethodCache */ for (i = 0; i < MethodCacheSize; i += MethodCacheEntrySize) {
Modified: branches/Cog/nsspurstacksrc/vm/interp.c =================================================================== --- branches/Cog/nsspurstacksrc/vm/interp.c 2015-01-31 02:14:57 UTC (rev 3243) +++ branches/Cog/nsspurstacksrc/vm/interp.c 2015-01-31 02:15:58 UTC (rev 3244) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 from - StackInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + StackInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2101,7 +2101,7 @@ /* 575 */ (void (*)(void))0, 0 }; char expensiveAsserts = 0; -const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1029"; +const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1034"; volatile int sendTrace; sqInt suppressHeartbeatFlag;
@@ -62290,7 +62290,9 @@ All receivers must be unfollowed for two reasons: 1. inst var access is direct with no read barrier 2. super sends (always to the receiver) have no class check and so don't - trap for forwarded receivers. + trap for forwarded receivers. This is an issue for primitives that assume + their receiver + is valid and don't validate. Methods must be unfollowed since bytecode access is direct with no read barrier. But this only needs to be done if the becomeEffectsFlags indicate that a @@ -62344,12 +62346,8 @@ sqInt schedAssoc; sqInt xArray;
+ followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags != 0) { - - /* (theBecomeEffectsFlags anyMask: BecamePointerObjectFlag+BecameCompiledMethodFlag) ifTrue: - [ */ - - followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags & BecameCompiledMethodFlag) { /* begin followForwardedMethodsInMethodCache */ for (i = 0; i < MethodCacheSize; i += MethodCacheEntrySize) {
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h ___________________________________________________________________ Modified: checkindate - Fri Jan 30 17:17:40 PST 2015 + Fri Jan 30 18:15:57 PST 2015
Modified: branches/Cog/spursistasrc/vm/cointerp.c =================================================================== --- branches/Cog/spursistasrc/vm/cointerp.c 2015-01-31 02:14:57 UTC (rev 3243) +++ branches/Cog/spursistasrc/vm/cointerp.c 2015-01-31 02:15:58 UTC (rev 3244) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 from - CoInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CoInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2354,7 +2354,7 @@ /*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1 }; char expensiveAsserts = 0; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.1029]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.1034]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace;
@@ -72882,7 +72882,9 @@ All receivers must be unfollowed for two reasons: 1. inst var access is direct with no read barrier 2. super sends (always to the receiver) have no class check and so don't - trap for forwarded receivers. + trap for forwarded receivers. This is an issue for primitives that assume + their receiver + is valid and don't validate. Methods must be unfollowed since bytecode access is direct with no read barrier. But this only needs to be done if the becomeEffectsFlags indicate that a @@ -72936,12 +72938,8 @@ sqInt schedAssoc; sqInt xArray;
+ followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags != 0) { - - /* (theBecomeEffectsFlags anyMask: BecamePointerObjectFlag+BecameCompiledMethodFlag) ifTrue: - [ */ - - followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags & BecameCompiledMethodFlag) { /* begin followForwardedMethodsInMethodCache */ for (i = 0; i < MethodCacheSize; i += MethodCacheEntrySize) {
Modified: branches/Cog/spursistasrc/vm/cointerp.h =================================================================== --- branches/Cog/spursistasrc/vm/cointerp.h 2015-01-31 02:14:57 UTC (rev 3243) +++ branches/Cog/spursistasrc/vm/cointerp.h 2015-01-31 02:15:58 UTC (rev 3244) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 */
Modified: branches/Cog/spursistasrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/spursistasrc/vm/gcc3x-cointerp.c 2015-01-31 02:14:57 UTC (rev 3243) +++ branches/Cog/spursistasrc/vm/gcc3x-cointerp.c 2015-01-31 02:15:58 UTC (rev 3244) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 from - CoInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CoInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2357,7 +2357,7 @@ /*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1 }; char expensiveAsserts = 0; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.1029]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.1034]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace;
@@ -72891,7 +72891,9 @@ All receivers must be unfollowed for two reasons: 1. inst var access is direct with no read barrier 2. super sends (always to the receiver) have no class check and so don't - trap for forwarded receivers. + trap for forwarded receivers. This is an issue for primitives that assume + their receiver + is valid and don't validate. Methods must be unfollowed since bytecode access is direct with no read barrier. But this only needs to be done if the becomeEffectsFlags indicate that a @@ -72945,12 +72947,8 @@ sqInt schedAssoc; sqInt xArray;
+ followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags != 0) { - - /* (theBecomeEffectsFlags anyMask: BecamePointerObjectFlag+BecameCompiledMethodFlag) ifTrue: - [ */ - - followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags & BecameCompiledMethodFlag) { /* begin followForwardedMethodsInMethodCache */ for (i = 0; i < MethodCacheSize; i += MethodCacheEntrySize) {
Modified: branches/Cog/spursrc/vm/cointerp.c =================================================================== --- branches/Cog/spursrc/vm/cointerp.c 2015-01-31 02:14:57 UTC (rev 3243) +++ branches/Cog/spursrc/vm/cointerp.c 2015-01-31 02:15:58 UTC (rev 3244) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 from - CoInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CoInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2343,7 +2343,7 @@ /*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1 }; char expensiveAsserts = 0; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.1029]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.1034]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace;
@@ -67742,7 +67742,9 @@ All receivers must be unfollowed for two reasons: 1. inst var access is direct with no read barrier 2. super sends (always to the receiver) have no class check and so don't - trap for forwarded receivers. + trap for forwarded receivers. This is an issue for primitives that assume + their receiver + is valid and don't validate. Methods must be unfollowed since bytecode access is direct with no read barrier. But this only needs to be done if the becomeEffectsFlags indicate that a @@ -67796,12 +67798,8 @@ sqInt schedAssoc; sqInt xArray;
+ followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags != 0) { - - /* (theBecomeEffectsFlags anyMask: BecamePointerObjectFlag+BecameCompiledMethodFlag) ifTrue: - [ */ - - followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags & BecameCompiledMethodFlag) { /* begin followForwardedMethodsInMethodCache */ for (i = 0; i < MethodCacheSize; i += MethodCacheEntrySize) {
Modified: branches/Cog/spursrc/vm/cointerp.h =================================================================== --- branches/Cog/spursrc/vm/cointerp.h 2015-01-31 02:14:57 UTC (rev 3243) +++ branches/Cog/spursrc/vm/cointerp.h 2015-01-31 02:15:58 UTC (rev 3244) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 */
Modified: branches/Cog/spursrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/spursrc/vm/gcc3x-cointerp.c 2015-01-31 02:14:57 UTC (rev 3243) +++ branches/Cog/spursrc/vm/gcc3x-cointerp.c 2015-01-31 02:15:58 UTC (rev 3244) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 from - CoInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CoInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2346,7 +2346,7 @@ /*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1 }; char expensiveAsserts = 0; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.1029]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.1034]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace;
@@ -67751,7 +67751,9 @@ All receivers must be unfollowed for two reasons: 1. inst var access is direct with no read barrier 2. super sends (always to the receiver) have no class check and so don't - trap for forwarded receivers. + trap for forwarded receivers. This is an issue for primitives that assume + their receiver + is valid and don't validate. Methods must be unfollowed since bytecode access is direct with no read barrier. But this only needs to be done if the becomeEffectsFlags indicate that a @@ -67805,12 +67807,8 @@ sqInt schedAssoc; sqInt xArray;
+ followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags != 0) { - - /* (theBecomeEffectsFlags anyMask: BecamePointerObjectFlag+BecameCompiledMethodFlag) ifTrue: - [ */ - - followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags & BecameCompiledMethodFlag) { /* begin followForwardedMethodsInMethodCache */ for (i = 0; i < MethodCacheSize; i += MethodCacheEntrySize) {
Modified: branches/Cog/spurstack64src/vm/gcc3x-interp.c =================================================================== --- branches/Cog/spurstack64src/vm/gcc3x-interp.c 2015-01-31 02:14:57 UTC (rev 3243) +++ branches/Cog/spurstack64src/vm/gcc3x-interp.c 2015-01-31 02:15:58 UTC (rev 3244) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 from - StackInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + StackInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2127,7 +2127,7 @@ /* 575 */ (void (*)(void))0, 0 }; char expensiveAsserts = 0; -const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1029]"; +const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1034]"; volatile int sendTrace; sqInt suppressHeartbeatFlag;
@@ -62482,7 +62482,9 @@ All receivers must be unfollowed for two reasons: 1. inst var access is direct with no read barrier 2. super sends (always to the receiver) have no class check and so don't - trap for forwarded receivers. + trap for forwarded receivers. This is an issue for primitives that assume + their receiver + is valid and don't validate. Methods must be unfollowed since bytecode access is direct with no read barrier. But this only needs to be done if the becomeEffectsFlags indicate that a @@ -62536,12 +62538,8 @@ sqInt schedAssoc; sqInt xArray;
+ followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags != 0) { - - /* (theBecomeEffectsFlags anyMask: BecamePointerObjectFlag+BecameCompiledMethodFlag) ifTrue: - [ */ - - followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags & BecameCompiledMethodFlag) { /* begin followForwardedMethodsInMethodCache */ for (i = 0; i < MethodCacheSize; i += MethodCacheEntrySize) {
Modified: branches/Cog/spurstack64src/vm/interp.c =================================================================== --- branches/Cog/spurstack64src/vm/interp.c 2015-01-31 02:14:57 UTC (rev 3243) +++ branches/Cog/spurstack64src/vm/interp.c 2015-01-31 02:15:58 UTC (rev 3244) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 from - StackInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + StackInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2124,7 +2124,7 @@ /* 575 */ (void (*)(void))0, 0 }; char expensiveAsserts = 0; -const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1029]"; +const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1034]"; volatile int sendTrace; sqInt suppressHeartbeatFlag;
@@ -62473,7 +62473,9 @@ All receivers must be unfollowed for two reasons: 1. inst var access is direct with no read barrier 2. super sends (always to the receiver) have no class check and so don't - trap for forwarded receivers. + trap for forwarded receivers. This is an issue for primitives that assume + their receiver + is valid and don't validate. Methods must be unfollowed since bytecode access is direct with no read barrier. But this only needs to be done if the becomeEffectsFlags indicate that a @@ -62527,12 +62529,8 @@ sqInt schedAssoc; sqInt xArray;
+ followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags != 0) { - - /* (theBecomeEffectsFlags anyMask: BecamePointerObjectFlag+BecameCompiledMethodFlag) ifTrue: - [ */ - - followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags & BecameCompiledMethodFlag) { /* begin followForwardedMethodsInMethodCache */ for (i = 0; i < MethodCacheSize; i += MethodCacheEntrySize) {
Modified: branches/Cog/spurstacksrc/vm/gcc3x-interp.c =================================================================== --- branches/Cog/spurstacksrc/vm/gcc3x-interp.c 2015-01-31 02:14:57 UTC (rev 3243) +++ branches/Cog/spurstacksrc/vm/gcc3x-interp.c 2015-01-31 02:15:58 UTC (rev 3244) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 from - StackInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + StackInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2097,7 +2097,7 @@ /* 575 */ (void (*)(void))0, 0 }; char expensiveAsserts = 0; -const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1029]"; +const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1034]"; volatile int sendTrace; sqInt suppressHeartbeatFlag;
@@ -57570,7 +57570,9 @@ All receivers must be unfollowed for two reasons: 1. inst var access is direct with no read barrier 2. super sends (always to the receiver) have no class check and so don't - trap for forwarded receivers. + trap for forwarded receivers. This is an issue for primitives that assume + their receiver + is valid and don't validate. Methods must be unfollowed since bytecode access is direct with no read barrier. But this only needs to be done if the becomeEffectsFlags indicate that a @@ -57624,12 +57626,8 @@ sqInt schedAssoc; sqInt xArray;
+ followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags != 0) { - - /* (theBecomeEffectsFlags anyMask: BecamePointerObjectFlag+BecameCompiledMethodFlag) ifTrue: - [ */ - - followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags & BecameCompiledMethodFlag) { /* begin followForwardedMethodsInMethodCache */ for (i = 0; i < MethodCacheSize; i += MethodCacheEntrySize) {
Modified: branches/Cog/spurstacksrc/vm/interp.c =================================================================== --- branches/Cog/spurstacksrc/vm/interp.c 2015-01-31 02:14:57 UTC (rev 3243) +++ branches/Cog/spurstacksrc/vm/interp.c 2015-01-31 02:15:58 UTC (rev 3244) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 from - StackInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 + StackInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1029 uuid: a2c6da7a-d111-4184-bf10-039ed2bea424 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1034 uuid: 1a93b31c-cf2c-4a2c-b53f-9eae1d7863c7 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2094,7 +2094,7 @@ /* 575 */ (void (*)(void))0, 0 }; char expensiveAsserts = 0; -const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1029]"; +const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1034]"; volatile int sendTrace; sqInt suppressHeartbeatFlag;
@@ -57561,7 +57561,9 @@ All receivers must be unfollowed for two reasons: 1. inst var access is direct with no read barrier 2. super sends (always to the receiver) have no class check and so don't - trap for forwarded receivers. + trap for forwarded receivers. This is an issue for primitives that assume + their receiver + is valid and don't validate. Methods must be unfollowed since bytecode access is direct with no read barrier. But this only needs to be done if the becomeEffectsFlags indicate that a @@ -57615,12 +57617,8 @@ sqInt schedAssoc; sqInt xArray;
+ followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags != 0) { - - /* (theBecomeEffectsFlags anyMask: BecamePointerObjectFlag+BecameCompiledMethodFlag) ifTrue: - [ */ - - followForwardingPointersInStackZone(theBecomeEffectsFlags); if (theBecomeEffectsFlags & BecameCompiledMethodFlag) { /* begin followForwardedMethodsInMethodCache */ for (i = 0; i < MethodCacheSize; i += MethodCacheEntrySize) {
vm-dev@lists.squeakfoundation.org