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: 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: 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: 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 0: aload 0
invokespecial com.oracle.truffle.js.runtime.builtins.JSNonProxy.<init>:()V
1: return
end local 0 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 start local 1 0: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
ifne 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
checkcast com.oracle.truffle.js.runtime.builtins.JSDateObject
dload 1
invokevirtual com.oracle.truffle.js.runtime.builtins.JSDateObject.setTimeMillis:(D)V
2: return
end local 1 end local 0 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 0: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
ifne 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
checkcast com.oracle.truffle.js.runtime.builtins.JSDateObject
invokevirtual com.oracle.truffle.js.runtime.builtins.JSDateObject.getTimeMillis:()D
dreturn
end local 0 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 0: aload 0
instanceof com.oracle.truffle.js.runtime.builtins.JSDateObject
ireturn
end local 0 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 0: ldc "Date"
areturn
end local 0 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 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSDate.getClassName:()Ljava/lang/String;
areturn
end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.builtins.JSDate.getClassName:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
areturn
end local 1 end local 0 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 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 3
start local 3 1: aload 3
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEcmaScriptVersion:()I
bipush 6
if_icmpge 6
2: aload 1
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
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
start local 5 3: aload 5
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
start local 4 4: aload 3
aload 4
aload 1
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 5: goto 7
end local 4 6: StackMap locals: com.oracle.truffle.js.runtime.JSContext
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.createOrdinaryPrototypeObject:(Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
start local 4 7: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 3
aload 4
aload 2
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: aload 1
aload 4
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: aload 3
invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionAnnexB:()Z
ifeq 12
10: aload 4
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
start local 5 11: aload 3
aload 4
ldc "toGMTString"
aload 5
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 12: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
getstatic com.oracle.truffle.js.runtime.builtins.JSDate.INSTANCE:Lcom/oracle/truffle/js/runtime/builtins/JSDate;
aload 1
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
start local 3 1: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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 0: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.INSTANCE:Lcom/oracle/truffle/js/runtime/builtins/JSDate;
aload 0
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 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 start local 1 start local 2 0: aload 0
arraylength
ifle 1
aload 0
iconst_0
daload
goto 2
StackMap locals:
StackMap stack:
1: ldc NaN
StackMap locals:
StackMap stack: double
2: dstore 3
start local 3 3: aload 0
arraylength
iconst_1
if_icmple 4
aload 0
iconst_1
daload
goto 5
StackMap locals: double
StackMap stack:
4: dconst_0
StackMap locals:
StackMap stack: double
5: dstore 5
start local 5 6: dload 3
invokestatic java.lang.Double.isNaN:(D)Z
ifne 7
dload 3
invokestatic java.lang.Double.isInfinite:(D)Z
ifne 7
dload 5
invokestatic java.lang.Double.isNaN:(D)Z
ifne 7
dload 5
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 8
7: StackMap locals: double
StackMap stack:
ldc NaN
dreturn
8: StackMap locals:
StackMap stack:
aload 0
iconst_2
iconst_1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getArgOrDefault:([DII)D
dstore 7
start local 7 9: aload 0
iconst_3
iconst_0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getArgOrDefault:([DII)D
dstore 9
start local 9 10: aload 0
iconst_4
iconst_0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getArgOrDefault:([DII)D
dstore 11
start local 11 11: aload 0
iconst_5
iconst_0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getArgOrDefault:([DII)D
dstore 13
start local 13 12: aload 0
bipush 6
iconst_0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getArgOrDefault:([DII)D
dstore 15
start local 15 13: dload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.toFullYear:(D)D
dload 5
dload 7
dload 9
dload 11
dload 13
dload 15
iload 1
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
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DDDDDDDLjava/lang/Integer;Lcom/oracle/truffle/js/runtime/JSContext;)D
dreturn
end local 15 end local 13 end local 11 end local 9 end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
arraylength
iload 1
if_icmple 2
1: aload 0
iload 1
daload
dreturn
2: StackMap locals:
StackMap stack:
iload 2
i2d
dreturn
end local 2 end local 1 end local 0 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 0: dload 0
ldc 8.64E7
ddiv
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.floor:(D)D
dreturn
end local 0 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 0: dload 0
ldc 8.64E7
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.secureNegativeModulo:(DD)D
dreturn
end local 0 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 0: sipush 365
iload 0
sipush 1970
isub
imul
iload 0
sipush 1969
isub
iconst_4
invokestatic java.lang.Math.floorDiv:(II)I
iadd
iload 0
sipush 1901
isub
bipush 100
invokestatic java.lang.Math.floorDiv:(II)I
isub
iload 0
sipush 1601
isub
sipush 400
invokestatic java.lang.Math.floorDiv:(II)I
iadd
ireturn
end local 0 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 0: lload 0
ldc 86400000
invokestatic java.lang.Math.floorDiv:(JI)J
lstore 2
start local 2 1: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
ifne 2
lload 2
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: StackMap locals: long
StackMap stack:
lload 2
l2i
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.yearFromDays:(I)I
ireturn
end local 2 end local 0 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 0: iload 0
sipush 10957
isub
istore 1
start local 1 1: iload 1
ldc 102267900
iadd
istore 2
start local 2 2: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
ifne 3
iload 2
ifgt 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: int int
StackMap stack:
sipush 400
iload 2
ldc 146097
idiv
imul
istore 3
start local 3 4: iload 2
ldc 146097
irem
istore 4
start local 4 5: iinc 4 -1
6: iload 3
bipush 100
iload 4
ldc 36524
idiv
imul
iadd
istore 3
7: iload 4
ldc 36524
irem
istore 4
8: iinc 4 1
9: iload 3
iconst_4
iload 4
sipush 1461
idiv
imul
iadd
istore 3
10: iload 4
sipush 1461
irem
istore 4
11: iinc 4 -1
12: iload 3
iload 4
sipush 365
idiv
iadd
istore 3
13: iload 3
ldc 280000
isub
sipush 2000
iadd
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 0: iload 0
iconst_4
irem
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 0
bipush 100
irem
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iload 0
sipush 400
irem
ifne 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 0 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 0: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
ifne 1
dload 0
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: StackMap locals:
StackMap stack:
dload 0
d2l
lstore 2
start local 2 2: lload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.yearFromTime:(J)I
istore 4
start local 4 3: iload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isLeapYear:(I)Z
istore 5
start local 5 4: lload 2
iload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.dayWithinYear:(JI)I
istore 6
start local 6 5: iload 5
iload 6
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.monthFromTimeIntl:(ZI)I
ireturn
end local 6 end local 5 end local 4 end local 2 end local 0 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 start local 1 0: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
ifne 4
iload 1
iflt 3
iload 1
sipush 365
iload 0
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: StackMap locals:
StackMap stack:
iload 1
bipush 31
if_icmpge 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iload 0
ifne 28
7: iload 1
bipush 59
if_icmpge 9
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack:
iload 1
bipush 90
if_icmpge 11
10: iconst_2
ireturn
11: StackMap locals:
StackMap stack:
iload 1
bipush 120
if_icmpge 13
12: iconst_3
ireturn
13: StackMap locals:
StackMap stack:
iload 1
sipush 151
if_icmpge 15
14: iconst_4
ireturn
15: StackMap locals:
StackMap stack:
iload 1
sipush 181
if_icmpge 17
16: iconst_5
ireturn
17: StackMap locals:
StackMap stack:
iload 1
sipush 212
if_icmpge 19
18: bipush 6
ireturn
19: StackMap locals:
StackMap stack:
iload 1
sipush 243
if_icmpge 21
20: bipush 7
ireturn
21: StackMap locals:
StackMap stack:
iload 1
sipush 273
if_icmpge 23
22: bipush 8
ireturn
23: StackMap locals:
StackMap stack:
iload 1
sipush 304
if_icmpge 25
24: bipush 9
ireturn
25: StackMap locals:
StackMap stack:
iload 1
sipush 334
if_icmpge 27
26: bipush 10
ireturn
27: StackMap locals:
StackMap stack:
bipush 11
ireturn
28: StackMap locals:
StackMap stack:
iload 1
bipush 60
if_icmpge 30
29: iconst_1
ireturn
30: StackMap locals:
StackMap stack:
iload 1
bipush 91
if_icmpge 32
31: iconst_2
ireturn
32: StackMap locals:
StackMap stack:
iload 1
bipush 121
if_icmpge 34
33: iconst_3
ireturn
34: StackMap locals:
StackMap stack:
iload 1
sipush 152
if_icmpge 36
35: iconst_4
ireturn
36: StackMap locals:
StackMap stack:
iload 1
sipush 182
if_icmpge 38
37: iconst_5
ireturn
38: StackMap locals:
StackMap stack:
iload 1
sipush 213
if_icmpge 40
39: bipush 6
ireturn
40: StackMap locals:
StackMap stack:
iload 1
sipush 244
if_icmpge 42
41: bipush 7
ireturn
42: StackMap locals:
StackMap stack:
iload 1
sipush 274
if_icmpge 44
43: bipush 8
ireturn
44: StackMap locals:
StackMap stack:
iload 1
sipush 305
if_icmpge 46
45: bipush 9
ireturn
46: StackMap locals:
StackMap stack:
iload 1
sipush 335
if_icmpge 48
47: bipush 10
ireturn
48: StackMap locals:
StackMap stack:
bipush 11
ireturn
end local 1 end local 0 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 start local 2 0: lload 0
ldc 86400000
invokestatic java.lang.Math.floorDiv:(JI)J
l2i
iload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.dayFromYear:(I)I
isub
ireturn
end local 2 end local 0 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 0: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
ifne 1
dload 0
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: StackMap locals:
StackMap stack:
dload 0
d2l
lstore 2
start local 2 2: lload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.yearFromTime:(J)I
istore 4
start local 4 3: lload 2
iload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.dayWithinYear:(JI)I
istore 5
start local 5 4: iload 4
iload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.dateFromDayInYear:(II)I
ireturn
end local 5 end local 4 end local 2 end local 0 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 start local 1 0: iload 1
bipush 31
if_icmpge 2
1: iload 1
iconst_1
iadd
ireturn
2: StackMap locals:
StackMap stack:
iload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isLeapYear:(I)Z
istore 2
start local 2 3: iload 1
iload 2
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
start local 3 6: iload 2
iload 1
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: StackMap locals: int
StackMap stack:
iload 1
bipush 30
isub
ireturn
8: StackMap locals:
StackMap stack:
iload 3
bipush 58
isub
ireturn
9: StackMap locals:
StackMap stack:
iload 3
bipush 89
isub
ireturn
10: StackMap locals:
StackMap stack:
iload 3
bipush 119
isub
ireturn
11: StackMap locals:
StackMap stack:
iload 3
sipush 150
isub
ireturn
12: StackMap locals:
StackMap stack:
iload 3
sipush 180
isub
ireturn
13: StackMap locals:
StackMap stack:
iload 3
sipush 211
isub
ireturn
14: StackMap locals:
StackMap stack:
iload 3
sipush 242
isub
ireturn
15: StackMap locals:
StackMap stack:
iload 3
sipush 272
isub
ireturn
16: StackMap locals:
StackMap stack:
iload 3
sipush 303
isub
ireturn
17: StackMap locals:
StackMap stack:
iload 3
sipush 333
isub
ireturn
18: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
ifne 20
new java.lang.AssertionError
dup
19: ldc "should not reach here"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
20: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 3 end local 2 end local 1 end local 0 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 0: dload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.day:(D)D
d2i
iconst_4
iadd
bipush 7
irem
istore 2
start local 2 1: iload 2
iflt 2
iload 2
goto 3
StackMap locals: int
StackMap stack:
2: iload 2
bipush 7
iadd
StackMap locals:
StackMap stack: int
3: i2d
dreturn
end local 2 end local 0 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 start local 2 0: dload 0
dload 0
iconst_1
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTZA:(DZLcom/oracle/truffle/js/runtime/JSContext;)J
l2d
dadd
dreturn
end local 2 end local 0 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 start local 2 0: dload 0
dload 0
iconst_0
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTZA:(DZLcom/oracle/truffle/js/runtime/JSContext;)J
l2d
dsub
dreturn
end local 2 end local 0 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 start local 2 start local 3 0: dload 0
iload 2
aload 3
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 end local 2 end local 0 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 start local 2 start local 3 0: iload 2
ifeq 3
1: aload 3
invokevirtual java.time.ZoneId.getRules:()Ljava/time/zone/ZoneRules;
dload 0
d2l
invokestatic java.time.Instant.ofEpochMilli:(J)Ljava/time/Instant;
invokevirtual java.time.zone.ZoneRules.getOffset:(Ljava/time/Instant;)Ljava/time/ZoneOffset;
astore 4
start local 4 2: goto 7
end local 4 3: StackMap locals:
StackMap stack:
dload 0
invokestatic java.lang.Math.abs:(D)D
ldc 8.6400000864E15
dcmpg
iflt 5
4: lconst_0
lreturn
5: StackMap locals:
StackMap stack:
dload 0
d2l
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.yearFromTime:(J)I
iconst_1
dload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.monthFromTime:(D)I
iadd
dload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.dateFromTime:(D)I
dload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.hourFromTime:(D)I
dload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.minFromTime:(D)I
dload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.secFromTime:(D)I
dload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.msFromTime:(D)I
invokestatic java.time.LocalDateTime.of:(IIIIIII)Ljava/time/LocalDateTime;
astore 5
start local 5 6: aload 3
invokevirtual java.time.ZoneId.getRules:()Ljava/time/zone/ZoneRules;
aload 5
invokevirtual java.time.zone.ZoneRules.getOffset:(Ljava/time/LocalDateTime;)Ljava/time/ZoneOffset;
astore 4
end local 5 start local 4 7: StackMap locals: java.time.ZoneOffset
StackMap stack:
aload 4
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
i2l
ldc 1000
lmul
lreturn
end local 4 end local 3 end local 2 end local 0 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 0: dload 0
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 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 0: dload 0
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 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 0: dload 0
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 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 0: dload 0
ldc 1000.0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.secureNegativeModulo:(DD)D
d2i
ireturn
end local 0 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 start local 2 0: dload 0
dload 2
drem
dstore 4
start local 4 1: dload 4
dconst_0
dcmpl
iflt 3
2: dload 4
dreturn
3: StackMap locals: double
StackMap stack:
dload 4
dload 2
dadd
dreturn
end local 4 end local 2 end local 0 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 start local 2 start local 4 start local 6 0: dload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
ifeq 1
dload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
ifeq 1
dload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
ifeq 1
dload 6
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
ifne 2
1: StackMap locals:
StackMap stack:
ldc NaN
dreturn
2: StackMap locals:
StackMap stack:
dload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.doubleToLong:(D)J
lstore 8
start local 8 3: dload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.doubleToLong:(D)J
lstore 10
start local 10 4: dload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.doubleToLong:(D)J
lstore 12
start local 12 5: dload 6
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.doubleToLong:(D)J
lstore 14
start local 14 6: lload 8
ldc 3600000
lmul
lload 10
ldc 60000
lmul
ladd
lload 12
ldc 1000
lmul
ladd
l2d
lload 14
l2d
dadd
dreturn
end local 14 end local 12 end local 10 end local 8 end local 6 end local 4 end local 2 end local 0 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 start local 2 start local 4 0: dload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
ifeq 1
dload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
ifeq 1
dload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
ifne 2
1: StackMap locals:
StackMap stack:
ldc NaN
dreturn
2: StackMap locals:
StackMap stack:
dload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.doubleToLong:(D)J
l2d
dstore 6
start local 6 3: dload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.doubleToLong:(D)J
l2d
dstore 8
start local 8 4: dload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.doubleToLong:(D)J
l2d
dstore 10
start local 10 5: dload 6
dload 8
ldc 12.0
ddiv
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.floor:(D)D
dadd
dstore 12
start local 12 6: dload 8
ldc 12.0
drem
d2i
istore 14
start local 14 7: iload 14
ifge 9
8: iinc 14 12
9: StackMap locals: double double double double double double double int
StackMap stack:
dload 12
ldc -9.99999999E8
dcmpg
iflt 10
dload 12
ldc 9.99999999E8
dcmpl
ifle 11
10: StackMap locals:
StackMap stack:
ldc NaN
dreturn
11: StackMap locals:
StackMap stack:
dload 12
d2i
iload 14
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
start local 15 12: dload 15
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.day:(D)D
dload 10
dadd
dconst_1
dsub
dreturn
end local 15 end local 14 end local 12 end local 10 end local 8 end local 6 end local 4 end local 2 end local 0 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 0: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
ifne 1
dload 0
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
dload 0
d2l
lreturn
end local 0 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 start local 2 0: dload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
ifeq 1
dload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isFinite:(D)Z
ifne 2
1: StackMap locals:
StackMap stack:
ldc NaN
dreturn
2: StackMap locals:
StackMap stack:
dload 0
ldc 8.64E7
dmul
dload 2
dadd
dreturn
end local 2 end local 0 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 start local 2 start local 4 start local 6 start local 8 start local 10 start local 12 start local 14 start local 15 0: dload 0
dload 2
dload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDay:(DDD)D
dstore 16
start local 16 1: dload 6
dload 8
dload 10
dload 12
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeTime:(DDDD)D
dstore 18
start local 18 2: dload 16
dload 18
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
dstore 20
start local 20 3: aload 14
ifnonnull 6
4: dload 20
aload 15
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.utc:(DLcom/oracle/truffle/js/runtime/JSContext;)D
dstore 20
5: goto 7
6: StackMap locals: double double double
StackMap stack:
dload 20
aload 14
invokevirtual java.lang.Integer.intValue:()I
ldc 60000
imul
i2d
dsub
dstore 20
7: StackMap locals:
StackMap stack:
dload 20
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeClip:(D)D
dreturn
end local 20 end local 18 end local 16 end local 15 end local 14 end local 12 end local 10 end local 8 end local 6 end local 4 end local 2 end local 0 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 0: dload 0
invokestatic java.lang.Double.isInfinite:(D)Z
ifne 1
dload 0
invokestatic java.lang.Double.isNaN:(D)Z
ifne 1
dload 0
invokestatic java.lang.Math.abs:(D)D
ldc 8.64E15
dcmpl
ifle 2
1: StackMap locals:
StackMap stack:
ldc NaN
dreturn
2: StackMap locals:
StackMap stack:
dload 0
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokevirtual java.lang.Double.longValue:()J
l2d
dreturn
end local 0 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 0: dload 0
invokestatic java.lang.Double.isNaN:(D)Z
ifne 1
dload 0
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 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 0: dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.mathFloor:(D)D
dreturn
end local 0 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 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
astore 3
start local 3 1: aload 0
invokevirtual com.oracle.truffle.js.runtime.JSContext.getDateFactory:()Lcom/oracle/truffle/js/runtime/builtins/JSObjectFactory;
astore 4
start local 4 2: aload 4
aload 3
invokevirtual com.oracle.truffle.js.runtime.builtins.JSObjectFactory.getShape:(Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/Shape;
dload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDateObject.create:(Lcom/oracle/truffle/api/object/Shape;D)Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 3: aload 4
aload 5
aload 3
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: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
ifne 5
aload 5
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: 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
aload 5
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 end local 4 end local 3 end local 1 end local 0 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 start local 1 0: dload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeClip:(D)D
dstore 3
start local 3 1: aload 0
dload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
2: dload 3
dreturn
end local 3 end local 1 end local 0 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 start local 1 start local 3 start local 4 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
iload 3
aload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
dstore 5
start local 5 1: dload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.hourFromTime:(D)I
i2d
dload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.minFromTime:(D)I
i2d
dload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.secFromTime:(D)I
i2d
dload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeTime:(DDDD)D
dstore 7
start local 7 2: dload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.day:(D)D
dload 7
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
iload 3
aload 4
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
start local 9 3: aload 0
dload 9
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
4: dload 9
dreturn
end local 9 end local 7 end local 5 end local 4 end local 3 end local 1 end local 0 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 start local 1 start local 3 start local 5 start local 6 start local 7 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
iload 6
aload 7
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
dstore 8
start local 8 1: iload 5
ifeq 2
dload 3
goto 3
StackMap locals: double
StackMap stack:
2: dload 8
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.msFromTime:(D)I
i2d
StackMap locals:
StackMap stack: double
3: dstore 10
start local 10 4: dload 8
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.day:(D)D
dload 8
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.hourFromTime:(D)I
i2d
dload 8
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.minFromTime:(D)I
i2d
dload 1
dload 10
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeTime:(DDDD)D
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
dstore 12
start local 12 5: dload 12
iload 6
aload 7
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
start local 14 6: aload 0
dload 14
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
7: dload 14
dreturn
end local 14 end local 12 end local 10 end local 8 end local 7 end local 6 end local 5 end local 3 end local 1 end local 0 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 start local 1 start local 3 start local 5 start local 6 start local 8 start local 9 start local 10 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
iload 9
aload 10
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
dstore 11
start local 11 1: iload 8
ifeq 2
dload 6
goto 3
StackMap locals: double
StackMap stack:
2: dload 11
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.msFromTime:(D)I
i2d
StackMap locals:
StackMap stack: double
3: dstore 13
start local 13 4: iload 5
ifeq 5
dload 3
goto 6
StackMap locals: double
StackMap stack:
5: dload 11
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.secFromTime:(D)I
i2d
StackMap locals:
StackMap stack: double
6: dstore 15
start local 15 7: dload 11
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.day:(D)D
dload 11
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.hourFromTime:(D)I
i2d
dload 1
dload 15
dload 13
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeTime:(DDDD)D
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
dstore 17
start local 17 8: dload 17
iload 9
aload 10
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
start local 19 9: aload 0
dload 19
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
10: dload 19
dreturn
end local 19 end local 17 end local 15 end local 13 end local 11 end local 10 end local 9 end local 8 end local 6 end local 5 end local 3 end local 1 end local 0 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 start local 1 start local 3 start local 5 start local 6 start local 8 start local 9 start local 11 start local 12 start local 13 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
iload 12
aload 13
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
dstore 14
start local 14 1: iload 11
ifeq 2
dload 9
goto 3
StackMap locals: double
StackMap stack:
2: dload 14
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.msFromTime:(D)I
i2d
StackMap locals:
StackMap stack: double
3: dstore 16
start local 16 4: iload 8
ifeq 5
dload 6
goto 6
StackMap locals: double
StackMap stack:
5: dload 14
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.secFromTime:(D)I
i2d
StackMap locals:
StackMap stack: double
6: dstore 18
start local 18 7: iload 5
ifeq 8
dload 3
goto 9
StackMap locals: double
StackMap stack:
8: dload 14
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.minFromTime:(D)I
i2d
StackMap locals:
StackMap stack: double
9: dstore 20
start local 20 10: dload 14
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.day:(D)D
dload 1
dload 20
dload 18
dload 16
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeTime:(DDDD)D
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
dstore 22
start local 22 11: dload 22
iload 12
aload 13
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
start local 24 12: aload 0
dload 24
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
13: dload 24
dreturn
end local 24 end local 22 end local 20 end local 18 end local 16 end local 14 end local 13 end local 12 end local 11 end local 9 end local 8 end local 6 end local 5 end local 3 end local 1 end local 0 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 start local 1 start local 3 start local 4 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
iload 3
aload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
dstore 5
start local 5 1: dload 5
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 4
2: ldc NaN
dstore 7
start local 7 3: goto 6
end local 7 4: StackMap locals: double
StackMap stack:
dload 5
d2l
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.yearFromTime:(J)I
i2d
dload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.monthFromTime:(D)I
i2d
dload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDay:(DDD)D
dload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeWithinDay:(D)D
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
dstore 9
start local 9 5: dload 9
iload 3
aload 4
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
end local 9 start local 7 6: StackMap locals: double
StackMap stack:
aload 0
dload 7
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
7: dload 7
dreturn
end local 7 end local 5 end local 4 end local 3 end local 1 end local 0 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 start local 1 start local 3 start local 5 start local 6 start local 7 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
iload 6
aload 7
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
dstore 8
start local 8 1: dload 8
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 4
2: ldc NaN
dstore 10
start local 10 3: goto 8
end local 10 4: StackMap locals: double
StackMap stack:
iload 5
ifeq 5
dload 3
goto 6
StackMap locals:
StackMap stack:
5: dload 8
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.dateFromTime:(D)I
i2d
StackMap locals:
StackMap stack: double
6: dstore 12
start local 12 7: dload 8
d2l
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.yearFromTime:(J)I
i2d
dload 1
dload 12
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDay:(DDD)D
dload 8
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeWithinDay:(D)D
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
iload 6
aload 7
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
end local 12 start local 10 8: StackMap locals: double
StackMap stack:
aload 0
dload 10
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
9: dload 10
dreturn
end local 10 end local 8 end local 7 end local 6 end local 5 end local 3 end local 1 end local 0 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 start local 1 start local 3 start local 5 start local 6 start local 8 start local 9 start local 10 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
dstore 11
start local 11 1: dload 11
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 2
dconst_0
goto 3
StackMap locals: double
StackMap stack:
2: dload 11
iload 9
aload 10
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DZLcom/oracle/truffle/js/runtime/JSContext;)D
StackMap locals:
StackMap stack: double
3: dstore 13
start local 13 4: iload 8
ifeq 5
dload 6
goto 6
StackMap locals: double
StackMap stack:
5: dload 13
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.dateFromTime:(D)I
i2d
StackMap locals:
StackMap stack: double
6: dstore 15
start local 15 7: iload 5
ifeq 8
dload 3
goto 9
StackMap locals: double
StackMap stack:
8: dload 13
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.monthFromTime:(D)I
i2d
StackMap locals:
StackMap stack: double
9: dstore 17
start local 17 10: dload 1
dload 17
dload 15
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDay:(DDD)D
dload 13
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeWithinDay:(D)D
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
dstore 19
start local 19 11: dload 19
iload 9
aload 10
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
start local 21 12: aload 0
dload 21
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
13: dload 21
dreturn
end local 21 end local 19 end local 17 end local 15 end local 13 end local 11 end local 10 end local 9 end local 8 end local 6 end local 5 end local 3 end local 1 end local 0 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 start local 1 start local 3 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
dstore 4
start local 4 1: dload 4
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 2
dconst_0
goto 3
StackMap locals: double
StackMap stack:
2: dload 4
aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.localTime:(DLcom/oracle/truffle/js/runtime/JSContext;)D
StackMap locals:
StackMap stack: double
3: dstore 4
4: dload 1
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 7
5: aload 0
ldc NaN
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
6: ldc NaN
dreturn
7: StackMap locals:
StackMap stack:
dload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.toFullYear:(D)D
dstore 6
start local 6 8: dload 6
dload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.monthFromTime:(D)I
i2d
dload 4
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
start local 8 9: dload 8
dload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.timeWithinDay:(D)D
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DD)D
aload 3
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
start local 10 10: aload 0
dload 10
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.setTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;D)V
11: dload 10
dreturn
end local 10 end local 8 end local 6 end local 4 end local 3 end local 1 end local 0 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 0: ldc -1.0
dload 0
dcmpg
ifge 2
dload 0
ldc 100.0
dcmpg
ifge 2
1: sipush 1900
dload 0
d2i
iadd
i2d
dreturn
2: StackMap locals:
StackMap stack:
dload 0
dreturn
end local 0 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 start local 1 start local 3 0: dload 1
d2l
invokestatic java.time.Instant.ofEpochMilli:(J)Ljava/time/Instant;
aload 3
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getLocalTimeZoneId:()Ljava/time/ZoneId;
invokevirtual java.time.Instant.atZone:(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
aload 0
invokevirtual java.time.ZonedDateTime.format:(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
areturn
end local 3 end local 1 end local 0 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 start local 1 0: dload 1
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
invokevirtual java.time.ZonedDateTime.format:(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
areturn
end local 1 end local 0 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 start local 2 0: dload 0
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 2
1: ldc "Invalid Date"
areturn
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getDateToStringFormat:()Ljava/time/format/DateTimeFormatter;
dload 0
aload 2
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 end local 0 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 0: dload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getJSDateFormat:(D)Ljava/time/format/DateTimeFormatter;
dload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.formatUTC:(Ljava/time/format/DateTimeFormatter;D)Ljava/lang/String;
areturn
end local 0 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 0: dload 0
invokestatic java.lang.Double.isNaN:(D)Z
ifne 1
dload 0
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 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 start local 2 start local 3 0: iload 2
ifeq 1
dload 0
goto 2
StackMap locals:
StackMap stack:
1: dload 0
aload 3
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 end local 2 end local 0 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 start local 2 start local 3 0: iload 2
ifeq 1
dload 0
goto 2
StackMap locals:
StackMap stack:
1: dload 0
aload 3
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 end local 2 end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isJSDate:(Ljava/lang/Object;)Z
ifeq 1
aload 0
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 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 0: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.$assertionsDisabled:Z
ifne 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
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 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 start local 1 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.asInstant:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/time/Instant;
aload 1
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 end local 0 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 start local 1 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.asInstant:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/time/Instant;
aload 1
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 end local 0 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 start local 1 0: aload 1
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInstant:(Ljava/lang/Object;)Ljava/time/Instant;
astore 2
start local 2 1: goto 4
end local 2 StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
2: astore 3
start local 3 3: aload 0
aload 3
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 start local 2 4: StackMap locals: java.time.Instant
StackMap stack:
aload 2
invokevirtual java.time.Instant.toEpochMilli:()J
l2d
5: dreturn
6: StackMap locals:
StackMap stack: java.lang.ArithmeticException
pop
7: ldc NaN
dreturn
end local 2 end local 1 end local 0 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 0: dload 0
d2l
lstore 2
start local 2 1: lload 2
ldc -62167219200000
lcmp
ifge 6
2: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormatBeforeYear0:Ljava/time/format/DateTimeFormatter;
ifnonnull 5
3: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
4: 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: StackMap locals: long
StackMap stack:
getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormatBeforeYear0:Ljava/time/format/DateTimeFormatter;
areturn
6: StackMap locals:
StackMap stack:
lload 2
ldc 253402300800000
lcmp
iflt 11
7: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormatAfterYear9999:Ljava/time/format/DateTimeFormatter;
ifnonnull 10
8: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
9: 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: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormatAfterYear9999:Ljava/time/format/DateTimeFormatter;
areturn
11: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormat:Ljava/time/format/DateTimeFormatter;
ifnonnull 14
12: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
13: 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: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormat:Ljava/time/format/DateTimeFormatter;
areturn
end local 2 end local 0 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: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateFormatISO:Ljava/time/format/DateTimeFormatter;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: 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: 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: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortDateFormat:Ljava/time/format/DateTimeFormatter;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: 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: 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: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortDateLocalFormat:Ljava/time/format/DateTimeFormatter;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: 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: 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: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortTimeFormat:Ljava/time/format/DateTimeFormatter;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: 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: 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: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsShortTimeLocalFormat:Ljava/time/format/DateTimeFormatter;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: 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: 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: getstatic com.oracle.truffle.js.runtime.builtins.JSDate.jsDateToStringFormat:Ljava/time/format/DateTimeFormatter;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: 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: 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 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
dstore 5
start local 5 1: dload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isTimeValid:(D)Z
ifeq 4
2: dload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.toISOStringIntl:(D)Ljava/lang/String;
astore 7
start local 7 3: goto 5
end local 7 4: StackMap locals: double
StackMap stack:
ldc "Invalid Date"
astore 7
start local 7 5: StackMap locals: java.lang.String
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
ifeq 7
6: new java.lang.StringBuilder
dup
ldc "[Date "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
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: StackMap locals:
StackMap stack:
aload 7
areturn
end local 7 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getDatePrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 1 end local 0 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