public abstract class com.oracle.truffle.js.builtins.math.FloorNode extends com.oracle.truffle.js.builtins.math.MathOperation
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.builtins.math.FloorNode
super_class: com.oracle.truffle.js.builtins.math.MathOperation
{
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.math.MathOperation.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/math/FloorNode;
0 2 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 2 2 builtin Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
MethodParameters:
Name Flags
context
builtin
protected static int floorInt(int);
descriptor: (I)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
a
protected static com.oracle.truffle.js.runtime.SafeInteger floorSafeInt(com.oracle.truffle.js.runtime.SafeInteger);
descriptor: (Lcom/oracle/truffle/js/runtime/SafeInteger;)Lcom/oracle/truffle/js/runtime/SafeInteger;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a Lcom/oracle/truffle/js/runtime/SafeInteger;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
a
protected static java.lang.Object floorDouble(double, com.oracle.truffle.api.profiles.ConditionProfile, com.oracle.truffle.api.profiles.ConditionProfile, com.oracle.truffle.api.profiles.ConditionProfile, com.oracle.truffle.api.profiles.ConditionProfile);
descriptor: (DLcom/oracle/truffle/api/profiles/ConditionProfile;Lcom/oracle/truffle/api/profiles/ConditionProfile;Lcom/oracle/truffle/api/profiles/ConditionProfile;Lcom/oracle/truffle/api/profiles/ConditionProfile;)Ljava/lang/Object;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=10, args_size=5
start local 0 start local 2 start local 3 start local 4 start local 5 0: aload 2
dload 0
dconst_0
dcmpl
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
1: iconst_0
StackMap locals: double com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile 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: dload 0
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
4: StackMap locals:
StackMap stack:
aload 3
dload 0
ldc -2.147483648E9
dcmpl
iflt 5
dload 0
ldc 2.147483647E9
dcmpg
ifgt 5
iconst_1
goto 6
StackMap locals:
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
5: iconst_0
StackMap locals: double com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
6: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 13
7: dload 0
d2i
istore 6
start local 6 8: aload 5
dload 0
iload 6
i2d
dcmpg
ifge 9
iconst_1
goto 10
StackMap locals: double com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile int
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
9: iconst_0
StackMap locals: double com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile int
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
10: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 11
iload 6
iconst_1
isub
goto 12
StackMap locals:
StackMap stack:
11: iload 6
StackMap locals:
StackMap stack: int
12: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 6 13: StackMap locals:
StackMap stack:
aload 4
dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isSafeInteger:(D)Z
invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 21
14: dload 0
d2l
lstore 6
start local 6 15: aload 5
dload 0
lload 6
l2d
dcmpg
ifge 16
iconst_1
goto 17
StackMap locals: double com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile long
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
16: iconst_0
StackMap locals: double com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.ConditionProfile long
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
17: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 18
lload 6
lconst_1
lsub
goto 19
StackMap locals:
StackMap stack:
18: lload 6
StackMap locals:
StackMap stack: long
19: lstore 8
start local 8 20: lload 8
invokestatic com.oracle.truffle.js.runtime.SafeInteger.valueOf:(J)Lcom/oracle/truffle/js/runtime/SafeInteger;
areturn
end local 8 end local 6 21: StackMap locals:
StackMap stack:
dload 0
invokestatic com.oracle.truffle.js.builtins.math.FloorNode.mathFloor:(D)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 d D
0 22 2 isZero Lcom/oracle/truffle/api/profiles/ConditionProfile;
0 22 3 fitsInt Lcom/oracle/truffle/api/profiles/ConditionProfile;
0 22 4 fitsSafeLong Lcom/oracle/truffle/api/profiles/ConditionProfile;
0 22 5 smaller Lcom/oracle/truffle/api/profiles/ConditionProfile;
8 13 6 i I
15 21 6 i J
20 21 8 result J
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
com.oracle.truffle.api.dsl.Cached$Shared(value = "isZero")
2:
com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
com.oracle.truffle.api.dsl.Cached$Shared(value = "fitsInt")
3:
com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
com.oracle.truffle.api.dsl.Cached$Shared(value = "fitsSafeLong")
4:
com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
com.oracle.truffle.api.dsl.Cached$Shared(value = "smaller")
MethodParameters:
Name Flags
d
isZero
fitsInt
fitsSafeLong
smaller
protected java.lang.Object floorToDouble(java.lang.Object, com.oracle.truffle.api.profiles.ConditionProfile, com.oracle.truffle.api.profiles.ConditionProfile, com.oracle.truffle.api.profiles.ConditionProfile, com.oracle.truffle.api.profiles.ConditionProfile);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/profiles/ConditionProfile;Lcom/oracle/truffle/api/profiles/ConditionProfile;Lcom/oracle/truffle/api/profiles/ConditionProfile;Lcom/oracle/truffle/api/profiles/ConditionProfile;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.builtins.math.FloorNode.toDouble:(Ljava/lang/Object;)D
dstore 6
start local 6 1: dload 6
aload 2
aload 3
aload 4
aload 5
invokestatic com.oracle.truffle.js.builtins.math.FloorNode.floorDouble:(DLcom/oracle/truffle/api/profiles/ConditionProfile;Lcom/oracle/truffle/api/profiles/ConditionProfile;Lcom/oracle/truffle/api/profiles/ConditionProfile;Lcom/oracle/truffle/api/profiles/ConditionProfile;)Ljava/lang/Object;
areturn
end local 6 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/math/FloorNode;
0 2 1 a Ljava/lang/Object;
0 2 2 isZero Lcom/oracle/truffle/api/profiles/ConditionProfile;
0 2 3 fitsInt Lcom/oracle/truffle/api/profiles/ConditionProfile;
0 2 4 fitsSafeLong Lcom/oracle/truffle/api/profiles/ConditionProfile;
0 2 5 smaller Lcom/oracle/truffle/api/profiles/ConditionProfile;
1 2 6 d D
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(replaces = {"floorDouble"})
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
com.oracle.truffle.api.dsl.Cached$Shared(value = "isZero")
2:
com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
com.oracle.truffle.api.dsl.Cached$Shared(value = "fitsInt")
3:
com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
com.oracle.truffle.api.dsl.Cached$Shared(value = "fitsSafeLong")
4:
com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
com.oracle.truffle.api.dsl.Cached$Shared(value = "smaller")
MethodParameters:
Name Flags
a
isZero
fitsInt
fitsSafeLong
smaller
private static double mathFloor(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 java.lang.Math.floor:(D)D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 d D
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
d
}
SourceFile: "FloorNode.java"
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public abstract Shared = com.oracle.truffle.api.dsl.Cached$Shared of com.oracle.truffle.api.dsl.Cached