Commit Graph

11229 Commits

Author SHA1 Message Date
Adam
5561478ec8 Also direct assignment 2015-08-23 18:35:45 -04:00
Adam
7ac2b0e977 Working on doing arith deob during exec 2015-08-23 18:22:51 -04:00
Adam
32cbb0f805 Merge branch 'master' into master+arith
Conflicts:
	src/main/java/net/runelite/deob/attributes/code/instructions/GetStatic.java
2015-08-23 12:55:31 -04:00
Adam
9878fb59b3 Remove beginning of original instruction graph, don't need it 2015-08-23 12:49:21 -04:00
Adam
0a8d233083 arith v2 2015-08-23 12:40:12 -04:00
Adam
4d4dd9715e Allow inlining methods with exceptions 2015-08-22 22:53:03 -04:00
Adam
0bfc3e3c38 Blah whitespace 2015-08-22 17:56:08 -04:00
Adam
e478a4b1f9 Store stack context with variable context, and pass up stack contexts when invoking methods. I don't think iirc is right? 2015-08-22 17:54:39 -04:00
Adam
8ff2f4776a Only onsider non static methods in fieldmover, note why fieldmover is broken 2015-08-22 14:58:21 -04:00
Adam
8e487a3567 Merge branch 'master' into master+fieldmove 2015-08-22 12:19:22 -04:00
Adam
1853bb1be1 Field moving works 2015-08-22 12:18:24 -04:00
Adam
35d8a98365 hm this assert fails 2015-08-19 21:23:00 -04:00
Adam
7fb5f3e721 work on moving static initializers 2015-08-17 20:18:34 -04:00
Adam
88fc561188 Fix rename unique fields 2015-08-17 17:01:03 -04:00
Adam
5839452b3b requires some work to move static field initializers 2015-08-16 21:15:51 -04:00
Adam
5059f8cc75 Fix not removing ctors, unused class deob. Can't yet move static fields to client until I can move clinit 2015-08-16 19:08:22 -04:00
Adam
4f11ca9f36 Rename info.sigterm -> net.runelite 2015-08-16 15:17:58 -04:00
Adam
1c8f2dbc27 Inline static constant string fields 2015-08-15 17:05:54 -04:00
Adam
8a7e1d1f97 Field mover 2015-08-15 14:54:48 -04:00
Adam
fc3c0a258f Finish methodmover 2015-08-15 12:49:00 -04:00
Adam
f91f6f5918 Small fixes 2015-08-15 00:03:00 -04:00
Adam
09c4b108dd Fix inliner 2015-08-14 15:01:11 -04:00
Adam
f3bdcf954e Bail out if const param detects a lvt store 2015-08-14 14:00:27 -04:00
Adam
2eeda597dc Compare more than just the pops, but the entire stack, and compare
the instructions not the contexts
2015-08-13 18:22:53 -04:00
Adam
9b4230154c Use instruction ctx to see if a jump has already happened. Not sure if it works but it runs. 2015-08-12 18:01:12 -04:00
Adam
f8fe552287 invokespecial shouldn't find deep for the method being invoked 2015-08-09 20:50:06 -04:00
Adam
399e5d8f8a cleanup athrow 2015-08-09 17:22:53 -04:00
Adam
0e626afd0a jump to exception handlers more reliably. fix finaliers 2015-08-09 17:22:00 -04:00
Adam
1090dfee7e fix lt comparison 2015-08-09 13:06:42 -04:00
Adam
b9410f76a5 remove unused blocks 2015-08-09 12:11:17 -04:00
Adam
ba1ff95628 Trying to make this work live, constant param deob is breaking stuff 2015-08-09 12:10:58 -04:00
Adam
7c336948fc Rebuild jump graph in inliner 2015-08-08 21:51:15 -04:00
Adam
da0b7403b4 Try and replace unused blocks with unreached code, seeing some problems somewhere 2015-08-08 20:45:16 -04:00
Adam
12318efcaf untested, inline functions with args/return values 2015-08-08 14:27:02 -04:00
Adam
2e7e2d31d4 Inline static void methods with no arguments 2015-08-08 11:06:41 -04:00
Adam
d09eb21a0d Some initial work on inlining 2015-08-08 00:37:12 -04:00
Adam
42e4223e83 make illegal state exception less strict 2015-08-07 20:46:47 -04:00
Adam
95368f61a8 Fix constant parameter corrupting instructions. Make unused blocks faster. 2015-08-06 18:59:23 -04:00
Adam
ba4f23ffbd per method,lvt deadops, but this appears to produce broken code? 2015-08-05 17:03:49 -04:00
Adam
9c3b0b4754 Fix identifying vmethods incorrectly if two classes can be reached in the classgraph with two methods that have the same name and signature but are otherwise unrelated 2015-08-04 20:40:20 -04:00
Adam
b4a316b811 cleanup 2015-08-03 16:47:10 -04:00
Adam
57b9a45871 appears to work 2015-08-02 21:46:24 -04:00
Adam
1ac0cef696 these const push instructions are also push instructions. need to fix jumps to the logically dead conditionals. 2015-08-02 11:50:20 -04:00
Adam
516fa7805f I dont know if this works or is correct but it runs? 2015-08-01 21:35:02 -04:00
Adam
7ce6cca104 this doesn't work at all but looks bette 2015-07-31 23:48:35 -04:00
Adam
7b4de7d8db I dont like this 2015-07-31 12:47:40 -04:00
Adam
a7902d53e9 idr 2015-07-30 20:45:28 -04:00
Adam
5478fc7385 Start of constant parameter stuff 2015-07-30 16:39:48 -04:00
Adam
f27e410f5b Fix rename unique, renaming fields depends on classgraph for searching deep for fields 2015-07-28 16:48:03 -04:00
Adam
369a93be7b Rename unique first 2015-07-27 20:12:56 -04:00