JVM PC计数器和堆栈空间如何与JIT协同工作?

时间:2018-06-04 12:06:38

标签: java jvm jit

当Java方法获得JIT编译并开始运行JIT编辑的本机代码时:

  1. 堆栈空间是否与之前以解释器模式运行的堆栈空间相同?
  2. 在JIT模式下运行时,PC计数器是否仍在更新?如果是这样,怎么样?
  3. (假设我们正在使用OpenJDK)。

1 个答案:

答案 0 :(得分:0)

  

堆栈空间是否与之前以解释器模式运行的堆栈空间相同?

调用堆栈是相同的。交换JIT代码时,它不会重建堆栈。

然而,值栈可以分配给寄存器,因此不能在本机代码中维护。

  

在JIT模式下运行时,PC计数器是否仍在更新?如果是这样,怎么样?

CPU的PC计数器用于纯模式。虚拟寄存器在本机优化代码中是名义上的。