compilación JIT estándar en lugar de en la pila de reemplazo en HotSpot

Tehreem:

Estoy tratando de ver el resultado de la compilación JIT estándar en lugar de usar OSR C1 en Java HotSpot VM. He apagado usando OSR -XX:-UseOnStackReplacementy restringida a la compilación C1 usando -XX:TieredStopAtLevel=1. Pero ahora mi método no está siendo compilada en absoluto. Tengo la impresión de compilación activada, el cual compilación de registros bien si lo dejo usar OSR. Así mismo, ninguno de mis puntos de ruptura están recibiendo golpe en archivos C1 sin OSR.

Estoy utilizando un simple fragmento de código para probar esta

class Demo {
  public static void main(String[] args) {
      int a = workload();
    System.out.println("Calculated answer is: " + a);
  }

  private static int workload() {
    int a = 14;
    for (int i = 0; i<100000; i++) {
      a = a + i;
    }
    return a;
  }
}
Eugene:

El problema es que se invoca workloadsólo una vez y ejecutar ese momento bucle muchos; que está no ejecutando workloadmuchas veces; y que es el principal problema que tenemos aquí. JITpuede optimizar los métodos, pero aquí se tiene un solo bucle - por lo menos OSRestá activo no hay mucho de optimizar.

Esto es bastante fácil de probar, puede ejecutar su método con:

-XX:+UnlockDiagnosticVMOptions  
-XX:TieredStopAtLevel=1 
-XX:+TraceNMethodInstalls // this is to track the compiled methods
-XX:-UseOnStackReplacement  
   com.so.jit.OSRCompilation // this is the classname I've used

En el resultado que obtendrá, verá una gran cantidad de Installing method.

Pero si se habilita la espalda OSR:

-XX:+UnlockDiagnosticVMOptions  
-XX:TieredStopAtLevel=1 
-XX:+TraceNMethodInstalls // this is to track the compiled methods
-XX:+UseOnStackReplacement  
   com.so.jit.OSRCompilation // this is the classname I've used

obtendrá una gran cantidad de Installing method, sino también una línea:

 Installing osr method (1) com.so.jit.OSRCompilation.workload()I @ 5

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=239834&siteId=1
Recomendado
Clasificación