Commit Graph

11843 Commits

Author SHA1 Message Date
Adam
5e4458ae6e Instead execute static functions inline as if they arent there to build the graph. Involved changing the executor to execute new frames as they appear. Can match my simple test method. 2015-11-15 20:46:23 -05:00
Adam
c71c67fae3 The graphs of these frames are always the same 2015-11-15 19:49:42 -05:00
Adam
52ca2cb24e whitespace 2015-11-15 18:39:59 -05:00
Adam
83a51ea037 Remove block graph and jump inliner which wasn't used. The loading time for the block graph (because of the way exceptions were looked up) was too slow. 2015-11-15 18:39:05 -05:00
Adam
9a68e863bd Begin per-method executions in rename to use less memory. Runs still with 336. 2015-11-15 13:55:25 -05:00
Adam
44767a9735 Add flag for graph building, which uses too much memory. 2015-11-15 11:59:08 -05:00
Adam
7b94552825 Initialize methods after loading classgroup too, I dont know if other things are broken elsewhere. Making the method graphs work makes many more frames. Might be worth processing methods one at a time and then doing the comparisons. And maybe elsewhere that doesn't need the graph will not include all frames, or something. 2015-11-15 00:00:27 -05:00
Adam
7e5b99fe4f This clone stuff is causing me headaches. 2015-11-14 23:14:41 -05:00
Adam
66084e1398 Lookup methods and return those in getMethods(). Lookup stuff in execution next to the classgraph building. 2015-11-14 22:07:44 -05:00
Adam
337e98fb95 Include prev invokes for deciding if weve jumped before, fixes the graph jump test 2015-11-14 20:33:38 -05:00
Adam
a867b7af9d Index 7 appears to be models. Am able to view them in rsmv. 2015-11-13 21:25:29 -05:00
Adam
10a613a601 NPC dumping. Weird tool leprechaun is id 0? This might be wrong. 2015-11-13 18:52:51 -05:00
Adam
0bce4dcbde . 2015-11-13 18:23:31 -05:00
Adam
0ae993e8fa Item def dumper 2015-11-13 18:23:17 -05:00
Adam
e30b69d190 More cleanup. Also dump more than one image if more than one exists. 2015-11-13 16:55:28 -05:00
Adam
abb7d699b7 Little bit of rewriting 2015-11-12 20:01:33 -05:00
Adam
1a8e11b7f9 Test exports png files ok, need to clean this up as it is mostly ripped from os cache suite 2015-11-12 19:01:48 -05:00
Adam
a312edd581 Beginning of work on sprite loading/exporting 2015-11-12 18:50:38 -05:00
Adam
3c5fcc018f Add basic failing graph test 2015-11-11 20:22:46 -05:00
Adam
be1b8f1e98 various fixes to graph building. I think there is a problem with how the execution runs, where it is not exploring all paths, because I have v13 class133.method2817 -> v14 class133 method2828 and there is no edge on the rhs for method4060->method4081. I think it is from two branches jumping to a place which jumps to the same place after, with invoke instructions on both sides. 2015-11-11 14:49:12 -05:00
Adam
4ae0c954cd Add integrity checks to methodinliner 2015-11-11 10:47:28 -05:00
Adam
be1d5ed010 Instruction clone wasnt creating new jump lists... 2015-11-10 20:39:17 -05:00
Adam
782fa9f70a switch instructions can jump multiple times to the same place 2015-11-10 10:27:05 -05:00
Adam
3edf7e2f4c Trying to run the better inliner so the graph matches up. Maybe instead figure out a way to passively ignored the static func calls. Regardless this assert fails due to a corrupted jump graph. 2015-11-09 21:18:21 -05:00
Adam
60d4cd94fd This does 326 methods. 2015-11-09 19:58:15 -05:00
Adam
e1ce955f6e doesn't work. graph stuff doesnt like ids of 0. and i need to reuse ids sometimes for some instructions, oops. 2015-11-08 21:02:36 -05:00
Adam
6ce5564e9f Move stuff to functions 2015-11-07 22:40:51 -05:00
Adam
cb639749e1 Little cleanup of old stuff I was trying 2015-11-07 22:27:15 -05:00
Adam
25cb9b5f8b This looks promising 2015-11-07 21:55:03 -05:00
Adam
ae82aad250 Make method inliner copy instead of move ins. I don't think the way it inlined exceptions before was correct. I had to make it not inline funcs with exception handlers 2015-11-06 17:49:24 -05:00
Adam
84fa11c8c8 I think i need exprs 2015-11-06 10:33:52 -05:00
Adam
8df59fb261 Fix test, fail in dup2_x1 2015-11-02 17:56:25 -05:00
Adam
483bdbc165 Add failing test, I think this should be passing 2015-11-01 19:07:13 -05:00
Adam
5e652a8799 Tests pass again. I see some cases of longs math not simplifying tho 2015-11-01 18:26:28 -05:00
Adam
695f7de686 Various Long work. this is making the int tests fail though 2015-11-01 17:47:49 -05:00
Adam
113363cd67 more work 2015-10-30 22:36:29 -04:00
Adam
8e68963f65 long work 2015-10-30 20:28:10 -04:00
Adam
1f716bf10d Small fix found by test, not sure if it breaks the larger picture 2015-10-25 20:08:57 -04:00
Adam
018a3619a8 Call constructor so executor picks it up 2015-10-25 19:28:27 -04:00
Adam
85a4587143 Comment cleanup 2015-10-25 19:28:12 -04:00
Adam
9cf9c31f2d This doesn't pass if this field isn't static 2015-10-25 19:20:17 -04:00
Adam
e81e46c68c First modarith test 2015-10-25 19:11:25 -04:00
Adam
8e39328eca Cleanup to prepare for tests 2015-10-25 14:19:48 -04:00
Adam
d7026aed78 recomment 2015-10-25 14:11:01 -04:00
Adam
e03d638c2e I guess this is right? 2015-10-25 13:16:27 -04:00
Adam
5094943453 This works. Except for final fields, which I can evaluate later. 2015-10-23 15:46:03 -04:00
Adam
f21cbba8b5 Fix test 2015-10-23 12:27:44 -04:00
Adam
d4f40eaf03 Trying to fine tune stuff, found a *1 not removed which is messing with some stuff, added test 2015-10-23 12:04:23 -04:00
Adam
85c49413dd guess more 2015-10-23 11:00:47 -04:00
Adam
bfb3a373c9 idk what im using, use multiplication expr to determine if another field is in the mix 2015-10-22 21:50:51 -04:00