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中。就比如下边的例子

相关推荐
关于不上作者榜就原神启动那件事1 小时前
@Transactional事务失效总结
java·开发语言·jvm
@土豆3 小时前
Java JVM参数环境变量详解及SkyWalking Agent集成技术文档
java·jvm·skywalking
她说..4 小时前
排查接口响应慢问题
java·jvm·spring boot·spring cloud·java-ee
Rick19934 小时前
JVM 调优经验
jvm
星梦清河4 小时前
JVM知识点—总结篇
jvm
Engineer邓祥浩5 小时前
JVM学习问题记录(2) jps命令无法识别
jvm·学习
woai33646 小时前
学习JVM-基础篇-Java虚拟机栈&本地方法栈
java·jvm·学习
小陈工6 小时前
Python Web开发入门(三):配置文件管理与环境变量最佳实践
开发语言·jvm·数据库·python·oracle·性能优化·开源
好大哥呀15 小时前
C++ 多态
java·jvm·c++
Sunshine for you21 小时前
使用Flask快速搭建轻量级Web应用
jvm·数据库·python