RSDuck
52dd0ee75a
remove leftover debug code
2020-06-16 11:56:37 +02:00
RSDuck
40b88ab05a
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-06-16 11:56:36 +02:00
RSDuck
0e26aa4ede
load register only if needed
...
- do thumb bl long merge in the first step
- preparations for better branch jitting
2020-06-16 11:56:02 +02:00
RSDuck
85680d6fe5
more fixes for flag optimisation
...
+ small cycle counting optimisation
2020-06-16 11:56:01 +02:00
RSDuck
d57ee718ba
remove debug printing
2020-06-16 11:56:00 +02:00
RSDuck
d208f5909c
fixes for flag optimisation
2020-06-16 11:55:53 +02:00
RSDuck
f378458c10
optimise away unneeded flag sets
...
- especially useful for thumb code and larger max block sizes
- can still be improved upon
2020-06-16 11:55:44 +02:00
RSDuck
316378092a
abandon pipelining on jit
...
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.
2020-06-16 11:55:24 +02:00
RSDuck
26ecf6bb3c
fix register alloc for half word loads
...
fixes Mega Man Star Force 2 with cheat applied
it probably used a pc relative load which were interpreted as branches
2020-06-16 11:54:51 +02:00
RSDuck
86b96ca47a
remove unneeded dolphin code, C++11 static_assert
2020-06-16 11:54:50 +02:00
Arisotura
727be0fd92
add the JIT shito to the Codeblocks project
2020-06-16 11:54:50 +02:00
RSDuck
851930f5e0
jit: fix RSC
2020-06-16 11:54:49 +02:00
RSDuck
0d786573ab
remove debug printf
2020-06-16 11:54:48 +02:00
RSDuck
00cd9af033
fix uninitialised memory mapping
2020-06-16 11:54:47 +02:00
RSDuck
d74b15eecc
jit: fix thumb hi reg alu and mcr halt
...
+ mcr/mrc aren't always, msr_imm is never unk on ARM7
2020-06-16 11:54:06 +02:00
RSDuck
4deecc7d65
jit: decrease blockcache AddrMapping size for ARM9
2020-06-16 11:54:05 +02:00
RSDuck
03b321f540
jit: fix misc static branch things
2020-06-16 11:54:05 +02:00
RSDuck
3167ddcde1
jit: LDM/STM keep proper stack alignment
2020-06-16 11:54:04 +02:00
RSDuck
dd04cef47e
jit: fix BLX_reg with rn=lr
2020-06-16 11:54:03 +02:00
RSDuck
86f2be7260
jit: add compile option
2020-06-16 11:54:03 +02:00
RSDuck
fc82ca1a97
jit: remove unnessary files from dolphin
2020-06-16 11:53:22 +02:00
RSDuck
d13d625f73
jit: make everything configurable
2020-06-16 11:53:21 +02:00
RSDuck
0ff79ea2ad
jit: fix linux
2020-06-16 11:53:11 +02:00
RSDuck
24aff49ae4
jit: fix wrongly placed const
2020-06-16 11:53:11 +02:00
RSDuck
9336fcbbe6
jit: SMULL and SMLAL
2020-06-16 11:53:10 +02:00
RSDuck
f22521a43d
jit: LDM/STM finally(!) working + MUL, MLA and CLZ
2020-06-16 11:53:10 +02:00
RSDuck
83bd863361
jit: branch instructions
2020-06-16 11:53:09 +02:00
RSDuck
27cbc821b1
jit: thumb block transfer working
...
also pc and sp relative loads and some refactoring
2020-06-16 11:53:08 +02:00
RSDuck
10e386fe50
JIT: most mem instructions working
...
+ branching
2020-06-16 11:53:08 +02:00
RSDuck
550e6b86d2
JIT: compilation of word load and store
2020-06-16 11:53:07 +02:00
RSDuck
ea98a44e1e
jit: correct cycle counting for thumb shift by reg
2020-06-16 11:53:06 +02:00
RSDuck
2f6b46fd4f
JIT: implemented most ALU instructions
2020-06-16 11:53:06 +02:00
RSDuck
c692287eba
JIT: base
...
all instructions are interpreted
2020-06-16 11:53:05 +02:00
Arisotura
aa6ff499f9
prepare JIT beta branch
2020-06-16 11:52:45 +02:00
Arisotura
d97ce22b01
Merge pull request #649 from nadiaholmquist/feature/aarch64-ci
...
Add aarch64 CI
2020-06-12 14:15:57 +02:00
Nadia Holmquist Pedersen
d69c5df32e
Use GCC 10
2020-06-12 03:21:57 +02:00
Nadia Holmquist Pedersen
612d3030f2
Use qtbase5-dev so we pull in less stuff
2020-06-12 03:06:11 +02:00
Nadia Holmquist Pedersen
b05958a4c1
Correct name and fix syntax error
2020-06-12 03:00:53 +02:00
Nadia Holmquist Pedersen
4ceb1a2f52
Add aarch64 CI
2020-06-12 02:57:20 +02:00
RSDuck
76da3fa114
Merge pull request #643 from rzumer/patch-1
...
Update Ubuntu version used for CI
2020-06-08 20:58:35 +02:00
Raphaël Zumer
2fab090344
Update Ubuntu version used for CI
...
Ubuntu 20.04 is supported "as a preview"
and may have to be replaced in the future,
but 18.04's Qt package is too old to build.
2020-06-08 18:20:56 +00:00
Arisotura
90cf310e81
Merge pull request #641 from nadiaholmquist/feature/qt-platform
...
Use Qt's file/threading abstractions in Platform.cpp
2020-06-04 02:13:16 +02:00
Nadia Holmquist Pedersen
924975f6db
Use GenericConfigLocation so files will be placed correctly in non-portable Windows builds
2020-06-03 17:01:10 +02:00
Nadia Holmquist Pedersen
a4b88f0294
Fix paths on Windows
2020-06-03 16:49:58 +02:00
Nadia Holmquist Pedersen
f9644abb67
Handle open flags more correctly
2020-06-03 16:41:34 +02:00
Nadia Holmquist Pedersen
23aeb5fb72
Fix _dup on windows
2020-06-03 16:38:26 +02:00
Nadia Holmquist Pedersen
21f1856da2
Fix indentation
2020-06-03 14:54:36 +02:00
Nadia Holmquist Pedersen
7829070b7f
Handle r+ file mode
2020-06-03 14:41:07 +02:00
Nadia Holmquist Pedersen
6e0425d34e
Add missing threads dependency
2020-06-03 14:40:50 +02:00
Nadia Holmquist Pedersen
54edd51797
Merge branch 'master' of https://github.com/Arisotura/melonDS into feature/qt-platform
2020-06-03 14:31:02 +02:00