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
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
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