Jean-Philip Desjardins
c2399cdf34
Fix some parameter values that were implicitly converted to RETURN_VALUE.
2024-01-26 13:45:03 -05:00
Jean-Philip Desjardins
97535eb31e
Generate illegal instruction traps instead of tripping asserts at compile tile.
2024-01-26 13:44:57 -05:00
Jean-Philip Desjardins
9f36415e3c
Fix some missing sign extending.
2023-09-29 14:02:38 -04:00
Jean-Philip Desjardins
3714becead
Remove dead code.
2023-09-29 14:02:38 -04:00
Jean-Philip Desjardins
e428124d57
Use 8-bit indexed accesses.
2023-09-29 14:02:38 -04:00
Jean-Philip Desjardins
331e0704f6
Use 16-bit indexed accesses.
2023-09-29 14:02:38 -04:00
Jean-Philip Desjardins
0304d98216
Use indexed access for all 32-bit memory accesses.
2023-08-14 10:23:06 -04:00
Jean-Philip Desjardins
32511b3295
Use indexed 64-bit memory accesses.
2023-08-08 09:18:02 -04:00
Jean-Philip Desjardins
53d2d49464
Implement TEQI and check traps in debug builds.
...
Better than doing absolutely nothing, though very unlikely to trigger in normal circumstances.
2023-03-05 10:05:11 -05:00
Mahmood - Zer0xFF
c69c9d1daa
make EE jumps relative
2022-10-25 17:27:51 -04:00
Mahmood - Zer0xFF
2f4f10e91c
make VU jumps relative: pass instruction relative location CMIPSInstructionFactory
2022-10-25 17:27:51 -04:00
Jean-Philip Desjardins
23cce97db2
Add basic TLB support.
...
Only enabled if exception handlers are set.
2020-08-06 16:57:13 -04:00
Jean-Philip Desjardins
734e0bc0e8
Code style fixes.
2019-04-29 22:38:04 -04:00
Jean-Philip Desjardins
9664a470d5
Remove uses of IsRefNull.
2019-04-29 22:38:04 -04:00
Jean-Philip Desjardins
6326378c2a
Second pass on vmap.
...
Almost all memory access instructions can now use the page table.
2019-04-29 22:38:04 -04:00
Jean-Philip Desjardins
099e5fbf99
Cleanup.
2019-04-29 22:38:04 -04:00
Jean-Philip Desjardins
8868d76c4b
Cleanup.
2019-04-29 22:38:04 -04:00
Jean-Philip Desjardins
c832c60b8d
vmap prototype
2019-04-29 22:38:03 -04:00
Jean-Philip Desjardins
f14c8d47f4
Prevent MFHI and MFLO from clobbering R0.
2018-05-22 20:37:51 -04:00
Clang-Format
acf75535ec
Clang format
2018-04-30 21:01:23 +01:00
Jean-Philip Desjardins
6122f674e6
Add guards to prevent unwanted formatting.
2018-04-30 11:19:06 -04:00
Jean-Philip Desjardins
839569cf06
Prevent JALR from clobbering R0.
2018-04-03 09:18:41 -04:00
Jean-Philip Desjardins
f9224d6aaf
Expose double word memory functions to AOT compiler.
2017-08-20 23:17:45 -04:00
Jean-Philip Desjardins
184a25c09c
Add stub for TEQ.
2017-05-07 22:02:08 -04:00
Jean-Philip Desjardins
aca766db31
Implement DSUB.
2016-05-08 17:44:00 -04:00
Jean-Philip Desjardins
aa678fc973
Added DADDI.
2015-07-11 00:15:18 -04:00
Jean-Philip Desjardins
df50662e03
Changed multiply template functions to be similar to division template functions.
2015-04-23 01:04:42 -04:00
Jean-Philip Desjardins
7d2181142a
Added better handling of integer division by 0 and overflow (not perfect yet).
2015-04-23 01:01:46 -04:00
Jean-Philip Desjardins
b1d8916a7c
Prevent load instructions from clobbering R0.
2015-04-11 02:06:14 -04:00
Jean-Philip Desjardins
8ccd608a1d
Added BLTZAL, BLTZALL and BGEZALL.
2015-04-11 01:18:09 -04:00
Jean-Philip Desjardins
770c7fe0cf
Added some checks to prevent emulator from writing to R0.
2015-04-08 01:15:11 -04:00
Jean-Philip Desjardins
8685a7e1e2
Added BGEZAL.
2015-01-04 22:11:43 -05:00
jpd002
f2686663af
Made memory utils proxies normal "C" functions to accommodate AOT compilation.
...
git-svn-id: http://svn.purei.org/purei/trunk@1097 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-04-14 06:33:04 +00:00
jpd002
c5b5e43264
Added DSRAV and updated tests.
...
git-svn-id: http://svn.purei.org/purei/trunk@1013 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-10-03 07:18:50 +00:00
jpd002
f910661c47
First pass of cleanup for C++11.
...
git-svn-id: http://svn.purei.org/purei/trunk@851 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-03-11 20:06:14 +00:00
jpd002
42c704aca2
Changed 64-bits and 128-bits memory access instructions to use new 64-bits and 128-bits params/return values now supported in Jitter.
...
git-svn-id: http://svn.purei.org/purei/trunk@843 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-01-08 06:20:22 +00:00
jpd002
c8c33ccda3
Added a way to force checking of pending interrupts when EI is used.
...
Specifed the type of exception in SYSCALL and ADDIU R0, R0, $x
git-svn-id: http://svn.purei.org/purei/trunk@804 b36208d7-6611-0410-8bec-b1987f11c4a2
2011-10-23 20:26:15 +00:00
jpd002
f8ff3ff8f3
More fixes for Atelier Iris running under new JIT compiler.
...
git-svn-id: http://svn.purei.org/purei/trunk@717 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-11-01 01:05:26 +00:00
jpd002
98c12c9be4
More changes to allow quake.elf to work properly.
...
git-svn-id: http://svn.purei.org/purei/trunk@708 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-10-08 00:27:22 +00:00
jpd002
f3eeac4d76
More changes to allow quake.elf to run a bit further.
...
git-svn-id: http://svn.purei.org/purei/trunk@707 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-09-21 02:33:34 +00:00
jpd002
ea974bcd47
More changes to allow quake.elf to run a bit further.
...
git-svn-id: http://svn.purei.org/purei/trunk@706 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-09-17 18:44:40 +00:00
jpd002
5a339dd5db
Fixed compilation using the new JIT compiler engine.
...
git-svn-id: http://svn.purei.org/purei/trunk@704 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-09-03 21:13:57 +00:00
jpd002
0e8719ada7
Changed the way LWL/LWR and SWL/SWR work because it was accessing register values while there is no guarantee that their values were right (because of register allocation).
...
git-svn-id: http://svn.purei.org/purei/trunk@696 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-08-24 01:49:42 +00:00
jpd002
4574b116f7
Integrated new JIT compilation engine in the trunk.
...
- Removed the old CodeGen classes.
- Fixed everything to make PsfPlayer work at a decent level.
- Added 64-bits configs to PsfPlayer.
git-svn-id: http://svn.purei.org/purei/trunk@692 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-08-11 03:47:19 +00:00
jpd002
dc80b53046
- Changed the way idle detection is done to improve PSX idle loop skipping.
...
- Added some asserts for 64-bits specific instructions to prevent confusion on PSP.
git-svn-id: http://svn.purei.org/purei/trunk@606 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-03-30 04:19:45 +00:00
jpd002
5ef852659f
Added a few instructions and fixed bug in QFSRV.
...
git-svn-id: http://svn.purei.org/purei/trunk@551 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-10-04 01:58:15 +00:00
jpd002
c101d4a07a
Some changes for FFX.
...
git-svn-id: http://svn.purei.org/purei/trunk@544 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-09-30 00:45:26 +00:00
jpd002
7b7c69d8b0
More ARM stuff
...
git-svn-id: http://svn.purei.org/purei/trunk@521 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-05-09 16:35:34 +00:00
jpd002
651937eeb5
- Small C++ conformance updates
...
- AND for MIPS32.
git-svn-id: http://svn.purei.org/purei/trunk@494 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-04-13 23:31:11 +00:00
jpd002
a6e12114d7
Added changes to MIPSInstructionFactories. Not a singleton anymore, so it allows a 32-bits and 64-bits version of the architecture to live together.
...
PsfPlayer bios memory ownership fixes.
git-svn-id: http://svn.purei.org/purei/trunk@490 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-03-30 04:57:52 +00:00