abstract class com.oracle.truffle.object.CoreLocations
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.object.CoreLocations
super_class: java.lang.Object
{
static final int LONG_FIELD_SLOT_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int LONG_ARRAY_SLOT_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int OBJECT_SLOT_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int MAX_DYNAMIC_FIELDS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1000
static final com.oracle.truffle.object.CoreLocations$SimpleObjectFieldLocation OBJECT_ARRAY_LOCATION;
descriptor: Lcom/oracle/truffle/object/CoreLocations$SimpleObjectFieldLocation;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final com.oracle.truffle.object.CoreLocations$SimpleObjectFieldLocation PRIMITIVE_ARRAY_LOCATION;
descriptor: Lcom/oracle/truffle/object/CoreLocations$SimpleObjectFieldLocation;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: iconst_0
istore 0
start local 0 1: new com.oracle.truffle.object.CoreLocations$1
dup
iload 0
iinc 0 1
invokespecial com.oracle.truffle.object.CoreLocations$1.<init>:(I)V
putstatic com.oracle.truffle.object.CoreLocations.OBJECT_ARRAY_LOCATION:Lcom/oracle/truffle/object/CoreLocations$SimpleObjectFieldLocation;
2: new com.oracle.truffle.object.CoreLocations$2
dup
iload 0
iinc 0 1
invokespecial com.oracle.truffle.object.CoreLocations$2.<init>:(I)V
putstatic com.oracle.truffle.object.CoreLocations.PRIMITIVE_ARRAY_LOCATION:Lcom/oracle/truffle/object/CoreLocations$SimpleObjectFieldLocation;
end local 0 3: return
LocalVariableTable:
Start End Slot Name Signature
1 3 0 index I
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/CoreLocations;
public static com.oracle.truffle.object.CoreLocations$LongLocation createLongLocation(com.oracle.truffle.object.CoreLocations$LongLocation, boolean);
descriptor: (Lcom/oracle/truffle/object/CoreLocations$LongLocation;Z)Lcom/oracle/truffle/object/CoreLocations$LongLocation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifne 1
aload 0
instanceof com.oracle.truffle.object.CoreLocations$LongLocationDecorator
ifne 2
StackMap locals:
StackMap stack:
1: aload 0
instanceof com.oracle.truffle.object.CoreLocations$LongLocationDecorator
ifeq 3
aload 0
checkcast com.oracle.truffle.object.CoreLocations$LongLocationDecorator
getfield com.oracle.truffle.object.CoreLocations$LongLocationDecorator.allowInt:Z
iload 1
if_icmpne 3
2: StackMap locals:
StackMap stack:
aload 0
areturn
3: StackMap locals:
StackMap stack:
new com.oracle.truffle.object.CoreLocations$LongLocationDecorator
dup
aload 0
iload 1
invokespecial com.oracle.truffle.object.CoreLocations$LongLocationDecorator.<init>:(Lcom/oracle/truffle/object/CoreLocations$LongLocation;Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 longLocation Lcom/oracle/truffle/object/CoreLocations$LongLocation;
0 4 1 allowInt Z
MethodParameters:
Name Flags
longLocation
allowInt
static long decodeLong(int, int);
descriptor: (II)J
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 0
i2l
ldc 4294967295
land
iload 1
i2l
bipush 32
lshl
lor
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 lower I
0 1 1 upper I
MethodParameters:
Name Flags
lower
upper
static int lowerInt(long);
descriptor: (J)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: lload 0
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value J
MethodParameters:
Name Flags
value
static int upperInt(long);
descriptor: (J)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: lload 0
bipush 32
lushr
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value J
MethodParameters:
Name Flags
value
static int getLocationOrdinal(com.oracle.truffle.object.CoreLocation);
descriptor: (Lcom/oracle/truffle/object/CoreLocation;)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.object.CoreLocation.getInternalLocation:()Lcom/oracle/truffle/object/LocationImpl;
astore 1
start local 1 1: aload 1
instanceof com.oracle.truffle.object.CoreLocations$LongLocation
istore 2
start local 2 2: aload 1
instanceof com.oracle.truffle.object.CoreLocations$FieldLocation
ifeq 6
3: iload 2
ifeq 4
ldc -2147483648
goto 5
StackMap locals: com.oracle.truffle.object.LocationImpl int
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: aload 1
checkcast com.oracle.truffle.object.CoreLocations$FieldLocation
invokevirtual com.oracle.truffle.object.CoreLocations$FieldLocation.getIndex:()I
iadd
ireturn
6: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.object.CoreLocations$ArrayLocation
ifeq 10
7: iload 2
ifeq 8
ldc -2147483648
goto 9
StackMap locals:
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: sipush 1000
iadd
aload 1
checkcast com.oracle.truffle.object.CoreLocations$ArrayLocation
invokevirtual com.oracle.truffle.object.CoreLocations$ArrayLocation.getIndex:()I
iadd
ireturn
10: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 loc Lcom/oracle/truffle/object/CoreLocation;
1 11 1 internal Lcom/oracle/truffle/object/LocationImpl;
2 11 2 isPrimitive Z
MethodParameters:
Name Flags
loc
static sun.misc.Unsafe getUnsafe();
descriptor: ()Lsun/misc/Unsafe;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: invokestatic sun.misc.Unsafe.getUnsafe:()Lsun/misc/Unsafe;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.SecurityException
pop
3: ldc Lsun/misc/Unsafe;
ldc "theUnsafe"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 0
start local 0 4: aload 0
iconst_1
invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
5: aload 0
ldc Lsun/misc/Unsafe;
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.misc.Unsafe
6: areturn
end local 0 7: StackMap locals:
StackMap stack: java.lang.Exception
astore 0
start local 0 8: new java.lang.RuntimeException
dup
ldc "exception while trying to get Unsafe.theUnsafe via reflection:"
aload 0
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
4 7 0 theUnsafeInstance Ljava/lang/reflect/Field;
8 9 0 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.SecurityException
3 6 7 Class java.lang.Exception
}
SourceFile: "CoreLocations.java"
NestMembers:
com.oracle.truffle.object.CoreLocations$1 com.oracle.truffle.object.CoreLocations$2 com.oracle.truffle.object.CoreLocations$ArrayLocation com.oracle.truffle.object.CoreLocations$BooleanLocation com.oracle.truffle.object.CoreLocations$BooleanLocationDecorator com.oracle.truffle.object.CoreLocations$ConstantLocation com.oracle.truffle.object.CoreLocations$DeclaredLocation com.oracle.truffle.object.CoreLocations$DoubleLocation com.oracle.truffle.object.CoreLocations$DoubleLocationDecorator com.oracle.truffle.object.CoreLocations$DynamicLongFieldLocation com.oracle.truffle.object.CoreLocations$DynamicObjectFieldLocation com.oracle.truffle.object.CoreLocations$FieldLocation com.oracle.truffle.object.CoreLocations$IntLocation com.oracle.truffle.object.CoreLocations$IntLocationDecorator com.oracle.truffle.object.CoreLocations$LongArrayLocation com.oracle.truffle.object.CoreLocations$LongLocation com.oracle.truffle.object.CoreLocations$LongLocationDecorator com.oracle.truffle.object.CoreLocations$ObjectArrayLocation com.oracle.truffle.object.CoreLocations$ObjectLocation com.oracle.truffle.object.CoreLocations$PrimitiveLocationDecorator com.oracle.truffle.object.CoreLocations$SimpleLongFieldLocation com.oracle.truffle.object.CoreLocations$SimpleObjectFieldLocation com.oracle.truffle.object.CoreLocations$TypedLocation com.oracle.truffle.object.CoreLocations$ValueLocation
InnerClasses:
com.oracle.truffle.object.CoreLocations$1
com.oracle.truffle.object.CoreLocations$2
public abstract ArrayLocation = com.oracle.truffle.object.CoreLocations$ArrayLocation of com.oracle.truffle.object.CoreLocations
public abstract BooleanLocation = com.oracle.truffle.object.CoreLocations$BooleanLocation of com.oracle.truffle.object.CoreLocations
BooleanLocationDecorator = com.oracle.truffle.object.CoreLocations$BooleanLocationDecorator of com.oracle.truffle.object.CoreLocations
public final ConstantLocation = com.oracle.truffle.object.CoreLocations$ConstantLocation of com.oracle.truffle.object.CoreLocations
public final DeclaredLocation = com.oracle.truffle.object.CoreLocations$DeclaredLocation of com.oracle.truffle.object.CoreLocations
public abstract DoubleLocation = com.oracle.truffle.object.CoreLocations$DoubleLocation of com.oracle.truffle.object.CoreLocations
DoubleLocationDecorator = com.oracle.truffle.object.CoreLocations$DoubleLocationDecorator of com.oracle.truffle.object.CoreLocations
final DynamicLongFieldLocation = com.oracle.truffle.object.CoreLocations$DynamicLongFieldLocation of com.oracle.truffle.object.CoreLocations
final DynamicObjectFieldLocation = com.oracle.truffle.object.CoreLocations$DynamicObjectFieldLocation of com.oracle.truffle.object.CoreLocations
public abstract FieldLocation = com.oracle.truffle.object.CoreLocations$FieldLocation of com.oracle.truffle.object.CoreLocations
public abstract IntLocation = com.oracle.truffle.object.CoreLocations$IntLocation of com.oracle.truffle.object.CoreLocations
IntLocationDecorator = com.oracle.truffle.object.CoreLocations$IntLocationDecorator of com.oracle.truffle.object.CoreLocations
LongArrayLocation = com.oracle.truffle.object.CoreLocations$LongArrayLocation of com.oracle.truffle.object.CoreLocations
public abstract LongLocation = com.oracle.truffle.object.CoreLocations$LongLocation of com.oracle.truffle.object.CoreLocations
LongLocationDecorator = com.oracle.truffle.object.CoreLocations$LongLocationDecorator of com.oracle.truffle.object.CoreLocations
ObjectArrayLocation = com.oracle.truffle.object.CoreLocations$ObjectArrayLocation of com.oracle.truffle.object.CoreLocations
public abstract ObjectLocation = com.oracle.truffle.object.CoreLocations$ObjectLocation of com.oracle.truffle.object.CoreLocations
public abstract PrimitiveLocationDecorator = com.oracle.truffle.object.CoreLocations$PrimitiveLocationDecorator of com.oracle.truffle.object.CoreLocations
public abstract SimpleLongFieldLocation = com.oracle.truffle.object.CoreLocations$SimpleLongFieldLocation of com.oracle.truffle.object.CoreLocations
public abstract SimpleObjectFieldLocation = com.oracle.truffle.object.CoreLocations$SimpleObjectFieldLocation of com.oracle.truffle.object.CoreLocations
public abstract TypedLocation = com.oracle.truffle.object.CoreLocations$TypedLocation of com.oracle.truffle.object.CoreLocations
public abstract ValueLocation = com.oracle.truffle.object.CoreLocations$ValueLocation of com.oracle.truffle.object.CoreLocations