574 Commits

Author SHA1 Message Date
Unknown W. Brackets
0ca8f5c655 Improve performance of ScanForFunctions().
Mostly affects games with a lot of modules and exports.
2013-07-06 16:58:17 -07:00
Unknown W. Brackets
286c153c6a Fix memchecks for halfwords and bytes.
Before it was doing the range on a 4 byte read, which would trip a
memcheck that wasn't actually being hit if the byte of halfword was
unaligned.
2013-07-06 13:15:48 -07:00
Unknown W. Brackets
25cc09b81b Improve perf when ignore illegal is off.
Most users will have it on, but this improves perf a bit when it isn't.
2013-07-06 13:04:19 -07:00
Unknown W. Brackets
77670876cd Fix memcheck range intersect check. 2013-07-06 12:08:34 -07:00
Unknown W. Brackets
2b4344f61d Don't rewind the PC on memcheck w/ CORE_NEXTFRAME.
If the memcheck doesn't hit, we'll still rewind the PC, causing weirdness.
This is likely if you try to memcheck an address hit first thing in a
vblank interrupt handler or something.
2013-07-06 03:30:21 -07:00
Unknown W. Brackets
2d15eb2acd Re-enable lwl/lwr/swl/swr on the x86 jit.
Now correctly handling ECX on x64.
2013-07-06 01:21:52 -07:00
Unknown W. Brackets
662ae77214 Save regs before/after 3-arg func calls on x86.
This fixes bugs only on x64 when ABI_CallFunctionACC and etc. were used.
This was breaking things since R8 was not being saved (arg 3.)
2013-07-06 00:54:53 -07:00
Unknown W. Brackets
19f2b35679 Keep the stack aligned when tripping memchecks. 2013-07-06 00:22:09 -07:00
Unknown W. Brackets
7960bd0767 Fix dumb mistake from x86 jit changes, fixes #2635. 2013-07-05 22:05:55 -07:00
Henrik Rydgard
827b472fc6 Merge branch 'Debugger' of https://github.com/Kingcom/ppsspp into Kingcom-Debugger
Conflicts:
	Core/MIPS/MIPSDebugInterface.cpp
2013-07-05 22:59:55 +02:00
Henrik Rydgard
6ead10b377 Android buildfix (expressionparser stuff) 2013-07-05 22:55:14 +02:00
Kingcom
b112971514 More specifc errordescription 2013-07-05 21:21:34 +02:00
Kingcom
44f551ce4a Use safe versions of Memory::Read 2013-07-05 20:38:19 +02:00
Kingcom
70ed8bf843 MipsExpressionFunctions changes 2013-07-05 20:24:08 +02:00
Unknown W. Brackets
1c9086617a DISABLE the swr/swl and friends for now.
Broke Disgaea on x64 only, not sure why right now.
2013-07-05 02:53:15 -07:00
Henrik Rydgård
abc03520b4 Merge pull request #2625 from unknownbrackets/debugger
Fix some memcheck bugs
2013-07-05 02:26:13 -07:00
Unknown W. Brackets
5271f36d78 Output less code per memcheck.
Somehow this also fixed a bug with memchecks that didn't hit, but I don't
know why.  Reverting and making them far jumps doesn't help.... strange.

