public abstract class com.oracle.truffle.js.runtime.builtins.JSClass extends com.oracle.truffle.api.object.ObjectType
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.runtime.builtins.JSClass
super_class: com.oracle.truffle.api.object.ObjectType
{
protected static final java.lang.String[] EMPTY_STRING_ARRAY;
descriptor: [Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
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 Lcom/oracle/truffle/js/runtime/builtins/JSClass;
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 com.oracle.truffle.js.runtime.builtins.JSClass.$assertionsDisabled:Z
3: iconst_0
anewarray java.lang.String
putstatic com.oracle.truffle.js.runtime.builtins.JSClass.EMPTY_STRING_ARRAY:[Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.api.object.ObjectType.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/builtins/JSClass;
public abstract com.oracle.truffle.api.object.DynamicObject getPrototypeOf(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
public abstract boolean setPrototypeOf(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
newPrototype
public abstract boolean isExtensible(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
public abstract boolean preventExtensions(com.oracle.truffle.api.object.DynamicObject, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Z)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
doThrow
public abstract com.oracle.truffle.js.runtime.objects.PropertyDescriptor getOwnProperty(com.oracle.truffle.api.object.DynamicObject, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
key
public abstract boolean defineOwnProperty(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, com.oracle.truffle.js.runtime.objects.PropertyDescriptor, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;Z)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
key
value
doThrow
public abstract boolean hasProperty(com.oracle.truffle.api.object.DynamicObject, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
key
public abstract boolean hasProperty(com.oracle.truffle.api.object.DynamicObject, long);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;J)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
index
public abstract boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
key
public abstract boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject, long);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;J)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
index
public final java.lang.Object get(com.oracle.truffle.api.object.DynamicObject, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 1
aload 2
aconst_null
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getHelper:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.nullToUndefined:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 1 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 key Ljava/lang/Object;
MethodParameters:
Name Flags
thisObj
key
public java.lang.Object get(com.oracle.truffle.api.object.DynamicObject, long);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;J)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 1
lload 2
aconst_null
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getHelper:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;JLcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.nullToUndefined:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 1 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 index J
MethodParameters:
Name Flags
thisObj
index
public abstract java.lang.Object getHelper(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, java.lang.Object, com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
store
thisObj
key
encapsulatingNode
public abstract java.lang.Object getHelper(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, long, com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;JLcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
store
thisObj
index
encapsulatingNode
public abstract java.lang.Object getOwnHelper(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, java.lang.Object, com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
store
thisObj
key
encapsulatingNode
public abstract java.lang.Object getOwnHelper(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, long, com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;JLcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
store
thisObj
index
encapsulatingNode
public abstract java.lang.Object getMethodHelper(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, java.lang.Object, com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
store
thisObj
key
encapsulatingNode
public abstract boolean set(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, java.lang.Object, java.lang.Object, boolean, com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
key
value
receiver
isStrict
encapsulatingNode
public abstract boolean set(com.oracle.truffle.api.object.DynamicObject, long, java.lang.Object, java.lang.Object, boolean, com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JLjava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
index
value
receiver
isStrict
encapsulatingNode
public abstract boolean delete(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Z)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
key
isStrict
public abstract boolean delete(com.oracle.truffle.api.object.DynamicObject, long, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JZ)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
index
isStrict
public final java.util.List<java.lang.Object> ownPropertyKeys(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
iconst_1
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getOwnPropertyKeys:(Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 1 1 obj Lcom/oracle/truffle/api/object/DynamicObject;
Signature: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List<Ljava/lang/Object;>;
MethodParameters:
Name Flags
obj
public abstract java.util.List<java.lang.Object> getOwnPropertyKeys(com.oracle.truffle.api.object.DynamicObject, boolean, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Ljava/util/List;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: (Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Ljava/util/List<Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
obj
strings
symbols
public static java.util.List<java.lang.Object> filterOwnPropertyKeys(java.util.List<java.lang.Object>, boolean, boolean);
descriptor: (Ljava/util/List;ZZ)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifeq 2
iload 2
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 3: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 9
StackMap locals: java.util.List int int java.util.List top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 4
start local 4 5: iload 2
ifne 6
aload 4
instanceof com.oracle.truffle.js.runtime.Symbol
ifne 9
StackMap locals: java.util.List int int java.util.List java.lang.Object java.util.Iterator
StackMap stack:
6: iload 1
ifne 8
aload 4
instanceof java.lang.String
ifeq 8
7: goto 9
8: StackMap locals:
StackMap stack:
aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 9: StackMap locals: java.util.List int int java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
10: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 ownPropertyKeys Ljava/util/List<Ljava/lang/Object;>;
0 11 1 strings Z
0 11 2 symbols Z
3 11 3 names Ljava/util/List<Ljava/lang/Object;>;
5 9 4 key Ljava/lang/Object;
Signature: (Ljava/util/List<Ljava/lang/Object;>;ZZ)Ljava/util/List<Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
ownPropertyKeys
strings
symbols
public abstract boolean hasOnlyShapeProperties(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
obj
public abstract java.lang.String getClassName(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
object
public abstract java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.lang.String defaultToString(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSContext:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSContext;
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEcmaScriptVersion:()I
iconst_5
if_icmpgt 3
2: aload 0
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getClassName:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.formatToString:(Ljava/lang/String;)Ljava/lang/String;
areturn
3: StackMap locals: com.oracle.truffle.js.runtime.JSContext
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getToStringTag:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
astore 3
start local 3 4: aload 0
aload 3
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.formatToString:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 5 1 object Lcom/oracle/truffle/api/object/DynamicObject;
1 5 2 context Lcom/oracle/truffle/js/runtime/JSContext;
4 5 3 result Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
object
protected java.lang.String getToStringTag(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifeq 5
2: aload 1
getstatic com.oracle.truffle.js.runtime.Symbol.SYMBOL_TO_STRING_TAG:Lcom/oracle/truffle/js/runtime/Symbol;
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 3: aload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 5
4: aload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toStringIsString:(Ljava/lang/Object;)Ljava/lang/String;
astore 2
end local 3 5: StackMap locals: java.lang.String
StackMap stack:
aload 2
ifnonnull 7
6: aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getBuiltinToStringTag:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
astore 2
7: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 8 1 object Lcom/oracle/truffle/api/object/DynamicObject;
1 8 2 result Ljava/lang/String;
3 5 3 toStringTag Ljava/lang/Object;
MethodParameters:
Name Flags
object
public java.lang.String getBuiltinToStringTag(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getClassName:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 1 1 object Lcom/oracle/truffle/api/object/DynamicObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
object
protected java.lang.String formatToString(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "[object "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 1 1 object Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
object
public abstract java.lang.String toDisplayStringImpl(com.oracle.truffle.api.object.DynamicObject, int, boolean, com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;IZLcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
object
depth
allowSideEffects
context
public final boolean isInstance(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSClass.isInstance:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 1 1 object Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
object
public final boolean isInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSClass.isInstance:(Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public static boolean isInstance(java.lang.Object, com.oracle.truffle.js.runtime.builtins.JSClass);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 1
aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSClass.isInstance:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Z
ifeq 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 object Ljava/lang/Object;
0 2 1 jsclass Lcom/oracle/truffle/js/runtime/builtins/JSClass;
MethodParameters:
Name Flags
object
jsclass
public static boolean isInstance(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.runtime.builtins.JSClass);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
invokevirtual com.oracle.truffle.api.object.Shape.getDynamicType:()Ljava/lang/Object;
aload 1
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 object Lcom/oracle/truffle/api/object/DynamicObject;
0 2 1 jsclass Lcom/oracle/truffle/js/runtime/builtins/JSClass;
MethodParameters:
Name Flags
object
jsclass
public boolean testIntegrityLevel(com.oracle.truffle.api.object.DynamicObject, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.testIntegrityLevelDefault:(Lcom/oracle/truffle/api/object/DynamicObject;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/runtime/builtins/JSClass;
0 1 1 obj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 frozen Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
obj
frozen
protected final boolean testIntegrityLevelDefault(com.oracle.truffle.api.object.DynamicObject, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Z)Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.builtins.JSClass.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.isExtensible:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
istore 3
start local 3 2: iload 3
ifeq 4
3: iconst_0
ireturn
4: StackMap locals: int
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.ownPropertyKeys:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: com.oracle.truffle.js.runtime.builtins.JSClass com.oracle.truffle.api.object.DynamicObject int int top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 4
start local 4 6: aload 1
aload 4
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 6
start local 6 7: aload 6
ifnull 12
8: aload 6
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getConfigurable:()Z
ifeq 10
9: iconst_0
ireturn
10: StackMap locals: com.oracle.truffle.js.runtime.builtins.JSClass com.oracle.truffle.api.object.DynamicObject int int java.lang.Object java.util.Iterator com.oracle.truffle.js.runtime.objects.PropertyDescriptor
StackMap stack:
iload 2
ifeq 12
aload 6
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isDataDescriptor:()Z
ifeq 12
aload 6
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getWritable:()Z
ifeq 12
11: iconst_0
ireturn
end local 6 end local 4 12: StackMap locals: com.oracle.truffle.js.runtime.builtins.JSClass com.oracle.truffle.api.object.DynamicObject int int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
13: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 14 1 obj Lcom/oracle/truffle/api/object/DynamicObject;
0 14 2 frozen Z
2 14 3 status Z
6 12 4 key Ljava/lang/Object;
7 12 6 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
obj
frozen
public boolean setIntegrityLevel(com.oracle.truffle.api.object.DynamicObject, boolean, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.setIntegrityLevelDefault:(Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 1 1 obj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 freeze Z
0 1 3 doThrow Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
obj
freeze
doThrow
private boolean setIntegrityLevelDefault(com.oracle.truffle.api.object.DynamicObject, boolean, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.truffle.js.runtime.builtins.JSClass.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 3
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.preventExtensions:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Z
ifne 3
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.ownPropertyKeys:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
astore 4
start local 4 4: iload 2
ifeq 17
5: aload 4
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 15
StackMap locals: com.oracle.truffle.js.runtime.builtins.JSClass com.oracle.truffle.api.object.DynamicObject int int java.lang.Iterable top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5
start local 5 7: aload 1
aload 5
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 7
start local 7 8: aload 7
ifnull 15
9: aconst_null
astore 8
start local 8 10: aload 7
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isAccessorDescriptor:()Z
ifeq 13
11: getstatic com.oracle.truffle.js.runtime.builtins.JSClass$FreezeHolder.FREEZE_ACC_DESC:Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 8
12: goto 14
13: StackMap locals: com.oracle.truffle.js.runtime.builtins.JSClass com.oracle.truffle.api.object.DynamicObject int int java.lang.Iterable java.lang.Object java.util.Iterator com.oracle.truffle.js.runtime.objects.PropertyDescriptor com.oracle.truffle.js.runtime.objects.PropertyDescriptor
StackMap stack:
getstatic com.oracle.truffle.js.runtime.builtins.JSClass$FreezeHolder.FREEZE_DATA_DESC:Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 8
14: StackMap locals:
StackMap stack:
aload 1
aload 5
aload 8
invokestatic com.oracle.truffle.js.runtime.JSRuntime.definePropertyOrThrow:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;)V
end local 8 end local 7 end local 5 15: StackMap locals: com.oracle.truffle.js.runtime.builtins.JSClass com.oracle.truffle.api.object.DynamicObject int int java.lang.Iterable top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
16: goto 21
17: StackMap locals: com.oracle.truffle.js.runtime.builtins.JSClass com.oracle.truffle.api.object.DynamicObject int int java.lang.Iterable
StackMap stack:
aload 4
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 20
StackMap locals: com.oracle.truffle.js.runtime.builtins.JSClass com.oracle.truffle.api.object.DynamicObject int int java.lang.Iterable top java.util.Iterator
StackMap stack:
18: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5
start local 5 19: aload 1
aload 5
getstatic com.oracle.truffle.js.runtime.builtins.JSClass$FreezeHolder.FREEZE_ACC_DESC:Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.definePropertyOrThrow:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;)V
end local 5 20: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
21: StackMap locals: com.oracle.truffle.js.runtime.builtins.JSClass com.oracle.truffle.api.object.DynamicObject int int java.lang.Iterable
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 22 1 obj Lcom/oracle/truffle/api/object/DynamicObject;
0 22 2 freeze Z
0 22 3 doThrow Z
4 22 4 keys Ljava/lang/Iterable<Ljava/lang/Object;>;
7 15 5 key Ljava/lang/Object;
8 15 7 currentDesc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
10 15 8 newDesc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
19 20 5 key Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
obj
freeze
doThrow
public com.oracle.truffle.api.object.Shape makeInitialShape(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.runtime.Errors.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 1 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 1 2 prototype Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
context
prototype
public abstract boolean usesOrdinaryGetOwnProperty();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean usesOrdinaryIsExtensible();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
SourceFile: "JSClass.java"
NestMembers:
com.oracle.truffle.js.runtime.builtins.JSClass$FreezeHolder
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
private final FreezeHolder = com.oracle.truffle.js.runtime.builtins.JSClass$FreezeHolder of com.oracle.truffle.js.runtime.builtins.JSClass