Author: eliot Date: 2011-06-07 11:48:37 -0700 (Tue, 07 Jun 2011) New Revision: 2393 Modified: branches/Cog/nssrc/vm/gcc3x-interp.c branches/Cog/nssrc/vm/interp.c branches/Cog/nssrc/vm/interp.h branches/Cog/nssrc/vm/vmCallback.h Log: OSCogVM source as per VMMaker.oscog-eem.73. Newspeak's VMMirror requires a 4 argument primitiveExecuteMethodArgsArray. Modified: branches/Cog/nssrc/vm/gcc3x-interp.c =================================================================== --- branches/Cog/nssrc/vm/gcc3x-interp.c 2011-06-06 22:07:11 UTC (rev 2392) +++ branches/Cog/nssrc/vm/gcc3x-interp.c 2011-06-07 18:48:37 UTC (rev 2393) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.72 uuid: dcc88b7d-4b47-4bf1-8400-d1c6499e87d2 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.73 uuid: 8ef988bb-d4c8-479d-a4d8-75f1ddc5f248 from - NewspeakInterpreter VMMaker.oscog-eem.72 uuid: dcc88b7d-4b47-4bf1-8400-d1c6499e87d2 + NewspeakInterpreter VMMaker.oscog-eem.73 uuid: 8ef988bb-d4c8-479d-a4d8-75f1ddc5f248 */ -static char __buildInfo[] = "NewspeakInterpreter VMMaker.oscog-eem.72 uuid: dcc88b7d-4b47-4bf1-8400-d1c6499e87d2 " __DATE__ ; +static char __buildInfo[] = "NewspeakInterpreter VMMaker.oscog-eem.73 uuid: 8ef988bb-d4c8-479d-a4d8-75f1ddc5f248 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1464,7 +1464,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Newspeak Virtual Machine NewspeakInterpreter_VMMaker.oscog-eem.72"; +const char *interpreterVersion = "Newspeak Virtual Machine NewspeakInterpreter_VMMaker.oscog-eem.73"; volatile int sendTrace; @@ -18417,20 +18417,16 @@ GIV(primFailCode) = PrimErrBadNumArgs; return null; } - if (GIV(argumentCount) > 3) { - /* begin primitiveFailFor: */ - GIV(primFailCode) = PrimErrUnsupported; - return null; + if (GIV(argumentCount) > 2) { + if (GIV(argumentCount) > 4) { + /* begin primitiveFailFor: */ + GIV(primFailCode) = PrimErrUnsupported; + return null; + } + longAtput(GIV(stackPointer) - (GIV(argumentCount) * BytesPerWord), longAt(GIV(stackPointer) - (2 * BytesPerWord))); } - if (GIV(argumentCount) == 3) { - longAtput(GIV(stackPointer) - (3 * BytesPerWord), longAt(GIV(stackPointer) - (2 * BytesPerWord))); - /* begin pop: */ - GIV(stackPointer) -= 3 * BytesPerWord; - } - else { - /* begin pop: */ - GIV(stackPointer) -= 2 * BytesPerWord; - } + /* begin pop: */ + GIV(stackPointer) -= GIV(argumentCount) * BytesPerWord; for (i = 0; i <= (argCnt - 1); i += 1) { /* begin push: */ longAtput(sp = GIV(stackPointer) + BytesPerWord, longAt((argumentArray + BaseHeaderSize) + (i << ShiftForWord))); Modified: branches/Cog/nssrc/vm/interp.c =================================================================== --- branches/Cog/nssrc/vm/interp.c 2011-06-06 22:07:11 UTC (rev 2392) +++ branches/Cog/nssrc/vm/interp.c 2011-06-07 18:48:37 UTC (rev 2393) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.72 uuid: dcc88b7d-4b47-4bf1-8400-d1c6499e87d2 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.73 uuid: 8ef988bb-d4c8-479d-a4d8-75f1ddc5f248 from - NewspeakInterpreter VMMaker.oscog-eem.72 uuid: dcc88b7d-4b47-4bf1-8400-d1c6499e87d2 + NewspeakInterpreter VMMaker.oscog-eem.73 uuid: 8ef988bb-d4c8-479d-a4d8-75f1ddc5f248 */ -static char __buildInfo[] = "NewspeakInterpreter VMMaker.oscog-eem.72 uuid: dcc88b7d-4b47-4bf1-8400-d1c6499e87d2 " __DATE__ ; +static char __buildInfo[] = "NewspeakInterpreter VMMaker.oscog-eem.73 uuid: 8ef988bb-d4c8-479d-a4d8-75f1ddc5f248 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1461,7 +1461,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Newspeak Virtual Machine NewspeakInterpreter_VMMaker.oscog-eem.72"; +const char *interpreterVersion = "Newspeak Virtual Machine NewspeakInterpreter_VMMaker.oscog-eem.73"; volatile int sendTrace; @@ -18413,20 +18413,16 @@ GIV(primFailCode) = PrimErrBadNumArgs; return null; } - if (GIV(argumentCount) > 3) { - /* begin primitiveFailFor: */ - GIV(primFailCode) = PrimErrUnsupported; - return null; + if (GIV(argumentCount) > 2) { + if (GIV(argumentCount) > 4) { + /* begin primitiveFailFor: */ + GIV(primFailCode) = PrimErrUnsupported; + return null; + } + longAtput(GIV(stackPointer) - (GIV(argumentCount) * BytesPerWord), longAt(GIV(stackPointer) - (2 * BytesPerWord))); } - if (GIV(argumentCount) == 3) { - longAtput(GIV(stackPointer) - (3 * BytesPerWord), longAt(GIV(stackPointer) - (2 * BytesPerWord))); - /* begin pop: */ - GIV(stackPointer) -= 3 * BytesPerWord; - } - else { - /* begin pop: */ - GIV(stackPointer) -= 2 * BytesPerWord; - } + /* begin pop: */ + GIV(stackPointer) -= GIV(argumentCount) * BytesPerWord; for (i = 0; i <= (argCnt - 1); i += 1) { /* begin push: */ longAtput(sp = GIV(stackPointer) + BytesPerWord, longAt((argumentArray + BaseHeaderSize) + (i << ShiftForWord))); Modified: branches/Cog/nssrc/vm/interp.h =================================================================== --- branches/Cog/nssrc/vm/interp.h 2011-06-06 22:07:11 UTC (rev 2392) +++ branches/Cog/nssrc/vm/interp.h 2011-06-07 18:48:37 UTC (rev 2393) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.72 uuid: dcc88b7d-4b47-4bf1-8400-d1c6499e87d2 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.73 uuid: 8ef988bb-d4c8-479d-a4d8-75f1ddc5f248 */ #define NewspeakVM 1 Modified: branches/Cog/nssrc/vm/vmCallback.h =================================================================== --- branches/Cog/nssrc/vm/vmCallback.h 2011-06-06 22:07:11 UTC (rev 2392) +++ branches/Cog/nssrc/vm/vmCallback.h 2011-06-07 18:48:37 UTC (rev 2393) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.72 uuid: dcc88b7d-4b47-4bf1-8400-d1c6499e87d2 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.73 uuid: 8ef988bb-d4c8-479d-a4d8-75f1ddc5f248 */ #define VM_CALLBACK_INC 1 |
Free forum by Nabble | Edit this page |