public abstract class jdk.nashorn.internal.codegen.FieldObjectCreator<T> extends jdk.nashorn.internal.codegen.ObjectCreator<T>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: jdk.nashorn.internal.codegen.FieldObjectCreator
super_class: jdk.nashorn.internal.codegen.ObjectCreator
{
private java.lang.String fieldObjectClassName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.Class<? extends jdk.nashorn.internal.runtime.ScriptObject> fieldObjectClass;
descriptor: Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/Class<+Ljdk/nashorn/internal/runtime/ScriptObject;>;
private int fieldCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int paddedFieldCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int paramCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final int callSiteFlags;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean evalCode;
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 Ljdk/nashorn/internal/codegen/FieldObjectCreator;
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 jdk.nashorn.internal.codegen.FieldObjectCreator.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.nashorn.internal.codegen.CodeGenerator, java.util.List<jdk.nashorn.internal.codegen.MapTuple<T>>);
descriptor: (Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/util/List;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
iconst_0
invokespecial jdk.nashorn.internal.codegen.FieldObjectCreator.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/util/List;ZZ)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/FieldObjectCreator<TT;>;
0 2 1 codegen Ljdk/nashorn/internal/codegen/CodeGenerator;
0 2 2 tuples Ljava/util/List<Ljdk/nashorn/internal/codegen/MapTuple<TT;>;>;
Signature: (Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/util/List<Ljdk/nashorn/internal/codegen/MapTuple<TT;>;>;)V
MethodParameters:
Name Flags
codegen final
tuples final
void <init>(jdk.nashorn.internal.codegen.CodeGenerator, java.util.List<jdk.nashorn.internal.codegen.MapTuple<T>>, boolean, );
descriptor: (Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/util/List;ZZ)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
iload 3
iload 4
invokespecial jdk.nashorn.internal.codegen.ObjectCreator.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/util/List;ZZ)V
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCallSiteFlags:()I
putfield jdk.nashorn.internal.codegen.FieldObjectCreator.callSiteFlags:I
2: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isEvalCode:()Z
putfield jdk.nashorn.internal.codegen.FieldObjectCreator.evalCode:Z
3: aload 0
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.countFields:()V
4: aload 0
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.findClass:()V
5: 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 Ljdk/nashorn/internal/codegen/FieldObjectCreator<TT;>;
0 6 1 codegen Ljdk/nashorn/internal/codegen/CodeGenerator;
0 6 2 tuples Ljava/util/List<Ljdk/nashorn/internal/codegen/MapTuple<TT;>;>;
0 6 3 isScope Z
0 6 4 hasArguments Z
Signature: (Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/util/List<Ljdk/nashorn/internal/codegen/MapTuple<TT;>;>;ZZ)V
MethodParameters:
Name Flags
codegen final
tuples final
isScope final
hasArguments final
public void createObject(jdk.nashorn.internal.codegen.MethodEmitter);
descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.makeMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
pop
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.getClassName:()Ljava/lang/String;
astore 2
start local 2 2: getstatic jdk.nashorn.internal.codegen.FieldObjectCreator.$assertionsDisabled:Z
ifne 3
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.fieldObjectClass:Ljava/lang/Class;
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.fieldObjectClass:Ljava/lang/Class;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._new:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
4: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.loadMap:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: aload 0
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.isScope:()Z
ifeq 13
6: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.loadScope:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
7: aload 0
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.hasArguments:()Z
ifeq 11
8: aload 1
getstatic jdk.nashorn.internal.codegen.CompilerConstants.ARGUMENTS:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
9: aload 1
aload 2
iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Ljdk/nashorn/internal/runtime/PropertyMap;
aastore
dup
iconst_1
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
aastore
dup
iconst_2
getstatic jdk.nashorn.internal.codegen.CompilerConstants.ARGUMENTS:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.type:()Ljava/lang/Class;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.constructorNoLookup:(Ljava/lang/String;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
10: goto 14
11: StackMap locals:
StackMap stack:
aload 1
aload 2
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljdk/nashorn/internal/runtime/PropertyMap;
aastore
dup
iconst_1
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.constructorNoLookup:(Ljava/lang/String;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
12: goto 14
13: StackMap locals:
StackMap stack:
aload 1
aload 2
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljdk/nashorn/internal/runtime/PropertyMap;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.constructorNoLookup:(Ljava/lang/String;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/nashorn/internal/codegen/FieldObjectCreator<TT;>;
0 15 1 method Ljdk/nashorn/internal/codegen/MethodEmitter;
2 15 2 className Ljava/lang/String;
MethodParameters:
Name Flags
method final
void createForInIterationScope(jdk.nashorn.internal.codegen.MethodEmitter);
descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.codegen.FieldObjectCreator.$assertionsDisabled:Z
ifne 1
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.fieldObjectClass:Ljava/lang/Class;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.FieldObjectCreator.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.isScope:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.FieldObjectCreator.$assertionsDisabled:Z
ifne 3
aload 0
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.getClassName:()Ljava/lang/String;
astore 2
start local 2 4: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.fieldObjectClass:Ljava/lang/Class;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._new:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.loadMap:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
6: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.loadScope:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
7: aload 1
getstatic jdk.nashorn.internal.runtime.ScriptObject.GET_PROTO:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
8: aload 1
aload 2
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljdk/nashorn/internal/runtime/PropertyMap;
aastore
dup
iconst_1
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.constructorNoLookup:(Ljava/lang/String;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/nashorn/internal/codegen/FieldObjectCreator<TT;>;
0 10 1 method Ljdk/nashorn/internal/codegen/MethodEmitter;
4 10 2 className Ljava/lang/String;
MethodParameters:
Name Flags
method final
public void populateRange(jdk.nashorn.internal.codegen.MethodEmitter, jdk.nashorn.internal.codegen.types.Type, int, int, int);
descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/codegen/types/Type;III)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
aload 2
iload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: iload 4
istore 6
start local 6 2: goto 13
3: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.tuples:Ljava/util/List;
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.MapTuple
astore 7
start local 7 4: aload 7
getfield jdk.nashorn.internal.codegen.MapTuple.symbol:Ljdk/nashorn/internal/ir/Symbol;
ifnull 12
aload 7
getfield jdk.nashorn.internal.codegen.MapTuple.value:Ljava/lang/Object;
ifnull 12
5: aload 7
getfield jdk.nashorn.internal.codegen.MapTuple.key:Ljava/lang/String;
invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/String;)I
istore 8
start local 8 6: aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
7: iload 8
invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
ifne 10
8: aload 0
aload 1
aload 7
getfield jdk.nashorn.internal.codegen.MapTuple.key:Ljava/lang/String;
aload 7
getfield jdk.nashorn.internal.codegen.MapTuple.symbol:Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.ir.Symbol.getFieldIndex:()I
aload 7
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.putField:(Ljdk/nashorn/internal/codegen/MethodEmitter;Ljava/lang/String;ILjdk/nashorn/internal/codegen/MapTuple;)V
9: goto 11
10: StackMap locals: jdk.nashorn.internal.codegen.MapTuple int
StackMap stack:
aload 0
aload 1
iload 8
invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.toLongIndex:(I)J
aload 7
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.putSlot:(Ljdk/nashorn/internal/codegen/MethodEmitter;JLjdk/nashorn/internal/codegen/MapTuple;)V
11: StackMap locals:
StackMap stack:
aload 1
aload 7
getfield jdk.nashorn.internal.codegen.MapTuple.key:Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invalidateSpecialName:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
end local 8 end local 7 12: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
13: iload 6
iload 5
if_icmplt 3
end local 6 14: 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 15 0 this Ljdk/nashorn/internal/codegen/FieldObjectCreator<TT;>;
0 15 1 method Ljdk/nashorn/internal/codegen/MethodEmitter;
0 15 2 objectType Ljdk/nashorn/internal/codegen/types/Type;
0 15 3 objectSlot I
0 15 4 start I
0 15 5 end I
2 14 6 i I
4 12 7 tuple Ljdk/nashorn/internal/codegen/MapTuple<TT;>;
6 12 8 index I
MethodParameters:
Name Flags
method final
objectType final
objectSlot final
start final
end final
protected jdk.nashorn.internal.runtime.PropertyMap makeMap();
descriptor: ()Ljdk/nashorn/internal/runtime/PropertyMap;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=1, args_size=1
start local 0 0: getstatic jdk.nashorn.internal.codegen.FieldObjectCreator.$assertionsDisabled:Z
ifne 1
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.propertyMap:Ljdk/nashorn/internal/runtime/PropertyMap;
ifnull 1
new java.lang.AssertionError
dup
ldc "property map already initialized"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.fieldObjectClass:Ljava/lang/Class;
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.newMapCreator:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MapCreator;
aload 0
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.hasArguments:()Z
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.codegen:Ljdk/nashorn/internal/codegen/CodeGenerator;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.useDualFields:()Z
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.fieldCount:I
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.paddedFieldCount:I
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.evalCode:Z
invokevirtual jdk.nashorn.internal.codegen.MapCreator.makeFieldMap:(ZZIIZ)Ljdk/nashorn/internal/runtime/PropertyMap;
putfield jdk.nashorn.internal.codegen.FieldObjectCreator.propertyMap:Ljdk/nashorn/internal/runtime/PropertyMap;
2: aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.propertyMap:Ljdk/nashorn/internal/runtime/PropertyMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/FieldObjectCreator<TT;>;
private void putField(jdk.nashorn.internal.codegen.MethodEmitter, java.lang.String, int, jdk.nashorn.internal.codegen.MapTuple<T>);
descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;Ljava/lang/String;ILjdk/nashorn/internal/codegen/MapTuple;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.codegen:Ljdk/nashorn/internal/codegen/CodeGenerator;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.useDualFields:()Z
ifeq 1
aload 4
invokevirtual jdk.nashorn.internal.codegen.MapTuple.isPrimitive:()Z
ifeq 1
getstatic jdk.nashorn.internal.codegen.ObjectClassGenerator.PRIMITIVE_FIELD_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
goto 2
StackMap locals:
StackMap stack:
1: getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.types.Type
2: astore 5
start local 5 3: aload 0
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.getClassName:()Ljava/lang/String;
astore 6
start local 6 4: iload 3
aload 5
invokestatic jdk.nashorn.internal.codegen.ObjectClassGenerator.getFieldName:(ILjdk/nashorn/internal/codegen/types/Type;)Ljava/lang/String;
astore 7
start local 7 5: aload 5
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.typeDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
astore 8
start local 8 6: getstatic jdk.nashorn.internal.codegen.FieldObjectCreator.$assertionsDisabled:Z
ifne 7
aload 7
iload 3
getstatic jdk.nashorn.internal.codegen.ObjectClassGenerator.PRIMITIVE_FIELD_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.ObjectClassGenerator.getFieldName:(ILjdk/nashorn/internal/codegen/types/Type;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 7
aload 5
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifne 7
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " object keys must store to L*-fields"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals: jdk.nashorn.internal.codegen.FieldObjectCreator jdk.nashorn.internal.codegen.MethodEmitter java.lang.String int jdk.nashorn.internal.codegen.MapTuple jdk.nashorn.internal.codegen.types.Type java.lang.String java.lang.String java.lang.String
StackMap stack:
getstatic jdk.nashorn.internal.codegen.FieldObjectCreator.$assertionsDisabled:Z
ifne 8
aload 7
iload 3
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.ObjectClassGenerator.getFieldName:(ILjdk/nashorn/internal/codegen/types/Type;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
aload 5
invokevirtual jdk.nashorn.internal.codegen.types.Type.isPrimitive:()Z
ifne 8
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " primitive keys must store to J*-fields"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
iconst_1
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.loadTuple:(Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/codegen/MapTuple;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
9: aload 1
aload 6
aload 7
aload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.putField:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
10: return
end local 8 end local 7 end local 6 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 11 0 this Ljdk/nashorn/internal/codegen/FieldObjectCreator<TT;>;
0 11 1 method Ljdk/nashorn/internal/codegen/MethodEmitter;
0 11 2 key Ljava/lang/String;
0 11 3 fieldIndex I
0 11 4 tuple Ljdk/nashorn/internal/codegen/MapTuple<TT;>;
3 11 5 fieldType Ljdk/nashorn/internal/codegen/types/Type;
4 11 6 fieldClass Ljava/lang/String;
5 11 7 fieldName Ljava/lang/String;
6 11 8 fieldDesc Ljava/lang/String;
Signature: (Ljdk/nashorn/internal/codegen/MethodEmitter;Ljava/lang/String;ILjdk/nashorn/internal/codegen/MapTuple<TT;>;)V
MethodParameters:
Name Flags
method final
key final
fieldIndex final
tuple final
private void putSlot(jdk.nashorn.internal.codegen.MethodEmitter, long, jdk.nashorn.internal.codegen.MapTuple<T>);
descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;JLjdk/nashorn/internal/codegen/MapTuple;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
aload 1
lload 2
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.loadIndex:(Ljdk/nashorn/internal/codegen/MethodEmitter;J)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 0
aload 1
aload 4
iconst_0
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.loadTuple:(Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/codegen/MapTuple;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.callSiteFlags:I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicSetIndex:(I)V
3: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/FieldObjectCreator<TT;>;
0 4 1 method Ljdk/nashorn/internal/codegen/MethodEmitter;
0 4 2 index J
0 4 4 tuple Ljdk/nashorn/internal/codegen/MapTuple<TT;>;
Signature: (Ljdk/nashorn/internal/codegen/MethodEmitter;JLjdk/nashorn/internal/codegen/MapTuple<TT;>;)V
MethodParameters:
Name Flags
method final
index final
tuple final
private void findClass();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.isScope:()Z
ifeq 2
1: aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.fieldCount:I
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.paramCount:I
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.codegen:Ljdk/nashorn/internal/codegen/CodeGenerator;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.useDualFields:()Z
invokestatic jdk.nashorn.internal.codegen.ObjectClassGenerator.getClassName:(IIZ)Ljava/lang/String;
goto 3
2: StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.FieldObjectCreator
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.paddedFieldCount:I
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.codegen:Ljdk/nashorn/internal/codegen/CodeGenerator;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.useDualFields:()Z
invokestatic jdk.nashorn.internal.codegen.ObjectClassGenerator.getClassName:(IZ)Ljava/lang/String;
3: StackMap locals: jdk.nashorn.internal.codegen.FieldObjectCreator
StackMap stack: jdk.nashorn.internal.codegen.FieldObjectCreator java.lang.String
putfield jdk.nashorn.internal.codegen.FieldObjectCreator.fieldObjectClassName:Ljava/lang/String;
4: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.fieldObjectClassName:Ljava/lang/String;
invokestatic jdk.nashorn.internal.codegen.Compiler.binaryName:(Ljava/lang/String;)Ljava/lang/String;
invokestatic jdk.nashorn.internal.runtime.Context.forStructureClass:(Ljava/lang/String;)Ljava/lang/Class;
putfield jdk.nashorn.internal.codegen.FieldObjectCreator.fieldObjectClass:Ljava/lang/Class;
5: goto 8
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
6: pop
7: new java.lang.AssertionError
dup
ldc "Nashorn has encountered an internal error. Structure can not be created."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/codegen/FieldObjectCreator<TT;>;
Exception table:
from to target type
4 5 6 Class java.lang.ClassNotFoundException
protected java.lang.Class<? extends jdk.nashorn.internal.runtime.ScriptObject> getAllocatorClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.fieldObjectClass:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/FieldObjectCreator<TT;>;
Signature: ()Ljava/lang/Class<+Ljdk/nashorn/internal/runtime/ScriptObject;>;
java.lang.String getClassName();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.fieldObjectClassName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/FieldObjectCreator<TT;>;
private void countFields();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.tuples:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 9
StackMap locals: jdk.nashorn.internal.codegen.FieldObjectCreator top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.MapTuple
astore 1
start local 1 2: aload 1
getfield jdk.nashorn.internal.codegen.MapTuple.symbol:Ljdk/nashorn/internal/ir/Symbol;
astore 3
start local 3 3: aload 3
ifnull 9
4: aload 0
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.hasArguments:()Z
ifeq 7
aload 3
invokevirtual jdk.nashorn.internal.ir.Symbol.isParam:()Z
ifeq 7
5: aload 3
aload 0
dup
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.paramCount:I
dup_x1
iconst_1
iadd
putfield jdk.nashorn.internal.codegen.FieldObjectCreator.paramCount:I
invokevirtual jdk.nashorn.internal.ir.Symbol.setFieldIndex:(I)Ljdk/nashorn/internal/ir/Symbol;
pop
6: goto 9
StackMap locals: jdk.nashorn.internal.codegen.FieldObjectCreator jdk.nashorn.internal.codegen.MapTuple java.util.Iterator jdk.nashorn.internal.ir.Symbol
StackMap stack:
7: aload 1
getfield jdk.nashorn.internal.codegen.MapTuple.key:Ljava/lang/String;
invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/String;)I
invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
ifne 9
8: aload 3
aload 0
dup
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.fieldCount:I
dup_x1
iconst_1
iadd
putfield jdk.nashorn.internal.codegen.FieldObjectCreator.fieldCount:I
invokevirtual jdk.nashorn.internal.ir.Symbol.setFieldIndex:(I)Ljdk/nashorn/internal/ir/Symbol;
pop
end local 3 end local 1 9: StackMap locals: jdk.nashorn.internal.codegen.FieldObjectCreator top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
10: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.FieldObjectCreator.fieldCount:I
invokestatic jdk.nashorn.internal.codegen.ObjectClassGenerator.getPaddedFieldCount:(I)I
putfield jdk.nashorn.internal.codegen.FieldObjectCreator.paddedFieldCount:I
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/nashorn/internal/codegen/FieldObjectCreator<TT;>;
2 9 1 tuple Ljdk/nashorn/internal/codegen/MapTuple<TT;>;
3 9 3 symbol Ljdk/nashorn/internal/ir/Symbol;
}
Signature: <T:Ljava/lang/Object;>Ljdk/nashorn/internal/codegen/ObjectCreator<TT;>;
SourceFile: "FieldObjectCreator.java"
InnerClasses:
public abstract Call = jdk.nashorn.internal.codegen.CompilerConstants$Call of jdk.nashorn.internal.codegen.CompilerConstants