gpt4 book ai didi

Java JITC native 代码生成/执行示例?

转载 作者:行者123 更新时间:2023-12-01 05:22:48 25 4
gpt4 key购买 nike

我试图理解 Java JITC 的“ native 代码生成和执行”部分,但很难想象到底发生了什么。例如。假设我有以下类(class):

class Foo
{
private int x;
public void incX()
{
x++;
}
}

javac 为该方法生成以下字节代码:

public void incX();
Code:
Stack=3, Locals=1, Args_size=1
0: aload_0
1: dup
2: getfield #17; //Field x:I
5: iconst_1
6: iadd
7: putfield #17; //Field x:I
10: return
LineNumberTable:
line 33: 0
line 34: 10

LocalVariableTable:
Start Length Slot Name Signature
0 11 0 this LFoo;

当 JITC 将其转换为 native 代码时,到底会发生什么?那么这个本地代码是如何被JVM执行的呢?

最佳答案

当方法被足够频繁地调用以通过 JVM 的编译阈值时,JIT 会将字节码编译为 native 代码,并对其进行设置,以便对函数的调用直接转至 native 编译的方法。

关于Java JITC native 代码生成/执行示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10105330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com