Commit graph

5215 commits

Author SHA1 Message Date
Brett Lawson
1c7fd42e43 Allow unimplemented kernel functions.
Also update logic so unimplemented kernel calls fail at
call time rather than generation time.
2015-07-05 02:24:36 -03:00
Brett Lawson
8dc50b37eb Implement JIT floating-point using Interpreter fallback. 2015-07-05 02:20:21 -03:00
Brett Lawson
1c1e31444a Implement JIT mul and neg. 2015-07-04 10:47:42 -03:00
James Benton
e3aa759ea4 Set log level to trace. 2015-07-04 14:31:32 +01:00
Brett Lawson
ad0ed7b123 Set log level to debug by default. 2015-07-04 10:30:15 -03:00
Brett Lawson
6c2d01ca0b Added tests for cntlzw. 2015-07-04 09:52:21 -03:00
Brett Lawson
47627ede31 Implemented JIT cntlzw. 2015-07-04 09:52:12 -03:00
Brett Lawson
7b7ba632eb Fix bug from JIT cache not being cleared between code tests. 2015-07-04 09:52:01 -03:00
Brett Lawson
ded420e6b1 Fix bug in Interpreter CNTLZW 2015-07-04 09:51:48 -03:00
Brett Lawson
6dff423b57 Only JIT prepare for code-tests when JitMode is Enabled. 2015-07-04 09:29:25 -03:00
Brett Lawson
19b564b204 Implemented JIT xor. 2015-07-03 19:24:14 -04:00
Brett Lawson
93c6f4fc4e Fixed signed/unsigned comparisons in JIT. 2015-07-03 19:24:00 -04:00
Brett Lawson
e170a03499 Implemented JIT and. 2015-07-03 19:23:51 -04:00
Brett Lawson
0557fa30a6 Fixed bug in JIT for add. 2015-07-03 19:23:39 -04:00
Brett Lawson
8e1ad5f581 Print instruction name on JIT debug mode error. 2015-07-03 19:23:29 -04:00
Brett Lawson
e9baaf2af8 Implemented more JIT instructions. 2015-07-04 10:17:17 -03:00
Brett Lawson
35eb9d6230 Add accessors for Paired Registers in assembler. 2015-07-04 10:16:18 -03:00
Brett Lawson
a3efcaacef Print on failed JIT generation in JIT debug mode. 2015-07-04 10:16:18 -03:00
Brett Lawson
9bb46a8bf4 Fix another JIT debug comparison typo. 2015-07-04 10:14:30 -03:00
James Benton
a63774faa9 Change Kernel Function log level to trace. 2015-07-04 13:58:06 +01:00
James Benton
51fe3b796c Fix test code formatting. 2015-07-04 13:53:43 +01:00
James Benton
810e8f6c57 Change logging to use spdlog. 2015-07-04 13:51:15 +01:00
James Benton
50682504e9 Improve kernel function logging a little bit.
Should probably rewrite it to use spdlog actually..
2015-07-04 12:37:52 +01:00
James Benton
bd487cf0b9 Fix some bad const usage with p32 2015-07-04 12:35:00 +01:00
James Benton
d52e7c3ffb Add spdlog library. 2015-07-04 12:34:35 +01:00
James Benton
d21a09f359 Fix formatting in add.s.
Now uses 3 spaces like source!
2015-07-04 11:46:16 +01:00
James Benton
d0b07d9232 Add a SEH for EXCEPTION_ACCESS_VIOLATION 0xc0000005.
Print PPC backtrace on invalid memory read.
2015-07-04 11:39:45 +01:00
James Benton
a6ecc2442f Create a simple instruction execution tracer. 2015-07-04 11:39:03 +01:00
James Benton
94f6cbaa5a Some padscore stubs. 2015-07-04 00:37:44 +01:00
James Benton
9cf58cb054 Stub exit(). 2015-07-04 00:37:43 +01:00
James Benton
06f63e0462 Implement FSGetStat. 2015-07-04 00:37:43 +01:00
James Benton
eda8af4c46 Add some ProcUI stubs. 2015-07-04 00:37:43 +01:00
James Benton
698c7c7740 MEMDumpHeap.
Only MEMiDumpExpandedHeap implemented so far.
2015-07-04 00:37:43 +01:00
James Benton
5b34817867 More GX2 stubs 2015-07-04 00:37:42 +01:00
Brett Lawson
d98fac0c17 Fix JIT cmpli bug. 2015-07-03 14:38:47 -03:00
Brett Lawson
af606fbd75 Print all errors before debug break in JIT debug mode. 2015-07-03 14:38:47 -03:00
Brett Lawson
bc0c3b00ce Fix jit debug comparison typo. 2015-07-03 14:38:47 -03:00
Brett Lawson
ae9d9d496c Implemented JIT debug mode.
JIT Debug Mode steps the interpreter and single-instruction
JIT together and compares that they affect the state identically.
2015-07-03 14:38:47 -03:00
Brett Lawson
f14b2b41c7 Refactored JitManager generation a bit. 2015-07-03 14:38:47 -03:00
Brett Lawson
08aa250c4a Fix typo in codetests. 2015-07-03 14:38:46 -03:00
Brett Lawson
1d698d4791 Fix some instructions. 2015-07-03 14:38:46 -03:00
James Benton
ac4a973d97 Fix codetests 2015-07-03 18:35:08 +01:00
James Benton
c179ec0358 Fix addic 2015-07-03 18:34:49 +01:00
James Benton
c0b2cdf101 RPL Loading is now done directly to memory, not to the default heap.
The default heap is now created from the leftover memory after the
game has loaded.
2015-07-03 16:08:11 +01:00
Brett Lawson
06c49e87b1 Cleaned up codetest output. 2015-07-03 11:00:45 -03:00
Brett Lawson
c3e2642a11 Added prepare method to JitManager to precompile a block. 2015-07-03 11:00:38 -03:00
Brett Lawson
b23e84f6f1 Make JitManager global and add clearCache method. 2015-07-03 10:36:50 -03:00
Brett Lawson
48a6f27a0b Made JIT flag-enabled. 2015-07-03 10:25:22 -03:00
James Benton
7eecec6281 Merge EntryInfo into UserModule 2015-07-03 14:16:26 +01:00
Brett Lawson
05b61eeaae Refactored code test system slightly. 2015-07-03 10:11:58 -03:00