首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dup和dup_x2的区别

dup和dup_x2的区别
EN

Stack Overflow用户
提问于 2013-06-30 17:08:37
回答 1查看 1.1K关注 0票数 3

我目前正在使用一些Java字节码。我读到过两个操作码:dupdup2。如果我理解正确的话,那么它们之间唯一的区别是,第一个只复制一个堆栈字,而第二个复制成对的堆栈字。这很好,但是它们每个都有自己的子操作码(dup_x1dup2_x2...)。

例如,当我查看dup_x2dup2_x1的函数时,它们似乎做了同样的事情:按顺序复制前三个值(因此,从值val4, val3, val2, val1开始就是val4, val3, val2, val1, val3, val2, val1)。我很困惑,因为没有理由为同一操作定义两个操作码。

那么这些操作码是用来做什么的?他们的行动有什么官方的参考吗?请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-30 17:47:58

他们的行动有什么官方的参考吗?

当然有!它是JVM规范--特别是section 6.5

我不会把它复制到这里。点击链接,自己阅读全部内容。但其基本思想是,dup_x1dup_x2变体将重复的值/值插入堆栈的下部。

我很困惑,因为没有理由为同一操作定义两个操作码。

仔细看看(在说明书上)。他们不是在做同样的事情。

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

https://stackoverflow.com/questions/17388824

复制
相关文章

相似问题

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