Justin Becker
3471ca67c4
Bump DiskCache version number
2026-09-02 16:40:17 -07:00
jubecker
61d94ac117
Potential improvement for *PMULHRSW
2026-09-02 14:31:18 -07:00
LC
511c45c4c6
Merge pull request #5886 from simon902/IE_sticky
...
Preserve previous value of IE exception flag
2026-09-02 06:49:35 -04:00
Simon Scherer
bce8b13366
InstcountCI: Update
2026-09-02 07:47:24 +02:00
Simon Scherer
4a7fda4516
OpcodeDispatcher: Preserve IE exception flag for FCOMI and FTST
2026-09-02 07:42:04 +02:00
Simon Scherer
b29561e131
unittests/ASM: Test stickyness of IE exception flag
2026-09-02 07:42:04 +02:00
Ryan Houdek
5a68359f37
Merge pull request #5896 from Plagman/plagman/skipthunkrelocs_mr
...
DiskCache: disable with thunk relocs for now
2026-09-01 17:54:03 -07:00
Ryan Houdek
00b1249e53
Merge pull request #5895 from lioncash/move
...
Utils/File: Properly handle move assignment/construction
2026-09-01 17:53:09 -07:00
Pierre-Loup A. Griffais
8be7c1bf8e
DiskCache: disable with thunk relocs for now
...
Block extents currently don't include some of their data.
2026-09-01 17:04:31 -07:00
Lioncache
aaca8772bd
Utils/File: Properly handle move assignment/construction
...
Ensures that whenever a file handle is transferred anywhere, that the
moved from instance won't end up closing the file handle when the
destructor runs.
2026-09-01 16:00:11 -04:00
Ryan Houdek
ab6e67596f
Merge pull request #5891 from Plagman/plagman/guestextents_mr
...
DiskCache: hash guest code according to its real extents
2026-09-01 10:19:59 -07:00
LC
433091c326
Merge pull request #5871 from mcfi/pr5814
...
Resolve symlinks continuously until we find the actual binary name.
2026-09-01 10:12:49 -04:00
Pierre-Loup A. Griffais
c01bfcd52f
InstcountCI: Update
2026-09-01 03:51:12 -07:00
Pierre-Loup A. Griffais
673a387808
DiskCache: hash guest code according to its real extents
...
Does less hashing, improves hit rate when there's data adjacent to code,
and/or when the SMC check makes us rebuild code that hasn't actually been
changed.
2026-09-01 01:03:24 -07:00
LC
a6e74cdbe6
Merge pull request #5889 from Sonicadvance1/224
...
FEXCore: Removes syscall optimization
2026-08-31 22:47:00 -04:00
LC
ff4da8a620
Merge pull request #5890 from Sonicadvance1/225
...
FEXUnixlib: Removes unused variable/warning.
2026-08-31 22:43:08 -04:00
Ryan Houdek
1558a2c65d
InstcountCI: Update
2026-08-31 19:23:20 -07:00
Ryan Houdek
66cad978c3
FEXCore: Removes syscall optimization
...
The JIT was doing a bunch of additional work where it was saving and
restoring registers and then juggling the arguments back in to a stack
frame. All of this is nonsensical without the optimization where we
could call syscalls inline without a stack frame.
Instead remove this optimization entirely and behave like a "generic"
syscall path always. The Linux syscall handler now pulls the arguments
out of the CPU context directly and stores the result back in to RAX
directly as well.
This has knock-on effects where technically syscalls are
going to be slightly faster because no stack frame setup for the
arguments, but additionally we are going to be able to have syscalls be
proper serialization points where we can interrupt the syscall and
long-jump out without problems.
Bumps the DiskCache version again because it causes codegen to change.
2026-08-31 19:23:18 -07:00
Ryan Houdek
c11a0cef68
FEXUnixlib: Removes unused variable/warning.
2026-08-31 19:09:24 -07:00
Ryan Houdek
8cf2bf7ad8
Merge pull request #5884 from Plagman/plagman/lookup_opt_mr
...
DiskCache: Lookup optimizations
2026-08-31 14:05:34 -07:00
LC
ef5439e5ae
Merge pull request #5885 from Plagman/plagman/linux_writerthread_signalblock_mr
...
DiskCache: on Linux, block signals in Writer thread
2026-08-31 10:18:14 -04:00
Pierre-Loup A. Griffais
c0b24b2f2e
DiskCache: on Linux, block signals in Writer thread
...
Clean up thread flags while we're at it.
2026-08-30 22:27:05 -07:00
Pierre-Loup A. Griffais
0d3a5f96f0
InstcountCI: Update
2026-08-30 17:17:54 -07:00
LC
73dc3b3edd
Merge pull request #5883 from Sonicadvance1/223
...
Scripts/fit_native: Classify Oryon-1/3
2026-08-30 20:16:07 -04:00
Pierre-Loup A. Griffais
01bc89b82e
DiskCache: Lookup optimizations
...
- quicker misses from storing GuestHash/GuestSize in index
- use GuestSize to pull less data from disk on hit
2026-08-30 16:50:11 -07:00
Ryan Houdek
2f663db52c
Scripts/fit_native: Classify Oryon-1/3
...
If the compiler is new enough than classify Oryon-1. Clang doesn't
support Oryon-3 so just claim its Oryon-1 in that case.
2026-08-30 15:36:59 -07:00
LC
e17fdf9e90
Merge pull request #5882 from Sonicadvance1/222
...
InstCountCI: Enforce DiskCache version matching
2026-08-30 17:41:35 -04:00
Ryan Houdek
b695c5ae11
InstCountCI: Update
...
Only adds DiskCache version to json to ensure it's tracked. No asm
changes here.
2026-08-30 14:26:45 -07:00
Ryan Houdek
f5935b4006
InstCountCI: Enforce DiskCache version matching
...
Two added failure modes here. If the disk cache version has changed then
the json files must be updated to the new version to ensure correct
tracking.
Additional failure mode is that codegen actually changed but the disk
cache version hasn't. This is the expected common failure mode and we
need to do additional work before updating json results. This just means
incrementing the disk cache version before updating the instcountci
results. Have a fairly lengthy error message to showcase how much of an
impact this might have.
2026-08-30 14:26:43 -07:00
Ryan Houdek
eca6569bd3
FEXCore: Expose DiskCache version to the frontend
...
With a comment about includes currently being incorrectly shared to the
frontend and needs to get resolved.
2026-08-30 14:26:43 -07:00
LC
51c241d1f8
Merge pull request #5881 from Sonicadvance1/222
...
UnixLib: Removes old non-unixlib handling
2026-08-30 16:58:07 -04:00
Ryan Houdek
83ead40b78
UnixLib: Removes old non-unixlib handling
...
Everything that we care about supports the unixlib path now. Also turns
out we were doing `svc #0` on Windows when unixlib didn't exist which is
kind of funny.
Remove the legacy hacky path as it is no longer necessary.
2026-08-30 13:08:52 -07:00
LC
dea5c62a44
Merge pull request #5880 from Plagman/plagman/lookup_less_allocs_mr
...
DiskCache: get rid of more extra copies/allocs on Lookup
2026-08-30 07:57:30 -04:00
Pierre-Loup A. Griffais
b3f902166b
DiskCache: get rid of more extra copies/allocs on Lookup
...
Reorganize disk format a bit so that entrypoints and guest pages can be used
as is from the original blob allocation, with some in-place relocation.
2026-08-30 01:52:42 -07:00
Ryan Houdek
98964c5527
Merge pull request #5875 from lioncash/config
...
Config: Fix assertion being hit in config generation
2026-08-28 15:47:11 -07:00
LC
8ccc8dab49
Merge pull request #5865 from Sonicadvance1/221
...
FEXCore/Config: Annotate all config options that can affect codegen
2026-08-28 17:59:11 -04:00
LC
e1d8881f57
Merge pull request #5866 from Plagman/plagman/packed_applyrelocs_mr
...
DiskCache: Apply relocations from disk blob
2026-08-28 17:58:41 -04:00
Ben Niu
9742a560f5
Resolve symlinks continuously until we find the actual binary name.
...
When a guest executable is invoked through two or more levels of symlink,
FEX expands $ORIGIN in its DT_RPATH/DT_RUNPATH to the directory of the
intermediate symlink rather than the directory of the fully-resolved binary.
Libraries referenced relative to $ORIGIN then fail to load.
This PR fixes the issue by continuously chasing the symlinks until we find
the actual executable name.
2026-08-28 14:20:25 -07:00
Lioncache
7a8b9dd341
Config: Fix assertion being hit in config generation
2026-08-28 16:51:11 -04:00
Ryan Houdek
063af711af
Merge pull request #5869 from cjacek/wow64-syscall
...
WOW64: Update frame state ESP and EIP before unlocking context for syscall
2026-08-28 13:30:51 -07:00
Jacek Caban
aed71ed5e9
WOW64: Update frame state ESP and EIP before unlocking context for syscall
...
Fixes reported CPU context when queried while processing the syscall.
2026-08-28 18:52:12 +02:00
Pierre-Loup A. Griffais
8b9237fd52
DiskCache: Apply relocations from disk blob
...
Removes one allocation in Lookup path.
2026-08-27 22:45:09 -07:00
Ryan Houdek
fd180a16d3
Merge pull request #5861 from Plagman/plagman/cache_map_mr
...
DiskCache: use memory-mapped IO for reads when possible
2026-08-27 22:18:13 -07:00
Pierre-Loup A. Griffais
2a82f58195
DiskCache: use memory-mapped IO for reads when possible
...
On Wine, use a unixlib call to get a quality mapping that can track a growing
file.
2026-08-27 21:15:22 -07:00
Ryan Houdek
34ffd2d6e2
FEXCore/Config: Annotate all config options that can affect codegen
...
Instead serializing the world, allow the config to be data driven. A
couple host feature options aren't serialized as they get explained
elsewhere.
2026-08-27 15:08:20 -07:00
LC
62c9c130c4
Merge pull request #5864 from simon902/pf2id_saturation
...
Fix pf2id overflow saturation
2026-08-27 09:16:04 -04:00
LC
fca23d88c3
Merge pull request #5863 from simon902/vfaddp-mmx-width
...
Fix PFACC producing wrong results due to missing MMX-sized path in VFAddP
2026-08-27 09:15:30 -04:00
LC
3a179a3a40
Merge pull request #5862 from simon902/pf2iw_saturation
...
Fix pf2iw to saturate on 32-to-16-bit truncation
2026-08-27 08:47:54 -04:00
Simon Scherer
fe17c447d9
InstcountCI: Update
2026-08-27 11:50:52 +02:00
Simon Scherer
b21a8dafa7
OpcodeDispatcher: Fix pf2id overflow saturation
2026-08-27 11:50:45 +02:00