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

相关推荐
小白的一叶扁舟7 小时前
深入剖析 JVM 内存模型
java·jvm·spring boot·架构
小池先生8 小时前
jvm_threads_live_threads 和 jvm_threads_states_threads 这两个指标之间存在一定的关系,但它们关注的维度不同
jvm
{⌐■_■}14 小时前
【GORM】事务,嵌套事务,保存点事务的使用,简单电商平台go案例
开发语言·jvm·后端·mysql·golang
Chancezhou16 小时前
【JVM】总结篇之GC性能优化案例
jvm·性能优化
Rverdoser17 小时前
多级缓存 JVM进程缓存
jvm·缓存
蚂蚁质量1 天前
什么是 Java 虚拟机(JVM)?
java·开发语言·jvm
日拱一卒无有尽, 功不唐捐终入海1 天前
Mybatis乐观锁使用
java·开发语言·jvm·mybatis
做一个有信仰de人2 天前
【面试题】JVM部分[2025/1/13 ~ 2025/1/19]
java·jvm·面试
林汐的学习笔记2 天前
性能调优篇 四、JVM运行时参数
jvm
robin_suli2 天前
Java虚拟机相关八股一>jvm分区,类加载(双亲委派模型),GC
java·jvm·八股文