Commit message (Collapse) | Author | Age | ||
---|---|---|---|---|
... | ||||
* | | attempt at fixing aarch64 linux yet again | RSDuck | 2020-07-08 | |
| | | ||||
* | | fix for fastmem when pc is used as immediate | RSDuck | 2020-07-08 | |
| | | | | | | | | and (hopefully) make SIGSEGV handler work for aarch64 linux | |||
* | | misc JIT changes | RSDuck | 2020-07-08 | |
| | | ||||
* | | make linux work and fix a few bugs | RSDuck | 2020-07-04 | |
| | | ||||
* | | Merge pull request #667 from Arisotura/generic_jit | Arisotura | 2020-07-01 | |
|\ \ | | | | | | | merge jit | |||
| * | | reconcile DSi and JIT, fastmem for x64 and Windows | RSDuck | 2020-06-30 | |
| | | | ||||
| * | | make literal optimisation work again | RSDuck | 2020-06-16 | |
| | | | | | | | | | | | | enable single register block load/store optimisations for x64 aswell | |||
| * | | first steps in bringing over the JIT refactor/fastmem | RSDuck | 2020-06-16 | |
| | | | ||||
| * | | fix inlined IO register access | RSDuck | 2020-06-16 | |
| | | | ||||
| * | | Merge branch 'generic_jit' of https://github.com/Arisotura/melonDS into ↵ | RSDuck | 2020-06-16 | |
| |\ \ | | | | | | | | | | | | | generic_jit | |||
| | * | | allow allocating caller saved regs on windows | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | use instr hash as key for restore candidates | RSDuck | 2020-06-16 | |
| | | | | | | | | | | | | | | | | makes Golden Sun burn a little slower through the JIT memory | |||
| | * | | allow allocating caller saved registers | RSDuck | 2020-06-16 | |
| | | | | | | | | | | | | | | | | currently system-v only | |||
| | * | | rewrite JIT memory emulation | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | fix regression from last commit | RSDuck | 2020-06-16 | |
| | | | | | | | | | | | | | | | | also a small mistake with msr | |||
| | * | | don't use param registers for ReadBanked/WriteBanked | RSDuck | 2020-06-16 | |
| | | | | | | | | | | | | | | | | should fix linux build | |||
| | * | | fix build with JIT disabled and set default JIT maxblock size to 32 | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | hopefully fix stack handling for linux | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | implement msr and mrs for the x64 JIT | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | compile UMULLs and some fixes | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | implement block linking + some refactoring | RSDuck | 2020-06-16 | |
| | | | | | | | | | | | | | | | | currently only supported for x64 | |||
| | * | | include more information in DataRegion | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | arm64 fix itcm invalidation and ldm^/stm^ | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | preparations for block linking | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | this mistake was phenomally stupid | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | the time of good commit names is long gone | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | git played a prank on me haha very funny | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | this it should work | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | fixup for aarch64 JIT | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | fix LDM usermode for aarch64 as well | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | re add error for unsupported JIT platforms | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | apply fixes for aarch64 linux by @nadiaholmquist | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | move ARM64 JIT backend here | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | remove debug leftovers | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | improve nop handling and proper behaviour for LDM^ | RSDuck | 2020-06-16 | |
| | | | | | | | | | | | | | | | | fixes dslinux | |||
| | * | | disable literal optimations in DTCM | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | make savestates 100% compatible again | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | make literal optimisation more reliable | RSDuck | 2020-06-16 | |
| | | | | | | | | | | | | | | | | fixes spanish Pokemon HeartGold | |||
| | * | | fix config key for jit literal optimisations | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | integrate changes from ARM64 backend and more | RSDuck | 2020-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 granularity | RSDuck | 2020-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 code | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | new block cache and much more... | RSDuck | 2020-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 needed | RSDuck | 2020-06-16 | |
| | | | | | | | | | | | | | | | | | | | | - do thumb bl long merge in the first step - preparations for better branch jitting | |||
| | * | | more fixes for flag optimisation | RSDuck | 2020-06-16 | |
| | | | | | | | | | | | | | | | | + small cycle counting optimisation | |||
| | * | | remove debug printing | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | fixes for flag optimisation | RSDuck | 2020-06-16 | |
| | | | | ||||
| | * | | optimise away unneeded flag sets | RSDuck | 2020-06-16 | |
| | | | | | | | | | | | | | | | | | | | | - especially useful for thumb code and larger max block sizes - can still be improved upon | |||
| | * | | abandon pipelining on jit | RSDuck | 2020-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 loads | RSDuck | 2020-06-16 | |
| | | | | | | | | | | | | | | | | | | | | fixes Mega Man Star Force 2 with cheat applied it probably used a pc relative load which were interpreted as branches |