final class com.oracle.truffle.object.DefaultStrategy extends com.oracle.truffle.object.LayoutStrategy
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.object.DefaultStrategy
super_class: com.oracle.truffle.object.LayoutStrategy
{
static final com.oracle.truffle.object.LayoutStrategy SINGLETON;
descriptor: Lcom/oracle/truffle/object/LayoutStrategy;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.api.object.LocationFactory DEFAULT_LOCATION_FACTORY;
descriptor: Lcom/oracle/truffle/api/object/LocationFactory;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/object/DefaultStrategy;
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.object.DefaultStrategy.$assertionsDisabled:Z
3: new com.oracle.truffle.object.DefaultStrategy
dup
invokespecial com.oracle.truffle.object.DefaultStrategy.<init>:()V
putstatic com.oracle.truffle.object.DefaultStrategy.SINGLETON:Lcom/oracle/truffle/object/LayoutStrategy;
4: lconst_0
invokestatic com.oracle.truffle.object.DefaultStrategy.createDefaultLocationFactory:(J)Lcom/oracle/truffle/api/object/LocationFactory;
putstatic com.oracle.truffle.object.DefaultStrategy.DEFAULT_LOCATION_FACTORY:Lcom/oracle/truffle/api/object/LocationFactory;
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 com.oracle.truffle.object.LayoutStrategy.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/object/DefaultStrategy;
public boolean updateShape(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.object.DefaultStrategy.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
invokevirtual com.oracle.truffle.api.object.Shape.isValid:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/object/DefaultStrategy;
0 2 1 object Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
object
public com.oracle.truffle.object.ShapeImpl ensureValid(com.oracle.truffle.object.ShapeImpl);
descriptor: (Lcom/oracle/truffle/object/ShapeImpl;)Lcom/oracle/truffle/object/ShapeImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.object.DefaultStrategy.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.truffle.object.ShapeImpl.isValid:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/object/DefaultStrategy;
0 2 1 newShape Lcom/oracle/truffle/object/ShapeImpl;
MethodParameters:
Name Flags
newShape
private static boolean assertLocationInRange(com.oracle.truffle.object.ShapeImpl, com.oracle.truffle.api.object.Location);
descriptor: (Lcom/oracle/truffle/object/ShapeImpl;Lcom/oracle/truffle/api/object/Location;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.object.ShapeImpl.getLayout:()Lcom/oracle/truffle/object/LayoutImpl;
checkcast com.oracle.truffle.object.DefaultLayout
astore 2
start local 2 1: getstatic com.oracle.truffle.object.DefaultStrategy.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual com.oracle.truffle.object.ShapeImpl.getPrimitiveFieldSize:()I
aload 1
checkcast com.oracle.truffle.object.LocationImpl
invokevirtual com.oracle.truffle.object.LocationImpl.primitiveFieldCount:()I
iadd
aload 2
invokevirtual com.oracle.truffle.object.DefaultLayout.getPrimitiveFieldCount:()I
if_icmple 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.oracle.truffle.object.DefaultLayout
StackMap stack:
getstatic com.oracle.truffle.object.DefaultStrategy.$assertionsDisabled:Z
ifne 3
aload 0
invokevirtual com.oracle.truffle.object.ShapeImpl.getObjectFieldSize:()I
aload 1
checkcast com.oracle.truffle.object.LocationImpl
invokevirtual com.oracle.truffle.object.LocationImpl.objectFieldCount:()I
iadd
aload 2
invokevirtual com.oracle.truffle.object.DefaultLayout.getObjectFieldCount:()I
if_icmple 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 shape Lcom/oracle/truffle/object/ShapeImpl;
0 4 1 location Lcom/oracle/truffle/api/object/Location;
1 4 2 layout Lcom/oracle/truffle/object/DefaultLayout;
MethodParameters:
Name Flags
shape
location
public com.oracle.truffle.object.ShapeImpl ensureSpace(com.oracle.truffle.object.ShapeImpl, com.oracle.truffle.api.object.Location);
descriptor: (Lcom/oracle/truffle/object/ShapeImpl;Lcom/oracle/truffle/api/object/Location;)Lcom/oracle/truffle/object/ShapeImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: getstatic com.oracle.truffle.object.DefaultStrategy.$assertionsDisabled:Z
ifne 2
aload 1
aload 2
invokestatic com.oracle.truffle.object.DefaultStrategy.assertLocationInRange:(Lcom/oracle/truffle/object/ShapeImpl;Lcom/oracle/truffle/api/object/Location;)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/object/DefaultStrategy;
0 3 1 shape Lcom/oracle/truffle/object/ShapeImpl;
0 3 2 location Lcom/oracle/truffle/api/object/Location;
MethodParameters:
Name Flags
shape
location
public com.oracle.truffle.object.ShapeImpl$BaseAllocator createAllocator(com.oracle.truffle.object.ShapeImpl);
descriptor: (Lcom/oracle/truffle/object/ShapeImpl;)Lcom/oracle/truffle/object/ShapeImpl$BaseAllocator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.object.CoreAllocator
dup
aload 1
invokespecial com.oracle.truffle.object.CoreAllocator.<init>:(Lcom/oracle/truffle/object/ShapeImpl;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/DefaultStrategy;
0 1 1 shape Lcom/oracle/truffle/object/ShapeImpl;
MethodParameters:
Name Flags
shape
public com.oracle.truffle.object.ShapeImpl$BaseAllocator createAllocator(com.oracle.truffle.object.LayoutImpl);
descriptor: (Lcom/oracle/truffle/object/LayoutImpl;)Lcom/oracle/truffle/object/ShapeImpl$BaseAllocator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.object.CoreAllocator
dup
aload 1
invokespecial com.oracle.truffle.object.CoreAllocator.<init>:(Lcom/oracle/truffle/object/LayoutImpl;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/DefaultStrategy;
0 1 1 layout Lcom/oracle/truffle/object/LayoutImpl;
MethodParameters:
Name Flags
layout
protected com.oracle.truffle.api.object.LocationFactory getDefaultLocationFactory(long);
descriptor: (J)Lcom/oracle/truffle/api/object/LocationFactory;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifne 2
1: getstatic com.oracle.truffle.object.DefaultStrategy.DEFAULT_LOCATION_FACTORY:Lcom/oracle/truffle/api/object/LocationFactory;
areturn
2: StackMap locals:
StackMap stack:
lload 1
invokestatic com.oracle.truffle.object.DefaultStrategy.createDefaultLocationFactory:(J)Lcom/oracle/truffle/api/object/LocationFactory;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/object/DefaultStrategy;
0 3 1 putFlags J
MethodParameters:
Name Flags
putFlags
private static com.oracle.truffle.api.object.LocationFactory createDefaultLocationFactory(long);
descriptor: (J)Lcom/oracle/truffle/api/object/LocationFactory;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new com.oracle.truffle.object.DefaultStrategy$1
dup
lload 0
invokespecial com.oracle.truffle.object.DefaultStrategy$1.<init>:(J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 putFlags J
MethodParameters:
Name Flags
putFlags
protected int getLocationOrdinal(com.oracle.truffle.api.object.Location);
descriptor: (Lcom/oracle/truffle/api/object/Location;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.object.CoreLocation
invokestatic com.oracle.truffle.object.CoreLocations.getLocationOrdinal:(Lcom/oracle/truffle/object/CoreLocation;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/DefaultStrategy;
0 1 1 location Lcom/oracle/truffle/api/object/Location;
MethodParameters:
Name Flags
location
}
SourceFile: "DefaultStrategy.java"
NestMembers:
com.oracle.truffle.object.DefaultStrategy$1
InnerClasses:
com.oracle.truffle.object.DefaultStrategy$1
public abstract BaseAllocator = com.oracle.truffle.object.ShapeImpl$BaseAllocator of com.oracle.truffle.object.ShapeImpl