public final class com.oracle.truffle.js.runtime.builtins.JSDate extends com.oracle.truffle.js.runtime.builtins.JSNonProxy implements com.oracle.truffle.js.runtime.builtins.JSConstructorFactory$WithFunctions, com.oracle.truffle.js.runtime.builtins.PrototypeSupplier
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.js.runtime.builtins.JSDate
  super_class: com.oracle.truffle.js.runtime.builtins.JSNonProxy
{
  public static final java.lang.String CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Date"

  public static final java.lang.String PROTOTYPE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Date.prototype"

  private static java.time.format.DateTimeFormatter jsDateFormat;
    descriptor: Ljava/time/format/DateTimeFormatter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.time.format.DateTimeFormatter jsDateFormatBeforeYear0;
    descriptor: Ljava/time/format/DateTimeFormatter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.time.format.DateTimeFormatter jsDateFormatAfterYear9999;
    descriptor: Ljava/time/format/DateTimeFormatter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.time.format.DateTimeFormatter jsDateFormatISO;
    descriptor: Ljava/time/format/DateTimeFormatter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.time.format.DateTimeFormatter jsShortDateFormat;
    descriptor: Ljava/time/format/DateTimeFormatter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.time.format.DateTimeFormatter jsShortDateLocalFormat;
    descriptor: Ljava/time/format/DateTimeFormatter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.time.format.DateTimeFormatter jsShortTimeFormat;
    descriptor: Ljava/time/format/DateTimeFormatter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.time.format.DateTimeFormatter jsShortTimeLocalFormat;
    descriptor: Ljava/time/format/DateTimeFormatter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.time.format.DateTimeFormatter jsDateToStringFormat;
    descriptor: Ljava/time/format/DateTimeFormatter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  public static final com.oracle.truffle.js.runtime.builtins.JSDate INSTANCE;
    descriptor: Lcom/oracle/truffle/js/runtime/builtins/JSDate;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final int HOURS_PER_DAY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 24

  private static final int MINUTES_PER_HOUR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 60

  private static final int SECONDS_PER_MINUTE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 60

  private static final int MS_PER_SECOND;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1000

  public static final int MS_PER_MINUTE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 60000

  private static final int MS_PER_HOUR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3600000

  public static final int MS_PER_DAY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 86400000

  public static final double MAX_DATE;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8.64E15

  private static final int DAYS_IN_4_YEARS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1461

  private static final int DAYS_IN_100_YEARS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 36524

  private static final int DAYS_IN_400_YEARS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 146097

  private static final int DAYS_FROM_1970_TO_2000;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10957

  private static final int YEAR_SHIFT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 280000

  private static final int DAY_SHIFT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 102267900

  public static final java.lang.String INVALID_DATE_STRING;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Invalid Date"

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 70
            ldc Lcom/oracle/truffle/js/runtime/builtins/JSDate;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
         3: .line 84
            new com.oracle.truffle.js.runtime.builtins.JSDate
            dup
            invokespecial com.oracle.truffle.js.runtime.builtins.JSDate.<init>:()V
            putstatic com.oracle.truffle.js.runtime.builtins.JSDate.INSTANCE:Lcom/oracle/truffle/js/runtime/builtins/JSDate;
         4: .line 105
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDate this
         0: .line 107
            aload 0 /* this */
            invokespecial com.oracle.truffle.js.runtime.builtins.JSNonProxy.<init>:()V
         1: .line 108
            return
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/runtime/builtins/JSDate;

  public static void setTimeMillisField(com.oracle.truffle.api.object.DynamicObject, double);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;D)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.object.DynamicObject obj
        start local 1 // double timeMillis
         0: .line 111
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
            ifne 1
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isJSDate:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            checkcast com.oracle.truffle.js.runtime.builtins.JSDateObject
            dload 1 /* timeMillis */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSDateObject.setTimeMillis:(D)V
         2: .line 113
            return
        end local 1 // double timeMillis
        end local 0 // com.oracle.truffle.api.object.DynamicObject obj
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0         obj  Lcom/oracle/truffle/api/object/DynamicObject;
            0    3     1  timeMillis  D
    MethodParameters:
            Name  Flags
      obj         
      timeMillis  

  public static double getTimeMillisField(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject obj
         0: .line 116
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
            ifne 1
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isJSDate:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            checkcast com.oracle.truffle.js.runtime.builtins.JSDateObject
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSDateObject.getTimeMillis:()D
            dreturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   obj  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
      Name  Flags
      obj   

  public static boolean isJSDate(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 121
            aload 0 /* obj */
            instanceof com.oracle.truffle.js.runtime.builtins.JSDateObject
            ireturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public java.lang.String getClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDate this
         0: .line 126
            ldc "Date"
            areturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/JSDate;

  public java.lang.String getClassName(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDate this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
         0: .line 131
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSDate.getClassName:()Ljava/lang/String;
            areturn
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/js/runtime/builtins/JSDate;
            0    1     1  object  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
        Name  Flags
      object  

  public java.lang.String getBuiltinToStringTag(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDate this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
         0: .line 136
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSDate.getClassName:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
            areturn
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/js/runtime/builtins/JSDate;
            0    1     1  object  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
        Name  Flags
      object  

  public com.oracle.truffle.api.object.DynamicObject createPrototype(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDate this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 2 // com.oracle.truffle.api.object.DynamicObject ctor
         0: .line 141
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            astore 3 /* ctx */
        start local 3 // com.oracle.truffle.js.runtime.JSContext ctx
         1: .line 144
            aload 3 /* ctx */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getEcmaScriptVersion:()I
            bipush 6
            if_icmpge 6
         2: .line 145
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.INSTANCE:Lcom/oracle/truffle/js/runtime/builtins/JSDate;
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getObjectPrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
            invokestatic com.oracle.truffle.js.runtime.objects.JSShape.createPrototypeShape:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/Shape;
            astore 5 /* protoShape */
        start local 5 // com.oracle.truffle.api.object.Shape protoShape
         3: .line 146
            aload 5 /* protoShape */
            ldc NaN
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDateObject.create:(Lcom/oracle/truffle/api/object/Shape;D)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* datePrototype */
        start local 4 // com.oracle.truffle.api.object.DynamicObject datePrototype
         4: .line 147
            aload 3 /* ctx */
            aload 4 /* datePrototype */
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getObjectPrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
            invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.setOrVerifyPrototype:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)V
        end local 5 // com.oracle.truffle.api.object.Shape protoShape
         5: .line 148
            goto 7
        end local 4 // com.oracle.truffle.api.object.DynamicObject datePrototype
         6: .line 149
      StackMap locals: com.oracle.truffle.js.runtime.JSContext
      StackMap stack:
            aload 1 /* realm */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.createOrdinaryPrototypeObject:(Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* datePrototype */
        start local 4 // com.oracle.truffle.api.object.DynamicObject datePrototype
         7: .line 152
      StackMap locals: com.oracle.truffle.api.object.DynamicObject
      StackMap stack:
            aload 3 /* ctx */
            aload 4 /* datePrototype */
            aload 2 /* ctor */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putConstructorProperty:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)V
         8: .line 153
            aload 1 /* realm */
            aload 4 /* datePrototype */
            getstatic com.oracle.truffle.js.builtins.DatePrototypeBuiltins.BUILTINS:Lcom/oracle/truffle/js/builtins/JSBuiltinsContainer;
            invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putFunctionsFromContainer:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/builtins/JSBuiltinsContainer;)V
         9: .line 155
            aload 3 /* ctx */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionAnnexB:()Z
            ifeq 12
        10: .line 156
            aload 4 /* datePrototype */
            ldc "toUTCString"
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.getOrNull:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* utcStringFunction */
        start local 5 // java.lang.Object utcStringFunction
        11: .line 157
            aload 3 /* ctx */
            aload 4 /* datePrototype */
            ldc "toGMTString"
            aload 5 /* utcStringFunction */
            invokestatic com.oracle.truffle.js.runtime.objects.JSAttributes.getDefaultNotEnumerable:()I
            invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putDataProperty:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        end local 5 // java.lang.Object utcStringFunction
        12: .line 159
      StackMap locals:
      StackMap stack:
            aload 4 /* datePrototype */
            areturn
        end local 4 // com.oracle.truffle.api.object.DynamicObject datePrototype
        end local 3 // com.oracle.truffle.js.runtime.JSContext ctx
        end local 2 // com.oracle.truffle.api.object.DynamicObject ctor
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDate this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0               this  Lcom/oracle/truffle/js/runtime/builtins/JSDate;
            0   13     1              realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0   13     2               ctor  Lcom/oracle/truffle/api/object/DynamicObject;
            1   13     3                ctx  Lcom/oracle/truffle/js/runtime/JSContext;
            4    6     4      datePrototype  Lcom/oracle/truffle/api/object/DynamicObject;
            7   13     4      datePrototype  Lcom/oracle/truffle/api/object/DynamicObject;
            3    5     5         protoShape  Lcom/oracle/truffle/api/object/Shape;
           11   12     5  utcStringFunction  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      realm  
      ctor   

  public com.oracle.truffle.api.object.Shape makeInitialShape(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/Shape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDate this
        start local 1 // com.oracle.truffle.js.runtime.JSContext ctx
        start local 2 // com.oracle.truffle.api.object.DynamicObject prototype
         0: .line 164
            aload 2 /* prototype */
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.INSTANCE:Lcom/oracle/truffle/js/runtime/builtins/JSDate;
            aload 1 /* ctx */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getProtoChildShape:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/Shape;
            astore 3 /* initialShape */
        start local 3 // com.oracle.truffle.api.object.Shape initialShape
         1: .line 165
            aload 3 /* initialShape */
            areturn
        end local 3 // com.oracle.truffle.api.object.Shape initialShape
        end local 2 // com.oracle.truffle.api.object.DynamicObject prototype
        end local 1 // com.oracle.truffle.js.runtime.JSContext ctx
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/oracle/truffle/js/runtime/builtins/JSDate;
            0    2     1           ctx  Lcom/oracle/truffle/js/runtime/JSContext;
            0    2     2     prototype  Lcom/oracle/truffle/api/object/DynamicObject;
            1    2     3  initialShape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
           Name  Flags
      ctx        
      prototype  

  public static com.oracle.truffle.js.runtime.builtins.JSConstructor createConstructor(com.oracle.truffle.js.runtime.JSRealm);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/js/runtime/builtins/JSConstructor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSRealm realm
         0: .line 169
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.INSTANCE:Lcom/oracle/truffle/js/runtime/builtins/JSDate;
            aload 0 /* realm */
            getstatic com.oracle.truffle.js.builtins.DateFunctionBuiltins.BUILTINS:Lcom/oracle/truffle/js/builtins/JSBuiltinsContainer;
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSDate.createConstructorAndPrototype:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/builtins/JSBuiltinsContainer;)Lcom/oracle/truffle/js/runtime/builtins/JSConstructor;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.JSRealm realm
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  realm  Lcom/oracle/truffle/js/runtime/JSRealm;
    MethodParameters:
       Name  Flags
      realm  

  public static double executeConstructor(double[], boolean, com.oracle.truffle.js.runtime.JSContext);
    descriptor: ([DZLcom/oracle/truffle/js/runtime/JSContext;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=16, locals=17, args_size=3
        start local 0 // double[] argsEvaluated
        start local 1 // boolean inputIsUTC
        start local 2 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 174
            aload 0 /* argsEvaluated */
            arraylength
            ifle 1
            aload 0 /* argsEvaluated */
            iconst_0
            daload
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc NaN
      StackMap locals:
      StackMap stack: double
         2: dstore 3 /* year */
        start local 3 // double year
         3: .line 175
            aload 0 /* argsEvaluated */
            arraylength
            iconst_1
            if_icmple 4
            aload 0 /* argsEvaluated */
            iconst_1
            daload
            goto 5
      StackMap locals: double
      StackMap stack:
         4: dconst_0
      StackMap locals:
      StackMap stack: double
         5: dstore 5 /* month */
        start local 5 // double month
         6: .line 177
            dload 3 /* year */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 7
            dload 3 /* year */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifne 7
            dload 5 /* month */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 7
            dload 5 /* month */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 8
         7: .line 178
      StackMap locals: double
      StackMap stack:
            ldc NaN
            dreturn
         8: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* argsEvaluated */
            iconst_2
            iconst_1
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getArgOrDefault:([DII)D
            dstore 7 /* day */
        start local 7 // double day
         9: .line 182
            aload 0 /* argsEvaluated */
            iconst_3
            iconst_0
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getArgOrDefault:([DII)D
            dstore 9 /* hour */
        start local 9 // double hour
        10: .line 183
            aload 0 /* argsEvaluated */
            iconst_4
            iconst_0
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getArgOrDefault:([DII)D
            dstore 11 /* minute */
        start local 11 // double minute
        11: .line 184
            aload 0 /* argsEvaluated */
            iconst_5
            iconst_0
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getArgOrDefault:([DII)D
            dstore 13 /* second */
        start local 13 // double second
        12: .line 185
            aload 0 /* argsEvaluated */
            bipush 6
            iconst_0
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getArgOrDefault:([DII)D
            dstore 15 /* ms */
        start local 15 // double ms
        13: .line 187
            dload 3 /* year */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.toFullYear:(D)D
            dload 5 /* month */
            dload 7 /* day */
            dload 9 /* hour */
            dload 11 /* minute */
            dload 13 /* second */
            dload 15 /* ms */
            iload 1 /* inputIsUTC */
            ifeq 14
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            goto 15
      StackMap locals: double[] int com.oracle.truffle.js.runtime.JSContext double double double double double double double
      StackMap stack: double double double double double double double
        14: aconst_null
      StackMap locals: double[] int com.oracle.truffle.js.runtime.JSContext double double double double double double double
      StackMap stack: double double double double double double double java.lang.Integer
        15: aload 2 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DDDDDDDLjava/lang/Integer;Lcom/oracle/truffle/js/runtime/JSContext;)D
            dreturn
        end local 15 // double ms
        end local 13 // double second
        end local 11 // double minute
        end local 9 // double hour
        end local 7 // double day
        end local 5 // double month
        end local 3 // double year
        end local 2 // com.oracle.truffle.js.runtime.JSContext context
        end local 1 // boolean inputIsUTC
        end local 0 // double[] argsEvaluated
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0  argsEvaluated  [D
            0   16     1     inputIsUTC  Z
            0   16     2        context  Lcom/oracle/truffle/js/runtime/JSContext;
            3   16     3           year  D
            6   16     5          month  D
            9   16     7            day  D
           10   16     9           hour  D
           11   16    11         minute  D
           12   16    13         second  D
           13   16    15             ms  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
               Name  Flags
      argsEvaluated  
      inputIsUTC     
      context        

  private static double getArgOrDefault(double[], int, int);
    descriptor: ([DII)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // double[] argsEvaluated
        start local 1 // int index
        start local 2 // int def
         0: .line 191
            aload 0 /* argsEvaluated */
            arraylength
            iload 1 /* index */
            if_icmple 2
         1: .line 192
            aload 0 /* argsEvaluated */
            iload 1 /* index */
            daload
            dreturn
         2: .line 194
      StackMap locals:
      StackMap stack:
            iload 2 /* def */
            i2d
            dreturn
        end local 2 // int def
        end local 1 // int index
        end local 0 // double[] argsEvaluated
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0  argsEvaluated  [D
            0    3     1          index  I
            0    3     2            def  I
    MethodParameters:
               Name  Flags
      argsEvaluated  
      index          
      def            

  private static double day(double);
    descriptor: (D)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double t
         0: .line 199
            dload 0 /* t */
            ldc 8.64E7
            ddiv
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.floor:(D)D
            dreturn
        end local 0 // double t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  D
    MethodParameters:
      Name  Flags
      t     

  private static double timeWithinDay(double);
    descriptor: (D)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double t
         0: .line 204
            dload 0 /* t */
            ldc 8.64E7
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.secureNegativeModulo:(DD)D
            dreturn
        end local 0 // double t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  D
    MethodParameters:
      Name  Flags
      t     

  public static int dayFromYear(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int y
         0: .line 208
            sipush 365
            iload 0 /* y */
            sipush 1970
            isub
            imul
            iload 0 /* y */
            sipush 1969
            isub
            iconst_4
            invokestatic java.lang.Math.floorDiv:(II)I
            iadd
            iload 0 /* y */
            sipush 1901
            isub
            bipush 100
            invokestatic java.lang.Math.floorDiv:(II)I
            isub
            iload 0 /* y */
            sipush 1601
            isub
            sipush 400
            invokestatic java.lang.Math.floorDiv:(II)I
            iadd
            ireturn
        end local 0 // int y
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     y  I
    MethodParameters:
      Name  Flags
      y     

  public static int yearFromTime(long);
    descriptor: (J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // long t
         0: .line 213
            lload 0 /* t */
            ldc 86400000
            invokestatic java.lang.Math.floorDiv:(JI)J
            lstore 2 /* daysAfter1970 */
        start local 2 // long daysAfter1970
         1: .line 214
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
            ifne 2
            lload 2 /* daysAfter1970 */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.longIsRepresentableAsInt:(J)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 215
      StackMap locals: long
      StackMap stack:
            lload 2 /* daysAfter1970 */
            l2i
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.yearFromDays:(I)I
            ireturn
        end local 2 // long daysAfter1970
        end local 0 // long t
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0              t  J
            1    3     2  daysAfter1970  J
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      t     

  public static int yearFromDays(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // int daysAfter1970
         0: .line 220
            iload 0 /* daysAfter1970 */
            sipush 10957
            isub
            istore 1 /* daysAfter2000 */
        start local 1 // int daysAfter2000
         1: .line 222
            iload 1 /* daysAfter2000 */
            ldc 102267900
            iadd
            istore 2 /* days */
        start local 2 // int days
         2: .line 224
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
            ifne 3
            iload 2 /* days */
            ifgt 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 226
      StackMap locals: int int
      StackMap stack:
            sipush 400
            iload 2 /* days */
            ldc 146097
            idiv
            imul
            istore 3 /* year */
        start local 3 // int year
         4: .line 227
            iload 2 /* days */
            ldc 146097
            irem
            istore 4 /* remainingDays */
        start local 4 // int remainingDays
         5: .line 228
            iinc 4 /* remainingDays */ -1
         6: .line 229
            iload 3 /* year */
            bipush 100
            iload 4 /* remainingDays */
            ldc 36524
            idiv
            imul
            iadd
            istore 3 /* year */
         7: .line 230
            iload 4 /* remainingDays */
            ldc 36524
            irem
            istore 4 /* remainingDays */
         8: .line 231
            iinc 4 /* remainingDays */ 1
         9: .line 232
            iload 3 /* year */
            iconst_4
            iload 4 /* remainingDays */
            sipush 1461
            idiv
            imul
            iadd
            istore 3 /* year */
        10: .line 233
            iload 4 /* remainingDays */
            sipush 1461
            irem
            istore 4 /* remainingDays */
        11: .line 234
            iinc 4 /* remainingDays */ -1
        12: .line 235
            iload 3 /* year */
            iload 4 /* remainingDays */
            sipush 365
            idiv
            iadd
            istore 3 /* year */
        13: .line 237
            iload 3 /* year */
            ldc 280000
            isub
            sipush 2000
            iadd
            ireturn
        end local 4 // int remainingDays
        end local 3 // int year
        end local 2 // int days
        end local 1 // int daysAfter2000
        end local 0 // int daysAfter1970
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0  daysAfter1970  I
            1   14     1  daysAfter2000  I
            2   14     2           days  I
            4   14     3           year  I
            5   14     4  remainingDays  I
    MethodParameters:
               Name  Flags
      daysAfter1970  

  private static boolean isLeapYear(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int year
         0: .line 241
            iload 0 /* year */
            iconst_4
            irem
            ifeq 2
         1: .line 242
            iconst_0
            ireturn
         2: .line 244
      StackMap locals:
      StackMap stack:
            iload 0 /* year */
            bipush 100
            irem
            ifeq 4
         3: .line 245
            iconst_1
            ireturn
         4: .line 247
      StackMap locals:
      StackMap stack:
            iload 0 /* year */
            sipush 400
            irem
            ifne 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 0 // int year
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  year  I
    MethodParameters:
      Name  Flags
      year  

  public static int monthFromTime(double);
    descriptor: (D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // double dt
         0: .line 253
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
            ifne 1
            dload 0 /* dt */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsLong:(D)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 254
      StackMap locals:
      StackMap stack:
            dload 0 /* dt */
            d2l
            lstore 2 /* t */
        start local 2 // long t
         2: .line 255
            lload 2 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.yearFromTime:(J)I
            istore 4 /* year */
        start local 4 // int year
         3: .line 256
            iload 4 /* year */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isLeapYear:(I)Z
            istore 5 /* leapYear */
        start local 5 // boolean leapYear
         4: .line 257
            lload 2 /* t */
            iload 4 /* year */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.dayWithinYear:(JI)I
            istore 6 /* day */
        start local 6 // int day
         5: .line 259
            iload 5 /* leapYear */
            iload 6 /* day */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.monthFromTimeIntl:(ZI)I
            ireturn
        end local 6 // int day
        end local 5 // boolean leapYear
        end local 4 // int year
        end local 2 // long t
        end local 0 // double dt
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0        dt  D
            2    6     2         t  J
            3    6     4      year  I
            4    6     5  leapYear  Z
            5    6     6       day  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      dt    

  private static int monthFromTimeIntl(boolean, int);
    descriptor: (ZI)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // boolean leapYear
        start local 1 // int day
         0: .line 263
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
            ifne 4
            iload 1 /* day */
            iflt 3
            iload 1 /* day */
            sipush 365
            iload 0 /* leapYear */
            ifeq 1
            iconst_1
            goto 2
      StackMap locals: int int
      StackMap stack: int int
         1: iconst_0
      StackMap locals: int int
      StackMap stack: int int int
         2: iadd
            if_icmplt 4
      StackMap locals:
      StackMap stack:
         3: new java.lang.AssertionError
            dup
            ldc "should not reach here"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 265
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            bipush 31
            if_icmpge 6
         5: .line 266
            iconst_0
            ireturn
         6: .line 268
      StackMap locals:
      StackMap stack:
            iload 0 /* leapYear */
            ifne 28
         7: .line 269
            iload 1 /* day */
            bipush 59
            if_icmpge 9
         8: .line 270
            iconst_1
            ireturn
         9: .line 272
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            bipush 90
            if_icmpge 11
        10: .line 273
            iconst_2
            ireturn
        11: .line 275
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            bipush 120
            if_icmpge 13
        12: .line 276
            iconst_3
            ireturn
        13: .line 278
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            sipush 151
            if_icmpge 15
        14: .line 279
            iconst_4
            ireturn
        15: .line 281
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            sipush 181
            if_icmpge 17
        16: .line 282
            iconst_5
            ireturn
        17: .line 284
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            sipush 212
            if_icmpge 19
        18: .line 285
            bipush 6
            ireturn
        19: .line 287
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            sipush 243
            if_icmpge 21
        20: .line 288
            bipush 7
            ireturn
        21: .line 290
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            sipush 273
            if_icmpge 23
        22: .line 291
            bipush 8
            ireturn
        23: .line 293
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            sipush 304
            if_icmpge 25
        24: .line 294
            bipush 9
            ireturn
        25: .line 296
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            sipush 334
            if_icmpge 27
        26: .line 297
            bipush 10
            ireturn
        27: .line 299
      StackMap locals:
      StackMap stack:
            bipush 11
            ireturn
        28: .line 301
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            bipush 60
            if_icmpge 30
        29: .line 302
            iconst_1
            ireturn
        30: .line 304
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            bipush 91
            if_icmpge 32
        31: .line 305
            iconst_2
            ireturn
        32: .line 307
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            bipush 121
            if_icmpge 34
        33: .line 308
            iconst_3
            ireturn
        34: .line 310
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            sipush 152
            if_icmpge 36
        35: .line 311
            iconst_4
            ireturn
        36: .line 313
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            sipush 182
            if_icmpge 38
        37: .line 314
            iconst_5
            ireturn
        38: .line 316
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            sipush 213
            if_icmpge 40
        39: .line 317
            bipush 6
            ireturn
        40: .line 319
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            sipush 244
            if_icmpge 42
        41: .line 320
            bipush 7
            ireturn
        42: .line 322
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            sipush 274
            if_icmpge 44
        43: .line 323
            bipush 8
            ireturn
        44: .line 325
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            sipush 305
            if_icmpge 46
        45: .line 326
            bipush 9
            ireturn
        46: .line 328
      StackMap locals:
      StackMap stack:
            iload 1 /* day */
            sipush 335
            if_icmpge 48
        47: .line 329
            bipush 10
            ireturn
        48: .line 331
      StackMap locals:
      StackMap stack:
            bipush 11
            ireturn
        end local 1 // int day
        end local 0 // boolean leapYear
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   49     0  leapYear  Z
            0   49     1       day  I
    MethodParameters:
          Name  Flags
      leapYear  
      day       

  private static int dayWithinYear(long, int);
    descriptor: (JI)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // long t
        start local 2 // int year
         0: .line 337
            lload 0 /* t */
            ldc 86400000
            invokestatic java.lang.Math.floorDiv:(JI)J
            l2i
            iload 2 /* year */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.dayFromYear:(I)I
            isub
            ireturn
        end local 2 // int year
        end local 0 // long t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  J
            0    1     2  year  I
    MethodParameters:
      Name  Flags
      t     
      year  

  public static int dateFromTime(double);
    descriptor: (D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // double dt
         0: .line 343
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
            ifne 1
            dload 0 /* dt */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsLong:(D)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 344
      StackMap locals:
      StackMap stack:
            dload 0 /* dt */
            d2l
            lstore 2 /* t */
        start local 2 // long t
         2: .line 345
            lload 2 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.yearFromTime:(J)I
            istore 4 /* year */
        start local 4 // int year
         3: .line 346
            lload 2 /* t */
            iload 4 /* year */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.dayWithinYear:(JI)I
            istore 5 /* day */
        start local 5 // int day
         4: .line 347
            iload 4 /* year */
            iload 5 /* day */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.dateFromDayInYear:(II)I
            ireturn
        end local 5 // int day
        end local 4 // int year
        end local 2 // long t
        end local 0 // double dt
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    dt  D
            2    5     2     t  J
            3    5     4  year  I
            4    5     5   day  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      dt    

  public static int dateFromDayInYear(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // int year
        start local 1 // int day
         0: .line 351
            iload 1 /* day */
            bipush 31
            if_icmpge 2
         1: .line 352
            iload 1 /* day */
            iconst_1
            iadd
            ireturn
         2: .line 354
      StackMap locals:
      StackMap stack:
            iload 0 /* year */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isLeapYear:(I)Z
            istore 2 /* leapYear */
        start local 2 // boolean leapYear
         3: .line 355
            iload 1 /* day */
            iload 2 /* leapYear */
            ifeq 4
            iconst_1
            goto 5
      StackMap locals: int int int
      StackMap stack: int
         4: iconst_0
      StackMap locals: int int int
      StackMap stack: int int
         5: isub
            istore 3 /* dayMinusLeap */
        start local 3 // int dayMinusLeap
         6: .line 356
            iload 2 /* leapYear */
            iload 1 /* day */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.monthFromTimeIntl:(ZI)I
            tableswitch { // 1 - 11
                    1: 7
                    2: 8
                    3: 9
                    4: 10
                    5: 11
                    6: 12
                    7: 13
                    8: 14
                    9: 15
                   10: 16
                   11: 17
              default: 18
          }
         7: .line 359
      StackMap locals: int
      StackMap stack:
            iload 1 /* day */
            bipush 30
            isub
            ireturn
         8: .line 361
      StackMap locals:
      StackMap stack:
            iload 3 /* dayMinusLeap */
            bipush 58
            isub
            ireturn
         9: .line 363
      StackMap locals:
      StackMap stack:
            iload 3 /* dayMinusLeap */
            bipush 89
            isub
            ireturn
        10: .line 365
      StackMap locals:
      StackMap stack:
            iload 3 /* dayMinusLeap */
            bipush 119
            isub
            ireturn
        11: .line 367
      StackMap locals:
      StackMap stack:
            iload 3 /* dayMinusLeap */
            sipush 150
            isub
            ireturn
        12: .line 369
      StackMap locals:
      StackMap stack:
            iload 3 /* dayMinusLeap */
            sipush 180
            isub
            ireturn
        13: .line 371
      StackMap locals:
      StackMap stack:
            iload 3 /* dayMinusLeap */
            sipush 211
            isub
            ireturn
        14: .line 373
      StackMap locals:
      StackMap stack:
            iload 3 /* dayMinusLeap */
            sipush 242
            isub
            ireturn
        15: .line 375
      StackMap locals:
      StackMap stack:
            iload 3 /* dayMinusLeap */
            sipush 272
            isub
            ireturn
        16: .line 377
      StackMap locals:
      StackMap stack:
            iload 3 /* dayMinusLeap */
            sipush 303
            isub
            ireturn
        17: .line 379
      StackMap locals:
      StackMap stack:
            iload 3 /* dayMinusLeap */
            sipush 333
            isub
            ireturn
        18: .line 380
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
            ifne 20
            new java.lang.AssertionError
            dup
        19: .line 381
            ldc "should not reach here"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        20: .line 382
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 3 // int dayMinusLeap
        end local 2 // boolean leapYear
        end local 1 // int day
        end local 0 // int year
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          year  I
            0   21     1           day  I
            3   21     2      leapYear  Z
            6   21     3  dayMinusLeap  I
    MethodParameters:
      Name  Flags
      year  
      day   

  public static double weekDay(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // double t
         0: .line 387
            dload 0 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.day:(D)D
            d2i
            iconst_4
            iadd
            bipush 7
            irem
            istore 2 /* result */
        start local 2 // int result
         1: .line 388
            iload 2 /* result */
            iflt 2
            iload 2 /* result */
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iload 2 /* result */
            bipush 7
            iadd
      StackMap locals:
      StackMap stack: int
         3: i2d
            dreturn
        end local 2 // int result
        end local 0 // double t
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0       t  D
            1    4     2  result  I
    MethodParameters:
      Name  Flags
      t     

  public static double localTime(double, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (DLcom/oracle/truffle/js/runtime/JSContext;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // double t
        start local 2 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 392
            dload 0 /* t */
            dload 0 /* t */
            iconst_1
            aload 2 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTZA:(DZLcom/oracle/truffle/js/runtime/JSContext;)J
            l2d
            dadd
            dreturn
        end local 2 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // double t
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0        t  D
            0    1     2  context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
         Name  Flags
      t        
      context  

  private static double utc(double, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (DLcom/oracle/truffle/js/runtime/JSContext;)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // double t
        start local 2 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 396
            dload 0 /* t */
            dload 0 /* t */
            iconst_0
            aload 2 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTZA:(DZLcom/oracle/truffle/js/runtime/JSContext;)J
            l2d
            dsub
            dreturn
        end local 2 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // double t
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0        t  D
            0    1     2  context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
         Name  Flags
      t        
      context  

  public static long localTZA(double, boolean, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (DZLcom/oracle/truffle/js/runtime/JSContext;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // double t
        start local 2 // boolean isUTC
        start local 3 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 400
            dload 0 /* t */
            iload 2 /* isUTC */
            aload 3 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getLocalTimeZoneId:()Ljava/time/ZoneId;
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTZA:(DZLjava/time/ZoneId;)J
            lreturn
        end local 3 // com.oracle.truffle.js.runtime.JSContext context
        end local 2 // boolean isUTC
        end local 0 // double t
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0        t  D
            0    1     2    isUTC  Z
            0    1     3  context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
         Name  Flags
      t        
      isUTC    
      context  

  public static long localTZA(double, boolean, java.time.ZoneId);
    descriptor: (DZLjava/time/ZoneId;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=6, args_size=3
        start local 0 // double t
        start local 2 // boolean isUTC
        start local 3 // java.time.ZoneId zoneId
         0: .line 406
            iload 2 /* isUTC */
            ifeq 3
         1: .line 407
            aload 3 /* zoneId */
            invokevirtual java.time.ZoneId.getRules:()Ljava/time/zone/ZoneRules;
            dload 0 /* t */
            d2l
            invokestatic java.time.Instant.ofEpochMilli:(J)Ljava/time/Instant;
            invokevirtual java.time.zone.ZoneRules.getOffset:(Ljava/time/Instant;)Ljava/time/ZoneOffset;
            astore 4 /* zoneOffset */
        start local 4 // java.time.ZoneOffset zoneOffset
         2: .line 408
            goto 7
        end local 4 // java.time.ZoneOffset zoneOffset
         3: .line 409
      StackMap locals:
      StackMap stack:
            dload 0 /* t */
            invokestatic java.lang.Math.abs:(D)D
            ldc 8.6400000864E15
            dcmpg
            iflt 5
         4: .line 412
            lconst_0
            lreturn
         5: .line 414
      StackMap locals:
      StackMap stack:
            dload 0 /* t */
            d2l
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.yearFromTime:(J)I
            iconst_1
            dload 0 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.monthFromTime:(D)I
            iadd
            dload 0 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.dateFromTime:(D)I
            dload 0 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.hourFromTime:(D)I
            dload 0 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.minFromTime:(D)I
            dload 0 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.secFromTime:(D)I
            dload 0 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.msFromTime:(D)I
            invokestatic java.time.LocalDateTime.of:(IIIIIII)Ljava/time/LocalDateTime;
            astore 5 /* localDateTime */
        start local 5 // java.time.LocalDateTime localDateTime
         6: .line 415
            aload 3 /* zoneId */
            invokevirtual java.time.ZoneId.getRules:()Ljava/time/zone/ZoneRules;
            aload 5 /* localDateTime */
            invokevirtual java.time.zone.ZoneRules.getOffset:(Ljava/time/LocalDateTime;)Ljava/time/ZoneOffset;
            astore 4 /* zoneOffset */
        end local 5 // java.time.LocalDateTime localDateTime
        start local 4 // java.time.ZoneOffset zoneOffset
         7: .line 417
      StackMap locals: java.time.ZoneOffset
      StackMap stack:
            aload 4 /* zoneOffset */
            invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
            i2l
            ldc 1000
            lmul
            lreturn
        end local 4 // java.time.ZoneOffset zoneOffset
        end local 3 // java.time.ZoneId zoneId
        end local 2 // boolean isUTC
        end local 0 // double t
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0              t  D
            0    8     2          isUTC  Z
            0    8     3         zoneId  Ljava/time/ZoneId;
            2    3     4     zoneOffset  Ljava/time/ZoneOffset;
            7    8     4     zoneOffset  Ljava/time/ZoneOffset;
            6    7     5  localDateTime  Ljava/time/LocalDateTime;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      t       
      isUTC   
      zoneId  

  public static int hourFromTime(double);
    descriptor: (D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double t
         0: .line 423
            dload 0 /* t */
            ldc 3600000.0
            ddiv
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.floor:(D)D
            ldc 24.0
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.secureNegativeModulo:(DD)D
            d2i
            ireturn
        end local 0 // double t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      t     

  public static int minFromTime(double);
    descriptor: (D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double t
         0: .line 428
            dload 0 /* t */
            ldc 60000.0
            ddiv
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.floor:(D)D
            ldc 60.0
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.secureNegativeModulo:(DD)D
            d2i
            ireturn
        end local 0 // double t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      t     

  public static int secFromTime(double);
    descriptor: (D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double t
         0: .line 433
            dload 0 /* t */
            ldc 1000.0
            ddiv
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.floor:(D)D
            ldc 60.0
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.secureNegativeModulo:(DD)D
            d2i
            ireturn
        end local 0 // double t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      t     

  public static int msFromTime(double);
    descriptor: (D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double t
         0: .line 438
            dload 0 /* t */
            ldc 1000.0
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.secureNegativeModulo:(DD)D
            d2i
            ireturn
        end local 0 // double t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      t     

  private static double secureNegativeModulo(double, double);
    descriptor: (DD)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // double value
        start local 2 // double modulo
         0: .line 442
            dload 0 /* value */
            dload 2 /* modulo */
            drem
            dstore 4 /* result */
        start local 4 // double result
         1: .line 443
            dload 4 /* result */
            dconst_0
            dcmpl
            iflt 3
         2: .line 444
            dload 4 /* result */
            dreturn
         3: .line 446
      StackMap locals: double
      StackMap stack:
            dload 4 /* result */
            dload 2 /* modulo */
            dadd
            dreturn
        end local 4 // double result
        end local 2 // double modulo
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0   value  D
            0    4     2  modulo  D
            1    4     4  result  D
    MethodParameters:
        Name  Flags
      value   
      modulo  

  private static double makeTime(double, double, double, double);
    descriptor: (DDDD)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=16, args_size=4
        start local 0 // double hour
        start local 2 // double min
        start local 4 // double sec
        start local 6 // double ms
         0: .line 453
            dload 0 /* hour */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
            ifeq 1
            dload 2 /* min */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
            ifeq 1
            dload 4 /* sec */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
            ifeq 1
            dload 6 /* ms */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
            ifne 2
         1: .line 454
      StackMap locals:
      StackMap stack:
            ldc NaN
            dreturn
         2: .line 456
      StackMap locals:
      StackMap stack:
            dload 0 /* hour */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.doubleToLong:(D)J
            lstore 8 /* h */
        start local 8 // long h
         3: .line 457
            dload 2 /* min */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.doubleToLong:(D)J
            lstore 10 /* m */
        start local 10 // long m
         4: .line 458
            dload 4 /* sec */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.doubleToLong:(D)J
            lstore 12 /* s */
        start local 12 // long s
         5: .line 459
            dload 6 /* ms */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.doubleToLong:(D)J
            lstore 14 /* milli */
        start local 14 // long milli
         6: .line 460
            lload 8 /* h */
            ldc 3600000
            lmul
            lload 10 /* m */
            ldc 60000
            lmul
            ladd
            lload 12 /* s */
            ldc 1000
            lmul
            ladd
            l2d
            lload 14 /* milli */
            l2d
            dadd
            dreturn
        end local 14 // long milli
        end local 12 // long s
        end local 10 // long m
        end local 8 // long h
        end local 6 // double ms
        end local 4 // double sec
        end local 2 // double min
        end local 0 // double hour
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   hour  D
            0    7     2    min  D
            0    7     4    sec  D
            0    7     6     ms  D
            3    7     8      h  J
            4    7    10      m  J
            5    7    12      s  J
            6    7    14  milli  J
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      hour  
      min   
      sec   
      ms    

  private static double makeDay(double, double, double);
    descriptor: (DDD)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=17, args_size=3
        start local 0 // double year
        start local 2 // double month
        start local 4 // double date
         0: .line 466
            dload 0 /* year */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
            ifeq 1
            dload 2 /* month */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
            ifeq 1
            dload 4 /* date */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
            ifne 2
         1: .line 467
      StackMap locals:
      StackMap stack:
            ldc NaN
            dreturn
         2: .line 469
      StackMap locals:
      StackMap stack:
            dload 0 /* year */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.doubleToLong:(D)J
            l2d
            dstore 6 /* y */
        start local 6 // double y
         3: .line 470
            dload 2 /* month */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.doubleToLong:(D)J
            l2d
            dstore 8 /* m */
        start local 8 // double m
         4: .line 471
            dload 4 /* date */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.doubleToLong:(D)J
            l2d
            dstore 10 /* dt */
        start local 10 // double dt
         5: .line 473
            dload 6 /* y */
            dload 8 /* m */
            ldc 12.0
            ddiv
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.floor:(D)D
            dadd
            dstore 12 /* ym */
        start local 12 // double ym
         6: .line 474
            dload 8 /* m */
            ldc 12.0
            drem
            d2i
            istore 14 /* mn */
        start local 14 // int mn
         7: .line 475
            iload 14 /* mn */
            ifge 9
         8: .line 476
            iinc 14 /* mn */ 12
         9: .line 479
      StackMap locals: double double double double double double double int
      StackMap stack:
            dload 12 /* ym */
            ldc -9.99999999E8
            dcmpg
            iflt 10
            dload 12 /* ym */
            ldc 9.99999999E8
            dcmpl
            ifle 11
        10: .line 480
      StackMap locals:
      StackMap stack:
            ldc NaN
            dreturn
        11: .line 483
      StackMap locals:
      StackMap stack:
            dload 12 /* ym */
            d2i
            iload 14 /* mn */
            iconst_1
            iadd
            iconst_1
            invokestatic java.time.LocalDate.of:(III)Ljava/time/LocalDate;
            invokevirtual java.time.LocalDate.atStartOfDay:()Ljava/time/LocalDateTime;
            getstatic java.time.ZoneOffset.UTC:Ljava/time/ZoneOffset;
            invokevirtual java.time.LocalDateTime.toInstant:(Ljava/time/ZoneOffset;)Ljava/time/Instant;
            invokevirtual java.time.Instant.toEpochMilli:()J
            l2d
            dstore 15 /* t */
        start local 15 // double t
        12: .line 484
            dload 15 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.day:(D)D
            dload 10 /* dt */
            dadd
            dconst_1
            dsub
            dreturn
        end local 15 // double t
        end local 14 // int mn
        end local 12 // double ym
        end local 10 // double dt
        end local 8 // double m
        end local 6 // double y
        end local 4 // double date
        end local 2 // double month
        end local 0 // double year
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   year  D
            0   13     2  month  D
            0   13     4   date  D
            3   13     6      y  D
            4   13     8      m  D
            5   13    10     dt  D
            6   13    12     ym  D
            7   13    14     mn  I
           12   13    15      t  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      year   
      month  
      date   

  private static long doubleToLong(double);
    descriptor: (D)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double value
         0: .line 488
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
            ifne 1
            dload 0 /* value */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 489
      StackMap locals:
      StackMap stack:
            dload 0 /* value */
            d2l
            lreturn
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  D
    MethodParameters:
       Name  Flags
      value  

  private static double makeDate(double, double);
    descriptor: (DD)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double day
        start local 2 // double time
         0: .line 495
            dload 0 /* day */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
            ifeq 1
            dload 2 /* time */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
            ifne 2
         1: .line 496
      StackMap locals:
      StackMap stack:
            ldc NaN
            dreturn
         2: .line 498
      StackMap locals:
      StackMap stack:
            dload 0 /* day */
            ldc 8.64E7
            dmul
            dload 2 /* time */
            dadd
            dreturn
        end local 2 // double time
        end local 0 // double day
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   day  D
            0    3     2  time  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      day   
      time  

  public static double makeDate(double, double, double, double, double, double, double, java.lang.Integer, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (DDDDDDDLjava/lang/Integer;Lcom/oracle/truffle/js/runtime/JSContext;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=22, args_size=9
        start local 0 // double y
        start local 2 // double m
        start local 4 // double d
        start local 6 // double h
        start local 8 // double min
        start local 10 // double sec
        start local 12 // double ms
        start local 14 // java.lang.Integer timezone
        start local 15 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 503
            dload 0 /* y */
            dload 2 /* m */
            dload 4 /* d */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDay:(DDD)D
            dstore 16 /* day */
        start local 16 // double day
         1: .line 504
            dload 6 /* h */
            dload 8 /* min */
            dload 10 /* sec */
            dload 12 /* ms */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeTime:(DDDD)D
            dstore 18 /* time */
        start local 18 // double time
         2: .line 505
            dload 16 /* day */
            dload 18 /* time */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
            dstore 20 /* date */
        start local 20 // double date
         3: .line 507
            aload 14 /* timezone */
            ifnonnull 6
         4: .line 508
            dload 20 /* date */
            aload 15 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.utc:(DLcom/oracle/truffle/js/runtime/JSContext;)D
            dstore 20 /* date */
         5: .line 509
            goto 7
         6: .line 510
      StackMap locals: double double double
      StackMap stack:
            dload 20 /* date */
            aload 14 /* timezone */
            invokevirtual java.lang.Integer.intValue:()I
            ldc 60000
            imul
            i2d
            dsub
            dstore 20 /* date */
         7: .line 512
      StackMap locals:
      StackMap stack:
            dload 20 /* date */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeClip:(D)D
            dreturn
        end local 20 // double date
        end local 18 // double time
        end local 16 // double day
        end local 15 // com.oracle.truffle.js.runtime.JSContext context
        end local 14 // java.lang.Integer timezone
        end local 12 // double ms
        end local 10 // double sec
        end local 8 // double min
        end local 6 // double h
        end local 4 // double d
        end local 2 // double m
        end local 0 // double y
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0         y  D
            0    8     2         m  D
            0    8     4         d  D
            0    8     6         h  D
            0    8     8       min  D
            0    8    10       sec  D
            0    8    12        ms  D
            0    8    14  timezone  Ljava/lang/Integer;
            0    8    15   context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    8    16       day  D
            2    8    18      time  D
            3    8    20      date  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      y         
      m         
      d         
      h         
      min       
      sec       
      ms        
      timezone  
      context   

  public static double timeClip(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double time
         0: .line 519
            dload 0 /* time */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifne 1
            dload 0 /* time */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 1
            dload 0 /* time */
            invokestatic java.lang.Math.abs:(D)D
            ldc 8.64E15
            dcmpl
            ifle 2
         1: .line 520
      StackMap locals:
      StackMap stack:
            ldc NaN
            dreturn
         2: .line 524
      StackMap locals:
      StackMap stack:
            dload 0 /* time */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual java.lang.Double.longValue:()J
            l2d
            dreturn
        end local 0 // double time
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  time  D
    MethodParameters:
      Name  Flags
      time  

  private static boolean isFinite(double);
    descriptor: (D)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double d
         0: .line 529
            dload 0 /* d */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 1
            dload 0 /* d */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     d  D
    MethodParameters:
      Name  Flags
      d     

  private static double floor(double);
    descriptor: (D)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double d
         0: .line 534
            dload 0 /* d */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.mathFloor:(D)D
            dreturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static com.oracle.truffle.api.object.DynamicObject create(com.oracle.truffle.js.runtime.JSContext, double);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;D)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // double timeMillis
         0: .line 538
            aload 0 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            astore 3 /* realm */
        start local 3 // com.oracle.truffle.js.runtime.JSRealm realm
         1: .line 539
            aload 0 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getDateFactory:()Lcom/oracle/truffle/js/runtime/builtins/JSObjectFactory;
            astore 4 /* factory */
        start local 4 // com.oracle.truffle.js.runtime.builtins.JSObjectFactory factory
         2: .line 540
            aload 4 /* factory */
            aload 3 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSObjectFactory.getShape:(Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/Shape;
            dload 1 /* timeMillis */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDateObject.create:(Lcom/oracle/truffle/api/object/Shape;D)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 5 /* obj */
        start local 5 // com.oracle.truffle.api.object.DynamicObject obj
         3: .line 541
            aload 4 /* factory */
            aload 5 /* obj */
            aload 3 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSObjectFactory.initProto:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
            pop
         4: .line 542
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
            ifne 5
            aload 5 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isJSDate:(Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 543
      StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.builtins.JSObjectFactory com.oracle.truffle.api.object.DynamicObject
      StackMap stack:
            aload 0 /* context */
            aload 5 /* obj */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.trackAllocation:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.object.DynamicObject
            areturn
        end local 5 // com.oracle.truffle.api.object.DynamicObject obj
        end local 4 // com.oracle.truffle.js.runtime.builtins.JSObjectFactory factory
        end local 3 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 1 // double timeMillis
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0     context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    6     1  timeMillis  D
            1    6     3       realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            2    6     4     factory  Lcom/oracle/truffle/js/runtime/builtins/JSObjectFactory;
            3    6     5         obj  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
            Name  Flags
      context     
      timeMillis  

  public static double setTime(com.oracle.truffle.api.object.DynamicObject, double);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
        start local 1 // double time
         0: .line 547
            dload 1 /* time */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeClip:(D)D
            dstore 3 /* v */
        start local 3 // double v
         1: .line 548
            aload 0 /* thisDate */
            dload 3 /* v */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
         2: .line 549
            dload 3 /* v */
            dreturn
        end local 3 // double v
        end local 1 // double time
        end local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  thisDate  Lcom/oracle/truffle/api/object/DynamicObject;
            0    3     1      time  D
            1    3     3         v  D
    MethodParameters:
          Name  Flags
      thisDate  
      time      

  public static double setMilliseconds(com.oracle.truffle.api.object.DynamicObject, double, boolean, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;DZLcom/oracle/truffle/js/runtime/JSContext;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=11, args_size=4
        start local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
        start local 1 // double ms
        start local 3 // boolean isUTC
        start local 4 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 553
            aload 0 /* thisDate */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
            iload 3 /* isUTC */
            aload 4 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
            dstore 5 /* t */
        start local 5 // double t
         1: .line 554
            dload 5 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.hourFromTime:(D)I
            i2d
            dload 5 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.minFromTime:(D)I
            i2d
            dload 5 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.secFromTime:(D)I
            i2d
            dload 1 /* ms */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeTime:(DDDD)D
            dstore 7 /* time */
        start local 7 // double time
         2: .line 555
            dload 5 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.day:(D)D
            dload 7 /* time */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
            iload 3 /* isUTC */
            aload 4 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.utc:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeClip:(D)D
            dstore 9 /* u */
        start local 9 // double u
         3: .line 556
            aload 0 /* thisDate */
            dload 9 /* u */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
         4: .line 557
            dload 9 /* u */
            dreturn
        end local 9 // double u
        end local 7 // double time
        end local 5 // double t
        end local 4 // com.oracle.truffle.js.runtime.JSContext context
        end local 3 // boolean isUTC
        end local 1 // double ms
        end local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  thisDate  Lcom/oracle/truffle/api/object/DynamicObject;
            0    5     1        ms  D
            0    5     3     isUTC  Z
            0    5     4   context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    5     5         t  D
            2    5     7      time  D
            3    5     9         u  D
    MethodParameters:
          Name  Flags
      thisDate  
      ms        
      isUTC     
      context   

  public static double setSeconds(com.oracle.truffle.api.object.DynamicObject, double, double, boolean, boolean, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;DDZZLcom/oracle/truffle/js/runtime/JSContext;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=16, args_size=6
        start local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
        start local 1 // double s
        start local 3 // double ms
        start local 5 // boolean msSpecified
        start local 6 // boolean isUTC
        start local 7 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 561
            aload 0 /* thisDate */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
            iload 6 /* isUTC */
            aload 7 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
            dstore 8 /* t */
        start local 8 // double t
         1: .line 562
            iload 5 /* msSpecified */
            ifeq 2
            dload 3 /* ms */
            goto 3
      StackMap locals: double
      StackMap stack:
         2: dload 8 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.msFromTime:(D)I
            i2d
      StackMap locals:
      StackMap stack: double
         3: dstore 10 /* milli */
        start local 10 // double milli
         4: .line 563
            dload 8 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.day:(D)D
            dload 8 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.hourFromTime:(D)I
            i2d
            dload 8 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.minFromTime:(D)I
            i2d
            dload 1 /* s */
            dload 10 /* milli */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeTime:(DDDD)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
            dstore 12 /* date */
        start local 12 // double date
         5: .line 564
            dload 12 /* date */
            iload 6 /* isUTC */
            aload 7 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.utc:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeClip:(D)D
            dstore 14 /* u */
        start local 14 // double u
         6: .line 565
            aload 0 /* thisDate */
            dload 14 /* u */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
         7: .line 566
            dload 14 /* u */
            dreturn
        end local 14 // double u
        end local 12 // double date
        end local 10 // double milli
        end local 8 // double t
        end local 7 // com.oracle.truffle.js.runtime.JSContext context
        end local 6 // boolean isUTC
        end local 5 // boolean msSpecified
        end local 3 // double ms
        end local 1 // double s
        end local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0     thisDate  Lcom/oracle/truffle/api/object/DynamicObject;
            0    8     1            s  D
            0    8     3           ms  D
            0    8     5  msSpecified  Z
            0    8     6        isUTC  Z
            0    8     7      context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    8     8            t  D
            4    8    10        milli  D
            5    8    12         date  D
            6    8    14            u  D
    MethodParameters:
             Name  Flags
      thisDate     
      s            
      ms           
      msSpecified  
      isUTC        
      context      

  public static double setMinutes(com.oracle.truffle.api.object.DynamicObject, double, double, boolean, double, boolean, boolean, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;DDZDZZLcom/oracle/truffle/js/runtime/JSContext;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=21, args_size=8
        start local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
        start local 1 // double m
        start local 3 // double s
        start local 5 // boolean sSpecified
        start local 6 // double ms
        start local 8 // boolean msSpecified
        start local 9 // boolean isUTC
        start local 10 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 570
            aload 0 /* thisDate */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
            iload 9 /* isUTC */
            aload 10 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
            dstore 11 /* t */
        start local 11 // double t
         1: .line 571
            iload 8 /* msSpecified */
            ifeq 2
            dload 6 /* ms */
            goto 3
      StackMap locals: double
      StackMap stack:
         2: dload 11 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.msFromTime:(D)I
            i2d
      StackMap locals:
      StackMap stack: double
         3: dstore 13 /* milli */
        start local 13 // double milli
         4: .line 572
            iload 5 /* sSpecified */
            ifeq 5
            dload 3 /* s */
            goto 6
      StackMap locals: double
      StackMap stack:
         5: dload 11 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.secFromTime:(D)I
            i2d
      StackMap locals:
      StackMap stack: double
         6: dstore 15 /* sec */
        start local 15 // double sec
         7: .line 573
            dload 11 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.day:(D)D
            dload 11 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.hourFromTime:(D)I
            i2d
            dload 1 /* m */
            dload 15 /* sec */
            dload 13 /* milli */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeTime:(DDDD)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
            dstore 17 /* date */
        start local 17 // double date
         8: .line 574
            dload 17 /* date */
            iload 9 /* isUTC */
            aload 10 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.utc:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeClip:(D)D
            dstore 19 /* u */
        start local 19 // double u
         9: .line 575
            aload 0 /* thisDate */
            dload 19 /* u */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
        10: .line 576
            dload 19 /* u */
            dreturn
        end local 19 // double u
        end local 17 // double date
        end local 15 // double sec
        end local 13 // double milli
        end local 11 // double t
        end local 10 // com.oracle.truffle.js.runtime.JSContext context
        end local 9 // boolean isUTC
        end local 8 // boolean msSpecified
        end local 6 // double ms
        end local 5 // boolean sSpecified
        end local 3 // double s
        end local 1 // double m
        end local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0     thisDate  Lcom/oracle/truffle/api/object/DynamicObject;
            0   11     1            m  D
            0   11     3            s  D
            0   11     5   sSpecified  Z
            0   11     6           ms  D
            0   11     8  msSpecified  Z
            0   11     9        isUTC  Z
            0   11    10      context  Lcom/oracle/truffle/js/runtime/JSContext;
            1   11    11            t  D
            4   11    13        milli  D
            7   11    15          sec  D
            8   11    17         date  D
            9   11    19            u  D
    MethodParameters:
             Name  Flags
      thisDate     
      m            
      s            
      sSpecified   
      ms           
      msSpecified  
      isUTC        
      context      

  public static double setHours(com.oracle.truffle.api.object.DynamicObject, double, double, boolean, double, boolean, double, boolean, boolean, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;DDZDZDZZLcom/oracle/truffle/js/runtime/JSContext;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=26, args_size=10
        start local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
        start local 1 // double h
        start local 3 // double m
        start local 5 // boolean mSpecified
        start local 6 // double s
        start local 8 // boolean sSpecified
        start local 9 // double ms
        start local 11 // boolean msSpecified
        start local 12 // boolean isUTC
        start local 13 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 580
            aload 0 /* thisDate */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
            iload 12 /* isUTC */
            aload 13 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
            dstore 14 /* t */
        start local 14 // double t
         1: .line 581
            iload 11 /* msSpecified */
            ifeq 2
            dload 9 /* ms */
            goto 3
      StackMap locals: double
      StackMap stack:
         2: dload 14 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.msFromTime:(D)I
            i2d
      StackMap locals:
      StackMap stack: double
         3: dstore 16 /* milli */
        start local 16 // double milli
         4: .line 582
            iload 8 /* sSpecified */
            ifeq 5
            dload 6 /* s */
            goto 6
      StackMap locals: double
      StackMap stack:
         5: dload 14 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.secFromTime:(D)I
            i2d
      StackMap locals:
      StackMap stack: double
         6: dstore 18 /* sec */
        start local 18 // double sec
         7: .line 583
            iload 5 /* mSpecified */
            ifeq 8
            dload 3 /* m */
            goto 9
      StackMap locals: double
      StackMap stack:
         8: dload 14 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.minFromTime:(D)I
            i2d
      StackMap locals:
      StackMap stack: double
         9: dstore 20 /* min */
        start local 20 // double min
        10: .line 584
            dload 14 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.day:(D)D
            dload 1 /* h */
            dload 20 /* min */
            dload 18 /* sec */
            dload 16 /* milli */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeTime:(DDDD)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
            dstore 22 /* date */
        start local 22 // double date
        11: .line 585
            dload 22 /* date */
            iload 12 /* isUTC */
            aload 13 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.utc:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeClip:(D)D
            dstore 24 /* u */
        start local 24 // double u
        12: .line 586
            aload 0 /* thisDate */
            dload 24 /* u */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
        13: .line 587
            dload 24 /* u */
            dreturn
        end local 24 // double u
        end local 22 // double date
        end local 20 // double min
        end local 18 // double sec
        end local 16 // double milli
        end local 14 // double t
        end local 13 // com.oracle.truffle.js.runtime.JSContext context
        end local 12 // boolean isUTC
        end local 11 // boolean msSpecified
        end local 9 // double ms
        end local 8 // boolean sSpecified
        end local 6 // double s
        end local 5 // boolean mSpecified
        end local 3 // double m
        end local 1 // double h
        end local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0     thisDate  Lcom/oracle/truffle/api/object/DynamicObject;
            0   14     1            h  D
            0   14     3            m  D
            0   14     5   mSpecified  Z
            0   14     6            s  D
            0   14     8   sSpecified  Z
            0   14     9           ms  D
            0   14    11  msSpecified  Z
            0   14    12        isUTC  Z
            0   14    13      context  Lcom/oracle/truffle/js/runtime/JSContext;
            1   14    14            t  D
            4   14    16        milli  D
            7   14    18          sec  D
           10   14    20          min  D
           11   14    22         date  D
           12   14    24            u  D
    MethodParameters:
             Name  Flags
      thisDate     
      h            
      m            
      mSpecified   
      s            
      sSpecified   
      ms           
      msSpecified  
      isUTC        
      context      

  public static double setDate(com.oracle.truffle.api.object.DynamicObject, double, boolean, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;DZLcom/oracle/truffle/js/runtime/JSContext;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
        start local 1 // double date
        start local 3 // boolean isUTC
        start local 4 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 591
            aload 0 /* thisDate */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
            iload 3 /* isUTC */
            aload 4 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
            dstore 5 /* t */
        start local 5 // double t
         1: .line 593
            dload 5 /* t */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 4
         2: .line 594
            ldc NaN
            dstore 7 /* u */
        start local 7 // double u
         3: .line 595
            goto 6
        end local 7 // double u
         4: .line 596
      StackMap locals: double
      StackMap stack:
            dload 5 /* t */
            d2l
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.yearFromTime:(J)I
            i2d
            dload 5 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.monthFromTime:(D)I
            i2d
            dload 1 /* date */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDay:(DDD)D
            dload 5 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeWithinDay:(D)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
            dstore 9 /* newDate */
        start local 9 // double newDate
         5: .line 597
            dload 9 /* newDate */
            iload 3 /* isUTC */
            aload 4 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.utc:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeClip:(D)D
            dstore 7 /* u */
        end local 9 // double newDate
        start local 7 // double u
         6: .line 599
      StackMap locals: double
      StackMap stack:
            aload 0 /* thisDate */
            dload 7 /* u */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
         7: .line 600
            dload 7 /* u */
            dreturn
        end local 7 // double u
        end local 5 // double t
        end local 4 // com.oracle.truffle.js.runtime.JSContext context
        end local 3 // boolean isUTC
        end local 1 // double date
        end local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0  thisDate  Lcom/oracle/truffle/api/object/DynamicObject;
            0    8     1      date  D
            0    8     3     isUTC  Z
            0    8     4   context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    8     5         t  D
            3    4     7         u  D
            6    8     7         u  D
            5    6     9   newDate  D
    MethodParameters:
          Name  Flags
      thisDate  
      date      
      isUTC     
      context   

  public static double setMonth(com.oracle.truffle.api.object.DynamicObject, double, double, boolean, boolean, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;DDZZLcom/oracle/truffle/js/runtime/JSContext;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=14, args_size=6
        start local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
        start local 1 // double month
        start local 3 // double date
        start local 5 // boolean dateSpecified
        start local 6 // boolean isUTC
        start local 7 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 604
            aload 0 /* thisDate */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
            iload 6 /* isUTC */
            aload 7 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
            dstore 8 /* t */
        start local 8 // double t
         1: .line 606
            dload 8 /* t */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 4
         2: .line 607
            ldc NaN
            dstore 10 /* newDate */
        start local 10 // double newDate
         3: .line 608
            goto 8
        end local 10 // double newDate
         4: .line 609
      StackMap locals: double
      StackMap stack:
            iload 5 /* dateSpecified */
            ifeq 5
            dload 3 /* date */
            goto 6
      StackMap locals:
      StackMap stack:
         5: dload 8 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.dateFromTime:(D)I
            i2d
      StackMap locals:
      StackMap stack: double
         6: dstore 12 /* dt */
        start local 12 // double dt
         7: .line 610
            dload 8 /* t */
            d2l
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.yearFromTime:(J)I
            i2d
            dload 1 /* month */
            dload 12 /* dt */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDay:(DDD)D
            dload 8 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeWithinDay:(D)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
            iload 6 /* isUTC */
            aload 7 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.utc:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeClip:(D)D
            dstore 10 /* newDate */
        end local 12 // double dt
        start local 10 // double newDate
         8: .line 612
      StackMap locals: double
      StackMap stack:
            aload 0 /* thisDate */
            dload 10 /* newDate */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
         9: .line 613
            dload 10 /* newDate */
            dreturn
        end local 10 // double newDate
        end local 8 // double t
        end local 7 // com.oracle.truffle.js.runtime.JSContext context
        end local 6 // boolean isUTC
        end local 5 // boolean dateSpecified
        end local 3 // double date
        end local 1 // double month
        end local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0       thisDate  Lcom/oracle/truffle/api/object/DynamicObject;
            0   10     1          month  D
            0   10     3           date  D
            0   10     5  dateSpecified  Z
            0   10     6          isUTC  Z
            0   10     7        context  Lcom/oracle/truffle/js/runtime/JSContext;
            1   10     8              t  D
            3    4    10        newDate  D
            8   10    10        newDate  D
            7    8    12             dt  D
    MethodParameters:
               Name  Flags
      thisDate       
      month          
      date           
      dateSpecified  
      isUTC          
      context        

  public static double setFullYear(com.oracle.truffle.api.object.DynamicObject, double, double, boolean, double, boolean, boolean, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;DDZDZZLcom/oracle/truffle/js/runtime/JSContext;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=23, args_size=8
        start local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
        start local 1 // double year
        start local 3 // double month
        start local 5 // boolean monthSpecified
        start local 6 // double date
        start local 8 // boolean dateSpecified
        start local 9 // boolean isUTC
        start local 10 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 617
            aload 0 /* thisDate */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
            dstore 11 /* timeFieldValue */
        start local 11 // double timeFieldValue
         1: .line 618
            dload 11 /* timeFieldValue */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 2
            dconst_0
            goto 3
      StackMap locals: double
      StackMap stack:
         2: dload 11 /* timeFieldValue */
            iload 9 /* isUTC */
            aload 10 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
      StackMap locals:
      StackMap stack: double
         3: dstore 13 /* t */
        start local 13 // double t
         4: .line 619
            iload 8 /* dateSpecified */
            ifeq 5
            dload 6 /* date */
            goto 6
      StackMap locals: double
      StackMap stack:
         5: dload 13 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.dateFromTime:(D)I
            i2d
      StackMap locals:
      StackMap stack: double
         6: dstore 15 /* dt */
        start local 15 // double dt
         7: .line 620
            iload 5 /* monthSpecified */
            ifeq 8
            dload 3 /* month */
            goto 9
      StackMap locals: double
      StackMap stack:
         8: dload 13 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.monthFromTime:(D)I
            i2d
      StackMap locals:
      StackMap stack: double
         9: dstore 17 /* m */
        start local 17 // double m
        10: .line 621
            dload 1 /* year */
            dload 17 /* m */
            dload 15 /* dt */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDay:(DDD)D
            dload 13 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeWithinDay:(D)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
            dstore 19 /* newDate */
        start local 19 // double newDate
        11: .line 622
            dload 19 /* newDate */
            iload 9 /* isUTC */
            aload 10 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.utc:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeClip:(D)D
            dstore 21 /* u */
        start local 21 // double u
        12: .line 623
            aload 0 /* thisDate */
            dload 21 /* u */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
        13: .line 624
            dload 21 /* u */
            dreturn
        end local 21 // double u
        end local 19 // double newDate
        end local 17 // double m
        end local 15 // double dt
        end local 13 // double t
        end local 11 // double timeFieldValue
        end local 10 // com.oracle.truffle.js.runtime.JSContext context
        end local 9 // boolean isUTC
        end local 8 // boolean dateSpecified
        end local 6 // double date
        end local 5 // boolean monthSpecified
        end local 3 // double month
        end local 1 // double year
        end local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0        thisDate  Lcom/oracle/truffle/api/object/DynamicObject;
            0   14     1            year  D
            0   14     3           month  D
            0   14     5  monthSpecified  Z
            0   14     6            date  D
            0   14     8   dateSpecified  Z
            0   14     9           isUTC  Z
            0   14    10         context  Lcom/oracle/truffle/js/runtime/JSContext;
            1   14    11  timeFieldValue  D
            4   14    13               t  D
            7   14    15              dt  D
           10   14    17               m  D
           11   14    19         newDate  D
           12   14    21               u  D
    MethodParameters:
                Name  Flags
      thisDate        
      year            
      month           
      monthSpecified  
      date            
      dateSpecified   
      isUTC           
      context         

  public static double setYear(com.oracle.truffle.api.object.DynamicObject, double, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;DLcom/oracle/truffle/js/runtime/JSContext;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
        start local 1 // double year
        start local 3 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 628
            aload 0 /* thisDate */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
            dstore 4 /* t */
        start local 4 // double t
         1: .line 629
            dload 4 /* t */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 2
            dconst_0
            goto 3
      StackMap locals: double
      StackMap stack:
         2: dload 4 /* t */
            aload 3 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DLcom/oracle/truffle/js/runtime/JSContext;)D
      StackMap locals:
      StackMap stack: double
         3: dstore 4 /* t */
         4: .line 630
            dload 1 /* year */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 7
         5: .line 631
            aload 0 /* thisDate */
            ldc NaN
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
         6: .line 632
            ldc NaN
            dreturn
         7: .line 634
      StackMap locals:
      StackMap stack:
            dload 1 /* year */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.toFullYear:(D)D
            dstore 6 /* fullYear */
        start local 6 // double fullYear
         8: .line 635
            dload 6 /* fullYear */
            dload 4 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.monthFromTime:(D)I
            i2d
            dload 4 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.dateFromTime:(D)I
            i2d
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDay:(DDD)D
            dstore 8 /* r5 */
        start local 8 // double r5
         9: .line 636
            dload 8 /* r5 */
            dload 4 /* t */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeWithinDay:(D)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
            aload 3 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.utc:(DLcom/oracle/truffle/js/runtime/JSContext;)D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeClip:(D)D
            dstore 10 /* r6 */
        start local 10 // double r6
        10: .line 637
            aload 0 /* thisDate */
            dload 10 /* r6 */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
        11: .line 638
            dload 10 /* r6 */
            dreturn
        end local 10 // double r6
        end local 8 // double r5
        end local 6 // double fullYear
        end local 4 // double t
        end local 3 // com.oracle.truffle.js.runtime.JSContext context
        end local 1 // double year
        end local 0 // com.oracle.truffle.api.object.DynamicObject thisDate
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0  thisDate  Lcom/oracle/truffle/api/object/DynamicObject;
            0   12     1      year  D
            0   12     3   context  Lcom/oracle/truffle/js/runtime/JSContext;
            1   12     4         t  D
            8   12     6  fullYear  D
            9   12     8        r5  D
           10   12    10        r6  D
    MethodParameters:
          Name  Flags
      thisDate  
      year      
      context   

  private static double toFullYear(double);
    descriptor: (D)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double year
         0: .line 643
            ldc -1.0
            dload 0 /* year */
            dcmpg
            ifge 2
            dload 0 /* year */
            ldc 100.0
            dcmpg
            ifge 2
         1: .line 644
            sipush 1900
            dload 0 /* year */
            d2i
            iadd
            i2d
            dreturn
         2: .line 646
      StackMap locals:
      StackMap stack:
            dload 0 /* year */
            dreturn
        end local 0 // double year
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  year  D
    MethodParameters:
      Name  Flags
      year  

  public static java.lang.String formatLocal(java.time.format.DateTimeFormatter, double, com.oracle.truffle.js.runtime.JSRealm);
    descriptor: (Ljava/time/format/DateTimeFormatter;DLcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.time.format.DateTimeFormatter format
        start local 1 // double time
        start local 3 // com.oracle.truffle.js.runtime.JSRealm realm
         0: .line 651
            dload 1 /* time */
            d2l
            invokestatic java.time.Instant.ofEpochMilli:(J)Ljava/time/Instant;
            aload 3 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getLocalTimeZoneId:()Ljava/time/ZoneId;
            invokevirtual java.time.Instant.atZone:(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
            aload 0 /* format */
            invokevirtual java.time.ZonedDateTime.format:(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
            areturn
        end local 3 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 1 // double time
        end local 0 // java.time.format.DateTimeFormatter format
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  format  Ljava/time/format/DateTimeFormatter;
            0    1     1    time  D
            0    1     3   realm  Lcom/oracle/truffle/js/runtime/JSRealm;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      format  
      time    
      realm   

  public static java.lang.String formatUTC(java.time.format.DateTimeFormatter, double);
    descriptor: (Ljava/time/format/DateTimeFormatter;D)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.time.format.DateTimeFormatter format
        start local 1 // double time
         0: .line 656
            dload 1 /* time */
            d2l
            invokestatic java.time.Instant.ofEpochMilli:(J)Ljava/time/Instant;
            getstatic java.time.ZoneOffset.UTC:Ljava/time/ZoneOffset;
            invokevirtual java.time.Instant.atZone:(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
            aload 0 /* format */
            invokevirtual java.time.ZonedDateTime.format:(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
            areturn
        end local 1 // double time
        end local 0 // java.time.format.DateTimeFormatter format
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  format  Ljava/time/format/DateTimeFormatter;
            0    1     1    time  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      format  
      time    

  public static java.lang.String toString(double, com.oracle.truffle.js.runtime.JSRealm);
    descriptor: (DLcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // double time
        start local 2 // com.oracle.truffle.js.runtime.JSRealm realm
         0: .line 661
            dload 0 /* time */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 2
         1: .line 662
            ldc "Invalid Date"
            areturn
         2: .line 664
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getDateToStringFormat:()Ljava/time/format/DateTimeFormatter;
            dload 0 /* time */
            aload 2 /* realm */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.formatLocal:(Ljava/time/format/DateTimeFormatter;DLcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/String;
            areturn
        end local 2 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // double time
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   time  D
            0    3     2  realm  Lcom/oracle/truffle/js/runtime/JSRealm;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      time   
      realm  

  public static java.lang.String toISOStringIntl(double);
    descriptor: (D)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // double time
         0: .line 669
            dload 0 /* time */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getJSDateFormat:(D)Ljava/time/format/DateTimeFormatter;
            dload 0 /* time */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.formatUTC:(Ljava/time/format/DateTimeFormatter;D)Ljava/lang/String;
            areturn
        end local 0 // double time
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  time  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      time  

  public static boolean isTimeValid(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double time
         0: .line 673
            dload 0 /* time */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 1
            dload 0 /* time */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 0 // double time
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  time  D
    MethodParameters:
      Name  Flags
      time  

  private static double localTime(double, boolean, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (DZLcom/oracle/truffle/js/runtime/JSContext;)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // double time
        start local 2 // boolean isUTC
        start local 3 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 677
            iload 2 /* isUTC */
            ifeq 1
            dload 0 /* time */
            goto 2
      StackMap locals:
      StackMap stack:
         1: dload 0 /* time */
            aload 3 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DLcom/oracle/truffle/js/runtime/JSContext;)D
      StackMap locals:
      StackMap stack: double
         2: dreturn
        end local 3 // com.oracle.truffle.js.runtime.JSContext context
        end local 2 // boolean isUTC
        end local 0 // double time
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     time  D
            0    3     2    isUTC  Z
            0    3     3  context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
         Name  Flags
      time     
      isUTC    
      context  

  private static double utc(double, boolean, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (DZLcom/oracle/truffle/js/runtime/JSContext;)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // double time
        start local 2 // boolean isUTC
        start local 3 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 681
            iload 2 /* isUTC */
            ifeq 1
            dload 0 /* time */
            goto 2
      StackMap locals:
      StackMap stack:
         1: dload 0 /* time */
            aload 3 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.utc:(DLcom/oracle/truffle/js/runtime/JSContext;)D
      StackMap locals:
      StackMap stack: double
         2: dreturn
        end local 3 // com.oracle.truffle.js.runtime.JSContext context
        end local 2 // boolean isUTC
        end local 0 // double time
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     time  D
            0    3     2    isUTC  Z
            0    3     3  context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
         Name  Flags
      time     
      isUTC    
      context  

  public static boolean isValidDate(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject date
         0: .line 685
            aload 0 /* date */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isJSDate:(Ljava/lang/Object;)Z
            ifeq 1
            aload 0 /* date */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject date
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  date  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
      Name  Flags
      date  

  public static java.time.Instant asInstant(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/time/Instant;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject date
         0: .line 690
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
            ifne 1
            aload 0 /* date */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isValidDate:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 691
      StackMap locals:
      StackMap stack:
            aload 0 /* date */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
            d2l
            invokestatic java.time.Instant.ofEpochMilli:(J)Ljava/time/Instant;
            areturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject date
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  date  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      date  

  public static java.time.LocalDate asLocalDate(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.runtime.JSRealm);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/JSRealm;)Ljava/time/LocalDate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.object.DynamicObject date
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
         0: .line 696
            aload 0 /* date */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.asInstant:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/time/Instant;
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getLocalTimeZoneId:()Ljava/time/ZoneId;
            invokevirtual java.time.Instant.atZone:(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
            invokestatic java.time.LocalDate.from:(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDate;
            areturn
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.api.object.DynamicObject date
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   date  Lcom/oracle/truffle/api/object/DynamicObject;
            0    1     1  realm  Lcom/oracle/truffle/js/runtime/JSRealm;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      date   
      realm  

  public static java.time.LocalTime asLocalTime(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.runtime.JSRealm);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/JSRealm;)Ljava/time/LocalTime;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.object.DynamicObject date
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
         0: .line 701
            aload 0 /* date */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.asInstant:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/time/Instant;
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getLocalTimeZoneId:()Ljava/time/ZoneId;
            invokevirtual java.time.Instant.atZone:(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
            invokestatic java.time.LocalTime.from:(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalTime;
            areturn
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.api.object.DynamicObject date
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   date  Lcom/oracle/truffle/api/object/DynamicObject;
            0    1     1  realm  Lcom/oracle/truffle/js/runtime/JSRealm;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      date   
      realm  

  public static double getDateValueFromInstant(java.lang.Object, com.oracle.truffle.api.interop.InteropLibrary);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.Object receiver
        start local 1 // com.oracle.truffle.api.interop.InteropLibrary interop
         0: .line 707
            aload 1 /* interop */
            aload 0 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInstant:(Ljava/lang/Object;)Ljava/time/Instant;
            astore 2 /* instant */
        start local 2 // java.time.Instant instant
         1: .line 708
            goto 4
        end local 2 // java.time.Instant instant
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
         2: astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.UnsupportedMessageException e
         3: .line 709
            aload 0 /* receiver */
            aload 3 /* e */
            ldc "asInstant"
            aconst_null
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorInteropException:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropException;Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 3 // com.oracle.truffle.api.interop.UnsupportedMessageException e
        start local 2 // java.time.Instant instant
         4: .line 712
      StackMap locals: java.time.Instant
      StackMap stack:
            aload 2 /* instant */
            invokevirtual java.time.Instant.toEpochMilli:()J
            l2d
         5: dreturn
         6: .line 713
      StackMap locals:
      StackMap stack: java.lang.ArithmeticException
            pop
         7: .line 714
            ldc NaN
            dreturn
        end local 2 // java.time.Instant instant
        end local 1 // com.oracle.truffle.api.interop.InteropLibrary interop
        end local 0 // java.lang.Object receiver
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0  receiver  Ljava/lang/Object;
            0    8     1   interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            1    2     2   instant  Ljava/time/Instant;
            4    8     2   instant  Ljava/time/Instant;
            3    4     3         e  Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
      Exception table:
        from    to  target  type
           0     1       2  Class com.oracle.truffle.api.interop.UnsupportedMessageException
           4     5       6  Class java.lang.ArithmeticException
    MethodParameters:
          Name  Flags
      receiver  
      interop   

  public static java.time.format.DateTimeFormatter getJSDateFormat(double);
    descriptor: (D)Ljava/time/format/DateTimeFormatter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // double time
         0: .line 719
            dload 0 /* time */
            d2l
            lstore 2 /* milliseconds */
        start local 2 // long milliseconds
         1: .line 720
            lload 2 /* milliseconds */
            ldc -62167219200000
            lcmp
            ifge 6
         2: .line 721
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormatBeforeYear0:Ljava/time/format/DateTimeFormatter;
            ifnonnull 5
         3: .line 722
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         4: .line 723
            ldc "uuuuuu-MM-dd'T'HH:mm:ss.SSS'Z'"
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokestatic java.time.format.DateTimeFormatter.ofPattern:(Ljava/lang/String;Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;
            putstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormatBeforeYear0:Ljava/time/format/DateTimeFormatter;
         5: .line 725
      StackMap locals: long
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormatBeforeYear0:Ljava/time/format/DateTimeFormatter;
            areturn
         6: .line 726
      StackMap locals:
      StackMap stack:
            lload 2 /* milliseconds */
            ldc 253402300800000
            lcmp
            iflt 11
         7: .line 727
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormatAfterYear9999:Ljava/time/format/DateTimeFormatter;
            ifnonnull 10
         8: .line 728
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         9: .line 729
            ldc "+uuuuuu-MM-dd'T'HH:mm:ss.SSS'Z'"
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokestatic java.time.format.DateTimeFormatter.ofPattern:(Ljava/lang/String;Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;
            putstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormatAfterYear9999:Ljava/time/format/DateTimeFormatter;
        10: .line 731
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormatAfterYear9999:Ljava/time/format/DateTimeFormatter;
            areturn
        11: .line 733
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormat:Ljava/time/format/DateTimeFormatter;
            ifnonnull 14
        12: .line 735
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
        13: .line 736
            ldc "uuuu-MM-dd'T'HH:mm:ss.SSS'Z'"
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokestatic java.time.format.DateTimeFormatter.ofPattern:(Ljava/lang/String;Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;
            putstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormat:Ljava/time/format/DateTimeFormatter;
        14: .line 738
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormat:Ljava/time/format/DateTimeFormatter;
            areturn
        end local 2 // long milliseconds
        end local 0 // double time
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          time  D
            1   15     2  milliseconds  J
    MethodParameters:
      Name  Flags
      time  

  public static java.time.format.DateTimeFormatter getJSDateUTCFormat();
    descriptor: ()Ljava/time/format/DateTimeFormatter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 743
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormatISO:Ljava/time/format/DateTimeFormatter;
            ifnonnull 3
         1: .line 744
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 745
            ldc "EEE, dd MMM uuuu HH:mm:ss 'GMT'"
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokestatic java.time.format.DateTimeFormatter.ofPattern:(Ljava/lang/String;Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;
            putstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormatISO:Ljava/time/format/DateTimeFormatter;
         3: .line 747
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormatISO:Ljava/time/format/DateTimeFormatter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.time.format.DateTimeFormatter getJSShortDateFormat();
    descriptor: ()Ljava/time/format/DateTimeFormatter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 751
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortDateFormat:Ljava/time/format/DateTimeFormatter;
            ifnonnull 3
         1: .line 752
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 754
            ldc "EEE MMM dd uuuu"
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokestatic java.time.format.DateTimeFormatter.ofPattern:(Ljava/lang/String;Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;
            putstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortDateFormat:Ljava/time/format/DateTimeFormatter;
         3: .line 756
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortDateFormat:Ljava/time/format/DateTimeFormatter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.time.format.DateTimeFormatter getJSShortDateLocalFormat();
    descriptor: ()Ljava/time/format/DateTimeFormatter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 760
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortDateLocalFormat:Ljava/time/format/DateTimeFormatter;
            ifnonnull 3
         1: .line 761
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 763
            ldc "uuuu-MM-dd"
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokestatic java.time.format.DateTimeFormatter.ofPattern:(Ljava/lang/String;Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;
            putstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortDateLocalFormat:Ljava/time/format/DateTimeFormatter;
         3: .line 765
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortDateLocalFormat:Ljava/time/format/DateTimeFormatter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.time.format.DateTimeFormatter getJSShortTimeFormat();
    descriptor: ()Ljava/time/format/DateTimeFormatter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 769
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortTimeFormat:Ljava/time/format/DateTimeFormatter;
            ifnonnull 3
         1: .line 770
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 772
            ldc "HH:mm:ss 'GMT'Z (z)"
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokestatic java.time.format.DateTimeFormatter.ofPattern:(Ljava/lang/String;Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;
            putstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortTimeFormat:Ljava/time/format/DateTimeFormatter;
         3: .line 774
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortTimeFormat:Ljava/time/format/DateTimeFormatter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.time.format.DateTimeFormatter getJSShortTimeLocalFormat();
    descriptor: ()Ljava/time/format/DateTimeFormatter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 778
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortTimeLocalFormat:Ljava/time/format/DateTimeFormatter;
            ifnonnull 3
         1: .line 779
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 781
            ldc "HH:mm:ss"
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokestatic java.time.format.DateTimeFormatter.ofPattern:(Ljava/lang/String;Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;
            putstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortTimeLocalFormat:Ljava/time/format/DateTimeFormatter;
         3: .line 783
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortTimeLocalFormat:Ljava/time/format/DateTimeFormatter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.time.format.DateTimeFormatter getDateToStringFormat();
    descriptor: ()Ljava/time/format/DateTimeFormatter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 787
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateToStringFormat:Ljava/time/format/DateTimeFormatter;
            ifnonnull 3
         1: .line 788
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 789
            ldc "EEE MMM dd uuuu HH:mm:ss 'GMT'Z (z)"
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokestatic java.time.format.DateTimeFormatter.ofPattern:(Ljava/lang/String;Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;
            putstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateToStringFormat:Ljava/time/format/DateTimeFormatter;
         3: .line 791
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateToStringFormat:Ljava/time/format/DateTimeFormatter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.String toDisplayStringImpl(com.oracle.truffle.api.object.DynamicObject, int, boolean, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;IZLcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=5
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDate this
        start local 1 // com.oracle.truffle.api.object.DynamicObject obj
        start local 2 // int depth
        start local 3 // boolean allowSideEffects
        start local 4 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 797
            aload 1 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
            dstore 5 /* time */
        start local 5 // double time
         1: .line 799
            dload 5 /* time */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isTimeValid:(D)Z
            ifeq 4
         2: .line 800
            dload 5 /* time */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.toISOStringIntl:(D)Ljava/lang/String;
            astore 7 /* formattedDate */
        start local 7 // java.lang.String formattedDate
         3: .line 801
            goto 5
        end local 7 // java.lang.String formattedDate
         4: .line 802
      StackMap locals: double
      StackMap stack:
            ldc "Invalid Date"
            astore 7 /* formattedDate */
        start local 7 // java.lang.String formattedDate
         5: .line 804
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
            ifeq 7
         6: .line 805
            new java.lang.StringBuilder
            dup
            ldc "[Date "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* formattedDate */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         7: .line 807
      StackMap locals:
      StackMap stack:
            aload 7 /* formattedDate */
            areturn
        end local 7 // java.lang.String formattedDate
        end local 5 // double time
        end local 4 // com.oracle.truffle.js.runtime.JSContext context
        end local 3 // boolean allowSideEffects
        end local 2 // int depth
        end local 1 // com.oracle.truffle.api.object.DynamicObject obj
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDate this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lcom/oracle/truffle/js/runtime/builtins/JSDate;
            0    8     1               obj  Lcom/oracle/truffle/api/object/DynamicObject;
            0    8     2             depth  I
            0    8     3  allowSideEffects  Z
            0    8     4           context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    8     5              time  D
            3    4     7     formattedDate  Ljava/lang/String;
            5    8     7     formattedDate  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                  Name  Flags
      obj               
      depth             
      allowSideEffects  
      context           

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDate this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
         0: .line 813
            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.runtime.builtins.JSDate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/runtime/builtins/JSDate;
            0    1     1  realm  Lcom/oracle/truffle/js/runtime/JSRealm;
    MethodParameters:
       Name  Flags
      realm  
}
SourceFile: "JSDate.java"
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public abstract WithFunctions = com.oracle.truffle.js.runtime.builtins.JSConstructorFactory$WithFunctions of com.oracle.truffle.js.runtime.builtins.JSConstructorFactory