FEX Release FEX-2112 - Arm64 - Reduce the chance of hanging on reentrant allocations (8ab6830f) - Adds an inline syscall optimization (f7468703) - BucketList - Minor API touchups (baadf0b9) - CMake - Adds option to enable time-trace compile option (919e2bc3) - CPUID - Call handler functions directly (ffee22d3) - CompileService - Store WorkItem instances as unique_ptr (ef772c3e) - Dispatcher - Removes usage of SignalFrame stack on JITs (d81d5e21) - Use std::vector as the underlying container for std::stack (61ccec37) - Partial support for RIP adjust in signal handler (77093a7f) - ELFCodeLoader - Fixes BRK allocation on some ELF loading (b327daf5) - EnumUtils - Remove shift operators from helper macro (977d92b7) - FEXCore - Fixes CompileService race condition on thread creation (5345f7fa) - Centralize alignment utility functions in one header (966272ce) - Fixes ERROR_AND_DIE (fbd14b65) - Supports guest SIGILL (6e1ea92c) - FEXLoader - Change 32-bit memory check error to warning (82ebdf52) - Print memory map when 32-bit intersect happens (e6d285a7) - Frontend - Handle VEX RXB bits (d47182b6) - Mark modrm function LUT as static (c6662a46) - GDBStub - Fixes a few hangs and crashes (e027b83a) - General - Migrate logging over to fmt where possible (513b02fd) - IR - Make some interface functions accept pointers to const (8c38f936) - Convert NodeID into a strong type (b93871ff) - Add type alias for Node IDs (1f306d66) - Interpreter - Build op handler table at compile-time (63f9e0b4) - InterpreterCore - Dispatcher - Resolve unused variable warnings (a04cc4dc) - InterpreterOps - Mark F80CMP array as static constexpr (13ad5b66) - JIT - Eliminate redundant jump target map lookups (8ef02783) - Ensures signals in compileservice JIT space is handled (97e3a364) - JitSymbols - Make use of fmt (db0740be) - Linux - Fixes sched_getaffinity (d5bf6414) - Fixes MAP_32BIT error case (92ae6ae2) - Fixes sigprocmask with new and old set being the same address (7bb78912) - Passthrough 32-bit syscalls that can be (3dc938b8) - Emulate MAP_32BIT on mmap (081d0169) - SignalDelegator update signal mask on return from sigsuspend (90511ddd) - OpcodeDecoder - Shorten up GPR and MM base offset retrieval (59ed91c5) - Convert enums into enum classes where applicable (d1fa8bcf) - Add support for ADX (d3cd354c) - OpcodeDispatcher - Remove debug message (d883b4bf) - Implement BZHI (50c8d9ed) - Amend return types of BitSize helpers (c63c5fb6) - Implement MULX (498a845c) - Resolve sign mismatches in loops (ad864e0e) - Add helper for getting bit sizes (3a3cbf2b) - Handle RORX (51d21d86) - Implement BMI2 SARX/SHLX/SHRX (e37a0bbd) - RegisterAllocationPass - Resolve sign comparison mismatch in CalculateNodeInterference() (597e4e1d) - Reduce usages of NodeIDs where applicable (19a06519) - RootFS - Keep rootfs around while in container (16f1ad46) - Syscalls - Move construction of syscall name map into GetSyscallName() (0560e9be) - Tests - Minor cleanup (2a894bc1) - Thunks - Fail loudly if thunking is enabled for a library that isn't installed (b1b61608) - ThunksDB - Updates file to include local libs (e0d40dd4) - Misc - Adds Socket logger and tool (6c93b6f7) - IR.json/json_ir_generator: Minor touchups to generated IR utilities (9b43f94f) - Updates syscalls to 5.16 syscalls (c4d05fb8) - Various packaging improvements (23e583e1) - Various thunk library cleanups (3730a428) - Updates 32-bit DRM emulation (a92233c7) - jit - arm64 - COND_FGT should map to gt, not hi, as it is not FGTU (b45603d1) - unittests - Enables 32-bit host runner (cabb58ad)