public class sun.jvm.hotspot.utilities.IntervalNode extends sun.jvm.hotspot.utilities.RBNode
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.utilities.IntervalNode
  super_class: sun.jvm.hotspot.utilities.RBNode
{
  private sun.jvm.hotspot.utilities.Interval interval;
    descriptor: Lsun/jvm/hotspot/utilities/Interval;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Comparator<java.lang.Object> endpointComparator;
    descriptor: Ljava/util/Comparator;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Comparator<Ljava/lang/Object;>;

  private java.lang.Object minEndpoint;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object maxEndpoint;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(sun.jvm.hotspot.utilities.Interval, java.util.Comparator<java.lang.Object>, );
    descriptor: (Lsun/jvm/hotspot/utilities/Interval;Ljava/util/Comparator;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // sun.jvm.hotspot.utilities.IntervalNode this
        start local 1 // sun.jvm.hotspot.utilities.Interval interval
        start local 2 // java.util.Comparator endpointComparator
        start local 3 // java.lang.Object data
         0: .line 38
            aload 0 /* this */
            aload 3 /* data */
            invokespecial sun.jvm.hotspot.utilities.RBNode.<init>:(Ljava/lang/Object;)V
         1: .line 39
            aload 0 /* this */
            aload 1 /* interval */
            putfield sun.jvm.hotspot.utilities.IntervalNode.interval:Lsun/jvm/hotspot/utilities/Interval;
         2: .line 40
            aload 0 /* this */
            aload 2 /* endpointComparator */
            putfield sun.jvm.hotspot.utilities.IntervalNode.endpointComparator:Ljava/util/Comparator;
         3: .line 41
            return
        end local 3 // java.lang.Object data
        end local 2 // java.util.Comparator endpointComparator
        end local 1 // sun.jvm.hotspot.utilities.Interval interval
        end local 0 // sun.jvm.hotspot.utilities.IntervalNode this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lsun/jvm/hotspot/utilities/IntervalNode;
            0    4     1            interval  Lsun/jvm/hotspot/utilities/Interval;
            0    4     2  endpointComparator  Ljava/util/Comparator<Ljava/lang/Object;>;
            0    4     3                data  Ljava/lang/Object;
    Signature: (Lsun/jvm/hotspot/utilities/Interval;Ljava/util/Comparator<Ljava/lang/Object;>;Ljava/lang/Object;)V
    MethodParameters:
                    Name  Flags
      interval            
      endpointComparator  
      data                

  public void copyFrom(sun.jvm.hotspot.utilities.RBNode);
    descriptor: (Lsun/jvm/hotspot/utilities/RBNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.IntervalNode this
        start local 1 // sun.jvm.hotspot.utilities.RBNode arg
         0: .line 44
            aload 1 /* arg */
            checkcast sun.jvm.hotspot.utilities.IntervalNode
            astore 2 /* argNode */
        start local 2 // sun.jvm.hotspot.utilities.IntervalNode argNode
         1: .line 45
            aload 0 /* this */
            aload 2 /* argNode */
            getfield sun.jvm.hotspot.utilities.IntervalNode.interval:Lsun/jvm/hotspot/utilities/Interval;
            putfield sun.jvm.hotspot.utilities.IntervalNode.interval:Lsun/jvm/hotspot/utilities/Interval;
         2: .line 46
            return
        end local 2 // sun.jvm.hotspot.utilities.IntervalNode argNode
        end local 1 // sun.jvm.hotspot.utilities.RBNode arg
        end local 0 // sun.jvm.hotspot.utilities.IntervalNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lsun/jvm/hotspot/utilities/IntervalNode;
            0    3     1      arg  Lsun/jvm/hotspot/utilities/RBNode;
            1    3     2  argNode  Lsun/jvm/hotspot/utilities/IntervalNode;
    MethodParameters:
      Name  Flags
      arg   

  public sun.jvm.hotspot.utilities.Interval getInterval();
    descriptor: ()Lsun/jvm/hotspot/utilities/Interval;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.IntervalNode this
         0: .line 49
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.IntervalNode.interval:Lsun/jvm/hotspot/utilities/Interval;
            areturn
        end local 0 // sun.jvm.hotspot.utilities.IntervalNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/IntervalNode;

  public java.lang.Object getMinEndpoint();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.IntervalNode this
         0: .line 53
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.IntervalNode.minEndpoint:Ljava/lang/Object;
            areturn
        end local 0 // sun.jvm.hotspot.utilities.IntervalNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/IntervalNode;

  public java.lang.Object getMaxEndpoint();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.IntervalNode this
         0: .line 57
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.IntervalNode.maxEndpoint:Ljava/lang/Object;
            areturn
        end local 0 // sun.jvm.hotspot.utilities.IntervalNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/IntervalNode;

  public boolean update();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.IntervalNode this
         0: .line 61
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.IntervalNode.computeMaxEndpoint:()Ljava/lang/Object;
            astore 1 /* newMaxEndpoint */
        start local 1 // java.lang.Object newMaxEndpoint
         1: .line 62
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.IntervalNode.computeMinEndpoint:()Ljava/lang/Object;
            astore 2 /* newMinEndpoint */
        start local 2 // java.lang.Object newMinEndpoint
         2: .line 64
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.IntervalNode.maxEndpoint:Ljava/lang/Object;
            aload 1 /* newMaxEndpoint */
            if_acmpne 3
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.IntervalNode.minEndpoint:Ljava/lang/Object;
            aload 2 /* newMinEndpoint */
            if_acmpeq 6
         3: .line 65
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newMaxEndpoint */
            putfield sun.jvm.hotspot.utilities.IntervalNode.maxEndpoint:Ljava/lang/Object;
         4: .line 66
            aload 0 /* this */
            aload 2 /* newMinEndpoint */
            putfield sun.jvm.hotspot.utilities.IntervalNode.minEndpoint:Ljava/lang/Object;
         5: .line 67
            iconst_1
            ireturn
         6: .line 70
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.Object newMinEndpoint
        end local 1 // java.lang.Object newMaxEndpoint
        end local 0 // sun.jvm.hotspot.utilities.IntervalNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lsun/jvm/hotspot/utilities/IntervalNode;
            1    7     1  newMaxEndpoint  Ljava/lang/Object;
            2    7     2  newMinEndpoint  Ljava/lang/Object;

  public java.lang.Object computeMinEndpoint();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.IntervalNode this
         0: .line 75
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.IntervalNode.getLeft:()Lsun/jvm/hotspot/utilities/RBNode;
            checkcast sun.jvm.hotspot.utilities.IntervalNode
            astore 1 /* left */
        start local 1 // sun.jvm.hotspot.utilities.IntervalNode left
         1: .line 76
            aload 1 /* left */
            ifnull 3
         2: .line 77
            aload 1 /* left */
            invokevirtual sun.jvm.hotspot.utilities.IntervalNode.getMinEndpoint:()Ljava/lang/Object;
            areturn
         3: .line 79
      StackMap locals: sun.jvm.hotspot.utilities.IntervalNode
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.IntervalNode.interval:Lsun/jvm/hotspot/utilities/Interval;
            invokevirtual sun.jvm.hotspot.utilities.Interval.getLowEndpoint:()Ljava/lang/Object;
            areturn
        end local 1 // sun.jvm.hotspot.utilities.IntervalNode left
        end local 0 // sun.jvm.hotspot.utilities.IntervalNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/jvm/hotspot/utilities/IntervalNode;
            1    4     1  left  Lsun/jvm/hotspot/utilities/IntervalNode;

  public java.lang.Object computeMaxEndpoint();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.IntervalNode this
         0: .line 84
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.IntervalNode.interval:Lsun/jvm/hotspot/utilities/Interval;
            invokevirtual sun.jvm.hotspot.utilities.Interval.getHighEndpoint:()Ljava/lang/Object;
            astore 1 /* curMax */
        start local 1 // java.lang.Object curMax
         1: .line 85
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.IntervalNode.getLeft:()Lsun/jvm/hotspot/utilities/RBNode;
            ifnull 5
         2: .line 86
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.IntervalNode.getLeft:()Lsun/jvm/hotspot/utilities/RBNode;
            checkcast sun.jvm.hotspot.utilities.IntervalNode
            astore 2 /* left */
        start local 2 // sun.jvm.hotspot.utilities.IntervalNode left
         3: .line 87
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.IntervalNode.endpointComparator:Ljava/util/Comparator;
            aload 2 /* left */
            invokevirtual sun.jvm.hotspot.utilities.IntervalNode.getMaxEndpoint:()Ljava/lang/Object;
            aload 1 /* curMax */
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ifle 5
         4: .line 88
            aload 2 /* left */
            invokevirtual sun.jvm.hotspot.utilities.IntervalNode.getMaxEndpoint:()Ljava/lang/Object;
            astore 1 /* curMax */
        end local 2 // sun.jvm.hotspot.utilities.IntervalNode left
         5: .line 92
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.IntervalNode.getRight:()Lsun/jvm/hotspot/utilities/RBNode;
            ifnull 9
         6: .line 93
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.IntervalNode.getRight:()Lsun/jvm/hotspot/utilities/RBNode;
            checkcast sun.jvm.hotspot.utilities.IntervalNode
            astore 2 /* right */
        start local 2 // sun.jvm.hotspot.utilities.IntervalNode right
         7: .line 94
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.IntervalNode.endpointComparator:Ljava/util/Comparator;
            aload 2 /* right */
            invokevirtual sun.jvm.hotspot.utilities.IntervalNode.getMaxEndpoint:()Ljava/lang/Object;
            aload 1 /* curMax */
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ifle 9
         8: .line 95
            aload 2 /* right */
            invokevirtual sun.jvm.hotspot.utilities.IntervalNode.getMaxEndpoint:()Ljava/lang/Object;
            astore 1 /* curMax */
        end local 2 // sun.jvm.hotspot.utilities.IntervalNode right
         9: .line 98
      StackMap locals:
      StackMap stack:
            aload 1 /* curMax */
            areturn
        end local 1 // java.lang.Object curMax
        end local 0 // sun.jvm.hotspot.utilities.IntervalNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lsun/jvm/hotspot/utilities/IntervalNode;
            1   10     1  curMax  Ljava/lang/Object;
            3    5     2    left  Lsun/jvm/hotspot/utilities/IntervalNode;
            7    9     2   right  Lsun/jvm/hotspot/utilities/IntervalNode;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.IntervalNode this
         0: .line 102
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.IntervalNode.interval:Lsun/jvm/hotspot/utilities/Interval;
            invokevirtual sun.jvm.hotspot.utilities.Interval.toString:()Ljava/lang/String;
            astore 1 /* res */
        start local 1 // java.lang.String res
         1: .line 103
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.IntervalNode.getData:()Ljava/lang/Object;
            astore 2 /* d */
        start local 2 // java.lang.Object d
         2: .line 104
            aload 2 /* d */
            ifnull 4
         3: .line 105
            new java.lang.StringBuilder
            dup
            aload 1 /* res */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* d */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* res */
         4: .line 107
      StackMap locals: java.lang.String java.lang.Object
      StackMap stack:
            aload 1 /* res */
            areturn
        end local 2 // java.lang.Object d
        end local 1 // java.lang.String res
        end local 0 // sun.jvm.hotspot.utilities.IntervalNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/jvm/hotspot/utilities/IntervalNode;
            1    5     1   res  Ljava/lang/String;
            2    5     2     d  Ljava/lang/Object;
}
SourceFile: "IntervalNode.java"