aboutsummaryrefslogtreecommitdiff
path: root/src/ARMJIT_x64/ARMJIT_Compiler.h
Commit message (Collapse)AuthorAge
* JIT fixesRSDuck2020-11-09
| | | | | | | | - fix fastmem problems on linux - small fix memory leak - SlowWrite functions always take in a 32-bit variable so that the C compiler knows that the values aren't necessary zero extended - a few other stylistic things - handle SIGBUS as well (for macos)
* Random minor fixes (#757)Valeri2020-10-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix incorrect/questionable assert() usage Originally reported by https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2159000700, but also includes a bunch of other fixes. * Fix some `printf` warnings Rule https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2160310550 * Remove useless check It is never passed thanks to `if (num_in < 1) {...; return}` before Rule https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2154840804 * Add missing header guard, rename other to avoid conflicts Rule https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2163210746 * Make DSi_SDDevice destructor virtual Rule https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2158670642 * Use thread-safe localtime_r, assign `time` result directly Rule https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2154840805 * Fix MinGW build It needs _POSIX_THREAD_SAFE_FUNCTIONS to export `localtime_r`
* fix for fastmem when pc is used as immediateRSDuck2020-07-08
| | | | and (hopefully) make SIGSEGV handler work for aarch64 linux
* reconcile DSi and JIT, fastmem for x64 and WindowsRSDuck2020-06-30
|
* make literal optimisation work againRSDuck2020-06-16
| | | | enable single register block load/store optimisations for x64 aswell
* first steps in bringing over the JIT refactor/fastmemRSDuck2020-06-16
|
* allow allocating caller saved registersRSDuck2020-05-09
| | | | currently system-v only
* rewrite JIT memory emulationRSDuck2020-05-09
|
* don't use param registers for ReadBanked/WriteBankedRSDuck2020-04-26
| | | | should fix linux build
* implement msr and mrs for the x64 JITRSDuck2020-04-26
|
* compile UMULLs and some fixesRSDuck2020-04-26
|
* implement block linking + some refactoringRSDuck2020-04-26
| | | | currently only supported for x64
* improve nop handling and proper behaviour for LDM^RSDuck2020-04-26
| | | | fixes dslinux
* new block cache and much more...RSDuck2020-04-26
| | | | | | | | | - more reliable code invalidation detection - blocks aren't stopped at any branch, but are being followed if possible to get larger blocks - idle loop recognition - optimised literal loads, load/store cycle counting and loads/stores from constant addresses
* load register only if neededRSDuck2020-04-26
| | | | | - do thumb bl long merge in the first step - preparations for better branch jitting
* more fixes for flag optimisationRSDuck2020-04-26
| | | | + small cycle counting optimisation
* optimise away unneeded flag setsRSDuck2020-04-26
| | | | | - especially useful for thumb code and larger max block sizes - can still be improved upon
* remove unneeded dolphin code, C++11 static_assertRSDuck2020-04-26
|
* jit: add compile optionRSDuck2020-04-26
|
* jit: make everything configurableRSDuck2020-04-26
|
* jit: fix linuxRSDuck2020-04-26
|
* jit: SMULL and SMLALRSDuck2020-04-26
|
* jit: LDM/STM finally(!) working + MUL, MLA and CLZRSDuck2020-04-26
|
* jit: branch instructionsRSDuck2020-04-26
|
* jit: thumb block transfer workingRSDuck2020-04-26
| | | | also pc and sp relative loads and some refactoring
* JIT: most mem instructions workingRSDuck2020-04-26
| | | | + branching
* JIT: compilation of word load and storeRSDuck2020-04-26
|
* JIT: implemented most ALU instructionsRSDuck2020-04-26
|
* JIT: baseRSDuck2020-04-26
all instructions are interpreted