[Vm-dev] [commit][3383] CogVM source as per VMMaker.oscog-eem.1366
commits at squeakvm.org
commits at squeakvm.org
Fri Jun 19 18:13:43 UTC 2015
Revision: 3383
Author: eliot
Date: 2015-06-19 11:13:41 -0700 (Fri, 19 Jun 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1366
ARM Cogit:
Revise the outOfLineLiteralOpcodeLimit since more thna one hardware instruction
can be emitted per abstracxt opcode. The old code fell foul of IntegerTest>>
#testIntegerPadding which contains many literals but no jumps or returns.
Modified Paths:
--------------
branches/Cog/nsspursrc/vm/cogit.h
branches/Cog/nsspursrc/vm/cogitARMv5.c
branches/Cog/nsspursrc/vm/cogitIA32.c
branches/Cog/spursistasrc/vm/cogit.h
branches/Cog/spursistasrc/vm/cogitARMv5.c
branches/Cog/spursistasrc/vm/cogitIA32.c
branches/Cog/spursrc/vm/cogit.h
branches/Cog/spursrc/vm/cogitARMv5.c
branches/Cog/spursrc/vm/cogitIA32.c
branches/Cog/src/vm/cogit.h
branches/Cog/src/vm/cogitARMv5.c
branches/Cog/src/vm/cogitIA32.c
Property Changed:
----------------
branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h 2015-06-19 17:08:36 UTC (rev 3382)
+++ branches/Cog/nsspursrc/vm/cogit.h 2015-06-19 18:13:41 UTC (rev 3383)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ CCodeGenerator VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
*/
Modified: branches/Cog/nsspursrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitARMv5.c 2015-06-19 17:08:36 UTC (rev 3382)
+++ branches/Cog/nsspursrc/vm/cogitARMv5.c 2015-06-19 18:13:41 UTC (rev 3383)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ CCodeGenerator VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -10619,12 +10619,12 @@
generateMapAtstart(sqInt addressOrNull, sqInt startAddress)
{
unsigned char annotation;
- sqInt delta;
+ usqInt delta;
sqInt i;
AbstractInstruction *instruction;
sqInt length;
- sqInt location;
- sqInt mapEntry;
+ usqInt location;
+ usqInt mapEntry;
sqInt maxDelta;
usqInt mcpc;
@@ -19629,13 +19629,15 @@
/* The maximum offset in a LDR is (1<<12)-1, or (1<<10)-1 instructions.
- Be a little conservative. */
+ Be conservative. The issue is that one abstract instruction can emit
+ multiple hardware instructions so we assume a 2 to 1 worst case of
+ hardware instructions to abstract opcodes.. */
/* CogOutOfLineLiteralsARMCompiler>>#outOfLineLiteralOpcodeLimit */
static sqInt
outOfLineLiteralOpcodeLimit(AbstractInstruction * self_in_outOfLineLiteralOpcodeLimit)
{
- return (1 << (12 - 2)) - 4;
+ return (1 << ((12 - 2) - 1)) - 1;
}
Modified: branches/Cog/nsspursrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitIA32.c 2015-06-19 17:08:36 UTC (rev 3382)
+++ branches/Cog/nsspursrc/vm/cogitIA32.c 2015-06-19 18:13:41 UTC (rev 3383)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ CCodeGenerator VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -9964,12 +9964,12 @@
generateMapAtstart(sqInt addressOrNull, sqInt startAddress)
{
unsigned char annotation;
- sqInt delta;
+ usqInt delta;
sqInt i;
AbstractInstruction *instruction;
sqInt length;
- sqInt location;
- sqInt mapEntry;
+ usqInt location;
+ usqInt mapEntry;
sqInt maxDelta;
usqInt mcpc;
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
- Fri Jun 19 10:06:24 PDT 2015
+ Fri Jun 19 11:12:50 PDT 2015
Modified: branches/Cog/spursistasrc/vm/cogit.h
===================================================================
--- branches/Cog/spursistasrc/vm/cogit.h 2015-06-19 17:08:36 UTC (rev 3382)
+++ branches/Cog/spursistasrc/vm/cogit.h 2015-06-19 18:13:41 UTC (rev 3383)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ CCodeGenerator VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
*/
Modified: branches/Cog/spursistasrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/spursistasrc/vm/cogitARMv5.c 2015-06-19 17:08:36 UTC (rev 3382)
+++ branches/Cog/spursistasrc/vm/cogitARMv5.c 2015-06-19 18:13:41 UTC (rev 3383)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ CCodeGenerator VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
from
- SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
*/
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88 " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -10476,12 +10476,12 @@
generateMapAtstart(sqInt addressOrNull, sqInt startAddress)
{
unsigned char annotation;
- sqInt delta;
+ usqInt delta;
sqInt i;
AbstractInstruction *instruction;
sqInt length;
- sqInt location;
- sqInt mapEntry;
+ usqInt location;
+ usqInt mapEntry;
sqInt maxDelta;
usqInt mcpc;
@@ -18752,13 +18752,15 @@
/* The maximum offset in a LDR is (1<<12)-1, or (1<<10)-1 instructions.
- Be a little conservative. */
+ Be conservative. The issue is that one abstract instruction can emit
+ multiple hardware instructions so we assume a 2 to 1 worst case of
+ hardware instructions to abstract opcodes.. */
/* CogOutOfLineLiteralsARMCompiler>>#outOfLineLiteralOpcodeLimit */
static sqInt
outOfLineLiteralOpcodeLimit(AbstractInstruction * self_in_outOfLineLiteralOpcodeLimit)
{
- return (1 << (12 - 2)) - 4;
+ return (1 << ((12 - 2) - 1)) - 1;
}
Modified: branches/Cog/spursistasrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/spursistasrc/vm/cogitIA32.c 2015-06-19 17:08:36 UTC (rev 3382)
+++ branches/Cog/spursistasrc/vm/cogitIA32.c 2015-06-19 18:13:41 UTC (rev 3383)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ CCodeGenerator VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
from
- SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
*/
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88 " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
Modified: branches/Cog/spursrc/vm/cogit.h
===================================================================
--- branches/Cog/spursrc/vm/cogit.h 2015-06-19 17:08:36 UTC (rev 3382)
+++ branches/Cog/spursrc/vm/cogit.h 2015-06-19 18:13:41 UTC (rev 3383)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ CCodeGenerator VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
*/
Modified: branches/Cog/spursrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/spursrc/vm/cogitARMv5.c 2015-06-19 17:08:36 UTC (rev 3382)
+++ branches/Cog/spursrc/vm/cogitARMv5.c 2015-06-19 18:13:41 UTC (rev 3383)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ CCodeGenerator VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -10124,12 +10124,12 @@
generateMapAtstart(sqInt addressOrNull, sqInt startAddress)
{
unsigned char annotation;
- usqInt delta;
+ sqInt delta;
sqInt i;
AbstractInstruction *instruction;
sqInt length;
- usqInt location;
- usqInt mapEntry;
+ sqInt location;
+ sqInt mapEntry;
sqInt maxDelta;
usqInt mcpc;
@@ -18038,13 +18038,15 @@
/* The maximum offset in a LDR is (1<<12)-1, or (1<<10)-1 instructions.
- Be a little conservative. */
+ Be conservative. The issue is that one abstract instruction can emit
+ multiple hardware instructions so we assume a 2 to 1 worst case of
+ hardware instructions to abstract opcodes.. */
/* CogOutOfLineLiteralsARMCompiler>>#outOfLineLiteralOpcodeLimit */
static sqInt
outOfLineLiteralOpcodeLimit(AbstractInstruction * self_in_outOfLineLiteralOpcodeLimit)
{
- return (1 << (12 - 2)) - 4;
+ return (1 << ((12 - 2) - 1)) - 1;
}
Modified: branches/Cog/spursrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/spursrc/vm/cogitIA32.c 2015-06-19 17:08:36 UTC (rev 3382)
+++ branches/Cog/spursrc/vm/cogitIA32.c 2015-06-19 18:13:41 UTC (rev 3383)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ CCodeGenerator VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -9457,12 +9457,12 @@
generateMapAtstart(sqInt addressOrNull, sqInt startAddress)
{
unsigned char annotation;
- usqInt delta;
+ sqInt delta;
sqInt i;
AbstractInstruction *instruction;
sqInt length;
- usqInt location;
- usqInt mapEntry;
+ sqInt location;
+ sqInt mapEntry;
sqInt maxDelta;
usqInt mcpc;
Modified: branches/Cog/src/vm/cogit.h
===================================================================
--- branches/Cog/src/vm/cogit.h 2015-06-19 17:08:36 UTC (rev 3382)
+++ branches/Cog/src/vm/cogit.h 2015-06-19 18:13:41 UTC (rev 3383)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ CCodeGenerator VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
*/
Modified: branches/Cog/src/vm/cogitARMv5.c
===================================================================
--- branches/Cog/src/vm/cogitARMv5.c 2015-06-19 17:08:36 UTC (rev 3382)
+++ branches/Cog/src/vm/cogitARMv5.c 2015-06-19 18:13:41 UTC (rev 3383)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ CCodeGenerator VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -16026,13 +16026,15 @@
/* The maximum offset in a LDR is (1<<12)-1, or (1<<10)-1 instructions.
- Be a little conservative. */
+ Be conservative. The issue is that one abstract instruction can emit
+ multiple hardware instructions so we assume a 2 to 1 worst case of
+ hardware instructions to abstract opcodes.. */
/* CogOutOfLineLiteralsARMCompiler>>#outOfLineLiteralOpcodeLimit */
static sqInt
outOfLineLiteralOpcodeLimit(AbstractInstruction * self_in_outOfLineLiteralOpcodeLimit)
{
- return (1 << (12 - 2)) - 4;
+ return (1 << ((12 - 2) - 1)) - 1;
}
Modified: branches/Cog/src/vm/cogitIA32.c
===================================================================
--- branches/Cog/src/vm/cogitIA32.c 2015-06-19 17:08:36 UTC (rev 3382)
+++ branches/Cog/src/vm/cogitIA32.c 2015-06-19 18:13:41 UTC (rev 3383)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ CCodeGenerator VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1365 uuid: a12bef68-d8c2-4546-80c5-310ef8d8cd88 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1366 uuid: caed09f8-bf82-445d-b581-1d65e2b6882c " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -9252,12 +9252,12 @@
generateMapAtstart(sqInt addressOrNull, sqInt startAddress)
{
unsigned char annotation;
- usqInt delta;
+ sqInt delta;
sqInt i;
AbstractInstruction *instruction;
sqInt length;
- usqInt location;
- usqInt mapEntry;
+ sqInt location;
+ sqInt mapEntry;
sqInt maxDelta;
usqInt mcpc;
More information about the Vm-dev
mailing list