Commit Graph

2700 Commits

Author SHA1 Message Date
Ced2911
78b219b1fd endian on vfpu 2013-08-16 09:17:34 +02:00
Unknown W. Brackets
14b719a7ac Make it possible to have more block exits. 2013-08-16 00:12:49 -07:00
Unknown W. Brackets
64c2ea86c0 Add a method to save the gpr/fpr state in jit. 2013-08-16 00:12:49 -07:00
Henrik Rydgard
0348403f61 Turn vcmp back on again, let's not trust the one-operand arm vcmp for now 2013-08-15 22:57:04 +02:00
Unknown W. Brackets
2758634a0f Avoid overhead calling __KernelIdle().
~1.8% improvement in Zettai Hero Project.
2013-08-15 01:35:17 -07:00
Unknown W. Brackets
846178a588 Optimize thread switching a bit.
~2.5% improvement in Zettai Hero Project (while multithreading.)
2013-08-15 01:26:16 -07:00
Unknown W. Brackets
5387e5c717 Oops, typo. 2013-08-15 00:38:53 -07:00
Unknown W. Brackets
df50e03146 Add a safety log for cases we don't handle right. 2013-08-14 23:14:25 -07:00
Unknown W. Brackets
e639f8d15f Handle branches in VFPU delay slots better.
Based on tests on a PSP, all branches are attempted.  The behavior is
technically undefined.

It seems to take the delay slot's target if they differ and both pass.
This is the behavior the interpreter has, but it's more work in jit.

Since only a couple games seem to do this, and clearly expect this
behavior, this fixes all known cases of #1926.
2013-08-14 22:56:02 -07:00
Henrik Rydgard
0a5c942daf Temporarily disable VCMP on ARM. Let's see if this fixes #3071 , if so I have debugging to do. 2013-08-14 17:41:16 +02:00
Unknown W. Brackets
c8716d9a02 Fix a few minor typos + small reporting change. 2013-08-12 23:02:39 -07:00
Unknown W. Brackets
49ab98c7fd Use atomic operations on Android + warning fixes. 2013-08-12 08:51:49 -07:00
Unknown W. Brackets
7ac67a8931 Add a function to walk the stack, not yet perfect.
Could use improvements, but with a decent symbol table does very well so
far in the games I tested it in.
2013-08-12 01:54:14 -07:00
Unknown W. Brackets
92482dfcb3 Branch targets are relative to next instr. 2013-08-12 01:52:54 -07:00
Unknown W. Brackets
4d250954e4 Use the flags in MIPSCodeUtils. 2013-08-11 23:03:25 -07:00
Unknown W. Brackets
c7360f1555 Consider these as taking a IMM16 as well. 2013-08-11 21:30:19 -07:00
Unknown W. Brackets
aac6712974 Get rid of IsDelaySlotInfoSafe since flags are ok. 2013-08-11 20:49:34 -07:00
Unknown W. Brackets
3c4a6e13e4 Cleanup the remaining MIPS tables, reporting. 2013-08-11 20:40:21 -07:00
Unknown W. Brackets
6f703d7b5a Cleanup flags on VFPU4 sub MIPS tables. 2013-08-11 20:11:34 -07:00
Unknown W. Brackets
3f49101868 Clean up the COP1 MIPS tables, and reporting. 2013-08-11 19:35:39 -07:00
Unknown W. Brackets
7e92b17dd4 Cleanup some COP2/VFPU2 table flags. 2013-08-11 19:13:41 -07:00
Unknown W. Brackets
3ae2b8dcc4 Clean up the SPECIAL3 and REGIMM table flags. 2013-08-11 18:41:21 -07:00
Unknown W. Brackets
8266063394 Make sure we're reporting unknown instructions. 2013-08-11 18:20:43 -07:00
Unknown W. Brackets
f652a2f6f0 Correct SPECIAL2 and separate COP1S and COP1W. 2013-08-11 18:17:03 -07:00
Unknown W. Brackets
b2abdbe44b Clean up the SPECIAL MIPS table, mostly flags. 2013-08-11 18:01:55 -07:00