public abstract class com.oracle.truffle.sl.nodes.expression.SLShortCircuitNode extends com.oracle.truffle.sl.nodes.SLExpressionNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.sl.nodes.expression.SLShortCircuitNode
super_class: com.oracle.truffle.sl.nodes.SLExpressionNode
{
private com.oracle.truffle.sl.nodes.SLExpressionNode left;
descriptor: Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.sl.nodes.SLExpressionNode right;
descriptor: Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private final com.oracle.truffle.api.profiles.ConditionProfile evaluateRightProfile;
descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(com.oracle.truffle.sl.nodes.SLExpressionNode, com.oracle.truffle.sl.nodes.SLExpressionNode);
descriptor: (Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLExpressionNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial com.oracle.truffle.sl.nodes.SLExpressionNode.<init>:()V
1: aload 0
invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createCountingProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
putfield com.oracle.truffle.sl.nodes.expression.SLShortCircuitNode.evaluateRightProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
2: aload 0
aload 1
putfield com.oracle.truffle.sl.nodes.expression.SLShortCircuitNode.left:Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
3: aload 0
aload 2
putfield com.oracle.truffle.sl.nodes.expression.SLShortCircuitNode.right:Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/sl/nodes/expression/SLShortCircuitNode;
0 5 1 left Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
0 5 2 right Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
MethodParameters:
Name Flags
left
right
public final java.lang.Object executeGeneric(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.sl.nodes.expression.SLShortCircuitNode.executeBoolean:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/sl/nodes/expression/SLShortCircuitNode;
0 1 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
public final boolean executeBoolean(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.sl.nodes.expression.SLShortCircuitNode.left:Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
aload 1
invokevirtual com.oracle.truffle.sl.nodes.SLExpressionNode.executeBoolean:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
istore 2
start local 2 1: goto 4
end local 2 StackMap locals:
StackMap stack: com.oracle.truffle.api.nodes.UnexpectedResultException
2: astore 3
start local 3 3: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
invokevirtual com.oracle.truffle.api.nodes.UnexpectedResultException.getResult:()Ljava/lang/Object;
aastore
dup
iconst_1
aconst_null
aastore
invokestatic com.oracle.truffle.sl.SLException.typeError:(Lcom/oracle/truffle/api/nodes/Node;[Ljava/lang/Object;)Lcom/oracle/truffle/sl/SLException;
athrow
end local 3 start local 2 4: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.truffle.sl.nodes.expression.SLShortCircuitNode.evaluateRightProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
aload 0
iload 2
invokevirtual com.oracle.truffle.sl.nodes.expression.SLShortCircuitNode.isEvaluateRight:(Z)Z
invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 7
5: aload 0
getfield com.oracle.truffle.sl.nodes.expression.SLShortCircuitNode.right:Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
aload 1
invokevirtual com.oracle.truffle.sl.nodes.SLExpressionNode.executeBoolean:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
istore 3
start local 3 6: goto 11
end local 3 7: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 8: goto 11
end local 3 StackMap locals:
StackMap stack: com.oracle.truffle.api.nodes.UnexpectedResultException
9: astore 4
start local 4 10: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_1
aload 4
invokevirtual com.oracle.truffle.api.nodes.UnexpectedResultException.getResult:()Ljava/lang/Object;
aastore
invokestatic com.oracle.truffle.sl.SLException.typeError:(Lcom/oracle/truffle/api/nodes/Node;[Ljava/lang/Object;)Lcom/oracle/truffle/sl/SLException;
athrow
end local 4 start local 3 11: StackMap locals: int
StackMap stack:
aload 0
iload 2
iload 3
invokevirtual com.oracle.truffle.sl.nodes.expression.SLShortCircuitNode.execute:(ZZ)Z
ireturn
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/sl/nodes/expression/SLShortCircuitNode;
0 12 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 2 2 leftValue Z
4 12 2 leftValue Z
3 4 3 e Lcom/oracle/truffle/api/nodes/UnexpectedResultException;
6 7 3 rightValue Z
8 9 3 rightValue Z
11 12 3 rightValue Z
10 11 4 e Lcom/oracle/truffle/api/nodes/UnexpectedResultException;
Exception table:
from to target type
0 1 2 Class com.oracle.truffle.api.nodes.UnexpectedResultException
4 8 9 Class com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
frame
protected abstract boolean isEvaluateRight(boolean);
descriptor: (Z)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
leftValue
protected abstract boolean execute(boolean, boolean);
descriptor: (ZZ)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
leftValue
rightValue
}
SourceFile: "SLShortCircuitNode.java"
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node