Tony Wasserka
983802da61
CodeCache: Add offline compiler for generating caches
2025-12-04 19:16:51 +01:00
Tony Wasserka
49273e0d59
CodeCache: Add workaround for clang-15's broken std::piecewise_construct
2025-12-04 19:16:51 +01:00
Tony Wasserka
76b8459cdc
CodeCache: Zero-initialize FileId in ExecutableFileInfo
2025-12-04 19:16:51 +01:00
Tony Wasserka
e269eb6f65
ELFCodeLoader: Add helper interfaces
2025-12-04 19:16:51 +01:00
Tony Wasserka
7b4774f375
ELFCodeLoader: Add option to skip interpreter loading
2025-12-04 19:16:51 +01:00
Tony Wasserka
70e9a25112
Syscalls: Move m(un)map to a dedicated interface
2025-12-04 19:16:51 +01:00
Tony Wasserka
9fb83ea56a
Windows/CRT: Implement lseek
2025-12-04 19:16:51 +01:00
Ryan Houdek
90c8fcf393
Merge pull request #5094 from pmatos/fix/issue5084
...
Set current code block in x87 pass
2025-12-02 14:43:54 -08:00
Ryan Houdek
6af90575e9
Merge pull request #5095 from neobrain/feature_serialize_relocations
...
JIT: Add support for serializing relocations
2025-12-02 14:43:42 -08:00
Tony Wasserka
994613260c
CodeCache: Support reverse application of relocations
...
This allows code to be serialized consistently across runs.
2025-12-02 22:27:53 +01:00
Tony Wasserka
1430fa8220
CodeCache: Move ApplyCodeRelocations
2025-12-02 18:38:59 +01:00
Tony Wasserka
33e06058c6
JIT: Move ApplyRelocations to CodeCache
2025-12-02 18:38:59 +01:00
Tony Wasserka
b032d1e1f7
JIT: Make relocations relative to guest base before serialization
...
This ensures consistency of generated code caches across multiple runs.
2025-12-02 18:38:59 +01:00
Tony Wasserka
d6b43b1fe6
Dispatcher: Add public interface to query ExitFunctionLinkerAddress
2025-12-02 17:56:56 +01:00
Paulo Matos
fc771c8683
asm_tests: Set current code block in x87 pass
2025-12-02 15:33:08 +01:00
Paulo Matos
f91ac09f87
Set current code block in x87 pass
...
This resets the constant pool in IREmit used by SelectAddressMode().
Fixes #5084 .
2025-12-02 15:33:08 +01:00
Ryan Houdek
e4fa399412
Merge pull request #5091 from neobrain/feature_better_relocations
...
JIT: Prepare FEX relocations for code caching
2025-12-01 13:21:29 -08:00
Tony Wasserka
952e949e10
JIT: Clean up block tail writing code
2025-12-01 20:13:51 +01:00
Tony Wasserka
3d093d66fb
JIT: Change relocation offset base to CodeBuffer start
2025-12-01 20:13:51 +01:00
Tony Wasserka
05fe2893c7
JIT: Emit relocation from IROP_THUNK
2025-12-01 20:13:51 +01:00
Tony Wasserka
6fc17294b6
JIT: Add relocation for guest RIP stored in jump thunks
2025-12-01 20:13:51 +01:00
Tony Wasserka
6607921bee
JIT: Add relocation for guest RIP stored in block tail
2025-12-01 20:13:51 +01:00
Tony Wasserka
0b0793438f
JIT: Add relocation for constants relative to the guest entrypoint
2025-12-01 20:13:51 +01:00
LC
3dd591e760
Merge pull request #5088 from Sonicadvance1/11
...
Linux: Disable io_uring
2025-12-01 14:05:56 -05:00
LC
f290d2f899
Merge pull request #5090 from neobrain/refactor_3waycomp
...
IR: Replace hand-written operators with three-way comparison
2025-12-01 14:05:04 -05:00
Tony Wasserka
a676ad7193
JIT: Add explicit padding to relocation descriptors
...
This ensures zero-initialization, which is required to make code cache
generation produce consistent results.
Also consolidated header fields.
2025-12-01 19:28:39 +01:00
Tony Wasserka
096c408ef6
IR: Replace hand-written operators with three-way comparison
2025-12-01 17:10:06 +01:00
Ryan Houdek
00b65f76b6
Linux: Disable io_uring
...
This allows passing around `epoll_event` structs which can't be
rewritten due to queues being managed by userspace.
2025-11-30 15:53:34 -08:00
Ryan Houdek
39fb266282
Merge pull request #5087 from neobrain/refactor_simpler_calls
...
OpcodeDispatcher: Simplify convoluted logic for computing call offsets
2025-11-28 10:10:22 -08:00
Ryan Houdek
3969d0ac78
Merge pull request #5086 from neobrain/fix_invalid_iterators
...
LookupCache: Fix use of invalidated iterators
2025-11-28 09:55:20 -08:00
Tony Wasserka
439c6bb3c0
OpcodeDispatcher: Simplify convoluted logic for computing call offsets
2025-11-28 11:32:11 +01:00
Tony Wasserka
5cedbf9d34
LookupCache: Fix use of invalidated iterators
2025-11-28 11:29:46 +01:00
Tony Wasserka
427b235eb5
Merge pull request #5071 from Sonicadvance1/2
...
Github: Add a steamrt4 builder
2025-11-28 08:59:46 +00:00
LC
92d5ba580f
Merge pull request #5085 from Sonicadvance1/10
...
HostFeatures: Extend LRCPC2 errata to more CPUs
2025-11-28 00:41:50 -05:00
Ryan Houdek
bc2f331c8b
HostFeatures: Extend LRCPC2 errata to C1 Ultra/Premium
2025-11-27 21:29:17 -08:00
Ryan Houdek
ca58aef676
HostFeatures: Extend LRCPC2 errata to V3AE
2025-11-27 21:18:51 -08:00
LC
379dc405f6
Merge pull request #5080 from Sonicadvance1/9
...
FEXInterpreter: Fixes crash with code maps
2025-11-27 20:42:20 -05:00
LC
d74b5c42da
Merge pull request #5079 from Sonicadvance1/8
...
FEXServer: Add support for a `wait_fd`
2025-11-27 20:41:22 -05:00
LC
6004971439
Merge pull request #5077 from Sonicadvance1/6
...
Scripts/InstallFEX: Fixes two issues
2025-11-27 20:39:07 -05:00
LC
a12b8927bc
Merge pull request #5076 from Sonicadvance1/5
...
Utils/WritePriorityMutex: Support being forkable
2025-11-27 20:38:37 -05:00
Ryan Houdek
57e23b289a
Merge pull request #5081 from esullivan-nvidia/main
...
HostFeatures: Disable SupportsTSOImm9 for some CPUs
2025-11-27 16:22:40 -08:00
Tony Wasserka
8214ffccf0
Merge pull request #5083 from bylaws/wheiwofjsd
...
JIT: Fix indirect delinker branch distance
2025-11-27 15:02:47 +00:00
Billy Laws
547135dc2d
JIT: Fix indirect delinker branch distance
...
This is in insts not bytes.
2025-11-27 14:42:56 +00:00
Ryan Houdek
9c72113161
Merge pull request #5070 from wcampbell-nv/cmdline
...
Reflect application changes to argv[0] in /proc/self/cmdline
2025-11-26 19:50:22 -08: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
4bd30bb72d
HostFeatures: Fixes bug in HostFeatures where simulator doesn't support new things
...
We now have a machine in CI that requires this.
2025-11-26 15:43:37 -08:00
Ryan Houdek
5eeb4dabbd
Github: Add a steamrt4 builder
...
This ensures we don't break downstream projects.
2025-11-26 14:18:08 -08:00
Tony Wasserka
a27c4b3860
Merge pull request #5078 from Sonicadvance1/7
...
CPUID: Fixes regression from #5033
2025-11-26 15:19:51 +00:00
Ryan Houdek
dfee08f74f
FEXInterpreter: Fixes crash with code maps
...
When the realpath of a program path can't be resolved, we weren't setting
the config option. This was cascading to be a crashing in codemaps where
it was unconditionally using the optional value (with assert checks),
and causing things to crash.
Pass in the path that can't be resolved to work around a crash in PV
that can happen.
2025-11-25 16:48:47 -08:00
Will Campbell
0e2629bdd4
Address review feedback
2025-11-25 14:09:29 -08:00