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

相关推荐
Sylvia-girl12 小时前
线程的死锁【了解】
java·开发语言·jvm
时艰.13 小时前
JVM — Java 类加载机制
java·开发语言·jvm
蜂蜜黄油呀土豆18 小时前
深入理解 Java 虚拟机内存模型
jvm·常量池·内存模型·堆栈
CTO Plus技术服务中18 小时前
2026版Java web高并发面试题和参考答案
java·jvm·spring·spring cloud·面试·tomcat·java-consul
小北方城市网19 小时前
Spring Cloud Gateway 自定义过滤器深度实战:业务埋点、参数校验与响应改写
运维·jvm·数据库·spring boot·后端·mysql
弹简特19 小时前
【Java-阔怕的JVM】JVM
java·开发语言·jvm
马猴烧酒.20 小时前
智能协图云图库学习笔记day5
java·jvm·spring boot·笔记·学习·mvc
余瑜鱼鱼鱼1 天前
线程和进程的区别和联系
java·开发语言·jvm
CC.GG2 天前
【C++】异常
java·jvm·c++
尽兴-2 天前
JVM Class文件结构与字节码深度解析
jvm·常量池·字节码指令·字节码文件·.class