Billy Laws
dd2845401c
InvalidationTracker: Disable mono hacks when multiblock is disabled
2025-08-07 21:27:04 +01:00
Ryan Houdek
a47c947065
Merge pull request #4768 from bylaws/memover
...
Avoid OOB reads for mem sources in some float conversion ops
2025-08-07 09:55:20 -07:00
Billy Laws
203ac51681
Update InstCountCI
2025-08-07 14:36:12 +01:00
Billy Laws
a7986993bf
InstCountCI: Add tests for AVX float conversion ops with mem src
2025-08-07 14:36:12 +01:00
Billy Laws
ce59d40570
Vector: Avoid OOB reads in (v)cvt(t)s{s,d}2s{s,d} with mem src
2025-08-07 14:36:12 +01:00
Billy Laws
19f33e22d7
AVX128: Avoid OOB reads in vcvtsi2s{s,d} with mem src
2025-08-07 14:36:12 +01:00
Ryan Houdek
7d818e18be
Merge pull request #4767 from bylaws/steamy
...
Windows: Ignore MEM_RESET(_UNDO) allocation protection notifications
2025-08-06 18:33:35 -07:00
Billy Laws
52af0aceea
Windows: Ignore MEM_RESET(_UNDO) allocation protection notifications
...
When these are set the allocation permissions aren't actually updated.
2025-08-07 02:05:35 +01:00
Billy Laws
cd1cf6f615
ARM64EC: Drop redundant ThreadCreationMutex locks
2025-08-07 02:04:48 +01:00
Ryan Houdek
2f925aeb22
Merge pull request #4764 from alyssarosenzweig/opt/drop-constprop-2
...
Drop ConstProp
2025-08-06 18:03:06 -07:00
Alyssa Rosenzweig
f99b42da5e
InstCountCI: Update
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-06 20:42:36 -04:00
Alyssa Rosenzweig
40beef061f
ConstProp: drop pass
...
now obsolete!
Results for the whole series are excellent:
Difference at 95.0% confidence
-3.97603% +/- 0.254656%
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-06 20:40:49 -04:00
Alyssa Rosenzweig
f0a434c167
IR: inline as we go
...
Augment IREmitter to inline constants as we generate code, rather than
needing a later clean up pass. This replaces the last function of ConstProp.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-06 20:40:49 -04:00
Alyssa Rosenzweig
92b66dbf17
IR: describe immediate inlining in json
...
This drops some register class validation since InlineConstants don't have a
register class.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-06 20:40:49 -04:00
Alyssa Rosenzweig
f336261d6b
IR: introduce & use more add helpers
...
so we can stash all the opts.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-06 20:40:49 -04:00
Alyssa Rosenzweig
c6324b83ea
IR: introduce & use constant add helpers
...
more ergonomic and gives us a place to stash more logic.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-06 20:40:49 -04:00
Alyssa Rosenzweig
54873992ab
OpcodeDispatcher: optimize storecontext(0) in dispatcher
...
It's actually slightly less code to do it here than ConstProp, lol.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-06 20:40:49 -04:00
Alyssa Rosenzweig
38d568a807
OpcodeDispatcher: rework SelectCC
...
inline as we go, while trimming the internal interfaces.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-06 20:40:49 -04:00
Alyssa Rosenzweig
dcef1212c6
OpcodeDispatcher: add and use NZCVSelect01 helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-06 20:40:49 -04:00
Alyssa Rosenzweig
2030b70ff8
OpcodeDispatcher: do Select 0/1 inline in dispatcher
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-06 20:40:49 -04:00
Alyssa Rosenzweig
41a188eaec
OpcodeDispatcher: inline entrypoint offsets manually
...
it's literally less code with some helpers.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-06 20:40:49 -04:00
Alyssa Rosenzweig
f3ddaf455c
OpcodeDispatcher: drop dead constructor
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-06 20:40:49 -04:00
Ryan Houdek
aa979e4bc7
Merge pull request #4728 from bylaws/monohacks
...
Implement mono specific hacks
2025-08-06 15:51:35 -07:00
Ryan Houdek
baddc56f01
Merge pull request #4766 from bylaws/3dnow
...
Disable 3DNow by default on WOW64 FEX
2025-08-06 15:30:27 -07:00
Billy Laws
9836e43d10
Update InstCountCI
2025-08-06 22:39:44 +01:00
Billy Laws
c8cecd9f46
Frontend: Adjust forward branch distance limit
...
Now executable page tracking is implemented, this limit is technically
unnecessary and effectively never hit in normal code. Keep a reasonable
limit however to avoid accidentally inlining tail calls and exploring
dead branches in obfuscated code.
2025-08-06 22:39:17 +01:00
Billy Laws
38c59a44de
Frontend: Disable multiblock across calls in mono JIT code
2025-08-06 22:39:17 +01:00
Billy Laws
fddc86c2b1
Windows: Opportunistically detect and replace the mono backpatcher
2025-08-06 22:39:17 +01:00
Billy Laws
0dddc9b5cb
InvalidationTrack: Support disabling SMC detection
2025-08-06 22:39:17 +01:00
Billy Laws
8b14bd4e87
FEXCore: Fix broken RemoveCustomIREntrypoint
...
Unused, but would have crashed prior due to providing a nullptr thread.
2025-08-06 22:39:17 +01:00
Billy Laws
5c77969e83
Frontend: Force full SMC detection for mono jump thunk callsites
...
See IsBranchMonoTailcall
2025-08-06 22:39:17 +01:00
Billy Laws
e049596252
FEXCore: Use MonoBackpatcherWrite for XCHG ops in the mono backpatcher block
2025-08-06 22:39:17 +01:00
Billy Laws
afa1327242
FEXCore: Implement a write+code invalidate IR op for mono SMC
2025-08-06 22:39:17 +01:00
Billy Laws
da3b7f5a41
FEXCore: Add an option to enable future mono-specific hacks
2025-08-06 22:39:17 +01:00
Billy Laws
100f61ee24
FEXCore: Allow the frontend to force full SMC detection for a block
2025-08-06 22:39:17 +01:00
Billy Laws
dcd2794ff5
FEXCore: Make ThreadRemoveCodeEntryFromJit invalidate over all threads
...
Avoids redundant CompileBlock hits and generally easier to reason about.
2025-08-06 22:39:17 +01:00
Billy Laws
8d1d3fe12b
Windows: Implement SyscallHandler code range invalidation
2025-08-06 22:39:17 +01:00
Billy Laws
87ae0f058a
LinuxEmulation: Implement SyscallHandler code range invalidation
2025-08-06 22:39:17 +01:00
Billy Laws
7e1be6625f
SyscallHandler: Add a method for invalidating a guest code range
2025-08-06 22:39:17 +01:00
Billy Laws
0c6fcd1678
FEXCore: Add function to recover the current block entrypoint
2025-08-06 22:39:17 +01:00
Billy Laws
37ac46273d
Windows: Print extra debug info on image map
2025-08-06 22:39:17 +01:00
Billy Laws
1e21416ccb
Disable 3DNow by default on WOW64 FEX
2025-08-06 22:30:38 +01:00
Ryan Houdek
e2353959c1
Merge pull request #4755 from ChanthMiao/fix/wine32-v4l2
...
LinuxEmulation: add basic supports for v4l2 driver of wine32.
2025-08-05 21:36:13 -07:00
LC
61d3d5b068
Merge pull request #4763 from Sonicadvance1/fix_hostrunner_bug
...
HostRunner: Fixes bug with saving CSFSGS
2025-08-05 23:23:53 -04:00
Ryan Houdek
572e5ed9c6
HostRunner: Fixes bug with saving CSFSGS
...
We were failing to save the entire 64-bit register, cutting off the top
32-bits which contain SS and CS. This ...happened to not cause issues
but is a bug that I encountered with far jump handling.
2025-08-05 19:45:53 -07:00
Ryan Houdek
4dbfa2febb
Merge pull request #4741 from pmatos/fninit_tests
...
asm_tests: Tests for fninit
2025-08-05 19:29:58 -07:00
Changwei Miao
0293d2027d
LinuxEmulation: add basic supports for v4l2 driver of wine32.
...
This patch does cover up all v4l2 syscalls in i386. It just works
well with the poor v4l2 driver of wine32.
Signed-off-by: Changwei Miao <chanthmiao@outlook.com >
2025-08-06 04:49:49 +08:00
LC
c28b94890c
Merge pull request #4761 from neobrain/fix_debug_strace_build
...
Syscalls: Fix DEBUG_STRACE build
2025-08-05 11:17:19 -04:00
LC
63a910d2fc
Merge pull request #4760 from Sonicadvance1/vex_log
...
Frontend: Remove log about VEX map_select
2025-08-05 11:15:53 -04:00
Tony Wasserka
fbef5c6a6a
Syscalls: Fix DEBUG_STRACE build
2025-08-05 15:51:34 +02:00