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

相关推荐
HwJack2014 小时前
Flask+SQLite简易后端数据存储实现原理
jvm·sqlite·flask
Dicky-_-zhang14 小时前
Redis集群模式详解与实战配置
java·jvm
Kiling_070415 小时前
面向对象和集合编程题 ( 一 )
jvm·windows
上弦月-编程15 小时前
Java类与对象:编程核心解密
java·开发语言·jvm
Dicky-_-zhang15 小时前
线上故障排查与应急响应实战:从零开始建立你的SRE体系
java·jvm
大大杰哥15 小时前
从 Volatile 到 ThreadLocal:Java 线程安全机制备忘
java·开发语言·jvm
AI人工智能+电脑小能手15 小时前
【大白话说Java面试题 第67题】【JVM篇】第27题:生产环境服务器变慢,诊断思路和性能评估谈谈?
java·服务器·jvm·面试
Dicky-_-zhang16 小时前
服务网格Istio mTLS配置实战
java·jvm
Dicky-_-zhang16 小时前
服务网格实战:Istio与Linkerd对比选型与落地实践
java·jvm
存在的五月雨16 小时前
JVM 入门学习笔记(内存模型 / GC / 类加载机制)
jvm·笔记·学习