LC
08f451d3bc
Merge pull request #5980 from Plagman/plagman/maxrwsize_mr
...
DiskCache: configurable max file size
2026-09-22 11:10:40 -04:00
Pierre-Loup A. Griffais
83d8317dae
DiskCache: configurable max file size
2026-09-22 00:05:10 -07:00
Ryan Houdek
4b418a81aa
FEXCore: Have ThreadRemoveCodeEntry IR op jump to dispatcher
...
In order to reuse code buffers, when invalidating we will no longer be
able to invalidate code while inside the code we are invalidating.
Changes the IR operation to be a block ender itself and control jumping
to the new RIP. This way it can invalidate from the dispatcher and just
restart JIT execution.
2026-09-21 20:53:27 -07:00
Ryan Houdek
229151f878
FEXCore: Have the Syscall IR op jump to the dispatcher
...
Have it treated as a block terminator IR and instead of doing
syscall+exitfunction, just do syscall and jump in to the dispatcher.
This is necessary for code invalidation and reuse for code that is stuck
in long running syscalls. We'll need to do something similar for thunks
later, although the recursive nature of thunk+callback can make that a
little squirrely.
2026-09-21 14:46:34 -07:00
Ryan Houdek
5006e02498
Dispatcher: Fixes range check of InterruptFaultPage
...
This one wasn't updated and it's right at the limit of what it can
handle.
2026-09-21 14:45:56 -07:00
Ryan Houdek
9c871c51c9
Config: Add check to see if a config option is default
...
Either the option missing entirely or it's set to the default.
2026-09-20 14:58:48 -07:00
Ryan Houdek
a0ba36eb1b
SharedCodeBuffer: Skip VMA naming when JITSymbols are enabled
...
For some reason `perf top` prefers VMA names over perf symbols. So
disable them when any JIT symbol option is enabled. Breaks WTF tracking
for those buffers but because it's debug, we kind of have to.
2026-09-18 17:01:26 -07:00
Ryan Houdek
69a3da4f31
JITSymbols: Grab PID from the frontend
...
This is necessary to get JIT Symbols working under arm64ec/wow64
2026-09-18 17:00:17 -07:00
Ryan Houdek
ec502b99d8
FEXCore: Support passing process pid to the backend
2026-09-18 16:59:35 -07:00
Ryan Houdek
1405755a31
Merge pull request #5968 from javelina-pkwy/feat/rdrand-fallback
...
Add software fallback for RDRAND/RDSEED
2026-09-18 13:33:09 -07:00
Pierre-Loup A. Griffais
7a82b07bfd
DiskCache: optional memory buffer for faster lookups
...
May reserve a tiny area for small blocks in general, but will also be useful
for LuaJIT in anon-diskless mode.
2026-09-17 21:21:28 -07:00
Justin Becker
54b178d151
InstrCountCI: Bump disk cache version and regen
2026-09-17 11:25:52 -07:00
Justin Becker
26f0e5017f
Fix Linux test failure, and formatting
2026-09-17 11:25:38 -07:00
Justin Becker
9243efc241
Default RDRAND fallback to false
2026-09-17 10:47:09 -07:00
Justin Becker
c91c6efc87
Software fallback for RDRAND/RDSEED
2026-09-16 16:08:40 -07:00
Lioncache
df9141ee7b
Externals: Update vixl
...
Updates vixl so that the patches we upstreamed are tracked instead of us
needing to manually carry some of the more unnecessary ones forward.
We can also re-enable the tests that were disabled in #5915
2026-09-13 14:26:11 -04:00
Ryan Houdek
37eaff93cb
FEXCore: Migrate internal DiskCache header to internal
...
Leave the smaller public header that is required to get the current
DiskCache version variable still.
NFC
2026-09-15 19:43:27 -07:00
Ryan Houdek
d06e98ed84
InstcountCI: Update
2026-09-15 16:40:55 -07:00
Simon Scherer
93def42061
OpcodeDispatcher: Fix RestoreX87State to rotate MM regs by Top of Stack
2026-09-15 16:38:36 -07:00
LC
2790f89949
Merge pull request #5957 from Sonicadvance1/245
...
Frontend: Remove DST_RAX subflag
2026-09-15 19:02:05 -04:00
Ryan Houdek
0309bc3d90
Frontend: Removes DST_RAX subflag
...
Shifts the last subflag down
2026-09-15 15:00:03 -07:00
Ryan Houdek
1523142540
OpcodeDispatcher: Removes DST_RAX from CMP/TEST
2026-09-15 15:00:03 -07:00
Ryan Houdek
5743282944
OpcodeDispatcher: Removes DST_RAX from SBB
2026-09-15 15:00:02 -07:00
Ryan Houdek
9d936a8989
OpcodeDispatcher: Removes DST_RAX from ADC
2026-09-15 15:00:02 -07:00
Ryan Houdek
1e95181b34
OpcodeDispatcher: Removes DST_RAX from ALUOp operations.
2026-09-15 15:00:01 -07:00
Ryan Houdek
d85f5b4398
OpcodeDispatcher: Remove DST_RAX from LODS
...
This was already handled.
2026-09-15 15:00:01 -07:00
Ryan Houdek
ed6d7092a2
OpcodeDispatcher: Removes DST_RAX from moffset instructions
...
I had already removed the use here.
2026-09-15 15:00:01 -07:00
Ryan Houdek
a164315b7d
OpcodeDispatcher: Removes DST_RAX from BCD ops
...
These already didn't use the flag actually.
2026-09-15 15:00:00 -07:00
Ryan Houdek
e8084e3f11
OpcodeDispatcher: Remove DST_RAX from FNSTSW
2026-09-15 15:00:00 -07:00
Ryan Houdek
17ebb38ebd
FEXCore/Utils: Make crc32 match between architectures
...
I forgot that we actually need this to match arm64 behaviour on x86.
Implement the pseudocodefor the instruction.
2026-09-15 14:21:08 -07:00
LC
fd7b749e47
Merge pull request #5959 from Sonicadvance1/246
...
FEXCore: Moves crc32 helper to a shared location
2026-09-15 16:35:43 -04:00
Ryan Houdek
6efbc2ba0b
FEXCore: Moves crc32 helper to a shared location
2026-09-15 13:01:53 -07:00
LC
f2e8f580a4
Merge pull request #5956 from Sonicadvance1/244
...
Frontend: Remove SRC_RCX subflag
2026-09-15 15:26:18 -04:00
Ryan Houdek
5a24152672
Merge pull request #5953 from Plagman/plagman/crc_patching_mr
...
JIT: Let DiskCache patch ValidateCode guest CRC (and other small fixes 👼 )
2026-09-15 12:17:02 -07:00
Ryan Houdek
cad4cb9b64
Frontend: Remove SRC_RCX subflag
2026-09-15 11:56:10 -07:00
Ryan Houdek
ea263166c5
OpcodeDispatcher: Removes SRC_RCX from shift/rotate ops
...
These are all similar to each other with similar code. Hit them at the
same time.
2026-09-15 11:56:09 -07:00
Ryan Houdek
3f66c6754d
OpcodeDispatcher: Remove SRC_RCX from LOOP
2026-09-15 11:56:09 -07:00
Ryan Houdek
242f17eca9
OpcodeDispatcher: Remove SRC_RCX from SHLD/SHRD
2026-09-15 11:56:09 -07:00
Davide Cunial
7403789d8b
Update functional.h
...
Update move_only_function to use std::invoke instead of regular C++ call syntax which is invalid for pointer-to-member-function call.
2026-09-15 17:00:11 +02:00
Pierre-Loup A. Griffais
3f8f886f65
Frontend: patch cmp imm8 for cache
...
Usually imm8 seem more likely to be a function of the code around them, but
this one seems used by Mono for varying data over execution of same code.
Maybe an ID of some kind.
2026-09-14 21:57:54 -07:00
Pierre-Loup A. Griffais
56a4f11ddb
Frontend: avoid cache patching for certain cases with data unlikely to change
...
The MOV heuristic shaves off a ton of patch sites (storage and overhead on
Lookup) where the data doesn't seem to change in practice.
2026-09-14 21:52:14 -07:00
Pierre-Loup A. Griffais
1695d742b1
DiskCache: on Store, make unaccounted-for DataMasks non-fatal
...
By going through relocations before computing/hashing extents, we can simply
undo datamasks that haven't been claimed by the backend instead of failing
the whole Store. They fall back to being part of the normal hashed extents.
2026-09-14 21:52:06 -07:00
Pierre-Loup A. Griffais
5efc3212d2
JIT: Let DiskCache patch ValidateCode guest CRC
...
So we can cache blocks with FullSMCTracking finally.
2026-09-14 21:51:59 -07:00
Ryan Houdek
7917f43720
Frontend: Removes SRC_RAX subflag
2026-09-14 16:03:31 -07:00
Ryan Houdek
58e0e1a03a
OpcodeDispatcher: Removes SRC_RAX from XCHG
2026-09-14 16:03:31 -07:00
Ryan Houdek
8b469313f9
OpcodeDispatcher: Fixes hardcoded register in StoreGPRResultWithZExtSemantics
...
Oops
2026-09-14 15:47:32 -07:00
Ryan Houdek
5f8a7a18f0
OpcodeDispatcher: Removes SRC_RAX from CQO/CDQE
2026-09-14 15:40:03 -07:00
Ryan Houdek
b3fe634c8b
OpcodeDispatcher: Remove SRC_RAX from moffset MOV
2026-09-14 15:40:03 -07:00
Ryan Houdek
6f395885cb
OpcodeDispatcher: Removes SRC_RAX from SCAS
2026-09-14 14:56:36 -07:00
Ryan Houdek
8cfbc44482
OpcodeDispatcher: Removes SRC_RAX from STOS
2026-09-14 14:54:58 -07:00