jvm方法返回相关指令ireturn,areturn,return等分析

正文

看图:

做的事情如下:

复制代码
1:弹出当前的方法栈帧
2:获取上一个方法
3:从当前方法的操作数栈中获取执行结果,并推送到上一个方法的操作数栈中

对应的伪代码:

java 复制代码
@Override
public void execute(Frame frame) {
    Thread thread = frame.thread();
    Frame currentFrame = thread.popFrame();
    Frame invokerFrame = thread.topFrame();
    long val = currentFrame.operandStack().popLong();
    invokerFrame.operandStack().pushLong(val);
}

这样执行之后,上一个方法就可以通过store指令,将方法执行的结果存储到自己的局部变量表对应的slot中。就比如下边的例子 :

相关推荐
用户094248568038 小时前
第38章:从零构建JVM稳定性平台最小闭环
java·jvm
Java成神之路-12 小时前
深入理解 G1 Mixed GC:触发条件、完整流程与高频误区
jvm·g1垃圾回收算法
认真的小羽❅13 小时前
ThreadLocal 在虚拟线程间要小心
java·开发语言·jvm
今天的砖头有点烫手啊14 小时前
Java 8 Stream 原理拆解:惰性求值与并行流陷阱
java·jvm
用户0942485680315 小时前
第37章:JVM极端场景调优与生产故障复盘方法论
java·jvm
南极企鹅16 小时前
生产环境gc文件分析
java·jvm·算法
欣栀♡1 天前
JVM 频繁 Full GC 先看日志括号里的 cause,jstat 的 FGC 在 JDK 8 上会骗人
java·jvm
czt_java1 天前
JVM 核心基础|运行时数据区、类加载机制、GC 分代回收
jvm
Web极客码1 天前
Python Ollama 本地 Agent 入门与订单查询实践
开发语言·jvm·python
y = xⁿ1 天前
一文掌握JVM
jvm