[Vm-dev] [commit] r2497 - CogVm source as per
VMMaker.oscog-eem.131. Deal with some realities in the
commits at squeakvm.org
commits at squeakvm.org
Mon Oct 3 21:46:33 UTC 2011
Author: eliot
Date: 2011-10-03 14:46:33 -0700 (Mon, 03 Oct 2011)
New Revision: 2497
Modified:
branches/Cog/nscogsrc/vm/cogit.c
branches/Cog/nscogsrc/vm/cogit.h
branches/Cog/nscogsrc/vm/cogmethod.h
branches/Cog/nscogsrc/vm/cointerp.c
branches/Cog/nscogsrc/vm/cointerp.h
branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
branches/Cog/nscogsrc/vm/interp.h
branches/Cog/nscogsrc/vm/vmCallback.h
branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
branches/Cog/src/vm/cogit.c
branches/Cog/src/vm/cogit.h
branches/Cog/src/vm/cogmethod.h
branches/Cog/src/vm/cointerp.c
branches/Cog/src/vm/cointerp.h
branches/Cog/src/vm/cointerpmt.c
branches/Cog/src/vm/cointerpmt.h
branches/Cog/src/vm/gcc3x-cointerp.c
branches/Cog/src/vm/gcc3x-cointerpmt.c
branches/Cog/src/vm/interp.h
branches/Cog/src/vm/vmCallback.h
Log:
CogVm source as per VMMaker.oscog-eem.131. Deal with some realities in the
minValidCallAddress checking code. At least on Mac OS under gcc -O, gcc will
reorder code so that primitiveFail comes before interpret. Also firm up the
signatures of rewriteInlineCacheAt:tag:target: & rewriteCallAt:target:.
Modified: branches/Cog/nscogsrc/vm/cogit.c
===================================================================
--- branches/Cog/nscogsrc/vm/cogit.c 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/nscogsrc/vm/cogit.c 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGenerator VMMaker.oscog-eem.129 uuid: 1b6f9029-666c-4ca4-b58c-9973784bb7ba
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ StackToRegisterMappingCogit VMMaker.oscog-eem.129 uuid: 1b6f9029-666c-4ca4-b58c-9973784bb7ba
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.129 uuid: 1b6f9029-666c-4ca4-b58c-9973784bb7ba " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -926,8 +926,8 @@
static void removeFromOpenPICList(CogMethod *anOpenPIC);
static void resolveJumpTarget(AbstractInstruction * self_in_resolveJumpTarget);
static sqInt returnRegForStoreCheck(void);
-static sqInt rewriteCallAttarget(AbstractInstruction * self_in_rewriteCallAttarget, usqInt callSiteReturnAddress, sqInt callTargetAddress);
-static sqInt rewriteInlineCacheAttagtarget(AbstractInstruction * self_in_rewriteInlineCacheAttagtarget, usqInt callSiteReturnAddress, sqInt cacheTag, sqInt callTargetAddress);
+static sqInt rewriteCallAttarget(AbstractInstruction * self_in_rewriteCallAttarget, usqInt callSiteReturnAddress, usqInt callTargetAddress);
+static sqInt rewriteInlineCacheAttagtarget(AbstractInstruction * self_in_rewriteInlineCacheAttagtarget, usqInt callSiteReturnAddress, sqInt cacheTag, usqInt callTargetAddress);
static void rewriteInlineCacheTagat(AbstractInstruction * self_in_rewriteInlineCacheTagat, sqInt cacheTag, sqInt callSiteReturnAddress);
static sqInt rewriteJumpLongAttarget(AbstractInstruction * self_in_rewriteJumpLongAttarget, sqInt callSiteReturnAddress, sqInt callTargetAddress);
void rewritePrimInvocationInto(CogMethod *cogMethod, void (*primFunctionPointer)(void));
@@ -12754,7 +12754,7 @@
{
sqMakeMemoryExecutableFromTo(startAddress, endAddress);
codeBase = (methodZoneBase = startAddress);
- minValidCallAddress = ((codeBase < (interpretAddress())) ? codeBase : (interpretAddress()));
+ minValidCallAddress = (((((codeBase < (interpretAddress())) ? codeBase : (interpretAddress()))) < (primitiveFailAddress())) ? (((codeBase < (interpretAddress())) ? codeBase : (interpretAddress()))) : (primitiveFailAddress()));
initializeBackend();
maybeGenerateCheckFeatures();
maybeGenerateICacheFlush();
@@ -15893,7 +15893,7 @@
callSiteReturnAddress - 1]. */
static sqInt
-rewriteCallAttarget(AbstractInstruction * self_in_rewriteCallAttarget, usqInt callSiteReturnAddress, sqInt callTargetAddress)
+rewriteCallAttarget(AbstractInstruction * self_in_rewriteCallAttarget, usqInt callSiteReturnAddress, usqInt callTargetAddress)
{
sqInt callDistance;
@@ -15925,7 +15925,7 @@
callSiteReturnAddress - 1]. */
static sqInt
-rewriteInlineCacheAttagtarget(AbstractInstruction * self_in_rewriteInlineCacheAttagtarget, usqInt callSiteReturnAddress, sqInt cacheTag, sqInt callTargetAddress)
+rewriteInlineCacheAttagtarget(AbstractInstruction * self_in_rewriteInlineCacheAttagtarget, usqInt callSiteReturnAddress, sqInt cacheTag, usqInt callTargetAddress)
{
sqInt callDistance;
Modified: branches/Cog/nscogsrc/vm/cogit.h
===================================================================
--- branches/Cog/nscogsrc/vm/cogit.h 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/nscogsrc/vm/cogit.h 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGenerator VMMaker.oscog-eem.129 uuid: 1b6f9029-666c-4ca4-b58c-9973784bb7ba
*/
Modified: branches/Cog/nscogsrc/vm/cogmethod.h
===================================================================
--- branches/Cog/nscogsrc/vm/cogmethod.h 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/nscogsrc/vm/cogmethod.h 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGenerator VMMaker.oscog-eem.129 uuid: 1b6f9029-666c-4ca4-b58c-9973784bb7ba
*/
typedef struct {
Modified: branches/Cog/nscogsrc/vm/cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.c 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/nscogsrc/vm/cointerp.c 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
from
- CoInterpreter VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CoInterpreter VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
*/
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -797,6 +797,7 @@
static void primitiveExponent(void);
static void primitiveExternalCall(void);
sqInt primitiveFail(void);
+usqInt primitiveFailAddress(void);
sqInt primitiveFailFor(sqInt reasonCode);
sqInt primitiveFailureCode(void);
static void primitiveFindHandlerContext(void);
@@ -1893,7 +1894,7 @@
/* 575 */ (void (*)(void))0,
0 };
static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.128";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.131";
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
volatile int sendTrace;
@@ -19052,15 +19053,15 @@
/* This is used for asserts that check that inline cache editing results in
valid addresses.
- In the C VM interpret is guaranteed to come before any primitives and so
- it constitutes
- the lowest address in C code that machine code should be linked. In the
- simulator we just answer something not low. */
+ In the C VM interpret is presumed to come before any primitives and so it
+ constitutes the lowest address in C code that machine code should be
+ linked. In the simulator
+ we just answer something not low. */
usqInt
interpretAddress(void)
{
- return ((usqInt)((&"interpret")));
+ return ((usqInt)((&(interpret))));
}
@@ -28400,6 +28401,21 @@
}
+/* This is used for asserts that check that inline cache editing results in
+ valid addresses.
+ In the C VM interpret is presumed to come before any primitives and so it
+ constitutes the lowest address in C code that machine code should be
+ linked, but optimizing
+ compilers change things around. In the simulator we just answer something
+ not low. */
+
+usqInt
+primitiveFailAddress(void)
+{
+ return ((usqInt)((&(primitiveFail))));
+}
+
+
/* Set specific primitive failure.
N.B. primitiveFailFor: PrimNoErr is expected to clear the primFailCode. */
Modified: branches/Cog/nscogsrc/vm/cointerp.h
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.h 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/nscogsrc/vm/cointerp.h 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
*/
@@ -131,6 +131,7 @@
void primitiveClosureValueNoContextSwitch(void);
sqInt primitiveErrorTable(void);
sqInt primitiveFail(void);
+usqInt primitiveFailAddress(void);
sqInt primitiveFailFor(sqInt reasonCode);
sqInt primitiveFailureCode(void);
usqInt primitiveFunctionPointerAddress(void);
Modified: branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2011-10-03 21:46:33 UTC (rev 2497)
@@ -2,11 +2,11 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
from
- CoInterpreter VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CoInterpreter VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
*/
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -800,6 +800,7 @@
static void primitiveExponent(void);
static void primitiveExternalCall(void);
sqInt primitiveFail(void);
+usqInt primitiveFailAddress(void);
sqInt primitiveFailFor(sqInt reasonCode);
sqInt primitiveFailureCode(void);
static void primitiveFindHandlerContext(void);
@@ -1896,7 +1897,7 @@
/* 575 */ (void (*)(void))0,
0 };
static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.128";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.131";
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
volatile int sendTrace;
@@ -19056,15 +19057,15 @@
/* This is used for asserts that check that inline cache editing results in
valid addresses.
- In the C VM interpret is guaranteed to come before any primitives and so
- it constitutes
- the lowest address in C code that machine code should be linked. In the
- simulator we just answer something not low. */
+ In the C VM interpret is presumed to come before any primitives and so it
+ constitutes the lowest address in C code that machine code should be
+ linked. In the simulator
+ we just answer something not low. */
usqInt
interpretAddress(void)
{
- return ((usqInt)((&"interpret")));
+ return ((usqInt)((&(interpret))));
}
@@ -28404,6 +28405,21 @@
}
+/* This is used for asserts that check that inline cache editing results in
+ valid addresses.
+ In the C VM interpret is presumed to come before any primitives and so it
+ constitutes the lowest address in C code that machine code should be
+ linked, but optimizing
+ compilers change things around. In the simulator we just answer something
+ not low. */
+
+usqInt
+primitiveFailAddress(void)
+{
+ return ((usqInt)((&(primitiveFail))));
+}
+
+
/* Set specific primitive failure.
N.B. primitiveFailFor: PrimNoErr is expected to clear the primFailCode. */
Modified: branches/Cog/nscogsrc/vm/interp.h
===================================================================
--- branches/Cog/nscogsrc/vm/interp.h 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/nscogsrc/vm/interp.h 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
*/
#define VM_PROXY_MAJOR 1
Modified: branches/Cog/nscogsrc/vm/vmCallback.h
===================================================================
--- branches/Cog/nscogsrc/vm/vmCallback.h 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/nscogsrc/vm/vmCallback.h 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
*/
#define VM_CALLBACK_INC 1
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
- Tue Sep 27 18:19:30 PDT 2011
+ Mon Oct 3 14:44:54 PDT 2011
Modified: branches/Cog/src/vm/cogit.c
===================================================================
--- branches/Cog/src/vm/cogit.c 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/src/vm/cogit.c 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGenerator VMMaker.oscog-eem.129 uuid: 1b6f9029-666c-4ca4-b58c-9973784bb7ba
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ StackToRegisterMappingCogit VMMaker.oscog-eem.129 uuid: 1b6f9029-666c-4ca4-b58c-9973784bb7ba
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.129 uuid: 1b6f9029-666c-4ca4-b58c-9973784bb7ba " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -915,8 +915,8 @@
static void removeFromOpenPICList(CogMethod *anOpenPIC);
static void resolveJumpTarget(AbstractInstruction * self_in_resolveJumpTarget);
static sqInt returnRegForStoreCheck(void);
-static sqInt rewriteCallAttarget(AbstractInstruction * self_in_rewriteCallAttarget, usqInt callSiteReturnAddress, sqInt callTargetAddress);
-static sqInt rewriteInlineCacheAttagtarget(AbstractInstruction * self_in_rewriteInlineCacheAttagtarget, usqInt callSiteReturnAddress, sqInt cacheTag, sqInt callTargetAddress);
+static sqInt rewriteCallAttarget(AbstractInstruction * self_in_rewriteCallAttarget, usqInt callSiteReturnAddress, usqInt callTargetAddress);
+static sqInt rewriteInlineCacheAttagtarget(AbstractInstruction * self_in_rewriteInlineCacheAttagtarget, usqInt callSiteReturnAddress, sqInt cacheTag, usqInt callTargetAddress);
static void rewriteInlineCacheTagat(AbstractInstruction * self_in_rewriteInlineCacheTagat, sqInt cacheTag, sqInt callSiteReturnAddress);
static sqInt rewriteJumpLongAttarget(AbstractInstruction * self_in_rewriteJumpLongAttarget, sqInt callSiteReturnAddress, sqInt callTargetAddress);
void rewritePrimInvocationInto(CogMethod *cogMethod, void (*primFunctionPointer)(void));
@@ -12542,7 +12542,7 @@
{
sqMakeMemoryExecutableFromTo(startAddress, endAddress);
codeBase = (methodZoneBase = startAddress);
- minValidCallAddress = ((codeBase < (interpretAddress())) ? codeBase : (interpretAddress()));
+ minValidCallAddress = (((((codeBase < (interpretAddress())) ? codeBase : (interpretAddress()))) < (primitiveFailAddress())) ? (((codeBase < (interpretAddress())) ? codeBase : (interpretAddress()))) : (primitiveFailAddress()));
initializeBackend();
maybeGenerateCheckFeatures();
maybeGenerateICacheFlush();
@@ -15414,7 +15414,7 @@
callSiteReturnAddress - 1]. */
static sqInt
-rewriteCallAttarget(AbstractInstruction * self_in_rewriteCallAttarget, usqInt callSiteReturnAddress, sqInt callTargetAddress)
+rewriteCallAttarget(AbstractInstruction * self_in_rewriteCallAttarget, usqInt callSiteReturnAddress, usqInt callTargetAddress)
{
sqInt callDistance;
@@ -15446,7 +15446,7 @@
callSiteReturnAddress - 1]. */
static sqInt
-rewriteInlineCacheAttagtarget(AbstractInstruction * self_in_rewriteInlineCacheAttagtarget, usqInt callSiteReturnAddress, sqInt cacheTag, sqInt callTargetAddress)
+rewriteInlineCacheAttagtarget(AbstractInstruction * self_in_rewriteInlineCacheAttagtarget, usqInt callSiteReturnAddress, sqInt cacheTag, usqInt callTargetAddress)
{
sqInt callDistance;
Modified: branches/Cog/src/vm/cogit.h
===================================================================
--- branches/Cog/src/vm/cogit.h 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/src/vm/cogit.h 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGenerator VMMaker.oscog-eem.129 uuid: 1b6f9029-666c-4ca4-b58c-9973784bb7ba
*/
Modified: branches/Cog/src/vm/cogmethod.h
===================================================================
--- branches/Cog/src/vm/cogmethod.h 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/src/vm/cogmethod.h 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGenerator VMMaker.oscog-eem.129 uuid: 1b6f9029-666c-4ca4-b58c-9973784bb7ba
*/
typedef struct {
Modified: branches/Cog/src/vm/cointerp.c
===================================================================
--- branches/Cog/src/vm/cointerp.c 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/src/vm/cointerp.c 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
from
- CoInterpreter VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CoInterpreter VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
*/
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -788,6 +788,7 @@
static void primitiveExponent(void);
static void primitiveExternalCall(void);
sqInt primitiveFail(void);
+usqInt primitiveFailAddress(void);
sqInt primitiveFailFor(sqInt reasonCode);
sqInt primitiveFailureCode(void);
static void primitiveFindHandlerContext(void);
@@ -1884,7 +1885,7 @@
/* 575 */ (void (*)(void))0,
0 };
static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.128]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.131]";
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
volatile int sendTrace;
@@ -18383,15 +18384,15 @@
/* This is used for asserts that check that inline cache editing results in
valid addresses.
- In the C VM interpret is guaranteed to come before any primitives and so
- it constitutes
- the lowest address in C code that machine code should be linked. In the
- simulator we just answer something not low. */
+ In the C VM interpret is presumed to come before any primitives and so it
+ constitutes the lowest address in C code that machine code should be
+ linked. In the simulator
+ we just answer something not low. */
usqInt
interpretAddress(void)
{
- return ((usqInt)((&"interpret")));
+ return ((usqInt)((&(interpret))));
}
@@ -27718,6 +27719,21 @@
}
+/* This is used for asserts that check that inline cache editing results in
+ valid addresses.
+ In the C VM interpret is presumed to come before any primitives and so it
+ constitutes the lowest address in C code that machine code should be
+ linked, but optimizing
+ compilers change things around. In the simulator we just answer something
+ not low. */
+
+usqInt
+primitiveFailAddress(void)
+{
+ return ((usqInt)((&(primitiveFail))));
+}
+
+
/* Set specific primitive failure.
N.B. primitiveFailFor: PrimNoErr is expected to clear the primFailCode. */
Modified: branches/Cog/src/vm/cointerp.h
===================================================================
--- branches/Cog/src/vm/cointerp.h 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/src/vm/cointerp.h 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
*/
@@ -131,6 +131,7 @@
void primitiveClosureValueNoContextSwitch(void);
sqInt primitiveErrorTable(void);
sqInt primitiveFail(void);
+usqInt primitiveFailAddress(void);
sqInt primitiveFailFor(sqInt reasonCode);
sqInt primitiveFailureCode(void);
usqInt primitiveFunctionPointerAddress(void);
Modified: branches/Cog/src/vm/cointerpmt.c
===================================================================
--- branches/Cog/src/vm/cointerpmt.c 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/src/vm/cointerpmt.c 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
from
- CoInterpreterMT VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CoInterpreterMT VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
*/
-static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b " __DATE__ ;
+static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -851,6 +851,7 @@
static void primitiveExponent(void);
static void primitiveExternalCall(void);
sqInt primitiveFail(void);
+usqInt primitiveFailAddress(void);
sqInt primitiveFailFor(sqInt reasonCode);
sqInt primitiveFailureCode(void);
static void primitiveFindHandlerContext(void);
@@ -1984,7 +1985,7 @@
/* 575 */ (void (*)(void))0,
0 };
static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
-const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.128]";
+const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.131]";
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
volatile int sendTrace;
sqInt willNotThreadWarnCount;
@@ -19085,15 +19086,15 @@
/* This is used for asserts that check that inline cache editing results in
valid addresses.
- In the C VM interpret is guaranteed to come before any primitives and so
- it constitutes
- the lowest address in C code that machine code should be linked. In the
- simulator we just answer something not low. */
+ In the C VM interpret is presumed to come before any primitives and so it
+ constitutes the lowest address in C code that machine code should be
+ linked. In the simulator
+ we just answer something not low. */
usqInt
interpretAddress(void)
{
- return ((usqInt)((&"interpret")));
+ return ((usqInt)((&(interpret))));
}
@@ -28927,6 +28928,21 @@
}
+/* This is used for asserts that check that inline cache editing results in
+ valid addresses.
+ In the C VM interpret is presumed to come before any primitives and so it
+ constitutes the lowest address in C code that machine code should be
+ linked, but optimizing
+ compilers change things around. In the simulator we just answer something
+ not low. */
+
+usqInt
+primitiveFailAddress(void)
+{
+ return ((usqInt)((&(primitiveFail))));
+}
+
+
/* Set specific primitive failure.
N.B. primitiveFailFor: PrimNoErr is expected to clear the primFailCode. */
Modified: branches/Cog/src/vm/cointerpmt.h
===================================================================
--- branches/Cog/src/vm/cointerpmt.h 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/src/vm/cointerpmt.h 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
*/
@@ -134,6 +134,7 @@
void primitiveClosureValueNoContextSwitch(void);
sqInt primitiveErrorTable(void);
sqInt primitiveFail(void);
+usqInt primitiveFailAddress(void);
sqInt primitiveFailFor(sqInt reasonCode);
sqInt primitiveFailureCode(void);
usqInt primitiveFunctionPointerAddress(void);
Modified: branches/Cog/src/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/src/vm/gcc3x-cointerp.c 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/src/vm/gcc3x-cointerp.c 2011-10-03 21:46:33 UTC (rev 2497)
@@ -2,11 +2,11 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
from
- CoInterpreter VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CoInterpreter VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
*/
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -791,6 +791,7 @@
static void primitiveExponent(void);
static void primitiveExternalCall(void);
sqInt primitiveFail(void);
+usqInt primitiveFailAddress(void);
sqInt primitiveFailFor(sqInt reasonCode);
sqInt primitiveFailureCode(void);
static void primitiveFindHandlerContext(void);
@@ -1887,7 +1888,7 @@
/* 575 */ (void (*)(void))0,
0 };
static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.128]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.131]";
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
volatile int sendTrace;
@@ -18387,15 +18388,15 @@
/* This is used for asserts that check that inline cache editing results in
valid addresses.
- In the C VM interpret is guaranteed to come before any primitives and so
- it constitutes
- the lowest address in C code that machine code should be linked. In the
- simulator we just answer something not low. */
+ In the C VM interpret is presumed to come before any primitives and so it
+ constitutes the lowest address in C code that machine code should be
+ linked. In the simulator
+ we just answer something not low. */
usqInt
interpretAddress(void)
{
- return ((usqInt)((&"interpret")));
+ return ((usqInt)((&(interpret))));
}
@@ -27722,6 +27723,21 @@
}
+/* This is used for asserts that check that inline cache editing results in
+ valid addresses.
+ In the C VM interpret is presumed to come before any primitives and so it
+ constitutes the lowest address in C code that machine code should be
+ linked, but optimizing
+ compilers change things around. In the simulator we just answer something
+ not low. */
+
+usqInt
+primitiveFailAddress(void)
+{
+ return ((usqInt)((&(primitiveFail))));
+}
+
+
/* Set specific primitive failure.
N.B. primitiveFailFor: PrimNoErr is expected to clear the primFailCode. */
Modified: branches/Cog/src/vm/gcc3x-cointerpmt.c
===================================================================
--- branches/Cog/src/vm/gcc3x-cointerpmt.c 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/src/vm/gcc3x-cointerpmt.c 2011-10-03 21:46:33 UTC (rev 2497)
@@ -2,11 +2,11 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
from
- CoInterpreterMT VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CoInterpreterMT VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
*/
-static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b " __DATE__ ;
+static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4 " __DATE__ ;
char *__interpBuildInfo = __buildInfo;
@@ -854,6 +854,7 @@
static void primitiveExponent(void);
static void primitiveExternalCall(void);
sqInt primitiveFail(void);
+usqInt primitiveFailAddress(void);
sqInt primitiveFailFor(sqInt reasonCode);
sqInt primitiveFailureCode(void);
static void primitiveFindHandlerContext(void);
@@ -1987,7 +1988,7 @@
/* 575 */ (void (*)(void))0,
0 };
static void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* 4097 */])(void);
-const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.128]";
+const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.131]";
sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
volatile int sendTrace;
sqInt willNotThreadWarnCount;
@@ -19089,15 +19090,15 @@
/* This is used for asserts that check that inline cache editing results in
valid addresses.
- In the C VM interpret is guaranteed to come before any primitives and so
- it constitutes
- the lowest address in C code that machine code should be linked. In the
- simulator we just answer something not low. */
+ In the C VM interpret is presumed to come before any primitives and so it
+ constitutes the lowest address in C code that machine code should be
+ linked. In the simulator
+ we just answer something not low. */
usqInt
interpretAddress(void)
{
- return ((usqInt)((&"interpret")));
+ return ((usqInt)((&(interpret))));
}
@@ -28931,6 +28932,21 @@
}
+/* This is used for asserts that check that inline cache editing results in
+ valid addresses.
+ In the C VM interpret is presumed to come before any primitives and so it
+ constitutes the lowest address in C code that machine code should be
+ linked, but optimizing
+ compilers change things around. In the simulator we just answer something
+ not low. */
+
+usqInt
+primitiveFailAddress(void)
+{
+ return ((usqInt)((&(primitiveFail))));
+}
+
+
/* Set specific primitive failure.
N.B. primitiveFailFor: PrimNoErr is expected to clear the primFailCode. */
Modified: branches/Cog/src/vm/interp.h
===================================================================
--- branches/Cog/src/vm/interp.h 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/src/vm/interp.h 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
*/
#define VM_PROXY_MAJOR 1
Modified: branches/Cog/src/vm/vmCallback.h
===================================================================
--- branches/Cog/src/vm/vmCallback.h 2011-09-28 01:21:14 UTC (rev 2496)
+++ branches/Cog/src/vm/vmCallback.h 2011-10-03 21:46:33 UTC (rev 2497)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGeneratorGlobalStructure VMMaker.oscog-eem.128 uuid: 314823f6-cd6c-468f-9183-843b558f630b
+ CCodeGeneratorGlobalStructure VMMaker.oscog-eem.131 uuid: 7a963469-105d-4374-9162-62c6dbd745f4
*/
#define VM_CALLBACK_INC 1
More information about the Vm-dev
mailing list