323 Commits

Author SHA1 Message Date
Henrik Rydgard
0a374047b1 initial implementation of vh2f, used in Saint Seiya 2013-01-14 20:44:10 +01:00
Henrik Rydgard
ae20d6c00f Constify some tables 2013-01-13 20:38:52 +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
ea3055322c Oops 2013-01-09 00:45:54 +01:00
Henrik Rydgard
789c4781c0 Merge remote-tracking branch 'origin/master' into armjit
Conflicts:
	Core/HLE/sceKernelThread.cpp
2013-01-09 00:43:44 +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
e3a4ed510c Fix bug in x86 jit :) 2013-01-08 19:30:28 +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
Mathias Tillman
b780e39397 Fixed various potential bugs and compiler warnings 2013-01-07 15:57:19 +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
9363a867e2 Add glViewport to cached gl state. Add a couple of missing VFPU ops. 2013-01-06 23:23:36 +01:00
Henrik Rydgard
c459c7e3a8 Fix the vsocp instruction. Fixes clipping bug in Fired Up. 2013-01-06 16:20:32 +01:00
Henrik Rydgard
93470e0c1f Remove some old PowerPC references... 2013-01-05 19:52:11 +01:00
Arthur Blot
decbf9da81 Fixed interpreter 2013-01-03 17:01:12 +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
Unknown W. Brackets
e3e6f81dfa Snapshot the CPU state as well. 2012-12-28 13:55:27 -08:00
Unknown W. Brackets
df04bbe4dd Fix a crash when switching between jit/interp. 2012-12-26 03:30:08 -08:00
Henrik Rydgård
ed68dea0d5 JIT: Ignore branches in delay slots. Not sure if this is 100% correct. 2012-12-26 08:37:53 +01:00
Henrik Rydgård
d8da92befa Fix timing issue wiith JIT on non-Windows platforms 2012-12-25 09:02:02 +01:00
Unknown W. Brackets
3c08a87404 Properly cleanup the jit on reset. 2012-12-23 23:33:10 -08:00
TMaul
e8f240c1d4 Fix some more possible errors
Shadowed var n in MIPSIntVFPU

Possible buffer overflow in vertexdecoder.h

fix valid address checking in sceRtc function
2012-12-23 20:51:05 +00:00
Unknown W. Brackets
ec753a3575 Fix some ignored error / shadowing warnings. 2012-12-21 16:23:21 -08:00
Unknown W. Brackets
217bdc275e Fix some type-conversion warnings. 2012-12-21 16:07:38 -08:00