Anyway, this should be less code which is good.
2013-07-05 01:33:39 -07:00
Unknown W. Brackets
c64f6c3f39 Don't just forget other memchecks, arg. 2013-07-05 01:26:02 -07:00
Unknown W. Brackets
540bd13222 Correctly match ranges in memchecks with ends. 2013-07-05 01:16:57 -07:00
Unknown W. Brackets
3278b5e373 Handle the immediate case of clz/clo. 2013-07-04 23:07:42 -07:00
Unknown W. Brackets
d823989330 Implement vmone/vmzero/vmidt for the x86 jit. 2013-07-04 18:16:57 -07:00
Unknown W. Brackets
654490566f Implement clz/clo in x86 jit. 2013-07-04 18:01:17 -07:00
Unknown W. Brackets
e27ab6fa11 Add swl/swr to the x86 jit. 2013-07-04 17:34:56 -07:00
Unknown W. Brackets
203daf955b Implement lwl/lwr in the x86 jit. 2013-07-04 17:30:36 -07:00
Unknown W. Brackets
2d25d1eb05 Add a way to force alignment in JitSafeMem(). 2013-07-04 15:59:12 -07:00
Henrik Rydgård
c28109dfa0 Merge pull request #2576 from Kingcom/master
Expression parser update
2013-07-01 08:23:42 -07:00
Kingcom
c24433b1e2 Remove remaining instances of stricmp 2013-07-01 10:01:49 +02:00
Kingcom
e3d3d75e38 Moved expression parser to native and changed how it's accessed 2013-07-01 01:41:06 +02:00
Unknown W. Brackets
942d50d521 When hitting go on a memcheck, also skip it.
If you hit go you most likely want it to continue past the instruction you
were on.
2013-06-30 16:35:48 -07:00
Unknown W. Brackets
8ee88ae5a2 Don't skip memcheck'd op when illegal reads is off. 2013-06-30 16:35:48 -07:00
Unknown W. Brackets
9209a30d9b Add skeleton for conditional breakpoints. 2013-06-30 16:35:47 -07:00
Unknown W. Brackets
6bd4383a8a Give memchecks/breakpoints a consistent interface.
Removes the limit on max breakpoints, and makes everything use accessors
for both that look roughly the same.
2013-06-30 15:16:58 -07:00
Unknown W. Brackets
c9c3bc83e4 Log more info about branches in delay slots. 2013-06-30 13:19:27 -07:00
Unknown W. Brackets
84f65dc961 Save flags around conditional breakpoint check. 2013-06-29 11:45:29 -07:00
Unknown W. Brackets
609f8d6340 Allow hitting Go on a breakpoint to continue.
Doesn't work for branches though, because of delay slots.
2013-06-29 11:23:24 -07:00
Unknown W. Brackets
aaafd372e9 Clear temp breakpoints off the CPU thread.
This should make it possible to actually clear them.  Fixes #2519.
2013-06-29 10:54:33 -07:00
Kingcom
ab1aa09dce Expression parser 2013-06-29 15:17:00 +02:00
Kingcom
76f135e077 -edit register by double clicking
-copy register with ctrl+c
2013-06-27 11:50:59 +02:00
Henrik Rydgard
cc414296d6 Merge branch 'master' of https://github.com/jtraynham/ppsspp into jtraynham-master
Conflicts:
	lang
	pspautotests
2013-06-26 22:56:53 +02:00
Unknown W. Brackets
abe3d95877 Revert "Remove hack for BREAK in Sol Trigger"
This reverts commit 3d2c3c722713fc7276ab5cec71b122dac9082ec7.

This wasn't a hack dedicated to Sol Trigger.  It helps other games, and
keeping it is just like allowing games to continue on bad memory address
reads.
2013-06-26 07:56:36 -07:00
raven02
3d2c3c7227 Remove hack for BREAK in Sol Trigger 2013-06-26 19:27:36 +08:00
Kingcom
7d0e6ff199 -disassembly view redesigned
-change the cursor with the mouse or with the keyboard
-displays symbols on the left and in opcode arguments
-press tab to toggle displaying of symbols
-click on the highlighted line to toggle a breakpoint at that position
-press right to follow a branch and left to go back a level
2013-06-25 23:52:56 +02:00
Jake Traynham
e89b2055a6 Reenabled armv7s for iOS with JIT fixes 2013-06-20 11:44:59 -05:00
Henrik Rydgard
ce2c18d2fe Remove redundant vmov instructions (seen in wipeout) 2013-06-15 00:19:48 +02:00
Henrik Rydgard
e809e39681 Mips interpreter: Use unions instead of ugly casts. Strict-aliasing builds now work, but needs more testing so I don't enable it yet. Also some aliasing fixes for TransformPipeline. 2013-06-11 21:44:37 +02:00
Sacha
2450c0d28d We can't use S2 or D1. Use alternative means. 2013-06-10 19:28:53 +10:00
Sacha
104a3a316b Revert extra regs allocation. Causes some crashes with ffmpeg. 2013-06-10 00:29:08 +10:00
Sacha
637d75f47d Unlock the other 16 regs that are available for NEON. 2013-06-09 23:15:59 +10:00
Sacha
583927988c Armjit Update: Improvements
Implement vsat0 and vsat1
Introduce VMOV for immediates.  Use in MOVI2F where possible by detecting if float val can be encoded.
Combine some vneg ops in ApplyPrefixST.
2013-06-09 21:27:16 +10:00
Sacha
f21218c3f9 Armjit: Combine mul.s + neg.s to VNMUL. Implement VNMUL, VNMLA, VNMLS.
I had implemented mul.s + add/sub.s + add/sub.s -> VADD/VSUB + V(N)ML(A/S). Turns out it doesn't happen enough though (once or twice per game).
2013-06-08 16:39:59 +10:00