class com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor extends jdk.internal.org.objectweb.asm.MethodVisitor implements jdk.internal.org.objectweb.asm.Opcodes
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor
super_class: jdk.internal.org.objectweb.asm.MethodVisitor
{
private static final java.lang.String ProfilerBegin;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jniCallBegin"
private static final java.lang.String ProfilerEnd;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jniCallEnd"
private final java.lang.String label;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
jdk.internal.org.objectweb.asm.Label tryBeginLbl;
descriptor: Ljdk/internal/org/objectweb/asm/Label;
flags: (0x0000)
jdk.internal.org.objectweb.asm.Label tryEndLbl;
descriptor: Ljdk/internal/org/objectweb/asm/Label;
flags: (0x0000)
jdk.internal.org.objectweb.asm.Label finallyBeginLbl;
descriptor: Ljdk/internal/org/objectweb/asm/Label;
flags: (0x0000)
void <init>(jdk.internal.org.objectweb.asm.MethodVisitor, java.lang.String, java.lang.String);
descriptor: (Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc 327680
aload 1
invokespecial jdk.internal.org.objectweb.asm.MethodVisitor.<init>:(ILjdk/internal/org/objectweb/asm/MethodVisitor;)V
1: aload 0
new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
putfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.tryBeginLbl:Ljdk/internal/org/objectweb/asm/Label;
2: aload 0
new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
putfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.tryEndLbl:Ljdk/internal/org/objectweb/asm/Label;
3: aload 0
new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
putfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.finallyBeginLbl:Ljdk/internal/org/objectweb/asm/Label;
4: aload 0
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.label:Ljava/lang/String;
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/jniboundaryprofiler/JavaCallsInstrumenter$InvCounterMethodVisitor;
0 6 1 mv Ljdk/internal/org/objectweb/asm/MethodVisitor;
0 6 2 owner Ljava/lang/String;
0 6 3 name Ljava/lang/String;
MethodParameters:
Name Flags
mv
owner
name
private void insertTryPreamble();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
putfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.tryBeginLbl:Ljdk/internal/org/objectweb/asm/Label;
1: aload 0
new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
putfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.tryEndLbl:Ljdk/internal/org/objectweb/asm/Label;
2: aload 0
new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
putfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.finallyBeginLbl:Ljdk/internal/org/objectweb/asm/Label;
3: aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.tryBeginLbl:Ljdk/internal/org/objectweb/asm/Label;
aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.tryEndLbl:Ljdk/internal/org/objectweb/asm/Label;
aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.finallyBeginLbl:Ljdk/internal/org/objectweb/asm/Label;
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTryCatchBlock:(Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljava/lang/String;)V
4: aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.tryBeginLbl:Ljdk/internal/org/objectweb/asm/Label;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/jniboundaryprofiler/JavaCallsInstrumenter$InvCounterMethodVisitor;
private void insertProfilerCall(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.label:Ljava/lang/String;
invokespecial jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
1: aload 0
sipush 184
ldc "com/oracle/truffle/trufflenode/jniboundaryprofiler/ProfilingAgent"
2: aload 1
3: ldc "(Ljava/lang/String;)V"
iconst_0
4: invokespecial jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/jniboundaryprofiler/JavaCallsInstrumenter$InvCounterMethodVisitor;
0 6 1 method Ljava/lang/String;
MethodParameters:
Name Flags
method
private void insertFinallyBlock();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.tryEndLbl:Ljdk/internal/org/objectweb/asm/Label;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
1: aload 0
ldc "jniCallEnd"
invokevirtual com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.insertProfilerCall:(Ljava/lang/String;)V
2: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 1
start local 1 3: aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 167
aload 1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
4: aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.finallyBeginLbl:Ljdk/internal/org/objectweb/asm/Label;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
5: aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 58
iconst_2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
6: aload 0
ldc "jniCallEnd"
invokevirtual com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.insertProfilerCall:(Ljava/lang/String;)V
7: aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 25
iconst_2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
8: aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 191
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
9: aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/trufflenode/jniboundaryprofiler/JavaCallsInstrumenter$InvCounterMethodVisitor;
3 11 1 finallyEndLbl Ljdk/internal/org/objectweb/asm/Label;
public void visitCode();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
1: aload 0
invokevirtual com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.insertTryPreamble:()V
2: aload 0
ldc "jniCallBegin"
invokevirtual com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.insertProfilerCall:(Ljava/lang/String;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/jniboundaryprofiler/JavaCallsInstrumenter$InvCounterMethodVisitor;
public void visitInsn(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
sipush 172
if_icmplt 1
iload 1
sipush 177
if_icmple 2
StackMap locals:
StackMap stack:
1: iload 1
sipush 191
if_icmpne 5
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.insertFinallyBlock:()V
3: aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
4: aload 0
invokevirtual com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.insertTryPreamble:()V
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/trufflenode/jniboundaryprofiler/JavaCallsInstrumenter$InvCounterMethodVisitor;
0 7 1 opcode I
MethodParameters:
Name Flags
opcode
public void visitMaxs(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.insertFinallyBlock:()V
1: aload 0
iload 1
iload 2
invokespecial jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/jniboundaryprofiler/JavaCallsInstrumenter$InvCounterMethodVisitor;
0 3 1 maxStack I
0 3 2 maxLocals I
MethodParameters:
Name Flags
maxStack
maxLocals
}
SourceFile: "JavaCallsInstrumenter.java"
NestHost: com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter
InnerClasses:
private InvCounterMethodVisitor = com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor of com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter