public abstract class com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode extends com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode
super_class: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode
{
private com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode toPrimitiveNode;
descriptor: Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.cast.JSToDoubleNode toDoubleNode;
descriptor: Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private final com.oracle.truffle.api.profiles.ConditionProfile stringOrNumberProfile;
descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.profiles.ConditionProfile isDateProfile;
descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.profiles.ConditionProfile gotFieldsProfile;
descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSBuiltin, boolean);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
invokespecial com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;Z)V
1: aload 0
invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.stringOrNumberProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
2: aload 0
invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.isDateProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
3: aload 0
invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.gotFieldsProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
0 5 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 5 2 builtin Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
0 5 3 isNewTargetCase Z
MethodParameters:
Name Flags
context
builtin
isNewTargetCase
private java.lang.Object toPrimitive(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toPrimitiveNode:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
aload 0
getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.None:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
invokestatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.create:(Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;)Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode
putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toPrimitiveNode:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toPrimitiveNode:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.execute:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
0 4 1 target Ljava/lang/Object;
MethodParameters:
Name Flags
target
protected double toDouble(java.lang.Object);
descriptor: (Ljava/lang/Object;)D
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toDoubleNode:Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
aload 0
invokestatic com.oracle.truffle.js.nodes.cast.JSToDoubleNode.create:()Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.js.nodes.cast.JSToDoubleNode
putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toDoubleNode:Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toDoubleNode:Lcom/oracle/truffle/js/nodes/cast/JSToDoubleNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.cast.JSToDoubleNode.executeDouble:(Ljava/lang/Object;)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
0 4 1 target Ljava/lang/Object;
MethodParameters:
Name Flags
target
protected com.oracle.truffle.api.object.DynamicObject constructDateZero(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[]);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.now:()D
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.create:(Lcom/oracle/truffle/js/runtime/JSContext;D)Lcom/oracle/truffle/api/object/DynamicObject;
aload 1
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
0 1 1 newTarget Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 args [Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"args.length == 0"})
MethodParameters:
Name Flags
newTarget
args
protected com.oracle.truffle.api.object.DynamicObject constructDateOne(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[], com.oracle.truffle.api.profiles.ConditionProfile, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;Lcom/oracle/truffle/api/profiles/ConditionProfile;Lcom/oracle/truffle/api/interop/InteropLibrary;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 2
iconst_0
aaload
aload 4
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getDateValue:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)D
dstore 5
start local 5 1: aload 0
aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
dload 5
aload 3
invokestatic com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.timeClip:(DLcom/oracle/truffle/api/profiles/ConditionProfile;)D
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.create:(Lcom/oracle/truffle/js/runtime/JSContext;D)Lcom/oracle/truffle/api/object/DynamicObject;
aload 1
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 5 end local 4 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/builtins/ConstructorBuiltins$ConstructDateNode;
0 2 1 newTarget Lcom/oracle/truffle/api/object/DynamicObject;
0 2 2 args [Ljava/lang/Object;
0 2 3 isSpecialCase Lcom/oracle/truffle/api/profiles/ConditionProfile;
0 2 4 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
1 2 5 dateValue D
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"args.length == 1"})
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
3:
com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
MethodParameters:
Name Flags
newTarget
args
isSpecialCase
interop
protected com.oracle.truffle.api.object.DynamicObject constructDateMult(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[]);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.constructorImpl:([Ljava/lang/Object;)D
dstore 3
start local 3 1: aload 0
aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
dload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.create:(Lcom/oracle/truffle/js/runtime/JSContext;D)Lcom/oracle/truffle/api/object/DynamicObject;
aload 1
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
0 2 1 newTarget Lcom/oracle/truffle/api/object/DynamicObject;
0 2 2 args [Ljava/lang/Object;
1 2 3 val D
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"args.length >= 2"})
MethodParameters:
Name Flags
newTarget
args
private static double timeClip(double, com.oracle.truffle.api.profiles.ConditionProfile);
descriptor: (DLcom/oracle/truffle/api/profiles/ConditionProfile;)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 2 0: aload 2
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
ifgt 1
iconst_0
goto 2
StackMap locals:
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
1: iconst_1
StackMap locals: double com.oracle.truffle.api.profiles.ConditionProfile
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
2: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 4
3: ldc NaN
dreturn
4: StackMap locals:
StackMap stack:
dload 0
d2l
l2d
dreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 dateValue D
0 5 2 isSpecialCase Lcom/oracle/truffle/api/profiles/ConditionProfile;
MethodParameters:
Name Flags
dateValue
isSpecialCase
private double now();
descriptor: ()D
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.currentTimeMillis:()J
l2d
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
private double parseDate(java.lang.String);
descriptor: (Ljava/lang/String;)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=16, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEvaluator:()Lcom/oracle/truffle/js/runtime/Evaluator;
aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
aload 1
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokeinterface com.oracle.truffle.js.runtime.Evaluator.parseDate:(Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/String;)[Ljava/lang/Integer;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.gotFieldsProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
aload 2
ifnull 2
iconst_1
goto 3
StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode java.lang.String java.lang.Integer[]
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
2: iconst_0
StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode java.lang.String java.lang.Integer[]
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
3: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 5
4: aload 2
iconst_0
aaload
invokevirtual java.lang.Integer.intValue:()I
i2d
aload 2
iconst_1
aaload
invokevirtual java.lang.Integer.intValue:()I
i2d
aload 2
iconst_2
aaload
invokevirtual java.lang.Integer.intValue:()I
i2d
aload 2
iconst_3
aaload
invokevirtual java.lang.Integer.intValue:()I
i2d
aload 2
iconst_4
aaload
invokevirtual java.lang.Integer.intValue:()I
i2d
aload 2
iconst_5
aaload
invokevirtual java.lang.Integer.intValue:()I
i2d
aload 2
bipush 6
aaload
invokevirtual java.lang.Integer.intValue:()I
i2d
aload 2
bipush 7
aaload
aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.makeDate:(DDDDDDDLjava/lang/Integer;Lcom/oracle/truffle/js/runtime/JSContext;)D
dreturn
5: StackMap locals:
StackMap stack:
ldc NaN
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
0 6 1 target Ljava/lang/String;
1 6 2 fields [Ljava/lang/Integer;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
target
private double getDateValue(java.lang.Object, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEcmaScriptVersion:()I
bipush 6
if_icmplt 5
1: aload 0
getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.isDateProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isJSDate:(Ljava/lang/Object;)Z
invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 3
2: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
dreturn
3: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstant:(Ljava/lang/Object;)Z
ifeq 5
4: aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getDateValueFromInstant:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)D
dreturn
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toPrimitive:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 6: aload 0
getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.stringOrNumberProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
aload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 8
7: aload 0
aload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toStringIsString:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.parseDate:(Ljava/lang/String;)D
dreturn
8: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 3
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toDouble:(Ljava/lang/Object;)D
dstore 4
start local 4 9: dload 4
invokestatic java.lang.Double.isInfinite:(D)Z
ifne 10
dload 4
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 11
10: StackMap locals: double
StackMap stack:
ldc NaN
dreturn
11: StackMap locals:
StackMap stack:
dload 4
dreturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
0 12 1 arg0 Ljava/lang/Object;
0 12 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
6 12 3 value Ljava/lang/Object;
9 12 4 dval D
MethodParameters:
Name Flags
arg0
interop
private double constructorImpl(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
arraylength
newarray 7
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 9
4: StackMap locals: double[] int int
StackMap stack:
aload 0
aload 1
iload 4
aaload
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.toDouble:(Ljava/lang/Object;)D
dstore 5
start local 5 5: dload 5
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 7
6: iconst_1
istore 3
7: StackMap locals: double
StackMap stack:
aload 2
iload 4
dload 5
dastore
end local 5 8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
aload 1
arraylength
if_icmplt 4
end local 4 10: iload 3
ifeq 12
11: ldc NaN
dreturn
12: StackMap locals:
StackMap stack:
aload 2
iconst_0
aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.executeConstructor:([DZLcom/oracle/truffle/js/runtime/JSContext;)D
dreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructDateNode;
0 13 1 args [Ljava/lang/Object;
1 13 2 argsEvaluated [D
2 13 3 isNaN Z
3 10 4 i I
5 8 5 d D
MethodParameters:
Name Flags
args
protected com.oracle.truffle.api.object.DynamicObject getIntrinsicDefaultProto(com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 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/builtins/ConstructorBuiltins$ConstructDateNode;
0 1 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
MethodParameters:
Name Flags
realm
}
SourceFile: "ConstructorBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.ConstructorBuiltins
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
public abstract ConstructDateNode = com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructDateNode of com.oracle.truffle.js.builtins.ConstructorBuiltins
public abstract ConstructWithNewTargetNode = com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode of com.oracle.truffle.js.builtins.ConstructorBuiltins
public final Hint = com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint of com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.ImportStatic(value = {Lcom/oracle/truffle/js/runtime/JSConfig;})