public final class com.oracle.truffle.js.runtime.objects.JSShape
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.js.runtime.objects.JSShape
super_class: java.lang.Object
{
public static final int NOT_EXTENSIBLE_FLAG;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int SEALED_FLAG;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int FROZEN_FLAG;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int SEALED_FLAGS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int FROZEN_FLAGS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 7
public static final int EXTERNAL_PROPERTIES_FLAG;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
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/objects/JSShape;
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.objects.JSShape.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/JSShape;
public static com.oracle.truffle.api.object.Shape createPrototypeShape(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.runtime.builtins.JSClass, com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/Shape;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.objects.JSShape.$assertionsDisabled:Z
ifne 1
aload 2
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 1
aload 2
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
invokevirtual com.oracle.truffle.js.runtime.JSContext.isMultiContext:()Z
ifeq 3
2: aconst_null
aload 1
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getProtoChildShape:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/Shape;
areturn
3: StackMap locals:
StackMap stack:
aload 2
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 4
aload 0
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEmptyShapeNullPrototype:()Lcom/oracle/truffle/api/object/Shape;
goto 5
StackMap locals:
StackMap stack:
4: aload 2
aload 1
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getProtoChildShape:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/Shape;
StackMap locals:
StackMap stack: com.oracle.truffle.api.object.Shape
5: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 6 1 jsclass Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 6 2 prototype Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
context
jsclass
prototype
static com.oracle.truffle.api.object.Shape createObjectShape(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.runtime.builtins.JSClass, com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/Shape;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.newBuilder:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/Shape$Builder;
invokevirtual com.oracle.truffle.api.object.Shape$Builder.build:()Lcom/oracle/truffle/api/object/Shape;
astore 3
start local 3 1: aload 3
invokestatic com.oracle.truffle.api.object.Shape.newBuilder:(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/api/object/Shape$DerivedBuilder;
getstatic com.oracle.truffle.js.runtime.objects.JSObject.HIDDEN_PROTO:Lcom/oracle/truffle/api/object/HiddenKey;
aload 2
iconst_0
invokevirtual com.oracle.truffle.api.object.Shape$DerivedBuilder.addConstantProperty:(Ljava/lang/Object;Ljava/lang/Object;I)Lcom/oracle/truffle/api/object/Shape$DerivedBuilder;
invokevirtual com.oracle.truffle.api.object.Shape$DerivedBuilder.build:()Lcom/oracle/truffle/api/object/Shape;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 2 1 jsclass Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 2 2 prototype Lcom/oracle/truffle/api/object/DynamicObject;
1 2 3 rootShape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
context
jsclass
prototype
public static com.oracle.truffle.js.runtime.builtins.JSClass getJSClass(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.object.Shape.getDynamicType:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.builtins.JSClass
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 shape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
shape
public static java.lang.Object getJSClassNoCast(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.object.Shape.getDynamicType:()Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 shape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
shape
public static com.oracle.truffle.js.runtime.objects.JSSharedData getSharedData(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/objects/JSSharedData;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.object.Shape.getSharedData:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.objects.JSSharedData
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 shape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
shape
public static com.oracle.truffle.api.object.Shape getProtoChildTree(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;)Lcom/oracle/truffle/api/object/Shape;
flags: (0x0009) ACC_PUBLIC, 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.JSObjectUtil.getPrototypeData:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/objects/JSPrototypeData;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
aload 1
invokevirtual com.oracle.truffle.js.runtime.objects.JSPrototypeData.getProtoChildTree:(Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Lcom/oracle/truffle/api/object/Shape;
areturn
3: StackMap locals: com.oracle.truffle.js.runtime.objects.JSPrototypeData
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 prototype Lcom/oracle/truffle/api/object/DynamicObject;
0 4 1 jsclass Lcom/oracle/truffle/js/runtime/builtins/JSClass;
1 4 2 prototypeData Lcom/oracle/truffle/js/runtime/objects/JSPrototypeData;
MethodParameters:
Name Flags
prototype
jsclass
public static boolean isExtensible(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.object.Shape.getFlags:()I
iconst_1
iand
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 shape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
shape
public static boolean isPrototypeInShape(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.getPrototypeProperty:(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/api/object/Property;
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
invokevirtual com.oracle.truffle.api.object.Location.isConstant:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 shape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
shape
public static com.oracle.truffle.api.object.Property getPrototypeProperty(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/api/object/Property;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.oracle.truffle.js.runtime.objects.JSObject.HIDDEN_PROTO:Lcom/oracle/truffle/api/object/HiddenKey;
invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 shape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
shape
public static com.oracle.truffle.api.Assumption getPropertyAssumption(com.oracle.truffle.api.object.Shape, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Lcom/oracle/truffle/api/Assumption;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.getPropertyAssumption:(Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;Z)Lcom/oracle/truffle/api/Assumption;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 shape Lcom/oracle/truffle/api/object/Shape;
0 1 1 key Ljava/lang/Object;
MethodParameters:
Name Flags
shape
key
public static com.oracle.truffle.api.Assumption getPropertyAssumption(com.oracle.truffle.api.object.Shape, java.lang.Object, boolean);
descriptor: (Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;Z)Lcom/oracle/truffle/api/Assumption;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.objects.JSShape.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPropertyKey:(Ljava/lang/Object;)Z
ifne 1
aload 1
instanceof com.oracle.truffle.api.object.HiddenKey
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 2
ifeq 3
2: aload 0
invokevirtual com.oracle.truffle.api.object.Shape.getLeafAssumption:()Lcom/oracle/truffle/api/Assumption;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.api.object.Shape.getPropertyAssumption:(Ljava/lang/Object;)Lcom/oracle/truffle/api/Assumption;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 shape Lcom/oracle/truffle/api/object/Shape;
0 4 1 key Ljava/lang/Object;
0 4 2 prototype Z
MethodParameters:
Name Flags
shape
key
prototype
public static com.oracle.truffle.js.runtime.JSContext getJSContext(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.getSharedData:(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/objects/JSSharedData;
invokevirtual com.oracle.truffle.js.runtime.objects.JSSharedData.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 shape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
shape
public static com.oracle.truffle.api.Assumption getPrototypeAssumption(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/api/Assumption;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.getSharedData:(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/objects/JSSharedData;
invokevirtual com.oracle.truffle.js.runtime.objects.JSSharedData.getPrototypeAssumption:()Lcom/oracle/truffle/api/Assumption;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 shape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
shape
public static void invalidatePrototypeAssumption(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.getSharedData:(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/objects/JSSharedData;
invokevirtual com.oracle.truffle.js.runtime.objects.JSSharedData.invalidatePrototypeAssumption:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 shape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
shape
public static com.oracle.truffle.js.runtime.util.UnmodifiableArrayList<com.oracle.truffle.api.object.Property> getProperties(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getProperties:(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 shape Lcom/oracle/truffle/api/object/Shape;
Signature: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList<Lcom/oracle/truffle/api/object/Property;>;
MethodParameters:
Name Flags
shape
public static <T> com.oracle.truffle.js.runtime.util.UnmodifiablePropertyKeyList<T> getPropertyKeyList(com.oracle.truffle.api.object.Shape, boolean, boolean);
descriptor: (Lcom/oracle/truffle/api/object/Shape;ZZ)Lcom/oracle/truffle/js/runtime/util/UnmodifiablePropertyKeyList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.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 shape Lcom/oracle/truffle/api/object/Shape;
0 1 1 strings Z
0 1 2 symbols Z
Signature: <T:Ljava/lang/Object;>(Lcom/oracle/truffle/api/object/Shape;ZZ)Lcom/oracle/truffle/js/runtime/util/UnmodifiablePropertyKeyList<TT;>;
MethodParameters:
Name Flags
shape
strings
symbols
public static com.oracle.truffle.js.runtime.util.UnmodifiableArrayList<java.lang.String> getEnumerablePropertyNames(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getEnumerablePropertyNames:(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 shape Lcom/oracle/truffle/api/object/Shape;
Signature: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList<Ljava/lang/String;>;
MethodParameters:
Name Flags
shape
public static com.oracle.truffle.js.runtime.util.UnmodifiableArrayList<com.oracle.truffle.api.object.Property> getPropertiesIfHasEnumerablePropertyNames(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getPropertiesIfHasEnumerablePropertyNames:(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 shape Lcom/oracle/truffle/api/object/Shape;
Signature: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList<Lcom/oracle/truffle/api/object/Property;>;
MethodParameters:
Name Flags
shape
public static com.oracle.truffle.api.object.Shape makeStaticRoot(com.oracle.truffle.js.runtime.builtins.JSClass);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Lcom/oracle/truffle/api/object/Shape;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.object.Shape.newBuilder:()Lcom/oracle/truffle/api/object/Shape$Builder;
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.getLayout:(Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Ljava/lang/Class;
invokevirtual com.oracle.truffle.api.object.Shape$Builder.layout:(Ljava/lang/Class;)Lcom/oracle/truffle/api/object/Shape$Builder;
aload 0
invokevirtual com.oracle.truffle.api.object.Shape$Builder.dynamicType:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Shape$Builder;
invokevirtual com.oracle.truffle.api.object.Shape$Builder.build:()Lcom/oracle/truffle/api/object/Shape;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 jsclass Lcom/oracle/truffle/js/runtime/builtins/JSClass;
MethodParameters:
Name Flags
jsclass
public static com.oracle.truffle.api.object.Shape makeEmptyRoot(com.oracle.truffle.js.runtime.builtins.JSClass, com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/Shape;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.createObjectShape:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/Shape;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 jsclass Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 1 1 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
jsclass
context
public static com.oracle.truffle.api.object.Shape createRootWithNullProto(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.runtime.builtins.JSClass);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Lcom/oracle/truffle/api/object/Shape;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.createObjectShape:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/Shape;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 1 1 jsclass Lcom/oracle/truffle/js/runtime/builtins/JSClass;
MethodParameters:
Name Flags
context
jsclass
public static com.oracle.truffle.api.object.Shape createRootWithProto(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.runtime.builtins.JSClass, com.oracle.truffle.js.runtime.objects.JSDynamicObject);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;)Lcom/oracle/truffle/api/object/Shape;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.createObjectShape:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/Shape;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 1 1 jsclass Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 1 2 prototype Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
MethodParameters:
Name Flags
context
jsclass
prototype
public static com.oracle.truffle.api.object.Shape makeEmptyRootWithInstanceProto(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.runtime.builtins.JSClass);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Lcom/oracle/truffle/api/object/Shape;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.newBuilder:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/Shape$Builder;
invokevirtual com.oracle.truffle.api.object.Shape$Builder.build:()Lcom/oracle/truffle/api/object/Shape;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 1 1 jsclass Lcom/oracle/truffle/js/runtime/builtins/JSClass;
MethodParameters:
Name Flags
context
jsclass
public static com.oracle.truffle.js.runtime.objects.JSSharedData makeJSSharedData(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.runtime.objects.JSDynamicObject);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;)Lcom/oracle/truffle/js/runtime/objects/JSSharedData;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.objects.JSSharedData
dup
aload 0
aload 1
invokespecial com.oracle.truffle.js.runtime.objects.JSSharedData.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 1 1 proto Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
MethodParameters:
Name Flags
context
proto
public static java.lang.Class<? extends com.oracle.truffle.api.object.DynamicObject> getLayout(com.oracle.truffle.js.runtime.builtins.JSClass);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.oracle.truffle.js.runtime.builtins.JSOrdinary.INSTANCE:Lcom/oracle/truffle/js/runtime/builtins/JSOrdinary;
if_acmpeq 1
aload 0
getstatic com.oracle.truffle.js.runtime.builtins.JSDictionary.INSTANCE:Lcom/oracle/truffle/js/runtime/builtins/JSDictionary;
if_acmpne 2
1: StackMap locals:
StackMap stack:
ldc Lcom/oracle/truffle/js/runtime/objects/JSOrdinaryObject$DefaultLayout;
areturn
2: StackMap locals:
StackMap stack:
ldc Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 jsclass Lcom/oracle/truffle/js/runtime/builtins/JSClass;
Signature: (Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Ljava/lang/Class<+Lcom/oracle/truffle/api/object/DynamicObject;>;
MethodParameters:
Name Flags
jsclass
public static com.oracle.truffle.api.object.Shape$Builder newBuilder(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.runtime.builtins.JSClass, com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/builtins/JSClass;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/Shape$Builder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.objects.JSShape.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.runtime.JSContext.isMultiContext:()Z
ifeq 1
aload 2
ifnull 1
aload 2
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.object.Shape.newBuilder:()Lcom/oracle/truffle/api/object/Shape$Builder;
2: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.getLayout:(Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Ljava/lang/Class;
invokevirtual com.oracle.truffle.api.object.Shape$Builder.layout:(Ljava/lang/Class;)Lcom/oracle/truffle/api/object/Shape$Builder;
3: aload 1
invokevirtual com.oracle.truffle.api.object.Shape$Builder.dynamicType:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Shape$Builder;
4: aload 0
aload 2
checkcast com.oracle.truffle.js.runtime.objects.JSDynamicObject
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.makeJSSharedData:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;)Lcom/oracle/truffle/js/runtime/objects/JSSharedData;
invokevirtual com.oracle.truffle.api.object.Shape$Builder.sharedData:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Shape$Builder;
5: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.getDefaultShapeFlags:(Lcom/oracle/truffle/js/runtime/builtins/JSClass;)I
invokevirtual com.oracle.truffle.api.object.Shape$Builder.shapeFlags:(I)Lcom/oracle/truffle/api/object/Shape$Builder;
6: iconst_1
invokevirtual com.oracle.truffle.api.object.Shape$Builder.allowImplicitCastIntToDouble:(Z)Lcom/oracle/truffle/api/object/Shape$Builder;
7: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 8 1 jsclass Lcom/oracle/truffle/js/runtime/builtins/JSClass;
0 8 2 proto Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
context
jsclass
proto
public static int getDefaultShapeFlags(com.oracle.truffle.js.runtime.builtins.JSClass);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSClass;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.oracle.truffle.js.runtime.builtins.JSDictionary.INSTANCE:Lcom/oracle/truffle/js/runtime/builtins/JSDictionary;
if_acmpne 2
1: bipush 8
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 jsclass Lcom/oracle/truffle/js/runtime/builtins/JSClass;
MethodParameters:
Name Flags
jsclass
public static boolean hasExternalProperties(int);
descriptor: (I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 8
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 shapeFlags I
MethodParameters:
Name Flags
shapeFlags
}
SourceFile: "JSShape.java"
InnerClasses:
public final Builder = com.oracle.truffle.api.object.Shape$Builder of com.oracle.truffle.api.object.Shape
public final DerivedBuilder = com.oracle.truffle.api.object.Shape$DerivedBuilder of com.oracle.truffle.api.object.Shape
public final DefaultLayout = com.oracle.truffle.js.runtime.objects.JSOrdinaryObject$DefaultLayout of com.oracle.truffle.js.runtime.objects.JSOrdinaryObject