public abstract class com.oracle.truffle.js.runtime.builtins.JSNonProxy extends com.oracle.truffle.js.runtime.builtins.JSClass
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.runtime.builtins.JSNonProxy
super_class: com.oracle.truffle.js.runtime.builtins.JSClass
{
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/JSNonProxy;
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.JSNonProxy.$assertionsDisabled:Z
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.js.runtime.builtins.JSClass.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
public 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: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
aload 3
iload 4
invokestatic com.oracle.truffle.js.runtime.util.DefinePropertyUtil.ordinaryDefineOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;Z)Z
ireturn
end local 4 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/JSNonProxy;
0 1 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 key Ljava/lang/Object;
0 1 3 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
0 1 4 doThrow Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
key
desc
doThrow
public 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: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 3
invokestatic com.oracle.truffle.js.runtime.util.DefinePropertyUtil.getPropertyByKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
astore 5
start local 5 1: aload 5
ifnull 3
2: aload 5
aload 1
aload 2
aload 4
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.getValue:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
areturn
3: StackMap locals: com.oracle.truffle.api.object.Property
StackMap stack:
aconst_null
areturn
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 4 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
0 4 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 4 2 thisObj Ljava/lang/Object;
0 4 3 key Ljava/lang/Object;
0 4 4 encapsulatingNode Lcom/oracle/truffle/api/nodes/Node;
1 4 5 entry Lcom/oracle/truffle/api/object/Property;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
store
thisObj
key
encapsulatingNode
public 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: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
aload 1
aload 2
lload 3
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
aload 5
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.getOwnHelper:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
areturn
end local 5 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/JSNonProxy;
0 1 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 thisObj Ljava/lang/Object;
0 1 3 index J
0 1 5 encapsulatingNode Lcom/oracle/truffle/api/nodes/Node;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
store
thisObj
index
encapsulatingNode
public 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: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.getOwnHelper:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
astore 5
start local 5 1: aload 5
ifnull 3
2: aload 5
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 1
aload 3
aload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.getPropertyHelperGeneric:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
areturn
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 4 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
0 4 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 4 2 thisObj Ljava/lang/Object;
0 4 3 key Ljava/lang/Object;
0 4 4 encapsulatingNode Lcom/oracle/truffle/api/nodes/Node;
1 4 5 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
store
thisObj
key
encapsulatingNode
private static java.lang.Object getPropertyHelperGeneric(java.lang.Object, com.oracle.truffle.api.object.DynamicObject, java.lang.Object, com.oracle.truffle.api.nodes.Node);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
start local 4 1: aload 4
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 3
2: aload 4
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSClass:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
aload 4
aload 0
aload 2
aload 3
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;
areturn
3: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 thisObj Ljava/lang/Object;
0 4 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 4 2 key Ljava/lang/Object;
0 4 3 encapsulatingNode Lcom/oracle/truffle/api/nodes/Node;
1 4 4 prototype Lcom/oracle/truffle/api/object/DynamicObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
store
key
encapsulatingNode
public 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: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
aload 1
aload 2
lload 3
aload 5
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.getOwnHelper:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;JLcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
astore 6
start local 6 1: aload 6
ifnull 3
2: aload 6
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 1
lload 3
aload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.getPropertyHelperGeneric:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;JLcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
areturn
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
0 4 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 4 2 thisObj Ljava/lang/Object;
0 4 3 index J
0 4 5 encapsulatingNode Lcom/oracle/truffle/api/nodes/Node;
1 4 6 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
store
thisObj
index
encapsulatingNode
private static java.lang.Object getPropertyHelperGeneric(java.lang.Object, com.oracle.truffle.api.object.DynamicObject, long, com.oracle.truffle.api.nodes.Node);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;JLcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 1: aload 5
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 3
2: aload 5
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSClass:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
aload 5
aload 0
lload 2
aload 4
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;
areturn
3: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aconst_null
areturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 thisObj Ljava/lang/Object;
0 4 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 4 2 index J
0 4 4 encapsulatingNode Lcom/oracle/truffle/api/nodes/Node;
1 4 5 prototype Lcom/oracle/truffle/api/object/DynamicObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
store
index
encapsulatingNode
public 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: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.getHelper:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
areturn
end local 4 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/JSNonProxy;
0 1 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 thisObj Ljava/lang/Object;
0 1 3 name Ljava/lang/Object;
0 1 4 encapsulatingNode Lcom/oracle/truffle/api/nodes/Node;
MethodParameters:
Name Flags
store
thisObj
name
encapsulatingNode
public 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: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
iload 2
iload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.ordinaryOwnPropertyKeys:(Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Ljava/util/List;
areturn
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/JSNonProxy;
0 1 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 strings Z
0 1 3 symbols Z
Signature: (Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Ljava/util/List<Ljava/lang/Object;>;
MethodParameters:
Name Flags
thisObj
strings
symbols
public static java.util.List<java.lang.Object> ordinaryOwnPropertyKeys(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
iconst_1
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.ordinaryOwnPropertyKeys:(Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
Signature: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List<Ljava/lang/Object;>;
MethodParameters:
Name Flags
thisObj
protected static java.util.List<java.lang.Object> ordinaryOwnPropertyKeys(com.oracle.truffle.api.object.DynamicObject, boolean, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Ljava/util/List;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
iload 1
iload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.getPropertyKeyList:(Lcom/oracle/truffle/api/object/Shape;ZZ)Lcom/oracle/truffle/js/runtime/util/UnmodifiablePropertyKeyList;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 1 strings Z
0 1 2 symbols Z
Signature: (Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Ljava/util/List<Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
strings
symbols
protected static java.util.List<java.lang.Object> ordinaryOwnPropertyKeysSlow(com.oracle.truffle.api.object.DynamicObject, boolean, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Ljava/util/List;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
invokevirtual com.oracle.truffle.api.object.Shape.getKeyList:()Ljava/util/List;
astore 3
start local 3 2: new java.util.ArrayList
dup
aload 3
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 3: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 9
StackMap locals: com.oracle.truffle.api.object.DynamicObject int int java.util.List java.util.List top java.util.Iterator
StackMap stack:
4: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5
start local 5 5: iload 2
ifne 6
aload 5
instanceof com.oracle.truffle.js.runtime.Symbol
ifne 9
StackMap locals: com.oracle.truffle.api.object.DynamicObject int int java.util.List java.util.List java.lang.Object java.util.Iterator
StackMap stack:
6: iload 1
ifne 8
aload 5
instanceof java.lang.String
ifeq 8
7: goto 9
8: StackMap locals:
StackMap stack:
aload 4
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 9: StackMap locals: com.oracle.truffle.api.object.DynamicObject int int java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
10: aload 4
invokedynamic compare()Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
com/oracle/truffle/js/runtime/JSRuntime.comparePropertyKeys(Ljava/lang/Object;Ljava/lang/Object;)I (6)
(Ljava/lang/Object;Ljava/lang/Object;)I
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
11: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 12 1 strings Z
0 12 2 symbols Z
2 12 3 keyList Ljava/util/List<Ljava/lang/Object;>;
3 12 4 list Ljava/util/List<Ljava/lang/Object;>;
5 9 5 key Ljava/lang/Object;
Signature: (Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Ljava/util/List<Ljava/lang/Object;>;
MethodParameters:
Name Flags
thisObj
strings
symbols
public boolean hasOnlyShapeProperties(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
flags: (0x0001) ACC_PUBLIC
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/runtime/builtins/JSNonProxy;
0 1 1 obj Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
obj
public 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: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
iload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.deletePropertyDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Z)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/JSNonProxy;
0 1 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 key Ljava/lang/Object;
0 1 3 isStrict Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
key
isStrict
protected static boolean deletePropertyDefault(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Z)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 1
invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
astore 3
start local 3 1: aload 3
ifnull 7
2: aload 3
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isConfigurable:(Lcom/oracle/truffle/api/object/Property;)Z
ifne 6
3: iload 2
ifeq 5
4: aload 1
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorNotConfigurableProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
5: StackMap locals: com.oracle.truffle.api.object.Property
StackMap stack:
iconst_0
ireturn
6: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 0
aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.removeKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
ireturn
7: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 object Lcom/oracle/truffle/api/object/DynamicObject;
0 8 1 key Ljava/lang/Object;
0 8 2 isStrict Z
1 8 3 foundProperty Lcom/oracle/truffle/api/object/Property;
MethodParameters:
Name Flags
object
key
isStrict
public boolean delete(com.oracle.truffle.api.object.DynamicObject, long, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JZ)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
lload 2
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
iload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.deletePropertyDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Z)Z
ireturn
end local 4 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/JSNonProxy;
0 1 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 index J
0 1 4 isStrict Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
index
isStrict
public boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 2
invokevirtual com.oracle.truffle.api.object.Shape.hasProperty:(Ljava/lang/Object;)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/JSNonProxy;
0 1 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 key Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
key
public boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject, long);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;J)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
lload 2
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.hasOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)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/JSNonProxy;
0 1 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 index J
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
index
public boolean hasProperty(com.oracle.truffle.api.object.DynamicObject, long);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;J)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
lload 2
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.hasOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;J)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 4
3: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
lload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;J)Z
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
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/JSNonProxy;
0 5 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 5 2 index J
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
index
public boolean hasProperty(com.oracle.truffle.api.object.DynamicObject, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.hasOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 3
start local 3 3: aload 3
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 5
4: aload 3
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
ireturn
5: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
0 6 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 6 2 key Ljava/lang/Object;
3 6 3 prototype Lcom/oracle/truffle/api/object/DynamicObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
key
public 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: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 4 start local 5 start local 6 start local 7 0: aload 1
lload 2
aload 4
aload 5
iload 6
aload 7
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.ordinarySetIndex:(Lcom/oracle/truffle/api/object/DynamicObject;JLjava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)Z
ireturn
end local 7 end local 6 end local 5 end local 4 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/JSNonProxy;
0 1 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 index J
0 1 4 value Ljava/lang/Object;
0 1 5 receiver Ljava/lang/Object;
0 1 6 isStrict Z
0 1 7 encapsulatingNode Lcom/oracle/truffle/api/nodes/Node;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
index
value
receiver
isStrict
encapsulatingNode
public 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: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
aload 2
aload 3
aload 4
iload 5
aload 6
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.ordinarySet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)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 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
0 1 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 key Ljava/lang/Object;
0 1 3 value Ljava/lang/Object;
0 1 4 receiver Ljava/lang/Object;
0 1 5 isStrict Z
0 1 6 encapsulatingNode Lcom/oracle/truffle/api/nodes/Node;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
key
value
receiver
isStrict
encapsulatingNode
protected static boolean ordinarySetIndex(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: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=7, locals=9, args_size=6
start local 0 start local 1 start local 3 start local 4 start local 5 start local 6 0: lload 1
invokestatic com.oracle.truffle.js.runtime.Boundaries.stringValueOf:(J)Ljava/lang/String;
astore 7
start local 7 1: aload 4
aload 0
if_acmpeq 3
2: aload 0
aload 7
aload 3
aload 4
iload 5
aload 6
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.ordinarySetWithReceiver:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)Z
ireturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 7
invokestatic com.oracle.truffle.js.runtime.util.DefinePropertyUtil.getPropertyByKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
astore 8
start local 8 4: aload 8
ifnull 6
5: aload 8
aload 0
aload 4
aload 3
iload 5
aload 6
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.setValue:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)Z
ireturn
6: StackMap locals: com.oracle.truffle.api.object.Property
StackMap stack:
aload 0
aload 7
aload 3
aload 4
iload 5
iconst_1
aload 6
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.setPropertySlow:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZZLcom/oracle/truffle/api/nodes/Node;)Z
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 7 1 index J
0 7 3 value Ljava/lang/Object;
0 7 4 receiver Ljava/lang/Object;
0 7 5 isStrict Z
0 7 6 encapsulatingNode Lcom/oracle/truffle/api/nodes/Node;
1 7 7 key Ljava/lang/Object;
4 7 8 entry Lcom/oracle/truffle/api/object/Property;
MethodParameters:
Name Flags
thisObj
index
value
receiver
isStrict
encapsulatingNode
protected static boolean ordinarySet(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: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=7, 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 3
aload 0
if_acmpeq 2
1: aload 0
aload 1
aload 2
aload 3
iload 4
aload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.ordinarySetWithReceiver:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.util.DefinePropertyUtil.getPropertyByKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
astore 6
start local 6 3: aload 6
ifnull 5
4: aload 6
aload 0
aload 3
aload 2
iload 4
aload 5
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.setValue:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)Z
ireturn
5: StackMap locals: com.oracle.truffle.api.object.Property
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iload 4
iconst_0
aload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.setPropertySlow:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZZLcom/oracle/truffle/api/nodes/Node;)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 6 0 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 6 1 key Ljava/lang/Object;
0 6 2 value Ljava/lang/Object;
0 6 3 receiver Ljava/lang/Object;
0 6 4 isStrict Z
0 6 5 encapsulatingNode Lcom/oracle/truffle/api/nodes/Node;
3 6 6 entry Lcom/oracle/truffle/api/object/Property;
MethodParameters:
Name Flags
thisObj
key
value
receiver
isStrict
encapsulatingNode
protected static boolean ordinarySetWithReceiver(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: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=7, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPropertyKey:(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
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 2: aload 0
aload 1
aload 2
aload 3
aload 6
iload 4
aload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.performOrdinarySetWithOwnDescriptor:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;ZLcom/oracle/truffle/api/nodes/Node;)Z
istore 7
start local 7 3: getstatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.$assertionsDisabled:Z
ifne 4
iload 4
ifeq 4
iload 7
ifne 4
new java.lang.AssertionError
dup
ldc "should have thrown"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals: com.oracle.truffle.js.runtime.objects.PropertyDescriptor int
StackMap stack:
iload 7
ireturn
end local 7 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 5 0 target Lcom/oracle/truffle/api/object/DynamicObject;
0 5 1 key Ljava/lang/Object;
0 5 2 value Ljava/lang/Object;
0 5 3 receiver Ljava/lang/Object;
0 5 4 isStrict Z
0 5 5 encapsulatingNode Lcom/oracle/truffle/api/nodes/Node;
2 5 6 descriptor Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
3 5 7 result Z
MethodParameters:
Name Flags
target
key
value
receiver
isStrict
encapsulatingNode
protected static boolean performOrdinarySetWithOwnDescriptor(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, java.lang.Object, java.lang.Object, com.oracle.truffle.js.runtime.objects.PropertyDescriptor, boolean, com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;ZLcom/oracle/truffle/api/nodes/Node;)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=7, locals=11, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 4
astore 7
start local 7 1: aload 7
ifnonnull 6
2: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 8
start local 8 3: aload 8
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 5
4: aload 8
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSClass:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
aload 8
aload 1
aload 2
aload 3
iload 5
aload 6
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)Z
ireturn
5: StackMap locals: com.oracle.truffle.js.runtime.objects.PropertyDescriptor com.oracle.truffle.api.object.DynamicObject
StackMap stack:
getstatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.undefinedDataDesc:Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 7
end local 8 6: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isDataDescriptor:()Z
ifeq 29
7: aload 7
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getWritable:()Z
ifne 11
8: iload 5
ifeq 10
9: aload 1
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorNotWritableProperty:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
10: StackMap locals:
StackMap stack:
iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifne 15
12: iload 5
ifeq 14
13: aload 3
aload 1
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorSetNonObjectReceiver:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
14: StackMap locals:
StackMap stack:
iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 3
checkcast com.oracle.truffle.api.object.DynamicObject
astore 8
start local 8 16: aload 8
aload 1
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 9
start local 9 17: aload 9
ifnull 28
18: aload 9
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isAccessorDescriptor:()Z
ifeq 22
19: iload 5
ifeq 21
20: aload 1
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotRedefineProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
21: StackMap locals: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.objects.PropertyDescriptor
StackMap stack:
iconst_0
ireturn
22: StackMap locals:
StackMap stack:
aload 9
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getWritable:()Z
ifne 26
23: iload 5
ifeq 25
24: aload 1
aload 8
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorNotWritableProperty:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
25: StackMap locals:
StackMap stack:
iconst_0
ireturn
26: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createData:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 10
start local 10 27: aload 8
aload 1
aload 10
iload 5
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.defineOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;Z)Z
ireturn
end local 10 28: StackMap locals:
StackMap stack:
aload 8
aload 1
aload 2
iload 5
invokestatic com.oracle.truffle.js.runtime.JSRuntime.createDataProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Z)Z
ireturn
end local 9 end local 8 29: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.$assertionsDisabled:Z
ifne 30
aload 7
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isAccessorDescriptor:()Z
ifne 30
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
30: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getSet:()Ljava/lang/Object;
astore 8
start local 8 31: aload 8
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 32
aload 8
ifnonnull 35
32: StackMap locals: java.lang.Object
StackMap stack:
iload 5
ifeq 34
33: aload 1
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotSetAccessorProperty:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
34: StackMap locals:
StackMap stack:
iconst_0
ireturn
35: StackMap locals:
StackMap stack:
aload 8
aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
aload 6
invokestatic com.oracle.truffle.js.runtime.JSRuntime.call:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
pop
36: iconst_1
ireturn
end local 8 end local 7 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 37 0 target Lcom/oracle/truffle/api/object/DynamicObject;
0 37 1 key Ljava/lang/Object;
0 37 2 value Ljava/lang/Object;
0 37 3 receiver Ljava/lang/Object;
0 37 4 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
0 37 5 isStrict Z
0 37 6 encapsulatingNode Lcom/oracle/truffle/api/nodes/Node;
1 37 7 descriptor Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
3 6 8 parent Lcom/oracle/truffle/api/object/DynamicObject;
16 29 8 receiverObj Lcom/oracle/truffle/api/object/DynamicObject;
17 29 9 existingDesc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
27 28 10 valueDesc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
31 37 8 setter Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
target
key
value
receiver
desc
isStrict
encapsulatingNode
protected static boolean setPropertySlow(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, java.lang.Object, java.lang.Object, boolean, boolean, com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZZLcom/oracle/truffle/api/nodes/Node;)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=7, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: getstatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPropertyKey:(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
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
start local 7 2: goto 14
3: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 7
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 5
4: aload 7
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSClass:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
aload 7
aload 1
aload 2
aload 3
iload 4
aload 6
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)Z
ireturn
5: StackMap locals:
StackMap stack:
aload 7
aload 1
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 8
start local 8 6: aload 8
ifnull 13
7: aload 8
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isDataDescriptor:()Z
ifeq 11
aload 8
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getWritable:()Z
ifne 11
8: iload 4
ifeq 10
9: aload 1
aload 7
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorNotWritableProperty:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
10: StackMap locals: com.oracle.truffle.js.runtime.objects.PropertyDescriptor
StackMap stack:
iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 8
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isAccessorDescriptor:()Z
ifeq 15
12: aload 8
aload 0
aload 1
aload 2
aload 3
iload 4
aload 6
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.invokeAccessorPropertySetter:(Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)Z
ireturn
end local 8 13: StackMap locals:
StackMap stack:
aload 7
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
14: StackMap locals:
StackMap stack:
aload 7
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 3
15: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.$assertionsDisabled:Z
ifne 16
aload 0
aload 3
if_acmpeq 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
aload 3
checkcast com.oracle.truffle.api.object.DynamicObject
astore 8
start local 8 17: aload 8
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.isExtensible:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifne 21
18: iload 4
ifeq 20
19: aload 8
aload 1
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorNotExtensible:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
20: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
iconst_0
ireturn
21: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDictionary.isJSDictionaryObject:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
istore 9
start local 9 22: iload 9
ifne 25
aload 0
iload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.isDictionaryObjectCandidate:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Z
ifeq 25
23: aload 0
ldc "set"
invokestatic com.oracle.truffle.js.runtime.builtins.JSDictionary.makeDictionaryObject:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;)V
24: iconst_1
istore 9
25: StackMap locals: int
StackMap stack:
iload 9
ifeq 28
26: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSDictionary.getHashMap:(Lcom/oracle/truffle/api/object/DynamicObject;)Lorg/graalvm/collections/EconomicMap;
aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createDataDefault:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
27: iconst_1
ireturn
end local 9 28: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSContext:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSContext;
astore 9
start local 9 29: aload 9
aload 0
aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSAttributes.getDefault:()I
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putDataProperty:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
30: iconst_1
ireturn
end local 9 end local 8 end local 7 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 31 0 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 31 1 key Ljava/lang/Object;
0 31 2 value Ljava/lang/Object;
0 31 3 receiver Ljava/lang/Object;
0 31 4 isStrict Z
0 31 5 isIndex Z
0 31 6 encapsulatingNode Lcom/oracle/truffle/api/nodes/Node;
2 31 7 current Lcom/oracle/truffle/api/object/DynamicObject;
6 13 8 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
17 31 8 receiverObj Lcom/oracle/truffle/api/object/DynamicObject;
22 28 9 isDictionaryObject Z
29 31 9 context Lcom/oracle/truffle/js/runtime/JSContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
key
value
receiver
isStrict
isIndex
encapsulatingNode
protected static boolean invokeAccessorPropertySetter(com.oracle.truffle.js.runtime.objects.PropertyDescriptor, 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/js/runtime/objects/PropertyDescriptor;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: getstatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isAccessorDescriptor:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getSet:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.object.DynamicObject
astore 7
start local 7 3: aload 7
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 6
4: aload 7
aload 4
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
aload 6
invokestatic com.oracle.truffle.js.runtime.JSRuntime.call:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
pop
5: iconst_1
ireturn
6: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
iload 5
ifeq 8
7: aload 2
aload 1
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotSetAccessorProperty:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 7 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 9 0 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
0 9 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 9 2 key Ljava/lang/Object;
0 9 3 value Ljava/lang/Object;
0 9 4 receiver Ljava/lang/Object;
0 9 5 isStrict Z
0 9 6 encapsulatingNode Lcom/oracle/truffle/api/nodes/Node;
3 9 7 setter Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
desc
thisObj
key
value
receiver
isStrict
encapsulatingNode
private static boolean isDictionaryObjectCandidate(com.oracle.truffle.api.object.DynamicObject, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSOrdinary.isJSOrdinaryObject:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
invokevirtual com.oracle.truffle.api.object.Shape.getPropertyCount:()I
istore 2
start local 2 3: iload 2
ifne 4
iload 1
ifne 5
StackMap locals: int
StackMap stack:
4: iload 2
sipush 1024
if_icmpeq 5
iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 6 1 isIndex Z
3 6 2 count I
MethodParameters:
Name Flags
thisObj
isIndex
public 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: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.ordinaryGetOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
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/JSNonProxy;
0 1 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 key Ljava/lang/Object;
MethodParameters:
Name Flags
thisObj
key
public static com.oracle.truffle.js.runtime.objects.PropertyDescriptor ordinaryGetOwnProperty(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: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPropertyKey:(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
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 1
invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: com.oracle.truffle.api.object.Property
StackMap stack:
aload 0
aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.ordinaryGetOwnPropertyIntl:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 5 1 key Ljava/lang/Object;
2 5 2 prop Lcom/oracle/truffle/api/object/Property;
MethodParameters:
Name Flags
thisObj
key
public static com.oracle.truffle.js.runtime.objects.PropertyDescriptor ordinaryGetOwnPropertyIntl(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, com.oracle.truffle.api.object.Property);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isData:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 7
1: aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.getOrNull:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 2: aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isProxy:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 4
3: aload 4
checkcast com.oracle.truffle.js.runtime.objects.PropertyProxy
aload 0
invokeinterface com.oracle.truffle.js.runtime.objects.PropertyProxy.get:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
astore 4
4: StackMap locals: com.oracle.truffle.api.object.DynamicObject java.lang.Object com.oracle.truffle.api.object.Property top java.lang.Object
StackMap stack:
aload 4
invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createData:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 3
start local 3 5: aload 3
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isWritable:(Lcom/oracle/truffle/api/object/Property;)Z
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setWritable:(Z)V
end local 4 6: goto 12
end local 3 StackMap locals: com.oracle.truffle.api.object.DynamicObject java.lang.Object com.oracle.truffle.api.object.Property
StackMap stack:
7: aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isAccessor:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 11
8: aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.getOrNull:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.objects.Accessor
astore 4
start local 4 9: aload 4
invokevirtual com.oracle.truffle.js.runtime.objects.Accessor.getGetter:()Lcom/oracle/truffle/api/object/DynamicObject;
aload 4
invokevirtual com.oracle.truffle.js.runtime.objects.Accessor.getSetter:()Lcom/oracle/truffle/api/object/DynamicObject;
invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createAccessor:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 3
end local 4 start local 3 10: goto 12
end local 3 11: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createEmpty:()Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 3
start local 3 12: StackMap locals: com.oracle.truffle.js.runtime.objects.PropertyDescriptor
StackMap stack:
aload 3
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isEnumerable:(Lcom/oracle/truffle/api/object/Property;)Z
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setEnumerable:(Z)V
13: aload 3
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isConfigurable:(Lcom/oracle/truffle/api/object/Property;)Z
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setConfigurable:(Z)V
14: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 15 1 key Ljava/lang/Object;
0 15 2 prop Lcom/oracle/truffle/api/object/Property;
5 7 3 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
10 11 3 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
12 15 3 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
2 6 4 value Ljava/lang/Object;
9 10 4 acc Lcom/oracle/truffle/js/runtime/objects/Accessor;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
key
prop
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
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.usesOrdinaryGetOwnProperty:()Z
ifeq 2
1: aload 0
aload 1
iload 2
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.setIntegrityLevelFast:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokespecial com.oracle.truffle.js.runtime.builtins.JSClass.setIntegrityLevel:(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 3 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
0 3 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 3 2 freeze Z
0 3 3 doThrow Z
MethodParameters:
Name Flags
thisObj
freeze
doThrow
protected final boolean setIntegrityLevelFast(com.oracle.truffle.api.object.DynamicObject, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Z)Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.testIntegrityLevelFast:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.getPropertyArray:(Lcom/oracle/truffle/api/object/DynamicObject;)[Lcom/oracle/truffle/api/object/Property;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 14
StackMap locals: com.oracle.truffle.js.runtime.builtins.JSNonProxy com.oracle.truffle.api.object.DynamicObject int top int int com.oracle.truffle.api.object.Property[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 3
invokevirtual com.oracle.truffle.api.object.Property.isHidden:()Z
ifne 13
5: aload 3
invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
istore 7
start local 7 6: iload 7
iconst_2
ior
istore 8
start local 8 7: iload 2
ifeq 9
iload 7
bipush 8
iand
ifne 9
8: iload 8
iconst_4
ior
istore 8
9: StackMap locals: com.oracle.truffle.js.runtime.builtins.JSNonProxy com.oracle.truffle.api.object.DynamicObject int com.oracle.truffle.api.object.Property int int com.oracle.truffle.api.object.Property[] int int
StackMap stack:
iload 8
iload 7
if_icmpeq 13
10: aload 3
invokevirtual com.oracle.truffle.api.object.Property.getKey:()Ljava/lang/Object;
astore 9
start local 9 11: aload 1
aload 9
iload 8
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.setPropertyFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)V
12: getstatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.$assertionsDisabled:Z
ifne 13
aload 1
aload 9
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.getPropertyFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)I
iload 8
if_icmpeq 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 9 end local 8 end local 7 end local 3 13: StackMap locals: com.oracle.truffle.js.runtime.builtins.JSNonProxy com.oracle.truffle.api.object.DynamicObject int top int int com.oracle.truffle.api.object.Property[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 5
if_icmplt 3
15: getstatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.$assertionsDisabled:Z
ifne 17
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.testSealedProperties:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifeq 16
iload 2
ifeq 17
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.testFrozenProperties:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifne 17
StackMap locals: com.oracle.truffle.js.runtime.builtins.JSNonProxy com.oracle.truffle.api.object.DynamicObject int
StackMap stack:
16: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_2
iload 2
ifeq 18
iconst_4
goto 19
StackMap locals: com.oracle.truffle.js.runtime.builtins.JSNonProxy com.oracle.truffle.api.object.DynamicObject int
StackMap stack: com.oracle.truffle.js.runtime.builtins.JSNonProxy com.oracle.truffle.api.object.DynamicObject int
18: iconst_0
StackMap locals: com.oracle.truffle.js.runtime.builtins.JSNonProxy com.oracle.truffle.api.object.DynamicObject int
StackMap stack: com.oracle.truffle.js.runtime.builtins.JSNonProxy com.oracle.truffle.api.object.DynamicObject int int
19: ior
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.preventExtensionsImpl:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
istore 3
start local 3 20: getstatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.$assertionsDisabled:Z
ifne 22
iload 3
ifeq 21
aload 0
aload 1
iload 2
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.testIntegrityLevel:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Z
ifne 22
StackMap locals: int
StackMap stack:
21: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
22: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
0 23 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 23 2 freeze Z
4 13 3 property Lcom/oracle/truffle/api/object/Property;
6 13 7 oldFlags I
7 13 8 newFlags I
11 13 9 key Ljava/lang/Object;
20 23 3 result Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
freeze
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
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.usesOrdinaryGetOwnProperty:()Z
ifeq 2
1: aload 1
iload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.testIntegrityLevelFast:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokespecial com.oracle.truffle.js.runtime.builtins.JSClass.testIntegrityLevel:(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 3 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
0 3 1 obj Lcom/oracle/truffle/api/object/DynamicObject;
0 3 2 frozen Z
MethodParameters:
Name Flags
obj
frozen
protected static boolean testIntegrityLevelFast(com.oracle.truffle.api.object.DynamicObject, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Z)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.getObjectFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
istore 2
start local 2 1: iload 1
ifeq 4
2: iload 2
iconst_4
iand
ifeq 3
iconst_1
ireturn
StackMap locals: int
StackMap stack:
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iload 2
iconst_2
iand
ifeq 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 obj Lcom/oracle/truffle/api/object/DynamicObject;
0 6 1 frozen Z
1 6 2 objectFlags I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
obj
frozen
public boolean preventExtensions(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
iconst_0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.preventExtensionsImpl:(Lcom/oracle/truffle/api/object/DynamicObject;I)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/JSNonProxy;
0 1 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 doThrow Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
doThrow
protected final boolean preventExtensionsImpl(com.oracle.truffle.api.object.DynamicObject, int);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;I)Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.getObjectFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
istore 3
start local 3 1: iload 3
iconst_1
iand
ifeq 3
iload 3
iload 2
iand
iload 2
if_icmpne 3
2: iconst_1
ireturn
3: StackMap locals: int
StackMap stack:
iload 3
iconst_1
ior
iload 2
ior
istore 4
start local 4 4: iload 4
iconst_2
iand
ifne 6
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.testSealedProperties:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifeq 6
5: iload 4
iconst_2
ior
istore 4
6: StackMap locals: int
StackMap stack:
iload 4
iconst_2
iand
ifeq 8
iload 4
iconst_4
iand
ifne 8
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.testFrozenProperties:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifeq 8
7: iload 4
iconst_4
ior
istore 4
8: StackMap locals:
StackMap stack:
iload 4
iload 3
if_icmpeq 10
9: aload 1
iload 4
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.setObjectFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)V
10: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.$assertionsDisabled:Z
ifne 11
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.isExtensible:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifeq 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
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 12 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
0 12 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 12 2 extraFlags I
1 12 3 objectFlags I
4 12 4 newFlags I
MethodParameters:
Name Flags
thisObj
extraFlags
private static boolean testSealedProperties(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/runtime/builtins/JSNonProxy.lambda$1(Lcom/oracle/truffle/api/object/Property;)Z (6)
(Lcom/oracle/truffle/api/object/Property;)Z
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.testProperties:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/util/function/Predicate;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
thisObj
private static boolean testFrozenProperties(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/runtime/builtins/JSNonProxy.lambda$2(Lcom/oracle/truffle/api/object/Property;)Z (6)
(Lcom/oracle/truffle/api/object/Property;)Z
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.testProperties:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/util/function/Predicate;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
thisObj
public final boolean isExtensible(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.isExtensible:(Lcom/oracle/truffle/api/object/Shape;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
0 1 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
thisObj
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
public 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: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
ifeq 2
1: aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.defaultToString:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.builtins.JSNonProxy.getClassName:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
iload 2
iload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.objectToConsoleString:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;IZ)Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
0 3 1 obj Lcom/oracle/truffle/api/object/DynamicObject;
0 3 2 depth I
0 3 3 allowSideEffects Z
0 3 4 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
obj
depth
allowSideEffects
context
public final 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: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
0 1 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
public 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: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.setPrototypeStatic:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)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/JSNonProxy;
0 1 1 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 newPrototype Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
thisObj
newPrototype
static boolean setPrototypeStatic(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: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 2
start local 2 1: aload 2
aload 1
if_acmpne 3
2: iconst_1
ireturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.checkProtoCycle:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifne 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
astore 3
start local 3 6: aload 3
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.isExtensible:(Lcom/oracle/truffle/api/object/Shape;)Z
ifne 8
7: iconst_0
ireturn
8: StackMap locals: com.oracle.truffle.api.object.Shape
StackMap stack:
aload 3
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.isPrototypeInShape:(Lcom/oracle/truffle/api/object/Shape;)Z
ifeq 11
9: aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.setPrototypeImpl:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)V
10: goto 13
11: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 0
getstatic com.oracle.truffle.js.runtime.objects.JSObject.HIDDEN_PROTO:Lcom/oracle/truffle/api/object/HiddenKey;
aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putIfPresent:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
istore 4
start local 4 12: getstatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.$assertionsDisabled:Z
ifne 13
iload 4
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 4 13: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 14 1 newPrototype Lcom/oracle/truffle/api/object/DynamicObject;
1 14 2 oldPrototype Ljava/lang/Object;
6 14 3 shape Lcom/oracle/truffle/api/object/Shape;
12 13 4 success Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
newPrototype
public static boolean checkProtoCycle(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: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: goto 7
2: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 2
aload 0
if_acmpne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 2
7: StackMap locals:
StackMap stack:
aload 2
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 2
8: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 9 1 newPrototype Lcom/oracle/truffle/api/object/DynamicObject;
1 9 2 proto Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
thisObj
newPrototype
protected static void putConstructorSpeciesGetter(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.oracle.truffle.js.runtime.Symbol.SYMBOL_SPECIES:Lcom/oracle/truffle/js/runtime/Symbol;
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.createSymbolSpeciesGetterFunction:(Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putBuiltinAccessorProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 realm Lcom/oracle/truffle/js/runtime/JSRealm;
0 2 1 constructor Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
realm
constructor
protected static com.oracle.truffle.api.object.DynamicObject createSymbolSpeciesGetterFunction(com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getSpeciesGetterFunctionCallTarget:()Lcom/oracle/truffle/api/CallTarget;
iconst_0
ldc "get [Symbol.species]"
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunctionData.createCallOnly:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;ILjava/lang/String;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.create:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 realm Lcom/oracle/truffle/js/runtime/JSRealm;
MethodParameters:
Name Flags
realm
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=1, locals=2, args_size=2
start local 0 start local 1 0: ldc "Object"
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
0 1 1 object Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
object
public boolean usesOrdinaryGetOwnProperty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
public boolean usesOrdinaryIsExtensible();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/builtins/JSNonProxy;
private static boolean lambda$1(com.oracle.truffle.api.object.Property);
descriptor: (Lcom/oracle/truffle/api/object/Property;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.object.Property.isHidden:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
iconst_2
iand
ifne 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 p Lcom/oracle/truffle/api/object/Property;
private static boolean lambda$2(com.oracle.truffle.api.object.Property);
descriptor: (Lcom/oracle/truffle/api/object/Property;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.object.Property.isHidden:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
bipush 8
iand
ifne 1
aload 0
invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
iconst_4
iand
ifne 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 p Lcom/oracle/truffle/api/object/Property;
}
SourceFile: "JSNonProxy.java"
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles