0f53a34551
rewrite JIT memory emulation
2020-05-09 00:45:05 +02:00
3787bab1f6
implement block linking + some refactoring
...
currently only supported for x64
2020-04-26 13:05:17 +02:00
386100c053
make literal optimisation more reliable
...
fixes spanish Pokemon HeartGold
2020-04-26 13:05:06 +02:00
a687be9879
new block cache and much more...
...
- 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
2020-04-26 13:05:03 +02:00
5338c28f40
load register only if needed
...
- do thumb bl long merge in the first step
- preparations for better branch jitting
2020-04-26 13:05:02 +02:00
5ea91b8a03
optimise away unneeded flag sets
...
- especially useful for thumb code and larger max block sizes
- can still be improved upon
2020-04-26 13:05:00 +02:00
9d180c7bbc
jit: decrease blockcache AddrMapping size for ARM9
2020-04-26 13:03:09 +02:00
9d76d63af5
jit: make everything configurable
2020-04-26 13:03:03 +02:00
c58fdbd66b
jit: branch instructions
2020-04-26 13:02:58 +02:00
2c44bf927c
JIT: most mem instructions working
...
+ branching
2020-04-26 13:02:57 +02:00
5f932cdf48
JIT: compilation of word load and store
2020-04-26 13:02:56 +02:00
ebce9f035f
JIT: implemented most ALU instructions
2020-04-26 13:02:55 +02:00
c5c342c009
JIT: base
...
all instructions are interpreted
2020-04-26 13:02:53 +02:00