Jean-Philip Desjardins
c18c994e41
Remove XXH_INLINE_ALL, seems to cause issues on iOS/macOS.
2022-10-25 17:29:13 -04:00
Jean-Philip Desjardins
32baa31a9a
Cache blocks with same contents located at different places on VU.
2022-10-25 17:27:52 -04:00
Jean-Philip Desjardins
e5803bc939
Cleanup includes.
2022-10-25 17:27:52 -04:00
Mahmood - Zer0xFF
29bd2522e6
swap from crc32 to xxHash3 (128bit)
2022-10-25 17:27:52 -04:00
Jean-Philip Desjardins
340e04dd8a
Fix block linking support.
2022-10-25 17:27:52 -04:00
Mahmood - Zer0xFF
3851729952
Change the way we cache BasicBlocks: BasicBlocks at different addresses can now match, since all their jumps are relative to their PC
2022-10-25 17:27:51 -04:00
Jean-Philip Desjardins
4a7b10cad1
Add block category concept.
2022-10-17 14:27:13 -04:00
Mahmood - Zer0xFF
9dc94fbb51
use zstd zlibwrapper
2022-05-15 22:46:03 +01:00
Jean-Philip Desjardins
5793adc487
Disable mprotect on JS.
...
Is not supported anyways, just to reduce spam in console.
2022-02-14 13:07:15 -05:00
Jean-Philip Desjardins
dd90e7b7ae
Move idle loop detection logic.
...
This is an EE only thing, no point in having this in the generic code.
2022-01-21 20:09:08 -05:00
Jean-Philip Desjardins
b8877ddfd2
Code style fixes.
2020-12-02 18:43:42 -05:00
Jean-Philip Desjardins
70f7251582
Attach exception handler to GS thread on macOS/iOS.
...
GS thread sometimes writes to EE RAM.
2020-12-02 15:32:48 -05:00
Jean-Philip Desjardins
602bb90e8f
Simplify cached block handling in EE executor.
2020-08-06 16:57:12 -04:00
Jean-Philip Desjardins
8b21aca123
Enable protecting RAM pages to detect modified code on iOS.
2020-02-25 12:47:56 -05:00
Jean-Philip Desjardins
9db589cdca
Add some asserts.
2020-02-25 12:47:56 -05:00
Jean-Philip Desjardins
2ae43e0320
Don't cache blocks that have breakpoints.
...
Broke breakpoint toggling.
(cherry picked from commit 3d2ed9e20f2b917b10f359ee76c8724192e839c2)
2020-02-10 21:40:09 -05:00
Jean-Philip Desjardins
95584611ca
Add a no link threshold for recycled blocks.
...
Significatively improves speed of Jak series games.
2019-12-20 21:25:33 -05:00
Jean-Philip Desjardins
07592cd138
Recycle compiled blocks.
2019-12-18 07:44:52 -05:00
Jean-Philip Desjardins
3210ffecfa
Breakpoints now work again.
2018-07-26 21:38:17 -04:00
Jean-Philip Desjardins
050bf0f854
MipsExecutor is now owned by MIPS CPU context.
...
Will help to make new breakpoint implementation simpler.
2018-07-26 21:38:16 -04:00
Jean-Philip Desjardins
dc597e34ce
Add empty block concept.
2018-07-26 21:38:15 -04:00
Jean-Philip Desjardins
f23dce025b
Made MipsExecutor a template.
...
Allows choosing block lookup policy.
2018-07-26 21:38:14 -04:00
Clang-Format
acf75535ec
Clang format
2018-04-30 21:01:23 +01:00
Jean-Philip Desjardins
5c1347162f
Always protect currently executing block.
...
Previous detection method was broken anyways because it is possible for a basic block
to span two pages with its begin address (PC) being in the page that's not protected.
Needed for Hot Shots Golf Fore.
2018-04-22 10:04:05 -04:00
Jean-Philip Desjardins
331cf44917
Don't teardown exception handler if protection is disabled.
2017-12-13 08:21:22 -05:00
Jean-Philip Desjardins
5ede128f2d
Cleanup.
2017-12-13 08:17:22 -05:00
Mahmood(Thunder07)
c0328be1a2
OSX: CEeExecutor prevent thread block
2017-10-16 13:37:32 +01:00
Mahmood(Thunder07)
09abad8bf9
linux: missing define and include
2016-09-06 00:23:44 +01:00
Jean-Philip Desjardins
7814cc56ea
Enabled arm64 build on iOS.
2015-12-23 16:38:25 -05:00
Jean-Philip Desjardins
9bb55bb07a
Disable memory protection on iOS till we figure out how to do it properly.
2015-06-27 22:02:26 -04:00
Jean-Philip Desjardins
62fbaa86ac
Fixed Android build.
2015-06-09 23:06:43 -04:00
Jean-Philip Desjardins
6cd0e5e3dd
Made EE executor work on OSX.
2015-06-09 02:49:54 -04:00
Jean-Philip Desjardins
81e3ce2820
Made EE executor work on Android.
2015-06-08 01:39:23 -04:00
Jean-Philip Desjardins
295da9f66c
Added EE executor that handles block cache invalidation using virtual memory mechanisms.
2015-06-07 23:44:46 -04:00