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 arcem-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/arcem-cvs