abstract class com.oracle.truffle.object.DynamicObjectLibraryImpl$ResetShapeNode extends com.oracle.truffle.api.nodes.Node
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.object.DynamicObjectLibraryImpl$ResetShapeNode
super_class: com.oracle.truffle.api.nodes.Node
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$ResetShapeNode;
abstract boolean execute(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: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
object
cachedShape
newShape
static boolean doCached(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, 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;Lcom/oracle/truffle/api/object/Shape;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 3
if_acmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.object.LayoutImpl.ACCESS:Lcom/oracle/truffle/object/LayoutImpl$CoreAccess;
aload 0
aload 1
aload 3
invokevirtual com.oracle.truffle.object.LayoutImpl$CoreAccess.resizeAndSetShape:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
3: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 object Lcom/oracle/truffle/api/object/DynamicObject;
0 4 1 cachedShape Lcom/oracle/truffle/api/object/Shape;
0 4 2 otherShape Lcom/oracle/truffle/api/object/Shape;
0 4 3 cachedOtherShape Lcom/oracle/truffle/api/object/Shape;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"otherShape == cachedOtherShape"})
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
3:
com.oracle.truffle.api.dsl.Cached(value = "verifyResetShape(cachedShape, otherShape)", allowUncached = true)
MethodParameters:
Name Flags
object
cachedShape
otherShape
cachedOtherShape
static com.oracle.truffle.api.object.Shape verifyResetShape(com.oracle.truffle.api.object.Shape, com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/api/object/Shape;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.object.ShapeImpl
invokevirtual com.oracle.truffle.object.ShapeImpl.hasInstanceProperties:()Z
ifeq 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: new java.lang.IllegalArgumentException
dup
ldc "Shape must not contain any instance properties."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 1
if_acmpeq 5
4: getstatic com.oracle.truffle.object.LayoutImpl.ACCESS:Lcom/oracle/truffle/object/LayoutImpl$CoreAccess;
aload 0
invokevirtual com.oracle.truffle.object.LayoutImpl$CoreAccess.invalidateAllPropertyAssumptions:(Lcom/oracle/truffle/api/object/Shape;)V
5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 currentShape Lcom/oracle/truffle/api/object/Shape;
0 6 1 otherShape Lcom/oracle/truffle/api/object/Shape;
MethodParameters:
Name Flags
currentShape
otherShape
}
SourceFile: "DynamicObjectLibraryImpl.java"
NestHost: com.oracle.truffle.object.DynamicObjectLibraryImpl
InnerClasses:
abstract ResetShapeNode = com.oracle.truffle.object.DynamicObjectLibraryImpl$ResetShapeNode of com.oracle.truffle.object.DynamicObjectLibraryImpl
final CoreAccess = com.oracle.truffle.object.LayoutImpl$CoreAccess of com.oracle.truffle.object.LayoutImpl
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.GenerateUncached()