public final class com.oracle.truffle.js.runtime.objects.JSShapeData
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.js.runtime.objects.JSShapeData
super_class: java.lang.Object
{
private static final com.oracle.truffle.api.object.Property[] EMPTY_PROPERTY_ARRAY;
descriptor: [Lcom/oracle/truffle/api/object/Property;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] EMPTY_STRING_ARRAY;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int UNKNOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private int symbolsStartPos;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.object.Property[] propertyArray;
descriptor: [Lcom/oracle/truffle/api/object/Property;
flags: (0x0002) ACC_PRIVATE
private java.lang.String[] enumerablePropertyNames;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private static final com.oracle.truffle.js.runtime.util.DebugCounter enumerablePropertyListAllocCount;
descriptor: Lcom/oracle/truffle/js/runtime/util/DebugCounter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.js.runtime.util.DebugCounter propertyListAllocCount;
descriptor: Lcom/oracle/truffle/js/runtime/util/DebugCounter;
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=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/js/runtime/objects/JSShapeData;
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.js.runtime.objects.JSShapeData.$assertionsDisabled:Z
3: iconst_0
anewarray com.oracle.truffle.api.object.Property
putstatic com.oracle.truffle.js.runtime.objects.JSShapeData.EMPTY_PROPERTY_ARRAY:[Lcom/oracle/truffle/api/object/Property;
4: iconst_0
anewarray java.lang.String
putstatic com.oracle.truffle.js.runtime.objects.JSShapeData.EMPTY_STRING_ARRAY:[Ljava/lang/String;
5: ldc "Enumerable property lists allocated"
invokestatic com.oracle.truffle.js.runtime.util.DebugCounter.create:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/util/DebugCounter;
putstatic com.oracle.truffle.js.runtime.objects.JSShapeData.enumerablePropertyListAllocCount:Lcom/oracle/truffle/js/runtime/util/DebugCounter;
6: ldc "Property lists allocated"
invokestatic com.oracle.truffle.js.runtime.util.DebugCounter.create:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/util/DebugCounter;
putstatic com.oracle.truffle.js.runtime.objects.JSShapeData.propertyListAllocCount:Lcom/oracle/truffle/js/runtime/util/DebugCounter;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield com.oracle.truffle.js.runtime.objects.JSShapeData.symbolsStartPos:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/objects/JSShapeData;
private static com.oracle.truffle.api.object.Property[] createPropertiesArray(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)[Lcom/oracle/truffle/api/object/Property;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: getstatic com.oracle.truffle.js.runtime.objects.JSShapeData.propertyListAllocCount:Lcom/oracle/truffle/js/runtime/util/DebugCounter;
invokevirtual com.oracle.truffle.js.runtime.util.DebugCounter.inc:()V
2: aload 0
invokevirtual com.oracle.truffle.api.object.Shape.getPropertyList:()Ljava/util/List;
astore 1
start local 1 3: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.sortProperties:(Ljava/util/List;)V
4: aload 1
getstatic com.oracle.truffle.js.runtime.objects.JSShapeData.EMPTY_PROPERTY_ARRAY:[Lcom/oracle/truffle/api/object/Property;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.api.object.Property[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 shape Lcom/oracle/truffle/api/object/Shape;
3 5 1 ownProperties Ljava/util/List<Lcom/oracle/truffle/api/object/Property;>;
MethodParameters:
Name Flags
shape
private static java.lang.String[] createEnumerablePropertyNamesArray(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: getstatic com.oracle.truffle.js.runtime.objects.JSShapeData.enumerablePropertyListAllocCount:Lcom/oracle/truffle/js/runtime/util/DebugCounter;
invokevirtual com.oracle.truffle.js.runtime.util.DebugCounter.inc:()V
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 3: aload 0
invokevirtual com.oracle.truffle.api.object.Shape.getPropertyList:()Ljava/util/List;
aload 1
invokedynamic accept(Ljava/util/List;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/oracle/truffle/js/runtime/objects/JSShapeData.lambda$0(Ljava/util/List;Lcom/oracle/truffle/api/object/Property;)V (6)
(Lcom/oracle/truffle/api/object/Property;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
4: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.sortPropertyKeys:(Ljava/util/List;)V
5: aload 1
getstatic com.oracle.truffle.js.runtime.objects.JSShapeData.EMPTY_STRING_ARRAY:[Ljava/lang/String;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 shape Lcom/oracle/truffle/api/object/Shape;
3 6 1 ownProperties Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
shape
private static void sortProperties(java.util.List<com.oracle.truffle.api.object.Property>);
descriptor: (Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
invokedynamic compare()Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
com/oracle/truffle/js/runtime/objects/JSShapeData.lambda$1(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/api/object/Property;)I (6)
(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/api/object/Property;)I
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 ownProperties Ljava/util/List<Lcom/oracle/truffle/api/object/Property;>;
Signature: (Ljava/util/List<Lcom/oracle/truffle/api/object/Property;>;)V
MethodParameters:
Name Flags
ownProperties
private static void sortPropertyKeys(java.util.List<? extends java.lang.Object>);
descriptor: (Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
invokedynamic compare()Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
com/oracle/truffle/js/runtime/JSRuntime.comparePropertyKeys(Ljava/lang/Object;Ljava/lang/Object;)I (6)
(Ljava/lang/Object;Ljava/lang/Object;)I
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 ownProperties Ljava/util/List<+Ljava/lang/Object;>;
Signature: (Ljava/util/List<+Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
ownProperties
private static com.oracle.truffle.js.runtime.objects.JSShapeData getShapeData(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/objects/JSShapeData;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.getJSContext:(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/JSContext;
astore 1
start local 1 2: aload 1
dup
astore 2
monitorenter
3: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSContext.getShapeDataMap:()Ljava/util/Map;
astore 3
start local 3 4: aload 3
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.objects.JSShapeData
astore 4
start local 4 5: aload 4
ifnonnull 8
6: new com.oracle.truffle.js.runtime.objects.JSShapeData
dup
invokespecial com.oracle.truffle.js.runtime.objects.JSShapeData.<init>:()V
astore 4
7: aload 3
aload 0
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: StackMap locals: com.oracle.truffle.api.object.Shape com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.JSContext java.util.Map com.oracle.truffle.js.runtime.objects.JSShapeData
StackMap stack:
aload 4
aload 2
monitorexit
9: areturn
end local 4 end local 3 10: StackMap locals: com.oracle.truffle.api.object.Shape com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.JSContext
StackMap stack: java.lang.Throwable
aload 2
monitorexit
11: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 shape Lcom/oracle/truffle/api/object/Shape;
2 12 1 context Lcom/oracle/truffle/js/runtime/JSContext;
4 10 3 map Ljava/util/Map<Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/js/runtime/objects/JSShapeData;>;
5 10 4 shapeData Lcom/oracle/truffle/js/runtime/objects/JSShapeData;
Exception table:
from to target type
3 9 10 any
10 11 10 any
MethodParameters:
Name Flags
shape
private static com.oracle.truffle.api.object.Property[] getPropertiesArray(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)[Lcom/oracle/truffle/api/object/Property;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.runtime.objects.JSShapeData.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.api.object.Shape.getPropertyCount:()I
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getShapeData:(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/objects/JSShapeData;
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getPropertiesArray:(Lcom/oracle/truffle/js/runtime/objects/JSShapeData;Lcom/oracle/truffle/api/object/Shape;)[Lcom/oracle/truffle/api/object/Property;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 shape Lcom/oracle/truffle/api/object/Shape;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
shape
private static com.oracle.truffle.api.object.Property[] getPropertiesArray(com.oracle.truffle.js.runtime.objects.JSShapeData, com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/js/runtime/objects/JSShapeData;Lcom/oracle/truffle/api/object/Shape;)[Lcom/oracle/truffle/api/object/Property;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.JSShapeData.propertyArray:[Lcom/oracle/truffle/api/object/Property;
astore 2
start local 2 1: aload 2
ifnonnull 5
2: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.createPropertiesArray:(Lcom/oracle/truffle/api/object/Shape;)[Lcom/oracle/truffle/api/object/Property;
astore 2
3: getstatic com.oracle.truffle.js.runtime.objects.JSShapeData.$assertionsDisabled:Z
ifne 4
aload 2
arraylength
aload 1
invokevirtual com.oracle.truffle.api.object.Shape.getPropertyCount:()I
if_icmpeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: com.oracle.truffle.api.object.Property[]
StackMap stack:
aload 0
aload 2
putfield com.oracle.truffle.js.runtime.objects.JSShapeData.propertyArray:[Lcom/oracle/truffle/api/object/Property;
5: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 shapeData Lcom/oracle/truffle/js/runtime/objects/JSShapeData;
0 6 1 shape Lcom/oracle/truffle/api/object/Shape;
1 6 2 propertyArray [Lcom/oracle/truffle/api/object/Property;
MethodParameters:
Name Flags
shapeData
shape
private static int getSymbolsStart(com.oracle.truffle.js.runtime.objects.JSShapeData, com.oracle.truffle.api.object.Property[]);
descriptor: (Lcom/oracle/truffle/js/runtime/objects/JSShapeData;[Lcom/oracle/truffle/api/object/Property;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.JSShapeData.symbolsStartPos:I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpne 3
2: aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getSymbolsStart:([Lcom/oracle/truffle/api/object/Property;)I
dup
istore 2
putfield com.oracle.truffle.js.runtime.objects.JSShapeData.symbolsStartPos:I
3: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 shapeData Lcom/oracle/truffle/js/runtime/objects/JSShapeData;
0 4 1 propertyArray [Lcom/oracle/truffle/api/object/Property;
1 4 2 symbolsStart I
MethodParameters:
Name Flags
shapeData
propertyArray
private static int getSymbolsStart(com.oracle.truffle.api.object.Property[]);
descriptor: ([Lcom/oracle/truffle/api/object/Property;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
iconst_1
isub
aaload
astore 2
start local 2 3: aload 2
invokevirtual com.oracle.truffle.api.object.Property.getKey:()Ljava/lang/Object;
instanceof com.oracle.truffle.js.runtime.Symbol
ifne 5
4: goto 7
end local 2 5: StackMap locals:
StackMap stack:
iinc 1 -1
StackMap locals:
StackMap stack:
6: iload 1
ifgt 2
7: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 propertyArray [Lcom/oracle/truffle/api/object/Property;
1 8 1 pos I
3 5 2 prev Lcom/oracle/truffle/api/object/Property;
MethodParameters:
Name Flags
propertyArray
static com.oracle.truffle.js.runtime.util.UnmodifiableArrayList<com.oracle.truffle.api.object.Property> getProperties(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.object.Shape.getPropertyCount:()I
ifne 1
getstatic com.oracle.truffle.js.runtime.objects.JSShapeData.EMPTY_PROPERTY_ARRAY:[Lcom/oracle/truffle/api/object/Property;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getPropertiesArray:(Lcom/oracle/truffle/api/object/Shape;)[Lcom/oracle/truffle/api/object/Property;
StackMap locals:
StackMap stack: com.oracle.truffle.api.object.Property[]
2: invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.asUnmodifiableList:([Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 shape Lcom/oracle/truffle/api/object/Shape;
Signature: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList<Lcom/oracle/truffle/api/object/Property;>;
MethodParameters:
Name Flags
shape
private static java.lang.String[] getEnumerablePropertyNamesArray(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.runtime.objects.JSShapeData.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.api.object.Shape.getPropertyCount:()I
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getShapeData:(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/objects/JSShapeData;
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getEnumerablePropertyNamesArray:(Lcom/oracle/truffle/js/runtime/objects/JSShapeData;Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 shape Lcom/oracle/truffle/api/object/Shape;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
shape
private static java.lang.String[] getEnumerablePropertyNamesArray(com.oracle.truffle.js.runtime.objects.JSShapeData, com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/js/runtime/objects/JSShapeData;Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.JSShapeData.enumerablePropertyNames:[Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnonnull 4
2: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.createEnumerablePropertyNamesArray:(Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/String;
astore 2
3: aload 0
aload 2
putfield com.oracle.truffle.js.runtime.objects.JSShapeData.enumerablePropertyNames:[Ljava/lang/String;
4: StackMap locals: java.lang.String[]
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 shapeData Lcom/oracle/truffle/js/runtime/objects/JSShapeData;
0 5 1 shape Lcom/oracle/truffle/api/object/Shape;
1 5 2 enumeratePropertyNames [Ljava/lang/String;
MethodParameters:
Name Flags
shapeData
shape
static com.oracle.truffle.js.runtime.util.UnmodifiableArrayList<java.lang.String> getEnumerablePropertyNames(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.object.Shape.getPropertyCount:()I
ifne 1
getstatic com.oracle.truffle.js.runtime.objects.JSShapeData.EMPTY_STRING_ARRAY:[Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getEnumerablePropertyNamesArray:(Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String[]
2: invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.asUnmodifiableList:([Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 shape Lcom/oracle/truffle/api/object/Shape;
Signature: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList<Ljava/lang/String;>;
MethodParameters:
Name Flags
shape
private static com.oracle.truffle.api.object.Property[] getPropertiesArrayIfHasEnumerablePropertyNames(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)[Lcom/oracle/truffle/api/object/Property;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.runtime.objects.JSShapeData.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.api.object.Shape.getPropertyCount:()I
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getShapeData:(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/objects/JSShapeData;
astore 1
start local 1 2: aload 1
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getEnumerablePropertyNamesArray:(Lcom/oracle/truffle/js/runtime/objects/JSShapeData;Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/String;
arraylength
ifne 4
3: getstatic com.oracle.truffle.js.runtime.objects.JSShapeData.EMPTY_PROPERTY_ARRAY:[Lcom/oracle/truffle/api/object/Property;
areturn
4: StackMap locals: com.oracle.truffle.js.runtime.objects.JSShapeData
StackMap stack:
aload 1
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getPropertiesArray:(Lcom/oracle/truffle/js/runtime/objects/JSShapeData;Lcom/oracle/truffle/api/object/Shape;)[Lcom/oracle/truffle/api/object/Property;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 shape Lcom/oracle/truffle/api/object/Shape;
2 5 1 shapeData Lcom/oracle/truffle/js/runtime/objects/JSShapeData;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
shape
static com.oracle.truffle.js.runtime.util.UnmodifiableArrayList<com.oracle.truffle.api.object.Property> getPropertiesIfHasEnumerablePropertyNames(com.oracle.truffle.api.object.Shape);
descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.object.Shape.getPropertyCount:()I
ifne 1
getstatic com.oracle.truffle.js.runtime.objects.JSShapeData.EMPTY_PROPERTY_ARRAY:[Lcom/oracle/truffle/api/object/Property;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getPropertiesArrayIfHasEnumerablePropertyNames:(Lcom/oracle/truffle/api/object/Shape;)[Lcom/oracle/truffle/api/object/Property;
StackMap locals:
StackMap stack: com.oracle.truffle.api.object.Property[]
2: invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.asUnmodifiableList:([Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 shape Lcom/oracle/truffle/api/object/Shape;
Signature: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList<Lcom/oracle/truffle/api/object/Property;>;
MethodParameters:
Name Flags
shape
static <T> com.oracle.truffle.js.runtime.util.UnmodifiablePropertyKeyList<T> getPropertyKeyList(com.oracle.truffle.api.object.Shape, boolean, boolean);
descriptor: (Lcom/oracle/truffle/api/object/Shape;ZZ)Lcom/oracle/truffle/js/runtime/util/UnmodifiablePropertyKeyList;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
invokevirtual com.oracle.truffle.api.object.Shape.getPropertyCount:()I
ifne 6
2: getstatic com.oracle.truffle.js.runtime.objects.JSShapeData.EMPTY_PROPERTY_ARRAY:[Lcom/oracle/truffle/api/object/Property;
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 16
end local 5 end local 4 end local 3 6: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getShapeData:(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/objects/JSShapeData;
astore 6
start local 6 7: aload 6
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getPropertiesArray:(Lcom/oracle/truffle/js/runtime/objects/JSShapeData;Lcom/oracle/truffle/api/object/Shape;)[Lcom/oracle/truffle/api/object/Property;
astore 3
start local 3 8: iconst_0
istore 4
start local 4 9: aload 3
arraylength
istore 5
start local 5 10: iload 1
ifeq 11
iload 2
ifne 16
11: StackMap locals: com.oracle.truffle.api.object.Shape int int com.oracle.truffle.api.object.Property[] int int com.oracle.truffle.js.runtime.objects.JSShapeData
StackMap stack:
aload 6
aload 3
invokestatic com.oracle.truffle.js.runtime.objects.JSShapeData.getSymbolsStart:(Lcom/oracle/truffle/js/runtime/objects/JSShapeData;[Lcom/oracle/truffle/api/object/Property;)I
istore 7
start local 7 12: iload 1
ifne 14
13: iload 7
istore 4
14: StackMap locals: int
StackMap stack:
iload 2
ifne 16
15: iload 7
istore 5
end local 7 end local 6 16: StackMap locals:
StackMap stack:
aload 3
iload 4
iload 5
invokestatic com.oracle.truffle.js.runtime.util.UnmodifiablePropertyKeyList.create:([Lcom/oracle/truffle/api/object/Property;II)Lcom/oracle/truffle/js/runtime/util/UnmodifiablePropertyKeyList;
areturn
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 17 0 shape Lcom/oracle/truffle/api/object/Shape;
0 17 1 strings Z
0 17 2 symbols Z
3 6 3 propertyArray [Lcom/oracle/truffle/api/object/Property;
8 17 3 propertyArray [Lcom/oracle/truffle/api/object/Property;
4 6 4 start I
9 17 4 start I
5 6 5 end I
10 17 5 end I
7 16 6 shapeData Lcom/oracle/truffle/js/runtime/objects/JSShapeData;
12 16 7 symbolsStart I
Signature: <T:Ljava/lang/Object;>(Lcom/oracle/truffle/api/object/Shape;ZZ)Lcom/oracle/truffle/js/runtime/util/UnmodifiablePropertyKeyList<TT;>;
MethodParameters:
Name Flags
shape
strings
symbols
private static <T> com.oracle.truffle.js.runtime.util.UnmodifiableArrayList<T> asUnmodifiableList(T[]);
descriptor: ([Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.runtime.util.UnmodifiableArrayList
dup
aload 0
invokespecial com.oracle.truffle.js.runtime.util.UnmodifiableArrayList.<init>:([Ljava/lang/Object;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 array [Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>([TT;)Lcom/oracle/truffle/js/runtime/util/UnmodifiableArrayList<TT;>;
MethodParameters:
Name Flags
array
private static void lambda$0(java.util.List, com.oracle.truffle.api.object.Property);
descriptor: (Ljava/util/List;Lcom/oracle/truffle/api/object/Property;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isEnumerable:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 2
aload 1
invokevirtual com.oracle.truffle.api.object.Property.getKey:()Ljava/lang/Object;
instanceof java.lang.String
ifeq 2
1: aload 0
aload 1
invokevirtual com.oracle.truffle.api.object.Property.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: StackMap locals:
StackMap stack:
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 property Lcom/oracle/truffle/api/object/Property;
private static int lambda$1(com.oracle.truffle.api.object.Property, com.oracle.truffle.api.object.Property);
descriptor: (Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/api/object/Property;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.api.object.Property.getKey:()Ljava/lang/Object;
aload 1
invokevirtual com.oracle.truffle.api.object.Property.getKey:()Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.comparePropertyKeys:(Ljava/lang/Object;Ljava/lang/Object;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o1 Lcom/oracle/truffle/api/object/Property;
0 1 1 o2 Lcom/oracle/truffle/api/object/Property;
}
SourceFile: "JSShapeData.java"
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles