Ryan Houdek
e869aa644a
Docs: Update for release FEX-2608
FEX-2608
2026-08-04 16:55:43 -07:00
Ryan Houdek
68740b3c65
Merge pull request #5792 from Sonicadvance1/192
...
CI: Disable ranges-v3 from trying to build native
2026-08-03 15:30:52 -07:00
Ryan Houdek
4caad9bf55
Merge pull request #5800 from Sonicadvance1/195
...
#5795 but with clang_format
2026-08-03 15:30:14 -07:00
Iaying
7629323548
Fix an XMM register bug in SpillSRA, along with adding a test that reproduces the bug
2026-08-03 15:15:41 -07:00
Ryan Houdek
2fdbff3d1c
Merge pull request #5790 from mstorsjo/libc++23
...
Fix building for Windows with libc++ 23
2026-07-30 14:29:13 -07:00
Ryan Houdek
5c7df98768
CI: Disable ranges-v3 from trying to build native
...
We don't want this.
2026-07-30 13:59:44 -07:00
Martin Storsjö
efe38f2ee2
Add more function stubs for libc++ 23 on Windows
...
These are needed by libc++ when targeting Windows since
https://github.com/llvm/llvm-project/commit/8a531c3608c722ad529be448d6ecef06ba107228 ,
which is included in libc++ 23.
In a very brief test, it seems like we don't need to actually
implement them.
2026-07-28 23:37:53 +03:00
Martin Storsjö
08031a2767
Add missing includes
...
This fixes compilation with libc++ 23, which has removed a number
of unnecessary transitive includes in its headers.
Include <cstdlib> in StringConv.h for std::strtoll and std::strtoull.
Include <cstdlib> for the declarations of malloc/free/realloc/calloc
in Alloc.cpp. (Without this, the functions we define end up with
C++ name mangling.)
Include <stdarg.h> in IO.cpp for va_start/va_end.
2026-07-28 23:17:43 +03:00
Ryan Houdek
d295d9f08e
Merge pull request #5789 from lioncash/sig
...
SignalDelegator: Remove unused Required parameter in handler setting
2026-07-27 13:14:14 -07:00
Ryan Houdek
61d033f21e
Merge pull request #5788 from lioncash/config
...
Config: Minor cleanup
2026-07-27 13:09:21 -07:00
Ryan Houdek
27315e33ab
Merge pull request #5784 from FrontMage/fix/instruction-fetch-fault-priority
...
Frontend: Prioritize instruction fetch faults
2026-07-27 12:54:53 -07:00
LC
e8b5cd18bd
SignalDelegator: Remove unused Required parameter in handler setting
...
The required flag is set by the subsequent frontend functions that
follow the calls to these functions.
2026-07-27 15:06:24 -04:00
LC
1a77f41846
Config: Add missing override specifier
2026-07-27 14:01:11 -04:00
LC
d1947f715c
Config: Move strings in constructor where applicable
...
Same thing, just a little less memory churn.
2026-07-27 14:00:06 -04:00
LC
3f7971b7d2
Config: Mark internally linked where applicable
...
Makes it obvious these aren't supposed to be exposed.
2026-07-27 13:56:53 -04:00
LC
2cbd5cb3e6
Config: Amend prototypes where applicable
...
Previously, these didn't match up with the implementation (luckily it's
only used internally at the moment).
2026-07-27 13:54:25 -04:00
FrontMage
151b4d4c2d
Frontend: Prioritize instruction fetch faults
2026-07-25 09:01:21 +08:00
Ryan Houdek
7a3fdefafb
Merge pull request #5786 from OFFTKP/fist
...
Extend FIST tests to check for indefinite value
2026-07-24 09:27:22 -07:00
Paris Oplopoios
86c20d0519
Extend FIST tests to check for indefinite value
2026-07-24 17:04:10 +03:00
Ryan Houdek
464ec9d0bc
Merge pull request #5783 from FrontMage/fix/inactive-jit-guard-range
...
FEXCore: Ignore inactive JIT guard ranges
2026-07-23 17:50:51 -07:00
FrontMage
35518a5fa0
FEXCore: Ignore inactive JIT guard ranges
2026-07-24 07:57:48 +08:00
Ryan Houdek
d028c7942b
Merge pull request #5782 from lioncash/validation
...
IRValidation: Minor cleanups
2026-07-23 15:44:48 -07:00
LC
585286a617
IRValidation: Remove unused members from BlockInfo
...
HasExit is assigned to but never used, but we check this condition a
different way right after leaving the main loop anyway.
2026-07-24 16:00:20 -04:00
LC
4904fd43e9
IRValidation: Make BlockInfo private
...
This isn't used outside the context of the pass.
2026-07-24 16:00:20 -04:00
LC
9e3f287c1f
IRValidation: Use C instead of CW
...
This op isn't mutated anywhere in the pass.
2026-07-24 16:00:20 -04:00
LC
f5e4e26e08
IRValidation: Move var closer to usage
...
Same behavior, just more compact.
2026-07-24 16:00:20 -04:00
LC
6c5a39e164
IRValidation: Turn ORs with true into assignment
...
These are just unconditional setting to true anyway.
2026-07-24 16:00:17 -04:00
Ryan Houdek
7469fdb0d6
Merge pull request #5781 from FrontMage/fix/multiblock-block-local-errors
...
FEXCore: Isolate multiblock error state per block
2026-07-23 15:11:13 -07:00
FrontMage
fcf9fd77d7
FEXCore: Isolate multiblock error state per block
2026-07-23 16:52:19 +08:00
Ryan Houdek
0589d9b872
Merge pull request #5779 from lioncash/x87
...
x87StackOptimizationPass: Minor cleanup
2026-07-22 18:58:17 -07:00
LC
6d4c80adff
x87StackOptimizationPass: Remove IR member
...
This is only used in the store helpers, so we can just pass it in
directly
2026-07-23 02:26:46 -04:00
LC
56dd470528
x87StackOptimizationPass: Remove unnecesary return in Run()
...
It's a void function, so we don't need this at the end
2026-07-23 02:21:26 -04:00
LC
6741f53d87
x87StackOptimizationPass: Mark getValidMask()/getInvalidMask() as const
...
These don't modify instance state.
2026-07-23 02:18:33 -04:00
LC
19550c5417
x87StackOptimizationPass: Pass by const reference in setTop()
...
Avoids redundant copies. Just a minor codegen saving.
2026-07-23 02:17:02 -04:00
Ryan Houdek
cfa3dfaac7
Merge pull request #5780 from mrpippy/unicode
...
Windows: Fixes around using Unicode functions
2026-07-22 18:48:52 -07:00
Brendan Shanks
0ed0bc1dd5
CMake: Define UNICODE when building for Windows
2026-07-22 15:17:17 -07:00
Brendan Shanks
074743d6e8
Windows: Explicitly use *A/*W Win32 functions
2026-07-22 15:16:44 -07:00
Brendan Shanks
8b446de059
Windows: Use GetModuleHandleW() to avoid unnecessary string conversions
2026-07-22 15:16:44 -07:00
Ryan Houdek
f2e35f336f
Merge pull request #5778 from lioncash/buf
...
SharedCodeBufferManager: Minor header tidying
2026-07-21 09:18:25 -07:00
LC
10a0fe2e71
SharedCodeBufferManager: Make AllocateNew() signature consistent with declaration
2026-07-23 01:42:41 -04:00
LC
c9add0d292
SharedCodeBufferManager: Hoist prctl define into util header
...
Same behavior, but just moves the potential define to be alongside all
of the others in the wrapper header.
2026-07-23 01:40:49 -04:00
LC
c239d09ea0
SharedCodeBufferManager: Add missing header
...
Ensures the page size define is always visible.
2026-07-23 00:16:56 -04:00
LC
a652a5811b
Merge pull request #5777 from Sonicadvance1/191
...
FEXCore: Split out CodeBuffer management to its own file
2026-07-21 07:31:13 -04:00
Ryan Houdek
d2c92808f5
FEXCore: Split out CodeBuffer management to its own file
...
NFC
- Renames CodeBufferManager to SharedCodeBufferManager to be more
explicit about it being shared between threads
- Renames `CodeBuffers` to `SharedCodeBuffers` to make it more explicit
about sharing these buffers between threads.
- Separates the Manager to its own file so it is distinct from the rest
of the CPUBackend code
Makes it easier to parse ownership and lifetime semantics of these
buffers.
2026-07-20 18:09:29 -07:00
LC
2464633431
Merge pull request #5776 from Sonicadvance1/190
...
JIT: Remove JIT detection string
2026-07-20 21:07:23 -04:00
LC
15e76e88b4
Merge pull request #5775 from Sonicadvance1/189
...
JIT: Rename temporary CPU buffer allocator
2026-07-20 20:50:56 -04:00
Ryan Houdek
fe1ac1bc1d
JIT: Remove JIT detection string
...
Now that we have VMA region naming enabled on JIT buffers, this is no
longer used. Confirming a region is a JIT buffer is now just a case of
comparing the name that shows up in `/procfs/maps` rather than dumping
the first bytes of an unknown region.
2026-07-20 17:44:15 -07:00
Ryan Houdek
9edd27b214
JIT: Rename temporary CPU buffer allocator
...
`TempAllocator` was a bit too opaque as to what the allocator was for,
so I kept needing to lookup its usage every couple of months. Rename it
to `TempCodeBufferAllocator` so I can remember that it is a temporary
allocator for the staging JIT code buffer more easily.
NFC
2026-07-20 17:32:03 -07:00
Ryan Houdek
eb7e02ea1d
Merge pull request #5772 from lioncash/pass
...
PassManager: Simplify initialization interface
2026-07-19 16:28:07 -07:00
LC
53befc68c9
PassManager: Ensure GetPass() only queries the underlying pass mappings
...
Previously this would create an entry in the map if it didn't exist.
2026-07-21 12:10:26 -04:00