public final class org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode extends org.graalvm.compiler.nodes.calc.UnaryNode implements org.graalvm.compiler.nodes.spi.ArithmeticLIRLowerable, org.graalvm.compiler.nodes.spi.Lowerable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode
super_class: org.graalvm.compiler.nodes.calc.UnaryNode
{
public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode> TYPE;
descriptor: Lorg/graalvm/compiler/graph/NodeClass;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/compiler/graph/NodeClass<Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;>;
protected final org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation operation;
descriptor: Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$replacements$nodes$UnaryMathIntrinsicNode$UnaryOperation;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;
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 org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.$assertionsDisabled:Z
3: ldc Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;
invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
putstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
return
LocalVariableTable:
Start End Slot Name Signature
public org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation getOperation();
descriptor: ()Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.operation:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;
public static org.graalvm.compiler.nodes.ValueNode create(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.tryConstantFold:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
new org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode
dup
aload 0
aload 1
invokespecial org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 value Lorg/graalvm/compiler/nodes/ValueNode;
0 4 1 op Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
1 4 2 c Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
value
op
protected static org.graalvm.compiler.nodes.ValueNode tryConstantFold(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 2
1: aload 1
aload 0
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asDouble:()D
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.compute:(D)D
invokestatic org.graalvm.compiler.nodes.ConstantNode.forDouble:(D)Lorg/graalvm/compiler/nodes/ConstantNode;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value Lorg/graalvm/compiler/nodes/ValueNode;
0 3 1 op Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
MethodParameters:
Name Flags
value
op
protected void <init>(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 2
invokestatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.computeStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 1
invokespecial org.graalvm.compiler.nodes.calc.UnaryNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
1: getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.$assertionsDisabled:Z
ifne 3
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
instanceof org.graalvm.compiler.core.common.type.FloatStamp
ifeq 2
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.core.common.type.PrimitiveStamp.getBits:(Lorg/graalvm/compiler/core/common/type/Stamp;)I
bipush 64
if_icmpeq 3
StackMap locals: org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.operation:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;
0 5 1 value Lorg/graalvm/compiler/nodes/ValueNode;
0 5 2 op Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
MethodParameters:
Name Flags
value
op
public org.graalvm.compiler.core.common.type.Stamp foldStamp(org.graalvm.compiler.core.common.type.Stamp);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
invokestatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.computeStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;
0 1 1 valueStamp Lorg/graalvm/compiler/core/common/type/Stamp;
MethodParameters:
Name Flags
valueStamp
static org.graalvm.compiler.core.common.type.Stamp computeStamp(org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 0
instanceof org.graalvm.compiler.core.common.type.FloatStamp
ifeq 23
1: aload 0
checkcast org.graalvm.compiler.core.common.type.FloatStamp
astore 2
start local 2 2: invokestatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.$SWITCH_TABLE$org$graalvm$compiler$replacements$nodes$UnaryMathIntrinsicNode$UnaryOperation:()[I
aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.ordinal:()I
iaload
tableswitch { // 1 - 6
1: 11
2: 11
3: 3
4: 3
5: 7
6: 19
default: 23
}
3: StackMap locals: org.graalvm.compiler.core.common.type.FloatStamp
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.lowerBound:()D
ldc -Infinity
dcmpl
ifeq 4
aload 2
invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.upperBound:()D
ldc Infinity
dcmpl
ifeq 4
aload 2
invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.isNonNaN:()Z
ifeq 4
iconst_1
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 3
start local 3 6: getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
ldc -1.0
dconst_1
iload 3
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forFloat:(Ljdk/vm/ci/meta/JavaKind;DDZ)Lorg/graalvm/compiler/core/common/type/FloatStamp;
areturn
end local 3 7: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.lowerBound:()D
ldc -Infinity
dcmpl
ifeq 8
aload 2
invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.upperBound:()D
ldc Infinity
dcmpl
ifeq 8
aload 2
invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.isNonNaN:()Z
ifeq 8
iconst_1
goto 9
StackMap locals:
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 3
start local 3 10: getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
ldc -Infinity
ldc Infinity
iload 3
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forFloat:(Ljdk/vm/ci/meta/JavaKind;DDZ)Lorg/graalvm/compiler/core/common/type/FloatStamp;
areturn
end local 3 11: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.lowerBound:()D
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.compute:(D)D
dstore 3
start local 3 12: aload 1
aload 2
invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.upperBound:()D
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.compute:(D)D
dstore 5
start local 5 13: aload 2
dconst_0
invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.contains:(D)Z
ifeq 15
14: ldc -Infinity
dstore 3
15: StackMap locals: double double
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.lowerBound:()D
dconst_0
dcmpl
iflt 16
aload 2
invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.isNonNaN:()Z
ifeq 16
iconst_1
goto 17
StackMap locals:
StackMap stack:
16: iconst_0
StackMap locals:
StackMap stack: int
17: istore 7
start local 7 18: getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
dload 3
dload 5
iload 7
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forFloat:(Ljdk/vm/ci/meta/JavaKind;DDZ)Lorg/graalvm/compiler/core/common/type/FloatStamp;
areturn
end local 7 end local 5 end local 3 19: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.lowerBound:()D
invokestatic java.lang.Math.exp:(D)D
dstore 3
start local 3 20: aload 2
invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.upperBound:()D
invokestatic java.lang.Math.exp:(D)D
dstore 5
start local 5 21: aload 2
invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.isNonNaN:()Z
istore 7
start local 7 22: getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
dload 3
dload 5
iload 7
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forFloat:(Ljdk/vm/ci/meta/JavaKind;DDZ)Lorg/graalvm/compiler/core/common/type/FloatStamp;
areturn
end local 7 end local 5 end local 3 end local 2 23: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 valueStamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 24 1 op Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
2 23 2 floatStamp Lorg/graalvm/compiler/core/common/type/FloatStamp;
6 7 3 nonNaN Z
10 11 3 nonNaN Z
12 19 3 lowerBound D
13 19 5 upperBound D
18 19 7 nonNaN Z
20 23 3 lowerBound D
21 23 5 upperBound D
22 23 7 nonNaN Z
MethodParameters:
Name Flags
valueStamp
op
public void lower(org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLowerer:()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
aload 0
aload 1
invokeinterface org.graalvm.compiler.nodes.spi.LoweringProvider.lower:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;
0 2 1 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
MethodParameters:
Name Flags
tool
public void generate(org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool, org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool);
descriptor: (Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGeneratorTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 3
start local 3 1: invokestatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.$SWITCH_TABLE$org$graalvm$compiler$replacements$nodes$UnaryMathIntrinsicNode$UnaryOperation:()[I
aload 0
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.ordinal:()I
iaload
tableswitch { // 1 - 6
1: 2
2: 4
3: 8
4: 10
5: 12
6: 6
default: 14
}
2: StackMap locals: jdk.vm.ci.meta.Value
StackMap stack:
aload 2
aload 3
iconst_0
invokeinterface org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool.emitMathLog:(Ljdk/vm/ci/meta/Value;Z)Ljdk/vm/ci/meta/Value;
astore 4
start local 4 3: goto 15
end local 4 4: StackMap locals:
StackMap stack:
aload 2
aload 3
iconst_1
invokeinterface org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool.emitMathLog:(Ljdk/vm/ci/meta/Value;Z)Ljdk/vm/ci/meta/Value;
astore 4
start local 4 5: goto 15
end local 4 6: StackMap locals:
StackMap stack:
aload 2
aload 3
invokeinterface org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool.emitMathExp:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
astore 4
start local 4 7: goto 15
end local 4 8: StackMap locals:
StackMap stack:
aload 2
aload 3
invokeinterface org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool.emitMathSin:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
astore 4
start local 4 9: goto 15
end local 4 10: StackMap locals:
StackMap stack:
aload 2
aload 3
invokeinterface org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool.emitMathCos:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
astore 4
start local 4 11: goto 15
end local 4 12: StackMap locals:
StackMap stack:
aload 2
aload 3
invokeinterface org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool.emitMathTan:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
astore 4
start local 4 13: goto 15
end local 4 14: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
start local 4 15: StackMap locals: jdk.vm.ci.meta.Value
StackMap stack:
aload 1
aload 0
aload 4
invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.setResult:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
pop
16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;
0 17 1 nodeValueMap Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;
0 17 2 gen Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGeneratorTool;
1 17 3 input Ljdk/vm/ci/meta/Value;
3 4 4 result Ljdk/vm/ci/meta/Value;
5 6 4 result Ljdk/vm/ci/meta/Value;
7 8 4 result Ljdk/vm/ci/meta/Value;
9 10 4 result Ljdk/vm/ci/meta/Value;
11 12 4 result Ljdk/vm/ci/meta/Value;
13 14 4 result Ljdk/vm/ci/meta/Value;
15 17 4 result Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
nodeValueMap
gen
public org.graalvm.compiler.nodes.ValueNode canonical(org.graalvm.compiler.graph.spi.CanonicalizerTool, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
invokestatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.tryConstantFold:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
areturn
3: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;
0 4 1 tool Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;
0 4 2 forValue Lorg/graalvm/compiler/nodes/ValueNode;
1 4 3 c Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
tool
forValue
public static native double compute(double, org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation);
descriptor: (DLorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)D
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$NodeIntrinsic()
RuntimeVisibleParameterAnnotations:
0:
1:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
MethodParameters:
Name Flags
value
op
public org.graalvm.compiler.graph.Node canonical(org.graalvm.compiler.graph.spi.CanonicalizerTool, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast org.graalvm.compiler.nodes.ValueNode
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.canonical:(Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
static int[] $SWITCH_TABLE$org$graalvm$compiler$replacements$nodes$UnaryMathIntrinsicNode$UnaryOperation();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.$SWITCH_TABLE$org$graalvm$compiler$replacements$nodes$UnaryMathIntrinsicNode$UnaryOperation:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.values:()[Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.COS:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.ordinal:()I
iconst_4
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.EXP:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.ordinal:()I
bipush 6
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.LOG:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.ordinal:()I
iconst_1
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.LOG10:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.ordinal:()I
iconst_2
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.SIN:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.ordinal:()I
iconst_3
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.TAN:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.ordinal:()I
iconst_5
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
dup
putstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.$SWITCH_TABLE$org$graalvm$compiler$replacements$nodes$UnaryMathIntrinsicNode$UnaryOperation:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
}
SourceFile: "UnaryMathIntrinsicNode.java"
NestMembers:
org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation
InnerClasses:
public abstract ConstantNodeParameter = org.graalvm.compiler.graph.Node$ConstantNodeParameter of org.graalvm.compiler.graph.Node
public abstract NodeIntrinsic = org.graalvm.compiler.graph.Node$NodeIntrinsic of org.graalvm.compiler.graph.Node
public final UnaryOperation = org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation of org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode
RuntimeVisibleAnnotations:
org.graalvm.compiler.nodeinfo.NodeInfo(nameTemplate = "MathIntrinsic#{p#operation/s}", cycles = org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_UNKNOWN:Lorg/graalvm/compiler/nodeinfo/NodeCycles;, size = org.graalvm.compiler.nodeinfo.NodeSize.SIZE_1:Lorg/graalvm/compiler/nodeinfo/NodeSize;)