public abstract class com.oracle.truffle.js.nodes.access.IsJSObjectNode 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.IsJSObjectNode
super_class: com.oracle.truffle.js.nodes.JavaScriptBaseNode
{
protected static final int MAX_CLASS_COUNT;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private final boolean includeNullUndefined;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected void <init>(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, 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
iload 1
putfield com.oracle.truffle.js.nodes.access.IsJSObjectNode.includeNullUndefined:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
0 3 1 includeNullUndefined Z
MethodParameters:
Name Flags
includeNullUndefined
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 isObjectCached(, java.lang.Class<?>, );
descriptor: (Ljava/lang/Object;Ljava/lang/Class;Z)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 object Ljava/lang/Object;
0 1 1 cachedClass Ljava/lang/Class<*>;
0 1 2 cachedResult Z
Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;Z)Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"cachedClass != null", "cachedClass.isInstance(object)"}, limit = "MAX_CLASS_COUNT")
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached(value = "getClassIfJSDynamicObject(object)")
2:
com.oracle.truffle.api.dsl.Cached(value = "guardIsJSObject(object)")
MethodParameters:
Name Flags
object
cachedClass
cachedResult
protected boolean isObject(java.lang.Object, com.oracle.truffle.api.profiles.ConditionProfile);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/profiles/ConditionProfile;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.IsJSObjectNode.guardIsJSObject:(Ljava/lang/Object;)Z
invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
0 1 1 object Ljava/lang/Object;
0 1 2 resultProfile Lcom/oracle/truffle/api/profiles/ConditionProfile;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(replaces = {"isObjectCached"})
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
MethodParameters:
Name Flags
object
resultProfile
public static com.oracle.truffle.js.nodes.access.IsJSObjectNode create();
descriptor: ()Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tIsJSObjectNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.truffle.js.nodes.access.IsJSObjectNode createIncludeNullUndefined();
descriptor: ()Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tIsJSObjectNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
protected boolean guardIsJSObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.access.IsJSObjectNode.includeNullUndefined:Z
ifeq 2
1: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.nodes.JSGuards.isJSObject:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
0 3 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
}
SourceFile: "IsJSObjectNode.java"
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.ImportStatic(value = {Lcom/oracle/truffle/js/runtime/objects/JSObject;})