public abstract class jdk.nashorn.internal.codegen.ObjectCreator<T> implements jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: jdk.nashorn.internal.codegen.ObjectCreator
super_class: java.lang.Object
{
final java.util.List<jdk.nashorn.internal.codegen.MapTuple<T>> tuples;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Ljdk/nashorn/internal/codegen/MapTuple<TT;>;>;
final jdk.nashorn.internal.codegen.CodeGenerator codegen;
descriptor: Ljdk/nashorn/internal/codegen/CodeGenerator;
flags: (0x0010) ACC_FINAL
protected jdk.nashorn.internal.runtime.PropertyMap propertyMap;
descriptor: Ljdk/nashorn/internal/runtime/PropertyMap;
flags: (0x0004) ACC_PROTECTED
private final boolean isScope;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean hasArguments;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_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=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 java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.nashorn.internal.codegen.ObjectCreator.codegen:Ljdk/nashorn/internal/codegen/CodeGenerator;
2: aload 0
aload 2
putfield jdk.nashorn.internal.codegen.ObjectCreator.tuples:Ljava/util/List;
3: aload 0
iload 3
putfield jdk.nashorn.internal.codegen.ObjectCreator.isScope:Z
4: aload 0
iload 4
putfield jdk.nashorn.internal.codegen.ObjectCreator.hasArguments:Z
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/ObjectCreator<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 makeObject(jdk.nashorn.internal.codegen.MethodEmitter);
descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.ObjectCreator.createObject:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
1: aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getUsedSlotsWithLiveTemporaries:()I
istore 2
start local 2 2: aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 3
start local 3 3: aload 1
aload 3
iload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeTemp:(Ljdk/nashorn/internal/codegen/types/Type;I)V
4: aload 0
aload 1
aload 3
iload 2
iconst_0
aload 0
getfield jdk.nashorn.internal.codegen.ObjectCreator.tuples:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokevirtual jdk.nashorn.internal.codegen.ObjectCreator.populateRange:(Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/codegen/types/Type;III)V
5: return
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/ObjectCreator<TT;>;
0 6 1 method Ljdk/nashorn/internal/codegen/MethodEmitter;
2 6 2 objectSlot I
3 6 3 objectType Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
method final
protected abstract void createObject(jdk.nashorn.internal.codegen.MethodEmitter);
descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
method final
protected abstract jdk.nashorn.internal.runtime.PropertyMap makeMap();
descriptor: ()Ljdk/nashorn/internal/runtime/PropertyMap;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected jdk.nashorn.internal.codegen.MapCreator<?> newMapCreator(java.lang.Class<? extends jdk.nashorn.internal.runtime.ScriptObject>);
descriptor: (Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MapCreator;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.codegen.MapCreator
dup
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.ObjectCreator.tuples:Ljava/util/List;
invokespecial jdk.nashorn.internal.codegen.MapCreator.<init>:(Ljava/lang/Class;Ljava/util/List;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/ObjectCreator<TT;>;
0 1 1 clazz Ljava/lang/Class<+Ljdk/nashorn/internal/runtime/ScriptObject;>;
Signature: (Ljava/lang/Class<+Ljdk/nashorn/internal/runtime/ScriptObject;>;)Ljdk/nashorn/internal/codegen/MapCreator<*>;
MethodParameters:
Name Flags
clazz final
protected void loadScope(jdk.nashorn.internal.codegen.MethodEmitter);
descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/ObjectCreator<TT;>;
0 2 1 method Ljdk/nashorn/internal/codegen/MethodEmitter;
MethodParameters:
Name Flags
method final
protected jdk.nashorn.internal.codegen.MethodEmitter loadMap(jdk.nashorn.internal.codegen.MethodEmitter);
descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.ObjectCreator.codegen:Ljdk/nashorn/internal/codegen/CodeGenerator;
aload 0
getfield jdk.nashorn.internal.codegen.ObjectCreator.propertyMap:Ljdk/nashorn/internal/runtime/PropertyMap;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstant:(Ljava/lang/Object;)V
1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/ObjectCreator<TT;>;
0 2 1 method Ljdk/nashorn/internal/codegen/MethodEmitter;
MethodParameters:
Name Flags
method final
jdk.nashorn.internal.runtime.PropertyMap getMap();
descriptor: ()Ljdk/nashorn/internal/runtime/PropertyMap;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.ObjectCreator.propertyMap:Ljdk/nashorn/internal/runtime/PropertyMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/ObjectCreator<TT;>;
protected boolean isScope();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.ObjectCreator.isScope:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/ObjectCreator<TT;>;
protected boolean hasArguments();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.ObjectCreator.hasArguments:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/ObjectCreator<TT;>;
protected abstract java.lang.Class<? extends jdk.nashorn.internal.runtime.ScriptObject> getAllocatorClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: ()Ljava/lang/Class<+Ljdk/nashorn/internal/runtime/ScriptObject;>;
protected abstract void loadValue(T, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljava/lang/Object;Ljdk/nashorn/internal/codegen/types/Type;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (TT;Ljdk/nashorn/internal/codegen/types/Type;)V
MethodParameters:
Name Flags
value
type
jdk.nashorn.internal.codegen.MethodEmitter loadTuple(jdk.nashorn.internal.codegen.MethodEmitter, jdk.nashorn.internal.codegen.MapTuple<T>, boolean);
descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/codegen/MapTuple;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
getfield jdk.nashorn.internal.codegen.MapTuple.value:Ljava/lang/Object;
aload 2
getfield jdk.nashorn.internal.codegen.MapTuple.type:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.ObjectCreator.loadValue:(Ljava/lang/Object;Ljdk/nashorn/internal/codegen/types/Type;)V
1: aload 0
getfield jdk.nashorn.internal.codegen.ObjectCreator.codegen:Ljdk/nashorn/internal/codegen/CodeGenerator;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.useDualFields:()Z
ifeq 2
aload 2
invokevirtual jdk.nashorn.internal.codegen.MapTuple.isPrimitive:()Z
ifne 4
2: StackMap locals:
StackMap stack:
aload 1
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
3: goto 6
StackMap locals:
StackMap stack:
4: iload 3
ifeq 6
5: aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pack:()V
6: StackMap locals:
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/codegen/ObjectCreator<TT;>;
0 7 1 method Ljdk/nashorn/internal/codegen/MethodEmitter;
0 7 2 tuple Ljdk/nashorn/internal/codegen/MapTuple<TT;>;
0 7 3 pack Z
Signature: (Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/codegen/MapTuple<TT;>;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
MethodParameters:
Name Flags
method final
tuple final
pack final
jdk.nashorn.internal.codegen.MethodEmitter loadIndex(jdk.nashorn.internal.codegen.MethodEmitter, long);
descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;J)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: lload 2
invokestatic jdk.nashorn.internal.runtime.JSType.isRepresentableAsInt:(J)Z
ifeq 1
aload 1
lload 2
l2i
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
lload 2
l2d
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(D)Ljdk/nashorn/internal/codegen/MethodEmitter;
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter
2: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/ObjectCreator<TT;>;
0 3 1 method Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 2 index J
MethodParameters:
Name Flags
method final
index final
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljdk/nashorn/internal/codegen/CodeGenerator$SplitLiteralCreator;
SourceFile: "ObjectCreator.java"
InnerClasses:
abstract SplitLiteralCreator = jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator of jdk.nashorn.internal.codegen.CodeGenerator