首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该如何解释JVM指令集文档中的“操作数栈”?

我应该如何解释JVM指令集文档中的“操作数栈”?
EN

Stack Overflow用户
提问于 2021-07-02 00:45:50
回答 2查看 66关注 0票数 2

我正在读6. The Java Virtual Machine Instruction Set

当我阅读下面摘录中的“操作数栈”时,我不确定如何解释这一部分。尤其是箭头,是指栈内和栈外吗?

代码语言:javascript
复制
mnemonic
Operation
    Short description of the instruction

Format

    mnemonic
    operand1
    operand2
    ...
Forms
    mnemonic = opcode

Operand Stack
    ..., value1, value2 →

    ..., value3

Description
    A longer description detailing constraints on operand stack contents or constant pool entries, the operation performed, the type of the results, etc.
EN

回答 2

Stack Overflow用户

发布于 2021-07-02 00:49:50

我猜这在“注释”一节中有解释:

在Java虚拟机指令的描述中,指令执行对当前帧(§2.6)的操作数堆栈(§2.6.2)的影响以文本方式表示,堆栈从左向右增长,每个值分别表示。因此,...,value1,value2 result ...,→显示了一个操作,该操作首先将value1放在操作数堆栈的顶部,然后将其放在下面。

票数 1
EN

Stack Overflow用户

发布于 2021-07-02 00:50:22

它在顶部有解释

在对Java虚拟机指令的描述中,指令的执行对当前帧(§2.6)的操作数堆栈(§2.6.2)的影响是文本表示的,堆栈从左到右增长,每个值分别表示。因此,

...,value1,value2→...,结果

显示了一个操作,该操作首先将value2放在操作数堆栈的顶部,然后将value1放在它的下面。作为指令执行的结果,value1和value2从操作数堆栈中弹出,并替换为已由指令计算的结果值。由省略号(...)表示的操作数堆栈的其余部分不受指令执行的影响。

long和double类型的值由操作数堆栈上的单个条目表示。

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

https://stackoverflow.com/questions/68214038

复制
相关文章

相似问题

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