public class com.oracle.truffle.object.PropertyImpl extends com.oracle.truffle.api.object.Property
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.object.PropertyImpl
super_class: com.oracle.truffle.api.object.Property
{
private final java.lang.Object key;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.object.Location location;
descriptor: Lcom/oracle/truffle/api/object/Location;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int flags;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean relocatable;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, 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=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/object/PropertyImpl;
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.PropertyImpl.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.Object, com.oracle.truffle.api.object.Location, int, boolean);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/object/Location;IZ)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial com.oracle.truffle.api.object.Property.<init>:()V
1: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
2: aload 0
aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
putfield com.oracle.truffle.object.PropertyImpl.key:Ljava/lang/Object;
3: aload 0
aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.object.Location
putfield com.oracle.truffle.object.PropertyImpl.location:Lcom/oracle/truffle/api/object/Location;
4: aload 0
iload 3
putfield com.oracle.truffle.object.PropertyImpl.flags:I
5: aload 0
iload 4
putfield com.oracle.truffle.object.PropertyImpl.relocatable:Z
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/object/PropertyImpl;
0 7 1 key Ljava/lang/Object;
0 7 2 location Lcom/oracle/truffle/api/object/Location;
0 7 3 flags I
0 7 4 relocatable Z
MethodParameters:
Name Flags
key
location
flags
relocatable
public void <init>(java.lang.Object, com.oracle.truffle.api.object.Location, int);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/object/Location;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
iconst_1
invokespecial com.oracle.truffle.object.PropertyImpl.<init>:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/Location;IZ)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/object/PropertyImpl;
0 2 1 name Ljava/lang/Object;
0 2 2 location Lcom/oracle/truffle/api/object/Location;
0 2 3 flags I
MethodParameters:
Name Flags
name
location
flags
public final java.lang.Object getKey();
descriptor: ()Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.object.PropertyImpl.key:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/PropertyImpl;
public int getFlags();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.object.PropertyImpl.flags:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/PropertyImpl;
public com.oracle.truffle.api.object.Property relocate(com.oracle.truffle.api.object.Location);
descriptor: (Lcom/oracle/truffle/api/object/Location;)Lcom/oracle/truffle/api/object/Property;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.object.PropertyImpl.getLocation:()Lcom/oracle/truffle/api/object/Location;
aload 1
invokevirtual com.oracle.truffle.api.object.Location.equals:(Ljava/lang/Object;)Z
ifne 2
aload 0
getfield com.oracle.truffle.object.PropertyImpl.relocatable:Z
ifeq 2
1: aload 0
aload 0
getfield com.oracle.truffle.object.PropertyImpl.key:Ljava/lang/Object;
aload 1
aload 0
getfield com.oracle.truffle.object.PropertyImpl.flags:I
invokevirtual com.oracle.truffle.object.PropertyImpl.construct:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/Location;I)Lcom/oracle/truffle/api/object/Property;
areturn
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/object/PropertyImpl;
0 3 1 newLocation Lcom/oracle/truffle/api/object/Location;
MethodParameters:
Name Flags
newLocation
public final java.lang.Object get(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.object.PropertyImpl.getLocation:()Lcom/oracle/truffle/api/object/Location;
aload 1
aload 2
invokevirtual com.oracle.truffle.api.object.Location.get:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/PropertyImpl;
0 1 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 shape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
store
shape
public final java.lang.Object get(com.oracle.truffle.api.object.DynamicObject, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Z)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.object.PropertyImpl.getLocation:()Lcom/oracle/truffle/api/object/Location;
aload 1
iload 2
invokevirtual com.oracle.truffle.api.object.Location.get:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/PropertyImpl;
0 1 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 condition Z
MethodParameters:
Name Flags
store
condition
public final void setInternal(com.oracle.truffle.api.object.DynamicObject, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.object.PropertyImpl.getLocation:()Lcom/oracle/truffle/api/object/Location;
checkcast com.oracle.truffle.object.LocationImpl
aload 1
aload 2
invokevirtual com.oracle.truffle.object.LocationImpl.setInternal:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)V
1: goto 4
StackMap locals:
StackMap stack: com.oracle.truffle.api.object.IncompatibleLocationException
2: pop
3: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/object/PropertyImpl;
0 5 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 5 2 value Ljava/lang/Object;
Exception table:
from to target type
0 1 2 Class com.oracle.truffle.api.object.IncompatibleLocationException
MethodParameters:
Name Flags
store
value
private static boolean verifyShapeParameter(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.object.PropertyImpl.$assertionsDisabled:Z
ifne 1
aload 1
ifnull 1
aload 0
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 1
if_acmpeq 1
new java.lang.AssertionError
dup
ldc "wrong shape"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 store Lcom/oracle/truffle/api/object/DynamicObject;
0 2 1 shape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
store
shape
public final void set(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.truffle.object.PropertyImpl.$assertionsDisabled:Z
ifne 1
aload 1
aload 3
invokestatic com.oracle.truffle.object.PropertyImpl.verifyShapeParameter:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)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.object.PropertyImpl.getLocation:()Lcom/oracle/truffle/api/object/Location;
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.api.object.Location.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;)V
2: return
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/object/PropertyImpl;
0 3 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 3 2 value Ljava/lang/Object;
0 3 3 shape Lcom/oracle/truffle/api/object/Shape;
Exceptions:
throws com.oracle.truffle.api.object.IncompatibleLocationException, com.oracle.truffle.api.object.FinalLocationException
MethodParameters:
Name Flags
store
value
shape
public final void setSafe(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.truffle.object.PropertyImpl.$assertionsDisabled:Z
ifne 1
aload 1
aload 3
invokestatic com.oracle.truffle.object.PropertyImpl.verifyShapeParameter:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)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.object.PropertyImpl.getLocation:()Lcom/oracle/truffle/api/object/Location;
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.api.object.Location.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;)V
2: goto 5
StackMap locals:
StackMap stack: com.oracle.truffle.api.nodes.SlowPathException
3: pop
4: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
return
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/object/PropertyImpl;
0 6 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 6 2 value Ljava/lang/Object;
0 6 3 shape Lcom/oracle/truffle/api/object/Shape;
Exception table:
from to target type
1 2 3 Class com.oracle.truffle.api.object.IncompatibleLocationException
1 2 3 Class com.oracle.truffle.api.object.FinalLocationException
MethodParameters:
Name Flags
store
value
shape
public final void setGeneric(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.truffle.object.PropertyImpl.$assertionsDisabled:Z
ifne 1
aload 1
aload 3
invokestatic com.oracle.truffle.object.PropertyImpl.verifyShapeParameter:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.object.PropertyImpl.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;)V
2: goto 5
StackMap locals:
StackMap stack: com.oracle.truffle.api.nodes.SlowPathException
3: pop
4: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.object.PropertyImpl.setSlowCase:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)V
5: StackMap locals:
StackMap stack:
return
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/object/PropertyImpl;
0 6 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 6 2 value Ljava/lang/Object;
0 6 3 shape Lcom/oracle/truffle/api/object/Shape;
Exception table:
from to target type
1 2 3 Class com.oracle.truffle.api.object.IncompatibleLocationException
1 2 3 Class com.oracle.truffle.api.object.FinalLocationException
MethodParameters:
Name Flags
store
value
shape
private static boolean verifyShapeParameters(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.object.PropertyImpl.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 1
if_acmpeq 1
new java.lang.AssertionError
dup
ldc "wrong shape"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.object.PropertyImpl.$assertionsDisabled:Z
ifne 2
aload 2
invokevirtual com.oracle.truffle.api.object.Shape.isValid:()Z
ifne 2
new java.lang.AssertionError
dup
ldc "invalid shape"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 store Lcom/oracle/truffle/api/object/DynamicObject;
0 3 1 oldShape Lcom/oracle/truffle/api/object/Shape;
0 3 2 newShape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
store
oldShape
newShape
public final void set(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, com.oracle.truffle.api.object.Shape, com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic com.oracle.truffle.object.PropertyImpl.$assertionsDisabled:Z
ifne 1
aload 1
aload 3
aload 4
invokestatic com.oracle.truffle.object.PropertyImpl.verifyShapeParameters:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)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.object.PropertyImpl.getLocation:()Lcom/oracle/truffle/api/object/Location;
aload 1
aload 2
aload 3
aload 4
invokevirtual com.oracle.truffle.api.object.Location.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
2: return
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/object/PropertyImpl;
0 3 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 3 2 value Ljava/lang/Object;
0 3 3 oldShape Lcom/oracle/truffle/api/object/Shape;
0 3 4 newShape Lcom/oracle/truffle/api/object/Shape;
Exceptions:
throws com.oracle.truffle.api.object.IncompatibleLocationException
MethodParameters:
Name Flags
store
value
oldShape
newShape
public final void setSafe(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, com.oracle.truffle.api.object.Shape, com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic com.oracle.truffle.object.PropertyImpl.$assertionsDisabled:Z
ifne 1
aload 1
aload 3
aload 4
invokestatic com.oracle.truffle.object.PropertyImpl.verifyShapeParameters:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)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.object.PropertyImpl.getLocation:()Lcom/oracle/truffle/api/object/Location;
aload 1
aload 2
aload 3
aload 4
invokevirtual com.oracle.truffle.api.object.Location.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
2: goto 5
StackMap locals:
StackMap stack: com.oracle.truffle.api.object.IncompatibleLocationException
3: pop
4: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
return
end local 4 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/object/PropertyImpl;
0 6 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 6 2 value Ljava/lang/Object;
0 6 3 oldShape Lcom/oracle/truffle/api/object/Shape;
0 6 4 newShape Lcom/oracle/truffle/api/object/Shape;
Exception table:
from to target type
1 2 3 Class com.oracle.truffle.api.object.IncompatibleLocationException
MethodParameters:
Name Flags
store
value
oldShape
newShape
public final void setGeneric(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, com.oracle.truffle.api.object.Shape, com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic com.oracle.truffle.object.PropertyImpl.$assertionsDisabled:Z
ifne 1
aload 1
aload 3
aload 4
invokestatic com.oracle.truffle.object.PropertyImpl.verifyShapeParameters:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)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.object.PropertyImpl.getLocation:()Lcom/oracle/truffle/api/object/Location;
aload 1
aload 2
aload 3
aload 4
invokevirtual com.oracle.truffle.api.object.Location.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
2: goto 5
StackMap locals:
StackMap stack: com.oracle.truffle.api.object.IncompatibleLocationException
3: pop
4: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual com.oracle.truffle.object.PropertyImpl.setWithShapeSlowCase:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
5: StackMap locals:
StackMap stack:
return
end local 4 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/object/PropertyImpl;
0 6 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 6 2 value Ljava/lang/Object;
0 6 3 oldShape Lcom/oracle/truffle/api/object/Shape;
0 6 4 newShape Lcom/oracle/truffle/api/object/Shape;
Exception table:
from to target type
1 2 3 Class com.oracle.truffle.api.object.IncompatibleLocationException
MethodParameters:
Name Flags
store
value
oldShape
newShape
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 1
checkcast com.oracle.truffle.object.PropertyImpl
astore 2
start local 2 7: aload 0
getfield com.oracle.truffle.object.PropertyImpl.key:Ljava/lang/Object;
aload 2
getfield com.oracle.truffle.object.PropertyImpl.key:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
aload 0
getfield com.oracle.truffle.object.PropertyImpl.flags:I
aload 2
getfield com.oracle.truffle.object.PropertyImpl.flags:I
if_icmpne 8
aload 0
getfield com.oracle.truffle.object.PropertyImpl.relocatable:Z
aload 2
getfield com.oracle.truffle.object.PropertyImpl.relocatable:Z
if_icmpne 8
aload 0
getfield com.oracle.truffle.object.PropertyImpl.location:Lcom/oracle/truffle/api/object/Location;
aload 2
getfield com.oracle.truffle.object.PropertyImpl.location:Lcom/oracle/truffle/api/object/Location;
invokevirtual com.oracle.truffle.api.object.Location.equals:(Ljava/lang/Object;)Z
ifeq 8
iconst_1
ireturn
StackMap locals: com.oracle.truffle.object.PropertyImpl
StackMap stack:
8: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/object/PropertyImpl;
0 9 1 obj Ljava/lang/Object;
7 9 2 other Lcom/oracle/truffle/object/PropertyImpl;
MethodParameters:
Name Flags
obj
public boolean isSame(com.oracle.truffle.api.object.Property);
descriptor: (Lcom/oracle/truffle/api/object/Property;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 1
checkcast com.oracle.truffle.object.PropertyImpl
astore 2
start local 2 7: aload 0
getfield com.oracle.truffle.object.PropertyImpl.key:Ljava/lang/Object;
aload 2
getfield com.oracle.truffle.object.PropertyImpl.key:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
aload 0
getfield com.oracle.truffle.object.PropertyImpl.flags:I
aload 2
getfield com.oracle.truffle.object.PropertyImpl.flags:I
if_icmpne 8
iconst_1
ireturn
StackMap locals: com.oracle.truffle.object.PropertyImpl
StackMap stack:
8: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/object/PropertyImpl;
0 9 1 obj Lcom/oracle/truffle/api/object/Property;
7 9 2 other Lcom/oracle/truffle/object/PropertyImpl;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: bipush 31
iload 1
imul
aload 0
getfield com.oracle.truffle.object.PropertyImpl.key:Ljava/lang/Object;
invokevirtual java.lang.Object.hashCode:()I
iadd
istore 1
2: bipush 31
iload 1
imul
aload 0
getfield com.oracle.truffle.object.PropertyImpl.location:Lcom/oracle/truffle/api/object/Location;
invokevirtual com.oracle.truffle.api.object.Location.hashCode:()I
iadd
istore 1
3: bipush 31
iload 1
imul
aload 0
getfield com.oracle.truffle.object.PropertyImpl.flags:I
iadd
istore 1
4: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/object/PropertyImpl;
1 5 1 result I
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.object.PropertyImpl.key:Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.truffle.object.PropertyImpl.location:Lcom/oracle/truffle/api/object/Location;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.truffle.object.PropertyImpl.flags:I
ifne 1
ldc ""
goto 2
StackMap locals:
StackMap stack: java.lang.StringBuilder
1: new java.lang.StringBuilder
dup
ldc "%"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.object.PropertyImpl.flags:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: com.oracle.truffle.object.PropertyImpl
StackMap stack: java.lang.StringBuilder java.lang.String
2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/object/PropertyImpl;
public final com.oracle.truffle.api.object.Location getLocation();
descriptor: ()Lcom/oracle/truffle/api/object/Location;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.object.PropertyImpl.location:Lcom/oracle/truffle/api/object/Location;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/PropertyImpl;
private void setSlowCase(com.oracle.truffle.api.object.DynamicObject, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, 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;
checkcast com.oracle.truffle.object.ShapeImpl
astore 3
start local 3 1: aload 3
invokevirtual com.oracle.truffle.object.ShapeImpl.getLayout:()Lcom/oracle/truffle/object/LayoutImpl;
invokevirtual com.oracle.truffle.object.LayoutImpl.getStrategy:()Lcom/oracle/truffle/object/LayoutStrategy;
aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.object.LayoutStrategy.propertySetFallback:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/object/ShapeImpl;)V
2: return
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/object/PropertyImpl;
0 3 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 3 2 value Ljava/lang/Object;
1 3 3 oldShape Lcom/oracle/truffle/object/ShapeImpl;
MethodParameters:
Name Flags
store
value
private void setWithShapeSlowCase(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, com.oracle.truffle.api.object.Shape, com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
checkcast com.oracle.truffle.object.ShapeImpl
astore 5
start local 5 1: aload 5
invokevirtual com.oracle.truffle.object.ShapeImpl.getLayout:()Lcom/oracle/truffle/object/LayoutImpl;
invokevirtual com.oracle.truffle.object.LayoutImpl.getStrategy:()Lcom/oracle/truffle/object/LayoutStrategy;
aload 0
aload 1
aload 2
aload 5
aload 4
checkcast com.oracle.truffle.object.ShapeImpl
invokevirtual com.oracle.truffle.object.LayoutStrategy.propertySetWithShapeFallback:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/object/ShapeImpl;Lcom/oracle/truffle/object/ShapeImpl;)V
2: return
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 3 0 this Lcom/oracle/truffle/object/PropertyImpl;
0 3 1 store Lcom/oracle/truffle/api/object/DynamicObject;
0 3 2 value Ljava/lang/Object;
0 3 3 currentShape Lcom/oracle/truffle/api/object/Shape;
0 3 4 nextShape Lcom/oracle/truffle/api/object/Shape;
1 3 5 oldShape Lcom/oracle/truffle/object/ShapeImpl;
MethodParameters:
Name Flags
store
value
currentShape
nextShape
public final boolean isHidden();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.object.PropertyImpl.key:Ljava/lang/Object;
instanceof com.oracle.truffle.api.object.HiddenKey
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/PropertyImpl;
protected com.oracle.truffle.api.object.Property construct(java.lang.Object, com.oracle.truffle.api.object.Location, int);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/object/Location;I)Lcom/oracle/truffle/api/object/Property;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.oracle.truffle.object.PropertyImpl
dup
aload 1
aload 2
iload 3
aload 0
getfield com.oracle.truffle.object.PropertyImpl.relocatable:Z
invokespecial com.oracle.truffle.object.PropertyImpl.<init>:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/Location;IZ)V
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/object/PropertyImpl;
0 1 1 name Ljava/lang/Object;
0 1 2 location Lcom/oracle/truffle/api/object/Location;
0 1 3 flags I
MethodParameters:
Name Flags
name
location
flags
public com.oracle.truffle.api.object.Property copyWithFlags(int);
descriptor: (I)Lcom/oracle/truffle/api/object/Property;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.oracle.truffle.object.PropertyImpl.key:Ljava/lang/Object;
aload 0
getfield com.oracle.truffle.object.PropertyImpl.location:Lcom/oracle/truffle/api/object/Location;
iload 1
invokevirtual com.oracle.truffle.object.PropertyImpl.construct:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/Location;I)Lcom/oracle/truffle/api/object/Property;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/PropertyImpl;
0 1 1 newFlags I
MethodParameters:
Name Flags
newFlags
public com.oracle.truffle.api.object.Property copyWithRelocatable(boolean);
descriptor: (Z)Lcom/oracle/truffle/api/object/Property;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.object.PropertyImpl.relocatable:Z
iload 1
if_icmpeq 2
1: new com.oracle.truffle.object.PropertyImpl
dup
aload 0
getfield com.oracle.truffle.object.PropertyImpl.key:Ljava/lang/Object;
aload 0
getfield com.oracle.truffle.object.PropertyImpl.location:Lcom/oracle/truffle/api/object/Location;
aload 0
getfield com.oracle.truffle.object.PropertyImpl.flags:I
iload 1
invokespecial com.oracle.truffle.object.PropertyImpl.<init>:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/Location;IZ)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/object/PropertyImpl;
0 3 1 newRelocatable Z
MethodParameters:
Name Flags
newRelocatable
}
SourceFile: "PropertyImpl.java"