FEX Release FEX-2404
Allocator
- Cleanup StealMemoryRegions implementation (8a3d08e1d)
- ConstProp
- drop dead code (202a60b77)
- ELFParser
- Stop using a VLA (32ec4a3c8)
- Externals
- Update Catch2 to v3.5.3 (b892da72f)
- FEXCore
- Fixes priority of FEX_APP_CONFIG (7786c2340)
- Move nearly all IR definitions to internal (e2a095372)
- Moves CodeLoader to frontend (3bed30566)
- Moves CPUBackend definition internal (f6639c359)
- Remove DebugStore map (2ad170b7d)
- Adds more TSO control levers (24fd28ed9)
- Removes vestigial mman SMC checking (542f45463)
- Fallback to the memcpy slow path for overlaps within 32 bytes (167896dc9)
- Add non-atomic Memcpy and Memset IR fast paths (7dcacfe99)
- FEXLoader
- Add a way to sleep a process on startup (624bc3fce)
- Add some debug-only tracking for FEX owned FDs (79454ed8a)
- InstcountCI
- Adds a block that is causing panic spilling (150af80f3)
- IoctlEmulation
- Add missing nouveau ioctl (6d94d7940)
- JIT
- Optimize pmovmaskb with a named vector constant (ab8ee6435)
- Linux
- Expose support for v6.8 (e33a76a2a)
- Threads
- Fixes a stack memory leak for pthreads (3d31291c3)
- OpcodeDispatcher
- clean up shifts (c43af8e97)
- drop ZeroMultipleFlags (b632f7215)
- eliminate xblock liveness for rcl/rcr (cd9ffd204)
- eliminate branch in cmpxchg pair (aa26b6288)
- Fixes 32-bit mode LOOP RCX register usage (76983476b)
- optimize LOOP/N/E (8852d9441)
- Implement support for the various prefetch instructions (2a9fcc6a6)
- Implement rdpid (ba3029b1f)
- RA
- drop dead block interference code (f2d001e72)
- Removes VLA usage (67baff8a5)
- Adds RIP when a block panic spills (a8b59c16d)
- RCLSE
- Optimize store-after-store (ca6b2e43e)
- Telemetry
- Allow redirecting directory that data is written to (970d5d5b1)
- Adds tracker for non-canonical memory access crash (7f90ca53f)
- Rename old file instead of copying (002ca360f)
- Misc
- Negate more to inline constants (aa8d04c34)
- Minor cleanups around flags (37f2b417e)
- Use scalar integer code to calculate PF (bd0b5eceb)
- Eliminate xblock liveness with rep cmp/lod/scas (e8abc8870)
- rewrite ROL/ROR (29c6281e1)
- Fix reference to out of bounds address in offsetof (4214d9bda)
- optimize clc (b1ddd8cd3)
- Moves FHU TypeDefines to FEXCore includes (5c29c9d46)
- Optimize cmpxchg with flagm (2a625a467)
- Eliminate crossblock liveness in xsave/xrstor (d25ace43a)
- rewrite Demon Addition Adjust (DAA) and other demonic opcodes (7b74ca193)
- Library Forwarding/vulkan: Fix query of vkCreateInstance function pointer (4ea630594)
- Put <20M in double quotes to avoid truncate error (1450c92b6)
- Removes false termux support (0c24aea27)
- Optimize DF representation (cd2a6ce82)
- Library Forwarding: Don't map float/double to fixed-size integers (4e269d8b8)
- Disable assert in release (c37a12e80)
- Improve 32bit ld/st addressing mode propagation (ff0c7637c)
- Library Forwarding: Fix accidental data copying when converting from host to guest layout (26a66790a)
- unittests
- ASM
- Adds a test for overlapping memcpy using rep movs (6ce366ef3)
- Implements a unit test for #3478 (caff3cb79)
The FEX-EMU, which enables the execution of x86 and x86-64 binaries on an AArch64 host, has been updated.