Tags: pcercuei/lightrec
Tags
CMake: Bump to version 0.9 59 commits since v0.8. Notable changes: - Temporary immediate values are now cached in registers - Registers are re-used as much as possible - Supports specifying a custom cycles-per-opcode value - Support running with the HLE BIOS in PCSX - The threaded recompiler is finally stable and race-free - Better priority system in the threaded compiler - Drop support for unequal memory offsets to simplify code
Lightrec version 0.5 102 commits since version v0.4. Noteworthy changes: - Opcodes in the IR are not chain-linked anymore to reduce memory usage - New disassembler, that does not depend on libopcodes - Replace C wrappers with one simple, improved C wrapper - SLL+SRA combos are now transformed into EXTC/EXTS - Use hardcoded $zero host register if possible - Compile-time data is now moved into a lightrec_cstate structure - Multiple ($(nproc) - 1) compiler threads running in parallel - COP0 fully emulated within Lightrec - COP2 register opcodes emulated within Lightrec - Omit div-by-zero checks as much as possible - Lots of bug fixes.
Lightrec 0.4 105 commits since version 0.3. Some of the noteworthy changes are: - the Reaper, which will remove the block's opcode list once fully compiled; - An optimization pass to tag MULT/DIV opcodes when a simpler operation (e.g. 32-bit MULT, 32-bit DIV, or MOD) can be performed instead; - An optimization pass to remove the div-by-zero check that was added by GCC when the PSX games were compiled; - The register cache now tracks which registers are sign-extended and/or zero-extended, so that the extension operation can be skipped if not required. - Avoid re-compilations by tagging I/O access at compilation time when the address can be deduced, and by checksumming blocks to detect false writes to the block's code (when the written value is the same as the old one). - Lots of bugs were fixed.