FEX 2103 Released!
This is our third tagged release, and it comes with tons of fixes, and performance improvements.
Compatibility
- Support for unaligned atomic memory ops
- Thread local mman cache invalidation
- glib 2.32 support (cpuid fixes, faccessat2)
- cmpxchg flag fixes
- fixed cvtt* ops to actually truncate, both for x87 and sse
- Implemented BTC, BTR and BTS atomic variants
- Workaround crashes around exit_group for graceful exit
- Fixed SAR8 & SAR16 sign extension
- Added support for x87 rounding modes
- Added support for x87 precision modes
- Temporary fix for x87’s frem
- Fixed select system calls to update the descriptors
- Fixed handling of invalid ops when multiblock is enabled
- Fixed an edge case bug in CreateElementPair
- Fixed BRK handling
- Fixed /proc/cpuinfo topology
- Fixed compilation of superblocks with more than 256 spills
- Fixed a bug in in the MUL -> SHL optimization
Performance
- Added ir-cache that halves loading times when enabled (–aotir-capture && –aotir-load)
- x87 ops no longer force interpreter for the entire superblock
Usability
- uname now returns the host uname
- Added checks for python in the CMake files
Misc
- ThunkLibs now generate asm wrappers, so they can be compiled with older GCCs
- Asserts on unsupported atomic ops
- Removed erratic asserts in RA
The detailed change log is available on Github
Written on March 3, 2021