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

相关推荐
张张努力变强5 小时前
C++类和对象(一):inline函数、nullptr、类的定义深度解析
开发语言·前端·jvm·数据结构·c++·算法
韩师学子--小倪5 小时前
JVM SafePoint
jvm
BUTCHER59 小时前
Java 启动服务时指定JVM(Java 虚拟机)的参数配置说明
java·开发语言·jvm
青槿吖10 小时前
Java 集合操作:HashSet、LinkedHashSet 和 TreeSet
java·开发语言·jvm
情缘晓梦.10 小时前
C++ 类和对象(完)
开发语言·jvm·c++
期待のcode12 小时前
垃圾回收的停顿
java·开发语言·jvm
阿崽meitoufa13 小时前
JVM虚拟机:HotSpot虚拟机对象
jvm
运维行者_14 小时前
Applications Manager 引入持续剖析技术,突破传统 APM 监控瓶颈
java·运维·网络·jvm·数据库·安全·web安全
invicinble1 天前
从逻辑层面理解Shiro在JVM中是如何工作的
jvm·spring boot
焦糖玛奇朵婷1 天前
盲盒小程序:开发视角下的功能与体验
java·大数据·jvm·算法·小程序