public abstract class com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode extends com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode
  super_class: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode
{
  private com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode toPrimitiveNode;
    descriptor: Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.cast.JSToDoubleNode toDoubleNode;
    descriptor: Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private final com.oracle.truffle.api.profiles.ConditionProfile stringOrNumberProfile;
    descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.profiles.ConditionProfile isDateProfile;
    descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.profiles.ConditionProfile gotFieldsProfile;
    descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSBuiltin, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
        start local 3 // boolean isNewTargetCase
         0: .line 810
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* builtin */
            iload 3 /* isNewTargetCase */
            invokespecial com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;Z)V
         1: .line 815
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.stringOrNumberProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
         2: .line 816
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.isDateProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
         3: .line 817
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.gotFieldsProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
         4: .line 811
            return
        end local 3 // boolean isNewTargetCase
        end local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
            0    5     1          context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    5     2          builtin  Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
            0    5     3  isNewTargetCase  Z
    MethodParameters:
                 Name  Flags
      context          
      builtin          
      isNewTargetCase  

  private java.lang.Object toPrimitive(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
        start local 1 // java.lang.Object target
         0: .line 820
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toPrimitiveNode:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
            ifnonnull 3
         1: .line 821
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 822
            aload 0 /* this */
            aload 0 /* this */
            getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.None:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
            invokestatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.create:(Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;)Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toPrimitiveNode:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
         3: .line 824
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toPrimitiveNode:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
            aload 1 /* target */
            invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.execute:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object target
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
            0    4     1  target  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      target  

  protected double toDouble(java.lang.Object);
    descriptor: (Ljava/lang/Object;)D
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
        start local 1 // java.lang.Object target
         0: .line 828
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toDoubleNode:Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
            ifnonnull 3
         1: .line 829
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 830
            aload 0 /* this */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.nodes.cast.JSToDoubleNode.create:()Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.cast.JSToDoubleNode
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toDoubleNode:Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
         3: .line 832
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toDoubleNode:Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
            aload 1 /* target */
            invokevirtual com.oracle.truffle.js.nodes.cast.JSToDoubleNode.executeDouble:(Ljava/lang/Object;)D
            dreturn
        end local 1 // java.lang.Object target
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
            0    4     1  target  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      target  

  protected com.oracle.truffle.api.object.DynamicObject constructDateZero(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[]);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        start local 2 // java.lang.Object[] args
         0: .line 837
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.now:()D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.create:(Lcom/oracle/truffle/js/runtime/JSContext;D)Lcom/oracle/truffle/api/object/DynamicObject;
            aload 1 /* newTarget */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 2 // java.lang.Object[] args
        end local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
            0    1     1  newTarget  Lcom/oracle/truffle/api/object/DynamicObject;
            0    1     2       args  [Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"args.length == 0"})
    MethodParameters:
           Name  Flags
      newTarget  
      args       

  protected com.oracle.truffle.api.object.DynamicObject constructDateOne(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[], com.oracle.truffle.api.profiles.ConditionProfile, com.oracle.truffle.api.interop.InteropLibrary);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;Lcom/oracle/truffle/api/profiles/ConditionProfile;Lcom/oracle/truffle/api/interop/InteropLibrary;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        start local 2 // java.lang.Object[] args
        start local 3 // com.oracle.truffle.api.profiles.ConditionProfile isSpecialCase
        start local 4 // com.oracle.truffle.api.interop.InteropLibrary interop
         0: .line 844
            aload 0 /* this */
            aload 2 /* args */
            iconst_0
            aaload
            aload 4 /* interop */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getDateValue:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)D
            dstore 5 /* dateValue */
        start local 5 // double dateValue
         1: .line 845
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            dload 5 /* dateValue */
            aload 3 /* isSpecialCase */
            invokestatic com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.timeClip:(DLcom/oracle/truffle/api/profiles/ConditionProfile;)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.create:(Lcom/oracle/truffle/js/runtime/JSContext;D)Lcom/oracle/truffle/api/object/DynamicObject;
            aload 1 /* newTarget */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 5 // double dateValue
        end local 4 // com.oracle.truffle.api.interop.InteropLibrary interop
        end local 3 // com.oracle.truffle.api.profiles.ConditionProfile isSpecialCase
        end local 2 // java.lang.Object[] args
        end local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
            0    2     1      newTarget  Lcom/oracle/truffle/api/object/DynamicObject;
            0    2     2           args  [Ljava/lang/Object;
            0    2     3  isSpecialCase  Lcom/oracle/truffle/api/profiles/ConditionProfile;
            0    2     4        interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            1    2     5      dateValue  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"args.length == 1"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
        com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
      3:
        com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
    MethodParameters:
               Name  Flags
      newTarget      
      args           
      isSpecialCase  
      interop        

  protected com.oracle.truffle.api.object.DynamicObject constructDateMult(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[]);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        start local 2 // java.lang.Object[] args
         0: .line 850
            aload 0 /* this */
            aload 2 /* args */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.constructorImpl:([Ljava/lang/Object;)D
            dstore 3 /* val */
        start local 3 // double val
         1: .line 851
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            dload 3 /* val */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.create:(Lcom/oracle/truffle/js/runtime/JSContext;D)Lcom/oracle/truffle/api/object/DynamicObject;
            aload 1 /* newTarget */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 3 // double val
        end local 2 // java.lang.Object[] args
        end local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
            0    2     1  newTarget  Lcom/oracle/truffle/api/object/DynamicObject;
            0    2     2       args  [Ljava/lang/Object;
            1    2     3        val  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"args.length >= 2"})
    MethodParameters:
           Name  Flags
      newTarget  
      args       

  private static double timeClip(double, com.oracle.truffle.api.profiles.ConditionProfile);
    descriptor: (DLcom/oracle/truffle/api/profiles/ConditionProfile;)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // double dateValue
        start local 2 // com.oracle.truffle.api.profiles.ConditionProfile isSpecialCase
         0: .line 856
            aload 2 /* isSpecialCase */
            dload 0 /* dateValue */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifne 1
            dload 0 /* dateValue */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 1
            dload 0 /* dateValue */
            invokestatic java.lang.Math.abs:(D)D
            ldc 8.64E15
            dcmpl
            ifgt 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
         1: iconst_1
      StackMap locals: double com.oracle.truffle.api.profiles.ConditionProfile
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
         2: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 4
         3: .line 857
            ldc NaN
            dreturn
         4: .line 859
      StackMap locals:
      StackMap stack:
            dload 0 /* dateValue */
            d2l
            l2d
            dreturn
        end local 2 // com.oracle.truffle.api.profiles.ConditionProfile isSpecialCase
        end local 0 // double dateValue
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0      dateValue  D
            0    5     2  isSpecialCase  Lcom/oracle/truffle/api/profiles/ConditionProfile;
    MethodParameters:
               Name  Flags
      dateValue      
      isSpecialCase  

  private double now();
    descriptor: ()D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
         0: .line 864
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.currentTimeMillis:()J
            l2d
            dreturn
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()

  private double parseDate(java.lang.String);
    descriptor: (Ljava/lang/String;)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=16, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
        start local 1 // java.lang.String target
         0: .line 869
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getEvaluator:()Lcom/oracle/truffle/js/runtime/Evaluator;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            aload 1 /* target */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokeinterface com.oracle.truffle.js.runtime.Evaluator.parseDate:(Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/String;)[Ljava/lang/Integer;
            astore 2 /* fields */
        start local 2 // java.lang.Integer[] fields
         1: .line 870
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.gotFieldsProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
            aload 2 /* fields */
            ifnull 2
            iconst_1
            goto 3
      StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode java.lang.String java.lang.Integer[]
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
         2: iconst_0
      StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode java.lang.String java.lang.Integer[]
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
         3: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 5
         4: .line 871
            aload 2 /* fields */
            iconst_0
            aaload
            invokevirtual java.lang.Integer.intValue:()I
            i2d
            aload 2 /* fields */
            iconst_1
            aaload
            invokevirtual java.lang.Integer.intValue:()I
            i2d
            aload 2 /* fields */
            iconst_2
            aaload
            invokevirtual java.lang.Integer.intValue:()I
            i2d
            aload 2 /* fields */
            iconst_3
            aaload
            invokevirtual java.lang.Integer.intValue:()I
            i2d
            aload 2 /* fields */
            iconst_4
            aaload
            invokevirtual java.lang.Integer.intValue:()I
            i2d
            aload 2 /* fields */
            iconst_5
            aaload
            invokevirtual java.lang.Integer.intValue:()I
            i2d
            aload 2 /* fields */
            bipush 6
            aaload
            invokevirtual java.lang.Integer.intValue:()I
            i2d
            aload 2 /* fields */
            bipush 7
            aaload
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DDDDDDDLjava/lang/Integer;Lcom/oracle/truffle/js/runtime/JSContext;)D
            dreturn
         5: .line 873
      StackMap locals:
      StackMap stack:
            ldc NaN
            dreturn
        end local 2 // java.lang.Integer[] fields
        end local 1 // java.lang.String target
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
            0    6     1  target  Ljava/lang/String;
            1    6     2  fields  [Ljava/lang/Integer;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      target  

  private double getDateValue(java.lang.Object, com.oracle.truffle.api.interop.InteropLibrary);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
        start local 1 // java.lang.Object arg0
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary interop
         0: .line 877
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getEcmaScriptVersion:()I
            bipush 6
            if_icmplt 5
         1: .line 878
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.isDateProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
            aload 1 /* arg0 */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isJSDate:(Ljava/lang/Object;)Z
            invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 3
         2: .line 879
            aload 1 /* arg0 */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
            dreturn
         3: .line 880
      StackMap locals:
      StackMap stack:
            aload 2 /* interop */
            aload 1 /* arg0 */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstant:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 881
            aload 1 /* arg0 */
            aload 2 /* interop */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getDateValueFromInstant:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)D
            dreturn
         5: .line 884
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* arg0 */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toPrimitive:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* value */
        start local 3 // java.lang.Object value
         6: .line 885
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.stringOrNumberProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
            aload 3 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 8
         7: .line 886
            aload 0 /* this */
            aload 3 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toStringIsString:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.parseDate:(Ljava/lang/String;)D
            dreturn
         8: .line 888
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 3 /* value */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toDouble:(Ljava/lang/Object;)D
            dstore 4 /* dval */
        start local 4 // double dval
         9: .line 889
            dload 4 /* dval */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifne 10
            dload 4 /* dval */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 11
        10: .line 890
      StackMap locals: double
      StackMap stack:
            ldc NaN
            dreturn
        11: .line 892
      StackMap locals:
      StackMap stack:
            dload 4 /* dval */
            dreturn
        end local 4 // double dval
        end local 3 // java.lang.Object value
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary interop
        end local 1 // java.lang.Object arg0
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
            0   12     1     arg0  Ljava/lang/Object;
            0   12     2  interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            6   12     3    value  Ljava/lang/Object;
            9   12     4     dval  D
    MethodParameters:
         Name  Flags
      arg0     
      interop  

  private double constructorImpl(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
        start local 1 // java.lang.Object[] args
         0: .line 898
            aload 1 /* args */
            arraylength
            newarray 7
            astore 2 /* argsEvaluated */
        start local 2 // double[] argsEvaluated
         1: .line 899
            iconst_0
            istore 3 /* isNaN */
        start local 3 // boolean isNaN
         2: .line 900
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 9
         4: .line 901
      StackMap locals: double[] int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iload 4 /* i */
            aaload
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toDouble:(Ljava/lang/Object;)D
            dstore 5 /* d */
        start local 5 // double d
         5: .line 902
            dload 5 /* d */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 7
         6: .line 903
            iconst_1
            istore 3 /* isNaN */
         7: .line 905
      StackMap locals: double
      StackMap stack:
            aload 2 /* argsEvaluated */
            iload 4 /* i */
            dload 5 /* d */
            dastore
        end local 5 // double d
         8: .line 900
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 1 /* args */
            arraylength
            if_icmplt 4
        end local 4 // int i
        10: .line 907
            iload 3 /* isNaN */
            ifeq 12
        11: .line 908
            ldc NaN
            dreturn
        12: .line 910
      StackMap locals:
      StackMap stack:
            aload 2 /* argsEvaluated */
            iconst_0
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.executeConstructor:([DZLcom/oracle/truffle/js/runtime/JSContext;)D
            dreturn
        end local 3 // boolean isNaN
        end local 2 // double[] argsEvaluated
        end local 1 // java.lang.Object[] args
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
            0   13     1           args  [Ljava/lang/Object;
            1   13     2  argsEvaluated  [D
            2   13     3          isNaN  Z
            3   10     4              i  I
            5    8     5              d  D
    MethodParameters:
      Name  Flags
      args  

  protected com.oracle.truffle.api.object.DynamicObject getIntrinsicDefaultProto(com.oracle.truffle.js.runtime.JSRealm);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
         0: .line 915
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getDatePrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
            0    1     1  realm  Lcom/oracle/truffle/js/runtime/JSRealm;
    MethodParameters:
       Name  Flags
      realm  
}
SourceFile: "ConstructorBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.ConstructorBuiltins
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
  public abstract ConstructDateNode = com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode of com.oracle.truffle.js.builtins.ConstructorBuiltins
  public abstract ConstructWithNewTargetNode = com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode of com.oracle.truffle.js.builtins.ConstructorBuiltins
  public final Hint = com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint of com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode
    RuntimeInvisibleAnnotations: 
      com.oracle.truffle.api.dsl.ImportStatic(value = {Lcom/oracle/truffle/js/runtime/JSConfig;})