堆栈帧如何将值从当前帧传递到旧帧(JVM)?

堆栈帧如何将值从当前帧传递到旧帧(JVM)?,jvm,stack,frame,operand,Jvm,Stack,Frame,Operand,情景: Java使用堆栈执行带有指令的方法。有一个methodA包含methodB,当调用methodA时,当前线程的堆栈将为methodA创建一个新的堆栈帧,当遇到methodB时,它仍然对methodB执行相同的操作,我知道每个帧包含局部变量表和操作数堆栈,我可以检查methodB是否使用局部变量表从methodA获取值,但是methodA如何获取methodB的返回值(执行结果)?我没有从Java文档中找到它。方法B的返回值被推送到方法A的操作数堆栈中 (我的重点): 在这种情况下,当前帧

情景:
Java使用堆栈执行带有指令的方法。有一个methodA包含methodB,当调用methodA时,当前线程的堆栈将为methodA创建一个新的堆栈帧,当遇到methodB时,它仍然对methodB执行相同的操作,我知道每个帧包含局部变量表和操作数堆栈,我可以检查methodB是否使用局部变量表从methodA获取值,但是methodA如何获取methodB的返回值(执行结果)?我没有从Java文档中找到它。

方法B的返回值被推送到方法A的操作数堆栈中

(我的重点):

在这种情况下,当前帧(§2.6)用于恢复调用程序的状态,包括其局部变量和操作数堆栈,调用程序的程序计数器适当递增,以跳过方法调用指令。然后在调用方法的帧中继续正常执行,返回值(如果有)推送到该帧的操作数堆栈上