Commit Graph

6922 Commits

Author SHA1 Message Date
Ben Vanik
8965caa833 Adding an option to disable register caching.
Until things work I'm not going to bother with that optimization.
2013-05-24 11:18:50 -07:00
Ben Vanik
b8323c3055 Preparing some control instructions for proper emitting. 2013-05-24 03:51:58 -07:00
Ben Vanik
bf8f068fa5 Disabling tail calls. 2013-05-24 03:29:21 -07:00
Ben Vanik
2242778fff Fixing trace calls. Disabling logging of redirector. 2013-05-24 02:42:41 -07:00
Ben Vanik
eb9b9b0321 Adding bl (unconditional only). 2013-05-24 02:21:12 -07:00
Ben Vanik
2153256109 Fixing line endings. 2013-05-24 01:41:02 -07:00
Ben Vanik
605d66ecf6 Adding the first instructions, mfspr/mtspr. 2013-05-24 01:37:02 -07:00
Ben Vanik
71bd3c799f Local variables setup and spilling/filling. 2013-05-24 00:50:56 -07:00
Ben Vanik
376226c59a Adding basic block labels.
Probably correct.
2013-05-24 00:06:46 -07:00
Ben Vanik
a81babac1e Adding comments to the disasm and implementing kernel calls. 2013-05-23 23:39:48 -07:00
Ben Vanik
74ae66aa0a Cleanup and tracing. 2013-05-23 23:22:27 -07:00
Ben Vanik
d7d0b94aab x64 emitter now generating redirection blocks and patching them up. 2013-05-23 22:09:04 -07:00
Ben Vanik
12444f6305 Compiles, runs, and hangs in normal wait. 2013-05-23 18:46:09 -07:00
Ben Vanik
1b833b6789 Removing libjit backend. 2013-05-23 18:05:03 -07:00
Ben Vanik
bedf86d259 Adding 'x64' backend.
Does not compile.
2013-05-23 18:04:12 -07:00
Ben Vanik
86002b2f44 Removing old llvm cruft. 2013-05-23 17:51:03 -07:00
Ben Vanik
63cee87420 Removing library loader, as it's not used. 2013-05-23 17:50:05 -07:00
Ben Vanik
57b486c4ad Removing libjit, because it is pretty terrible. 2013-05-23 17:48:01 -07:00
Ben Vanik
7f4f448369 Adding beaengine. 2013-05-23 17:39:03 -07:00
Ben Vanik
4eafb6b070 Adding asmjit. 2013-05-23 17:30:13 -07:00
Ben Vanik
eee856be04 Tweaking things again. Now not getting very far. Sigh. 2013-05-23 15:52:57 -07:00
Ben Vanik
f08e80efbc Fixing calling into code. Interpreter can now be used. 2013-05-23 15:44:45 -07:00
Ben Vanik
9487fa027c libjit doesn't encode mov with imm64 offsets, fixing. 2013-05-23 13:55:09 -07:00
Ben Vanik
70a9a1053e The previous truncation was useless. 2013-05-23 13:16:39 -07:00
Ben Vanik
89672e111d Optimizing memory accesses a bit by letting libjit use relative addressing. 2013-05-23 11:46:26 -07:00
Ben Vanik
fc8eb3d40a Adding disassembly to traces and bumping libjit. 2013-05-23 11:39:29 -07:00
Ben Vanik
730dba4aea Adding addzex. 2013-05-23 02:13:04 -07:00
Ben Vanik
7d95098792 Fix for bswap16 2013-05-23 02:05:08 -07:00
Ben Vanik
d6f2a0b3f0 Adding --trace_branches.
Simple output right now, can always be enhanced.
2013-05-23 01:31:41 -07:00
Ben Vanik
4495637616 Making sure shim calls are cdecl. 2013-05-23 01:04:14 -07:00
Ben Vanik
426fccdbb4 Bumping libjit to fix the tail call bug. 2013-05-23 00:55:16 -07:00
Ben Vanik
6bde04de26 Flushing logging. 2013-05-23 00:26:55 -07:00
Ben Vanik
1a01d365b5 Making code dumps conditional on --log_codegen 2013-05-22 22:01:34 -07:00
Ben Vanik
fcb66660c0 (partial) addx and logging compiled addresses. 2013-05-22 21:53:21 -07:00
Ben Vanik
5cb8cf2630 Hacky ALU ops. Need overflow checks. 2013-05-22 21:14:16 -07:00
Ben Vanik
9ed911cdad Fixing comparisons and disabling OutputDebugString logging. 2013-05-22 21:11:27 -07:00
Ben Vanik
2d01dced5a Adding back invalid instruction logs. 2013-05-22 20:58:48 -07:00
Ben Vanik
f2c16c24f3 Basic control instructions (no indirection branches yet). 2013-05-22 20:15:04 -07:00
Ben Vanik
1bcb3e8f92 Many more ALU instructions. 2013-05-22 18:51:06 -07:00
Ben Vanik
64b619023d Adding back in quite a few instructions. 2013-05-22 18:03:43 -07:00
Ben Vanik
c0dd60bde8 Adding memory access/etc.
Needs byte swapping.
2013-05-22 15:02:26 -07:00
Ben Vanik
7227ba2693 Setting up register fill/spill. 2013-05-22 13:37:44 -07:00
Ben Vanik
16d2b73a73 Main codegen loop now running through instructions. 2013-05-22 13:10:07 -07:00
Ben Vanik
dad99769cb Prepping for basic block generation. 2013-05-22 11:53:52 -07:00
Ben Vanik
33e2bc01ee Kernel call thunks and cleanup on exports. 2013-05-22 11:30:53 -07:00
Ben Vanik
37f93d2974 Calling to/from native works! 2013-05-22 11:13:27 -07:00
Ben Vanik
0c127828af Disabling libjit warnings. Now down to 12. 2013-05-21 17:11:48 -07:00
Ben Vanik
65a8d3c039 libjit now uses beaengine for disassembly.
Fixes #20.
2013-05-21 17:06:30 -07:00
Ben Vanik
81c76a854a Fixing some libjit warnings. 2013-05-21 16:24:49 -07:00
Ben Vanik
a064e68621 Fixing more warnings. 2013-05-21 16:19:11 -07:00