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

相关推荐
稚辉君.MCA_P8_Java21 小时前
DeepSeek Java 多线程打印的19种实现方法
java·linux·jvm·后端·架构
g***78911 天前
Java语法进阶
java·开发语言·jvm
聊天QQ:276998851 天前
基于MPC模型预测控制的空调加热器温度调节系统研究:融合Kalman滤波的优化算法与实现
jvm
多多*1 天前
Threadlocal深度解析 为什么key是弱引用 value是强引用
java·开发语言·网络·jvm·网络协议·tcp/ip·mybatis
2501_941801761 天前
Java高性能数据库操作实战:异步任务与多线程结合代码解析
jvm
用户84913717547161 天前
Tomcat 为什么要“造反”?深度解析 Java 类加载机制的“守”与“破”
java·jvm
杀死那个蝈坦1 天前
UV 统计(独立访客统计)
java·jvm·spring·kafka·tomcat·maven
野生技术架构师1 天前
Java 经典面试题汇总:多线程 +spring+JVM 调优 + 分布式 +redis+ 算法
java·jvm·spring
酷ku的森1 天前
JVM内存结构
jvm
他们都不看好你,偏偏你最不争气1 天前
【iOS】数据持久化
jvm·数据库·macos·ios·oracle·objective-c·cocoa