public class org.graalvm.compiler.hotspot.HotSpotInstructionProfiling extends org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.HotSpotInstructionProfiling
super_class: org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase
{
public static final java.lang.String COUNTER_GROUP;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "INSTRUCTION_COUNTER"
private final java.lang.String[] instructionsToProfile;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/hotspot/HotSpotInstructionProfiling;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.compiler.hotspot.HotSpotInstructionProfiling.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase.<init>:()V
1: aload 0
aload 1
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
putfield org.graalvm.compiler.hotspot.HotSpotInstructionProfiling.instructionsToProfile:[Ljava/lang/String;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/HotSpotInstructionProfiling;
0 3 1 instructionsToProfile Ljava/lang/String;
MethodParameters:
Name Flags
instructionsToProfile
protected void run(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase$PostAllocationOptimizationContext);
descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/phases/PostAllocationOptimizationPhase$PostAllocationOptimizationContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$Analyzer
dup
aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getCompilationUnitName:()Ljava/lang/String;
aload 2
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
aload 3
getfield org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase$PostAllocationOptimizationContext.diagnosticLirGenTool:Lorg/graalvm/compiler/lir/gen/DiagnosticLIRGeneratorTool;
invokespecial org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$Analyzer.<init>:(Lorg/graalvm/compiler/hotspot/HotSpotInstructionProfiling;Ljdk/vm/ci/code/TargetDescription;Ljava/lang/String;Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/lir/gen/DiagnosticLIRGeneratorTool;)V
invokevirtual org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$Analyzer.run:()V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/HotSpotInstructionProfiling;
0 2 1 target Ljdk/vm/ci/code/TargetDescription;
0 2 2 lirGenRes Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
0 2 3 context Lorg/graalvm/compiler/lir/phases/PostAllocationOptimizationPhase$PostAllocationOptimizationContext;
MethodParameters:
Name Flags
target
lirGenRes
context
public static void countInstructions(org.graalvm.compiler.lir.LIR, org.graalvm.compiler.asm.Assembler);
descriptor: (Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/asm/Assembler;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=14, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.asm.Assembler.getInstructionCounter:()Lorg/graalvm/compiler/asm/Assembler$InstructionCounter;
astore 3
start local 3 2: aload 0
invokevirtual org.graalvm.compiler.lir.LIR.codeEmittingOrder:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 18
StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.asm.Assembler org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp org.graalvm.compiler.asm.Assembler$InstructionCounter top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 4
ifnonnull 6
5: goto 17
6: StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.asm.Assembler org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp org.graalvm.compiler.asm.Assembler$InstructionCounter org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
aload 0
aload 4
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 9
goto 16
StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.asm.Assembler org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp org.graalvm.compiler.asm.Assembler$InstructionCounter org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top java.util.Iterator
StackMap stack:
7: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
astore 8
start local 8 8: aload 8
instanceof org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp
ifeq 16
9: aload 8
checkcast org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp
astore 10
start local 10 10: aload 2
ifnull 15
11: aload 2
getfield org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp.countOffsetEnd:I
istore 11
start local 11 12: aload 10
getfield org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp.countOffsetBegin:I
istore 12
start local 12 13: aload 3
aload 2
getfield org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp.instructionsToProfile:[Ljava/lang/String;
iload 11
iload 12
invokeinterface org.graalvm.compiler.asm.Assembler$InstructionCounter.countInstructions:([Ljava/lang/String;II)[I
astore 13
start local 13 14: aload 2
getfield org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp.delegate:Lorg/graalvm/compiler/hotspot/HotSpotCounterOp;
aload 1
aload 13
invokevirtual org.graalvm.compiler.hotspot.HotSpotCounterOp.patchCounterIncrement:(Lorg/graalvm/compiler/asm/Assembler;[I)V
end local 13 end local 12 end local 11 15: StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.asm.Assembler org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp org.graalvm.compiler.asm.Assembler$InstructionCounter org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.lir.LIRInstruction java.util.Iterator org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp
StackMap stack:
aload 8
checkcast org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp
astore 2
end local 10 end local 8 16: StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.asm.Assembler org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp org.graalvm.compiler.asm.Assembler$InstructionCounter org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 4 17: StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.asm.Assembler org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp org.graalvm.compiler.asm.Assembler$InstructionCounter top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
18: iload 5
iload 6
if_icmplt 3
19: aload 2
ifnull 25
20: getstatic org.graalvm.compiler.hotspot.HotSpotInstructionProfiling.$assertionsDisabled:Z
ifne 21
aload 2
getfield org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp.countOffsetBegin:I
aload 1
invokevirtual org.graalvm.compiler.asm.Assembler.position:()I
if_icmplt 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.asm.Assembler org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp org.graalvm.compiler.asm.Assembler$InstructionCounter
StackMap stack:
aload 2
getfield org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp.countOffsetBegin:I
istore 4
start local 4 22: aload 1
invokevirtual org.graalvm.compiler.asm.Assembler.position:()I
istore 5
start local 5 23: aload 3
aload 2
getfield org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp.instructionsToProfile:[Ljava/lang/String;
iload 4
iload 5
invokeinterface org.graalvm.compiler.asm.Assembler$InstructionCounter.countInstructions:([Ljava/lang/String;II)[I
astore 6
start local 6 24: aload 2
getfield org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp.delegate:Lorg/graalvm/compiler/hotspot/HotSpotCounterOp;
aload 1
aload 6
invokevirtual org.graalvm.compiler.hotspot.HotSpotCounterOp.patchCounterIncrement:(Lorg/graalvm/compiler/asm/Assembler;[I)V
end local 6 end local 5 end local 4 25: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 lir Lorg/graalvm/compiler/lir/LIR;
0 26 1 asm Lorg/graalvm/compiler/asm/Assembler;
1 26 2 lastOp Lorg/graalvm/compiler/hotspot/HotSpotInstructionProfiling$InstructionCounterOp;
2 26 3 counter Lorg/graalvm/compiler/asm/Assembler$InstructionCounter;
4 17 4 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
8 16 8 inst Lorg/graalvm/compiler/lir/LIRInstruction;
10 16 10 currentOp Lorg/graalvm/compiler/hotspot/HotSpotInstructionProfiling$InstructionCounterOp;
12 15 11 beginPc I
13 15 12 endPc I
14 15 13 instructionCounts [I
22 25 4 beginPc I
23 25 5 endPc I
24 25 6 instructionCounts [I
MethodParameters:
Name Flags
lir
asm
protected void run(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, java.lang.Object);
descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/Object;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
checkcast org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase$PostAllocationOptimizationContext
invokevirtual org.graalvm.compiler.hotspot.HotSpotInstructionProfiling.run:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/phases/PostAllocationOptimizationPhase$PostAllocationOptimizationContext;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "HotSpotInstructionProfiling.java"
NestMembers:
org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$Analyzer org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp
InnerClasses:
public abstract InstructionCounter = org.graalvm.compiler.asm.Assembler$InstructionCounter of org.graalvm.compiler.asm.Assembler
private Analyzer = org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$Analyzer of org.graalvm.compiler.hotspot.HotSpotInstructionProfiling
public InstructionCounterOp = org.graalvm.compiler.hotspot.HotSpotInstructionProfiling$InstructionCounterOp of org.graalvm.compiler.hotspot.HotSpotInstructionProfiling
public final PostAllocationOptimizationContext = org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase$PostAllocationOptimizationContext of org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase