public class jdk.nashorn.internal.codegen.MethodEmitter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.nashorn.internal.codegen.MethodEmitter
super_class: java.lang.Object
{
private final jdk.internal.org.objectweb.asm.MethodVisitor method;
descriptor: Ljdk/internal/org/objectweb/asm/MethodVisitor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.nashorn.internal.codegen.ClassEmitter classEmitter;
descriptor: Ljdk/nashorn/internal/codegen/ClassEmitter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected jdk.nashorn.internal.ir.FunctionNode functionNode;
descriptor: Ljdk/nashorn/internal/ir/FunctionNode;
flags: (0x0004) ACC_PROTECTED
private jdk.nashorn.internal.codegen.Label$Stack stack;
descriptor: Ljdk/nashorn/internal/codegen/Label$Stack;
flags: (0x0002) ACC_PRIVATE
private boolean preventUndefinedLoad;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.util.Map<jdk.nashorn.internal.ir.Symbol, jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef> localVariableDefs;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/MethodEmitter$LocalVariableDef;>;
private final jdk.nashorn.internal.runtime.Context context;
descriptor: Ljdk/nashorn/internal/runtime/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final int LARGE_STRING_THRESHOLD;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 32768
private final jdk.nashorn.internal.runtime.logging.DebugLogger log;
descriptor: Ljdk/nashorn/internal/runtime/logging/DebugLogger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean debug;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final int DEBUG_TRACE_LINE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.org.objectweb.asm.Handle LINKERBOOTSTRAP;
descriptor: Ljdk/internal/org/objectweb/asm/Handle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.org.objectweb.asm.Handle POPULATE_ARRAY_BOOTSTRAP;
descriptor: Ljdk/internal/org/objectweb/asm/Handle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final jdk.nashorn.internal.codegen.CompilerConstants$FieldAccess ERR_STREAM;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$FieldAccess;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.nashorn.internal.codegen.CompilerConstants$Call PRINT;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.nashorn.internal.codegen.CompilerConstants$Call PRINTLN;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.nashorn.internal.codegen.CompilerConstants$Call PRINT_STACKTRACE;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static int linePrefix;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
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=7, locals=2, args_size=0
0: ldc Ljdk/nashorn/internal/codegen/MethodEmitter;
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.MethodEmitter.$assertionsDisabled:Z
3: ldc "nashorn.codegen.debug.trace"
ldc "-1"
invokestatic jdk.nashorn.internal.runtime.options.Options.getStringProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 4: iconst_m1
istore 1
start local 1 5: aload 0
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 1
6: goto 8
StackMap locals: java.lang.String int
StackMap stack: java.lang.NumberFormatException
7: pop
8: StackMap locals:
StackMap stack:
iload 1
putstatic jdk.nashorn.internal.codegen.MethodEmitter.DEBUG_TRACE_LINE:I
end local 1 end local 0 9: new jdk.internal.org.objectweb.asm.Handle
dup
bipush 6
getstatic jdk.nashorn.internal.runtime.linker.Bootstrap.BOOTSTRAP:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.className:()Ljava/lang/String;
getstatic jdk.nashorn.internal.runtime.linker.Bootstrap.BOOTSTRAP:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.name:()Ljava/lang/String;
getstatic jdk.nashorn.internal.runtime.linker.Bootstrap.BOOTSTRAP:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.descriptor:()Ljava/lang/String;
iconst_0
invokespecial jdk.internal.org.objectweb.asm.Handle.<init>:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
putstatic jdk.nashorn.internal.codegen.MethodEmitter.LINKERBOOTSTRAP:Ljdk/internal/org/objectweb/asm/Handle;
10: new jdk.internal.org.objectweb.asm.Handle
dup
bipush 6
getstatic jdk.nashorn.internal.runtime.RewriteException.BOOTSTRAP:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.className:()Ljava/lang/String;
getstatic jdk.nashorn.internal.runtime.RewriteException.BOOTSTRAP:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.name:()Ljava/lang/String;
getstatic jdk.nashorn.internal.runtime.RewriteException.BOOTSTRAP:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.descriptor:()Ljava/lang/String;
iconst_0
invokespecial jdk.internal.org.objectweb.asm.Handle.<init>:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
putstatic jdk.nashorn.internal.codegen.MethodEmitter.POPULATE_ARRAY_BOOTSTRAP:Ljdk/internal/org/objectweb/asm/Handle;
11: iconst_0
putstatic jdk.nashorn.internal.codegen.MethodEmitter.linePrefix:I
return
LocalVariableTable:
Start End Slot Name Signature
4 9 0 tl Ljava/lang/String;
5 9 1 line I
Exception table:
from to target type
5 6 7 Class java.lang.NumberFormatException
void <init>(jdk.nashorn.internal.codegen.ClassEmitter, jdk.internal.org.objectweb.asm.MethodVisitor);
descriptor: (Ljdk/nashorn/internal/codegen/ClassEmitter;Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokespecial jdk.nashorn.internal.codegen.MethodEmitter.<init>:(Ljdk/nashorn/internal/codegen/ClassEmitter;Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljdk/nashorn/internal/ir/FunctionNode;)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/MethodEmitter;
0 2 1 classEmitter Ljdk/nashorn/internal/codegen/ClassEmitter;
0 2 2 method Ljdk/internal/org/objectweb/asm/MethodVisitor;
MethodParameters:
Name Flags
classEmitter final
method final
void <init>(jdk.nashorn.internal.codegen.ClassEmitter, jdk.internal.org.objectweb.asm.MethodVisitor, jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/codegen/ClassEmitter;Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljdk/nashorn/internal/ir/FunctionNode;)V
flags: (0x0000)
Code:
stack=8, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
putfield jdk.nashorn.internal.codegen.MethodEmitter.localVariableDefs:Ljava/util/Map;
2: aload 0
ldc Ljava/lang/System;
ldc "err"
ldc Ljava/io/PrintStream;
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticField:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$FieldAccess;
putfield jdk.nashorn.internal.codegen.MethodEmitter.ERR_STREAM:Ljdk/nashorn/internal/codegen/CompilerConstants$FieldAccess;
3: aload 0
ldc Ljava/io/PrintStream;
ldc "print"
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.virtualCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putfield jdk.nashorn.internal.codegen.MethodEmitter.PRINT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
4: aload 0
ldc Ljava/io/PrintStream;
ldc "println"
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.virtualCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putfield jdk.nashorn.internal.codegen.MethodEmitter.PRINTLN:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
5: aload 0
ldc Ljava/lang/Throwable;
ldc "printStackTrace"
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.virtualCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putfield jdk.nashorn.internal.codegen.MethodEmitter.PRINT_STACKTRACE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
6: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.getContext:()Ljdk/nashorn/internal/runtime/Context;
putfield jdk.nashorn.internal.codegen.MethodEmitter.context:Ljdk/nashorn/internal/runtime/Context;
7: aload 0
aload 1
putfield jdk.nashorn.internal.codegen.MethodEmitter.classEmitter:Ljdk/nashorn/internal/codegen/ClassEmitter;
8: aload 0
aload 2
putfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
9: aload 0
aload 3
putfield jdk.nashorn.internal.codegen.MethodEmitter.functionNode:Ljdk/nashorn/internal/ir/FunctionNode;
10: aload 0
aconst_null
putfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
11: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.context:Ljdk/nashorn/internal/runtime/Context;
ldc Ljdk/nashorn/internal/codegen/CodeGenerator;
invokevirtual jdk.nashorn.internal.runtime.Context.getLogger:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
putfield jdk.nashorn.internal.codegen.MethodEmitter.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
12: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.isEnabled:()Z
putfield jdk.nashorn.internal.codegen.MethodEmitter.debug:Z
13: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 14 1 classEmitter Ljdk/nashorn/internal/codegen/ClassEmitter;
0 14 2 method Ljdk/internal/org/objectweb/asm/MethodVisitor;
0 14 3 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
MethodParameters:
Name Flags
classEmitter final
method final
functionNode final
public void begin();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.classEmitter:Ljdk/nashorn/internal/codegen/ClassEmitter;
aload 0
invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.beginMethod:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.newStack:()V
2: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
public void end();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
1: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
2: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.classEmitter:Ljdk/nashorn/internal/codegen/ClassEmitter;
aload 0
invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.endMethod:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
boolean isReachable();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
private void doesNotContinueSequentially();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
private void newStack();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new jdk.nashorn.internal.codegen.Label$Stack
dup
invokespecial jdk.nashorn.internal.codegen.Label$Stack.<init>:()V
putfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "methodEmitter: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.functionNode:Ljdk/nashorn/internal/ir/FunctionNode;
ifnonnull 1
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
goto 2
StackMap locals:
StackMap stack: java.lang.StringBuilder
1: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.functionNode:Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter
StackMap stack: java.lang.StringBuilder java.lang.Object
2: invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
invokestatic jdk.nashorn.internal.runtime.Debug.id:(Ljava/lang/Object;)Ljava/lang/String;
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 Ljdk/nashorn/internal/codegen/MethodEmitter;
void pushType(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
1: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
aload 1
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.push:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
private jdk.nashorn.internal.codegen.types.Type popType(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 2
start local 2 1: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 2
aload 2
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isEquivalentTo:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifne 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not compatible with "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 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/MethodEmitter;
0 3 1 expected Ljdk/nashorn/internal/codegen/types/Type;
1 3 2 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
expected final
private jdk.nashorn.internal.codegen.types.Type popType();
descriptor: ()Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.pop:()Ljdk/nashorn/internal/codegen/types/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
private jdk.nashorn.internal.codegen.types.NumericType popNumeric();
descriptor: ()Ljdk/nashorn/internal/codegen/types/NumericType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 1
start local 1 1: aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
ifeq 3
2: getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
areturn
3: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 4
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isNumeric:()Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.codegen.types.NumericType
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
1 5 1 type Ljdk/nashorn/internal/codegen/types/Type;
private jdk.nashorn.internal.codegen.types.BitwiseType popBitwise();
descriptor: ()Ljdk/nashorn/internal/codegen/types/BitwiseType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 1
start local 1 1: aload 1
getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 3
2: getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
areturn
3: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.codegen.types.BitwiseType
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
1 4 1 type Ljdk/nashorn/internal/codegen/types/Type;
private jdk.nashorn.internal.codegen.types.BitwiseType popInteger();
descriptor: ()Ljdk/nashorn/internal/codegen/types/BitwiseType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 1
start local 1 1: aload 1
getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 3
2: getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
areturn
3: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 4
aload 1
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
if_acmpeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.codegen.types.BitwiseType
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
1 5 1 type Ljdk/nashorn/internal/codegen/types/Type;
private jdk.nashorn.internal.codegen.types.ArrayType popArray();
descriptor: ()Ljdk/nashorn/internal/codegen/types/ArrayType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 1
start local 1 1: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isArray:()Z
ifne 2
new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.codegen.types.ArrayType
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
1 3 1 type Ljdk/nashorn/internal/codegen/types/Type;
final jdk.nashorn.internal.codegen.types.Type peekType(int);
descriptor: (I)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 1
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.peek:(I)Ljdk/nashorn/internal/codegen/types/Type;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 pos I
MethodParameters:
Name Flags
pos final
final jdk.nashorn.internal.codegen.types.Type peekType();
descriptor: ()Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.peek:()Ljdk/nashorn/internal/codegen/types/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter _new(java.lang.String, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "new"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 187
aload 1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
2: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
3: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 4 1 classDescriptor Ljava/lang/String;
0 4 2 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
classDescriptor final
type final
jdk.nashorn.internal.codegen.MethodEmitter _new(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.className:(Ljava/lang/Class;)Ljava/lang/String;
aload 1
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._new:(Ljava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljdk/nashorn/internal/codegen/MethodEmitter;
MethodParameters:
Name Flags
clazz final
jdk.nashorn.internal.codegen.MethodEmitter newInstance(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.constructorNoLookup:(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;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljdk/nashorn/internal/codegen/MethodEmitter;
MethodParameters:
Name Flags
clazz final
jdk.nashorn.internal.codegen.MethodEmitter dup(int);
descriptor: (I)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.dup:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)Ljdk/nashorn/internal/codegen/types/Type;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "dup"
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
3: iload 1
tableswitch { // 0 - 2
0: 4
1: 8
2: 19
default: 34
}
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getTopLocalLoad:()I
istore 2
start local 2 5: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
6: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 2
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
7: goto 36
end local 2 8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getTopLocalLoad:()I
istore 2
start local 2 9: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 3
start local 3 10: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getTopLocalLoad:()I
istore 4
start local 4 11: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 5
start local 5 12: aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
13: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 2
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
14: aload 0
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
15: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 4
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
16: aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
17: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 2
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
18: goto 36
end local 5 end local 4 end local 3 end local 2 19: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getTopLocalLoad:()I
istore 2
start local 2 20: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 3
start local 3 21: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getTopLocalLoad:()I
istore 4
start local 4 22: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 5
start local 5 23: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getTopLocalLoad:()I
istore 6
start local 6 24: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 7
start local 7 25: aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
26: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 2
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
27: aload 0
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
28: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 6
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
29: aload 0
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
30: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 4
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
31: aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
32: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 2
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
33: goto 36
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 34: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 35
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "illegal dup depth = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
35: StackMap locals:
StackMap stack:
aconst_null
areturn
36: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 37 1 depth I
5 8 2 l0 I
9 19 2 l0 I
10 19 3 p0 Ljdk/nashorn/internal/codegen/types/Type;
11 19 4 l1 I
12 19 5 p1 Ljdk/nashorn/internal/codegen/types/Type;
20 34 2 l0 I
21 34 3 p0 Ljdk/nashorn/internal/codegen/types/Type;
22 34 4 l1 I
23 34 5 p1 Ljdk/nashorn/internal/codegen/types/Type;
24 34 6 l2 I
25 34 7 p2 Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
depth final
jdk.nashorn.internal.codegen.MethodEmitter dup2();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
ldc "dup2"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isCategory2:()Z
ifeq 6
2: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getTopLocalLoad:()I
istore 1
start local 1 3: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
4: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 1
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
end local 1 5: goto 18
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getTopLocalLoad:()I
istore 1
start local 1 7: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 2
start local 2 8: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getTopLocalLoad:()I
istore 3
start local 3 9: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 4
start local 4 10: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
11: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 1
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
12: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
13: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 3
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
14: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
15: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 1
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
16: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
17: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 3
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
end local 4 end local 3 end local 2 end local 1 18: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 92
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
19: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
3 5 1 l0 I
7 18 1 l0 I
8 18 2 p0 Ljdk/nashorn/internal/codegen/types/Type;
9 18 3 l1 I
10 18 4 p1 Ljdk/nashorn/internal/codegen/types/Type;
jdk.nashorn.internal.codegen.MethodEmitter dup();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter pop();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "pop"
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.nashorn.internal.codegen.types.Type.pop:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)Ljdk/nashorn/internal/codegen/types/Type;
pop
2: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter pop2();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isCategory2:()Z
ifeq 3
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
pop
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.get2n:()Ljdk/nashorn/internal/codegen/types/NumericType;
pop
4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter swap();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
ldc "swap"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getTopLocalLoad:()I
istore 1
start local 1 2: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 2
start local 2 3: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getTopLocalLoad:()I
istore 3
start local 3 4: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 4
start local 4 5: aload 2
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 4
invokevirtual jdk.nashorn.internal.codegen.types.Type.swap:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
6: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
7: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 1
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
8: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
9: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 3
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
10: aload 0
areturn
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/MethodEmitter;
2 11 1 l0 I
3 11 2 p0 Ljdk/nashorn/internal/codegen/types/Type;
4 11 3 l1 I
5 11 4 p1 Ljdk/nashorn/internal/codegen/types/Type;
void pack();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 1
start local 1 1: aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isInteger:()Z
ifeq 4
2: aload 0
getstatic jdk.nashorn.internal.codegen.ObjectClassGenerator.PRIMITIVE_FIELD_TYPE: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 9
StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
4: aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isLong:()Z
ifne 9
5: aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isNumber:()Z
ifeq 8
6: aload 0
ldc "java/lang/Double"
ldc "doubleToRawLongBits"
ldc "(D)J"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
7: goto 9
8: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 9
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " cannot be packed!"
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
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
1 10 1 type Ljdk/nashorn/internal/codegen/types/Type;
void initializeMethodParameter(jdk.nashorn.internal.ir.Symbol, jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isBytecodeLocal:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.localVariableDefs:Ljava/util/Map;
aload 1
new jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef
dup
aload 3
invokevirtual jdk.nashorn.internal.codegen.Label.getLabel:()Ljdk/internal/org/objectweb/asm/Label;
aload 2
invokespecial jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef.<init>:(Ljdk/internal/org/objectweb/asm/Label;Ljdk/nashorn/internal/codegen/types/Type;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 symbol Ljdk/nashorn/internal/ir/Symbol;
0 3 2 type Ljdk/nashorn/internal/codegen/types/Type;
0 3 3 start Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
symbol final
type final
start final
jdk.nashorn.internal.codegen.MethodEmitter newStringBuilder();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Ljava/lang/StringBuilder;
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.constructorNoLookup:(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;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter stringBuilderAppend();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=8, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.STRING: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
1: aload 0
ldc Ljava/lang/StringBuilder;
ldc "append"
ldc Ljava/lang/StringBuilder;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.virtualCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[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;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter and();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "and"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.get2i:()Ljdk/nashorn/internal/codegen/types/BitwiseType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.nashorn.internal.codegen.types.BitwiseType.and:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter or();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "or"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.get2i:()Ljdk/nashorn/internal/codegen/types/BitwiseType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.nashorn.internal.codegen.types.BitwiseType.or:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter xor();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "xor"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.get2i:()Ljdk/nashorn/internal/codegen/types/BitwiseType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.nashorn.internal.codegen.types.BitwiseType.xor:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter shr();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "shr"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popInteger:()Ljdk/nashorn/internal/codegen/types/BitwiseType;
pop
2: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popBitwise:()Ljdk/nashorn/internal/codegen/types/BitwiseType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.nashorn.internal.codegen.types.BitwiseType.shr:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
3: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter shl();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "shl"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popInteger:()Ljdk/nashorn/internal/codegen/types/BitwiseType;
pop
2: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popBitwise:()Ljdk/nashorn/internal/codegen/types/BitwiseType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.nashorn.internal.codegen.types.BitwiseType.shl:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
3: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter sar();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "sar"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popInteger:()Ljdk/nashorn/internal/codegen/types/BitwiseType;
pop
2: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popBitwise:()Ljdk/nashorn/internal/codegen/types/BitwiseType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.nashorn.internal.codegen.types.BitwiseType.sar:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
3: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter neg(int);
descriptor: (I)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "neg"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popNumeric:()Ljdk/nashorn/internal/codegen/types/NumericType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
invokevirtual jdk.nashorn.internal.codegen.types.NumericType.neg:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 programPoint I
MethodParameters:
Name Flags
programPoint final
void _catch(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 1
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
ifnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.codegen.Label.onCatch:()V
2: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
3: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beginCatchBlock:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 5 1 recovery Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
recovery final
void _catch(java.util.Collection<jdk.nashorn.internal.codegen.Label>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 1
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
ifnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter java.util.Collection top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.Label
astore 2
start local 2 3: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beginCatchBlock:()V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 7 1 recoveries Ljava/util/Collection<Ljdk/nashorn/internal/codegen/Label;>;
3 4 2 l Ljdk/nashorn/internal/codegen/Label;
Signature: (Ljava/util/Collection<Ljdk/nashorn/internal/codegen/Label;>;)V
MethodParameters:
Name Flags
recoveries final
private void beginCatchBlock();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 2
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.newStack:()V
2: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Throwable;
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
private void _try(jdk.nashorn.internal.codegen.Label, jdk.nashorn.internal.codegen.Label, jdk.nashorn.internal.codegen.Label, java.lang.String, boolean);
descriptor: (Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 3
aload 1
invokevirtual jdk.nashorn.internal.codegen.Label.getStack:()Ljdk/nashorn/internal/codegen/Label$Stack;
iload 5
invokevirtual jdk.nashorn.internal.codegen.Label.joinFromTry:(Ljdk/nashorn/internal/codegen/Label$Stack;Z)V
1: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 1
invokevirtual jdk.nashorn.internal.codegen.Label.getLabel:()Ljdk/internal/org/objectweb/asm/Label;
aload 2
invokevirtual jdk.nashorn.internal.codegen.Label.getLabel:()Ljdk/internal/org/objectweb/asm/Label;
aload 3
invokevirtual jdk.nashorn.internal.codegen.Label.getLabel:()Ljdk/internal/org/objectweb/asm/Label;
aload 4
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTryCatchBlock:(Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljava/lang/String;)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 Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 entry Ljdk/nashorn/internal/codegen/Label;
0 3 2 exit Ljdk/nashorn/internal/codegen/Label;
0 3 3 recovery Ljdk/nashorn/internal/codegen/Label;
0 3 4 typeDescriptor Ljava/lang/String;
0 3 5 isOptimismHandler Z
MethodParameters:
Name Flags
entry final
exit final
recovery final
typeDescriptor final
isOptimismHandler final
void _try(jdk.nashorn.internal.codegen.Label, jdk.nashorn.internal.codegen.Label, jdk.nashorn.internal.codegen.Label, java.lang.Class<?>);
descriptor: (Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=7, 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
aload 3
aload 4
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.className:(Ljava/lang/Class;)Ljava/lang/String;
aload 4
ldc Ljdk/nashorn/internal/runtime/UnwarrantedOptimismException;
if_acmpne 1
iconst_1
goto 2
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label java.lang.Class
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label java.lang.String
1: iconst_0
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label java.lang.Class
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label java.lang.String int
2: invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._try:(Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljava/lang/String;Z)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 4 1 entry Ljdk/nashorn/internal/codegen/Label;
0 4 2 exit Ljdk/nashorn/internal/codegen/Label;
0 4 3 recovery Ljdk/nashorn/internal/codegen/Label;
0 4 4 clazz Ljava/lang/Class<*>;
Signature: (Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
entry final
exit final
recovery final
clazz final
void _try(jdk.nashorn.internal.codegen.Label, jdk.nashorn.internal.codegen.Label, jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
aconst_null
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._try:(Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljava/lang/String;Z)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 Ljdk/nashorn/internal/codegen/MethodEmitter;
0 2 1 entry Ljdk/nashorn/internal/codegen/Label;
0 2 2 exit Ljdk/nashorn/internal/codegen/Label;
0 2 3 recovery Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
entry final
exit final
recovery final
void markLabelAsOptimisticCatchHandler(jdk.nashorn.internal.codegen.Label, int);
descriptor: (Ljdk/nashorn/internal/codegen/Label;I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 2
invokevirtual jdk.nashorn.internal.codegen.Label.markAsOptimisticCatchHandler:(Ljdk/nashorn/internal/codegen/Label$Stack;I)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/MethodEmitter;
0 2 1 label Ljdk/nashorn/internal/codegen/Label;
0 2 2 liveLocalCount I
MethodParameters:
Name Flags
label final
liveLocalCount final
jdk.nashorn.internal.codegen.MethodEmitter loadConstants();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.classEmitter:Ljdk/nashorn/internal/codegen/ClassEmitter;
invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.getUnitClassName:()Ljava/lang/String;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.CONSTANTS:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.CONSTANTS:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.descriptor:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getStatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isArray:()Z
ifne 2
new java.lang.AssertionError
dup
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter loadUndefined(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "load undefined "
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.nashorn.internal.codegen.types.Type.loadUndefined:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
jdk.nashorn.internal.codegen.MethodEmitter loadForcedInitializer(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "load forced initializer "
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.nashorn.internal.codegen.types.Type.loadForcedInitializer:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
jdk.nashorn.internal.codegen.MethodEmitter loadEmpty(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "load empty "
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.nashorn.internal.codegen.types.Type.loadEmpty:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
jdk.nashorn.internal.codegen.MethodEmitter loadNull();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc "aconst_null"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aconst_null
invokevirtual jdk.nashorn.internal.codegen.types.Type.ldc:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljava/lang/Object;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter loadType(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "load type"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 1
invokestatic jdk.internal.org.objectweb.asm.Type.getObjectType:(Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/Type;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
2: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 4 1 className Ljava/lang/String;
MethodParameters:
Name Flags
className final
jdk.nashorn.internal.codegen.MethodEmitter load(boolean);
descriptor: (Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "load boolean"
iload 1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual jdk.nashorn.internal.codegen.types.Type.ldc:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljava/lang/Object;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 b Z
MethodParameters:
Name Flags
b final
jdk.nashorn.internal.codegen.MethodEmitter load(int);
descriptor: (I)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "load int"
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.nashorn.internal.codegen.types.BitwiseType.ldc:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljava/lang/Object;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 i I
MethodParameters:
Name Flags
i final
jdk.nashorn.internal.codegen.MethodEmitter load(double);
descriptor: (D)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "load double"
dload 1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
dload 1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokevirtual jdk.nashorn.internal.codegen.types.NumericType.ldc:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljava/lang/Object;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 d D
MethodParameters:
Name Flags
d final
jdk.nashorn.internal.codegen.MethodEmitter load(long);
descriptor: (J)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "load long"
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.LONG:Ljdk/nashorn/internal/codegen/types/Type;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual jdk.nashorn.internal.codegen.types.Type.ldc:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljava/lang/Object;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 l J
MethodParameters:
Name Flags
l final
jdk.nashorn.internal.codegen.MethodEmitter arraylength();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "arraylength"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
2: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.nashorn.internal.codegen.types.ArrayType.arraylength:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
3: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter load(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
ldc "load string"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 1
ifnonnull 4
2: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadNull:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 5: iload 2
ldc 32768
if_icmple 19
6: aload 0
ldc Ljava/lang/StringBuilder;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._new:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
7: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
8: aload 0
iload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
9: aload 0
ldc Ljava/lang/StringBuilder;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.constructorNoLookup:(Ljava/lang/Class;[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: iconst_0
istore 3
start local 3 11: goto 16
12: StackMap locals: int int
StackMap stack:
aload 1
iload 3
iload 3
ldc 32768
iadd
iload 2
invokestatic java.lang.Math.min:(II)I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
start local 4 13: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
14: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.stringBuilderAppend:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
end local 4 15: iload 3
ldc 32768
iadd
istore 3
StackMap locals:
StackMap stack:
16: iload 3
iload 2
if_icmplt 12
end local 3 17: aload 0
ldc Ljava/lang/StringBuilder;
ldc "toString"
ldc Ljava/lang/String;
iconst_0
anewarray java.lang.Class
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.virtualCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[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
18: aload 0
areturn
19: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.ldc:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljava/lang/Object;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
20: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 21 1 s Ljava/lang/String;
5 21 2 length I
11 17 3 n I
13 15 4 part Ljava/lang/String;
MethodParameters:
Name Flags
s final
jdk.nashorn.internal.codegen.MethodEmitter load(jdk.nashorn.internal.ir.IdentNode);
descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 ident Ljdk/nashorn/internal/ir/IdentNode;
MethodParameters:
Name Flags
ident final
jdk.nashorn.internal.codegen.MethodEmitter load(jdk.nashorn.internal.ir.Symbol, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
ifeq 6
2: aload 1
aload 2
invokevirtual jdk.nashorn.internal.ir.Symbol.getSlot:(Ljdk/nashorn/internal/codegen/types/Type;)I
istore 3
start local 3 3: aload 0
ldc "load symbol"
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
ldc " slot="
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
ldc "type="
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 0
aload 2
iload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
end local 3 5: goto 19
StackMap locals:
StackMap stack:
6: aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isParam:()Z
ifeq 19
7: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 8
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.functionNode:Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isVarArg:()Z
ifne 8
new java.lang.AssertionError
dup
ldc "Non-vararg functions have slotted parameters"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getFieldIndex:()I
istore 3
start local 3 9: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.functionNode:Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsArguments:()Z
ifeq 15
10: aload 0
ldc "load symbol"
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
ldc " arguments index="
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
11: aload 0
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
12: aload 0
iload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
13: getstatic jdk.nashorn.internal.runtime.ScriptObject.GET_ARGUMENT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 0
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
14: goto 19
15: StackMap locals: int
StackMap stack:
aload 0
ldc "load symbol"
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
ldc " array index="
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
16: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.VARARGS:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
17: aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getFieldIndex:()I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
18: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.arrayload:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
end local 3 19: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 20 1 symbol Ljdk/nashorn/internal/ir/Symbol;
0 20 2 type Ljdk/nashorn/internal/codegen/types/Type;
3 5 3 slot I
9 19 3 index I
MethodParameters:
Name Flags
symbol final
type final
jdk.nashorn.internal.codegen.MethodEmitter load(jdk.nashorn.internal.codegen.types.Type, int);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "explicit load"
aload 1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 2
invokevirtual jdk.nashorn.internal.codegen.types.Type.load:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)Ljdk/nashorn/internal/codegen/types/Type;
astore 3
start local 3 2: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 3
aload 3
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 0
aload 3
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 4
aload 0
iload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isThisSlot:(I)Z
ifeq 4
getstatic jdk.nashorn.internal.codegen.types.Type.THIS:Ljdk/nashorn/internal/codegen/types/Type;
goto 5
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter
4: aload 3
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.types.Type int jdk.nashorn.internal.codegen.types.Type
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.types.Type
5: invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
6: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 9
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.preventUndefinedLoad:Z
ifeq 9
iload 2
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmpge 7
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 9
StackMap locals:
StackMap stack:
7: new java.lang.AssertionError
dup
8: new java.lang.StringBuilder
dup
ldc "Attempted load of uninitialized slot "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " (as type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
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
9: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 2
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
10: aload 0
areturn
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/MethodEmitter;
0 11 1 type Ljdk/nashorn/internal/codegen/types/Type;
0 11 2 slot I
2 11 3 loadType Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
slot final
private boolean isThisSlot(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.functionNode:Ljdk/nashorn/internal/ir/FunctionNode;
ifnonnull 3
1: iload 1
getstatic jdk.nashorn.internal.codegen.CompilerConstants.JAVA_THIS:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.slot:()I
if_icmpne 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.THIS:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getCompilerConstantSymbol:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol;
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.ir.Symbol.getSlot:(Ljdk/nashorn/internal/codegen/types/Type;)I
istore 2
start local 2 4: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 5
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.functionNode:Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsCallee:()Z
ifeq 5
iload 2
iconst_1
if_icmpeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: int
StackMap stack:
getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 6
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.functionNode:Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsCallee:()Z
ifne 6
iload 2
ifeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
iload 1
iload 2
if_icmpne 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 8 1 slot I
4 8 2 thisSlot I
MethodParameters:
Name Flags
slot final
jdk.nashorn.internal.codegen.MethodEmitter loadHandle(java.lang.String, java.lang.String, java.lang.String, java.util.EnumSet<jdk.nashorn.internal.codegen.ClassEmitter$Flag>);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/EnumSet;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=11, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokestatic jdk.nashorn.internal.codegen.ClassEmitter$Flag.getValue:(Ljava/util/EnumSet;)I
istore 5
start local 5 1: aload 0
ldc "load handle "
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
2: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
3: new jdk.internal.org.objectweb.asm.Handle
dup
iload 5
aload 1
aload 2
aload 3
iload 5
bipush 9
if_icmpne 4
iconst_1
goto 5
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter java.lang.String java.lang.String java.lang.String java.util.EnumSet int
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.types.Type jdk.internal.org.objectweb.asm.MethodVisitor new 3 new 3 int java.lang.String java.lang.String java.lang.String
4: iconst_0
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter java.lang.String java.lang.String java.lang.String java.util.EnumSet int
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.types.Type jdk.internal.org.objectweb.asm.MethodVisitor new 3 new 3 int java.lang.String java.lang.String java.lang.String int
5: invokespecial jdk.internal.org.objectweb.asm.Handle.<init>:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
invokevirtual jdk.nashorn.internal.codegen.types.Type.ldc:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljava/lang/Object;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
6: aload 0
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 7 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 7 1 className Ljava/lang/String;
0 7 2 methodName Ljava/lang/String;
0 7 3 descName Ljava/lang/String;
0 7 4 flags Ljava/util/EnumSet<Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;>;
1 7 5 flag I
Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/EnumSet<Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;>;)Ljdk/nashorn/internal/codegen/MethodEmitter;
MethodParameters:
Name Flags
className final
methodName final
descName final
flags final
private jdk.nashorn.internal.ir.Symbol getCompilerConstantSymbol(jdk.nashorn.internal.codegen.CompilerConstants);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.functionNode:Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
aload 1
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 cc Ljdk/nashorn/internal/codegen/CompilerConstants;
MethodParameters:
Name Flags
cc final
boolean hasScope();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getCompilerConstantSymbol:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter loadCompilerConstant(jdk.nashorn.internal.codegen.CompilerConstants);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 cc Ljdk/nashorn/internal/codegen/CompilerConstants;
MethodParameters:
Name Flags
cc final
jdk.nashorn.internal.codegen.MethodEmitter loadCompilerConstant(jdk.nashorn.internal.codegen.CompilerConstants, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
if_acmpne 3
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
getstatic jdk.nashorn.internal.codegen.types.Type.SCOPE:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 3
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: aload 0
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getCompilerConstantSymbol:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol;
aload 2
ifnull 4
aload 2
goto 5
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.CompilerConstants jdk.nashorn.internal.codegen.types.Type
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.ir.Symbol
4: aload 1
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.getCompilerConstantType:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/types/Type;
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.CompilerConstants jdk.nashorn.internal.codegen.types.Type
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.types.Type
5: invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 6 1 cc Ljdk/nashorn/internal/codegen/CompilerConstants;
0 6 2 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
cc final
type final
jdk.nashorn.internal.codegen.MethodEmitter loadScope();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
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;
ldc Ljdk/nashorn/internal/runtime/Scope;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.checkcast:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter setSplitState(int);
descriptor: (I)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadScope:()Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.Scope.SET_SPLIT_STATE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 state I
MethodParameters:
Name Flags
state final
void storeCompilerConstant(jdk.nashorn.internal.codegen.CompilerConstants);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/codegen/types/Type;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 2 1 cc Ljdk/nashorn/internal/codegen/CompilerConstants;
MethodParameters:
Name Flags
cc final
void storeCompilerConstant(jdk.nashorn.internal.codegen.CompilerConstants, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/codegen/types/Type;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getCompilerConstantSymbol:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol;
astore 3
start local 3 1: aload 3
invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
ifne 3
2: return
3: StackMap locals: jdk.nashorn.internal.ir.Symbol
StackMap stack:
aload 0
ldc "store compiler constant "
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 0
aload 3
aload 2
ifnull 5
aload 2
goto 6
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.CompilerConstants jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.ir.Symbol
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.ir.Symbol
5: aload 1
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.getCompilerConstantType:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/types/Type;
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.CompilerConstants jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.ir.Symbol
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.types.Type
6: invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 8 1 cc Ljdk/nashorn/internal/codegen/CompilerConstants;
0 8 2 type Ljdk/nashorn/internal/codegen/types/Type;
1 8 3 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
cc final
type final
private static jdk.nashorn.internal.codegen.types.Type getCompilerConstantType(jdk.nashorn.internal.codegen.CompilerConstants);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.type:()Ljava/lang/Class;
astore 1
start local 1 1: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 2
aload 1
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: java.lang.Class
StackMap stack:
aload 1
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 cc Ljdk/nashorn/internal/codegen/CompilerConstants;
1 3 1 constantType Ljava/lang/Class<*>;
MethodParameters:
Name Flags
cc final
jdk.nashorn.internal.codegen.MethodEmitter arrayload();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "Xaload"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
2: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popArray:()Ljdk/nashorn/internal/codegen/types/ArrayType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.nashorn.internal.codegen.types.ArrayType.aload:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
3: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
void arraystore();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
ldc "Xastore"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 1
start local 1 2: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
astore 2
start local 2 3: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 4
aload 2
invokevirtual jdk.nashorn.internal.codegen.types.Type.isInteger:()Z
ifne 4
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "array index is not integer, but "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals: jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popArray:()Ljdk/nashorn/internal/codegen/types/ArrayType;
astore 3
start local 3 5: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 6
aload 1
aload 3
invokevirtual jdk.nashorn.internal.codegen.types.ArrayType.getElementType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isEquivalentTo:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifne 6
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Storing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " into "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals: jdk.nashorn.internal.codegen.types.ArrayType
StackMap stack:
getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 7
aload 3
invokevirtual jdk.nashorn.internal.codegen.types.ArrayType.isObject:()Z
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.nashorn.internal.codegen.types.ArrayType.astore:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
2 9 1 value Ljdk/nashorn/internal/codegen/types/Type;
3 9 2 index Ljdk/nashorn/internal/codegen/types/Type;
5 9 3 array Ljdk/nashorn/internal/codegen/types/ArrayType;
void store(jdk.nashorn.internal.ir.IdentNode);
descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
astore 3
start local 3 2: aload 2
getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 6
3: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 4
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.ir.Symbol
StackMap stack:
aload 0
aload 3
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)V
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)V
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 8 1 ident Ljdk/nashorn/internal/ir/IdentNode;
1 8 2 type Ljdk/nashorn/internal/codegen/types/Type;
2 8 3 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
ident final
void closeLocalVariable(jdk.nashorn.internal.ir.Symbol, jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.localVariableDefs:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 0
aload 1
aload 3
aload 2
invokevirtual jdk.nashorn.internal.codegen.Label.getLabel:()Ljdk/internal/org/objectweb/asm/Label;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.endLocalValueDef:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/MethodEmitter$LocalVariableDef;Ljdk/internal/org/objectweb/asm/Label;)V
3: StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 5
4: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.markDeadLocalVariable:(Ljdk/nashorn/internal/ir/Symbol;)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 Ljdk/nashorn/internal/codegen/MethodEmitter;
0 6 1 symbol Ljdk/nashorn/internal/ir/Symbol;
0 6 2 label Ljdk/nashorn/internal/codegen/Label;
1 6 3 def Ljdk/nashorn/internal/codegen/MethodEmitter$LocalVariableDef;
MethodParameters:
Name Flags
symbol final
label final
void markDeadLocalVariable(jdk.nashorn.internal.ir.Symbol);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isDead:()Z
ifne 2
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getFirstSlot:()I
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.slotCount:()I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.markDeadSlots:(II)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
symbol final
void markDeadSlots(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 1
iload 2
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markDeadLocalVariables:(II)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/MethodEmitter;
0 2 1 firstSlot I
0 2 2 slotCount I
MethodParameters:
Name Flags
firstSlot final
slotCount final
private void endLocalValueDef(jdk.nashorn.internal.ir.Symbol, jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef, jdk.internal.org.objectweb.asm.Label);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/MethodEmitter$LocalVariableDef;Ljdk/internal/org/objectweb/asm/Label;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
astore 4
start local 4 1: aload 4
getstatic jdk.nashorn.internal.codegen.CompilerConstants.THIS:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: getstatic jdk.nashorn.internal.codegen.CompilerConstants.THIS_DEBUGGER:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
astore 4
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 4
aload 2
getfield jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef.type:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.getDescriptor:()Ljava/lang/String;
aconst_null
aload 2
getfield jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef.label:Ljdk/internal/org/objectweb/asm/Label;
aload 3
aload 1
aload 2
getfield jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef.type:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.ir.Symbol.getSlot:(Ljdk/nashorn/internal/codegen/types/Type;)I
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLocalVariable:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;I)V
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 5 1 symbol Ljdk/nashorn/internal/ir/Symbol;
0 5 2 def Ljdk/nashorn/internal/codegen/MethodEmitter$LocalVariableDef;
0 5 3 label Ljdk/internal/org/objectweb/asm/Label;
1 5 4 name Ljava/lang/String;
MethodParameters:
Name Flags
symbol final
def final
label final
void store(jdk.nashorn.internal.ir.Symbol, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Z)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/MethodEmitter;
0 2 1 symbol Ljdk/nashorn/internal/ir/Symbol;
0 2 2 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
symbol final
type final
void store(jdk.nashorn.internal.ir.Symbol, jdk.nashorn.internal.codegen.types.Type, boolean);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Z)V
flags: (0x0000)
Code:
stack=7, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
ldc "No symbol to store"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
ifeq 22
2: aload 1
aload 2
invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlotFor:(Ljdk/nashorn/internal/codegen/types/Type;)Z
istore 4
start local 4 3: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.localVariableDefs:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef
astore 5
start local 5 4: aload 5
ifnull 5
aload 5
getfield jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef.type:Ljdk/nashorn/internal/codegen/types/Type;
aload 2
if_acmpeq 12
5: StackMap locals: int jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef
StackMap stack:
new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 6
start local 6 6: iload 4
ifeq 9
7: new jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef
dup
aload 6
aload 2
invokespecial jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef.<init>:(Ljdk/internal/org/objectweb/asm/Label;Ljdk/nashorn/internal/codegen/types/Type;)V
astore 7
start local 7 8: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.localVariableDefs:Ljava/util/Map;
aload 1
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 9: StackMap locals: jdk.internal.org.objectweb.asm.Label
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
10: aload 5
ifnull 12
11: aload 0
aload 1
aload 5
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.endLocalValueDef:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/MethodEmitter$LocalVariableDef;Ljdk/internal/org/objectweb/asm/Label;)V
end local 6 12: StackMap locals:
StackMap stack:
iload 4
ifeq 17
13: aload 1
aload 2
invokevirtual jdk.nashorn.internal.ir.Symbol.getSlot:(Ljdk/nashorn/internal/codegen/types/Type;)I
istore 6
start local 6 14: aload 0
ldc "store symbol"
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
ldc " type="
aload 2
ldc " slot="
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
15: aload 0
aload 2
iload 6
iload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeHidden:(Ljdk/nashorn/internal/codegen/types/Type;IZ)V
end local 6 16: goto 41
17: StackMap locals:
StackMap stack:
iload 3
ifeq 19
18: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.markDeadLocalVariable:(Ljdk/nashorn/internal/ir/Symbol;)V
19: StackMap locals:
StackMap stack:
aload 0
ldc "dead store symbol "
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
ldc " type="
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
20: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pop:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
end local 5 end local 4 21: goto 41
StackMap locals:
StackMap stack:
22: aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isParam:()Z
ifeq 39
23: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 24
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
ifeq 24
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 25
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.functionNode:Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isVarArg:()Z
ifne 25
new java.lang.AssertionError
dup
ldc "Non-vararg functions have slotted parameters"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
25: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getFieldIndex:()I
istore 4
start local 4 26: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.functionNode:Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsArguments:()Z
ifeq 33
27: aload 0
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
28: aload 0
ldc "store symbol"
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
ldc " arguments index="
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
29: aload 0
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
30: aload 0
iload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
31: getstatic jdk.nashorn.internal.runtime.ArgumentSetter.SET_ARGUMENT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 0
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
32: goto 41
33: StackMap locals: int
StackMap stack:
aload 0
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
34: aload 0
ldc "store symbol"
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
ldc " array index="
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
35: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.VARARGS:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
36: aload 0
iload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
37: getstatic jdk.nashorn.internal.runtime.ArgumentSetter.SET_ARRAY_ELEMENT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 0
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
end local 4 38: goto 41
39: StackMap locals:
StackMap stack:
aload 0
ldc "dead store symbol "
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
ldc " type="
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
40: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pop:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
41: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 42 1 symbol Ljdk/nashorn/internal/ir/Symbol;
0 42 2 type Ljdk/nashorn/internal/codegen/types/Type;
0 42 3 onlySymbolLiveValue Z
3 21 4 isLiveType Z
4 21 5 existingDef Ljdk/nashorn/internal/codegen/MethodEmitter$LocalVariableDef;
6 12 6 here Ljdk/internal/org/objectweb/asm/Label;
8 9 7 newDef Ljdk/nashorn/internal/codegen/MethodEmitter$LocalVariableDef;
14 16 6 slot I
26 38 4 index I
MethodParameters:
Name Flags
symbol final
type final
onlySymbolLiveValue final
void storeHidden(jdk.nashorn.internal.codegen.types.Type, int);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;I)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeHidden:(Ljdk/nashorn/internal/codegen/types/Type;IZ)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/MethodEmitter;
0 2 1 type Ljdk/nashorn/internal/codegen/types/Type;
0 2 2 slot I
MethodParameters:
Name Flags
type final
slot final
void storeHidden(jdk.nashorn.internal.codegen.types.Type, int, boolean);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;IZ)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.explicitStore:(Ljdk/nashorn/internal/codegen/types/Type;I)V
1: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
aload 1
iload 2
iload 3
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.onLocalStore:(Ljdk/nashorn/internal/codegen/types/Type;IZ)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 Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 type Ljdk/nashorn/internal/codegen/types/Type;
0 3 2 slot I
0 3 3 onlyLiveSymbolValue Z
MethodParameters:
Name Flags
type final
slot final
onlyLiveSymbolValue final
void storeTemp(jdk.nashorn.internal.codegen.types.Type, int);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;I)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.explicitStore:(Ljdk/nashorn/internal/codegen/types/Type;I)V
1: aload 0
iload 2
iload 2
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
iadd
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.defineTemporaryLocalVariable:(II)V
2: aload 0
aload 1
iload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.onLocalStore:(Ljdk/nashorn/internal/codegen/types/Type;I)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 4 1 type Ljdk/nashorn/internal/codegen/types/Type;
0 4 2 slot I
MethodParameters:
Name Flags
type final
slot final
void onLocalStore(jdk.nashorn.internal.codegen.types.Type, int);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;I)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
aload 1
iload 2
iconst_1
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.onLocalStore:(Ljdk/nashorn/internal/codegen/types/Type;IZ)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/MethodEmitter;
0 2 1 type Ljdk/nashorn/internal/codegen/types/Type;
0 2 2 slot I
MethodParameters:
Name Flags
type final
slot final
private void explicitStore(jdk.nashorn.internal.codegen.types.Type, int);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 1
iload 2
iconst_m1
if_icmpne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
ldc "explicit store"
aload 1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
3: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 2
invokevirtual jdk.nashorn.internal.codegen.types.Type.store:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 5 1 type Ljdk/nashorn/internal/codegen/types/Type;
0 5 2 slot I
MethodParameters:
Name Flags
type final
slot final
void defineBlockLocalVariable(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 1
iload 2
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.defineBlockLocalVariable:(II)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/MethodEmitter;
0 2 1 fromSlot I
0 2 2 toSlot I
MethodParameters:
Name Flags
fromSlot final
toSlot final
void defineTemporaryLocalVariable(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 1
iload 2
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.defineTemporaryLocalVariable:(II)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/MethodEmitter;
0 2 1 fromSlot I
0 2 2 toSlot I
MethodParameters:
Name Flags
fromSlot final
toSlot final
int defineTemporaryLocalVariable(int);
descriptor: (I)I
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 1
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.defineTemporaryLocalVariable:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 width I
MethodParameters:
Name Flags
width final
void undefineLocalVariables(int, boolean);
descriptor: (IZ)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 2
1: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 1
iload 2
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.undefineLocalVariables:(IZ)V
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 fromSlot I
0 3 2 canTruncateSymbol Z
MethodParameters:
Name Flags
fromSlot final
canTruncateSymbol final
java.util.List<jdk.nashorn.internal.codegen.types.Type> getLocalVariableTypes();
descriptor: ()Ljava/util/List;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
Signature: ()Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;
java.util.List<jdk.nashorn.internal.codegen.types.Type> getWidestLiveLocals(java.util.List<jdk.nashorn.internal.codegen.types.Type>);
descriptor: (Ljava/util/List;)Ljava/util/List;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
aload 1
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getWidestLiveLocals:(Ljava/util/List;)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 localTypes Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;
Signature: (Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;)Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;
MethodParameters:
Name Flags
localTypes final
java.lang.String markSymbolBoundariesInLvarTypesDescriptor(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
aload 1
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markSymbolBoundariesInLvarTypesDescriptor:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 lvarDescriptor Ljava/lang/String;
MethodParameters:
Name Flags
lvarDescriptor final
void iinc(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "iinc"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
iload 2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitIincInsn:(II)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 slot I
0 3 2 increment I
MethodParameters:
Name Flags
slot final
increment final
public void athrow();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc "athrow"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
astore 1
start local 1 2: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 3
ldc Ljava/lang/Throwable;
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 3
new java.lang.AssertionError
dup
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 191
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
4: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.doesNotContinueSequentially:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
2 6 1 receiver Ljdk/nashorn/internal/codegen/types/Type;
jdk.nashorn.internal.codegen.MethodEmitter _instanceof(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "instanceof"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
2: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 193
aload 1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
3: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
4: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 5 1 classDescriptor Ljava/lang/String;
MethodParameters:
Name Flags
classDescriptor final
jdk.nashorn.internal.codegen.MethodEmitter _instanceof(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.className:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._instanceof:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljdk/nashorn/internal/codegen/MethodEmitter;
MethodParameters:
Name Flags
clazz final
jdk.nashorn.internal.codegen.MethodEmitter checkcast(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "checkcast"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 192
aload 1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 4 1 classDescriptor Ljava/lang/String;
MethodParameters:
Name Flags
classDescriptor final
jdk.nashorn.internal.codegen.MethodEmitter checkcast(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.className:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.checkcast:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljdk/nashorn/internal/codegen/MethodEmitter;
MethodParameters:
Name Flags
clazz final
jdk.nashorn.internal.codegen.MethodEmitter newarray(jdk.nashorn.internal.codegen.types.ArrayType);
descriptor: (Ljdk/nashorn/internal/codegen/types/ArrayType;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "newarray "
ldc "arrayType="
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
2: aload 0
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.nashorn.internal.codegen.types.ArrayType.newarray:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 4 1 arrayType Ljdk/nashorn/internal/codegen/types/ArrayType;
MethodParameters:
Name Flags
arrayType final
jdk.nashorn.internal.codegen.MethodEmitter multinewarray(jdk.nashorn.internal.codegen.types.ArrayType, int);
descriptor: (Ljdk/nashorn/internal/codegen/types/ArrayType;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "multianewarray "
aload 1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: int
StackMap stack:
aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 2
if_icmplt 3
end local 3 6: aload 0
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 2
invokevirtual jdk.nashorn.internal.codegen.types.ArrayType.newarray:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
7: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 8 1 arrayType Ljdk/nashorn/internal/codegen/types/ArrayType;
0 8 2 dims I
2 6 3 i I
MethodParameters:
Name Flags
arrayType final
dims final
private jdk.nashorn.internal.codegen.types.Type fixParamStack(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.nashorn.internal.codegen.types.Type.getMethodArguments:(Ljava/lang/String;)[Ljdk/nashorn/internal/codegen/types/Type;
astore 2
start local 2 1: aload 2
arraylength
iconst_1
isub
istore 3
start local 3 2: goto 5
3: StackMap locals: jdk.nashorn.internal.codegen.types.Type[] int
StackMap stack:
aload 0
aload 2
iload 3
aaload
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
4: iinc 3 -1
StackMap locals:
StackMap stack:
5: iload 3
ifge 3
end local 3 6: aload 1
invokestatic jdk.nashorn.internal.codegen.types.Type.getMethodReturnType:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/types/Type;
astore 3
start local 3 7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 8 1 signature Ljava/lang/String;
1 8 2 params [Ljdk/nashorn/internal/codegen/types/Type;
2 6 3 i I
7 8 3 returnType Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
signature final
jdk.nashorn.internal.codegen.MethodEmitter invoke(jdk.nashorn.internal.codegen.CompilerConstants$Call);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 call Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
MethodParameters:
Name Flags
call final
private jdk.nashorn.internal.codegen.MethodEmitter invoke(int, java.lang.String, java.lang.String, java.lang.String, boolean);
descriptor: (ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.fixParamStack:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/types/Type;
astore 6
start local 6 1: iload 5
ifeq 3
2: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
3: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
aload 2
aload 3
aload 4
iload 1
sipush 185
if_icmpne 4
iconst_1
goto 5
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter int java.lang.String java.lang.String java.lang.String int jdk.nashorn.internal.codegen.types.Type
StackMap stack: jdk.internal.org.objectweb.asm.MethodVisitor int java.lang.String java.lang.String java.lang.String
4: iconst_0
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter int java.lang.String java.lang.String java.lang.String int jdk.nashorn.internal.codegen.types.Type
StackMap stack: jdk.internal.org.objectweb.asm.MethodVisitor int java.lang.String java.lang.String java.lang.String int
5: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
6: aload 6
ifnull 8
7: aload 0
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
8: StackMap locals:
StackMap stack:
aload 0
areturn
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 9 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 9 1 opcode I
0 9 2 className Ljava/lang/String;
0 9 3 methodName Ljava/lang/String;
0 9 4 methodDescriptor Ljava/lang/String;
0 9 5 hasReceiver Z
1 9 6 returnType Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
opcode final
className final
methodName final
methodDescriptor final
hasReceiver final
jdk.nashorn.internal.codegen.MethodEmitter invokespecial(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "invokespecial"
aload 1
ldc "."
aload 2
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 183
aload 1
aload 2
aload 3
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 2 1 className Ljava/lang/String;
0 2 2 methodName Ljava/lang/String;
0 2 3 methodDescriptor Ljava/lang/String;
MethodParameters:
Name Flags
className final
methodName final
methodDescriptor final
jdk.nashorn.internal.codegen.MethodEmitter invokevirtual(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=8, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "invokevirtual"
aload 1
ldc "."
aload 2
aload 3
ldc " "
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 182
aload 1
aload 2
aload 3
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 2 1 className Ljava/lang/String;
0 2 2 methodName Ljava/lang/String;
0 2 3 methodDescriptor Ljava/lang/String;
MethodParameters:
Name Flags
className final
methodName final
methodDescriptor final
jdk.nashorn.internal.codegen.MethodEmitter invokestatic(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "invokestatic"
aload 1
ldc "."
aload 2
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 184
aload 1
aload 2
aload 3
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 className Ljava/lang/String;
0 3 2 methodName Ljava/lang/String;
0 3 3 methodDescriptor Ljava/lang/String;
MethodParameters:
Name Flags
className final
methodName final
methodDescriptor final
jdk.nashorn.internal.codegen.MethodEmitter invokestatic(java.lang.String, java.lang.String, java.lang.String, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, 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
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
pop
2: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
3: aload 0
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 4 1 className Ljava/lang/String;
0 4 2 methodName Ljava/lang/String;
0 4 3 methodDescriptor Ljava/lang/String;
0 4 4 returnType Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
className final
methodName final
methodDescriptor final
returnType final
jdk.nashorn.internal.codegen.MethodEmitter invokeinterface(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "invokeinterface"
aload 1
ldc "."
aload 2
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 185
aload 1
aload 2
aload 3
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 2 1 className Ljava/lang/String;
0 2 2 methodName Ljava/lang/String;
0 2 3 methodDescriptor Ljava/lang/String;
MethodParameters:
Name Flags
className final
methodName final
methodDescriptor final
static jdk.internal.org.objectweb.asm.Label[] getLabels(jdk.nashorn.internal.codegen.Label[]);
descriptor: ([Ljdk/nashorn/internal/codegen/Label;)[Ljdk/internal/org/objectweb/asm/Label;
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
arraylength
anewarray jdk.internal.org.objectweb.asm.Label
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: jdk.internal.org.objectweb.asm.Label[] int
StackMap stack:
aload 1
iload 2
aload 0
iload 2
aaload
invokevirtual jdk.nashorn.internal.codegen.Label.getLabel:()Ljdk/internal/org/objectweb/asm/Label;
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 table [Ljdk/nashorn/internal/codegen/Label;
1 7 1 internalLabels [Ljdk/internal/org/objectweb/asm/Label;
2 6 2 i I
MethodParameters:
Name Flags
table final
void lookupswitch(jdk.nashorn.internal.codegen.Label, int[], jdk.nashorn.internal.codegen.Label[]);
descriptor: (Ljdk/nashorn/internal/codegen/Label;[I[Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0080) ACC_VARARGS
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "lookupswitch"
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
aload 1
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.adjustStackForSwitch:(Ljdk/nashorn/internal/codegen/Label;[Ljdk/nashorn/internal/codegen/Label;)V
2: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 1
invokevirtual jdk.nashorn.internal.codegen.Label.getLabel:()Ljdk/internal/org/objectweb/asm/Label;
aload 2
aload 3
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.getLabels:([Ljdk/nashorn/internal/codegen/Label;)[Ljdk/internal/org/objectweb/asm/Label;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLookupSwitchInsn:(Ljdk/internal/org/objectweb/asm/Label;[I[Ljdk/internal/org/objectweb/asm/Label;)V
3: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.doesNotContinueSequentially:()V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 5 1 defaultLabel Ljdk/nashorn/internal/codegen/Label;
0 5 2 values [I
0 5 3 table [Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
defaultLabel final
values final
table final
void tableswitch(int, int, jdk.nashorn.internal.codegen.Label, jdk.nashorn.internal.codegen.Label[]);
descriptor: (IILjdk/nashorn/internal/codegen/Label;[Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0080) ACC_VARARGS
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
ldc "tableswitch"
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
aload 3
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.adjustStackForSwitch:(Ljdk/nashorn/internal/codegen/Label;[Ljdk/nashorn/internal/codegen/Label;)V
2: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
iload 2
aload 3
invokevirtual jdk.nashorn.internal.codegen.Label.getLabel:()Ljdk/internal/org/objectweb/asm/Label;
aload 4
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.getLabels:([Ljdk/nashorn/internal/codegen/Label;)[Ljdk/internal/org/objectweb/asm/Label;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTableSwitchInsn:(IILjdk/internal/org/objectweb/asm/Label;[Ljdk/internal/org/objectweb/asm/Label;)V
3: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.doesNotContinueSequentially:()V
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 5 1 lo I
0 5 2 hi I
0 5 3 defaultLabel Ljdk/nashorn/internal/codegen/Label;
0 5 4 table [Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
lo final
hi final
defaultLabel final
table final
private void adjustStackForSwitch(jdk.nashorn.internal.codegen.Label, jdk.nashorn.internal.codegen.Label[]);
descriptor: (Ljdk/nashorn/internal/codegen/Label;[Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.joinTo:(Ljdk/nashorn/internal/codegen/Label;)V
2: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 6
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label[] top int int jdk.nashorn.internal.codegen.Label[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.joinTo:(Ljdk/nashorn/internal/codegen/Label;)V
end local 3 5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 5
if_icmplt 3
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 8 1 defaultLabel Ljdk/nashorn/internal/codegen/Label;
0 8 2 table [Ljdk/nashorn/internal/codegen/Label;
4 5 3 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
defaultLabel final
table final
void conditionalJump(jdk.nashorn.internal.codegen.Condition, jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Condition;Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 1
getstatic jdk.nashorn.internal.codegen.Condition.GT:Ljdk/nashorn/internal/codegen/Condition;
if_acmpeq 1
aload 1
getstatic jdk.nashorn.internal.codegen.Condition.GE:Ljdk/nashorn/internal/codegen/Condition;
if_acmpeq 1
iconst_1
goto 2
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Condition jdk.nashorn.internal.codegen.Label
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Condition
1: iconst_0
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Condition jdk.nashorn.internal.codegen.Label
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Condition int
2: aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.conditionalJump:(Ljdk/nashorn/internal/codegen/Condition;ZLjdk/nashorn/internal/codegen/Label;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 4 1 cond Ljdk/nashorn/internal/codegen/Condition;
0 4 2 trueLabel Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
cond final
trueLabel final
void conditionalJump(jdk.nashorn.internal.codegen.Condition, boolean, jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Condition;ZLjdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isCategory2:()Z
ifeq 5
1: aload 0
ldc "[ld]cmp isCmpG="
iload 2
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.get2n:()Ljdk/nashorn/internal/codegen/types/NumericType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 2
invokevirtual jdk.nashorn.internal.codegen.types.NumericType.cmp:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Z)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
3: aload 0
aload 1
invokestatic jdk.nashorn.internal.codegen.Condition.toUnary:(Ljdk/nashorn/internal/codegen/Condition;)I
aload 3
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
4: goto 7
5: StackMap locals:
StackMap stack:
aload 0
ldc "if"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
6: aload 0
aload 1
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
invokestatic jdk.nashorn.internal.codegen.Condition.toBinary:(Ljdk/nashorn/internal/codegen/Condition;Z)I
aload 3
iconst_2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 8 1 cond Ljdk/nashorn/internal/codegen/Condition;
0 8 2 isCmpG Z
0 8 3 trueLabel Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
cond final
isCmpG final
trueLabel final
void _return(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "return"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 2
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.size:()I
iconst_1
if_icmpeq 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Only return value on stack allowed at return point - depth="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " stack = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 2
start local 2 3: aload 1
aload 2
invokestatic jdk.nashorn.internal.codegen.types.Type.areEquivalent:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Z
ifne 5
4: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.nashorn.internal.codegen.types.Type._return:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
6: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.doesNotContinueSequentially:()V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 8 1 type Ljdk/nashorn/internal/codegen/types/Type;
3 8 2 stackType Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
void _return();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._return:(Ljdk/nashorn/internal/codegen/types/Type;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
void returnVoid();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "return [void]"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 2
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.isEmpty:()Z
ifne 2
new java.lang.AssertionError
dup
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 177
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
3: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.doesNotContinueSequentially:()V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
jdk.nashorn.internal.codegen.MethodEmitter cmp(boolean);
descriptor: (Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.get2n:()Ljdk/nashorn/internal/codegen/types/NumericType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
invokevirtual jdk.nashorn.internal.codegen.types.NumericType.cmp:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Z)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 2 1 isCmpG Z
MethodParameters:
Name Flags
isCmpG final
private void jump(int, jdk.nashorn.internal.codegen.Label, int);
descriptor: (ILjdk/nashorn/internal/codegen/Label;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 5
2: StackMap locals: int
StackMap stack:
getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 3
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isInteger:()Z
ifne 3
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
ifne 3
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifne 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "expecting integer type or object for jump, but found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
pop
4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 3
if_icmplt 2
end local 4 6: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.joinTo:(Ljdk/nashorn/internal/codegen/Label;)V
7: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.Label.getLabel:()Ljdk/internal/org/objectweb/asm/Label;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 9 1 opcode I
0 9 2 label Ljdk/nashorn/internal/codegen/Label;
0 9 3 n I
1 6 4 i I
MethodParameters:
Name Flags
opcode final
label final
n final
void if_acmpeq(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "if_acmpeq"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 165
aload 1
iconst_2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void if_acmpne(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "if_acmpne"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 166
aload 1
iconst_2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void ifnull(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "ifnull"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 198
aload 1
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void ifnonnull(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "ifnonnull"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 199
aload 1
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void ifeq(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "ifeq "
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 153
aload 1
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void if_icmpeq(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "if_icmpeq"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 159
aload 1
iconst_2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void ifne(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "ifne"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 154
aload 1
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void if_icmpne(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "if_icmpne"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 160
aload 1
iconst_2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void iflt(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "iflt"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 155
aload 1
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void if_icmplt(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "if_icmplt"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 161
aload 1
iconst_2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void ifle(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "ifle"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 158
aload 1
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void if_icmple(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "if_icmple"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 164
aload 1
iconst_2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void ifgt(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "ifgt"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 157
aload 1
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void if_icmpgt(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "if_icmpgt"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 163
aload 1
iconst_2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void ifge(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "ifge"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 156
aload 1
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void if_icmpge(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "if_icmpge"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 162
aload 1
iconst_2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void _goto(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "goto"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 167
aload 1
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.doesNotContinueSequentially:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 4 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void gotoLoopStart(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "goto (loop)"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
sipush 167
aload 1
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.jump:(ILjdk/nashorn/internal/codegen/Label;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 loopStart Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
loopStart final
void uncheckedGoto(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 167
aload 1
invokevirtual jdk.nashorn.internal.codegen.Label.getLabel:()Ljdk/internal/org/objectweb/asm/Label;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 2 1 target Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
target final
void canThrow(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iconst_0
invokevirtual jdk.nashorn.internal.codegen.Label.joinFromTry:(Ljdk/nashorn/internal/codegen/Label$Stack;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 2 1 catchLabel Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
catchLabel final
private void joinTo(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label.joinFrom:(Ljdk/nashorn/internal/codegen/Label$Stack;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void label(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_m1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 2 1 label Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
label final
void breakLabel(jdk.nashorn.internal.codegen.Label, int);
descriptor: (Ljdk/nashorn/internal/codegen/Label;I)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 4
1: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 5
aload 1
invokevirtual jdk.nashorn.internal.codegen.Label.getStack:()Ljdk/nashorn/internal/codegen/Label$Stack;
ifnonnull 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: aload 1
invokevirtual jdk.nashorn.internal.codegen.Label.isReachable:()Z
if_icmpne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.joinTo:(Ljdk/nashorn/internal/codegen/Label;)V
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.codegen.Label.getStack:()Ljdk/nashorn/internal/codegen/Label$Stack;
astore 3
start local 3 6: aload 0
aload 3
ifnonnull 7
aconst_null
goto 8
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label$Stack
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter
7: aload 3
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.clone:()Ljdk/nashorn/internal/codegen/Label$Stack;
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label$Stack
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label$Stack
8: putfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
9: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
ifnull 12
aload 1
invokevirtual jdk.nashorn.internal.codegen.Label.isBreakTarget:()Z
ifeq 12
iload 2
iconst_m1
if_icmpeq 12
10: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 11
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
iload 2
if_icmpge 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 2
putfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
12: StackMap locals:
StackMap stack:
aload 0
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug_label:([Ljava/lang/Object;)V
13: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 1
invokevirtual jdk.nashorn.internal.codegen.Label.getLabel:()Ljdk/internal/org/objectweb/asm/Label;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
14: return
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/MethodEmitter;
0 15 1 label Ljdk/nashorn/internal/codegen/Label;
0 15 2 liveLocals I
6 15 3 labelStack Ljdk/nashorn/internal/codegen/Label$Stack;
MethodParameters:
Name Flags
label final
liveLocals final
jdk.nashorn.internal.codegen.MethodEmitter convert(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 2
start local 2 1: aload 2
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.convert:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
astore 3
start local 3 2: aload 3
ifnull 11
3: aload 2
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isEquivalentTo:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifne 5
4: aload 0
ldc "convert"
aload 2
ldc "->"
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
5: StackMap locals: jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 3
aload 2
if_acmpeq 11
6: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getTopLocalLoad:()I
istore 4
start local 4 7: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
pop
8: aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
9: aload 2
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifne 11
10: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 4
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.markLocalLoad:(I)V
end local 4 11: StackMap locals:
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 12 1 to Ljdk/nashorn/internal/codegen/types/Type;
1 12 2 from Ljdk/nashorn/internal/codegen/types/Type;
2 12 3 type Ljdk/nashorn/internal/codegen/types/Type;
7 11 4 l0 I
MethodParameters:
Name Flags
to final
private jdk.nashorn.internal.codegen.types.Type get2();
descriptor: ()Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 1
start local 1 1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 2
start local 2 2: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 3
aload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.types.Type.isEquivalentTo:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifne 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "expecting equivalent types on stack but got "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
1 4 1 p0 Ljdk/nashorn/internal/codegen/types/Type;
2 4 2 p1 Ljdk/nashorn/internal/codegen/types/Type;
private jdk.nashorn.internal.codegen.types.BitwiseType get2i();
descriptor: ()Ljdk/nashorn/internal/codegen/types/BitwiseType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popBitwise:()Ljdk/nashorn/internal/codegen/types/BitwiseType;
astore 1
start local 1 1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popBitwise:()Ljdk/nashorn/internal/codegen/types/BitwiseType;
astore 2
start local 2 2: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 3
aload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.types.BitwiseType.isEquivalentTo:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifne 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "expecting equivalent types on stack but got "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: jdk.nashorn.internal.codegen.types.BitwiseType jdk.nashorn.internal.codegen.types.BitwiseType
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
1 4 1 p0 Ljdk/nashorn/internal/codegen/types/BitwiseType;
2 4 2 p1 Ljdk/nashorn/internal/codegen/types/BitwiseType;
private jdk.nashorn.internal.codegen.types.NumericType get2n();
descriptor: ()Ljdk/nashorn/internal/codegen/types/NumericType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popNumeric:()Ljdk/nashorn/internal/codegen/types/NumericType;
astore 1
start local 1 1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popNumeric:()Ljdk/nashorn/internal/codegen/types/NumericType;
astore 2
start local 2 2: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 3
aload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.types.NumericType.isEquivalentTo:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifne 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "expecting equivalent types on stack but got "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: jdk.nashorn.internal.codegen.types.NumericType jdk.nashorn.internal.codegen.types.NumericType
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
1 4 1 p0 Ljdk/nashorn/internal/codegen/types/NumericType;
2 4 2 p1 Ljdk/nashorn/internal/codegen/types/NumericType;
jdk.nashorn.internal.codegen.MethodEmitter add(int);
descriptor: (I)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "add"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.get2:()Ljdk/nashorn/internal/codegen/types/Type;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.add:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 programPoint I
MethodParameters:
Name Flags
programPoint final
jdk.nashorn.internal.codegen.MethodEmitter sub(int);
descriptor: (I)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "sub"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.get2n:()Ljdk/nashorn/internal/codegen/types/NumericType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
invokevirtual jdk.nashorn.internal.codegen.types.NumericType.sub:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 programPoint I
MethodParameters:
Name Flags
programPoint final
jdk.nashorn.internal.codegen.MethodEmitter mul(int);
descriptor: (I)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "mul "
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.get2n:()Ljdk/nashorn/internal/codegen/types/NumericType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
invokevirtual jdk.nashorn.internal.codegen.types.NumericType.mul:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 programPoint I
MethodParameters:
Name Flags
programPoint final
jdk.nashorn.internal.codegen.MethodEmitter div(int);
descriptor: (I)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "div"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.get2n:()Ljdk/nashorn/internal/codegen/types/NumericType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
invokevirtual jdk.nashorn.internal.codegen.types.NumericType.div:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 programPoint I
MethodParameters:
Name Flags
programPoint final
jdk.nashorn.internal.codegen.MethodEmitter rem(int);
descriptor: (I)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "rem"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/String;)V
1: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.get2n:()Ljdk/nashorn/internal/codegen/types/NumericType;
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
invokevirtual jdk.nashorn.internal.codegen.types.NumericType.rem:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 programPoint I
MethodParameters:
Name Flags
programPoint final
protected jdk.nashorn.internal.codegen.types.Type[] getTypesFromStack(int);
descriptor: (I)[Ljdk/nashorn/internal/codegen/types/Type;
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.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 1
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getTopTypes:(I)[Ljdk/nashorn/internal/codegen/types/Type;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 count I
MethodParameters:
Name Flags
count final
int[] getLocalLoadsOnStack(int, int);
descriptor: (II)[I
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 1
iload 2
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getLocalLoads:(II)[I
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 from I
0 1 2 to I
MethodParameters:
Name Flags
from final
to final
int getStackSize();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
int getFirstTemp();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
int getUsedSlotsWithLiveTemporaries();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getUsedSlotsWithLiveTemporaries:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
private java.lang.String getDynamicSignature(jdk.nashorn.internal.codegen.types.Type, int);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 2
anewarray jdk.nashorn.internal.codegen.types.Type
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iload 2
iconst_1
isub
istore 5
start local 5 3: goto 10
4: StackMap locals: jdk.nashorn.internal.codegen.types.Type[] int int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 4
iinc 4 1
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.peek:(I)Ljdk/nashorn/internal/codegen/types/Type;
astore 6
start local 6 5: ldc Ljdk/nashorn/internal/runtime/ScriptObject;
aload 6
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 8
6: ldc Ljdk/nashorn/internal/objects/NativeArray;
aload 6
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 8
7: getstatic jdk.nashorn.internal.codegen.types.Type.SCRIPT_OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
astore 6
8: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 3
iload 5
aload 6
aastore
end local 6 9: iinc 5 -1
StackMap locals:
StackMap stack:
10: iload 5
ifge 4
end local 5 11: aload 1
aload 3
invokestatic jdk.nashorn.internal.codegen.types.Type.getMethodDescriptor:(Ljdk/nashorn/internal/codegen/types/Type;[Ljdk/nashorn/internal/codegen/types/Type;)Ljava/lang/String;
astore 5
start local 5 12: iconst_0
istore 6
start local 6 13: goto 16
14: StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.types.Type int jdk.nashorn.internal.codegen.types.Type[] int java.lang.String int
StackMap stack:
aload 0
aload 3
iload 2
iload 6
isub
iconst_1
isub
aaload
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
15: iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iload 2
if_icmplt 14
end local 6 17: aload 5
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 18 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 18 1 returnType Ljdk/nashorn/internal/codegen/types/Type;
0 18 2 argCount I
1 18 3 paramTypes [Ljdk/nashorn/internal/codegen/types/Type;
2 18 4 pos I
3 11 5 i I
5 9 6 pt Ljdk/nashorn/internal/codegen/types/Type;
12 18 5 descriptor Ljava/lang/String;
13 17 6 i I
MethodParameters:
Name Flags
returnType final
argCount final
jdk.nashorn.internal.codegen.MethodEmitter invalidateSpecialName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
dup
astore 2
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 2
3045982: 1
93029230: 2
default: 7
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 2
ldc "call"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
goto 7
StackMap locals:
StackMap stack:
2: aload 2
ldc "apply"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
goto 7
3: StackMap locals:
StackMap stack:
aload 0
ldc "invalidate_name"
ldc "name="
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 0
ldc "Function"
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: aload 0
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.INVALIDATE_RESERVED_BUILTIN_NAME: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
6: goto 7
7: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 8 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name final
jdk.nashorn.internal.codegen.MethodEmitter dynamicNew(int, int);
descriptor: (II)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
aconst_null
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicNew:(IILjava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 argCount I
0 1 2 flags I
MethodParameters:
Name Flags
argCount final
flags final
jdk.nashorn.internal.codegen.MethodEmitter dynamicNew(int, int, java.lang.String);
descriptor: (IILjava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=9, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 1
iload 2
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.isOptimistic:(I)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
ldc "dynamic_new"
ldc "argcount="
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
iload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getDynamicSignature:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljava/lang/String;
astore 4
start local 4 3: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
4: aload 3
ifnull 5
aload 3
invokevirtual java.lang.String.length:()I
ldc 32768
if_icmpge 5
aload 3
invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.encode:(Ljava/lang/String;)Ljava/lang/String;
goto 6
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter int int java.lang.String java.lang.String
StackMap stack: jdk.internal.org.objectweb.asm.MethodVisitor
5: getstatic jdk.nashorn.internal.runtime.linker.NameCodec.EMPTY_NAME:Ljava/lang/String;
6: StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter int int java.lang.String java.lang.String
StackMap stack: jdk.internal.org.objectweb.asm.MethodVisitor java.lang.String
aload 4
getstatic jdk.nashorn.internal.codegen.MethodEmitter.LINKERBOOTSTRAP:Ljdk/internal/org/objectweb/asm/Handle;
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 2
bipush 7
ior
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
7: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInvokeDynamicInsn:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/Handle;[Ljava/lang/Object;)V
8: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
9: aload 0
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 10 1 argCount I
0 10 2 flags I
0 10 3 msg Ljava/lang/String;
3 10 4 signature Ljava/lang/String;
MethodParameters:
Name Flags
argCount final
flags final
msg final
jdk.nashorn.internal.codegen.MethodEmitter dynamicCall(jdk.nashorn.internal.codegen.types.Type, int, int);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;II)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
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
iload 2
iload 3
aconst_null
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicCall:(Ljdk/nashorn/internal/codegen/types/Type;IILjava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 returnType Ljdk/nashorn/internal/codegen/types/Type;
0 1 2 argCount I
0 1 3 flags I
MethodParameters:
Name Flags
returnType final
argCount final
flags final
jdk.nashorn.internal.codegen.MethodEmitter dynamicCall(jdk.nashorn.internal.codegen.types.Type, int, int, java.lang.String);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;IILjava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=9, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
ldc "dynamic_call"
ldc "args="
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
ldc "returnType="
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
aload 1
iload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getDynamicSignature:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljava/lang/String;
astore 5
start local 5 2: aload 0
ldc " signature"
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
3: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
4: aload 4
ifnull 5
aload 4
invokevirtual java.lang.String.length:()I
ldc 32768
if_icmpge 5
aload 4
invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.encode:(Ljava/lang/String;)Ljava/lang/String;
goto 6
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.types.Type int int java.lang.String java.lang.String
StackMap stack: jdk.internal.org.objectweb.asm.MethodVisitor
5: getstatic jdk.nashorn.internal.runtime.linker.NameCodec.EMPTY_NAME:Ljava/lang/String;
6: StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.types.Type int int java.lang.String java.lang.String
StackMap stack: jdk.internal.org.objectweb.asm.MethodVisitor java.lang.String
aload 5
getstatic jdk.nashorn.internal.codegen.MethodEmitter.LINKERBOOTSTRAP:Ljdk/internal/org/objectweb/asm/Handle;
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 3
bipush 6
ior
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
7: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInvokeDynamicInsn:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/Handle;[Ljava/lang/Object;)V
8: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
9: aload 0
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 10 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 10 1 returnType Ljdk/nashorn/internal/codegen/types/Type;
0 10 2 argCount I
0 10 3 flags I
0 10 4 msg Ljava/lang/String;
2 10 5 signature Ljava/lang/String;
MethodParameters:
Name Flags
returnType final
argCount final
flags final
msg final
jdk.nashorn.internal.codegen.MethodEmitter dynamicArrayPopulatorCall(int, int);
descriptor: (II)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "populate_array"
ldc "args="
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
ldc "startIndex="
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
iload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getDynamicSignature:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljava/lang/String;
astore 3
start local 3 2: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
ldc "populateArray"
aload 3
getstatic jdk.nashorn.internal.codegen.MethodEmitter.POPULATE_ARRAY_BOOTSTRAP:Ljdk/internal/org/objectweb/asm/Handle;
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInvokeDynamicInsn:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/Handle;[Ljava/lang/Object;)V
3: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
4: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 5 1 argCount I
0 5 2 startIndex I
2 5 3 signature Ljava/lang/String;
MethodParameters:
Name Flags
argCount final
startIndex final
jdk.nashorn.internal.codegen.MethodEmitter dynamicGet(jdk.nashorn.internal.codegen.types.Type, java.lang.String, int, boolean, boolean);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;Ljava/lang/String;IZZ)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=10, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
invokevirtual java.lang.String.length:()I
ldc 32768
if_icmple 2
1: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
iload 3
iload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicGetIndex:(Ljdk/nashorn/internal/codegen/types/Type;IZ)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "dynamic_get"
aload 2
aload 1
iload 3
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.getProgramPoint:(I)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
3: aload 1
astore 6
start local 6 4: aload 6
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifne 5
aload 6
invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
ifeq 6
5: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
astore 6
6: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.SCOPE:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
7: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.encode:(Ljava/lang/String;)Ljava/lang/String;
8: aload 6
iconst_1
anewarray jdk.nashorn.internal.codegen.types.Type
dup
iconst_0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
aastore
invokestatic jdk.nashorn.internal.codegen.types.Type.getMethodDescriptor:(Ljdk/nashorn/internal/codegen/types/Type;[Ljdk/nashorn/internal/codegen/types/Type;)Ljava/lang/String;
getstatic jdk.nashorn.internal.codegen.MethodEmitter.LINKERBOOTSTRAP:Ljdk/internal/org/objectweb/asm/Handle;
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 3
iload 4
iload 5
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.dynGetOperation:(ZZ)I
ior
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
9: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInvokeDynamicInsn:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/Handle;[Ljava/lang/Object;)V
10: aload 0
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
11: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
12: aload 0
areturn
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 13 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 13 1 valueType Ljdk/nashorn/internal/codegen/types/Type;
0 13 2 name Ljava/lang/String;
0 13 3 flags I
0 13 4 isMethod Z
0 13 5 isIndex Z
4 13 6 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
valueType final
name final
flags final
isMethod final
isIndex final
void dynamicSet(java.lang.String, int, boolean);
descriptor: (Ljava/lang/String;IZ)V
flags: (0x0000)
Code:
stack=9, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual java.lang.String.length:()I
ldc 32768
if_icmple 3
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicSetIndex:(I)V
2: return
3: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 4
iload 2
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.isOptimistic:(I)Z
ifeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
ldc "dynamic_set"
aload 1
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
5: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 4
start local 4 6: aload 4
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifne 7
aload 4
invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
ifeq 9
7: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
astore 4
8: aload 0
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
9: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
10: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.SCOPE:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
11: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 1
invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.encode:(Ljava/lang/String;)Ljava/lang/String;
12: getstatic java.lang.Void.TYPE:Ljava/lang/Class;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
dup
iconst_1
aload 4
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
getstatic jdk.nashorn.internal.codegen.MethodEmitter.LINKERBOOTSTRAP:Ljdk/internal/org/objectweb/asm/Handle;
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 2
iload 3
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.dynSetOperation:(Z)I
ior
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
13: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInvokeDynamicInsn:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/Handle;[Ljava/lang/Object;)V
14: return
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/MethodEmitter;
0 15 1 name Ljava/lang/String;
0 15 2 flags I
0 15 3 isIndex Z
6 15 4 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
name final
flags final
isIndex final
jdk.nashorn.internal.codegen.MethodEmitter dynamicGetIndex(jdk.nashorn.internal.codegen.types.Type, int, boolean);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;IZ)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=10, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 1
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
ldc Ljava/lang/Object;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
ldc "dynamic_get_index"
aload 0
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:(I)Ljdk/nashorn/internal/codegen/types/Type;
ldc "["
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
ldc "]"
iload 2
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.getProgramPoint:(I)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 1
astore 4
start local 4 3: aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
ifeq 5
4: getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
astore 4
5: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 5
start local 5 6: aload 5
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifne 7
aload 5
invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
ifeq 9
7: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
astore 5
8: aload 0
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
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
pop
10: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
11: aload 4
iconst_2
anewarray jdk.nashorn.internal.codegen.types.Type
dup
iconst_0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
aastore
dup
iconst_1
aload 5
aastore
invokestatic jdk.nashorn.internal.codegen.types.Type.getMethodDescriptor:(Ljdk/nashorn/internal/codegen/types/Type;[Ljdk/nashorn/internal/codegen/types/Type;)Ljava/lang/String;
astore 6
start local 6 12: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
getstatic jdk.nashorn.internal.runtime.linker.NameCodec.EMPTY_NAME:Ljava/lang/String;
aload 6
getstatic jdk.nashorn.internal.codegen.MethodEmitter.LINKERBOOTSTRAP:Ljdk/internal/org/objectweb/asm/Handle;
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 2
iload 3
iconst_1
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.dynGetOperation:(ZZ)I
ior
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInvokeDynamicInsn:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/Handle;[Ljava/lang/Object;)V
13: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
14: aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
ifeq 16
15: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN: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
16: StackMap locals: java.lang.String
StackMap stack:
aload 0
areturn
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 17 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 17 1 result Ljdk/nashorn/internal/codegen/types/Type;
0 17 2 flags I
0 17 3 isMethod Z
3 17 4 resultType Ljdk/nashorn/internal/codegen/types/Type;
6 17 5 index Ljdk/nashorn/internal/codegen/types/Type;
12 17 6 signature Ljava/lang/String;
MethodParameters:
Name Flags
result final
flags final
isMethod final
private static java.lang.String getProgramPoint(int);
descriptor: (I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
bipush 64
iand
ifne 2
1: ldc ""
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "pp="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
sipush -16384
iand
bipush 14
ishr
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
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 flags I
MethodParameters:
Name Flags
flags final
void dynamicSetIndex(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=9, locals=5, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 1
iload 1
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.isOptimistic:(I)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
ldc "dynamic_set_index"
aload 0
iconst_2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:(I)Ljdk/nashorn/internal/codegen/types/Type;
ldc "["
aload 0
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:(I)Ljdk/nashorn/internal/codegen/types/Type;
ldc "] ="
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 2
start local 2 3: aload 2
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifne 4
aload 2
invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
ifeq 6
4: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
astore 2
5: aload 0
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
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
pop
7: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 3
start local 3 8: aload 3
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifne 9
aload 3
invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
ifeq 11
9: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
astore 3
10: aload 0
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
11: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
12: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
astore 4
start local 4 13: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 14
aload 4
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifne 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
getstatic jdk.nashorn.internal.runtime.linker.NameCodec.EMPTY_NAME:Ljava/lang/String;
15: getstatic java.lang.Void.TYPE:Ljava/lang/Class;
iconst_3
anewarray java.lang.Class
dup
iconst_0
aload 4
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
aastore
dup
iconst_1
aload 3
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
aastore
dup
iconst_2
aload 2
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
16: getstatic jdk.nashorn.internal.codegen.MethodEmitter.LINKERBOOTSTRAP:Ljdk/internal/org/objectweb/asm/Handle;
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
iconst_5
ior
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
17: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInvokeDynamicInsn:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/Handle;[Ljava/lang/Object;)V
18: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 19 1 flags I
3 19 2 value Ljdk/nashorn/internal/codegen/types/Type;
8 19 3 index Ljdk/nashorn/internal/codegen/types/Type;
13 19 4 receiver Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
flags final
jdk.nashorn.internal.codegen.MethodEmitter loadKey(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof jdk.nashorn.internal.ir.IdentNode
ifeq 3
1: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 1
checkcast jdk.nashorn.internal.ir.IdentNode
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
2: goto 7
StackMap locals:
StackMap stack:
3: aload 1
instanceof jdk.nashorn.internal.ir.LiteralNode
ifeq 6
4: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 1
checkcast jdk.nashorn.internal.ir.LiteralNode
invokevirtual jdk.nashorn.internal.ir.LiteralNode.getString:()Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 1
invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
8: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 9 1 key Ljava/lang/Object;
MethodParameters:
Name Flags
key final
private static jdk.nashorn.internal.codegen.types.Type fieldType(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 8
66: 1
67: 2
68: 3
70: 4
73: 5
74: 6
83: 7
90: 8
default: 13
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 1
ldc "B"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
goto 13
StackMap locals:
StackMap stack:
2: aload 1
ldc "C"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
goto 13
StackMap locals:
StackMap stack:
3: aload 1
ldc "D"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
goto 13
StackMap locals:
StackMap stack:
4: aload 1
ldc "F"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
goto 13
StackMap locals:
StackMap stack:
5: aload 1
ldc "I"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
goto 13
StackMap locals:
StackMap stack:
6: aload 1
ldc "J"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
goto 13
StackMap locals:
StackMap stack:
7: aload 1
ldc "S"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
goto 13
StackMap locals:
StackMap stack:
8: aload 1
ldc "Z"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
goto 13
9: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
areturn
10: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
areturn
12: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.LONG:Ljdk/nashorn/internal/codegen/types/Type;
areturn
13: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 14
aload 0
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 14
aload 0
ldc "L"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 14
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " is not an object type"
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
14: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 2
76: 15
91: 16
default: 17
}
15: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
areturn
16: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.fieldType:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
iconst_0
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
areturn
17: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 desc Ljava/lang/String;
MethodParameters:
Name Flags
desc final
jdk.nashorn.internal.codegen.MethodEmitter getField(jdk.nashorn.internal.codegen.CompilerConstants$FieldAccess);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants$FieldAccess;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$FieldAccess.get:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 1 1 fa Ljdk/nashorn/internal/codegen/CompilerConstants$FieldAccess;
MethodParameters:
Name Flags
fa final
void putField(jdk.nashorn.internal.codegen.CompilerConstants$FieldAccess);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants$FieldAccess;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$FieldAccess.put:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 2 1 fa Ljdk/nashorn/internal/codegen/CompilerConstants$FieldAccess;
MethodParameters:
Name Flags
fa final
jdk.nashorn.internal.codegen.MethodEmitter getField(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=8, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "getfield"
ldc "receiver="
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
aload 1
ldc "."
aload 2
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 4
start local 4 2: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 3
aload 4
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 180
aload 1
aload 2
aload 3
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
4: aload 0
aload 3
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.fieldType:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
5: aload 0
areturn
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/MethodEmitter;
0 6 1 className Ljava/lang/String;
0 6 2 fieldName Ljava/lang/String;
0 6 3 fieldDescriptor Ljava/lang/String;
2 6 4 receiver Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
className final
fieldName final
fieldDescriptor final
jdk.nashorn.internal.codegen.MethodEmitter getStatic(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "getstatic"
aload 1
ldc "."
aload 2
ldc "."
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 178
aload 1
aload 2
aload 3
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
2: aload 0
aload 3
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.fieldType:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pushType:(Ljdk/nashorn/internal/codegen/types/Type;)V
3: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 4 1 className Ljava/lang/String;
0 4 2 fieldName Ljava/lang/String;
0 4 3 fieldDescriptor Ljava/lang/String;
MethodParameters:
Name Flags
className final
fieldName final
fieldDescriptor final
void putField(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "putfield"
ldc "receiver="
aload 0
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:(I)Ljdk/nashorn/internal/codegen/types/Type;
ldc "value="
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
aload 3
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.fieldType:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
2: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
3: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 181
aload 1
aload 2
aload 3
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 5 1 className Ljava/lang/String;
0 5 2 fieldName Ljava/lang/String;
0 5 3 fieldDescriptor Ljava/lang/String;
MethodParameters:
Name Flags
className final
fieldName final
fieldDescriptor final
void putStatic(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "putfield"
ldc "value="
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
aload 3
invokestatic jdk.nashorn.internal.codegen.MethodEmitter.fieldType:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.popType:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
pop
2: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 179
aload 1
aload 2
aload 3
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 4 1 className Ljava/lang/String;
0 4 2 fieldName Ljava/lang/String;
0 4 3 fieldDescriptor Ljava/lang/String;
MethodParameters:
Name Flags
className final
fieldName final
fieldDescriptor final
void lineNumber(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.context:Ljdk/nashorn/internal/runtime/Context;
invokevirtual jdk.nashorn.internal.runtime.Context.getEnv:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
getfield jdk.nashorn.internal.runtime.ScriptEnvironment._debug_lines:Z
ifeq 5
1: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "[LINE]"
aastore
dup
iconst_1
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug_label:([Ljava/lang/Object;)V
2: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 2
start local 2 3: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
4: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.method:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
aload 2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLineNumber:(ILjdk/internal/org/objectweb/asm/Label;)V
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 6 1 line I
3 5 2 l Ljdk/internal/org/objectweb/asm/Label;
MethodParameters:
Name Flags
line final
void beforeJoinPoint(jdk.nashorn.internal.ir.JoinPredecessor);
descriptor: (Ljdk/nashorn/internal/ir/JoinPredecessor;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface jdk.nashorn.internal.ir.JoinPredecessor.getLocalVariableConversion:()Ljdk/nashorn/internal/ir/LocalVariableConversion;
astore 2
start local 2 1: goto 8
2: StackMap locals: jdk.nashorn.internal.ir.LocalVariableConversion
StackMap stack:
aload 2
invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
astore 3
start local 3 3: aload 2
invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.isLive:()Z
ifeq 6
4: aload 0
aload 2
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.emitLocalVariableConversion:(Ljdk/nashorn/internal/ir/LocalVariableConversion;Z)Ljdk/nashorn/internal/codegen/types/Type;
pop
5: goto 7
6: StackMap locals: jdk.nashorn.internal.ir.Symbol
StackMap stack:
aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.markDeadLocalVariable:(Ljdk/nashorn/internal/ir/Symbol;)V
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.getNext:()Ljdk/nashorn/internal/ir/LocalVariableConversion;
astore 2
end local 3 8: StackMap locals:
StackMap stack:
aload 2
ifnonnull 2
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/MethodEmitter;
0 10 1 joinPredecessor Ljdk/nashorn/internal/ir/JoinPredecessor;
1 10 2 next Ljdk/nashorn/internal/ir/LocalVariableConversion;
3 8 3 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
joinPredecessor final
void beforeTry(jdk.nashorn.internal.ir.TryNode, jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/ir/TryNode;Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.nashorn.internal.ir.TryNode.getLocalVariableConversion:()Ljdk/nashorn/internal/ir/LocalVariableConversion;
astore 3
start local 3 1: goto 6
2: StackMap locals: jdk.nashorn.internal.ir.LocalVariableConversion
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.isLive:()Z
ifeq 5
3: aload 0
aload 3
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.emitLocalVariableConversion:(Ljdk/nashorn/internal/ir/LocalVariableConversion;Z)Ljdk/nashorn/internal/codegen/types/Type;
astore 4
start local 4 4: aload 2
invokevirtual jdk.nashorn.internal.codegen.Label.getStack:()Ljdk/nashorn/internal/codegen/Label$Stack;
aload 4
aload 3
invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
aload 4
invokevirtual jdk.nashorn.internal.ir.Symbol.getSlot:(Ljdk/nashorn/internal/codegen/types/Type;)I
iconst_1
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.onLocalStore:(Ljdk/nashorn/internal/codegen/types/Type;IZ)V
end local 4 5: StackMap locals:
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.getNext:()Ljdk/nashorn/internal/ir/LocalVariableConversion;
astore 3
6: StackMap locals:
StackMap stack:
aload 3
ifnonnull 2
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 8 1 tryNode Ljdk/nashorn/internal/ir/TryNode;
0 8 2 recovery Ljdk/nashorn/internal/codegen/Label;
1 8 3 next Ljdk/nashorn/internal/ir/LocalVariableConversion;
4 5 4 to Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
tryNode final
recovery final
private static int dynGetOperation(boolean, boolean);
descriptor: (ZZ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 0
ifeq 4
1: iload 1
ifeq 2
iconst_3
goto 3
StackMap locals:
StackMap stack:
2: iconst_2
StackMap locals:
StackMap stack: int
3: ireturn
4: StackMap locals:
StackMap stack:
iload 1
ifeq 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 isMethod Z
0 7 1 isIndex Z
MethodParameters:
Name Flags
isMethod final
isIndex final
private static int dynSetOperation(boolean);
descriptor: (Z)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ifeq 1
iconst_5
goto 2
StackMap locals:
StackMap stack:
1: iconst_4
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 isIndex Z
MethodParameters:
Name Flags
isIndex final
private jdk.nashorn.internal.codegen.types.Type emitLocalVariableConversion(jdk.nashorn.internal.ir.LocalVariableConversion, boolean);
descriptor: (Ljdk/nashorn/internal/ir/LocalVariableConversion;Z)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.getFrom:()Ljdk/nashorn/internal/codegen/types/Type;
astore 3
start local 3 1: aload 1
invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.getTo:()Ljdk/nashorn/internal/codegen/types/Type;
astore 4
start local 4 2: aload 1
invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
astore 5
start local 5 3: getstatic jdk.nashorn.internal.codegen.MethodEmitter.$assertionsDisabled:Z
ifne 4
aload 5
invokevirtual jdk.nashorn.internal.ir.Symbol.isBytecodeLocal:()Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.ir.Symbol
StackMap stack:
aload 3
getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 7
5: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
8: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 4
iload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Z)V
9: aload 4
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 10 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 10 1 conversion Ljdk/nashorn/internal/ir/LocalVariableConversion;
0 10 2 onlySymbolLiveValue Z
1 10 3 from Ljdk/nashorn/internal/codegen/types/Type;
2 10 4 to Ljdk/nashorn/internal/codegen/types/Type;
3 10 5 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
conversion final
onlySymbolLiveValue final
void print();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.ERR_STREAM:Ljdk/nashorn/internal/codegen/CompilerConstants$FieldAccess;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getField:(Ljdk/nashorn/internal/codegen/CompilerConstants$FieldAccess;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: aload 0
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: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.PRINT: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
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
void println();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.ERR_STREAM:Ljdk/nashorn/internal/codegen/CompilerConstants$FieldAccess;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getField:(Ljdk/nashorn/internal/codegen/CompilerConstants$FieldAccess;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: aload 0
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: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.PRINTLN: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
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
void print(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.ERR_STREAM:Ljdk/nashorn/internal/codegen/CompilerConstants$FieldAccess;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getField:(Ljdk/nashorn/internal/codegen/CompilerConstants$FieldAccess;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.PRINT: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
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 4 1 string Ljava/lang/String;
MethodParameters:
Name Flags
string final
void println(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.ERR_STREAM:Ljdk/nashorn/internal/codegen/CompilerConstants$FieldAccess;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getField:(Ljdk/nashorn/internal/codegen/CompilerConstants$FieldAccess;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.PRINTLN: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
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 4 1 string Ljava/lang/String;
MethodParameters:
Name Flags
string final
void stacktrace();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Ljava/lang/Throwable;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._new:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: aload 0
ldc Ljava/lang/Throwable;
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.constructorNoLookup:(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
3: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.PRINT_STACKTRACE: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
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
private void debug(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.debug:Z
ifeq 2
1: aload 0
bipush 30
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(I[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 args [Ljava/lang/Object;
MethodParameters:
Name Flags
args final
private void debug(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.debug:Z
ifeq 2
1: aload 0
bipush 30
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 arg Ljava/lang/String;
MethodParameters:
Name Flags
arg final
private void debug(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.debug:Z
ifeq 2
1: aload 0
bipush 30
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(I[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 arg0 Ljava/lang/Object;
0 3 2 arg1 Ljava/lang/Object;
MethodParameters:
Name Flags
arg0 final
arg1 final
private void debug(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.debug:Z
ifeq 2
1: aload 0
bipush 30
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 3
aastore
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(I[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 arg0 Ljava/lang/Object;
0 3 2 arg1 Ljava/lang/Object;
0 3 3 arg2 Ljava/lang/Object;
MethodParameters:
Name Flags
arg0 final
arg1 final
arg2 final
private void debug(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, 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.MethodEmitter.debug:Z
ifeq 2
1: aload 0
bipush 30
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 3
aastore
dup
iconst_3
aload 4
aastore
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(I[Ljava/lang/Object;)V
2: 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 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 arg0 Ljava/lang/Object;
0 3 2 arg1 Ljava/lang/Object;
0 3 3 arg2 Ljava/lang/Object;
0 3 4 arg3 Ljava/lang/Object;
MethodParameters:
Name Flags
arg0 final
arg1 final
arg2 final
arg3 final
private void debug(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.debug:Z
ifeq 2
1: aload 0
bipush 30
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 3
aastore
dup
iconst_3
aload 4
aastore
dup
iconst_4
aload 5
aastore
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(I[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
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 Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 arg0 Ljava/lang/Object;
0 3 2 arg1 Ljava/lang/Object;
0 3 3 arg2 Ljava/lang/Object;
0 3 4 arg3 Ljava/lang/Object;
0 3 5 arg4 Ljava/lang/Object;
MethodParameters:
Name Flags
arg0 final
arg1 final
arg2 final
arg3 final
arg4 final
private void debug(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.debug:Z
ifeq 2
1: aload 0
bipush 30
bipush 6
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 3
aastore
dup
iconst_3
aload 4
aastore
dup
iconst_4
aload 5
aastore
dup
iconst_5
aload 6
aastore
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(I[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
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 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 arg0 Ljava/lang/Object;
0 3 2 arg1 Ljava/lang/Object;
0 3 3 arg2 Ljava/lang/Object;
0 3 4 arg3 Ljava/lang/Object;
0 3 5 arg4 Ljava/lang/Object;
0 3 6 arg5 Ljava/lang/Object;
MethodParameters:
Name Flags
arg0 final
arg1 final
arg2 final
arg3 final
arg4 final
arg5 final
private void debug(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.debug:Z
ifeq 2
1: aload 0
bipush 30
bipush 7
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 3
aastore
dup
iconst_3
aload 4
aastore
dup
iconst_4
aload 5
aastore
dup
iconst_5
aload 6
aastore
dup
bipush 6
aload 7
aastore
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(I[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
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 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 arg0 Ljava/lang/Object;
0 3 2 arg1 Ljava/lang/Object;
0 3 3 arg2 Ljava/lang/Object;
0 3 4 arg3 Ljava/lang/Object;
0 3 5 arg4 Ljava/lang/Object;
0 3 6 arg5 Ljava/lang/Object;
0 3 7 arg6 Ljava/lang/Object;
MethodParameters:
Name Flags
arg0 final
arg1 final
arg2 final
arg3 final
arg4 final
arg5 final
arg6 final
private void debug_label(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.debug:Z
ifeq 2
1: aload 0
bipush 22
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.debug:(I[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 3 1 args [Ljava/lang/Object;
MethodParameters:
Name Flags
args final
private void debug(int, java.lang.Object[]);
descriptor: (I[Ljava/lang/Object;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.debug:Z
ifeq 63
1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 2: aload 3
bipush 35
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
3: aload 3
getstatic jdk.nashorn.internal.codegen.MethodEmitter.linePrefix:I
iconst_1
iadd
dup
putstatic jdk.nashorn.internal.codegen.MethodEmitter.linePrefix:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
4: iconst_5
aload 3
invokevirtual java.lang.StringBuilder.length:()I
isub
istore 4
start local 4 5: goto 8
6: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 3
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
7: iinc 4 -1
8: StackMap locals:
StackMap stack:
iload 4
ifgt 6
9: aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 48
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.isEmpty:()Z
ifne 48
10: aload 3
ldc "{"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: aload 3
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
12: aload 3
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: iconst_0
istore 5
start local 5 14: goto 45
15: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
iload 5
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.peek:(I)Ljdk/nashorn/internal/codegen/types/Type;
astore 6
start local 6 16: aload 6
getstatic jdk.nashorn.internal.codegen.types.Type.SCOPE:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 19
17: aload 3
ldc "scope"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: goto 39
StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
19: aload 6
getstatic jdk.nashorn.internal.codegen.types.Type.THIS:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 22
20: aload 3
ldc "this"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
21: goto 39
StackMap locals:
StackMap stack:
22: aload 6
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 38
23: aload 6
invokevirtual jdk.nashorn.internal.codegen.types.Type.getDescriptor:()Ljava/lang/String;
astore 7
start local 7 24: iconst_0
istore 8
start local 8 25: goto 28
26: StackMap locals: java.lang.String int
StackMap stack:
aload 3
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
27: iinc 8 1
StackMap locals:
StackMap stack:
28: aload 7
iload 8
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpne 29
iload 8
aload 7
invokevirtual java.lang.String.length:()I
if_icmplt 26
29: StackMap locals:
StackMap stack:
aload 7
iload 8
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 7
30: aload 7
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 9
start local 9 31: iload 9
iconst_m1
if_icmpeq 33
32: aload 7
iload 9
iconst_1
iadd
aload 7
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
33: StackMap locals: int
StackMap stack:
ldc "Object"
aload 7
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 36
34: aload 3
bipush 79
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
35: goto 39
36: StackMap locals:
StackMap stack:
aload 3
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 9 end local 8 end local 7 37: goto 39
38: StackMap locals:
StackMap stack:
aload 3
aload 6
invokevirtual jdk.nashorn.internal.codegen.types.Type.getDescriptor:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
39: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
getfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
iconst_1
isub
iload 5
isub
iaload
istore 7
start local 7 40: iload 7
iconst_m1
if_icmpeq 42
41: aload 3
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
42: StackMap locals: int
StackMap stack:
iload 5
iconst_1
iadd
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.size:()I
if_icmpge 44
43: aload 3
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 7 end local 6 44: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
45: iload 5
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.stack:Ljdk/nashorn/internal/codegen/Label$Stack;
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.size:()I
if_icmplt 15
end local 5 46: aload 3
bipush 125
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
47: aload 3
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
48: StackMap locals:
StackMap stack:
iload 1
aload 3
invokevirtual java.lang.StringBuilder.length:()I
isub
istore 4
49: goto 52
50: StackMap locals:
StackMap stack:
aload 3
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
51: iinc 4 -1
52: StackMap locals:
StackMap stack:
iload 4
ifgt 50
53: aload 2
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 58
StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter int java.lang.Object[] java.lang.StringBuilder int top int int java.lang.Object[]
StackMap stack:
54: aload 8
iload 6
aaload
astore 5
start local 5 55: aload 3
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
56: aload 3
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 5 57: iinc 6 1
StackMap locals:
StackMap stack:
58: iload 6
iload 7
if_icmplt 54
59: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.context:Ljdk/nashorn/internal/runtime/Context;
invokevirtual jdk.nashorn.internal.runtime.Context.getEnv:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
ifnull 63
60: aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
61: getstatic jdk.nashorn.internal.codegen.MethodEmitter.DEBUG_TRACE_LINE:I
getstatic jdk.nashorn.internal.codegen.MethodEmitter.linePrefix:I
if_icmpne 63
62: new java.lang.Throwable
dup
invokespecial java.lang.Throwable.<init>:()V
aload 0
getfield jdk.nashorn.internal.codegen.MethodEmitter.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.getOutputStream:()Ljava/io/PrintWriter;
invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
end local 4 end local 3 63: StackMap locals: jdk.nashorn.internal.codegen.MethodEmitter int java.lang.Object[]
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 64 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 64 1 padConstant I
0 64 2 args [Ljava/lang/Object;
2 63 3 sb Ljava/lang/StringBuilder;
5 63 4 pad I
14 46 5 pos I
16 44 6 t Ljdk/nashorn/internal/codegen/types/Type;
24 37 7 desc Ljava/lang/String;
25 37 8 i I
31 37 9 slash I
40 44 7 loadIndex I
55 57 5 arg Ljava/lang/Object;
MethodParameters:
Name Flags
padConstant final
args final
void setFunctionNode(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.nashorn.internal.codegen.MethodEmitter.functionNode:Ljdk/nashorn/internal/ir/FunctionNode;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
0 2 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
MethodParameters:
Name Flags
functionNode final
void setPreventUndefinedLoad();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield jdk.nashorn.internal.codegen.MethodEmitter.preventUndefinedLoad:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/MethodEmitter;
private static boolean isOptimistic(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 64
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 flags I
MethodParameters:
Name Flags
flags final
}
SourceFile: "MethodEmitter.java"
NestMembers:
jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef
InnerClasses:
final Flag = jdk.nashorn.internal.codegen.ClassEmitter$Flag of jdk.nashorn.internal.codegen.ClassEmitter
public abstract Call = jdk.nashorn.internal.codegen.CompilerConstants$Call of jdk.nashorn.internal.codegen.CompilerConstants
public abstract FieldAccess = jdk.nashorn.internal.codegen.CompilerConstants$FieldAccess of jdk.nashorn.internal.codegen.CompilerConstants
final Stack = jdk.nashorn.internal.codegen.Label$Stack of jdk.nashorn.internal.codegen.Label
private LocalVariableDef = jdk.nashorn.internal.codegen.MethodEmitter$LocalVariableDef of jdk.nashorn.internal.codegen.MethodEmitter