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

相关推荐
tongluowan0078 小时前
jvm垃圾回收器 - CMS-已弃用的垃圾回收器
jvm·cms·垃圾回收器
light blue bird16 小时前
主子表单控件图表带拖拽式控件工序管理组件
开发语言·jvm·信息可视化·桌面端winform
QWQ___qwq20 小时前
Text2SQL 完整流程模拟详细笔记
jvm·笔记·oracle
light blue bird20 小时前
可更新组装工序资源图表功能组件
开发语言·前端·jvm·.net·状态模式
light blue bird20 小时前
组装工序资源功能工序路径菜单组件
jvm·数据库·winform·gdi+界面·多节点端
菜鸟是大神21 小时前
JDK21-Windows安装
java·jvm·windows
Lei活在当下1 天前
先用起来,再理解,关于协程Coroutine应该知道的事
android·java·jvm
KobeSacre2 天前
JVM 总结
jvm
墨雪不会编程2 天前
C++ 进阶:虚函数与多态原理
java·jvm·c++
顺风尿一寸2 天前
从 FileOutputStream.write(byte) 到磁盘扇区:一次 Java 写入操作的完整内核穿越之旅
jvm