首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >几种方法的ASM跳码

几种方法的ASM跳码
EN

Stack Overflow用户
提问于 2015-05-19 15:24:52
回答 1查看 298关注 0票数 0

有没有一种方法可以告诉ASM我不想对特定的方法使用SKIP_CODE选项?例如,如果我有这样一个非常大的类:

代码语言:javascript
复制
public class Large
{
    public void doManyThings() { /* ... */ }

    public void methodWithLongBytecode() { /* ... */ }

    public @inline void inlinableMethod() { /* ... */ }
}

我的编译器花了很多时间在代码不需要的方法上,因为它们无论如何都不能内联。但是,我仍然希望能够读取inlineableMethod,以便编译器可以将它的字节码内联到调用者中。是否有一种方法在使用SKIP_CODE ASM5.0.3读取类时暂时“禁用”标志

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-19 20:50:41

很遗憾,我不会。如果查看ClassReader,可以看到SKIP_CODE属性只解释一次,然后存储在局部变量中。因此,即使通过反射地更改标志,也可以跳过所有方法或不跳过所有方法。但是,通过从null返回visitMethod,您可以指示不要完全解释方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30329827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档