Commit graph

653 commits

Author SHA1 Message Date
Henrik Rydgard
aabc0aa9ef Quick implementation of LV.Q and SV.Q in x86/x64 JIT 2013-01-25 19:50:30 +01:00
Lioncash
1cc74aa6c0 Get rid of unused iterators. 2013-01-25 13:11:06 -05:00
Unknown W. Brackets
c1757ee166 Check downcount in jit after a syscall. 2013-01-23 22:25:35 -08:00
Unknown W. Brackets
dbe597ce64 Buildfix Android, darn. 2013-01-22 08:23:27 -08:00
Unknown W. Brackets
c324983340 Make the jit support bltzal and friends.
Fixes problems with jit in games.  Android changes completely untested.
2013-01-22 08:04:01 -08:00
Henrik Rydgard
3ae4cd4e2a Correct an include path 2013-01-19 11:43:31 +01:00
Unknown W. Brackets
beac991a9e Clear jit cache when changing breakpoints.
For now, only when paused.  I don't think clearing the cache while
running is an awesome idea.
2013-01-18 20:12:53 -08:00
Sacha
5552f93fca Fixes for Qt, Symbian and Blackberry. Reorder and remove some redundant ArmEmitter includes so that _SP doesn't conflict. 2013-01-17 11:00:07 +10:00
Henrik Rydgard
e34288070c Don't flush the icache from the start, also don't sleep. May help JIT slowdowns. 2013-01-15 20:42:45 +01:00
Henrik Rydgard
66ee2e2933 Remove ArmABI.cpp/h, didn't need that stuff. 2013-01-14 22:19:18 +01:00
Henrik Rydgard
64f953c5e1 8-byte align the ARM stack. Type some ideas. 2013-01-12 12:26:44 +01:00
Henrik Rydgard
674911ddba Move downcount into MIPSState for efficiency, enable block linking.
On ARM JIT we can now reach it through the cpu context reg.
2013-01-12 00:44:18 +01:00
Henrik Rydgard
36eaabd917 Some constant propagation. Comment out sltiu which causes problems aiming in puzbob (???) 2013-01-11 23:42:58 +01:00
Henrik Rydgard
37be2600be Shave some more instructions 2013-01-11 18:50:05 +01:00
Henrik Rydgard
bc9c3db303 Armjit: Add option for fastmem. Small optimization. 2013-01-11 17:25:54 +01:00
Henrik Rydgard
9b791b9953 More ARMJIT optimization 2013-01-11 15:22:31 +01:00
Henrik Rydgard
ba804cfa89 Cleanup ArmAsm, add idea 2013-01-11 02:28:02 +01:00
Henrik Rydgard
aa59ddad09 Merge AsmRoutineManager into Jit. Allows safe short branches. 2013-01-11 01:59:26 +01:00
Henrik Rydgard
8cd5ae933f sw/lw 2013-01-10 12:14:23 +01:00
Henrik Rydgard
9dcdb6df90 Jit work! Shifts, 3-operand ops, turn O2 back on... 2013-01-10 01:20:25 +01:00
Henrik Rydgard
71652874c2 Fix jit bugs related to the dirty flag, and more:
* Tweak block logging
* Faster calls-to-interpreter.
2013-01-10 00:03:51 +01:00
Henrik Rydgard
209f1d79a9 SpillLock is now per MIPS register instead of per ARM register. Fix array size. 2013-01-09 23:14:21 +01:00
Henrik Rydgard
fb7116ccd5 Add more checks. 2013-01-09 22:55:58 +01:00
Henrik Rydgard
2f4e6eaf01 Remove allocLock until we need it 2013-01-09 22:46:27 +01:00
Henrik Rydgard
dafe2c389c More regalloc fixing and tweaks. Still not working the way I want it. 2013-01-09 13:38:44 +01:00
Henrik Rydgard
17210c5364 Generate immediates as rot+shift when possible. 2013-01-09 11:52:49 +01:00
Henrik Rydgard
dafc9f62df Regcache fixes, etc. thing still don't work when I turn on addiu :( 2013-01-09 11:20:48 +01:00
Henrik Rydgard
81c6c4805d Small dispatcher optimizations, cleanup. Still no cube. 2013-01-09 00:42:03 +01:00
Henrik Rydgard
f5c94775b9 Cleanup 2013-01-09 00:12:02 +01:00
Henrik Rydgard
76481a300c Icache must be invalidated. Jit now starts to run, but there's no cube in cube.elf! 2013-01-08 23:52:11 +01:00
Henrik Rydgard
8915677241 More progress but it weirds out... 2013-01-08 21:24:42 +01:00
Henrik Rydgard
8c06edc47b It's getting close to the first totally unoptimized jit run. 2013-01-08 17:03:17 +01:00
Henrik Rydgard
b78ad83f00 R10, not R9, points to the mips state... 2013-01-08 14:29:03 +01:00
Henrik Rydgard
7b4cfb702c Get rid of CPU class so that MIPSState can be POD, enabling offsetof 2013-01-08 14:20:06 +01:00
Henrik Rydgard
b3fd1ff34c Lots of various work on the ARM jit. It executes a couple of blocks now. 2013-01-08 13:49:52 +01:00
Henrik Rydgard
5a7f4acc06 More armjit work 2013-01-08 00:26:42 +01:00
Henrik Rydgard
a2ff416534 Rename files. Rewrite ArmRegCache from scratch. 2013-01-07 22:33:09 +01:00
Henrik Rydgard
7cb95bbc89 Merge branch 'master' into armjit
Conflicts:
	CMakeLists.txt
	Core/MIPS/ARM/RegCache.cpp
2013-01-07 10:25:02 +01:00
Henrik Rydgard
38ae09b50f Merge remote-tracking branch 'origin/armjit' into armjit
Conflicts:
	android/jni/MenuScreens.cpp
2013-01-07 10:22:50 +01:00
Henrik Rydgard
93470e0c1f Remove some old PowerPC references... 2013-01-05 19:52:11 +01:00
Arthur Blot
be91ad2f9c Fixed $zr being non-zero after loading instruction 2013-01-03 16:14:45 +01:00
Henrik Rydgard
6b64554e64 Fix savestates under JIT 2013-01-03 12:46:10 +01:00
Henrik Rydgård
f9133c1a56 Reset JIT before saving/loading state 2012-12-29 00:10:43 +01:00
Henrik Rydgård
e724d82c46 Merge remote-tracking branch 'origin' into armjit
Conflicts:
	CMakeLists.txt
2012-12-09 09:54:58 +07:00
Sacha
3c903dda24 Improve portability to future platforms. Make use of new USING_GLES2 define throughout PPSSPP. Also use ARM definition where suitable. Remove some redundancy with includes. 2012-11-26 13:25:14 +10:00
Henrik Rydgard
863bc863c9 Some more arm work 2012-11-24 17:51:10 +01:00
Henrik Rydgard
265e70a498 Just some sketchwork on a JIT for ARM. When completed, will bring speed to mobile devices. 2012-11-23 19:41:35 +01:00
Henrik Rydgard
d572d40c36 More warning fixing 2012-11-18 23:35:02 +01:00
Sacha
41f5abab31 PPSSPP ported to Blackberry10
Now builds on Playbook and Dev Alpha
Make emulator more compatible with other OS (case sensitivity, defines, includes)
Uses Android's code paths and backend
2012-11-05 23:09:49 +10:00
Henrik Rydgard
687b085357 Missed these somehow 2012-11-04 23:58:25 +01:00