public abstract class com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalParseFloatNode extends com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalOperation
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalParseFloatNode
super_class: com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalOperation
{
private final com.oracle.truffle.api.profiles.BranchProfile exponentBranch;
descriptor: Lcom/oracle/truffle/api/profiles/BranchProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected com.oracle.truffle.js.nodes.cast.JSTrimWhitespaceNode trimWhitespaceNode;
descriptor: Lcom/oracle/truffle/js/nodes/cast/JSTrimWhitespaceNode;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
public void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSBuiltin);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalOperation.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
1: aload 0
invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
putfield com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalParseFloatNode.exponentBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalParseFloatNode;
0 3 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 3 2 builtin Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
MethodParameters:
Name Flags
context
builtin
protected int parseFloatInt(int);
descriptor: (I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalParseFloatNode;
0 1 1 value I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
value
protected double parseFloatDouble(double, com.oracle.truffle.api.profiles.ConditionProfile);
descriptor: (DLcom/oracle/truffle/api/profiles/ConditionProfile;)D
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 3
dload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNegativeZero:(D)Z
invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 2
1: dconst_0
dreturn
2: StackMap locals:
StackMap stack:
dload 1
dreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalParseFloatNode;
0 3 1 value D
0 3 3 negativeZero Lcom/oracle/truffle/api/profiles/ConditionProfile;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
MethodParameters:
Name Flags
value
negativeZero
protected double parseFloatBoolean(boolean);
descriptor: (Z)D
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc NaN
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalParseFloatNode;
0 1 1 value Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
value
protected double parseFloatUndefined(java.lang.Object);
descriptor: (Ljava/lang/Object;)D
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc NaN
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalParseFloatNode;
0 1 1 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isUndefined(value)"})
MethodParameters:
Name Flags
value
protected double parseFloatNull(java.lang.Object);
descriptor: (Ljava/lang/Object;)D
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc NaN
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalParseFloatNode;
0 1 1 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isJSNull(value)"})
MethodParameters:
Name Flags
value
protected double parseFloatString(java.lang.String);
descriptor: (Ljava/lang/String;)D
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalParseFloatNode.parseFloatIntl:(Ljava/lang/String;)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalParseFloatNode;
0 1 1 value Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
value
protected double parseFloatGeneric(com.oracle.truffle.api.interop.TruffleObject);
descriptor: (Lcom/oracle/truffle/api/interop/TruffleObject;)D
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
aload 1
invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalParseFloatNode.toString1:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalParseFloatNode.parseFloatIntl:(Ljava/lang/String;)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalParseFloatNode;
0 1 1 value Lcom/oracle/truffle/api/interop/TruffleObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"!isJSNull(value)", "!isUndefined(value)"})
MethodParameters:
Name Flags
value
private double parseFloatIntl(java.lang.String);
descriptor: (Ljava/lang/String;)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalParseFloatNode.trimWhitespace:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalParseFloatNode.parseFloatIntl2:(Ljava/lang/String;)D
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalParseFloatNode;
0 2 1 inputString Ljava/lang/String;
1 2 2 trimmedString Ljava/lang/String;
MethodParameters:
Name Flags
inputString
private double parseFloatIntl2(java.lang.String);
descriptor: (Ljava/lang/String;)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc "Infinity"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
aload 1
ldc "+Infinity"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
ldc Infinity
dreturn
2: StackMap locals:
StackMap stack:
aload 1
ldc "-Infinity"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
3: ldc -Infinity
dreturn
4: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.builtins.helper.FloatParser
dup
aload 1
aload 0
getfield com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalParseFloatNode.exponentBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
invokespecial com.oracle.truffle.js.builtins.helper.FloatParser.<init>:(Ljava/lang/String;Lcom/oracle/truffle/api/profiles/BranchProfile;)V
astore 2
start local 2 5: aload 2
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.getResult:()D
6: dreturn
end local 2 7: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
8: ldc NaN
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalParseFloatNode;
0 9 1 trimmedString Ljava/lang/String;
5 7 2 parser Lcom/oracle/truffle/js/builtins/helper/FloatParser;
Exception table:
from to target type
4 6 7 Class java.lang.NumberFormatException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
trimmedString
protected java.lang.String trimWhitespace(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
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.GlobalBuiltins$JSGlobalParseFloatNode.trimWhitespaceNode:Lcom/oracle/truffle/js/nodes/cast/JSTrimWhitespaceNode;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
aload 0
invokestatic com.oracle.truffle.js.nodes.cast.JSTrimWhitespaceNode.create:()Lcom/oracle/truffle/js/nodes/cast/JSTrimWhitespaceNode;
invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalParseFloatNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.js.nodes.cast.JSTrimWhitespaceNode
putfield com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalParseFloatNode.trimWhitespaceNode:Lcom/oracle/truffle/js/nodes/cast/JSTrimWhitespaceNode;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalParseFloatNode.trimWhitespaceNode:Lcom/oracle/truffle/js/nodes/cast/JSTrimWhitespaceNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.cast.JSTrimWhitespaceNode.executeString:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalParseFloatNode;
0 4 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
}
SourceFile: "GlobalBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.GlobalBuiltins
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
private abstract JSGlobalOperation = com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalOperation of com.oracle.truffle.js.builtins.GlobalBuiltins
public abstract JSGlobalParseFloatNode = com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalParseFloatNode of com.oracle.truffle.js.builtins.GlobalBuiltins