public abstract class com.oracle.truffle.js.nodes.access.IsJSClassNode extends com.oracle.truffle.js.nodes.unary.JSUnaryNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.nodes.access.IsJSClassNode
super_class: com.oracle.truffle.js.nodes.unary.JSUnaryNode
{
protected static final int MAX_SHAPE_COUNT;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private final com.oracle.truffle.js.runtime.builtins.JSClass jsclass;
descriptor: Lcom/oracle/truffle/js/runtime/builtins/JSClass;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected void <init>(com.oracle.truffle.js.runtime.builtins.JSClass, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokespecial com.oracle.truffle.js.nodes.unary.JSUnaryNode.<init>:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
1: aload 0
aload 1
putfield com.oracle.truffle.js.nodes.access.IsJSClassNode.jsclass:Lcom/oracle/truffle/js/runtime/builtins/JSClass;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/access/IsJSClassNode;
0 3 1 jsclass Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 3 2 operand Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
jsclass
operand
public abstract boolean executeBoolean(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
obj
protected static boolean doIsInstanceShape(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Z)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 1
aload 1
aload 0
invokevirtual com.oracle.truffle.api.object.Shape.check:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 object Lcom/oracle/truffle/api/object/DynamicObject;
0 2 1 cachedShape Lcom/oracle/truffle/api/object/Shape;
0 2 2 cachedResult Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"cachedShape.check(object)"}, limit = "MAX_SHAPE_COUNT")
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached(value = "object.getShape()")
2:
com.oracle.truffle.api.dsl.Cached(value = "doIsInstance(object)")
MethodParameters:
Name Flags
object
cachedShape
cachedResult
protected boolean doIsInstanceObject(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.access.IsJSClassNode.jsclass:Lcom/oracle/truffle/js/runtime/builtins/JSClass;
aload 1
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.isInstance:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/IsJSClassNode;
0 1 1 object Lcom/oracle/truffle/api/object/DynamicObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(replaces = {"doIsInstanceShape"})
MethodParameters:
Name Flags
object
protected boolean doIsInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.access.IsJSClassNode.jsclass:Lcom/oracle/truffle/js/runtime/builtins/JSClass;
aload 1
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.isInstance:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/IsJSClassNode;
0 1 1 object Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(replaces = {"doIsInstanceObject"})
MethodParameters:
Name Flags
object
public static com.oracle.truffle.js.nodes.access.IsJSClassNode create(com.oracle.truffle.js.runtime.builtins.JSClass);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Lcom/oracle/truffle/js/nodes/access/IsJSClassNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokestatic com.oracle.truffle.js.nodes.access.IsJSClassNode.create:(Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/IsJSClassNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 clazz Lcom/oracle/truffle/js/runtime/builtins/JSClass;
MethodParameters:
Name Flags
clazz
public static com.oracle.truffle.js.nodes.access.IsJSClassNode create(com.oracle.truffle.js.runtime.builtins.JSClass, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/IsJSClassNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tIsJSClassNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
clazz
operand
protected com.oracle.truffle.js.nodes.JavaScriptNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.access.IsJSClassNode.jsclass:Lcom/oracle/truffle/js/runtime/builtins/JSClass;
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.IsJSClassNode.getOperand:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokestatic com.oracle.truffle.js.nodes.access.IsJSClassNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.nodes.access.IsJSClassNode.create:(Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/IsJSClassNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/IsJSClassNode;
0 1 1 materializedTags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
materializedTags
public boolean isResultAlwaysOfType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/access/IsJSClassNode;
0 2 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
}
SourceFile: "IsJSClassNode.java"