final class jdk.jfr.internal.instrument.FileChannelImplInstrumentor
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.jfr.internal.instrument.FileChannelImplInstrumentor
  super_class: java.lang.Object
{
  private java.lang.String path;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
         0: .line 41
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 42
            return
        end local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jfr/internal/instrument/FileChannelImplInstrumentor;

  public void force(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
        start local 1 // boolean metaData
         0: .line 49
            getstatic jdk.jfr.events.FileForceEvent.EVENT:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast jdk.jfr.events.FileForceEvent
            astore 2 /* event */
        start local 2 // jdk.jfr.events.FileForceEvent event
         1: .line 50
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileForceEvent.isEnabled:()Z
            ifne 4
         2: .line 51
            aload 0 /* this */
            iload 1 /* metaData */
            invokevirtual jdk.jfr.internal.instrument.FileChannelImplInstrumentor.force:(Z)V
         3: .line 52
            return
         4: .line 55
      StackMap locals: jdk.jfr.events.FileForceEvent
      StackMap stack:
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileForceEvent.begin:()V
         5: .line 56
            aload 0 /* this */
            iload 1 /* metaData */
            invokevirtual jdk.jfr.internal.instrument.FileChannelImplInstrumentor.force:(Z)V
         6: .line 57
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 3
         8: .line 58
            aload 2 /* event */
            aload 0 /* this */
            getfield jdk.jfr.internal.instrument.FileChannelImplInstrumentor.path:Ljava/lang/String;
            putfield jdk.jfr.events.FileForceEvent.path:Ljava/lang/String;
         9: .line 59
            aload 2 /* event */
            iload 1 /* metaData */
            putfield jdk.jfr.events.FileForceEvent.metaData:Z
        10: .line 60
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileForceEvent.commit:()V
        11: .line 61
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileForceEvent.reset:()V
        12: .line 62
            aload 3
            athrow
        13: .line 58
      StackMap locals:
      StackMap stack:
            aload 2 /* event */
            aload 0 /* this */
            getfield jdk.jfr.internal.instrument.FileChannelImplInstrumentor.path:Ljava/lang/String;
            putfield jdk.jfr.events.FileForceEvent.path:Ljava/lang/String;
        14: .line 59
            aload 2 /* event */
            iload 1 /* metaData */
            putfield jdk.jfr.events.FileForceEvent.metaData:Z
        15: .line 60
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileForceEvent.commit:()V
        16: .line 61
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileForceEvent.reset:()V
        17: .line 63
            return
        end local 2 // jdk.jfr.events.FileForceEvent event
        end local 1 // boolean metaData
        end local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Ljdk/jfr/internal/instrument/FileChannelImplInstrumentor;
            0   18     1  metaData  Z
            1   18     2     event  Ljdk/jfr/events/FileForceEvent;
      Exception table:
        from    to  target  type
           4     7       7  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      jdk.jfr.internal.instrument.JIInstrumentationMethod()
    MethodParameters:
          Name  Flags
      metaData  

  public int read(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
        start local 1 // java.nio.ByteBuffer dst
         0: .line 68
            getstatic jdk.jfr.events.FileReadEvent.EVENT:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast jdk.jfr.events.FileReadEvent
            astore 2 /* event */
        start local 2 // jdk.jfr.events.FileReadEvent event
         1: .line 69
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.isEnabled:()Z
            ifne 3
         2: .line 70
            aload 0 /* this */
            aload 1 /* dst */
            invokevirtual jdk.jfr.internal.instrument.FileChannelImplInstrumentor.read:(Ljava/nio/ByteBuffer;)I
            ireturn
         3: .line 72
      StackMap locals: jdk.jfr.events.FileReadEvent
      StackMap stack:
            iconst_0
            istore 3 /* bytesRead */
        start local 3 // int bytesRead
         4: .line 74
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.begin:()V
         5: .line 75
            aload 0 /* this */
            aload 1 /* dst */
            invokevirtual jdk.jfr.internal.instrument.FileChannelImplInstrumentor.read:(Ljava/nio/ByteBuffer;)I
            istore 3 /* bytesRead */
         6: .line 76
            goto 16
      StackMap locals: jdk.jfr.internal.instrument.FileChannelImplInstrumentor java.nio.ByteBuffer jdk.jfr.events.FileReadEvent int
      StackMap stack: java.lang.Throwable
         7: astore 4
         8: .line 77
            iload 3 /* bytesRead */
            ifge 11
         9: .line 78
            aload 2 /* event */
            iconst_1
            putfield jdk.jfr.events.FileReadEvent.endOfFile:Z
        10: .line 79
            goto 12
        11: .line 80
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2 /* event */
            iload 3 /* bytesRead */
            i2l
            putfield jdk.jfr.events.FileReadEvent.bytesRead:J
        12: .line 82
      StackMap locals:
      StackMap stack:
            aload 2 /* event */
            aload 0 /* this */
            getfield jdk.jfr.internal.instrument.FileChannelImplInstrumentor.path:Ljava/lang/String;
            putfield jdk.jfr.events.FileReadEvent.path:Ljava/lang/String;
        13: .line 83
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.commit:()V
        14: .line 84
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.reset:()V
        15: .line 85
            aload 4
            athrow
        16: .line 77
      StackMap locals:
      StackMap stack:
            iload 3 /* bytesRead */
            ifge 19
        17: .line 78
            aload 2 /* event */
            iconst_1
            putfield jdk.jfr.events.FileReadEvent.endOfFile:Z
        18: .line 79
            goto 20
        19: .line 80
      StackMap locals:
      StackMap stack:
            aload 2 /* event */
            iload 3 /* bytesRead */
            i2l
            putfield jdk.jfr.events.FileReadEvent.bytesRead:J
        20: .line 82
      StackMap locals:
      StackMap stack:
            aload 2 /* event */
            aload 0 /* this */
            getfield jdk.jfr.internal.instrument.FileChannelImplInstrumentor.path:Ljava/lang/String;
            putfield jdk.jfr.events.FileReadEvent.path:Ljava/lang/String;
        21: .line 83
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.commit:()V
        22: .line 84
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.reset:()V
        23: .line 86
            iload 3 /* bytesRead */
            ireturn
        end local 3 // int bytesRead
        end local 2 // jdk.jfr.events.FileReadEvent event
        end local 1 // java.nio.ByteBuffer dst
        end local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Ljdk/jfr/internal/instrument/FileChannelImplInstrumentor;
            0   24     1        dst  Ljava/nio/ByteBuffer;
            1   24     2      event  Ljdk/jfr/events/FileReadEvent;
            4   24     3  bytesRead  I
      Exception table:
        from    to  target  type
           4     7       7  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      jdk.jfr.internal.instrument.JIInstrumentationMethod()
    MethodParameters:
      Name  Flags
      dst   

  public int read(java.nio.ByteBuffer, long);
    descriptor: (Ljava/nio/ByteBuffer;J)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
        start local 1 // java.nio.ByteBuffer dst
        start local 2 // long position
         0: .line 92
            getstatic jdk.jfr.events.FileReadEvent.EVENT:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast jdk.jfr.events.FileReadEvent
            astore 4 /* event */
        start local 4 // jdk.jfr.events.FileReadEvent event
         1: .line 93
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.isEnabled:()Z
            ifne 3
         2: .line 94
            aload 0 /* this */
            aload 1 /* dst */
            lload 2 /* position */
            invokevirtual jdk.jfr.internal.instrument.FileChannelImplInstrumentor.read:(Ljava/nio/ByteBuffer;J)I
            ireturn
         3: .line 96
      StackMap locals: jdk.jfr.events.FileReadEvent
      StackMap stack:
            iconst_0
            istore 5 /* bytesRead */
        start local 5 // int bytesRead
         4: .line 98
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.begin:()V
         5: .line 99
            aload 0 /* this */
            aload 1 /* dst */
            lload 2 /* position */
            invokevirtual jdk.jfr.internal.instrument.FileChannelImplInstrumentor.read:(Ljava/nio/ByteBuffer;J)I
            istore 5 /* bytesRead */
         6: .line 100
            goto 16
      StackMap locals: jdk.jfr.internal.instrument.FileChannelImplInstrumentor java.nio.ByteBuffer long jdk.jfr.events.FileReadEvent int
      StackMap stack: java.lang.Throwable
         7: astore 6
         8: .line 101
            iload 5 /* bytesRead */
            ifge 11
         9: .line 102
            aload 4 /* event */
            iconst_1
            putfield jdk.jfr.events.FileReadEvent.endOfFile:Z
        10: .line 103
            goto 12
        11: .line 104
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 4 /* event */
            iload 5 /* bytesRead */
            i2l
            putfield jdk.jfr.events.FileReadEvent.bytesRead:J
        12: .line 106
      StackMap locals:
      StackMap stack:
            aload 4 /* event */
            aload 0 /* this */
            getfield jdk.jfr.internal.instrument.FileChannelImplInstrumentor.path:Ljava/lang/String;
            putfield jdk.jfr.events.FileReadEvent.path:Ljava/lang/String;
        13: .line 107
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.commit:()V
        14: .line 108
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.reset:()V
        15: .line 109
            aload 6
            athrow
        16: .line 101
      StackMap locals:
      StackMap stack:
            iload 5 /* bytesRead */
            ifge 19
        17: .line 102
            aload 4 /* event */
            iconst_1
            putfield jdk.jfr.events.FileReadEvent.endOfFile:Z
        18: .line 103
            goto 20
        19: .line 104
      StackMap locals:
      StackMap stack:
            aload 4 /* event */
            iload 5 /* bytesRead */
            i2l
            putfield jdk.jfr.events.FileReadEvent.bytesRead:J
        20: .line 106
      StackMap locals:
      StackMap stack:
            aload 4 /* event */
            aload 0 /* this */
            getfield jdk.jfr.internal.instrument.FileChannelImplInstrumentor.path:Ljava/lang/String;
            putfield jdk.jfr.events.FileReadEvent.path:Ljava/lang/String;
        21: .line 107
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.commit:()V
        22: .line 108
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.reset:()V
        23: .line 110
            iload 5 /* bytesRead */
            ireturn
        end local 5 // int bytesRead
        end local 4 // jdk.jfr.events.FileReadEvent event
        end local 2 // long position
        end local 1 // java.nio.ByteBuffer dst
        end local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Ljdk/jfr/internal/instrument/FileChannelImplInstrumentor;
            0   24     1        dst  Ljava/nio/ByteBuffer;
            0   24     2   position  J
            1   24     4      event  Ljdk/jfr/events/FileReadEvent;
            4   24     5  bytesRead  I
      Exception table:
        from    to  target  type
           4     7       7  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      jdk.jfr.internal.instrument.JIInstrumentationMethod()
    MethodParameters:
          Name  Flags
      dst       
      position  

  public long read(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
        start local 1 // java.nio.ByteBuffer[] dsts
        start local 2 // int offset
        start local 3 // int length
         0: .line 116
            getstatic jdk.jfr.events.FileReadEvent.EVENT:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast jdk.jfr.events.FileReadEvent
            astore 4 /* event */
        start local 4 // jdk.jfr.events.FileReadEvent event
         1: .line 117
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.isEnabled:()Z
            ifne 3
         2: .line 118
            aload 0 /* this */
            aload 1 /* dsts */
            iload 2 /* offset */
            iload 3 /* length */
            invokevirtual jdk.jfr.internal.instrument.FileChannelImplInstrumentor.read:([Ljava/nio/ByteBuffer;II)J
            lreturn
         3: .line 120
      StackMap locals: jdk.jfr.events.FileReadEvent
      StackMap stack:
            lconst_0
            lstore 5 /* bytesRead */
        start local 5 // long bytesRead
         4: .line 122
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.begin:()V
         5: .line 123
            aload 0 /* this */
            aload 1 /* dsts */
            iload 2 /* offset */
            iload 3 /* length */
            invokevirtual jdk.jfr.internal.instrument.FileChannelImplInstrumentor.read:([Ljava/nio/ByteBuffer;II)J
            lstore 5 /* bytesRead */
         6: .line 124
            goto 16
      StackMap locals: jdk.jfr.internal.instrument.FileChannelImplInstrumentor java.nio.ByteBuffer[] int int jdk.jfr.events.FileReadEvent long
      StackMap stack: java.lang.Throwable
         7: astore 7
         8: .line 125
            lload 5 /* bytesRead */
            lconst_0
            lcmp
            ifge 11
         9: .line 126
            aload 4 /* event */
            iconst_1
            putfield jdk.jfr.events.FileReadEvent.endOfFile:Z
        10: .line 127
            goto 12
        11: .line 128
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 4 /* event */
            lload 5 /* bytesRead */
            putfield jdk.jfr.events.FileReadEvent.bytesRead:J
        12: .line 130
      StackMap locals:
      StackMap stack:
            aload 4 /* event */
            aload 0 /* this */
            getfield jdk.jfr.internal.instrument.FileChannelImplInstrumentor.path:Ljava/lang/String;
            putfield jdk.jfr.events.FileReadEvent.path:Ljava/lang/String;
        13: .line 131
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.commit:()V
        14: .line 132
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.reset:()V
        15: .line 133
            aload 7
            athrow
        16: .line 125
      StackMap locals:
      StackMap stack:
            lload 5 /* bytesRead */
            lconst_0
            lcmp
            ifge 19
        17: .line 126
            aload 4 /* event */
            iconst_1
            putfield jdk.jfr.events.FileReadEvent.endOfFile:Z
        18: .line 127
            goto 20
        19: .line 128
      StackMap locals:
      StackMap stack:
            aload 4 /* event */
            lload 5 /* bytesRead */
            putfield jdk.jfr.events.FileReadEvent.bytesRead:J
        20: .line 130
      StackMap locals:
      StackMap stack:
            aload 4 /* event */
            aload 0 /* this */
            getfield jdk.jfr.internal.instrument.FileChannelImplInstrumentor.path:Ljava/lang/String;
            putfield jdk.jfr.events.FileReadEvent.path:Ljava/lang/String;
        21: .line 131
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.commit:()V
        22: .line 132
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileReadEvent.reset:()V
        23: .line 134
            lload 5 /* bytesRead */
            lreturn
        end local 5 // long bytesRead
        end local 4 // jdk.jfr.events.FileReadEvent event
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.nio.ByteBuffer[] dsts
        end local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Ljdk/jfr/internal/instrument/FileChannelImplInstrumentor;
            0   24     1       dsts  [Ljava/nio/ByteBuffer;
            0   24     2     offset  I
            0   24     3     length  I
            1   24     4      event  Ljdk/jfr/events/FileReadEvent;
            4   24     5  bytesRead  J
      Exception table:
        from    to  target  type
           4     7       7  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      jdk.jfr.internal.instrument.JIInstrumentationMethod()
    MethodParameters:
        Name  Flags
      dsts    
      offset  
      length  

  public int write(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
        start local 1 // java.nio.ByteBuffer src
         0: .line 140
            getstatic jdk.jfr.events.FileWriteEvent.EVENT:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast jdk.jfr.events.FileWriteEvent
            astore 2 /* event */
        start local 2 // jdk.jfr.events.FileWriteEvent event
         1: .line 141
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.isEnabled:()Z
            ifne 3
         2: .line 142
            aload 0 /* this */
            aload 1 /* src */
            invokevirtual jdk.jfr.internal.instrument.FileChannelImplInstrumentor.write:(Ljava/nio/ByteBuffer;)I
            ireturn
         3: .line 144
      StackMap locals: jdk.jfr.events.FileWriteEvent
      StackMap stack:
            iconst_0
            istore 3 /* bytesWritten */
        start local 3 // int bytesWritten
         4: .line 146
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.begin:()V
         5: .line 147
            aload 0 /* this */
            aload 1 /* src */
            invokevirtual jdk.jfr.internal.instrument.FileChannelImplInstrumentor.write:(Ljava/nio/ByteBuffer;)I
            istore 3 /* bytesWritten */
         6: .line 148
            goto 15
      StackMap locals: jdk.jfr.internal.instrument.FileChannelImplInstrumentor java.nio.ByteBuffer jdk.jfr.events.FileWriteEvent int
      StackMap stack: java.lang.Throwable
         7: astore 4
         8: .line 149
            aload 2 /* event */
            iload 3 /* bytesWritten */
            ifle 9
            iload 3 /* bytesWritten */
            goto 10
      StackMap locals: jdk.jfr.internal.instrument.FileChannelImplInstrumentor java.nio.ByteBuffer jdk.jfr.events.FileWriteEvent int java.lang.Throwable
      StackMap stack: jdk.jfr.events.FileWriteEvent
         9: iconst_0
      StackMap locals: jdk.jfr.internal.instrument.FileChannelImplInstrumentor java.nio.ByteBuffer jdk.jfr.events.FileWriteEvent int java.lang.Throwable
      StackMap stack: jdk.jfr.events.FileWriteEvent int
        10: i2l
            putfield jdk.jfr.events.FileWriteEvent.bytesWritten:J
        11: .line 150
            aload 2 /* event */
            aload 0 /* this */
            getfield jdk.jfr.internal.instrument.FileChannelImplInstrumentor.path:Ljava/lang/String;
            putfield jdk.jfr.events.FileWriteEvent.path:Ljava/lang/String;
        12: .line 151
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.commit:()V
        13: .line 152
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.reset:()V
        14: .line 153
            aload 4
            athrow
        15: .line 149
      StackMap locals:
      StackMap stack:
            aload 2 /* event */
            iload 3 /* bytesWritten */
            ifle 16
            iload 3 /* bytesWritten */
            goto 17
      StackMap locals:
      StackMap stack: jdk.jfr.events.FileWriteEvent
        16: iconst_0
      StackMap locals: jdk.jfr.internal.instrument.FileChannelImplInstrumentor java.nio.ByteBuffer jdk.jfr.events.FileWriteEvent int
      StackMap stack: jdk.jfr.events.FileWriteEvent int
        17: i2l
            putfield jdk.jfr.events.FileWriteEvent.bytesWritten:J
        18: .line 150
            aload 2 /* event */
            aload 0 /* this */
            getfield jdk.jfr.internal.instrument.FileChannelImplInstrumentor.path:Ljava/lang/String;
            putfield jdk.jfr.events.FileWriteEvent.path:Ljava/lang/String;
        19: .line 151
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.commit:()V
        20: .line 152
            aload 2 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.reset:()V
        21: .line 154
            iload 3 /* bytesWritten */
            ireturn
        end local 3 // int bytesWritten
        end local 2 // jdk.jfr.events.FileWriteEvent event
        end local 1 // java.nio.ByteBuffer src
        end local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0          this  Ljdk/jfr/internal/instrument/FileChannelImplInstrumentor;
            0   22     1           src  Ljava/nio/ByteBuffer;
            1   22     2         event  Ljdk/jfr/events/FileWriteEvent;
            4   22     3  bytesWritten  I
      Exception table:
        from    to  target  type
           4     7       7  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      jdk.jfr.internal.instrument.JIInstrumentationMethod()
    MethodParameters:
      Name  Flags
      src   

  public int write(java.nio.ByteBuffer, long);
    descriptor: (Ljava/nio/ByteBuffer;J)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // long position
         0: .line 160
            getstatic jdk.jfr.events.FileWriteEvent.EVENT:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast jdk.jfr.events.FileWriteEvent
            astore 4 /* event */
        start local 4 // jdk.jfr.events.FileWriteEvent event
         1: .line 161
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.isEnabled:()Z
            ifne 3
         2: .line 162
            aload 0 /* this */
            aload 1 /* src */
            lload 2 /* position */
            invokevirtual jdk.jfr.internal.instrument.FileChannelImplInstrumentor.write:(Ljava/nio/ByteBuffer;J)I
            ireturn
         3: .line 165
      StackMap locals: jdk.jfr.events.FileWriteEvent
      StackMap stack:
            iconst_0
            istore 5 /* bytesWritten */
        start local 5 // int bytesWritten
         4: .line 167
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.begin:()V
         5: .line 168
            aload 0 /* this */
            aload 1 /* src */
            lload 2 /* position */
            invokevirtual jdk.jfr.internal.instrument.FileChannelImplInstrumentor.write:(Ljava/nio/ByteBuffer;J)I
            istore 5 /* bytesWritten */
         6: .line 169
            goto 15
      StackMap locals: jdk.jfr.internal.instrument.FileChannelImplInstrumentor java.nio.ByteBuffer long jdk.jfr.events.FileWriteEvent int
      StackMap stack: java.lang.Throwable
         7: astore 6
         8: .line 170
            aload 4 /* event */
            iload 5 /* bytesWritten */
            ifle 9
            iload 5 /* bytesWritten */
            goto 10
      StackMap locals: jdk.jfr.internal.instrument.FileChannelImplInstrumentor java.nio.ByteBuffer long jdk.jfr.events.FileWriteEvent int java.lang.Throwable
      StackMap stack: jdk.jfr.events.FileWriteEvent
         9: iconst_0
      StackMap locals: jdk.jfr.internal.instrument.FileChannelImplInstrumentor java.nio.ByteBuffer long jdk.jfr.events.FileWriteEvent int java.lang.Throwable
      StackMap stack: jdk.jfr.events.FileWriteEvent int
        10: i2l
            putfield jdk.jfr.events.FileWriteEvent.bytesWritten:J
        11: .line 171
            aload 4 /* event */
            aload 0 /* this */
            getfield jdk.jfr.internal.instrument.FileChannelImplInstrumentor.path:Ljava/lang/String;
            putfield jdk.jfr.events.FileWriteEvent.path:Ljava/lang/String;
        12: .line 172
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.commit:()V
        13: .line 173
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.reset:()V
        14: .line 174
            aload 6
            athrow
        15: .line 170
      StackMap locals:
      StackMap stack:
            aload 4 /* event */
            iload 5 /* bytesWritten */
            ifle 16
            iload 5 /* bytesWritten */
            goto 17
      StackMap locals:
      StackMap stack: jdk.jfr.events.FileWriteEvent
        16: iconst_0
      StackMap locals: jdk.jfr.internal.instrument.FileChannelImplInstrumentor java.nio.ByteBuffer long jdk.jfr.events.FileWriteEvent int
      StackMap stack: jdk.jfr.events.FileWriteEvent int
        17: i2l
            putfield jdk.jfr.events.FileWriteEvent.bytesWritten:J
        18: .line 171
            aload 4 /* event */
            aload 0 /* this */
            getfield jdk.jfr.internal.instrument.FileChannelImplInstrumentor.path:Ljava/lang/String;
            putfield jdk.jfr.events.FileWriteEvent.path:Ljava/lang/String;
        19: .line 172
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.commit:()V
        20: .line 173
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.reset:()V
        21: .line 175
            iload 5 /* bytesWritten */
            ireturn
        end local 5 // int bytesWritten
        end local 4 // jdk.jfr.events.FileWriteEvent event
        end local 2 // long position
        end local 1 // java.nio.ByteBuffer src
        end local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0          this  Ljdk/jfr/internal/instrument/FileChannelImplInstrumentor;
            0   22     1           src  Ljava/nio/ByteBuffer;
            0   22     2      position  J
            1   22     4         event  Ljdk/jfr/events/FileWriteEvent;
            4   22     5  bytesWritten  I
      Exception table:
        from    to  target  type
           4     7       7  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      jdk.jfr.internal.instrument.JIInstrumentationMethod()
    MethodParameters:
          Name  Flags
      src       
      position  

  public long write(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
        start local 1 // java.nio.ByteBuffer[] srcs
        start local 2 // int offset
        start local 3 // int length
         0: .line 181
            getstatic jdk.jfr.events.FileWriteEvent.EVENT:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast jdk.jfr.events.FileWriteEvent
            astore 4 /* event */
        start local 4 // jdk.jfr.events.FileWriteEvent event
         1: .line 182
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.isEnabled:()Z
            ifne 3
         2: .line 183
            aload 0 /* this */
            aload 1 /* srcs */
            iload 2 /* offset */
            iload 3 /* length */
            invokevirtual jdk.jfr.internal.instrument.FileChannelImplInstrumentor.write:([Ljava/nio/ByteBuffer;II)J
            lreturn
         3: .line 185
      StackMap locals: jdk.jfr.events.FileWriteEvent
      StackMap stack:
            lconst_0
            lstore 5 /* bytesWritten */
        start local 5 // long bytesWritten
         4: .line 187
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.begin:()V
         5: .line 188
            aload 0 /* this */
            aload 1 /* srcs */
            iload 2 /* offset */
            iload 3 /* length */
            invokevirtual jdk.jfr.internal.instrument.FileChannelImplInstrumentor.write:([Ljava/nio/ByteBuffer;II)J
            lstore 5 /* bytesWritten */
         6: .line 189
            goto 15
      StackMap locals: jdk.jfr.internal.instrument.FileChannelImplInstrumentor java.nio.ByteBuffer[] int int jdk.jfr.events.FileWriteEvent long
      StackMap stack: java.lang.Throwable
         7: astore 7
         8: .line 190
            aload 4 /* event */
            lload 5 /* bytesWritten */
            lconst_0
            lcmp
            ifle 9
            lload 5 /* bytesWritten */
            goto 10
      StackMap locals: jdk.jfr.internal.instrument.FileChannelImplInstrumentor java.nio.ByteBuffer[] int int jdk.jfr.events.FileWriteEvent long java.lang.Throwable
      StackMap stack: jdk.jfr.events.FileWriteEvent
         9: lconst_0
      StackMap locals: jdk.jfr.internal.instrument.FileChannelImplInstrumentor java.nio.ByteBuffer[] int int jdk.jfr.events.FileWriteEvent long java.lang.Throwable
      StackMap stack: jdk.jfr.events.FileWriteEvent long
        10: putfield jdk.jfr.events.FileWriteEvent.bytesWritten:J
        11: .line 191
            aload 4 /* event */
            aload 0 /* this */
            getfield jdk.jfr.internal.instrument.FileChannelImplInstrumentor.path:Ljava/lang/String;
            putfield jdk.jfr.events.FileWriteEvent.path:Ljava/lang/String;
        12: .line 192
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.commit:()V
        13: .line 193
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.reset:()V
        14: .line 194
            aload 7
            athrow
        15: .line 190
      StackMap locals:
      StackMap stack:
            aload 4 /* event */
            lload 5 /* bytesWritten */
            lconst_0
            lcmp
            ifle 16
            lload 5 /* bytesWritten */
            goto 17
      StackMap locals:
      StackMap stack: jdk.jfr.events.FileWriteEvent
        16: lconst_0
      StackMap locals: jdk.jfr.internal.instrument.FileChannelImplInstrumentor java.nio.ByteBuffer[] int int jdk.jfr.events.FileWriteEvent long
      StackMap stack: jdk.jfr.events.FileWriteEvent long
        17: putfield jdk.jfr.events.FileWriteEvent.bytesWritten:J
        18: .line 191
            aload 4 /* event */
            aload 0 /* this */
            getfield jdk.jfr.internal.instrument.FileChannelImplInstrumentor.path:Ljava/lang/String;
            putfield jdk.jfr.events.FileWriteEvent.path:Ljava/lang/String;
        19: .line 192
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.commit:()V
        20: .line 193
            aload 4 /* event */
            invokevirtual jdk.jfr.events.FileWriteEvent.reset:()V
        21: .line 195
            lload 5 /* bytesWritten */
            lreturn
        end local 5 // long bytesWritten
        end local 4 // jdk.jfr.events.FileWriteEvent event
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.nio.ByteBuffer[] srcs
        end local 0 // jdk.jfr.internal.instrument.FileChannelImplInstrumentor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0          this  Ljdk/jfr/internal/instrument/FileChannelImplInstrumentor;
            0   22     1          srcs  [Ljava/nio/ByteBuffer;
            0   22     2        offset  I
            0   22     3        length  I
            1   22     4         event  Ljdk/jfr/events/FileWriteEvent;
            4   22     5  bytesWritten  J
      Exception table:
        from    to  target  type
           4     7       7  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      jdk.jfr.internal.instrument.JIInstrumentationMethod()
    MethodParameters:
        Name  Flags
      srcs    
      offset  
      length  
}
SourceFile: "FileChannelImplInstrumentor.java"
    RuntimeVisibleAnnotations: 
      jdk.jfr.internal.instrument.JIInstrumentationTarget(value = "sun.nio.ch.FileChannelImpl")