Billy Laws
085cf027dc
ImageTracker: Do not generate codemaps when generating code caches
2025-12-29 16:25:55 +00:00
Billy Laws
299df773ce
ImageTracker: Support codemap file generation
2025-12-29 16:25:54 +00:00
Billy Laws
ecc16033be
ImageTracker: Track loaded PE images for LookupExecutableFileSection
2025-12-28 00:31:50 +00:00
Billy Laws
30d0dbd2f0
Windows: Extend scoped HANDLE wrapper
2025-12-28 00:30:47 +00:00
Billy Laws
86211e18d7
ALookupExecutableFileSection: Take thread argument as an optional pointer
2025-12-23 23:44:58 +00:00
Ryan Houdek
f819999884
Merge pull request #5134 from bylaws/wso
...
Windows: Implement _[w]sopen file APIs
2025-12-22 14:11:56 -08:00
Billy Laws
a94a9eb268
WOW64: Use ImageTracker for volatile metadata handling
2025-12-22 17:19:38 +00:00
Billy Laws
47a8fc4b49
ARM64EC: Use ImageTracker for volatile metadata handling
2025-12-22 17:19:38 +00:00
Billy Laws
64ad853a5c
Windows: Introduce ImageTracker for tracking per-loaded-image data
...
and use it to commonise volatile metadata code (adding WOW64 image
voltmd support in the process). This will be extended to track mapped
images for code caching.
2025-12-22 17:19:38 +00:00
Billy Laws
2d6dbd5600
Windows: Add 32-bit LOAD_CONFIG structs
2025-12-22 17:19:38 +00:00
Billy Laws
651fca36ff
Windows: Implement _[w]sopen file APIs
2025-12-22 16:21:18 +00:00
Ryan Houdek
956f97efd4
Merge pull request #5124 from bylaws/wfnamec
...
Windows: Switch GetSection/ExecutableFilePath to returning full paths
2025-12-15 10:33:39 -08:00
Ryan Houdek
ebdbf58474
Merge pull request #5121 from bylaws/wheiwofjsddsjkkjdsalkjkjd
...
Windows: Split out CRT/WinAPI reimplementation
2025-12-15 10:30:29 -08:00
Billy Laws
cd934b73ca
Windows: Switch GetSection/ExecutableFilePath to returning full paths
2025-12-15 17:23:23 +00:00
Billy Laws
f6dab33190
Windows: Split out CRT/WinAPI reimplementation
...
We can use the system CRT for the offline compiler, but still want to
pull in e.g. InvalidationTracker and other helpers.
2025-12-15 15:32:26 +00:00
Billy Laws
7c8fdc1651
WinAPI: Implement Sleep
...
Used by std::this_thread::sleep.
2025-12-15 15:30:00 +00:00
Tony Wasserka
9fb83ea56a
Windows/CRT: Implement lseek
2025-12-04 19:16:51 +01:00
esullivan
8cc967fa22
HostFeatures: Disable SupportsTSOImm9 for some CPUs
...
This change avoids using the LDAPUR instruction with CPUs that are know to be
impacted by an ARM CPU errata that results in poor performance.
2025-11-26 21:42:29 -06:00
Ryan Houdek
6772581c53
Arm64ec: Print a log when kernel unaligned atomics are used
...
Not having this in FEXInterpreter as it is too spammy in the general
case.
2025-11-20 12:05:55 -08:00
Ryan Houdek
387201815b
Config: Add option to enable or disable kernel backpatchin on unaligned atomic
...
Default to enabled because this is the config we expect by default.
In the future will get some benchmarking in various games like
Assassin's Creed, and Call of Duty.
2025-11-20 12:04:59 -08:00
Billy Laws
24d61e1125
Windows: Enable downstream kernel-side unaligned atomic handling
2025-11-20 12:04:59 -08:00
Billy Laws
9a7285dca4
Windows: Support new two-stage invalidation model
2025-11-20 00:38:03 +00:00
Ryan Houdek
686c04ea93
Win32: IMplement Wake/Wait by address
2025-11-10 17:43:40 -08:00
Ryan Houdek
e862c904a9
FEX: Implements support for JIT CodeBuffer guard page restart
...
When the JIT CodeBuffer overflows, we will now catch accesses to the
guard page and longjump while restarting the JIT with a larger buffer
request.
Fixes #4877
2025-11-10 11:55:21 -08:00
Ryan Houdek
438501e49c
Merge pull request #4998 from Sonicadvance1/i_like_my_writes_quick_and_monitored
...
LookupCache: Convert mutex to new WritePriorityMutex
2025-11-04 16:02:44 -08:00
Ryan Houdek
8d20d1dae3
Wow64: Disable AVX
...
It's unsupported.
2025-11-04 11:29:04 -08:00
Ryan Houdek
6ed15a6fd6
Windows: Implement support for SRWLock shared
...
Exclusive was already implemented.
2025-11-01 13:58:21 -07:00
Tony Wasserka
5a002ad08d
Revert "Merge pull request #4969 from Sonicadvance1/rpmalloc"
...
This reverts commit e1a45a2720 , reversing
changes made to bd7edd8651 .
The change rendered pressure-vessel non-functional on muvm-based setups
like Fedora Asahi Remix.
2025-10-30 15:22:17 +01:00
Ryan Houdek
63304a1d88
Windows: rpmalloc
2025-10-27 12:05:08 -07:00
Ryan Houdek
985bdf2b6c
Switch over to rpmalloc instead of jemalloc.
...
rpmalloc is currently very aggressively configured which causes
significant reductions in resident memory over jemalloc.
In Bayonetta's title screen it went from 963MB down to 834MB resident.
2025-10-27 11:23:13 -07:00
LC
3c554cd787
Merge pull request #4992 from Sonicadvance1/Remove_the_paranoia
...
FEXCore: Remove Paranoid TSO mode.
2025-10-22 10:05:48 -04:00
LC
9e5f2269d9
Merge pull request #4990 from Sonicadvance1/gettls
...
wow64/arm64ec: Call GetTLS less frequently
2025-10-21 23:53:36 -04:00
Ryan Houdek
81fc502c6c
FEXCore: Remove Paranoid TSO mode.
...
This mode has been broken for a long time because it's mostly untested.
Barriers, and backpatching while slow have proven that they work.
Maintain the one TSO path, at least until all ARM hardware gains support for
x86-TSO memory model mode.
2025-10-21 10:53:34 -07:00
Ryan Houdek
643dd56b74
FEX: Removes sone hardcoded 4096 constants
...
Use our defined variable instead.
2025-10-21 09:18:07 -07:00
Ryan Houdek
b40e707771
wow64/arm64ec: Call GetTLS less frequently
...
If called back-to-back, the compiler can't optimize the object creation
resulting in multiple indirections. Save the creation and pass it
around, allowing the compiler to merge loadstores, and remove redundant
loads.
NFC
2025-10-20 15:45:31 -07:00
Jacek Caban
5fd3852fd3
ARM64EC: Emulate unaligned atomic access in non-JIT EC code
2025-10-10 00:13:56 +02:00
Ryan Houdek
673e826e46
FEX: Remove InlineSyscall and related flags
...
FEXCore no longer optimizes syscalls to be inline.
NFC, just avoids passing around a bunch of data structures for no
reason.
2025-10-08 19:33:58 -07:00
Billy Laws
70cffce5eb
Windows: Avoid redeclaring strtoll as unimplemented
...
Included as part of the musl code we pull in. Fixes ARM64EC/WOW64 FEX.
2025-10-03 16:30:41 +02:00
LC
18d0dec416
Merge pull request #4911 from Sonicadvance1/evmd_linux
...
Linux: Implement support for extended volatile metadata
2025-09-30 20:01:26 -04:00
Ryan Houdek
1758648f56
Common: Move ApplyFEXExtendedVolatileMetadata to Common
...
It is going to be used by Linux.
Also adds support for file offset handling, which is required on Linux
but not on win32.
2025-09-29 14:36:50 -07:00
Ryan Houdek
418ce0aed9
Wow64: Ensure extended volatile metadata is removed
...
Was missing this, matches the arm64ec side.
2025-09-29 14:13:44 -07:00
Ryan Houdek
7273041314
FEXInterpreter: Remove FEXLoader
...
Doesn't /quite/ remove the ArgumentLoader because it is intertwined with
LinuxEmulation in an annoying way that will take another step to remove.
2025-09-12 10:24:58 -07:00
Ryan Houdek
61719115e5
Merge pull request #4817 from neobrain/refactor_code_cache_new_interfaces
...
CodeCache: Introduce new interfaces
2025-09-11 12:59:33 -07:00
Ryan Houdek
0eedd55dfd
Merge pull request #4866 from neobrain/refactor_reformat
...
Update code formatting
2025-09-11 10:13:42 -07:00
Tony Wasserka
0749477eb9
CodeCache: Introduce revamped interfaces
2025-09-11 17:03:50 +02:00
Tony Wasserka
9fdd96af61
Update code formatting
2025-09-11 10:40:29 +02:00
Tony Wasserka
0c0a1d8f12
CMake: Use consistent component naming
2025-09-11 10:31:06 +02:00
Tony Wasserka
fee9e91c4f
Core: Drop support for TSO auto migration
2025-09-10 15:36:23 +02:00
Billy Laws
782952d55d
WOW64: Fix CsSeg initialization
2025-09-09 19:10:07 +01:00
Ryan Houdek
80cacc462e
X86Tables: Move x87 tables to be constexpr
2025-08-27 12:24:25 -07:00