Henrik Rydgård
ce378b231f
Delete CPU.cpp/h , cleanup
2013-12-30 00:11:29 +01: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
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
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
Unknown W. Brackets
52d6080fb4
Pass in some analysis results, don't use yet.
2013-08-24 15:36:24 -07:00
Unknown W. Brackets
109ad17ac6
Use a typesafe struct for opcodes.
...
Also, correctly read delayslots using Read_Instruction on ARM.
2013-08-24 15:36:24 -07:00
Unknown W. Brackets
4495559b75
Clean up register usage analysis a bit.
2013-08-24 15:36:23 -07:00
Unknown W. Brackets
b37f09cedf
Make MIPSInfo a struct for typesafety.
...
Found a bug in ReadsFromReg().
2013-08-24 13:22:10 -07:00
Unknown W. Brackets
1ed8edb0d3
Avoid some dangerous hex constant widths.
2013-08-22 23:23:48 -07:00
Unknown W. Brackets
49ab98c7fd
Use atomic operations on Android + warning fixes.
2013-08-12 08:51:49 -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
152f28aeac
Clean up the immediate MIPS table, mostly flags.
2013-08-11 18:01:48 -07:00
Unknown W. Brackets
4ebf355ece
Simplify some MIPS table flags.
2013-08-11 17:02:00 -07:00
Henrik Rydgard
e93c2abe27
x86 jit: implement vfim. Move some stuff to native. cleanup for armjit logging
2013-07-30 22:28:05 +02:00
Kingcom
723f242f0c
Rerwrote GetOpcodeInfo and adapted MipsTables for it
2013-07-30 11:29:30 +02:00
Kingcom
32f1ca91fd
-add function to get relevant opcode information for the disassembly
...
-put it to use to clean up code
2013-07-30 10:14:56 +02:00
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
1beb19f827
Clear the debug symbol map on shutdown.
...
Instead of polluting the next game.
2013-05-26 16:29:21 -07:00
Unknown W. Brackets
44e20fb213
Correctly detect bltzal as func calls in debug.
2013-05-26 16:24:58 -07:00
Unknown W. Brackets
fcfcadaef2
Fix potential crash looking up block_num.
2013-04-28 20:59:13 -07:00
niepodam
94c2f0cd9d
Fix build with gcc 4.8.0
2013-04-04 19:16:15 +02:00
Unknown W. Brackets
51d5b84108
Fix some misc HLE warnings.
2013-02-18 09:04:43 -08:00
Unknown W. Brackets
2748437032
Add support for FPU and VFPU for nice delay slots.
2013-01-24 20:18:18 -08:00
Unknown W. Brackets
f7ebddc4a3
Whitelist common delay slot ops with outreg info.
2013-01-24 19:59:33 -08:00
Unknown W. Brackets
75cbe18afc
Simplify nice delay slot detect, and yes for noop.
...
NOOP seems very common so this should already benefit speed a bit.
2013-01-24 08:29:32 -08:00
Unknown W. Brackets
3444fc8981
Avoid some memory writes on jr.
...
Should improve tight mips function loops a bit.
2013-01-24 01:23:50 -08:00