aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* 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
|
* fix inlined IO register accessRSDuck2020-06-16
|
* Merge branch 'generic_jit' of https://github.com/Arisotura/melonDS into ↵RSDuck2020-06-16
|\ | | | | | | generic_jit
| * allow allocating caller saved regs on windowsRSDuck2020-06-16
| |
| * use instr hash as key for restore candidatesRSDuck2020-06-16
| | | | | | | | makes Golden Sun burn a little slower through the JIT memory
| * allow allocating caller saved registersRSDuck2020-06-16
| | | | | | | | currently system-v only
| * rewrite JIT memory emulationRSDuck2020-06-16
| |
| * fix regression from last commitRSDuck2020-06-16
| | | | | | | | also a small mistake with msr
| * don't use param registers for ReadBanked/WriteBankedRSDuck2020-06-16
| | | | | | | | should fix linux build
| * fix build with JIT disabled and set default JIT maxblock size to 32RSDuck2020-06-16
| |
| * hopefully fix stack handling for linuxRSDuck2020-06-16
| |
| * implement msr and mrs for the x64 JITRSDuck2020-06-16
| |
| * compile UMULLs and some fixesRSDuck2020-06-16
| |
| * implement block linking + some refactoringRSDuck2020-06-16
| | | | | | | | currently only supported for x64
| * include more information in DataRegionRSDuck2020-06-16
| |
| * arm64 fix itcm invalidation and ldm^/stm^RSDuck2020-06-16
| |
| * preparations for block linkingRSDuck2020-06-16
| |
| * this mistake was phenomally stupidRSDuck2020-06-16
| |
| * the time of good commit names is long goneRSDuck2020-06-16
| |
| * git played a prank on me haha very funnyRSDuck2020-06-16
| |
| * this it should workRSDuck2020-06-16
| |
| * fixup for aarch64 JITRSDuck2020-06-16
| |
| * fix LDM usermode for aarch64 as wellRSDuck2020-06-16
| |
| * re add error for unsupported JIT platformsRSDuck2020-06-16
| |
| * apply fixes for aarch64 linux by @nadiaholmquistRSDuck2020-06-16
| |
| * move ARM64 JIT backend hereRSDuck2020-06-16
| |
| * remove debug leftoversRSDuck2020-06-16
| |
| * improve nop handling and proper behaviour for LDM^RSDuck2020-06-16
| | | | | | | | fixes dslinux
| * disable literal optimations in DTCMRSDuck2020-06-16
| |
| * make savestates 100% compatible againRSDuck2020-06-16
| |
| * make literal optimisation more reliableRSDuck2020-06-16
| | | | | | | | fixes spanish Pokemon HeartGold
| * fix config key for jit literal optimisationsRSDuck2020-06-16
| |
| * integrate changes from ARM64 backend and moreRSDuck2020-06-16
| | | | | | | | | | | | | | | | | | - 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-06-16
| | | | | | | | | | | | | | 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
| * remove leftover debug codeRSDuck2020-06-16
| |
| * new block cache and much more...RSDuck2020-06-16
| | | | | | | | | | | | | | | | | | - 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-06-16
| | | | | | | | | | - do thumb bl long merge in the first step - preparations for better branch jitting
| * more fixes for flag optimisationRSDuck2020-06-16
| | | | | | | | + small cycle counting optimisation
| * remove debug printingRSDuck2020-06-16
| |
| * fixes for flag optimisationRSDuck2020-06-16
| |
| * optimise away unneeded flag setsRSDuck2020-06-16
| | | | | | | | | | - especially useful for thumb code and larger max block sizes - can still be improved upon
| * abandon pipelining on jitRSDuck2020-06-16
| | | | | | | | | | 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.
| * fix register alloc for half word loadsRSDuck2020-06-16
| | | | | | | | | | fixes Mega Man Star Force 2 with cheat applied it probably used a pc relative load which were interpreted as branches
| * remove unneeded dolphin code, C++11 static_assertRSDuck2020-06-16
| |
| * jit: fix RSCRSDuck2020-06-16
| |
| * remove debug printfRSDuck2020-06-16
| |
| * fix uninitialised memory mappingRSDuck2020-06-16
| |
| * jit: fix thumb hi reg alu and mcr haltRSDuck2020-06-16
| | | | | | | | + mcr/mrc aren't always, msr_imm is never unk on ARM7
| * jit: decrease blockcache AddrMapping size for ARM9RSDuck2020-06-16
| |