在类上运行Soot Jimple Optimizer

时间:2018-11-07 11:24:23

标签: java soot

是否可以在SootClass上运行JOP优化器?我想优化通过Java API使用Jimple语句手动生成的类。据我了解,优化器仅在解析时运行,因此并非在操纵Jimple主体之后的所有时间。是否可以从Java内部手动重新运行此优化?

1 个答案:

答案 0 :(得分:1)

经过一番搜索,我找到了正确的函数调用!

PhaseOptions.v().setPhaseOption("jop", "enabled:true")
PackManager.v().getPack("jop").apply(jimpleBody)

在要优化的类的每个方法主体上运行此方法(将jimpleBody替换为该方法主体),它将在Jimple代码上运行JOP优化器。