aboutsummaryrefslogtreecommitdiff
path: root/src/ARMJIT.cpp
Commit message (Collapse)AuthorAge
* check IRQ first then Idle loopRSDuck2020-07-28
| | | | apparently I put it this way for a reason
* for some reason tabs and spaces were mixedRSDuck2020-07-23
|
* make linux work and fix a few bugsRSDuck2020-07-04
|
* reconcile DSi and JIT, fastmem for x64 and WindowsRSDuck2020-06-30
|
* first steps in bringing over the JIT refactor/fastmemRSDuck2020-06-16
|
* use instr hash as key for restore candidatesRSDuck2020-05-09
| | | | makes Golden Sun burn a little slower through the JIT memory
* rewrite JIT memory emulationRSDuck2020-05-09
|
* implement msr and mrs for the x64 JITRSDuck2020-04-26
|
* implement block linking + some refactoringRSDuck2020-04-26
| | | | currently only supported for x64
* re add error for unsupported JIT platformsRSDuck2020-04-26
|
* move ARM64 JIT backend hereRSDuck2020-04-26
|
* improve nop handling and proper behaviour for LDM^RSDuck2020-04-26
| | | | fixes dslinux
* make literal optimisation more reliableRSDuck2020-04-26
| | | | fixes spanish Pokemon HeartGold
* integrate changes from ARM64 backend and moreRSDuck2020-04-26
| | | | | | | | | - better handle LDM/STM in reg alloc - unify Halted and IRQ in anticipation for branch inlining - literal optimisations can be disabled in gui - jit blocks follow simple returns - fix idle loop detection - break jit blocks on IRQ (fixes saving in Pokemon White)
* decrease jit block cache address granularityRSDuck2020-04-26
| | | | | | | fixes Dragon Quest IX move code with side effects out of assert, fixes release build (thanks to m4wx for this one) also remove some leftovers of jit pipelining
* 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
* fixes for flag optimisationRSDuck2020-04-26
|
* optimise away unneeded flag setsRSDuck2020-04-26
| | | | | - especially useful for thumb code and larger max block sizes - can still be improved upon
* abandon pipelining on jitRSDuck2020-04-26
| | | | | fixes Golden Sun Dawn this makes the cpu state incompatible between interpreter and JIT. That's why switching cpu mode requires a restart(not requiring is stupid anyway) and the pipeline is manually filled when making a save state.
* remove unneeded dolphin code, C++11 static_assertRSDuck2020-04-26
|
* jit: fix thumb hi reg alu and mcr haltRSDuck2020-04-26
| | | | + mcr/mrc aren't always, msr_imm is never unk on ARM7
* jit: decrease blockcache AddrMapping size for ARM9RSDuck2020-04-26
|
* jit: make everything configurableRSDuck2020-04-26
|
* jit: branch instructionsRSDuck2020-04-26
|
* 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