Commit Graph

226 Commits

Author SHA1 Message Date
Henrik Rydgard
a53a032120 Prevent hashes from coming out differently after replacement. 2013-12-20 13:53:03 +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
Henrik Rydgard
6937719c3b Minor fixes around function replacement, a couple of math funcs 2013-12-18 10:35:50 +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
2140892074 Initial preparations for ability to replace game functions with custom implementations.
Also auto-saves hashmap additions and reapplies the hashmap on function
rename so that if you rename a function that exists in several copies
they will all be labelled.

Note that actual function replacement is not activated yet.
2013-12-17 12:27:20 +01:00
Unknown W. Brackets
b74c62b6a6 Switch to a 64-bit function hash. 2013-12-14 14:56:04 -08:00
Unknown W. Brackets
0636a65ad9 Use ReadEntireFile() a few more places.
This fixes one or two minor memory leaks.
2013-12-08 12:02:37 -08:00
Unknown W. Brackets
f4890288ce Oops, fix a bad sort for the hashmap.
Fixes assertion warnings.  Thanks @Kingcom.
2013-12-06 21:19:05 -08:00
Unknown W. Brackets
2ec73a65ed Use a common func to generate default func names. 2013-12-06 00:17:20 -08:00
Unknown W. Brackets
735968ba9b Add a setting to maintain a global func hash map.
This makes it easier to deal with functions that have a common
implementation between multiple games, e.g. libc funcs.
2013-12-06 00:11:49 -08:00
Unknown W. Brackets
505f509503 Detect tail call when scanning functions. 2013-12-01 22:08:39 -08:00
Unknown W. Brackets
1bccfa4141 Look for downward jumps for elses when scanning.
Otherwise, we often end the function earlier than it should be.
2013-12-01 21:28:09 -08:00
Unknown W. Brackets
43be44947f Correctly reuse symbol map entries when scanning.
Before we created one huge function in place of the old.
2013-12-01 20:25:51 -08:00
Unknown W. Brackets
b2971314b8 Fix hash detection of branches to jr ra.
This makes it more correctly identify functions.
2013-12-01 20:23:16 -08:00
Kingcom
5844d0107b Rewrite SymbolTable 2013-11-27 13:33:30 +01:00
Kingcom
a277706489 Workaround for symbols defined in .sym files 2013-11-16 10:53:47 +01:00
Kingcom
aae08173f1 Extend follow functionality of disassembly 2013-11-05 21:20:21 +01:00
Kingcom
95b466fc4f Fix step over for jalr 2013-11-03 10:58:31 +01:00
Kingcom
eeb86fc105 Fix step over handling of fpu branches 2013-11-03 09:54:58 +01:00
Henrik Rydgård
07c818251c Some formatting cleanup.
Yeah, I said we shouldn't do big overhauls..
2013-10-18 14:39:04 +02:00
adrian17
7e3f35dfe3 Removed redundant includes 2013-09-30 19:05:04 +02:00
Unknown W. Brackets
efe92666fb Allow more cases in IsDelaySlotNiceVFPU(). 2013-09-05 23:24:31 -07:00
Unknown W. Brackets
9a048e9cf6 Don't assume GPRs can't be used with vfpu. 2013-09-05 23:12:14 -07:00
Unknown W. Brackets
8ccd3773d9 Open files using wide functions on win32.
Fixes #3432.
2013-08-27 00:28:46 -07:00
Unknown W. Brackets
97aa1a631e Improve typesafety in the x86 regalloc. 2013-08-24 19:41:10 -07:00