【发布时间】:2018-11-07 23:34:35
【问题描述】:
是否可以在SootClass 上运行 JOP 优化器?我想优化我通过 Java API 使用 Jimple 语句手动生成的类。据我了解,优化器仅在解析时运行,因此并非每次都在操纵 Jimple 主体后运行。是否可以从 Java 中手动重新运行此优化?
【问题讨论】:
是否可以在SootClass 上运行 JOP 优化器?我想优化我通过 Java API 使用 Jimple 语句手动生成的类。据我了解,优化器仅在解析时运行,因此并非每次都在操纵 Jimple 主体后运行。是否可以从 Java 中手动重新运行此优化?
【问题讨论】:
经过一番搜索,我找到了正确的函数调用!
PhaseOptions.v().setPhaseOption("jop", "enabled:true")
PackManager.v().getPack("jop").apply(jimpleBody)
在您要优化的类的每个方法体上运行此程序(将 jimpleBody 替换为该方法体),它将在 Jimple 代码上运行 JOP 优化器。
【讨论】: