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 // com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor this
        start local 1 // jdk.internal.org.objectweb.asm.MethodVisitor mv
        start local 2 // java.lang.String owner
        start local 3 // java.lang.String name
         0: .line 116
            aload 0 /* this */
            ldc 327680
            aload 1 /* mv */
            invokespecial jdk.internal.org.objectweb.asm.MethodVisitor.<init>:(ILjdk/internal/org/objectweb/asm/MethodVisitor;)V
         1: .line 120
            aload 0 /* this */
            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: .line 121
            aload 0 /* this */
            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: .line 122
            aload 0 /* this */
            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: .line 117
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* owner */
            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 /* name */
            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: .line 118
            return
        end local 3 // java.lang.String name
        end local 2 // java.lang.String owner
        end local 1 // jdk.internal.org.objectweb.asm.MethodVisitor mv
        end local 0 // com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor this
      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 // com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor this
         0: .line 125
            aload 0 /* this */
            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: .line 126
            aload 0 /* this */
            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: .line 127
            aload 0 /* this */
            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: .line 128
            aload 0 /* this */
            getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 0 /* this */
            getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.tryBeginLbl:Ljdk/internal/org/objectweb/asm/Label;
            aload 0 /* this */
            getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.tryEndLbl:Ljdk/internal/org/objectweb/asm/Label;
            aload 0 /* this */
            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: .line 129
            aload 0 /* this */
            getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 0 /* this */
            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: .line 130
            return
        end local 0 // com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor this
      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 // com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor this
        start local 1 // java.lang.String method
         0: .line 133
            aload 0 /* this */
            aload 0 /* this */
            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: .line 134
            aload 0 /* this */
            sipush 184
            ldc "com/oracle/truffle/trufflenode/jniboundaryprofiler/ProfilingAgent"
         2: .line 135
            aload 1 /* method */
         3: .line 136
            ldc "(Ljava/lang/String;)V"
            iconst_0
         4: .line 134
            invokespecial jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         5: .line 137
            return
        end local 1 // java.lang.String method
        end local 0 // com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor this
      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 // com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor this
         0: .line 140
            aload 0 /* this */
            getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 0 /* this */
            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: .line 142
            aload 0 /* this */
            ldc "jniCallEnd"
            invokevirtual com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.insertProfilerCall:(Ljava/lang/String;)V
         2: .line 143
            new jdk.internal.org.objectweb.asm.Label
            dup
            invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
            astore 1 /* finallyEndLbl */
        start local 1 // jdk.internal.org.objectweb.asm.Label finallyEndLbl
         3: .line 144
            aload 0 /* this */
            getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 167
            aload 1 /* finallyEndLbl */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
         4: .line 146
            aload 0 /* this */
            getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 0 /* this */
            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: .line 147
            aload 0 /* this */
            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: .line 149
            aload 0 /* this */
            ldc "jniCallEnd"
            invokevirtual com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.insertProfilerCall:(Ljava/lang/String;)V
         7: .line 150
            aload 0 /* this */
            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: .line 151
            aload 0 /* this */
            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: .line 152
            aload 0 /* this */
            getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 1 /* finallyEndLbl */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
        10: .line 153
            return
        end local 1 // jdk.internal.org.objectweb.asm.Label finallyEndLbl
        end local 0 // com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor this
      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 // com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor this
         0: .line 157
            aload 0 /* this */
            invokespecial jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
         1: .line 159
            aload 0 /* this */
            invokevirtual com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.insertTryPreamble:()V
         2: .line 161
            aload 0 /* this */
            ldc "jniCallBegin"
            invokevirtual com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.insertProfilerCall:(Ljava/lang/String;)V
         3: .line 162
            return
        end local 0 // com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor this
      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 // com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor this
        start local 1 // int opcode
         0: .line 166
            iload 1 /* opcode */
            sipush 172
            if_icmplt 1
            iload 1 /* opcode */
            sipush 177
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* opcode */
            sipush 191
            if_icmpne 5
         2: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.insertFinallyBlock:()V
         3: .line 169
            aload 0 /* this */
            getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            iload 1 /* opcode */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         4: .line 171
            aload 0 /* this */
            invokevirtual com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.insertTryPreamble:()V
         5: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            iload 1 /* opcode */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         6: .line 174
            return
        end local 1 // int opcode
        end local 0 // com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor this
      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 // com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor this
        start local 1 // int maxStack
        start local 2 // int maxLocals
         0: .line 178
            aload 0 /* this */
            invokevirtual com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor.insertFinallyBlock:()V
         1: .line 180
            aload 0 /* this */
            iload 1 /* maxStack */
            iload 2 /* maxLocals */
            invokespecial jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
         2: .line 181
            return
        end local 2 // int maxLocals
        end local 1 // int maxStack
        end local 0 // com.oracle.truffle.trufflenode.jniboundaryprofiler.JavaCallsInstrumenter$InvCounterMethodVisitor this
      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