public class com.oracle.truffle.object.BasicLayout extends com.oracle.truffle.object.DefaultLayout
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.object.BasicLayout
super_class: com.oracle.truffle.object.DefaultLayout
{
void <init>(com.oracle.truffle.object.LayoutStrategy, int);
descriptor: (Lcom/oracle/truffle/object/LayoutStrategy;I)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc Lcom/oracle/truffle/object/DynamicObjectBasic;
aload 1
iload 2
getstatic com.oracle.truffle.object.DynamicObjectBasic.OBJECT_FIELD_LOCATIONS:[Lcom/oracle/truffle/object/DynamicObjectBasic$BasicObjectFieldLocation;
getstatic com.oracle.truffle.object.DynamicObjectBasic.PRIMITIVE_FIELD_LOCATIONS:[Lcom/oracle/truffle/object/DynamicObjectBasic$BasicLongFieldLocation;
invokespecial com.oracle.truffle.object.DefaultLayout.<init>:(Ljava/lang/Class;Lcom/oracle/truffle/object/LayoutStrategy;I[Lcom/oracle/truffle/object/CoreLocations$ObjectLocation;[Lcom/oracle/truffle/object/CoreLocations$LongLocation;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/object/BasicLayout;
0 2 1 strategy Lcom/oracle/truffle/object/LayoutStrategy;
0 2 2 allowedImplicitCasts I
MethodParameters:
Name Flags
strategy
allowedImplicitCasts
public static com.oracle.truffle.object.LayoutImpl createLayoutImpl(com.oracle.truffle.api.object.Layout$Builder);
descriptor: (Lcom/oracle/truffle/api/object/Layout$Builder;)Lcom/oracle/truffle/object/LayoutImpl;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.object.BasicLayout.getType:(Lcom/oracle/truffle/api/object/Layout$Builder;)Ljava/lang/Class;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 0
invokestatic com.oracle.truffle.object.DefaultLayout.createCoreLayout:(Lcom/oracle/truffle/api/object/Layout$Builder;)Lcom/oracle/truffle/object/LayoutImpl;
areturn
3: StackMap locals: java.lang.Class
StackMap stack:
new com.oracle.truffle.object.BasicLayout
dup
getstatic com.oracle.truffle.object.DefaultStrategy.SINGLETON:Lcom/oracle/truffle/object/LayoutStrategy;
aload 0
invokestatic com.oracle.truffle.object.BasicLayout.getAllowedImplicitCasts:(Lcom/oracle/truffle/api/object/Layout$Builder;)Ljava/util/EnumSet;
invokestatic com.oracle.truffle.object.BasicLayout.implicitCastFlags:(Ljava/util/EnumSet;)I
invokespecial com.oracle.truffle.object.BasicLayout.<init>:(Lcom/oracle/truffle/object/LayoutStrategy;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 builder Lcom/oracle/truffle/api/object/Layout$Builder;
1 4 1 dynamicObjectClass Ljava/lang/Class<+Lcom/oracle/truffle/api/object/DynamicObject;>;
MethodParameters:
Name Flags
builder
public com.oracle.truffle.api.object.DynamicObject newInstance(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.object.DynamicObjectBasic
dup
aload 1
invokespecial com.oracle.truffle.object.DynamicObjectBasic.<init>:(Lcom/oracle/truffle/api/object/Shape;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/BasicLayout;
0 1 1 shape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
shape
protected com.oracle.truffle.api.object.DynamicObject construct(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.object.DynamicObjectBasic
dup
aload 1
invokespecial com.oracle.truffle.object.DynamicObjectBasic.<init>:(Lcom/oracle/truffle/api/object/Shape;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/BasicLayout;
0 1 1 shape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
shape
protected boolean isLegacyLayout();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
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/object/BasicLayout;
protected int getLongFieldSize();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
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/object/BasicLayout;
public com.oracle.truffle.api.object.Shape$Allocator createAllocator();
descriptor: ()Lcom/oracle/truffle/api/object/Shape$Allocator;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.oracle.truffle.object.DefaultLayout.createAllocator:()Lcom/oracle/truffle/api/object/Shape$Allocator;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "BasicLayout.java"
InnerClasses:
public final Builder = com.oracle.truffle.api.object.Layout$Builder of com.oracle.truffle.api.object.Layout
public final ImplicitCast = com.oracle.truffle.api.object.Layout$ImplicitCast of com.oracle.truffle.api.object.Layout
public abstract Allocator = com.oracle.truffle.api.object.Shape$Allocator of com.oracle.truffle.api.object.Shape
public abstract LongLocation = com.oracle.truffle.object.CoreLocations$LongLocation of com.oracle.truffle.object.CoreLocations
public abstract ObjectLocation = com.oracle.truffle.object.CoreLocations$ObjectLocation of com.oracle.truffle.object.CoreLocations