public abstract class com.oracle.truffle.js.nodes.access.IsRegExpNode extends com.oracle.truffle.js.nodes.JavaScriptBaseNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.nodes.access.IsRegExpNode
super_class: com.oracle.truffle.js.nodes.JavaScriptBaseNode
{
private com.oracle.truffle.js.nodes.access.PropertyGetNode getSymbolMatchNode;
descriptor: Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
void <init>(com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.oracle.truffle.js.nodes.JavaScriptBaseNode.<init>:()V
1: aload 0
aload 0
getstatic com.oracle.truffle.js.runtime.Symbol.SYMBOL_MATCH:Lcom/oracle/truffle/js/runtime/Symbol;
iconst_0
aload 1
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.create:(Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
invokevirtual com.oracle.truffle.js.nodes.access.IsRegExpNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode
putfield com.oracle.truffle.js.nodes.access.IsRegExpNode.getSymbolMatchNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/access/IsRegExpNode;
0 3 1 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
context
public abstract boolean executeBoolean(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
obj
boolean doIsObject(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.nodes.access.IsJSObjectNode, com.oracle.truffle.js.nodes.cast.JSToBooleanNode, com.oracle.truffle.js.nodes.access.IsJSClassNode, com.oracle.truffle.api.profiles.ConditionProfile);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;Lcom/oracle/truffle/js/nodes/cast/JSToBooleanNode;Lcom/oracle/truffle/js/nodes/access/IsJSClassNode;Lcom/oracle/truffle/api/profiles/ConditionProfile;)Z
flags: (0x0000)
Code:
stack=3, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.IsJSObjectNode.executeBoolean:(Ljava/lang/Object;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.access.IsRegExpNode.getSymbolMatchNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
start local 6 3: aload 5
aload 6
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 4
iconst_1
goto 5
StackMap locals: com.oracle.truffle.js.nodes.access.IsRegExpNode com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.nodes.access.IsJSObjectNode com.oracle.truffle.js.nodes.cast.JSToBooleanNode com.oracle.truffle.js.nodes.access.IsJSClassNode com.oracle.truffle.api.profiles.ConditionProfile java.lang.Object
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
4: iconst_0
StackMap locals: com.oracle.truffle.js.nodes.access.IsRegExpNode com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.nodes.access.IsJSObjectNode com.oracle.truffle.js.nodes.cast.JSToBooleanNode com.oracle.truffle.js.nodes.access.IsJSClassNode com.oracle.truffle.api.profiles.ConditionProfile java.lang.Object
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
5: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 7
6: aload 3
aload 6
invokevirtual com.oracle.truffle.js.nodes.cast.JSToBooleanNode.executeBoolean:(Ljava/lang/Object;)Z
ireturn
7: StackMap locals:
StackMap stack:
aload 4
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.IsJSClassNode.executeBoolean:(Ljava/lang/Object;)Z
ireturn
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 8 0 this Lcom/oracle/truffle/js/nodes/access/IsRegExpNode;
0 8 1 obj Lcom/oracle/truffle/api/object/DynamicObject;
0 8 2 isObjectNode Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
0 8 3 toBooleanNode Lcom/oracle/truffle/js/nodes/cast/JSToBooleanNode;
0 8 4 isJSRegExpNode Lcom/oracle/truffle/js/nodes/access/IsJSClassNode;
0 8 5 hasMatchSymbol Lcom/oracle/truffle/api/profiles/ConditionProfile;
3 8 6 isRegExp Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached(value = "create()")
2:
com.oracle.truffle.api.dsl.Cached(value = "create()")
3:
com.oracle.truffle.api.dsl.Cached(value = "createIsJSRegExpNode()")
4:
com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
MethodParameters:
Name Flags
obj
isObjectNode
toBooleanNode
isJSRegExpNode
hasMatchSymbol
boolean doNonObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/IsRegExpNode;
0 1 1 obj Ljava/lang/Object;
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.Fallback()
MethodParameters:
Name Flags
obj
static com.oracle.truffle.js.nodes.access.IsJSClassNode createIsJSRegExpNode();
descriptor: ()Lcom/oracle/truffle/js/nodes/access/IsJSClassNode;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.truffle.js.runtime.builtins.JSRegExp.INSTANCE:Lcom/oracle/truffle/js/runtime/builtins/JSRegExp;
invokestatic com.oracle.truffle.js.nodes.access.IsJSClassNode.create:(Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Lcom/oracle/truffle/js/nodes/access/IsJSClassNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.truffle.js.nodes.access.IsRegExpNode create(com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/IsRegExpNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tIsRegExpNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
context
}
SourceFile: "IsRegExpNode.java"
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node