| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
* Reorganize namespaces
- Most types are now moved into the `melonDS` namespace
- Only good chance to do this for a while, since a big refactor is next
* Fix the build
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Move TinyVector to a new file
- So it's less sensitive to #include ordering
* Forgot to include assert.h
* Refactor ARMJIT_Memory into an object
* Oops, forgot a declaration
* Refactor ARMJIT to be contained in an object
* Remove an unused function declaration
* Add a missing #include
* Remove a now-unused global
* Use ARMJIT_Memory's own memory access functions
* Fix some omissions in the ARM JIT
* Move libandroid to be a member of ARMJIT_Memory instead of a global
* Default-initialize most fields in ARMJIT_Compiler.h
* Define NOOP_IF_NO_JIT
* Finish refactoring the JIT to be object-oriented
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
also some minor fixes for the x64 JIT as well
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
fixes dslinux
|
|
|
|
|
|
|
|
|
| |
- 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)
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
+ small cycle counting optimisation
|
| |
|
|
|
|
|
| |
- especially useful for thumb code and larger max block sizes
- can still be improved upon
|
|
|
|
|
| |
fixes Mega Man Star Force 2 with cheat applied
it probably used a pc relative load which were interpreted as branches
|
|
|
|
| |
+ mcr/mrc aren't always, msr_imm is never unk on ARM7
|
| |
|
| |
|
| |
|
|
|
|
| |
also pc and sp relative loads and some refactoring
|
|
|
|
| |
+ branching
|
|
all instructions are interpreted
|