public abstract class org.graalvm.compiler.nodes.calc.CompareNode$CompareOp
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.nodes.calc.CompareNode$CompareOp
super_class: java.lang.Object
{
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=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/nodes/calc/CompareNode;
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.nodes.calc.CompareNode$CompareOp.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/calc/CompareNode$CompareOp;
public org.graalvm.compiler.nodes.LogicNode canonical(jdk.vm.ci.meta.ConstantReflectionProvider, jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.options.OptionValues, java.lang.Integer, org.graalvm.compiler.core.common.calc.CanonicalCondition, boolean, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.NodeView);
descriptor: (Ljdk/vm/ci/meta/ConstantReflectionProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Integer;Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=16, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 5
aload 7
aload 8
aload 1
iload 6
invokestatic org.graalvm.compiler.nodes.calc.CompareNode.tryConstantFold:(Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ConstantReflectionProvider;Z)Lorg/graalvm/compiler/nodes/LogicNode;
astore 10
start local 10 1: aload 10
ifnull 3
2: aload 10
areturn
3: StackMap locals: org.graalvm.compiler.nodes.LogicNode
StackMap stack:
aload 7
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 7
4: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 7
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
aload 8
iconst_1
iload 6
aload 9
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode$CompareOp.canonicalizeSymmetricConstant:(Ljdk/vm/ci/meta/ConstantReflectionProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Integer;Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;Ljdk/vm/ci/meta/Constant;Lorg/graalvm/compiler/nodes/ValueNode;ZZLorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
dup
astore 11
start local 11 5: ifnull 29
6: aload 11
areturn
end local 11 7: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 11
8: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 8
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
aload 7
iconst_0
iload 6
aload 9
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode$CompareOp.canonicalizeSymmetricConstant:(Ljdk/vm/ci/meta/ConstantReflectionProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Integer;Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;Ljdk/vm/ci/meta/Constant;Lorg/graalvm/compiler/nodes/ValueNode;ZZLorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
dup
astore 11
start local 11 9: ifnull 29
10: aload 11
areturn
end local 11 11: StackMap locals:
StackMap stack:
aload 7
instanceof org.graalvm.compiler.nodes.calc.ConvertNode
ifeq 29
aload 8
instanceof org.graalvm.compiler.nodes.calc.ConvertNode
ifeq 29
12: aload 7
checkcast org.graalvm.compiler.nodes.calc.ConvertNode
astore 12
start local 12 13: aload 8
checkcast org.graalvm.compiler.nodes.calc.ConvertNode
astore 13
start local 13 14: aload 12
aload 5
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.preservesOrder:(Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;)Z
ifeq 29
aload 13
aload 5
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.preservesOrder:(Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;)Z
ifeq 29
aload 12
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 9
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 13
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 9
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isCompatible:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
ifeq 29
15: iconst_1
istore 14
start local 14 16: aload 12
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 9
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
instanceof org.graalvm.compiler.core.common.type.IntegerStamp
ifeq 21
17: aload 12
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 9
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
astore 15
start local 15 18: aload 4
ifnull 19
aload 15
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
aload 4
invokevirtual java.lang.Integer.intValue:()I
if_icmplt 19
iconst_1
goto 20
StackMap locals: org.graalvm.compiler.nodes.calc.CompareNode$CompareOp jdk.vm.ci.meta.ConstantReflectionProvider jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.options.OptionValues java.lang.Integer org.graalvm.compiler.core.common.calc.CanonicalCondition int org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.NodeView org.graalvm.compiler.nodes.LogicNode top org.graalvm.compiler.nodes.calc.ConvertNode org.graalvm.compiler.nodes.calc.ConvertNode int org.graalvm.compiler.core.common.type.IntegerStamp
StackMap stack:
19: iconst_0
StackMap locals:
StackMap stack: int
20: istore 14
end local 15 21: StackMap locals:
StackMap stack:
iload 14
ifeq 29
22: aload 12
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.hasMoreThanOneUsage:()Z
ifne 23
aload 13
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.hasMoreThanOneUsage:()Z
ifne 23
iconst_0
goto 24
StackMap locals:
StackMap stack:
23: iconst_1
StackMap locals:
StackMap stack: int
24: istore 15
start local 15 25: aload 7
instanceof org.graalvm.compiler.nodes.calc.ZeroExtendNode
ifne 26
aload 7
instanceof org.graalvm.compiler.nodes.calc.SignExtendNode
ifeq 28
StackMap locals: int
StackMap stack:
26: iload 15
ifeq 28
27: aconst_null
areturn
28: StackMap locals:
StackMap stack:
aload 0
aload 12
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 13
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
iload 6
aload 9
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode$CompareOp.duplicateModified:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
areturn
end local 15 end local 14 end local 13 end local 12 29: StackMap locals: org.graalvm.compiler.nodes.calc.CompareNode$CompareOp jdk.vm.ci.meta.ConstantReflectionProvider jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.options.OptionValues java.lang.Integer org.graalvm.compiler.core.common.calc.CanonicalCondition int org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.NodeView org.graalvm.compiler.nodes.LogicNode
StackMap stack:
aconst_null
areturn
end local 10 end local 9 end local 8 end local 7 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 30 0 this Lorg/graalvm/compiler/nodes/calc/CompareNode$CompareOp;
0 30 1 constantReflection Ljdk/vm/ci/meta/ConstantReflectionProvider;
0 30 2 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 30 3 options Lorg/graalvm/compiler/options/OptionValues;
0 30 4 smallestCompareWidth Ljava/lang/Integer;
0 30 5 condition Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
0 30 6 unorderedIsTrue Z
0 30 7 forX Lorg/graalvm/compiler/nodes/ValueNode;
0 30 8 forY Lorg/graalvm/compiler/nodes/ValueNode;
0 30 9 view Lorg/graalvm/compiler/nodes/NodeView;
1 30 10 constantCondition Lorg/graalvm/compiler/nodes/LogicNode;
5 7 11 result Lorg/graalvm/compiler/nodes/LogicNode;
9 11 11 result Lorg/graalvm/compiler/nodes/LogicNode;
13 29 12 convertX Lorg/graalvm/compiler/nodes/calc/ConvertNode;
14 29 13 convertY Lorg/graalvm/compiler/nodes/calc/ConvertNode;
16 29 14 supported Z
18 21 15 intStamp Lorg/graalvm/compiler/core/common/type/IntegerStamp;
25 29 15 multiUsage Z
MethodParameters:
Name Flags
constantReflection
metaAccess
options
smallestCompareWidth
condition
unorderedIsTrue
forX
forY
view
protected org.graalvm.compiler.nodes.LogicNode canonicalizeSymmetricConstant(jdk.vm.ci.meta.ConstantReflectionProvider, jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.options.OptionValues, java.lang.Integer, org.graalvm.compiler.core.common.calc.CanonicalCondition, jdk.vm.ci.meta.Constant, org.graalvm.compiler.nodes.ValueNode, boolean, boolean, org.graalvm.compiler.nodes.NodeView);
descriptor: (Ljdk/vm/ci/meta/ConstantReflectionProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Integer;Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;Ljdk/vm/ci/meta/Constant;Lorg/graalvm/compiler/nodes/ValueNode;ZZLorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=15, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aload 7
instanceof org.graalvm.compiler.nodes.calc.ConditionalNode
ifeq 5
1: aload 5
invokevirtual org.graalvm.compiler.core.common.calc.CanonicalCondition.asCondition:()Lorg/graalvm/compiler/core/common/calc/Condition;
astore 11
start local 11 2: iload 8
ifeq 4
3: aload 11
invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
astore 11
4: StackMap locals: org.graalvm.compiler.core.common.calc.Condition
StackMap stack:
aload 6
aload 7
checkcast org.graalvm.compiler.nodes.calc.ConditionalNode
aload 1
aload 11
iload 9
invokestatic org.graalvm.compiler.nodes.calc.CompareNode$CompareOp.optimizeConditional:(Ljdk/vm/ci/meta/Constant;Lorg/graalvm/compiler/nodes/calc/ConditionalNode;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/calc/Condition;Z)Lorg/graalvm/compiler/nodes/LogicNode;
areturn
end local 11 5: StackMap locals:
StackMap stack:
aload 7
instanceof org.graalvm.compiler.nodes.calc.NormalizeCompareNode
ifeq 7
6: aload 0
aload 1
aload 2
aload 3
aload 4
aload 6
aload 7
checkcast org.graalvm.compiler.nodes.calc.NormalizeCompareNode
iload 8
aload 10
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode$CompareOp.optimizeNormalizeCompare:(Ljdk/vm/ci/meta/ConstantReflectionProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Integer;Ljdk/vm/ci/meta/Constant;Lorg/graalvm/compiler/nodes/calc/NormalizeCompareNode;ZLorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
areturn
7: StackMap locals:
StackMap stack:
aload 7
instanceof org.graalvm.compiler.nodes.calc.ConvertNode
ifeq 27
8: aload 7
checkcast org.graalvm.compiler.nodes.calc.ConvertNode
astore 11
start local 11 9: aload 11
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.hasMoreThanOneUsage:()Z
ifeq 10
aload 11
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.hasExactlyOneUsage:()Z
ifeq 10
iconst_1
goto 11
StackMap locals: org.graalvm.compiler.nodes.calc.ConvertNode
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 12
start local 12 12: aload 11
instanceof org.graalvm.compiler.nodes.calc.ZeroExtendNode
ifne 13
aload 11
instanceof org.graalvm.compiler.nodes.calc.SignExtendNode
ifeq 15
StackMap locals: int
StackMap stack:
13: iload 12
ifeq 15
14: aconst_null
areturn
15: StackMap locals:
StackMap stack:
iconst_1
istore 13
start local 13 16: aload 11
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 10
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
instanceof org.graalvm.compiler.core.common.type.IntegerStamp
ifeq 21
17: aload 11
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 10
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
astore 14
start local 14 18: aload 4
ifnull 19
aload 14
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
aload 4
invokevirtual java.lang.Integer.intValue:()I
if_icmple 19
iconst_1
goto 20
StackMap locals: int org.graalvm.compiler.core.common.type.IntegerStamp
StackMap stack:
19: iconst_0
StackMap locals:
StackMap stack: int
20: istore 13
end local 14 21: StackMap locals:
StackMap stack:
iload 13
ifeq 27
22: aload 1
aload 2
aload 3
aload 5
aload 11
aload 6
aload 10
invokestatic org.graalvm.compiler.nodes.calc.CompareNode$CompareOp.canonicalConvertConstant:(Ljdk/vm/ci/meta/ConstantReflectionProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;Lorg/graalvm/compiler/nodes/calc/ConvertNode;Ljdk/vm/ci/meta/Constant;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 14
start local 14 23: aload 14
ifnull 27
24: iload 8
ifeq 26
25: aload 0
aload 14
aload 11
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
iload 9
aload 10
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode$CompareOp.duplicateModified:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
areturn
26: StackMap locals: org.graalvm.compiler.nodes.ConstantNode
StackMap stack:
aload 0
aload 11
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 14
iload 9
aload 10
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode$CompareOp.duplicateModified:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
areturn
end local 14 end local 13 end local 12 end local 11 27: StackMap locals: org.graalvm.compiler.nodes.calc.CompareNode$CompareOp jdk.vm.ci.meta.ConstantReflectionProvider jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.options.OptionValues java.lang.Integer org.graalvm.compiler.core.common.calc.CanonicalCondition jdk.vm.ci.meta.Constant org.graalvm.compiler.nodes.ValueNode int int org.graalvm.compiler.nodes.NodeView
StackMap stack:
aconst_null
areturn
end local 10 end local 9 end local 8 end local 7 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 28 0 this Lorg/graalvm/compiler/nodes/calc/CompareNode$CompareOp;
0 28 1 constantReflection Ljdk/vm/ci/meta/ConstantReflectionProvider;
0 28 2 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 28 3 options Lorg/graalvm/compiler/options/OptionValues;
0 28 4 smallestCompareWidth Ljava/lang/Integer;
0 28 5 condition Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
0 28 6 constant Ljdk/vm/ci/meta/Constant;
0 28 7 nonConstant Lorg/graalvm/compiler/nodes/ValueNode;
0 28 8 mirrored Z
0 28 9 unorderedIsTrue Z
0 28 10 view Lorg/graalvm/compiler/nodes/NodeView;
2 5 11 realCondition Lorg/graalvm/compiler/core/common/calc/Condition;
9 27 11 convert Lorg/graalvm/compiler/nodes/calc/ConvertNode;
12 27 12 multiUsage Z
16 27 13 supported Z
18 21 14 intStamp Lorg/graalvm/compiler/core/common/type/IntegerStamp;
23 27 14 newConstant Lorg/graalvm/compiler/nodes/ConstantNode;
MethodParameters:
Name Flags
constantReflection
metaAccess
options
smallestCompareWidth
condition
constant
nonConstant
mirrored
unorderedIsTrue
view
private static org.graalvm.compiler.nodes.ConstantNode canonicalConvertConstant(jdk.vm.ci.meta.ConstantReflectionProvider, jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.options.OptionValues, org.graalvm.compiler.core.common.calc.CanonicalCondition, org.graalvm.compiler.nodes.calc.ConvertNode, jdk.vm.ci.meta.Constant, org.graalvm.compiler.nodes.NodeView);
descriptor: (Ljdk/vm/ci/meta/ConstantReflectionProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;Lorg/graalvm/compiler/nodes/calc/ConvertNode;Ljdk/vm/ci/meta/Constant;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ConstantNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 4
aload 3
aload 5
aload 0
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.preservesOrder:(Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Z
ifeq 6
1: aload 4
aload 5
aload 0
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.reverse:(Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Ljdk/vm/ci/meta/Constant;
astore 7
start local 7 2: aload 7
ifnull 6
aload 4
aload 7
aload 0
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.convert:(Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Ljdk/vm/ci/meta/Constant;
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
3: getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
aload 2
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 5
4: aconst_null
areturn
5: StackMap locals: jdk.vm.ci.meta.Constant
StackMap stack:
aload 4
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 7
aload 1
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/MetaAccessProvider;)Lorg/graalvm/compiler/nodes/ConstantNode;
areturn
end local 7 6: StackMap locals:
StackMap stack:
aconst_null
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 7 0 constantReflection Ljdk/vm/ci/meta/ConstantReflectionProvider;
0 7 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 7 2 options Lorg/graalvm/compiler/options/OptionValues;
0 7 3 condition Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
0 7 4 convert Lorg/graalvm/compiler/nodes/calc/ConvertNode;
0 7 5 constant Ljdk/vm/ci/meta/Constant;
0 7 6 view Lorg/graalvm/compiler/nodes/NodeView;
2 6 7 reverseConverted Ljdk/vm/ci/meta/Constant;
MethodParameters:
Name Flags
constantReflection
metaAccess
options
condition
convert
constant
view
protected org.graalvm.compiler.nodes.LogicNode optimizeNormalizeCompare(jdk.vm.ci.meta.ConstantReflectionProvider, jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.options.OptionValues, java.lang.Integer, jdk.vm.ci.meta.Constant, org.graalvm.compiler.nodes.calc.NormalizeCompareNode, boolean, org.graalvm.compiler.nodes.NodeView);
descriptor: (Ljdk/vm/ci/meta/ConstantReflectionProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Integer;Ljdk/vm/ci/meta/Constant;Lorg/graalvm/compiler/nodes/calc/NormalizeCompareNode;ZLorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: new org.graalvm.compiler.core.common.PermanentBailoutException
dup
ldc "NormalizeCompareNode connected to %s (%s %s %s)"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 5
aastore
dup
iconst_2
aload 6
aastore
dup
iconst_3
iload 7
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
end local 8 end local 7 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 1 0 this Lorg/graalvm/compiler/nodes/calc/CompareNode$CompareOp;
0 1 1 constantReflection Ljdk/vm/ci/meta/ConstantReflectionProvider;
0 1 2 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 1 3 options Lorg/graalvm/compiler/options/OptionValues;
0 1 4 smallestCompareWidth Ljava/lang/Integer;
0 1 5 constant Ljdk/vm/ci/meta/Constant;
0 1 6 normalizeNode Lorg/graalvm/compiler/nodes/calc/NormalizeCompareNode;
0 1 7 mirrored Z
0 1 8 view Lorg/graalvm/compiler/nodes/NodeView;
MethodParameters:
Name Flags
constantReflection
metaAccess
options
smallestCompareWidth
constant
normalizeNode
mirrored
view
private static org.graalvm.compiler.nodes.LogicNode optimizeConditional(jdk.vm.ci.meta.Constant, org.graalvm.compiler.nodes.calc.ConditionalNode, jdk.vm.ci.meta.ConstantReflectionProvider, org.graalvm.compiler.core.common.calc.Condition, boolean);
descriptor: (Ljdk/vm/ci/meta/Constant;Lorg/graalvm/compiler/nodes/calc/ConditionalNode;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/calc/Condition;Z)Lorg/graalvm/compiler/nodes/LogicNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.trueValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
astore 5
start local 5 1: aload 1
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.falseValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
astore 6
start local 6 2: aload 6
ifnull 12
aload 5
ifnull 12
aload 2
ifnull 12
3: aload 3
aload 5
aload 0
aload 2
iload 4
invokevirtual org.graalvm.compiler.core.common.calc.Condition.foldCondition:(Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/ConstantReflectionProvider;Z)Z
istore 7
start local 7 4: aload 3
aload 6
aload 0
aload 2
iload 4
invokevirtual org.graalvm.compiler.core.common.calc.Condition.foldCondition:(Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/ConstantReflectionProvider;Z)Z
istore 8
start local 8 5: iload 7
iload 8
if_icmpne 7
6: iload 7
invokestatic org.graalvm.compiler.nodes.LogicConstantNode.forBoolean:(Z)Lorg/graalvm/compiler/nodes/LogicConstantNode;
areturn
7: StackMap locals: jdk.vm.ci.meta.Constant org.graalvm.compiler.nodes.calc.ConditionalNode jdk.vm.ci.meta.ConstantReflectionProvider org.graalvm.compiler.core.common.calc.Condition int jdk.vm.ci.meta.Constant jdk.vm.ci.meta.Constant int int
StackMap stack:
iload 7
ifeq 10
8: getstatic org.graalvm.compiler.nodes.calc.CompareNode$CompareOp.$assertionsDisabled:Z
ifne 9
iload 8
ifeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
areturn
10: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodes.calc.CompareNode$CompareOp.$assertionsDisabled:Z
ifne 11
iload 8
ifne 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
invokestatic org.graalvm.compiler.nodes.LogicNegationNode.create:(Lorg/graalvm/compiler/nodes/LogicNode;)Lorg/graalvm/compiler/nodes/LogicNode;
areturn
end local 8 end local 7 12: StackMap locals:
StackMap stack:
aconst_null
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 13 0 constant Ljdk/vm/ci/meta/Constant;
0 13 1 conditionalNode Lorg/graalvm/compiler/nodes/calc/ConditionalNode;
0 13 2 constantReflection Ljdk/vm/ci/meta/ConstantReflectionProvider;
0 13 3 cond Lorg/graalvm/compiler/core/common/calc/Condition;
0 13 4 unorderedIsTrue Z
1 13 5 trueConstant Ljdk/vm/ci/meta/Constant;
2 13 6 falseConstant Ljdk/vm/ci/meta/Constant;
4 12 7 trueResult Z
5 12 8 falseResult Z
MethodParameters:
Name Flags
constant
conditionalNode
constantReflection
cond
unorderedIsTrue
protected abstract org.graalvm.compiler.nodes.LogicNode duplicateModified(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, boolean, org.graalvm.compiler.nodes.NodeView);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
newW
newY
unorderedIsTrue
view
}
SourceFile: "CompareNode.java"
NestHost: org.graalvm.compiler.nodes.calc.CompareNode
InnerClasses:
public abstract CompareOp = org.graalvm.compiler.nodes.calc.CompareNode$CompareOp of org.graalvm.compiler.nodes.calc.CompareNode