public class sun.jvmstat.perfdata.monitor.protocol.local.PerfDataBuffer extends sun.jvmstat.perfdata.monitor.AbstractPerfDataBuffer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvmstat.perfdata.monitor.protocol.local.PerfDataBuffer
  super_class: sun.jvmstat.perfdata.monitor.AbstractPerfDataBuffer
{
  private static final jdk.internal.perf.Perf perf;
    descriptor: Ljdk/internal/perf/Perf;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 51
            new jdk.internal.perf.Perf$GetPerfAction
            dup
            invokespecial jdk.internal.perf.Perf$GetPerfAction.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast jdk.internal.perf.Perf
            putstatic sun.jvmstat.perfdata.monitor.protocol.local.PerfDataBuffer.perf:Ljdk/internal/perf/Perf;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(sun.jvmstat.monitor.VmIdentifier);
    descriptor: (Lsun/jvmstat/monitor/VmIdentifier;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // sun.jvmstat.perfdata.monitor.protocol.local.PerfDataBuffer this
        start local 1 // sun.jvmstat.monitor.VmIdentifier vmid
         0: .line 61
            aload 0 /* this */
            invokespecial sun.jvmstat.perfdata.monitor.AbstractPerfDataBuffer.<init>:()V
         1: .line 64
            getstatic sun.jvmstat.perfdata.monitor.protocol.local.PerfDataBuffer.perf:Ljdk/internal/perf/Perf;
            aload 1 /* vmid */
            invokevirtual sun.jvmstat.monitor.VmIdentifier.getLocalVmId:()I
            aload 1 /* vmid */
            invokevirtual sun.jvmstat.monitor.VmIdentifier.getMode:()Ljava/lang/String;
            invokevirtual jdk.internal.perf.Perf.attach:(ILjava/lang/String;)Ljava/nio/ByteBuffer;
            astore 2 /* bb */
        start local 2 // java.nio.ByteBuffer bb
         2: .line 65
            aload 0 /* this */
            aload 2 /* bb */
            aload 1 /* vmid */
            invokevirtual sun.jvmstat.monitor.VmIdentifier.getLocalVmId:()I
            invokevirtual sun.jvmstat.perfdata.monitor.protocol.local.PerfDataBuffer.createPerfDataBuffer:(Ljava/nio/ByteBuffer;I)V
        end local 2 // java.nio.ByteBuffer bb
         3: .line 67
            goto 29
      StackMap locals: sun.jvmstat.perfdata.monitor.protocol.local.PerfDataBuffer sun.jvmstat.monitor.VmIdentifier
      StackMap stack: java.lang.IllegalArgumentException
         4: astore 2 /* e */
        start local 2 // java.lang.IllegalArgumentException e
         5: .line 70
            new java.lang.StringBuilder
            dup
            invokestatic sun.jvmstat.perfdata.monitor.protocol.local.PerfDataFile.getTempDirectory:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 71
            ldc "hsperfdata_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 72
            aload 1 /* vmid */
            invokevirtual sun.jvmstat.monitor.VmIdentifier.getLocalVmId:()I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 70
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* filename */
        start local 3 // java.lang.String filename
         9: .line 74
            new java.io.File
            dup
            aload 3 /* filename */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* f */
        start local 4 // java.io.File f
        10: .line 76
            new java.io.RandomAccessFile
            dup
            aload 4 /* f */
            ldc "r"
            invokespecial java.io.RandomAccessFile.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokevirtual java.io.RandomAccessFile.getChannel:()Ljava/nio/channels/FileChannel;
            astore 5 /* fc */
        start local 5 // java.nio.channels.FileChannel fc
        11: .line 77
            aload 5 /* fc */
            getstatic java.nio.channels.FileChannel$MapMode.READ_ONLY:Ljava/nio/channels/FileChannel$MapMode;
            lconst_0
        12: .line 78
            aload 5 /* fc */
            invokevirtual java.nio.channels.FileChannel.size:()J
            l2i
            i2l
        13: .line 77
            invokevirtual java.nio.channels.FileChannel.map:(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;
            astore 6 /* bb */
        start local 6 // java.nio.ByteBuffer bb
        14: .line 79
            aload 5 /* fc */
            invokevirtual java.nio.channels.FileChannel.close:()V
        15: .line 80
            aload 0 /* this */
            aload 6 /* bb */
            aload 1 /* vmid */
            invokevirtual sun.jvmstat.monitor.VmIdentifier.getLocalVmId:()I
            invokevirtual sun.jvmstat.perfdata.monitor.protocol.local.PerfDataBuffer.createPerfDataBuffer:(Ljava/nio/ByteBuffer;I)V
        end local 6 // java.nio.ByteBuffer bb
        end local 5 // java.nio.channels.FileChannel fc
        end local 4 // java.io.File f
        end local 3 // java.lang.String filename
        16: .line 82
            goto 29
      StackMap locals: sun.jvmstat.perfdata.monitor.protocol.local.PerfDataBuffer sun.jvmstat.monitor.VmIdentifier java.lang.IllegalArgumentException
      StackMap stack: java.io.FileNotFoundException
        17: pop
        18: .line 84
            new sun.jvmstat.monitor.MonitorException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* vmid */
            invokevirtual sun.jvmstat.monitor.VmIdentifier.getLocalVmId:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " not found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 85
            aload 2 /* e */
        20: .line 84
            invokespecial sun.jvmstat.monitor.MonitorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        21: .line 86
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* e2 */
        start local 3 // java.io.IOException e2
        22: .line 87
            new sun.jvmstat.monitor.MonitorException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not map 1.4.1 file for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        23: .line 88
            aload 1 /* vmid */
            invokevirtual sun.jvmstat.monitor.VmIdentifier.getLocalVmId:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e2 */
        24: .line 87
            invokespecial sun.jvmstat.monitor.MonitorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException e2
        end local 2 // java.lang.IllegalArgumentException e
        25: .line 90
      StackMap locals: sun.jvmstat.perfdata.monitor.protocol.local.PerfDataBuffer sun.jvmstat.monitor.VmIdentifier
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
        26: .line 91
            new sun.jvmstat.monitor.MonitorException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not attach to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        27: .line 92
            aload 1 /* vmid */
            invokevirtual sun.jvmstat.monitor.VmIdentifier.getLocalVmId:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
        28: .line 91
            invokespecial sun.jvmstat.monitor.MonitorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
        29: .line 94
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.jvmstat.monitor.VmIdentifier vmid
        end local 0 // sun.jvmstat.perfdata.monitor.protocol.local.PerfDataBuffer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   30     0      this  Lsun/jvmstat/perfdata/monitor/protocol/local/PerfDataBuffer;
            0   30     1      vmid  Lsun/jvmstat/monitor/VmIdentifier;
            2    3     2        bb  Ljava/nio/ByteBuffer;
            5   25     2         e  Ljava/lang/IllegalArgumentException;
            9   16     3  filename  Ljava/lang/String;
           10   16     4         f  Ljava/io/File;
           11   16     5        fc  Ljava/nio/channels/FileChannel;
           14   16     6        bb  Ljava/nio/ByteBuffer;
           22   25     3        e2  Ljava/io/IOException;
           26   29     2         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.IllegalArgumentException
           5    16      17  Class java.io.FileNotFoundException
           5    16      21  Class java.io.IOException
           1     3      25  Class java.io.IOException
    Exceptions:
      throws sun.jvmstat.monitor.MonitorException
    MethodParameters:
      Name  Flags
      vmid  
}
SourceFile: "PerfDataBuffer.java"
InnerClasses:
  public MapMode = java.nio.channels.FileChannel$MapMode of java.nio.channels.FileChannel
  public GetPerfAction = jdk.internal.perf.Perf$GetPerfAction of jdk.internal.perf.Perf