Update of /cvsroot/arcem/arcem/riscos-single
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv26947/riscos-single
Modified Files:
Tag: jit
DispKbd.c
Log Message:
WIP ARM-on-ARM JIT engine
This is the beginnings of an ARM-on-ARM JIT engine, designed to be used by
emulators like ArcEm and RPCEmu
Main functionality issues to resolve:
* Currently it's only functional for RISC OS hosts. But it should be fairly
striaghtforward to get it working on other host OS's
* Not all instructions are supported yet; unsupported instructions will be
interpreted
* The simplified interpreter loop which the JIT is invoked from doesn't
implement the instruction prefetch pipeline; this will eventually need fixing
(e.g. make the loop smart enough to stay in interpreter mode until the
prefetched instructions match what's in memory, i.e. the CPU has left the
self-modifying code sequence)
* The JIT will update the cycle counter but won't actually trigger any events
until the end of the JIT code block is reached, this may cause issues with some
software
* However the biggest problem is likely to be that the single-pass code
generation results in sub-optimal handling of complex instructions like
LDR/STR. So future development is likely to focus on experimenting with more
complex code generation techniques, e.g. compiler-style code graphs
Index: DispKbd.c
===================================================================
RCS file: /cvsroot/arcem/arcem/riscos-single/DispKbd.c,v
retrieving revision 1.14
retrieving revision 1.14.2.1
diff -u -d -r1.14 -r1.14.2.1
--- DispKbd.c 16 Dec 2015 19:30:22 -0000 1.14
+++ DispKbd.c 27 May 2017 20:54:07 -0000 1.14.2.1
@@ -24,6 +24,9 @@
#include "../prof.h"
#include "ControlPane.h"
+#ifdef DEBUG_JIT_METRICS
+#include "jit/metrics.h"
+#endif
#define ENABLE_MENU
@@ -1262,6 +1265,9 @@
Prof_Dump(stderr);
}
#endif
+#ifdef DEBUG_JIT_METRICS
+ JITMetrics_Dump();
+#endif
/* Switch to a known-good screen mode. Assume mode 28 available. */
_swix(OS_ScreenMode,_INR(0,1),0,28);
current_mode = NULL;
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
--
arcem-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/arcem-cvs