Unknown W. Brackets
f300f46b9c
Speed up MIPSGetInstruction() by 35%.
...
It's not that hot, but gets called a lot when loading modules / running
tests. Well, and also interpreter.
Some of the previous checks were just not necessary (we never have Rese in
the tables, for example, and let's just not.)
2014-03-02 10:20:41 -08:00
Unknown W. Brackets
eca06c60c7
Spend a bit less time in Read_Instruction on load.
2014-03-02 10:20:40 -08:00
Unknown W. Brackets
ce518a432f
x86jit: Add a missing unknown prefix check.
2014-02-21 09:47:28 -08:00
Unknown W. Brackets
f2ba0f136d
Fix stack overflow on x64 with memchecks, darn it.
2014-02-16 19:18:08 -08:00
Unknown W. Brackets
61d4e2196e
Simplify vwbn.s slightly.
2014-02-16 00:00:29 -08:00
Unknown W. Brackets
34c6530b21
Implement vwbn.s, not sure what it's doing...
...
This passes all the tests I could throw at it. Fixes #1849 .
2014-02-15 23:51:41 -08:00
Unknown W. Brackets
3714fabad6
Implement vsbn.s, fixes #3409 .
...
Not sure if .q, etc. can work - won't compile, and I doubt any games try
it. Just tried a basic implementation with reporting.
2014-02-15 21:40:13 -08:00
Unknown W. Brackets
8948990871
Optimize searching for existing symbols.
...
Checking every time is slow, we should just skip by the address. Some is
just the locking overhead.
2014-02-14 22:26:35 -08:00
Unknown W. Brackets
7c2d36e802
Don't add to the symbol map what was found there.
...
Wasn't hurting anything, but slight hit on performance.
2014-02-14 22:13:32 -08:00
Unknown W. Brackets
26b4335637
Optimize symbol map in debug mode a bit more.
...
Avoid UpdateActiveSymbols().
2014-02-14 21:49:20 -08:00
Unknown W. Brackets
d279dcd454
Fix renaming a function from disassembly.
2014-02-11 07:45:13 -08:00
Henrik Rydgård
b1d6eefb8a
Call UpdateActiveSymbols only once from MIPSAnalyst instead of for every recognized function.
...
Reduces startup slowdown when using a function signature file drastically.
2014-02-11 11:21:56 +01:00
Henrik Rydgard
ef6e6083dc
Including <cstddef> here was reported to fix a build problem.
2014-02-07 23:05:03 +01:00
lioncash
aaf834c032
Fix the destruction proxy blocks in DestroyBlock() in JitBlockCache.cpp.
...
Prior to this, it was possible for the wrong block to be deleted multiple times.
2014-02-03 14:40:37 -05:00
The Dax
427970750b
Remove redundant break in MIPSAsm.cpp.
2014-01-30 01:48:32 -05:00
Henrik Rydgård
2b05a60d9d
Clear out the jit pointer on shutdown. Some cleanup.
2014-01-28 11:32:54 +01:00
Henrik Rydgård
efd44a6933
Merge branch 'debugger2' of https://github.com/unknownbrackets/ppsspp into unknownbrackets-debugger2
...
Conflicts:
Core/Debugger/Breakpoints.cpp
2014-01-26 23:10:37 +01:00
Unknown W. Brackets
5e01119d60
Update the debugger on a break instruction.
...
Before it would still show "Stop" even though it was paused.
2014-01-26 11:57:40 -08:00
Unknown W. Brackets
fe2b62c27d
Make the "on change" checkbox for memchecks work.
...
But, for now, only on sw and similar instructions, the rest don't work
yet and just always break.
2014-01-26 11:57:39 -08:00
Unknown W. Brackets
76afb2a8d5
Avoid returning points from the symbol map.
...
Now that it uses a lookup, this is even more dangerous. But, the maps
could be reordered while it's trying to print the pointer and cause that
data to become invalid.
This should be safe from race conditions.
2014-01-25 21:40:23 -08:00
Unknown W. Brackets
648c0f6685
Avoid an infinite loop on bad stack walk.
...
If the address is wrong, it'll re-trigger debug mode, which will re-walk
the stack, which will continue ad infinitum.
2014-01-18 09:58:48 -08:00
Unknown W. Brackets
2347498667
x86jit: Use templates to avoid some void * casts.
...
Makes it a bit cleaner and potentially safer.
2014-01-18 09:57:13 -08:00
Unknown W. Brackets
79864a5ee0
Fix some initialization order warnings.
2014-01-10 22:21:24 -08:00
pal1000
e7672655d3
Fix warning in MIPS/MIPSAnalyst.cpp
2014-01-06 10:48:52 +02:00
Unknown W. Brackets
1abb001e7f
Don't hashmap functions smaller than 16 bytes.
...
Otherwise, small stub funcs "replicate" annoyingly.
2014-01-04 01:36:36 -08:00
Aapo Rantalainen
ed6b8e34ab
Fix missing includes (stdio.h)
2014-01-01 22:31:03 +02:00
Unknown W. Brackets
f14361c3b8
Add a bunch more missing cstring includes.
2013-12-30 21:37:19 -08:00
Henrik Rydgård
e5e17fbc6e
More include cleanup. Hoping for very slightly faster compile times..
2013-12-30 10:49:05 +01:00
Henrik Rydgård
00c32ddadb
Mostly get rid of including "Globals.h"
2013-12-30 10:17:11 +01:00
Henrik Rydgård
be74da8f3c
More include cleanup, hopefully buildfix Symbian
2013-12-30 00:23:04 +01:00
Henrik Rydgård
ce378b231f
Delete CPU.cpp/h , cleanup
2013-12-30 00:11:29 +01:00
Henrik Rydgård
79ff2f0ba8
Start untangling our include mess a little.
2013-12-29 23:34:45 +01:00
Unknown W. Brackets
e6b2d00a2f
Avoid reseved identifiers like _SP, etc.
...
R_SP is not that bad.
2013-12-29 14:25:34 -08:00
Henrik Rydgård
1741fa54a7
Merge pull request #4919 from unknownbrackets/load-module
...
Implement sceKernelLoadModuleBufferUsbWlan()
2013-12-27 02:24:51 -08:00
Unknown W. Brackets
bde1d14f25
Update hashmap before deciding to abort.
...
Otherwise, if you delete it, it can never generate one.
2013-12-27 00:29:37 -08:00
Henrik Rydgard
215a269b34
Optimize dl_write_matrix just because. not expecting a big speedup...
2013-12-21 12:39:34 +01:00
Henrik Rydgard
455a73bba7
Bugfix replace function inlining (compilerPC needs to be increased). Misc.
2013-12-20 15:37:37 +01:00
Henrik Rydgard
a53a032120
Prevent hashes from coming out differently after replacement.
2013-12-20 13:53:03 +01:00
Henrik Rydgård
28a518bfa7
Reformat JitBlockCache
2013-12-19 13:34:06 +01:00
Henrik Rydgård
2eb1f89ad0
Rework proxy blocks a bit
2013-12-19 13:31:13 +01:00
Henrik Rydgård
3957b5fb42
Call ProxyBlock in ArmJit too. Plus various cleanup and one more string function.
2013-12-19 11:45:39 +01:00
Unknown W. Brackets
9bb03072e6
Increase the min size of an "interesting" func.
...
Seeing a bunch of forwarders and stuff that won't hash safely.
2013-12-18 23:58:45 -08:00
Unknown W. Brackets
438361d0bc
Clean up code pointer naming for the jit.
...
Now it properly identifies thunk code which is actually a decent percent
when fastmem is off at least.
2013-12-18 23:57:39 -08:00
Henrik Rydgard
1cb7965cb1
Jit feature preparation: Introduce "proxy blocks".
...
When these are invalidated, the block they point to gets invalidated too.
Will be useful to implement various types of block merging and function inlining
without affecting correctness of cache clears etc.
Also, with this commit we can now fully inline replaced functions. fabsf() boils
down to 1-2 instructions and the block continues, for example.
2013-12-19 00:39:49 +01:00
Henrik Rydgard
1e300447e1
Fix some replace-related bugs. Add "jal" replace inlining, not activated.
2013-12-18 16:27:23 +01:00
Henrik Rydgard
2d4c28826a
Show replaced instructions correctly in disassembly
2013-12-18 11:42:19 +01:00
Henrik Rydgard
6937719c3b
Minor fixes around function replacement, a couple of math funcs
2013-12-18 10:35:50 +01:00
Henrik Rydgard
1d2f1efd06
Fix function replacement on ARM
2013-12-18 00:09:08 +01:00
Henrik Rydgard
2eab4aa1bf
Play around with function replacement. Turned off by default of course.
2013-12-17 23:40:27 +01:00
Henrik Rydgard
ca9efb1619
Linux build fix
2013-12-17 12:41:45 +01:00