public final class jdk.jfr.internal.OldObjectSample
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.jfr.internal.OldObjectSample
  super_class: java.lang.Object
{
  private static final java.lang.String EVENT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jdk.OldObjectSample"

  private static final java.lang.String OLD_OBJECT_CUTOFF;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jdk.OldObjectSample#cutoff"

  private static final java.lang.String OLD_OBJECT_ENABLED;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jdk.OldObjectSample#enabled"

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.OldObjectSample this
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.jfr.internal.OldObjectSample this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/OldObjectSample;

  public static void emit(jdk.jfr.internal.PlatformRecording);
    descriptor: (Ljdk/jfr/internal/PlatformRecording;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // jdk.jfr.internal.PlatformRecording recording
         0: .line 54
            aload 0 /* recording */
            invokestatic jdk.jfr.internal.OldObjectSample.isEnabled:(Ljdk/jfr/internal/PlatformRecording;)Z
            ifeq 4
         1: .line 55
            aload 0 /* recording */
            invokevirtual jdk.jfr.internal.PlatformRecording.getSettings:()Ljava/util/Map;
            ldc "jdk.OldObjectSample#cutoff"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic jdk.jfr.internal.settings.CutoffSetting.parseValueSafe:(Ljava/lang/String;)J
            lstore 1 /* nanos */
        start local 1 // long nanos
         2: .line 56
            lload 1 /* nanos */
            invokestatic jdk.jfr.internal.Utils.nanosToTicks:(J)J
            lstore 3 /* ticks */
        start local 3 // long ticks
         3: .line 57
            lload 3 /* ticks */
            invokestatic jdk.jfr.internal.OldObjectSample.emit:(J)V
        end local 3 // long ticks
        end local 1 // long nanos
         4: .line 59
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.jfr.internal.PlatformRecording recording
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  recording  Ljdk/jfr/internal/PlatformRecording;
            2    4     1      nanos  J
            3    4     3      ticks  J
    MethodParameters:
           Name  Flags
      recording  

  public static void emit(java.util.List<jdk.jfr.internal.PlatformRecording>, java.lang.Boolean);
    descriptor: (Ljava/util/List;Ljava/lang/Boolean;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // java.util.List recordings
        start local 1 // java.lang.Boolean pathToGcRoots
         0: .line 65
            iconst_0
            istore 2 /* enabled */
        start local 2 // boolean enabled
         1: .line 66
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            aload 1 /* pathToGcRoots */
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 2
            ldc 9223372036854775807
            goto 3
      StackMap locals: int
      StackMap stack:
         2: lconst_0
      StackMap locals:
      StackMap stack: long
         3: lstore 3 /* cutoffNanos */
        start local 3 // long cutoffNanos
         4: .line 67
            aload 0 /* recordings */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: java.util.List java.lang.Boolean int long top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.internal.PlatformRecording
            astore 5 /* r */
        start local 5 // jdk.jfr.internal.PlatformRecording r
         6: .line 68
            aload 5 /* r */
            invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
            getstatic jdk.jfr.RecordingState.RUNNING:Ljdk/jfr/RecordingState;
            if_acmpne 11
         7: .line 69
            aload 5 /* r */
            invokestatic jdk.jfr.internal.OldObjectSample.isEnabled:(Ljdk/jfr/internal/PlatformRecording;)Z
            ifeq 11
         8: .line 70
            iconst_1
            istore 2 /* enabled */
         9: .line 71
            aload 5 /* r */
            invokevirtual jdk.jfr.internal.PlatformRecording.getSettings:()Ljava/util/Map;
            ldc "jdk.OldObjectSample#cutoff"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic jdk.jfr.internal.settings.CutoffSetting.parseValueSafe:(Ljava/lang/String;)J
            lstore 7 /* c */
        start local 7 // long c
        10: .line 72
            lload 7 /* c */
            lload 3 /* cutoffNanos */
            invokestatic java.lang.Math.max:(JJ)J
            lstore 3 /* cutoffNanos */
        end local 7 // long c
        end local 5 // jdk.jfr.internal.PlatformRecording r
        11: .line 67
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        12: .line 76
            iload 2 /* enabled */
            ifeq 15
        13: .line 77
            lload 3 /* cutoffNanos */
            invokestatic jdk.jfr.internal.Utils.nanosToTicks:(J)J
            lstore 5 /* ticks */
        start local 5 // long ticks
        14: .line 78
            lload 5 /* ticks */
            invokestatic jdk.jfr.internal.OldObjectSample.emit:(J)V
        end local 5 // long ticks
        15: .line 80
      StackMap locals: java.util.List java.lang.Boolean int long
      StackMap stack:
            return
        end local 3 // long cutoffNanos
        end local 2 // boolean enabled
        end local 1 // java.lang.Boolean pathToGcRoots
        end local 0 // java.util.List recordings
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0     recordings  Ljava/util/List<Ljdk/jfr/internal/PlatformRecording;>;
            0   16     1  pathToGcRoots  Ljava/lang/Boolean;
            1   16     2        enabled  Z
            4   16     3    cutoffNanos  J
            6   11     5              r  Ljdk/jfr/internal/PlatformRecording;
           10   11     7              c  J
           14   15     5          ticks  J
    Signature: (Ljava/util/List<Ljdk/jfr/internal/PlatformRecording;>;Ljava/lang/Boolean;)V
    MethodParameters:
               Name  Flags
      recordings     
      pathToGcRoots  

  private static void emit(long);
    descriptor: (J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // long ticks
         0: .line 83
            invokestatic jdk.jfr.internal.test.WhiteBox.getWriteAllObjectSamples:()Z
            istore 2 /* emitAll */
        start local 2 // boolean emitAll
         1: .line 84
            invokestatic jdk.jfr.internal.test.WhiteBox.getSkipBFS:()Z
            istore 3 /* skipBFS */
        start local 3 // boolean skipBFS
         2: .line 85
            invokestatic jdk.jfr.internal.JVM.getJVM:()Ljdk/jfr/internal/JVM;
            lload 0 /* ticks */
            iload 2 /* emitAll */
            iload 3 /* skipBFS */
            invokevirtual jdk.jfr.internal.JVM.emitOldObjectSamples:(JZZ)V
         3: .line 86
            return
        end local 3 // boolean skipBFS
        end local 2 // boolean emitAll
        end local 0 // long ticks
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0    ticks  J
            1    4     2  emitAll  Z
            2    4     3  skipBFS  Z
    MethodParameters:
       Name  Flags
      ticks  

  public static void updateSettingPathToGcRoots(java.util.Map<java.lang.String, java.lang.String>, java.lang.Boolean);
    descriptor: (Ljava/util/Map;Ljava/lang/Boolean;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Map s
        start local 1 // java.lang.Boolean pathToGcRoots
         0: .line 89
            aload 1 /* pathToGcRoots */
            ifnull 4
         1: .line 90
            aload 0 /* s */
            ldc "jdk.OldObjectSample#cutoff"
            aload 1 /* pathToGcRoots */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 2
            ldc "infinity"
            goto 3
      StackMap locals: java.util.Map java.lang.Boolean
      StackMap stack: java.util.Map java.lang.String
         2: ldc "0 ns"
      StackMap locals: java.util.Map java.lang.Boolean
      StackMap stack: java.util.Map java.lang.String java.lang.String
         3: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 92
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Boolean pathToGcRoots
        end local 0 // java.util.Map s
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0              s  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    5     1  pathToGcRoots  Ljava/lang/Boolean;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/lang/Boolean;)V
    MethodParameters:
               Name  Flags
      s              
      pathToGcRoots  

  public static java.util.Map<java.lang.String, java.lang.String> createSettingsForSnapshot(jdk.jfr.internal.PlatformRecording, java.lang.Boolean);
    descriptor: (Ljdk/jfr/internal/PlatformRecording;Ljava/lang/Boolean;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.jfr.internal.PlatformRecording recording
        start local 1 // java.lang.Boolean pathToGcRoots
         0: .line 95
            new java.util.HashMap
            dup
            aload 0 /* recording */
            invokevirtual jdk.jfr.internal.PlatformRecording.getSettings:()Ljava/util/Map;
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            astore 2 /* settings */
        start local 2 // java.util.Map settings
         1: .line 96
            aload 2 /* settings */
            aload 1 /* pathToGcRoots */
            invokestatic jdk.jfr.internal.OldObjectSample.updateSettingPathToGcRoots:(Ljava/util/Map;Ljava/lang/Boolean;)V
         2: .line 97
            aload 2 /* settings */
            areturn
        end local 2 // java.util.Map settings
        end local 1 // java.lang.Boolean pathToGcRoots
        end local 0 // jdk.jfr.internal.PlatformRecording recording
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0      recording  Ljdk/jfr/internal/PlatformRecording;
            0    3     1  pathToGcRoots  Ljava/lang/Boolean;
            1    3     2       settings  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljdk/jfr/internal/PlatformRecording;Ljava/lang/Boolean;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
               Name  Flags
      recording      
      pathToGcRoots  

  private static boolean isEnabled(jdk.jfr.internal.PlatformRecording);
    descriptor: (Ljdk/jfr/internal/PlatformRecording;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // jdk.jfr.internal.PlatformRecording r
         0: .line 101
            aload 0 /* r */
            invokevirtual jdk.jfr.internal.PlatformRecording.getSettings:()Ljava/util/Map;
            astore 1 /* settings */
        start local 1 // java.util.Map settings
         1: .line 102
            aload 1 /* settings */
            ldc "jdk.OldObjectSample#enabled"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* s */
        start local 2 // java.lang.String s
         2: .line 103
            ldc "true"
            aload 2 /* s */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.lang.String s
        end local 1 // java.util.Map settings
        end local 0 // jdk.jfr.internal.PlatformRecording r
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0         r  Ljdk/jfr/internal/PlatformRecording;
            1    3     1  settings  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            2    3     2         s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      r     
}
SourceFile: "OldObjectSample.java"