Commit graph

6950 commits

Author SHA1 Message Date
Ben Vanik
6320ef6b7e Fixing conditionals to use cmp instead of test. 2013-05-24 22:21:05 -07:00
Ben Vanik
7bf69f66fd Logging out the condition register values. 2013-05-24 22:03:57 -07:00
Ben Vanik
2586c10cc5 addzex. 2013-05-24 21:54:04 -07:00
Ben Vanik
9883f32fb7 Fixing logger initialization when codegen logging is disabled. 2013-05-24 21:49:03 -07:00
Rick Gibbed
ba718de434 Further corrections on cr checks. 2013-05-24 21:34:03 -07:00
Ben Vanik
1354b9975f Adding basic branch indirection, which doesn't work but is ready to do so. 2013-05-24 21:18:30 -07:00
Ben Vanik
c6ed7ff9cf Fixing cr5+ checks. 2013-05-24 20:48:04 -07:00
Ben Vanik
346a27ddf8 Trying again to fix compares. 2013-05-24 20:40:00 -07:00
Ben Vanik
e7556a09f8 Fixing bad or during cr0 update - need to be overwriting. 2013-05-24 20:26:06 -07:00
Ben Vanik
68f1eb7f69 Fixing carry and compare flags. 2013-05-24 20:20:18 -07:00
Ben Vanik
97b0e2aa3d Fixing comparison between two gpvars. 2013-05-24 20:09:11 -07:00
Ben Vanik
5e66f7b04b Adding a bunch of nops around trace calls.
5 before, 2 after (so it's easy to see what goes with what).
2013-05-24 19:59:51 -07:00
Ben Vanik
1ad0bb7843 cmp/cmpi/cmpl/cmpli.
May not be right.
2013-05-24 19:52:00 -07:00
Ben Vanik
6cd8495ea2 extsbx. 2013-05-24 19:45:48 -07:00
Ben Vanik
8976f1b046 subfx + subficx. 2013-05-24 19:16:01 -07:00
Ben Vanik
69ebedb43f addic + subfex. 2013-05-24 19:10:54 -07:00
Ben Vanik
dc40f28795 addx and switching commenting style on the rest of the unported instrs. 2013-05-24 18:49:14 -07:00
Ben Vanik
1e67547a6b Fixing conditional branch logic. 2013-05-24 18:44:32 -07:00
Ben Vanik
2ab01af0bd Breaking on indirect branches. 2013-05-24 18:34:08 -07:00
Ben Vanik
692f85ed4f Very, very basic branching. Most compares not yet implemented. 2013-05-24 18:28:52 -07:00
Ben Vanik
7e3268621d Optimizing the mr case. 2013-05-24 17:59:01 -07:00
Ben Vanik
748bfe509f Handling null ptr in NtFreeVirtualMemory. 2013-05-24 17:33:57 -07:00
Ben Vanik
21b0d25131 Fixing memory address truncation. 2013-05-24 17:08:12 -07:00
Ben Vanik
3b8f13a617 Freenode verification.
3Ooq34zIVGWCS5jxpfYdO5LB4v9c5yzFpPAUBIhF
2013-05-24 16:57:14 -07:00
Ben Vanik
fcf478ba55 Log all incoming registers on each instruction execute. 2013-05-24 16:53:27 -07:00
Ben Vanik
15cfbd3736 The various _ptr helpers in asmjit are useless. 2013-05-24 16:34:24 -07:00
Ben Vanik
e6320dada5 Most of the memory instructions.
Not sure this is correct, as it crashes pretty early on.
2013-05-24 16:16:39 -07:00
Ben Vanik
e724fe3e60 Adding some ALU instructions. 2013-05-24 14:21:39 -07:00
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