final class jdk.nashorn.internal.codegen.CodeGenerator extends jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor<jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext> implements jdk.nashorn.internal.runtime.logging.Loggable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.codegen.CodeGenerator
super_class: jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor
{
private static final jdk.nashorn.internal.codegen.types.Type SCOPE_TYPE;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String GLOBAL_OBJECT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call CREATE_REWRITE_EXCEPTION;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call CREATE_REWRITE_EXCEPTION_REST_OF;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call ENSURE_INT;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call ENSURE_NUMBER;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call CREATE_FUNCTION_OBJECT;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call CREATE_FUNCTION_OBJECT_NO_SCOPE;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call TO_NUMBER_FOR_EQ;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call TO_NUMBER_FOR_STRICT_EQ;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Class<?> ITERATOR_CLASS;
descriptor: Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private static final jdk.nashorn.internal.codegen.types.Type ITERATOR_TYPE;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.types.Type EXCEPTION_TYPE;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Integer INT_ZERO;
descriptor: Ljava/lang/Integer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final jdk.nashorn.internal.codegen.Compiler compiler;
descriptor: Ljdk/nashorn/internal/codegen/Compiler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean evalCode;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int callSiteFlags;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int regexFieldCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int lastLineNumber;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int MAX_REGEX_FIELDS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2048
private jdk.nashorn.internal.codegen.MethodEmitter method;
descriptor: Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
private jdk.nashorn.internal.codegen.CompileUnit unit;
descriptor: Ljdk/nashorn/internal/codegen/CompileUnit;
flags: (0x0002) ACC_PRIVATE
private final jdk.nashorn.internal.runtime.logging.DebugLogger log;
descriptor: Ljdk/nashorn/internal/runtime/logging/DebugLogger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final int OBJECT_SPILL_THRESHOLD;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
private final java.util.Set<java.lang.String> emittedMethods;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo continuationInfo;
descriptor: Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
flags: (0x0002) ACC_PRIVATE
private final java.util.Deque<jdk.nashorn.internal.codegen.Label> scopeEntryLabels;
descriptor: Ljava/util/Deque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Deque<Ljdk/nashorn/internal/codegen/Label;>;
private static final jdk.nashorn.internal.codegen.Label METHOD_BOUNDARY;
descriptor: Ljdk/nashorn/internal/codegen/Label;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.Deque<jdk.nashorn.internal.codegen.Label> catchLabels;
descriptor: Ljava/util/Deque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Deque<Ljdk/nashorn/internal/codegen/Label;>;
private final jdk.nashorn.internal.IntDeque labeledBlockBreakLiveLocals;
descriptor: Ljdk/nashorn/internal/IntDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] continuationEntryPoints;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Deque<jdk.nashorn.internal.codegen.FieldObjectCreator<?>> scopeObjectCreators;
descriptor: Ljava/util/Deque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Deque<Ljdk/nashorn/internal/codegen/FieldObjectCreator<*>;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$jdk$nashorn$internal$parser$TokenType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=0, args_size=0
0: ldc Ljdk/nashorn/internal/codegen/CodeGenerator;
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.CodeGenerator.$assertionsDisabled:Z
3: ldc Ljdk/nashorn/internal/runtime/ScriptObject;
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
putstatic jdk.nashorn.internal.codegen.CodeGenerator.SCOPE_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
4: ldc Ljdk/nashorn/internal/objects/Global;
invokestatic jdk.nashorn.internal.codegen.types.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
putstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
5: ldc Ljdk/nashorn/internal/runtime/RewriteException;
6: ldc "create"
ldc Ljdk/nashorn/internal/runtime/RewriteException;
iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Ljdk/nashorn/internal/runtime/UnwarrantedOptimismException;
aastore
dup
iconst_1
ldc [Ljava/lang/Object;
aastore
dup
iconst_2
ldc [Ljava/lang/String;
aastore
7: invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_REWRITE_EXCEPTION:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
8: ldc Ljdk/nashorn/internal/runtime/RewriteException;
9: ldc "create"
ldc Ljdk/nashorn/internal/runtime/RewriteException;
iconst_4
anewarray java.lang.Class
dup
iconst_0
ldc Ljdk/nashorn/internal/runtime/UnwarrantedOptimismException;
aastore
dup
iconst_1
ldc [Ljava/lang/Object;
aastore
dup
iconst_2
ldc [Ljava/lang/String;
aastore
dup
iconst_3
ldc [I
aastore
10: invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_REWRITE_EXCEPTION_REST_OF:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
11: ldc Ljdk/nashorn/internal/runtime/OptimisticReturnFilters;
12: ldc "ensureInt"
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
dup
iconst_1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
13: invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.codegen.CodeGenerator.ENSURE_INT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
14: ldc Ljdk/nashorn/internal/runtime/OptimisticReturnFilters;
15: ldc "ensureNumber"
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
dup
iconst_1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
16: invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.codegen.CodeGenerator.ENSURE_NUMBER:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
17: ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
18: ldc "create"
ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc [Ljava/lang/Object;
aastore
dup
iconst_1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
dup
iconst_2
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
aastore
19: invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_FUNCTION_OBJECT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
20: ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
21: ldc "create"
ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc [Ljava/lang/Object;
aastore
dup
iconst_1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
22: invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_FUNCTION_OBJECT_NO_SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
23: ldc Ljdk/nashorn/internal/runtime/JSType;
24: ldc "toNumberForEq"
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
25: invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.codegen.CodeGenerator.TO_NUMBER_FOR_EQ:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
26: ldc Ljdk/nashorn/internal/runtime/JSType;
27: ldc "toNumberForStrictEq"
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
28: invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.codegen.CodeGenerator.TO_NUMBER_FOR_STRICT_EQ:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
29: ldc Ljava/util/Iterator;
putstatic jdk.nashorn.internal.codegen.CodeGenerator.ITERATOR_CLASS:Ljava/lang/Class;
30: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 31
getstatic jdk.nashorn.internal.codegen.CodeGenerator.ITERATOR_CLASS:Ljava/lang/Class;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.ITERATOR_PREFIX:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.type:()Ljava/lang/Class;
if_acmpeq 31
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
31: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.ITERATOR_CLASS:Ljava/lang/Class;
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
putstatic jdk.nashorn.internal.codegen.CodeGenerator.ITERATOR_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
32: getstatic jdk.nashorn.internal.codegen.CompilerConstants.EXCEPTION_PREFIX:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.type:()Ljava/lang/Class;
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
putstatic jdk.nashorn.internal.codegen.CodeGenerator.EXCEPTION_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
33: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic jdk.nashorn.internal.codegen.CodeGenerator.INT_ZERO:Ljava/lang/Integer;
34: ldc "nashorn.spill.threshold"
sipush 256
invokestatic jdk.nashorn.internal.runtime.options.Options.getIntProperty:(Ljava/lang/String;I)I
putstatic jdk.nashorn.internal.codegen.CodeGenerator.OBJECT_SPILL_THRESHOLD:I
35: new jdk.nashorn.internal.codegen.Label
dup
ldc ""
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
putstatic jdk.nashorn.internal.codegen.CodeGenerator.METHOD_BOUNDARY:Ljdk/nashorn/internal/codegen/Label;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.nashorn.internal.codegen.Compiler, int[]);
descriptor: (Ljdk/nashorn/internal/codegen/Compiler;[I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
dup
invokespecial jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.<init>:()V
invokespecial jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;)V
1: aload 0
iconst_m1
putfield jdk.nashorn.internal.codegen.CodeGenerator.lastLineNumber:I
2: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield jdk.nashorn.internal.codegen.CodeGenerator.emittedMethods:Ljava/util/Set;
3: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield jdk.nashorn.internal.codegen.CodeGenerator.scopeEntryLabels:Ljava/util/Deque;
4: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
5: aload 0
new jdk.nashorn.internal.IntDeque
dup
invokespecial jdk.nashorn.internal.IntDeque.<init>:()V
putfield jdk.nashorn.internal.codegen.CodeGenerator.labeledBlockBreakLiveLocals:Ljdk/nashorn/internal/IntDeque;
6: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield jdk.nashorn.internal.codegen.CodeGenerator.scopeObjectCreators:Ljava/util/Deque;
7: aload 0
aload 1
putfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
8: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Compiler.getSource:()Ljdk/nashorn/internal/runtime/Source;
invokevirtual jdk.nashorn.internal.runtime.Source.isEvalCode:()Z
putfield jdk.nashorn.internal.codegen.CodeGenerator.evalCode:Z
9: aload 0
aload 2
putfield jdk.nashorn.internal.codegen.CodeGenerator.continuationEntryPoints:[I
10: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Compiler.getScriptEnvironment:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
getfield jdk.nashorn.internal.runtime.ScriptEnvironment._callsite_flags:I
putfield jdk.nashorn.internal.codegen.CodeGenerator.callSiteFlags:I
11: aload 0
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Compiler.getContext:()Ljdk/nashorn/internal/runtime/Context;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initLogger:(Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
putfield jdk.nashorn.internal.codegen.CodeGenerator.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 13 1 compiler Ljdk/nashorn/internal/codegen/Compiler;
0 13 2 continuationEntryPoints [I
MethodParameters:
Name Flags
compiler final
continuationEntryPoints final
public jdk.nashorn.internal.runtime.logging.DebugLogger getLogger();
descriptor: ()Ljdk/nashorn/internal/runtime/logging/DebugLogger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
public jdk.nashorn.internal.runtime.logging.DebugLogger initLogger(jdk.nashorn.internal.runtime.Context);
descriptor: (Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual jdk.nashorn.internal.runtime.Context.getLogger:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 1 1 context Ljdk/nashorn/internal/runtime/Context;
MethodParameters:
Name Flags
context final
int getCallSiteFlags();
descriptor: ()I
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getCallSiteFlags:()I
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.callSiteFlags:I
ior
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private int getScopeCallSiteFlags(jdk.nashorn.internal.ir.Symbol);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCallSiteFlags:()I
bipush 16
ior
istore 2
start local 2 2: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isEvalCode:()Z
ifeq 4
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isGlobal:()Z
ifeq 4
3: iload 2
ireturn
4: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isFastScope:(Ljdk/nashorn/internal/ir/Symbol;)Z
ifeq 5
iload 2
bipush 64
ior
goto 6
StackMap locals:
StackMap stack:
5: iload 2
StackMap locals:
StackMap stack: int
6: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 7 1 symbol Ljdk/nashorn/internal/ir/Symbol;
2 7 2 flags I
MethodParameters:
Name Flags
symbol final
boolean isEvalCode();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.evalCode:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
boolean useDualFields();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
invokevirtual jdk.nashorn.internal.codegen.Compiler.getContext:()Ljdk/nashorn/internal/runtime/Context;
invokevirtual jdk.nashorn.internal.runtime.Context.useDualFields:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private jdk.nashorn.internal.codegen.MethodEmitter loadIdent(jdk.nashorn.internal.ir.IdentNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.checkTemporalDeadZone:(Ljdk/nashorn/internal/ir/IdentNode;)V
1: aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
astore 3
start local 3 2: aload 3
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
ifne 8
3: aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 4
start local 4 4: aload 4
getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 6
5: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
6: StackMap locals: jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.types.Type
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 7
aload 3
invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
ifne 7
aload 3
invokevirtual jdk.nashorn.internal.ir.Symbol.isParam:()Z
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 4 8: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 9
aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()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 " is not in scope!"
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
aload 3
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getScopeCallSiteFlags:(Ljdk/nashorn/internal/ir/Symbol;)I
istore 4
start local 4 10: aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isFastScope:(Ljdk/nashorn/internal/ir/Symbol;)Z
ifne 13
11: new jdk.nashorn.internal.codegen.CodeGenerator$LoadScopeVar
dup
aload 0
aload 1
aload 2
iload 4
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$LoadScopeVar.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;I)V
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$LoadScopeVar.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
12: goto 18
StackMap locals: int
StackMap stack:
13: aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.isCompileTimePropertyName:()Z
ifne 14
aload 3
invokevirtual jdk.nashorn.internal.ir.Symbol.getUseCount:()I
getstatic jdk.nashorn.internal.codegen.SharedScopeCall.SHARED_GET_THRESHOLD:I
if_icmpge 16
14: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.codegen.CodeGenerator$LoadFastScopeVar
dup
aload 0
aload 1
aload 2
iload 4
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$LoadFastScopeVar.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;I)V
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$LoadFastScopeVar.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
15: goto 18
16: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.codegen.CodeGenerator$1
dup
aload 0
aload 0
aload 1
aload 2
aload 3
aload 2
iload 4
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$1.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;I)V
17: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$1.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
18: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
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/CodeGenerator;
0 19 1 identNode Ljdk/nashorn/internal/ir/IdentNode;
0 19 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
2 19 3 symbol Ljdk/nashorn/internal/ir/Symbol;
4 8 4 type Ljdk/nashorn/internal/codegen/types/Type;
10 19 4 flags I
MethodParameters:
Name Flags
identNode final
resultBounds final
private void checkTemporalDeadZone(jdk.nashorn.internal.ir.IdentNode);
descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.isDead:()Z
ifeq 2
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.THROW_REFERENCE_ERROR: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
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/CodeGenerator;
0 3 1 identNode Ljdk/nashorn/internal/ir/IdentNode;
MethodParameters:
Name Flags
identNode final
private void checkAssignTarget(jdk.nashorn.internal.ir.Expression);
descriptor: (Ljdk/nashorn/internal/ir/Expression;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof jdk.nashorn.internal.ir.IdentNode
ifeq 2
aload 1
checkcast jdk.nashorn.internal.ir.IdentNode
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.ir.Symbol.isConst:()Z
ifeq 2
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
checkcast jdk.nashorn.internal.ir.IdentNode
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.THROW_CONST_TYPE_ERROR: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
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/CodeGenerator;
0 3 1 expression Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
expression final
private boolean isRestOf();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.continuationEntryPoints:[I
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/CodeGenerator;
private boolean isCurrentContinuationEntryPoint(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
ifeq 1
aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCurrentContinuationEntryPoint:()I
iload 1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 2 1 programPoint I
MethodParameters:
Name Flags
programPoint final
private int[] getContinuationEntryPoints();
descriptor: ()[I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
ifeq 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.continuationEntryPoints:[I
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: int[]
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private int getCurrentContinuationEntryPoint();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
ifeq 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.continuationEntryPoints:[I
iconst_0
iaload
goto 2
StackMap locals:
StackMap stack:
1: iconst_m1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private boolean isContinuationEntryPoint(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
ifeq 8
1: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 2
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.continuationEntryPoints:[I
ifnonnull 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.CodeGenerator.continuationEntryPoints:[I
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 7
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator int top int int int[]
StackMap stack:
3: aload 5
iload 3
iaload
istore 2
start local 2 4: iload 2
iload 1
if_icmpne 6
5: iconst_1
ireturn
end local 2 6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 4
if_icmplt 3
8: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator int
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 9 1 programPoint I
4 6 2 cep I
MethodParameters:
Name Flags
programPoint final
private boolean isFastScope(jdk.nashorn.internal.ir.Symbol);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.inDynamicScope:()Z
ifne 5
3: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 4
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isGlobal:()Z
ifne 4
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getDefiningBlock:(Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/Block;
invokevirtual jdk.nashorn.internal.ir.Block.needsScope:()Z
ifne 4
new java.lang.AssertionError
dup
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isGlobal:()Z
ifeq 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
astore 2
start local 2 8: iconst_0
istore 3
start local 3 9: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getAllNodes:()Ljava/util/Iterator;
astore 4
start local 4 10: goto 23
11: StackMap locals: java.lang.String int java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.LexicalContextNode
astore 5
start local 5 12: aload 5
instanceof jdk.nashorn.internal.ir.Block
ifeq 19
13: aload 5
checkcast jdk.nashorn.internal.ir.Block
astore 6
start local 6 14: aload 6
aload 2
invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
aload 1
if_acmpne 17
15: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 16
aload 6
invokevirtual jdk.nashorn.internal.ir.Block.needsScope:()Z
ifne 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals: jdk.nashorn.internal.ir.LexicalContextNode jdk.nashorn.internal.ir.Block
StackMap stack:
iconst_1
ireturn
17: StackMap locals:
StackMap stack:
iconst_1
istore 3
end local 6 18: goto 23
19: StackMap locals:
StackMap stack:
aload 5
instanceof jdk.nashorn.internal.ir.WithNode
ifeq 20
iload 3
ifne 21
StackMap locals:
StackMap stack:
20: aload 5
instanceof jdk.nashorn.internal.ir.FunctionNode
ifeq 22
aload 5
checkcast jdk.nashorn.internal.ir.FunctionNode
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsDynamicScope:()Z
ifeq 22
21: StackMap locals:
StackMap stack:
iconst_0
ireturn
22: StackMap locals:
StackMap stack:
iconst_0
istore 3
end local 5 23: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 4 24: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 25 1 symbol Ljdk/nashorn/internal/ir/Symbol;
8 25 2 name Ljava/lang/String;
9 25 3 previousWasBlock Z
10 24 4 it Ljava/util/Iterator<Ljdk/nashorn/internal/ir/LexicalContextNode;>;
12 23 5 node Ljdk/nashorn/internal/ir/LexicalContextNode;
14 18 6 block Ljdk/nashorn/internal/ir/Block;
MethodParameters:
Name Flags
symbol final
private jdk.nashorn.internal.codegen.MethodEmitter storeFastScopeVar(jdk.nashorn.internal.ir.Symbol, int);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadFastScopeProto:(Ljdk/nashorn/internal/ir/Symbol;Z)V
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
iload 2
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicSet:(Ljava/lang/String;IZ)V
2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 symbol Ljdk/nashorn/internal/ir/Symbol;
0 3 2 flags I
MethodParameters:
Name Flags
symbol final
flags final
private int getScopeProtoDepth(jdk.nashorn.internal.ir.Block, jdk.nashorn.internal.ir.Symbol);
descriptor: (Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/Symbol;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
astore 3
start local 3 1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getId:()I
invokevirtual jdk.nashorn.internal.codegen.Compiler.getScriptFunctionData:(I)Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
aload 2
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getExternalSymbolDepth:(Ljava/lang/String;)I
istore 4
start local 4 2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 3
aload 1
aload 2
invokestatic jdk.nashorn.internal.codegen.FindScopeDepths.findInternalDepth:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/Symbol;)I
istore 5
start local 5 3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 3
aload 1
invokestatic jdk.nashorn.internal.codegen.FindScopeDepths.findScopesToStart:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Block;)I
istore 6
start local 6 4: iconst_0
istore 7
start local 7 5: iload 5
iconst_m1
if_icmpne 8
6: iload 6
iload 4
iadd
istore 7
7: goto 10
8: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.FunctionNode int int int int
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 9
iload 5
iload 6
if_icmple 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
iload 5
istore 7
10: StackMap locals:
StackMap stack:
iload 7
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 11 1 startingBlock Ljdk/nashorn/internal/ir/Block;
0 11 2 symbol Ljdk/nashorn/internal/ir/Symbol;
1 11 3 fn Ljdk/nashorn/internal/ir/FunctionNode;
2 11 4 externalDepth I
3 11 5 internalDepth I
4 11 6 scopesToStart I
5 11 7 depth I
MethodParameters:
Name Flags
startingBlock final
symbol final
private void loadFastScopeProto(jdk.nashorn.internal.ir.Symbol, boolean);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentBlock:()Ljdk/nashorn/internal/ir/Block;
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getScopeProtoDepth:(Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/Symbol;)I
istore 3
start local 3 1: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 2
iload 3
iconst_m1
if_icmpne 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Couldn't find scope depth for symbol "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
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: int
StackMap stack:
iload 3
ifle 8
3: iload 2
ifeq 5
4: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: StackMap locals:
StackMap stack:
aload 0
iload 3
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.invokeGetProto:(I)V
6: iload 2
ifeq 8
7: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
8: StackMap locals:
StackMap stack:
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/CodeGenerator;
0 9 1 symbol Ljdk/nashorn/internal/ir/Symbol;
0 9 2 swap Z
1 9 3 depth I
MethodParameters:
Name Flags
symbol final
swap final
private void invokeGetProto(int);
descriptor: (I)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.CodeGenerator.$assertionsDisabled:Z
ifne 1
iload 1
ifgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmple 5
2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptObject.GET_PROTO_DEPTH: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: goto 6
5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptObject.GET_PROTO:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 7 1 depth I
MethodParameters:
Name Flags
depth final
private jdk.nashorn.internal.codegen.MethodEmitter loadExpressionUnbounded(jdk.nashorn.internal.ir.Expression);
descriptor: (Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)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/CodeGenerator;
0 1 1 expr Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
expr final
private jdk.nashorn.internal.codegen.MethodEmitter loadExpressionAsObject(jdk.nashorn.internal.ir.Expression);
descriptor: (Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.OBJECT:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)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/CodeGenerator;
0 1 1 expr Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
expr final
jdk.nashorn.internal.codegen.MethodEmitter loadExpressionAsBoolean(jdk.nashorn.internal.ir.Expression);
descriptor: (Ljdk/nashorn/internal/ir/Expression;)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
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.BOOLEAN:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)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/CodeGenerator;
0 1 1 expr Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
expr final
private static boolean noToPrimitiveConversion(jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.isJSPrimitive:()Z
ifne 1
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isJSPrimitive:()Z
ifeq 1
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 source Ljdk/nashorn/internal/codegen/types/Type;
0 2 1 target Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
source final
target final
jdk.nashorn.internal.codegen.MethodEmitter loadBinaryOperands(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.getWidestOperandType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notWiderThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
iconst_0
iconst_0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadBinaryOperands:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;ZZ)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/CodeGenerator;
0 1 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private jdk.nashorn.internal.codegen.MethodEmitter loadBinaryOperands(jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds, boolean, boolean);
descriptor: (Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;ZZ)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=13, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.undefinedToNumber:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
astore 6
start local 6 1: aload 2
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.undefinedToNumber:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
astore 7
start local 7 2: aload 6
aload 7
invokestatic jdk.nashorn.internal.codegen.types.Type.widest:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
aload 3
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.types.Type.narrowest:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
astore 8
start local 8 3: aload 3
aload 8
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
astore 9
start local 9 4: aload 6
aload 3
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.noToPrimitiveConversion:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Z
ifne 5
aload 2
invokevirtual jdk.nashorn.internal.ir.Expression.isLocal:()Z
ifeq 15
5: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds int int jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
StackMap stack:
iload 5
ifeq 12
6: getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
aload 8
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
astore 10
start local 10 7: aload 0
aload 1
aload 10
iload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
8: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.within:(Ljdk/nashorn/internal/codegen/types/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
9: aload 0
aload 2
aload 10
iconst_0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
10: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.within:(Ljdk/nashorn/internal/codegen/types/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
end local 10 11: goto 23
12: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 9
iload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
13: aload 0
aload 2
aload 9
iconst_0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
14: goto 23
15: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
aload 8
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
astore 10
start local 10 16: aload 0
aload 1
aload 10
iload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
17: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 11
start local 11 18: aload 0
aload 2
aload 10
iconst_0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
19: aload 9
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.within:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
astore 12
start local 12 20: aload 12
aload 11
if_acmpeq 22
21: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 12
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
22: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.within:(Ljdk/nashorn/internal/codegen/types/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
end local 12 end local 11 end local 10 23: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 24
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.types.Type.generic:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
aload 9
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpeq 24
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 25
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:(I)Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.types.Type.generic:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
aload 9
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpeq 25
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
25: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 26 1 lhs Ljdk/nashorn/internal/ir/Expression;
0 26 2 rhs Ljdk/nashorn/internal/ir/Expression;
0 26 3 explicitOperandBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
0 26 4 baseAlreadyOnStack Z
0 26 5 forceConversionSeparation Z
1 26 6 lhsType Ljdk/nashorn/internal/codegen/types/Type;
2 26 7 rhsType Ljdk/nashorn/internal/codegen/types/Type;
3 26 8 narrowestOperandType Ljdk/nashorn/internal/codegen/types/Type;
4 26 9 operandBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
7 11 10 safeConvertBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
16 23 10 safeConvertBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
18 23 11 lhsLoadedType Ljdk/nashorn/internal/codegen/types/Type;
20 23 12 convertedLhsType Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
lhs final
rhs final
explicitOperandBounds final
baseAlreadyOnStack final
forceConversionSeparation final
jdk.nashorn.internal.codegen.MethodEmitter loadComparisonOperands(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0000)
Code:
stack=3, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
astore 3
start local 3 2: aload 2
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 4
start local 4 3: aload 3
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 5
start local 5 4: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 5
aload 4
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 5
aload 5
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.BinaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 4
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifne 6
aload 5
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 30
6: StackMap locals:
StackMap stack:
aload 4
invokevirtual jdk.nashorn.internal.codegen.types.Type.isPrimitive:()Z
ifne 7
aload 3
invokevirtual jdk.nashorn.internal.ir.Expression.isLocal:()Z
ifne 7
iconst_0
goto 8
StackMap locals:
StackMap stack:
7: iconst_1
StackMap locals:
StackMap stack: int
8: istore 6
start local 6 9: iload 6
ifeq 10
aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.isRelational:()Z
ifeq 10
iconst_1
goto 11
StackMap locals: int
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 7
start local 7 12: aload 0
aload 2
iload 7
ifeq 13
aload 2
invokevirtual jdk.nashorn.internal.ir.Expression.isOptimistic:()Z
ifne 13
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.NUMBER:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
goto 14
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.BinaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type int int
StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Expression
13: getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.BinaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type int int
StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
14: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
15: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 8
start local 8 16: aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.tokenType:()Ljdk/nashorn/internal/parser/TokenType;
astore 9
start local 9 17: iload 6
ifeq 23
18: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.emitObjectToNumberComparisonConversion:(Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/parser/TokenType;)V
19: aload 0
aload 3
iload 7
ifeq 20
aload 3
invokevirtual jdk.nashorn.internal.ir.Expression.isOptimistic:()Z
ifne 20
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.NUMBER:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
goto 21
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.BinaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type int int jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.parser.TokenType
StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Expression
20: getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.BinaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type int int jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.parser.TokenType
StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
21: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
22: goto 28
23: StackMap locals:
StackMap stack:
aload 0
aload 3
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
24: aload 8
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
if_acmpeq 28
25: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
26: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.emitObjectToNumberComparisonConversion:(Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/parser/TokenType;)V
27: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
28: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.emitObjectToNumberComparisonConversion:(Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/parser/TokenType;)V
29: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 9 end local 8 end local 7 end local 6 30: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.BinaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadBinaryOperands:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
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 31 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 31 1 cmp Ljdk/nashorn/internal/ir/BinaryNode;
1 31 2 lhs Ljdk/nashorn/internal/ir/Expression;
2 31 3 rhs Ljdk/nashorn/internal/ir/Expression;
3 31 4 lhsType Ljdk/nashorn/internal/codegen/types/Type;
4 31 5 rhsType Ljdk/nashorn/internal/codegen/types/Type;
9 30 6 canReorder Z
12 30 7 canCombineLoadAndConvert Z
16 30 8 lhsLoadedType Ljdk/nashorn/internal/codegen/types/Type;
17 30 9 tt Ljdk/nashorn/internal/parser/TokenType;
MethodParameters:
Name Flags
cmp final
private static void emitObjectToNumberComparisonConversion(jdk.nashorn.internal.codegen.MethodEmitter, jdk.nashorn.internal.parser.TokenType);
descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/parser/TokenType;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic jdk.nashorn.internal.codegen.CodeGenerator.$SWITCH_TABLE$jdk$nashorn$internal$parser$TokenType:()[I
aload 1
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
iaload
lookupswitch { // 4
7: 1
8: 4
37: 1
38: 4
default: 7
}
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 7
2: getstatic jdk.nashorn.internal.codegen.CodeGenerator.TO_NUMBER_FOR_EQ: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
3: return
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 7
5: getstatic jdk.nashorn.internal.codegen.CodeGenerator.TO_NUMBER_FOR_STRICT_EQ: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
6: return
7: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 method Ljdk/nashorn/internal/codegen/MethodEmitter;
0 9 1 tt Ljdk/nashorn/internal/parser/TokenType;
MethodParameters:
Name Flags
method final
tt final
private static jdk.nashorn.internal.codegen.types.Type undefinedToNumber(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 1
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.types.Type
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
private static jdk.nashorn.internal.codegen.types.Type booleanToInt(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 1
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.types.Type
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 t Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
t final
private static jdk.nashorn.internal.codegen.types.Type objectToNumber(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 1
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.types.Type
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 t Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
t final
jdk.nashorn.internal.codegen.MethodEmitter loadExpressionAsType(jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;)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 2
getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 2
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsBoolean:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
2: StackMap locals:
StackMap stack:
aload 2
getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 5
3: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 4
aload 1
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()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:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
5: StackMap locals:
StackMap stack:
aload 0
aload 1
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(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/CodeGenerator;
0 6 1 expr Ljdk/nashorn/internal/ir/Expression;
0 6 2 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
expr final
type final
private jdk.nashorn.internal.codegen.MethodEmitter loadExpression(jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
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_0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)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/CodeGenerator;
0 1 1 expr Ljdk/nashorn/internal/ir/Expression;
0 1 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
MethodParameters:
Name Flags
expr final
resultBounds final
private jdk.nashorn.internal.codegen.MethodEmitter loadExpression(jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds, boolean);
descriptor: (Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
astore 4
start local 4 1: aload 4
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.isCurrentDiscard:(Ljdk/nashorn/internal/ir/Expression;)Z
istore 5
start local 5 2: aload 1
new jdk.nashorn.internal.codegen.CodeGenerator$2
dup
aload 0
new jdk.nashorn.internal.ir.LexicalContext
dup
invokespecial jdk.nashorn.internal.ir.LexicalContext.<init>:()V
aload 2
iload 3
aload 4
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$2.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;ZLjdk/nashorn/internal/codegen/CodeGenerator;)V
invokevirtual jdk.nashorn.internal.ir.Expression.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
3: iload 5
ifne 5
4: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.coerceStackTop:(Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
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 6 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 6 1 expr Ljdk/nashorn/internal/ir/Expression;
0 6 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
0 6 3 baseAlreadyOnStack Z
1 6 4 codegen Ljdk/nashorn/internal/codegen/CodeGenerator;
2 6 5 isCurrentDiscard Z
MethodParameters:
Name Flags
expr final
resultBounds final
baseAlreadyOnStack final
private jdk.nashorn.internal.codegen.MethodEmitter coerceStackTop(jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
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.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.within:(Ljdk/nashorn/internal/codegen/types/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;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 1 1 typeBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
MethodParameters:
Name Flags
typeBounds final
private void closeBlockVariables(jdk.nashorn.internal.ir.Block);
descriptor: (Ljdk/nashorn/internal/ir/Block;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.Block.getSymbols:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Symbol
astore 2
start local 2 2: aload 2
invokevirtual jdk.nashorn.internal.ir.Symbol.isBytecodeLocal:()Z
ifeq 4
3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
aload 1
invokevirtual jdk.nashorn.internal.ir.Block.getBreakLabel:()Ljdk/nashorn/internal/codegen/Label;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.closeLocalVariable:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/Label;)V
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 6 1 block Ljdk/nashorn/internal/ir/Block;
2 4 2 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
block final
public boolean enterBlock(jdk.nashorn.internal.ir.Block);
descriptor: (Ljdk/nashorn/internal/ir/Block;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.Block.getEntryLabel:()Ljdk/nashorn/internal/codegen/Label;
astore 2
start local 2 1: aload 2
invokevirtual jdk.nashorn.internal.codegen.Label.isBreakTarget:()Z
ifeq 5
2: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 3
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: jdk.nashorn.internal.codegen.Label
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getUsedSlotCount:()I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 8
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.isFunctionBody:()Z
ifeq 10
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.emittedMethods:Ljava/util/Set;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 10
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initLocals:(Ljdk/nashorn/internal/ir/Block;)V
11: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 12
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getUsedSlotCount:()I
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getFirstTemp:()I
if_icmpeq 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 13 1 block Ljdk/nashorn/internal/ir/Block;
1 13 2 entryLabel Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
block final
boolean useOptimisticTypes();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.inSplitLiteral:()Z
ifne 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
invokevirtual jdk.nashorn.internal.codegen.Compiler.useOptimisticTypes:()Z
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 this Ljdk/nashorn/internal/codegen/CodeGenerator;
public jdk.nashorn.internal.ir.Node leaveBlock(jdk.nashorn.internal.ir.Block);
descriptor: (Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popBlockScope:(Ljdk/nashorn/internal/ir/Block;)V
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
2: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.closeBlockVariables:(Ljdk/nashorn/internal/ir/Block;)V
3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.releaseSlots:()V
4: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 12
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 12
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.isFunctionBody:()Z
ifeq 5
iconst_0
goto 6
StackMap locals:
StackMap stack:
5: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getUsedSlotCount:()I
StackMap locals:
StackMap stack: int
6: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getFirstTemp:()I
if_icmpeq 12
new java.lang.AssertionError
dup
7: new java.lang.StringBuilder
dup
ldc "reachable="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
8: ldc " isFunctionBody="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.isFunctionBody:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
9: ldc " usedSlotCount="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getUsedSlotCount:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
10: ldc " firstTemp="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getFirstTemp:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
12: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 13 1 block Ljdk/nashorn/internal/ir/Block;
MethodParameters:
Name Flags
block final
private void popBlockScope(jdk.nashorn.internal.ir.Block);
descriptor: (Ljdk/nashorn/internal/ir/Block;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.Block.getBreakLabel:()Ljdk/nashorn/internal/codegen/Label;
astore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.Block.providesScopeCreator:()Z
ifeq 3
2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.scopeObjectCreators:Ljava/util/Deque;
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
pop
3: StackMap locals: jdk.nashorn.internal.codegen.Label
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.Block.needsScope:()Z
ifeq 4
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.isFunctionBody:()Z
ifeq 6
4: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBlockBreakLabel:(Ljdk/nashorn/internal/codegen/Label;)V
5: return
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.scopeEntryLabels:Ljava/util/Deque;
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.Label
astore 3
start local 3 7: new jdk.nashorn.internal.codegen.Label
dup
ldc "block_popscope_catch"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 4
start local 4 8: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBlockBreakLabel:(Ljdk/nashorn/internal/codegen/Label;)V
9: aload 2
aload 3
invokevirtual jdk.nashorn.internal.codegen.Label.isAfter:(Ljdk/nashorn/internal/codegen/Label;)Z
istore 5
start local 5 10: iload 5
ifeq 12
11: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
aload 2
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._try:(Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;)V
12: StackMap locals: jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int
StackMap stack:
aconst_null
astore 6
start local 6 13: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 18
14: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScope:()V
15: iload 5
ifeq 18
16: new jdk.nashorn.internal.codegen.Label
dup
ldc "block_after_catch"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 6
17: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
18: StackMap locals: jdk.nashorn.internal.codegen.Label
StackMap stack:
iload 5
ifeq 23
19: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 20
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._catch:(Ljdk/nashorn/internal/codegen/Label;)V
21: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScopeException:()V
22: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.athrow:()V
23: StackMap locals:
StackMap stack:
aload 6
ifnull 25
24: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
25: 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 26 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 26 1 block Ljdk/nashorn/internal/ir/Block;
1 26 2 breakLabel Ljdk/nashorn/internal/codegen/Label;
7 26 3 beginTryLabel Ljdk/nashorn/internal/codegen/Label;
8 26 4 recoveryLabel Ljdk/nashorn/internal/codegen/Label;
10 26 5 bodyCanThrow Z
13 26 6 afterCatchLabel Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
block final
private void emitBlockBreakLabel(jdk.nashorn.internal.codegen.Label);
descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentBlockLabelNode:()Ljdk/nashorn/internal/ir/LabelNode;
astore 2
start local 2 1: aload 2
ifnull 6
2: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 3
aload 2
invokevirtual jdk.nashorn.internal.ir.LabelNode.getLocalVariableConversion:()Ljdk/nashorn/internal/ir/LocalVariableConversion;
ifnull 3
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: jdk.nashorn.internal.ir.LabelNode
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
4: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.labeledBlockBreakLiveLocals:Ljdk/nashorn/internal/IntDeque;
invokevirtual jdk.nashorn.internal.IntDeque.pop:()I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 8 1 breakLabel Ljdk/nashorn/internal/codegen/Label;
1 8 2 labelNode Ljdk/nashorn/internal/ir/LabelNode;
MethodParameters:
Name Flags
breakLabel final
private void popScope();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScopes:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private void popScopeException();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScope:()V
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getContinuationInfo:()Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
astore 1
start local 1 2: aload 1
ifnull 6
3: aload 1
getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.catchLabel:Ljdk/nashorn/internal/codegen/Label;
astore 2
start local 2 4: aload 2
getstatic jdk.nashorn.internal.codegen.CodeGenerator.METHOD_BOUNDARY:Ljdk/nashorn/internal/codegen/Label;
if_acmpeq 6
aload 2
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
if_acmpne 6
5: aload 1
dup
getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.exceptionScopePops:I
iconst_1
iadd
putfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.exceptionScopePops:I
end local 2 6: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
2 7 1 ci Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
4 6 2 catchLabel Ljdk/nashorn/internal/codegen/Label;
private void popScopesUntil(jdk.nashorn.internal.ir.LexicalContextNode);
descriptor: (Ljdk/nashorn/internal/ir/LexicalContextNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getScopeNestingLevelTo:(Ljdk/nashorn/internal/ir/LexicalContextNode;)I
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScopes:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 2 1 until Ljdk/nashorn/internal/ir/LexicalContextNode;
MethodParameters:
Name Flags
until final
private void popScopes(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifne 2
1: return
2: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 3
iload 1
ifgt 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.hasScope:()Z
ifne 5
4: return
5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
6: aload 0
iload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.invokeGetProto:(I)V
7: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 9 1 count I
MethodParameters:
Name Flags
count final
public boolean enterBreakNode(jdk.nashorn.internal.ir.BreakNode);
descriptor: (Ljdk/nashorn/internal/ir/BreakNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterJumpStatement:(Ljdk/nashorn/internal/ir/JumpStatement;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 1 1 breakNode Ljdk/nashorn/internal/ir/BreakNode;
MethodParameters:
Name Flags
breakNode final
public boolean enterJumpToInlinedFinally(jdk.nashorn.internal.ir.JumpToInlinedFinally);
descriptor: (Ljdk/nashorn/internal/ir/JumpToInlinedFinally;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterJumpStatement:(Ljdk/nashorn/internal/ir/JumpStatement;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 1 1 jumpToInlinedFinally Ljdk/nashorn/internal/ir/JumpToInlinedFinally;
MethodParameters:
Name Flags
jumpToInlinedFinally final
private boolean enterJumpStatement(jdk.nashorn.internal.ir.JumpStatement);
descriptor: (Ljdk/nashorn/internal/ir/JumpStatement;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
4: aload 0
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.JumpStatement.getPopScopeLimit:(Ljdk/nashorn/internal/ir/LexicalContext;)Ljdk/nashorn/internal/ir/LexicalContextNode;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScopesUntil:(Ljdk/nashorn/internal/ir/LexicalContextNode;)V
5: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.JumpStatement.getTargetLabel:(Ljdk/nashorn/internal/ir/LexicalContext;)Ljdk/nashorn/internal/codegen/Label;
astore 2
start local 2 6: aload 2
invokevirtual jdk.nashorn.internal.codegen.Label.markAsBreakTarget:()V
7: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
8: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 9 1 jump Ljdk/nashorn/internal/ir/JumpStatement;
6 9 2 targetLabel Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
jump final
private int loadArgs(java.util.List<jdk.nashorn.internal.ir.Expression>);
descriptor: (Ljava/util/List;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.size:()I
istore 2
start local 2 1: iload 2
bipush 125
if_icmple 4
2: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadArgsArray:(Ljava/util/List;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
3: iconst_1
ireturn
4: StackMap locals: int
StackMap stack:
aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator java.util.List int top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Expression
astore 3
start local 3 6: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 7
aload 3
ifnonnull 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator java.util.List int jdk.nashorn.internal.ir.Expression java.util.Iterator
StackMap stack:
aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionUnbounded:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
end local 3 8: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator java.util.List int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
9: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 10 1 args Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
1 10 2 argCount I
6 8 3 arg Ljdk/nashorn/internal/ir/Expression;
Signature: (Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;)I
MethodParameters:
Name Flags
args final
private boolean loadCallNode(jdk.nashorn.internal.ir.CallNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.CallNode.getLineNumber:()I
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.lineNumber:(I)V
1: aload 1
invokevirtual jdk.nashorn.internal.ir.CallNode.getArgs:()Ljava/util/List;
astore 3
start local 3 2: aload 1
invokevirtual jdk.nashorn.internal.ir.CallNode.getFunction:()Ljdk/nashorn/internal/ir/Expression;
astore 4
start local 4 3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentBlock:()Ljdk/nashorn/internal/ir/Block;
astore 5
start local 5 4: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
astore 6
start local 6 5: aload 4
new jdk.nashorn.internal.codegen.CodeGenerator$3
dup
aload 0
aload 1
aload 2
aload 5
aload 3
aload 6
aload 4
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$3.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/Block;Ljava/util/List;Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;Ljdk/nashorn/internal/ir/Expression;)V
invokevirtual jdk.nashorn.internal.ir.Expression.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
6: iconst_0
ireturn
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 7 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 7 1 callNode Ljdk/nashorn/internal/ir/CallNode;
0 7 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
2 7 3 args Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
3 7 4 function Ljdk/nashorn/internal/ir/Expression;
4 7 5 currentBlock Ljdk/nashorn/internal/ir/Block;
5 7 6 codegenLexicalContext Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;
MethodParameters:
Name Flags
callNode final
resultBounds final
static int nonOptimisticFlags(int);
descriptor: (I)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
sipush 32639
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 flags I
MethodParameters:
Name Flags
flags final
public boolean enterContinueNode(jdk.nashorn.internal.ir.ContinueNode);
descriptor: (Ljdk/nashorn/internal/ir/ContinueNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterJumpStatement:(Ljdk/nashorn/internal/ir/JumpStatement;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 1 1 continueNode Ljdk/nashorn/internal/ir/ContinueNode;
MethodParameters:
Name Flags
continueNode final
public boolean enterEmptyNode(jdk.nashorn.internal.ir.EmptyNode);
descriptor: (Ljdk/nashorn/internal/ir/EmptyNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 1 1 emptyNode Ljdk/nashorn/internal/ir/EmptyNode;
MethodParameters:
Name Flags
emptyNode final
public boolean enterExpressionStatement(jdk.nashorn.internal.ir.ExpressionStatement);
descriptor: (Ljdk/nashorn/internal/ir/ExpressionStatement;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
3: aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.ExpressionStatement.getExpression:()Ljdk/nashorn/internal/ir/Expression;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
4: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 5
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getStackSize:()I
ifeq 5
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "stack not empty in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
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
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 6 1 expressionStatement Ljdk/nashorn/internal/ir/ExpressionStatement;
MethodParameters:
Name Flags
expressionStatement final
public boolean enterBlockStatement(jdk.nashorn.internal.ir.BlockStatement);
descriptor: (Ljdk/nashorn/internal/ir/BlockStatement;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
3: aload 1
invokevirtual jdk.nashorn.internal.ir.BlockStatement.getBlock:()Ljdk/nashorn/internal/ir/Block;
aload 0
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 5 1 blockStatement Ljdk/nashorn/internal/ir/BlockStatement;
MethodParameters:
Name Flags
blockStatement final
public boolean enterForNode(jdk.nashorn.internal.ir.ForNode);
descriptor: (Ljdk/nashorn/internal/ir/ForNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
3: aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.isForInOrOf:()Z
ifeq 6
4: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterForIn:(Ljdk/nashorn/internal/ir/ForNode;)V
5: goto 10
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.getInit:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 7: aload 2
ifnull 9
8: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
9: StackMap locals: jdk.nashorn.internal.ir.Expression
StackMap stack:
aload 0
aload 1
aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.getModify:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterForOrWhile:(Ljdk/nashorn/internal/ir/LoopNode;Ljdk/nashorn/internal/ir/JoinPredecessorExpression;)V
end local 2 10: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 11 1 forNode Ljdk/nashorn/internal/ir/ForNode;
7 10 2 init Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
forNode final
private void enterForIn(jdk.nashorn.internal.ir.ForNode);
descriptor: (Ljdk/nashorn/internal/ir/ForNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.getModify:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.OBJECT:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.isForEach:()Z
ifeq 4
2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.TO_VALUE_ITERATOR: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: goto 11
StackMap locals:
StackMap stack:
4: aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.isForIn:()Z
ifeq 7
5: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.TO_PROPERTY_ITERATOR: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 11
StackMap locals:
StackMap stack:
7: aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.isForOf:()Z
ifeq 10
8: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.TO_ES6_ITERATOR:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
9: goto 11
10: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Unexpected for node"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.getIterator:()Ljdk/nashorn/internal/ir/Symbol;
astore 2
start local 2 12: aload 2
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 3
start local 3 13: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
getstatic jdk.nashorn.internal.codegen.CodeGenerator.ITERATOR_TYPE: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
14: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
15: aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.getContinueLabel:()Ljdk/nashorn/internal/codegen/Label;
astore 4
start local 4 16: aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.getBreakLabel:()Ljdk/nashorn/internal/codegen/Label;
astore 5
start local 5 17: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
18: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.ITERATOR_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
iload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
19: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.ITERATOR_CLASS:Ljava/lang/Class;
ldc "hasNext"
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.interfaceCallNoLookup:(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
20: aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.getTest:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
astore 6
start local 6 21: aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.getBody:()Ljdk/nashorn/internal/ir/Block;
astore 7
start local 7 22: aload 6
invokestatic jdk.nashorn.internal.ir.LocalVariableConversion.hasLiveConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)Z
ifeq 29
23: new jdk.nashorn.internal.codegen.Label
dup
ldc "for_in_after_test_conv"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 8
start local 8 24: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifne:(Ljdk/nashorn/internal/codegen/Label;)V
25: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
26: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
27: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
end local 8 28: goto 30
29: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ForNode jdk.nashorn.internal.ir.Symbol int jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.ir.JoinPredecessorExpression jdk.nashorn.internal.ir.Block
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifeq:(Ljdk/nashorn/internal/codegen/Label;)V
30: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.codegen.CodeGenerator$4
dup
aload 0
aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.getInit:()Ljdk/nashorn/internal/ir/Expression;
aload 1
iload 3
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$4.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/ForNode;I)V
31: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$4.store:()V
32: aload 7
aload 0
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
33: aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.needsScopeCreator:()Z
ifeq 38
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentBlock:()Ljdk/nashorn/internal/ir/Block;
invokevirtual jdk.nashorn.internal.ir.Block.providesScopeCreator:()Z
ifeq 38
34: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.scopeObjectCreators:Ljava/util/Deque;
invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.FieldObjectCreator
astore 8
start local 8 35: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 36
aload 8
ifnonnull 36
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
36: StackMap locals: jdk.nashorn.internal.codegen.FieldObjectCreator
StackMap stack:
aload 8
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.createForInIterationScope:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
37: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
end local 8 38: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 40
39: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
40: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
41: 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 42 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 42 1 forNode Ljdk/nashorn/internal/ir/ForNode;
12 42 2 iterSymbol Ljdk/nashorn/internal/ir/Symbol;
13 42 3 iterSlot I
16 42 4 continueLabel Ljdk/nashorn/internal/codegen/Label;
17 42 5 breakLabel Ljdk/nashorn/internal/codegen/Label;
21 42 6 test Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
22 42 7 body Ljdk/nashorn/internal/ir/Block;
24 28 8 afterConversion Ljdk/nashorn/internal/codegen/Label;
35 38 8 creator Ljdk/nashorn/internal/codegen/FieldObjectCreator<*>;
MethodParameters:
Name Flags
forNode final
private void initLocals(jdk.nashorn.internal.ir.Block);
descriptor: (Ljdk/nashorn/internal/ir/Block;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=13, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.onEnterBlock:(Ljdk/nashorn/internal/ir/Block;)V
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.isFunctionBody:()Z
istore 2
start local 2 2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
astore 3
start local 3 3: iload 2
ifeq 17
4: aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initializeMethodParameters:(Ljdk/nashorn/internal/ir/FunctionNode;)V
5: aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isVarArg:()Z
ifne 7
6: aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.expandParameterSlots:(Ljdk/nashorn/internal/ir/FunctionNode;)V
7: StackMap locals: int jdk.nashorn.internal.ir.FunctionNode
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.hasScope:()Z
ifeq 15
8: aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsParentScope:()Z
ifeq 12
9: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.CALLEE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
10: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptFunction.GET_SCOPE: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
11: goto 14
12: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 13
aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.hasScopeBlock:()Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadNull:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
14: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
15: StackMap locals:
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsArguments:()Z
ifeq 17
16: aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initArguments:(Ljdk/nashorn/internal/ir/FunctionNode;)V
17: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.Block.needsScope:()Z
ifeq 60
18: aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.allVarsInScope:()Z
istore 4
start local 4 19: aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsArguments:()Z
istore 5
start local 5 20: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 21: aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
start local 7 22: aload 1
invokevirtual jdk.nashorn.internal.ir.Block.getSymbols:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 47
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode int int java.util.List java.util.Iterator top java.util.Iterator
StackMap stack:
23: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Symbol
astore 8
start local 8 24: aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.isInternal:()Z
ifne 47
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.isThis:()Z
ifeq 26
25: goto 47
26: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode int int java.util.List java.util.Iterator jdk.nashorn.internal.ir.Symbol java.util.Iterator
StackMap stack:
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.isVar:()Z
ifeq 34
27: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 28
iload 4
ifeq 28
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
ifne 28
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
28: StackMap locals:
StackMap stack:
iload 4
ifne 29
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
ifeq 33
29: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 30
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
ifne 30
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "scope for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " should have been set in Lower already "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
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
30: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 31
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
ifeq 31
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "slot for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " should have been removed in Lower already"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
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
31: StackMap locals:
StackMap stack:
aload 6
new jdk.nashorn.internal.codegen.MapTuple
dup
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
aload 8
aconst_null
invokespecial jdk.nashorn.internal.codegen.MapTuple.<init>:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
32: goto 47
33: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 47
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
ifne 47
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.slotCount:()I
ifeq 47
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " should have a slot only, no scope"
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
34: StackMap locals:
StackMap stack:
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.isParam:()Z
ifeq 47
iload 4
ifne 35
iload 5
ifne 35
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
ifeq 47
35: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 36
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
ifne 36
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "scope for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " should have been set in AssignSymbols already "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " varsInScope="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc " hasArguments="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc " symbol.isScope()="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
36: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 37
iload 5
ifeq 37
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
ifeq 37
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "slot for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " should have been removed in Lower already "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
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
37: StackMap locals:
StackMap stack:
iload 5
ifeq 42
38: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 39
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
ifeq 39
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "slot for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " should have been removed in Lower already "
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
39: StackMap locals:
StackMap stack:
aconst_null
astore 11
start local 11 40: aconst_null
astore 10
start local 10 41: goto 46
end local 11 end local 10 42: StackMap locals:
StackMap stack:
aload 8
astore 11
start local 11 43: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode int int java.util.List java.util.Iterator jdk.nashorn.internal.ir.Symbol java.util.Iterator top jdk.nashorn.internal.ir.Symbol
StackMap stack:
aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.IdentNode
astore 12
start local 12 44: aload 12
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 43
45: aload 12
invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 10
end local 12 start local 10 46: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode int int java.util.List java.util.Iterator jdk.nashorn.internal.ir.Symbol java.util.Iterator jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.ir.Symbol
StackMap stack:
aload 6
new jdk.nashorn.internal.codegen.CodeGenerator$5
dup
aload 0
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
aload 8
aload 10
aload 11
aload 10
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$5.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/lang/String;Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 10 end local 8 47: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode int int java.util.List java.util.Iterator top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
48: new jdk.nashorn.internal.codegen.CodeGenerator$6
dup
aload 0
aload 0
aload 6
iconst_1
iload 5
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$6.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/util/List;ZZ)V
astore 8
start local 8 49: aload 8
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.makeObject:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
50: aload 1
invokevirtual jdk.nashorn.internal.ir.Block.providesScopeCreator:()Z
ifeq 52
51: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.scopeObjectCreators:Ljava/util/Deque;
aload 8
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
52: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode int int java.util.List java.util.Iterator jdk.nashorn.internal.codegen.FieldObjectCreator
StackMap stack:
iload 2
ifeq 54
aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isProgram:()Z
ifeq 54
53: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.MERGE_SCOPE: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
54: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
55: iload 2
ifne 66
56: new jdk.nashorn.internal.codegen.Label
dup
ldc "scope_entry"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 9
start local 9 57: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.scopeEntryLabels:Ljava/util/Deque;
aload 9
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
58: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 59: goto 66
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode
StackMap stack:
60: iload 2
ifeq 66
aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isVarArg:()Z
ifeq 66
61: iconst_0
istore 4
start local 4 62: aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 65
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode int top java.util.Iterator
StackMap stack:
63: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.IdentNode
astore 5
start local 5 64: aload 5
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
iload 4
iinc 4 1
invokevirtual jdk.nashorn.internal.ir.Symbol.setFieldIndex:(I)Ljdk/nashorn/internal/ir/Symbol;
pop
end local 5 65: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 63
end local 4 66: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode
StackMap stack:
aload 0
aload 1
aload 3
67: new java.lang.StringBuilder
dup
iload 2
ifeq 68
ldc "Function "
goto 69
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode
StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.FunctionNode new 67 new 67
68: ldc "Block in "
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode
StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.FunctionNode new 67 new 67 java.lang.String
69: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getIdent:()Ljdk/nashorn/internal/ir/IdentNode;
ifnonnull 70
ldc "<anonymous>"
goto 71
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode
StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.FunctionNode java.lang.StringBuilder
70: aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getIdent:()Ljdk/nashorn/internal/ir/IdentNode;
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode
StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.FunctionNode java.lang.StringBuilder java.lang.String
71: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.printSymbols:(Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/String;)V
72: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 73 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 73 1 block Ljdk/nashorn/internal/ir/Block;
2 73 2 isFunctionBody Z
3 73 3 function Ljdk/nashorn/internal/ir/FunctionNode;
19 59 4 varsInScope Z
20 59 5 hasArguments Z
21 59 6 tuples Ljava/util/List<Ljdk/nashorn/internal/codegen/MapTuple<Ljdk/nashorn/internal/ir/Symbol;>;>;
22 59 7 paramIter Ljava/util/Iterator<Ljdk/nashorn/internal/ir/IdentNode;>;
24 47 8 symbol Ljdk/nashorn/internal/ir/Symbol;
41 42 10 paramType Ljdk/nashorn/internal/codegen/types/Type;
46 47 10 paramType Ljdk/nashorn/internal/codegen/types/Type;
40 42 11 paramSymbol Ljdk/nashorn/internal/ir/Symbol;
43 47 11 paramSymbol Ljdk/nashorn/internal/ir/Symbol;
44 46 12 nextParam Ljdk/nashorn/internal/ir/IdentNode;
49 59 8 creator Ljdk/nashorn/internal/codegen/FieldObjectCreator<Ljdk/nashorn/internal/ir/Symbol;>;
57 59 9 scopeEntryLabel Ljdk/nashorn/internal/codegen/Label;
62 66 4 nextParam I
64 65 5 param Ljdk/nashorn/internal/ir/IdentNode;
MethodParameters:
Name Flags
block final
private void initializeMethodParameters(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.codegen.Label
dup
ldc "fn_start"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
2: iconst_0
istore 3
start local 3 3: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsCallee:()Z
ifeq 5
4: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.CALLEE:Ljdk/nashorn/internal/codegen/CompilerConstants;
aload 1
aload 2
iload 3
iinc 3 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initializeInternalFunctionParameter:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/Label;I)V
5: StackMap locals: jdk.nashorn.internal.codegen.Label int
StackMap stack:
aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.THIS:Ljdk/nashorn/internal/codegen/CompilerConstants;
aload 1
aload 2
iload 3
iinc 3 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initializeInternalFunctionParameter:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/Label;I)V
6: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isVarArg:()Z
ifeq 9
7: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.VARARGS:Ljdk/nashorn/internal/codegen/CompilerConstants;
aload 1
aload 2
iload 3
iinc 3 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initializeInternalFunctionParameter:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/Label;I)V
8: goto 15
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 14
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.codegen.Label int top java.util.Iterator
StackMap stack:
10: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.IdentNode
astore 4
start local 4 11: aload 4
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
astore 6
start local 6 12: aload 6
invokevirtual jdk.nashorn.internal.ir.Symbol.isBytecodeLocal:()Z
ifeq 14
13: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
aload 4
invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.initializeMethodParameter:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/Label;)V
end local 6 end local 4 14: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
15: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.codegen.Label int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 16 1 function Ljdk/nashorn/internal/ir/FunctionNode;
1 16 2 functionStart Ljdk/nashorn/internal/codegen/Label;
3 16 3 nextSlot I
11 14 4 param Ljdk/nashorn/internal/ir/IdentNode;
12 14 6 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
function final
private void initializeInternalFunctionParameter(jdk.nashorn.internal.codegen.CompilerConstants, jdk.nashorn.internal.ir.FunctionNode, jdk.nashorn.internal.codegen.Label, int);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/Label;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, 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
iload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initializeInternalFunctionOrSplitParameter:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/Label;I)Ljdk/nashorn/internal/ir/Symbol;
astore 5
start local 5 1: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 2
aload 5
invokevirtual jdk.nashorn.internal.ir.Symbol.getFirstSlot:()I
iload 4
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: jdk.nashorn.internal.ir.Symbol
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/CodeGenerator;
0 3 1 cc Ljdk/nashorn/internal/codegen/CompilerConstants;
0 3 2 fn Ljdk/nashorn/internal/ir/FunctionNode;
0 3 3 functionStart Ljdk/nashorn/internal/codegen/Label;
0 3 4 slot I
1 3 5 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
cc final
fn final
functionStart final
slot final
private jdk.nashorn.internal.ir.Symbol initializeInternalFunctionOrSplitParameter(jdk.nashorn.internal.codegen.CompilerConstants, jdk.nashorn.internal.ir.FunctionNode, jdk.nashorn.internal.codegen.Label, int);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/Label;I)Ljdk/nashorn/internal/ir/Symbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
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;
astore 5
start local 5 1: aload 1
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.type:()Ljava/lang/Class;
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
astore 6
start local 6 2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
aload 6
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.initializeMethodParameter:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/Label;)V
3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
iload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.onLocalStore:(Ljdk/nashorn/internal/codegen/types/Type;I)V
4: aload 5
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 5 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 5 1 cc Ljdk/nashorn/internal/codegen/CompilerConstants;
0 5 2 fn Ljdk/nashorn/internal/ir/FunctionNode;
0 5 3 functionStart Ljdk/nashorn/internal/codegen/Label;
0 5 4 slot I
1 5 5 symbol Ljdk/nashorn/internal/ir/Symbol;
2 5 6 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
cc final
fn final
functionStart final
slot final
private void expandParameterSlots(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
astore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsCallee:()Z
ifeq 2
iconst_2
goto 3
StackMap locals: java.util.List
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.List int top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.IdentNode
astore 4
start local 4 6: iload 3
aload 4
invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
iadd
istore 3
end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 2
invokeinterface java.util.List.size:()I
istore 4
start local 4 9: goto 22
10: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.List int int
StackMap stack:
aload 2
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.IdentNode
astore 5
start local 5 11: aload 5
invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 6
start local 6 12: aload 6
invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
istore 7
start local 7 13: iload 3
iload 7
isub
istore 3
14: aload 5
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
astore 8
start local 8 15: aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.slotCount:()I
istore 9
start local 9 16: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 17
iload 9
ifgt 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.List int int jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.codegen.types.Type int jdk.nashorn.internal.ir.Symbol int
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 18
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.isBytecodeLocal:()Z
ifne 18
iload 9
iload 7
if_icmpeq 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
iload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.onLocalStore:(Ljdk/nashorn/internal/codegen/types/Type;I)V
19: iload 3
aload 8
aload 6
invokevirtual jdk.nashorn.internal.ir.Symbol.getSlot:(Ljdk/nashorn/internal/codegen/types/Type;)I
if_icmpeq 22
20: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
iload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
21: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 8
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)V
end local 9 end local 8 end local 7 end local 6 end local 5 22: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.List int int
StackMap stack:
iload 4
iinc 4 -1
ifgt 10
end local 4 23: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 24 1 function Ljdk/nashorn/internal/ir/FunctionNode;
1 24 2 parameters Ljava/util/List<Ljdk/nashorn/internal/ir/IdentNode;>;
4 24 3 currentIncomingSlot I
6 7 4 parameter Ljdk/nashorn/internal/ir/IdentNode;
9 23 4 i I
11 22 5 parameter Ljdk/nashorn/internal/ir/IdentNode;
12 22 6 parameterType Ljdk/nashorn/internal/codegen/types/Type;
13 22 7 typeWidth I
15 22 8 symbol Ljdk/nashorn/internal/ir/Symbol;
16 22 9 slotCount I
MethodParameters:
Name Flags
function final
private void initArguments(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)V
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.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
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
1: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsCallee:()Z
ifeq 4
2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.CALLEE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
3: goto 6
4: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 5
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isStrict:()Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadNull:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
7: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.globalAllocateArguments:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
8: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.ARGUMENTS:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 10 1 function Ljdk/nashorn/internal/ir/FunctionNode;
MethodParameters:
Name Flags
function final
private boolean skipFunction(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
invokevirtual jdk.nashorn.internal.codegen.Compiler.getScriptEnvironment:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
astore 2
start local 2 1: aload 2
getfield jdk.nashorn.internal.runtime.ScriptEnvironment._lazy_compilation:Z
istore 3
start local 3 2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
invokevirtual jdk.nashorn.internal.codegen.Compiler.isOnDemandCompilation:()Z
istore 4
start local 4 3: iload 4
ifne 4
iload 3
ifeq 6
StackMap locals: jdk.nashorn.internal.runtime.ScriptEnvironment int int
StackMap stack:
4: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getOutermostFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
aload 1
if_acmpeq 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
iload 4
ifne 7
iload 3
ifeq 7
aload 2
getfield jdk.nashorn.internal.runtime.ScriptEnvironment._optimistic_types:Z
ifeq 7
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isProgram:()Z
ifeq 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 4 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/CodeGenerator;
0 8 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
1 8 2 env Ljdk/nashorn/internal/runtime/ScriptEnvironment;
2 8 3 lazy Z
3 8 4 onDemand Z
MethodParameters:
Name Flags
functionNode final
public boolean enterFunctionNode(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.skipFunction:(Ljdk/nashorn/internal/ir/FunctionNode;)Z
ifeq 3
1: aload 0
aload 1
iconst_0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.newFunctionObject:(Ljdk/nashorn/internal/ir/FunctionNode;Z)V
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
astore 2
start local 2 4: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.emittedMethods:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 22
5: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "=== BEGIN "
aastore
dup
iconst_1
aload 2
aastore
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
6: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 7
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getCompileUnit:()Ljdk/nashorn/internal/codegen/CompileUnit;
ifnonnull 7
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "no compile unit for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
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;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getCompileUnit:()Ljdk/nashorn/internal/codegen/CompileUnit;
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.pushCompileUnit:(Ljdk/nashorn/internal/codegen/CompileUnit;)Ljdk/nashorn/internal/codegen/CompileUnit;
putfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
8: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 9
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.hasCompileUnits:()Z
ifne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getClassEmitter:()Ljdk/nashorn/internal/codegen/ClassEmitter;
astore 3
start local 3 10: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
ifeq 11
aload 3
aload 1
invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.restOfMethod:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
goto 12
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.lang.String jdk.nashorn.internal.codegen.ClassEmitter
StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator
11: aload 3
aload 1
invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.method:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.lang.String jdk.nashorn.internal.codegen.ClassEmitter
StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.codegen.MethodEmitter
12: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.pushMethodEmitter:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
13: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.setPreventUndefinedLoad:()V
14: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.useOptimisticTypes:()Z
ifeq 16
15: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.pushUnwarrantedOptimismHandlers:()V
16: StackMap locals:
StackMap stack:
aload 0
iconst_m1
putfield jdk.nashorn.internal.codegen.CodeGenerator.lastLineNumber:I
17: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.begin:()V
18: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
ifeq 22
19: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 20
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.continuationInfo:Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
ifnull 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
aload 0
new jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo
dup
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.<init>:()V
putfield jdk.nashorn.internal.codegen.CodeGenerator.continuationInfo:Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
21: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.continuationInfo:Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getHandlerLabel:()Ljdk/nashorn/internal/codegen/Label;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.gotoLoopStart:(Ljdk/nashorn/internal/codegen/Label;)V
end local 3 22: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 23 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
4 23 2 fnName Ljava/lang/String;
10 22 3 classEmitter Ljdk/nashorn/internal/codegen/ClassEmitter;
MethodParameters:
Name Flags
functionNode final
private void pushMethodEmitter(jdk.nashorn.internal.codegen.MethodEmitter);
descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.pushMethodEmitter:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
putfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.METHOD_BOUNDARY:Ljdk/nashorn/internal/codegen/Label;
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 newMethod Ljdk/nashorn/internal/codegen/MethodEmitter;
MethodParameters:
Name Flags
newMethod final
private void popMethodEmitter();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popMethodEmitter:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
putfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
1: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 2
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.METHOD_BOUNDARY:Ljdk/nashorn/internal/codegen/Label;
if_acmpeq 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.CodeGenerator.catchLabels:Ljava/util/Deque;
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
public jdk.nashorn.internal.ir.Node leaveFunctionNode(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.emittedMethods:Ljava/util/Set;
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 8
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.generateUnwarrantedOptimismExceptionHandlers:(Ljdk/nashorn/internal/ir/FunctionNode;)Z
istore 2
start local 2 2: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.generateContinuationHandler:()V
3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.end:()V
4: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getCompileUnit:()Ljdk/nashorn/internal/codegen/CompileUnit;
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popCompileUnit:(Ljdk/nashorn/internal/codegen/CompileUnit;)Ljdk/nashorn/internal/codegen/CompileUnit;
putfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
5: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popMethodEmitter:()V
6: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "=== END "
aastore
dup
iconst_1
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
aastore
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
7: goto 9
end local 2 8: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 9: StackMap locals: int
StackMap stack:
aload 1
astore 3
start local 3 10: iload 2
ifeq 12
11: aload 3
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
sipush 2048
invokevirtual jdk.nashorn.internal.ir.FunctionNode.setFlag:(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode;
astore 3
12: StackMap locals: jdk.nashorn.internal.ir.FunctionNode
StackMap stack:
aload 0
aload 3
iconst_1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.newFunctionObject:(Ljdk/nashorn/internal/ir/FunctionNode;Z)V
13: aload 3
14: areturn
end local 3 end local 2 15: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode
StackMap stack: java.lang.Throwable
astore 2
start local 2 16: aload 2
invokestatic jdk.nashorn.internal.runtime.Context.printStackTrace:(Ljava/lang/Throwable;)V
17: new java.lang.VerifyError
dup
new java.lang.StringBuilder
dup
ldc "Code generation bug in \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\": likely stack misaligned: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getSource:()Ljdk/nashorn/internal/runtime/Source;
invokevirtual jdk.nashorn.internal.runtime.Source.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.VerifyError.<init>:(Ljava/lang/String;)V
astore 3
start local 3 18: aload 3
aload 2
invokevirtual java.lang.VerifyError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
19: aload 3
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 20 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
2 8 2 markOptimistic Z
9 15 2 markOptimistic Z
10 15 3 newFunctionNode Ljdk/nashorn/internal/ir/FunctionNode;
16 20 2 t Ljava/lang/Throwable;
18 20 3 e Ljava/lang/VerifyError;
Exception table:
from to target type
0 14 15 Class java.lang.Throwable
MethodParameters:
Name Flags
functionNode final
public boolean enterIfNode(jdk.nashorn.internal.ir.IfNode);
descriptor: (Ljdk/nashorn/internal/ir/IfNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
3: aload 1
invokevirtual jdk.nashorn.internal.ir.IfNode.getTest:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 4: aload 1
invokevirtual jdk.nashorn.internal.ir.IfNode.getPass:()Ljdk/nashorn/internal/ir/Block;
astore 3
start local 3 5: aload 1
invokevirtual jdk.nashorn.internal.ir.IfNode.getFail:()Ljdk/nashorn/internal/ir/Block;
astore 4
start local 4 6: aload 2
invokestatic jdk.nashorn.internal.ir.Expression.isAlwaysTrue:(Ljdk/nashorn/internal/ir/Expression;)Z
ifeq 10
7: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
8: aload 3
aload 0
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
9: iconst_0
ireturn
10: StackMap locals: jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.Block
StackMap stack:
aload 2
invokestatic jdk.nashorn.internal.ir.Expression.isAlwaysFalse:(Ljdk/nashorn/internal/ir/Expression;)Z
ifeq 15
11: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
12: aload 4
ifnull 14
13: aload 4
aload 0
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
14: StackMap locals:
StackMap stack:
iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 1
invokestatic jdk.nashorn.internal.ir.LocalVariableConversion.hasLiveConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)Z
istore 5
start local 5 16: new jdk.nashorn.internal.codegen.Label
dup
ldc "if_fail"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 6
start local 6 17: aload 4
ifnonnull 18
iload 5
ifne 18
aconst_null
goto 19
StackMap locals: int jdk.nashorn.internal.codegen.Label
StackMap stack:
18: new jdk.nashorn.internal.codegen.Label
dup
ldc "if_done"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.Label
19: astore 7
start local 7 20: aload 0
aload 2
aload 6
iconst_0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
21: aload 3
aload 0
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
22: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 24
aload 7
ifnull 24
23: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
24: StackMap locals: jdk.nashorn.internal.codegen.Label
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
25: aload 4
ifnull 28
26: aload 4
aload 0
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
27: goto 30
StackMap locals:
StackMap stack:
28: iload 5
ifeq 30
29: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
30: StackMap locals:
StackMap stack:
aload 7
ifnull 32
aload 7
invokevirtual jdk.nashorn.internal.codegen.Label.isReachable:()Z
ifeq 32
31: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
32: StackMap locals:
StackMap stack:
iconst_0
ireturn
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 33 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 33 1 ifNode Ljdk/nashorn/internal/ir/IfNode;
4 33 2 test Ljdk/nashorn/internal/ir/Expression;
5 33 3 pass Ljdk/nashorn/internal/ir/Block;
6 33 4 fail Ljdk/nashorn/internal/ir/Block;
16 33 5 hasFailConversion Z
17 33 6 failLabel Ljdk/nashorn/internal/codegen/Label;
20 33 7 afterLabel Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
ifNode final
private void emitBranch(jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.codegen.Label, boolean);
descriptor: (Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new jdk.nashorn.internal.codegen.BranchOptimizer
dup
aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokespecial jdk.nashorn.internal.codegen.BranchOptimizer.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/MethodEmitter;)V
aload 1
aload 2
iload 3
invokevirtual jdk.nashorn.internal.codegen.BranchOptimizer.execute:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;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/CodeGenerator;
0 2 1 test Ljdk/nashorn/internal/ir/Expression;
0 2 2 label Ljdk/nashorn/internal/codegen/Label;
0 2 3 jumpWhenTrue Z
MethodParameters:
Name Flags
test final
label final
jumpWhenTrue final
private void enterStatement(jdk.nashorn.internal.ir.Statement);
descriptor: (Ljdk/nashorn/internal/ir/Statement;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.lineNumber:(Ljdk/nashorn/internal/ir/Statement;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 2 1 statement Ljdk/nashorn/internal/ir/Statement;
MethodParameters:
Name Flags
statement final
private void lineNumber(jdk.nashorn.internal.ir.Statement);
descriptor: (Ljdk/nashorn/internal/ir/Statement;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.Statement.getLineNumber:()I
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.lineNumber:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 2 1 statement Ljdk/nashorn/internal/ir/Statement;
MethodParameters:
Name Flags
statement final
private void lineNumber(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lastLineNumber:I
if_icmpeq 3
iload 1
iconst_m1
if_icmpeq 3
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.lineNumber:(I)V
2: aload 0
iload 1
putfield jdk.nashorn.internal.codegen.CodeGenerator.lastLineNumber:I
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 4 1 lineNumber I
MethodParameters:
Name Flags
lineNumber final
int getLastLineNumber();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lastLineNumber:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private void loadArray(jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode, jdk.nashorn.internal.codegen.types.ArrayType);
descriptor: (Ljdk/nashorn/internal/ir/LiteralNode$ArrayLiteralNode;Ljdk/nashorn/internal/codegen/types/ArrayType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=13, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 1
aload 2
getstatic jdk.nashorn.internal.codegen.types.Type.INT_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
if_acmpeq 1
aload 2
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
if_acmpeq 1
aload 2
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
if_acmpeq 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.LiteralNode$ArrayLiteralNode.getValue:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Expression[]
astore 3
start local 3 2: aload 1
invokevirtual jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode.getPresets:()Ljava/lang/Object;
astore 4
start local 4 3: aload 1
invokevirtual jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode.getPostsets:()[I
astore 5
start local 5 4: aload 1
invokevirtual jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode.getSplitRanges:()Ljava/util/List;
astore 6
start local 6 5: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstant:(Ljava/lang/Object;)V
6: aload 2
invokevirtual jdk.nashorn.internal.codegen.types.ArrayType.getElementType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 7
start local 7 7: aload 6
ifnull 12
8: aload 0
new jdk.nashorn.internal.codegen.CodeGenerator$7
dup
aload 0
aload 3
aload 7
aload 5
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$7.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;[Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;[I)V
9: aload 6
aload 2
10: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadSplitLiteral:(Ljdk/nashorn/internal/codegen/CodeGenerator$SplitLiteralCreator;Ljava/util/List;Ljdk/nashorn/internal/codegen/types/Type;)V
11: return
12: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode jdk.nashorn.internal.codegen.types.ArrayType jdk.nashorn.internal.ir.Expression[] java.lang.Object int[] java.util.List jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 5
arraylength
ifle 22
13: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getUsedSlotsWithLiveTemporaries:()I
istore 8
start local 8 14: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
iload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeTemp:(Ljdk/nashorn/internal/codegen/types/Type;I)V
15: aload 5
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 20
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode jdk.nashorn.internal.codegen.types.ArrayType jdk.nashorn.internal.ir.Expression[] java.lang.Object int[] java.util.List jdk.nashorn.internal.codegen.types.Type int top int int int[]
StackMap stack:
16: aload 12
iload 10
iaload
istore 9
start local 9 17: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
iload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
18: aload 0
aload 3
aload 7
iload 9
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.storeElement:([Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;I)V
end local 9 19: iinc 10 1
StackMap locals:
StackMap stack:
20: iload 10
iload 11
if_icmplt 16
21: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
iload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
end local 8 22: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode jdk.nashorn.internal.codegen.types.ArrayType jdk.nashorn.internal.ir.Expression[] java.lang.Object int[] java.util.List jdk.nashorn.internal.codegen.types.Type
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 23 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 23 1 arrayLiteralNode Ljdk/nashorn/internal/ir/LiteralNode$ArrayLiteralNode;
0 23 2 arrayType Ljdk/nashorn/internal/codegen/types/ArrayType;
2 23 3 nodes [Ljdk/nashorn/internal/ir/Expression;
3 23 4 presets Ljava/lang/Object;
4 23 5 postsets [I
5 23 6 ranges Ljava/util/List<Ljdk/nashorn/internal/ir/Splittable$SplitRange;>;
7 23 7 elementType Ljdk/nashorn/internal/codegen/types/Type;
14 22 8 arraySlot I
17 19 9 postset I
MethodParameters:
Name Flags
arrayLiteralNode final
arrayType final
private void storeElement(jdk.nashorn.internal.ir.Expression[], jdk.nashorn.internal.codegen.types.Type, int);
descriptor: ([Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 1
iload 3
aaload
astore 4
start local 4 2: aload 4
ifnonnull 5
3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadEmpty:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
4: goto 6
5: StackMap locals: jdk.nashorn.internal.ir.Expression
StackMap stack:
aload 0
aload 4
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsType:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.arraystore:()V
7: return
end local 4 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/CodeGenerator;
0 8 1 nodes [Ljdk/nashorn/internal/ir/Expression;
0 8 2 elementType Ljdk/nashorn/internal/codegen/types/Type;
0 8 3 index I
2 8 4 element Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
nodes final
elementType final
index final
private jdk.nashorn.internal.codegen.MethodEmitter loadArgsArray(java.util.List<jdk.nashorn.internal.ir.Expression>);
descriptor: (Ljava/util/List;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.size:()I
anewarray java.lang.Object
astore 2
start local 2 1: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstant:(Ljava/lang/Object;)V
2: iconst_0
istore 3
start local 3 3: goto 9
4: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
6: aload 0
aload 1
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Expression
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.OBJECT:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
7: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.arraystore:()V
8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 1
invokeinterface java.util.List.size:()I
if_icmplt 4
end local 3 10: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 11 1 args Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
1 11 2 array [Ljava/lang/Object;
3 10 3 i I
Signature: (Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;)Ljdk/nashorn/internal/codegen/MethodEmitter;
MethodParameters:
Name Flags
args final
void loadConstant(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=8, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getUnitClassName:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getClassEmitter:()Ljdk/nashorn/internal/codegen/ClassEmitter;
astore 3
start local 3 2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
invokevirtual jdk.nashorn.internal.codegen.Compiler.getConstantData:()Ljdk/nashorn/internal/codegen/ConstantData;
aload 1
invokevirtual jdk.nashorn.internal.codegen.ConstantData.add:(Ljava/lang/String;)I
istore 4
start local 4 3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
4: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
getstatic jdk.nashorn.internal.codegen.CompilerConstants.GET_STRING:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
ldc Ljava/lang/String;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: aload 3
ldc Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.needGetConstantMethod:(Ljava/lang/Class;)V
6: return
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/CodeGenerator;
0 7 1 string Ljava/lang/String;
1 7 2 unitClassName Ljava/lang/String;
2 7 3 classEmitter Ljdk/nashorn/internal/codegen/ClassEmitter;
3 7 4 index I
MethodParameters:
Name Flags
string final
void loadConstant(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstant:(Ljava/lang/Object;Ljdk/nashorn/internal/codegen/CompileUnit;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/CodeGenerator;
0 2 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object final
private void loadConstant(java.lang.Object, jdk.nashorn.internal.codegen.CompileUnit, jdk.nashorn.internal.codegen.MethodEmitter);
descriptor: (Ljava/lang/Object;Ljdk/nashorn/internal/codegen/CompileUnit;Ljdk/nashorn/internal/codegen/MethodEmitter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getUnitClassName:()Ljava/lang/String;
astore 4
start local 4 1: aload 2
invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getClassEmitter:()Ljdk/nashorn/internal/codegen/ClassEmitter;
astore 5
start local 5 2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
invokevirtual jdk.nashorn.internal.codegen.Compiler.getConstantData:()Ljdk/nashorn/internal/codegen/ConstantData;
aload 1
invokevirtual jdk.nashorn.internal.codegen.ConstantData.add:(Ljava/lang/Object;)I
istore 6
start local 6 3: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 7
start local 7 4: aload 7
ldc Ljdk/nashorn/internal/runtime/PropertyMap;
if_acmpne 9
5: aload 3
iload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
6: aload 3
aload 4
getstatic jdk.nashorn.internal.codegen.CompilerConstants.GET_MAP:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
ldc Ljdk/nashorn/internal/runtime/PropertyMap;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
7: aload 5
ldc Ljdk/nashorn/internal/runtime/PropertyMap;
invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.needGetConstantMethod:(Ljava/lang/Class;)V
8: goto 22
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator java.lang.Object jdk.nashorn.internal.codegen.CompileUnit jdk.nashorn.internal.codegen.MethodEmitter java.lang.String jdk.nashorn.internal.codegen.ClassEmitter int java.lang.Class
StackMap stack:
9: aload 7
invokevirtual java.lang.Class.isArray:()Z
ifeq 15
10: aload 3
iload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
11: aload 7
invokestatic jdk.nashorn.internal.codegen.ClassEmitter.getArrayMethodName:(Ljava/lang/Class;)Ljava/lang/String;
astore 8
start local 8 12: aload 3
aload 4
aload 8
aload 7
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
13: aload 5
aload 7
invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.needGetConstantMethod:(Ljava/lang/Class;)V
end local 8 14: goto 22
15: StackMap locals:
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadConstants:()Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.arrayload:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
16: aload 1
instanceof jdk.nashorn.internal.runtime.arrays.ArrayData
ifeq 20
17: aload 3
ldc Ljdk/nashorn/internal/runtime/arrays/ArrayData;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.checkcast:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
18: aload 3
ldc Ljdk/nashorn/internal/runtime/arrays/ArrayData;
ldc "copy"
ldc Ljdk/nashorn/internal/runtime/arrays/ArrayData;
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
19: goto 22
StackMap locals:
StackMap stack:
20: aload 7
ldc Ljava/lang/Object;
if_acmpeq 22
21: aload 3
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.checkcast:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
22: 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 23 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 23 1 object Ljava/lang/Object;
0 23 2 compileUnit Ljdk/nashorn/internal/codegen/CompileUnit;
0 23 3 methodEmitter Ljdk/nashorn/internal/codegen/MethodEmitter;
1 23 4 unitClassName Ljava/lang/String;
2 23 5 classEmitter Ljdk/nashorn/internal/codegen/ClassEmitter;
3 23 6 index I
4 23 7 cls Ljava/lang/Class<*>;
12 14 8 methodName Ljava/lang/String;
MethodParameters:
Name Flags
object final
compileUnit final
methodEmitter final
private void loadConstantsAndIndex(java.lang.Object, jdk.nashorn.internal.codegen.MethodEmitter);
descriptor: (Ljava/lang/Object;Ljdk/nashorn/internal/codegen/MethodEmitter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadConstants:()Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
invokevirtual jdk.nashorn.internal.codegen.Compiler.getConstantData:()Ljdk/nashorn/internal/codegen/ConstantData;
aload 1
invokevirtual jdk.nashorn.internal.codegen.ConstantData.add:(Ljava/lang/Object;)I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
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/CodeGenerator;
0 2 1 object Ljava/lang/Object;
0 2 2 methodEmitter Ljdk/nashorn/internal/codegen/MethodEmitter;
MethodParameters:
Name Flags
object final
methodEmitter final
private void loadLiteral(jdk.nashorn.internal.ir.LiteralNode<?>, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/ir/LiteralNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.nashorn.internal.ir.LiteralNode.getValue:()Ljava/lang/Object;
astore 3
start local 3 1: aload 3
ifnonnull 4
2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadNull:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
3: goto 44
StackMap locals: java.lang.Object
StackMap stack:
4: aload 3
instanceof jdk.nashorn.internal.runtime.Undefined
ifeq 7
5: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.within:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
6: goto 44
StackMap locals:
StackMap stack:
7: aload 3
instanceof java.lang.String
ifeq 14
8: aload 3
checkcast java.lang.String
astore 4
start local 4 9: aload 4
invokevirtual java.lang.String.length:()I
sipush 10922
if_icmple 12
10: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstant:(Ljava/lang/String;)V
11: goto 44
12: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
end local 4 13: goto 44
StackMap locals:
StackMap stack:
14: aload 3
instanceof jdk.nashorn.internal.parser.Lexer$RegexToken
ifeq 17
15: aload 0
aload 3
checkcast jdk.nashorn.internal.parser.Lexer$RegexToken
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadRegex:(Ljdk/nashorn/internal/parser/Lexer$RegexToken;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
16: goto 44
StackMap locals:
StackMap stack:
17: aload 3
instanceof java.lang.Boolean
ifeq 20
18: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
19: goto 44
StackMap locals:
StackMap stack:
20: aload 3
instanceof java.lang.Integer
ifeq 30
21: aload 2
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.canBeNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifne 25
22: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
23: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
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
24: goto 44
StackMap locals:
StackMap stack:
25: aload 2
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.canBeNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifne 28
26: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
checkcast java.lang.Integer
invokevirtual java.lang.Integer.doubleValue:()D
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(D)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
27: goto 44
28: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
29: goto 44
StackMap locals:
StackMap stack:
30: aload 3
instanceof java.lang.Double
ifeq 37
31: aload 2
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.canBeNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifne 35
32: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(D)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
33: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
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: goto 44
35: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(D)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
36: goto 44
StackMap locals:
StackMap stack:
37: aload 1
instanceof jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode
ifeq 43
38: aload 1
checkcast jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode
astore 4
start local 4 39: aload 4
invokevirtual jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode.getArrayType:()Ljdk/nashorn/internal/codegen/types/ArrayType;
astore 5
start local 5 40: aload 0
aload 4
aload 5
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadArray:(Ljdk/nashorn/internal/ir/LiteralNode$ArrayLiteralNode;Ljdk/nashorn/internal/codegen/types/ArrayType;)V
41: aload 0
aload 5
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.globalAllocateArray:(Ljdk/nashorn/internal/codegen/types/ArrayType;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
end local 5 end local 4 42: goto 44
43: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "Unknown literal for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
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.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
44: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 45 1 node Ljdk/nashorn/internal/ir/LiteralNode<*>;
0 45 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
1 45 3 value Ljava/lang/Object;
9 13 4 string Ljava/lang/String;
39 42 4 arrayLiteral Ljdk/nashorn/internal/ir/LiteralNode$ArrayLiteralNode;
40 42 5 atype Ljdk/nashorn/internal/codegen/types/ArrayType;
Signature: (Ljdk/nashorn/internal/ir/LiteralNode<*>;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
MethodParameters:
Name Flags
node final
resultBounds final
private jdk.nashorn.internal.codegen.MethodEmitter loadRegexToken(jdk.nashorn.internal.parser.Lexer$RegexToken);
descriptor: (Ljdk/nashorn/internal/parser/Lexer$RegexToken;)Ljdk/nashorn/internal/codegen/MethodEmitter;
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.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.parser.Lexer$RegexToken.getExpression:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.parser.Lexer$RegexToken.getOptions:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.globalNewRegExp:()Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 value Ljdk/nashorn/internal/parser/Lexer$RegexToken;
MethodParameters:
Name Flags
value final
private jdk.nashorn.internal.codegen.MethodEmitter loadRegex(jdk.nashorn.internal.parser.Lexer$RegexToken);
descriptor: (Ljdk/nashorn/internal/parser/Lexer$RegexToken;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.regexFieldCount:I
sipush 2048
if_icmple 2
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadRegexToken:(Ljdk/nashorn/internal/parser/Lexer$RegexToken;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.REGEX_PREFIX:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.uniqueName:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getClassEmitter:()Ljdk/nashorn/internal/codegen/ClassEmitter;
astore 3
start local 3 4: aload 3
getstatic jdk.nashorn.internal.codegen.ClassEmitter$Flag.PRIVATE:Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;
getstatic jdk.nashorn.internal.codegen.ClassEmitter$Flag.STATIC:Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
aload 2
ldc Ljava/lang/Object;
invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.field:(Ljava/util/EnumSet;Ljava/lang/String;Ljava/lang/Class;)V
5: aload 0
dup
getfield jdk.nashorn.internal.codegen.CodeGenerator.regexFieldCount:I
iconst_1
iadd
putfield jdk.nashorn.internal.codegen.CodeGenerator.regexFieldCount:I
6: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getUnitClassName:()Ljava/lang/String;
aload 2
ldc Ljava/lang/Object;
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.typeDescriptor:(Ljava/lang/Class;)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
7: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
8: new jdk.nashorn.internal.codegen.Label
dup
ldc "cached"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 4
start local 4 9: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifnonnull:(Ljdk/nashorn/internal/codegen/Label;)V
10: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pop:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
11: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadRegexToken:(Ljdk/nashorn/internal/parser/Lexer$RegexToken;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
12: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
13: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getUnitClassName:()Ljava/lang/String;
aload 2
ldc Ljava/lang/Object;
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.typeDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.putStatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
14: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
15: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.globalRegExpCopy:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
16: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
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/CodeGenerator;
0 17 1 regexToken Ljdk/nashorn/internal/parser/Lexer$RegexToken;
3 17 2 regexName Ljava/lang/String;
4 17 3 classEmitter Ljdk/nashorn/internal/codegen/ClassEmitter;
9 17 4 cachedLabel Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
regexToken final
private static boolean propertyValueContains(jdk.nashorn.internal.ir.Expression, int);
descriptor: (Ljdk/nashorn/internal/ir/Expression;I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.codegen.CodeGenerator$8
dup
aload 0
iload 1
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$8.<init>:(Ljdk/nashorn/internal/ir/Expression;I)V
1: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$8.get:()Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value Ljdk/nashorn/internal/ir/Expression;
0 3 1 pp I
MethodParameters:
Name Flags
value final
pp final
private void loadObjectNode(jdk.nashorn.internal.ir.ObjectNode);
descriptor: (Ljdk/nashorn/internal/ir/ObjectNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=16, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.ObjectNode.getElements:()Ljava/util/List;
astore 2
start local 2 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 3: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCurrentContinuationEntryPoint:()I
istore 5
start local 5 4: aload 1
invokevirtual jdk.nashorn.internal.ir.ObjectNode.getSplitRanges:()Ljava/util/List;
astore 6
start local 6 5: aconst_null
astore 7
start local 7 6: iconst_0
istore 8
start local 8 7: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 35
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int top java.util.Iterator
StackMap stack:
8: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.PropertyNode
astore 9
start local 9 9: aload 9
invokevirtual jdk.nashorn.internal.ir.PropertyNode.getValue:()Ljdk/nashorn/internal/ir/Expression;
astore 11
start local 11 10: aload 9
invokevirtual jdk.nashorn.internal.ir.PropertyNode.getKeyName:()Ljava/lang/String;
astore 12
start local 12 11: aload 9
invokevirtual jdk.nashorn.internal.ir.PropertyNode.isComputed:()Z
ifne 12
aload 11
ifnull 12
iconst_0
goto 13
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int jdk.nashorn.internal.ir.PropertyNode java.util.Iterator jdk.nashorn.internal.ir.Expression java.lang.String
StackMap stack:
12: iconst_1
StackMap locals:
StackMap stack: int
13: istore 13
start local 13 14: iload 13
ifeq 15
aconst_null
goto 16
StackMap locals: int
StackMap stack:
15: new jdk.nashorn.internal.ir.Symbol
dup
aload 12
iconst_0
invokespecial jdk.nashorn.internal.ir.Symbol.<init>:(Ljava/lang/String;I)V
StackMap locals:
StackMap stack: jdk.nashorn.internal.ir.Symbol
16: astore 14
start local 14 17: iload 13
ifeq 20
18: aload 4
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: goto 24
StackMap locals: jdk.nashorn.internal.ir.Symbol
StackMap stack:
20: aload 9
invokevirtual jdk.nashorn.internal.ir.PropertyNode.getKey:()Ljdk/nashorn/internal/ir/Expression;
instanceof jdk.nashorn.internal.ir.IdentNode
ifeq 24
21: aload 12
ldc "__proto__"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
22: aload 11
astore 7
23: goto 35
24: StackMap locals:
StackMap stack:
iload 8
25: aload 11
ifnull 28
26: iload 5
invokestatic jdk.nashorn.internal.runtime.UnwarrantedOptimismException.isValid:(I)Z
ifeq 28
27: aload 11
iload 5
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.propertyValueContains:(Ljdk/nashorn/internal/ir/Expression;I)Z
ifeq 28
iconst_1
goto 29
StackMap locals:
StackMap stack: int
28: iconst_0
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int jdk.nashorn.internal.ir.PropertyNode java.util.Iterator jdk.nashorn.internal.ir.Expression java.lang.String int jdk.nashorn.internal.ir.Symbol
StackMap stack: int int
29: ior
istore 8
30: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.useDualFields:()Z
ifeq 31
iload 13
ifne 31
aload 11
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
ifeq 32
StackMap locals:
StackMap stack:
31: ldc Ljava/lang/Object;
goto 33
StackMap locals:
StackMap stack:
32: aload 11
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
33: astore 15
start local 15 34: aload 3
new jdk.nashorn.internal.codegen.CodeGenerator$9
dup
aload 0
aload 12
aload 14
aload 15
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
aload 11
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$9.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/lang/String;Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/ir/Expression;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 15 end local 14 end local 13 end local 12 end local 11 end local 9 35: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
36: aload 2
invokeinterface java.util.List.size:()I
getstatic jdk.nashorn.internal.codegen.CodeGenerator.OBJECT_SPILL_THRESHOLD:I
if_icmple 39
37: new jdk.nashorn.internal.codegen.SpillObjectCreator
dup
aload 0
aload 3
invokespecial jdk.nashorn.internal.codegen.SpillObjectCreator.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/util/List;)V
astore 9
start local 9 38: goto 40
end local 9 39: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int
StackMap stack:
new jdk.nashorn.internal.codegen.CodeGenerator$10
dup
aload 0
aload 0
aload 3
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$10.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/util/List;)V
astore 9
start local 9 40: StackMap locals: jdk.nashorn.internal.codegen.ObjectCreator
StackMap stack:
aload 6
ifnull 44
41: aload 9
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.ObjectCreator.createObject:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
42: aload 0
aload 9
aload 6
aload 9
invokevirtual jdk.nashorn.internal.codegen.ObjectCreator.getAllocatorClass:()Ljava/lang/Class;
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadSplitLiteral:(Ljdk/nashorn/internal/codegen/CodeGenerator$SplitLiteralCreator;Ljava/util/List;Ljdk/nashorn/internal/codegen/types/Type;)V
43: goto 45
44: StackMap locals:
StackMap stack:
aload 9
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.ObjectCreator.makeObject:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
45: StackMap locals:
StackMap stack:
iload 8
ifeq 48
46: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getContinuationInfo:()Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
astore 10
start local 10 47: aload 10
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getStackSize:()I
aload 9
invokevirtual jdk.nashorn.internal.codegen.ObjectCreator.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.setObjectLiteralMap:(ILjdk/nashorn/internal/runtime/PropertyMap;)V
end local 10 48: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
49: aload 7
ifnull 54
50: aload 0
aload 7
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
51: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
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
52: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptObject.SET_PROTO_FROM_LITERAL: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
53: goto 55
54: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptObject.SET_GLOBAL_OBJECT_PROTO:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
55: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 80
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int jdk.nashorn.internal.codegen.ObjectCreator top java.util.Iterator
StackMap stack:
56: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.PropertyNode
astore 10
start local 10 57: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
58: aload 10
invokevirtual jdk.nashorn.internal.ir.PropertyNode.isComputed:()Z
ifeq 62
59: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 60
aload 10
invokevirtual jdk.nashorn.internal.ir.PropertyNode.getKeyName:()Ljava/lang/String;
ifnull 60
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
60: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int jdk.nashorn.internal.codegen.ObjectCreator jdk.nashorn.internal.ir.PropertyNode java.util.Iterator
StackMap stack:
aload 0
aload 10
invokevirtual jdk.nashorn.internal.ir.PropertyNode.getKey:()Ljdk/nashorn/internal/ir/Expression;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
61: goto 63
62: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 10
invokevirtual jdk.nashorn.internal.ir.PropertyNode.getKey:()Ljdk/nashorn/internal/ir/Expression;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadKey:(Ljava/lang/Object;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
63: StackMap locals:
StackMap stack:
aload 10
invokevirtual jdk.nashorn.internal.ir.PropertyNode.getValue:()Ljdk/nashorn/internal/ir/Expression;
ifnull 68
64: aload 0
aload 10
invokevirtual jdk.nashorn.internal.ir.PropertyNode.getValue:()Ljdk/nashorn/internal/ir/Expression;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
65: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
66: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptObject.GENERIC_SET: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
67: goto 80
68: StackMap locals:
StackMap stack:
aload 10
invokevirtual jdk.nashorn.internal.ir.PropertyNode.getGetter:()Ljdk/nashorn/internal/ir/FunctionNode;
astore 12
start local 12 69: aload 10
invokevirtual jdk.nashorn.internal.ir.PropertyNode.getSetter:()Ljdk/nashorn/internal/ir/FunctionNode;
astore 13
start local 13 70: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 71
aload 12
ifnonnull 71
aload 13
ifnonnull 71
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
71: StackMap locals: jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.FunctionNode
StackMap stack:
aload 12
ifnonnull 74
72: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadNull:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
73: goto 75
74: StackMap locals:
StackMap stack:
aload 12
aload 0
invokevirtual jdk.nashorn.internal.ir.FunctionNode.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
75: StackMap locals:
StackMap stack:
aload 13
ifnonnull 78
76: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadNull:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
77: goto 79
78: StackMap locals:
StackMap stack:
aload 13
aload 0
invokevirtual jdk.nashorn.internal.ir.FunctionNode.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
79: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptObject.SET_USER_ACCESSORS: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
end local 13 end local 12 end local 10 80: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int jdk.nashorn.internal.codegen.ObjectCreator top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 56
81: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 82 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 82 1 objectNode Ljdk/nashorn/internal/ir/ObjectNode;
1 82 2 elements Ljava/util/List<Ljdk/nashorn/internal/ir/PropertyNode;>;
2 82 3 tuples Ljava/util/List<Ljdk/nashorn/internal/codegen/MapTuple<Ljdk/nashorn/internal/ir/Expression;>;>;
3 82 4 specialProperties Ljava/util/List<Ljdk/nashorn/internal/ir/PropertyNode;>;
4 82 5 ccp I
5 82 6 ranges Ljava/util/List<Ljdk/nashorn/internal/ir/Splittable$SplitRange;>;
6 82 7 protoNode Ljdk/nashorn/internal/ir/Expression;
7 82 8 restOfProperty Z
9 35 9 propertyNode Ljdk/nashorn/internal/ir/PropertyNode;
10 35 11 value Ljdk/nashorn/internal/ir/Expression;
11 35 12 key Ljava/lang/String;
14 35 13 isComputedOrAccessor Z
17 35 14 symbol Ljdk/nashorn/internal/ir/Symbol;
34 35 15 valueType Ljava/lang/Class<*>;
38 39 9 oc Ljdk/nashorn/internal/codegen/ObjectCreator<*>;
40 82 9 oc Ljdk/nashorn/internal/codegen/ObjectCreator<*>;
47 48 10 ci Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
57 80 10 propertyNode Ljdk/nashorn/internal/ir/PropertyNode;
69 80 12 getter Ljdk/nashorn/internal/ir/FunctionNode;
70 80 13 setter Ljdk/nashorn/internal/ir/FunctionNode;
MethodParameters:
Name Flags
objectNode final
public boolean enterReturnNode(jdk.nashorn.internal.ir.ReturnNode);
descriptor: (Ljdk/nashorn/internal/ir/ReturnNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getReturnType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 2
start local 2 4: aload 1
invokevirtual jdk.nashorn.internal.ir.ReturnNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
astore 3
start local 3 5: aload 3
ifnull 8
6: aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionUnbounded:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
7: goto 9
8: StackMap locals: jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.ir.Expression
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
9: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._return:(Ljdk/nashorn/internal/codegen/types/Type;)V
10: iconst_0
ireturn
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/CodeGenerator;
0 11 1 returnNode Ljdk/nashorn/internal/ir/ReturnNode;
4 11 2 returnType Ljdk/nashorn/internal/codegen/types/Type;
5 11 3 expression Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
returnNode final
private boolean undefinedCheck(jdk.nashorn.internal.ir.RuntimeNode, java.util.List<jdk.nashorn.internal.ir.Expression>);
descriptor: (Ljdk/nashorn/internal/ir/RuntimeNode;Ljava/util/List;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getRequest:()Ljdk/nashorn/internal/ir/RuntimeNode$Request;
astore 3
start local 3 1: aload 3
invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isUndefinedCheck:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
ifne 3
2: iconst_0
ireturn
3: StackMap locals: jdk.nashorn.internal.ir.RuntimeNode$Request
StackMap stack:
aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Expression
astore 4
start local 4 4: aload 2
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Expression
astore 5
start local 5 5: aload 4
instanceof jdk.nashorn.internal.ir.IdentNode
ifeq 6
aload 4
checkcast jdk.nashorn.internal.ir.IdentNode
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
goto 7
StackMap locals: jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression
StackMap stack:
6: aconst_null
StackMap locals:
StackMap stack: jdk.nashorn.internal.ir.Symbol
7: astore 6
start local 6 8: aload 5
instanceof jdk.nashorn.internal.ir.IdentNode
ifeq 9
aload 5
checkcast jdk.nashorn.internal.ir.IdentNode
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
goto 10
StackMap locals: jdk.nashorn.internal.ir.Symbol
StackMap stack:
9: aconst_null
StackMap locals:
StackMap stack: jdk.nashorn.internal.ir.Symbol
10: astore 7
start local 7 11: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 12
aload 6
ifnonnull 12
aload 7
ifnonnull 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals: jdk.nashorn.internal.ir.Symbol
StackMap stack:
aload 6
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.isUndefinedSymbol:(Ljdk/nashorn/internal/ir/Symbol;)Z
ifeq 15
13: aload 6
astore 8
start local 8 14: goto 17
end local 8 15: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 16
aload 7
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.isUndefinedSymbol:(Ljdk/nashorn/internal/ir/Symbol;)Z
ifne 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
aload 7
astore 8
start local 8 17: StackMap locals: jdk.nashorn.internal.ir.Symbol
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 18
aload 8
ifnonnull 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
ifne 20
19: iconst_0
ireturn
20: StackMap locals:
StackMap stack:
aload 6
aload 8
if_acmpne 22
aload 4
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isPrimitive:()Z
ifeq 22
21: iconst_0
ireturn
22: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.containsOptimisticExpression:(Ljdk/nashorn/internal/ir/Expression;)Z
ifeq 24
23: iconst_0
ireturn
24: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
ldc "undefined"
invokevirtual jdk.nashorn.internal.codegen.Compiler.isGlobalSymbol:(Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/String;)Z
ifne 26
25: iconst_0
ireturn
26: StackMap locals:
StackMap stack:
aload 3
getstatic jdk.nashorn.internal.ir.RuntimeNode$Request.IS_UNDEFINED:Ljdk/nashorn/internal/ir/RuntimeNode$Request;
if_acmpne 27
iconst_1
goto 28
StackMap locals:
StackMap stack:
27: iconst_0
StackMap locals:
StackMap stack: int
28: istore 9
start local 9 29: aload 8
aload 6
if_acmpne 30
aload 5
goto 31
StackMap locals: int
StackMap stack:
30: aload 4
StackMap locals:
StackMap stack: jdk.nashorn.internal.ir.Expression
31: astore 10
start local 10 32: aload 10
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isPrimitive:()Z
ifeq 38
33: aload 0
aload 10
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
34: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 9
ifeq 35
iconst_0
goto 36
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode$Request jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol int jdk.nashorn.internal.ir.Expression
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter
35: iconst_1
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode$Request jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol int jdk.nashorn.internal.ir.Expression
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter int
36: invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
37: goto 50
38: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.codegen.Label
dup
ldc "ud_check_true"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 11
start local 11 39: new jdk.nashorn.internal.codegen.Label
dup
ldc "end"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 12
start local 12 40: aload 0
aload 10
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
41: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
42: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 11
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.if_acmpeq:(Ljdk/nashorn/internal/codegen/Label;)V
43: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 9
ifeq 44
iconst_0
goto 45
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode$Request jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol int jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter
44: iconst_1
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode$Request jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol int jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter int
45: invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
46: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 12
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
47: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 11
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
48: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 9
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
49: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 12
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
end local 12 end local 11 50: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 51 1 runtimeNode Ljdk/nashorn/internal/ir/RuntimeNode;
0 51 2 args Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
1 51 3 request Ljdk/nashorn/internal/ir/RuntimeNode$Request;
4 51 4 lhs Ljdk/nashorn/internal/ir/Expression;
5 51 5 rhs Ljdk/nashorn/internal/ir/Expression;
8 51 6 lhsSymbol Ljdk/nashorn/internal/ir/Symbol;
11 51 7 rhsSymbol Ljdk/nashorn/internal/ir/Symbol;
14 15 8 undefinedSymbol Ljdk/nashorn/internal/ir/Symbol;
17 51 8 undefinedSymbol Ljdk/nashorn/internal/ir/Symbol;
29 51 9 isUndefinedCheck Z
32 51 10 expr Ljdk/nashorn/internal/ir/Expression;
39 50 11 checkTrue Ljdk/nashorn/internal/codegen/Label;
40 50 12 end Ljdk/nashorn/internal/codegen/Label;
Signature: (Ljdk/nashorn/internal/ir/RuntimeNode;Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;)Z
MethodParameters:
Name Flags
runtimeNode final
args final
private static boolean isUndefinedSymbol(jdk.nashorn.internal.ir.Symbol);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
ldc "undefined"
aload 0
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
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 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
symbol final
private static boolean isNullLiteral(jdk.nashorn.internal.ir.Node);
descriptor: (Ljdk/nashorn/internal/ir/Node;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof jdk.nashorn.internal.ir.LiteralNode
ifeq 1
aload 0
checkcast jdk.nashorn.internal.ir.LiteralNode
invokevirtual jdk.nashorn.internal.ir.LiteralNode.isNull:()Z
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 node Ljdk/nashorn/internal/ir/Node;
MethodParameters:
Name Flags
node final
private boolean nullCheck(jdk.nashorn.internal.ir.RuntimeNode, java.util.List<jdk.nashorn.internal.ir.Expression>);
descriptor: (Ljdk/nashorn/internal/ir/RuntimeNode;Ljava/util/List;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getRequest:()Ljdk/nashorn/internal/ir/RuntimeNode$Request;
astore 3
start local 3 1: aload 3
invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isEQ:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
ifne 3
aload 3
invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isNE:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
ifne 3
2: iconst_0
ireturn
3: StackMap locals: jdk.nashorn.internal.ir.RuntimeNode$Request
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 4
aload 2
invokeinterface java.util.List.size:()I
iconst_2
if_icmpeq 4
new java.lang.AssertionError
dup
ldc "EQ or NE or TYPEOF need two args"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Expression
astore 4
start local 4 5: aload 2
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Expression
astore 5
start local 5 6: aload 4
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.isNullLiteral:(Ljdk/nashorn/internal/ir/Node;)Z
ifeq 10
7: aload 4
astore 6
start local 6 8: aload 5
astore 4
9: aload 6
astore 5
end local 6 10: StackMap locals: jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression
StackMap stack:
aload 5
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.isNullLiteral:(Ljdk/nashorn/internal/ir/Node;)Z
ifne 12
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
aload 4
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifne 14
13: iconst_0
ireturn
14: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.containsOptimisticExpression:(Ljdk/nashorn/internal/ir/Expression;)Z
ifeq 16
15: iconst_0
ireturn
16: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.codegen.Label
dup
ldc "trueLabel"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 6
start local 6 17: new jdk.nashorn.internal.codegen.Label
dup
ldc "falseLabel"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 7
start local 7 18: new jdk.nashorn.internal.codegen.Label
dup
ldc "end"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 8
start local 8 19: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionUnbounded:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
20: aload 3
invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isStrict:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
ifne 24
21: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
22: new jdk.nashorn.internal.codegen.Label
dup
ldc "pop"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 9
start local 9 23: goto 25
end local 9 24: StackMap locals: jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
StackMap stack:
aconst_null
astore 9
start local 9 25: StackMap locals: jdk.nashorn.internal.codegen.Label
StackMap stack:
aload 3
invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isEQ:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
ifeq 42
26: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isStrict:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
ifne 27
aload 9
goto 28
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter
27: aload 6
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode$Request jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label
28: invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifnull:(Ljdk/nashorn/internal/codegen/Label;)V
29: aload 3
invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isStrict:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
ifne 32
30: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
31: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.if_acmpeq:(Ljdk/nashorn/internal/codegen/Label;)V
32: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
33: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
34: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
35: aload 3
invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isStrict:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
ifne 38
36: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
37: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pop:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
38: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
39: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
40: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
41: goto 58
StackMap locals:
StackMap stack:
42: aload 3
invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isNE:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
ifeq 58
43: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isStrict:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
ifne 44
aload 9
goto 45
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter
44: aload 7
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode$Request jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label
45: invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifnull:(Ljdk/nashorn/internal/codegen/Label;)V
46: aload 3
invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isStrict:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
ifne 49
47: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
48: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.if_acmpeq:(Ljdk/nashorn/internal/codegen/Label;)V
49: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
50: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
51: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
52: aload 3
invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isStrict:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
ifne 55
53: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
54: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pop:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
55: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
56: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
57: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
58: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 59
aload 1
invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
ifne 59
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
59: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getType:()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
60: iconst_1
ireturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 61 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 61 1 runtimeNode Ljdk/nashorn/internal/ir/RuntimeNode;
0 61 2 args Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
1 61 3 request Ljdk/nashorn/internal/ir/RuntimeNode$Request;
5 61 4 lhs Ljdk/nashorn/internal/ir/Expression;
6 61 5 rhs Ljdk/nashorn/internal/ir/Expression;
8 10 6 tmp Ljdk/nashorn/internal/ir/Expression;
17 61 6 trueLabel Ljdk/nashorn/internal/codegen/Label;
18 61 7 falseLabel Ljdk/nashorn/internal/codegen/Label;
19 61 8 endLabel Ljdk/nashorn/internal/codegen/Label;
23 24 9 popLabel Ljdk/nashorn/internal/codegen/Label;
25 61 9 popLabel Ljdk/nashorn/internal/codegen/Label;
Signature: (Ljdk/nashorn/internal/ir/RuntimeNode;Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;)Z
MethodParameters:
Name Flags
runtimeNode final
args final
private boolean containsOptimisticExpression(jdk.nashorn.internal.ir.Expression);
descriptor: (Ljdk/nashorn/internal/ir/Expression;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.useOptimisticTypes:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.codegen.CodeGenerator$11
dup
aload 0
aload 1
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$11.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Expression;)V
3: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$11.get:()Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
4: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 5 1 rootExpr Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
rootExpr final
private void loadRuntimeNode(jdk.nashorn.internal.ir.RuntimeNode);
descriptor: (Ljdk/nashorn/internal/ir/RuntimeNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=7, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 1
invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getArgs:()Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 2
start local 2 1: aload 0
aload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.nullCheck:(Ljdk/nashorn/internal/ir/RuntimeNode;Ljava/util/List;)Z
ifeq 3
2: return
3: StackMap locals: java.util.List
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.undefinedCheck:(Ljdk/nashorn/internal/ir/RuntimeNode;Ljava/util/List;)Z
ifeq 5
4: return
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getRequest:()Ljdk/nashorn/internal/ir/RuntimeNode$Request;
astore 4
start local 4 6: aload 4
invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isUndefinedCheck:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
ifeq 11
7: aload 1
aload 4
getstatic jdk.nashorn.internal.ir.RuntimeNode$Request.IS_UNDEFINED:Ljdk/nashorn/internal/ir/RuntimeNode$Request;
if_acmpne 8
getstatic jdk.nashorn.internal.ir.RuntimeNode$Request.EQ_STRICT:Ljdk/nashorn/internal/ir/RuntimeNode$Request;
goto 9
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List top jdk.nashorn.internal.ir.RuntimeNode$Request
StackMap stack: jdk.nashorn.internal.ir.RuntimeNode
8: getstatic jdk.nashorn.internal.ir.RuntimeNode$Request.NE_STRICT:Ljdk/nashorn/internal/ir/RuntimeNode$Request;
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List top jdk.nashorn.internal.ir.RuntimeNode$Request
StackMap stack: jdk.nashorn.internal.ir.RuntimeNode jdk.nashorn.internal.ir.RuntimeNode$Request
9: invokevirtual jdk.nashorn.internal.ir.RuntimeNode.setRequest:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Ljdk/nashorn/internal/ir/RuntimeNode;
astore 3
start local 3 10: goto 12
end local 3 11: StackMap locals:
StackMap stack:
aload 1
astore 3
start local 3 12: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode jdk.nashorn.internal.ir.RuntimeNode$Request
StackMap stack:
aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 15
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode jdk.nashorn.internal.ir.RuntimeNode$Request top java.util.Iterator
StackMap stack:
13: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Expression
astore 5
start local 5 14: aload 0
aload 5
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.OBJECT:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
end local 5 15: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
16: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
17: ldc Ljdk/nashorn/internal/runtime/ScriptRuntime;
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.className:(Ljava/lang/Class;)Ljava/lang/String;
18: aload 3
invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getRequest:()Ljdk/nashorn/internal/ir/RuntimeNode$Request;
invokevirtual jdk.nashorn.internal.ir.RuntimeNode$Request.toString:()Ljava/lang/String;
19: new jdk.nashorn.internal.codegen.FunctionSignature
dup
20: iconst_0
21: iconst_0
22: aload 3
invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
23: aload 2
invokeinterface java.util.List.size:()I
24: invokespecial jdk.nashorn.internal.codegen.FunctionSignature.<init>:(ZZLjdk/nashorn/internal/codegen/types/Type;I)V
25: invokevirtual jdk.nashorn.internal.codegen.FunctionSignature.toString:()Ljava/lang/String;
26: invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
27: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getType:()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: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 29 1 runtimeNode Ljdk/nashorn/internal/ir/RuntimeNode;
1 29 2 args Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
10 11 3 newRuntimeNode Ljdk/nashorn/internal/ir/RuntimeNode;
12 29 3 newRuntimeNode Ljdk/nashorn/internal/ir/RuntimeNode;
6 29 4 request Ljdk/nashorn/internal/ir/RuntimeNode$Request;
14 15 5 arg Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
runtimeNode final
private void defineCommonSplitMethodParameters();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.CALLEE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.defineSplitMethodParameter:(ILjdk/nashorn/internal/codegen/CompilerConstants;)V
1: aload 0
iconst_1
getstatic jdk.nashorn.internal.codegen.CompilerConstants.THIS:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.defineSplitMethodParameter:(ILjdk/nashorn/internal/codegen/CompilerConstants;)V
2: aload 0
iconst_2
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.defineSplitMethodParameter:(ILjdk/nashorn/internal/codegen/CompilerConstants;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private void defineSplitMethodParameter(int, jdk.nashorn.internal.codegen.CompilerConstants);
descriptor: (ILjdk/nashorn/internal/codegen/CompilerConstants;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.type:()Ljava/lang/Class;
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.defineSplitMethodParameter:(ILjdk/nashorn/internal/codegen/types/Type;)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/CodeGenerator;
0 2 1 slot I
0 2 2 cc Ljdk/nashorn/internal/codegen/CompilerConstants;
MethodParameters:
Name Flags
slot final
cc final
private void defineSplitMethodParameter(int, jdk.nashorn.internal.codegen.types.Type);
descriptor: (ILjdk/nashorn/internal/codegen/types/Type;)V
flags: (0x0002) ACC_PRIVATE
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.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 1
iload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
iadd
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.defineBlockLocalVariable:(II)V
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
iload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.onLocalStore:(Ljdk/nashorn/internal/codegen/types/Type;I)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/CodeGenerator;
0 3 1 slot I
0 3 2 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
slot final
type final
private void loadSplitLiteral(jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator, java.util.List<jdk.nashorn.internal.ir.Splittable$SplitRange>, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/CodeGenerator$SplitLiteralCreator;Ljava/util/List;Ljdk/nashorn/internal/codegen/types/Type;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 1
aload 2
ifnonnull 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.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
astore 4
start local 4 2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
astore 5
start local 5 3: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 30
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator java.util.List jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.ir.FunctionNode top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Splittable$SplitRange
astore 6
start local 6 5: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 6
invokevirtual jdk.nashorn.internal.ir.Splittable$SplitRange.getCompileUnit:()Ljdk/nashorn/internal/codegen/CompileUnit;
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.pushCompileUnit:(Ljdk/nashorn/internal/codegen/CompileUnit;)Ljdk/nashorn/internal/codegen/CompileUnit;
putfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
6: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 7
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
ifnonnull 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator java.util.List jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.Splittable$SplitRange java.util.Iterator
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getUnitClassName:()Ljava/lang/String;
astore 8
start local 8 8: aload 5
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SPLIT_PREFIX:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.uniqueName:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 9: aload 3
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
astore 10
start local 10 10: aload 10
iconst_4
anewarray java.lang.Class
dup
iconst_0
ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
aastore
dup
iconst_1
ldc Ljava/lang/Object;
aastore
dup
iconst_2
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
aastore
dup
iconst_3
aload 10
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
astore 11
start local 11 11: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getClassEmitter:()Ljdk/nashorn/internal/codegen/ClassEmitter;
getstatic jdk.nashorn.internal.codegen.ClassEmitter$Flag.PUBLIC:Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;
getstatic jdk.nashorn.internal.codegen.ClassEmitter$Flag.STATIC:Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
aload 9
aload 11
invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.method:(Ljava/util/EnumSet;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.pushMethodEmitter:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
12: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.setFunctionNode:(Ljdk/nashorn/internal/ir/FunctionNode;)V
13: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.begin:()V
14: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.defineCommonSplitMethodParameters:()V
15: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SPLIT_ARRAY_ARG:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.slot:()I
aload 3
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.defineSplitMethodParameter:(ILjdk/nashorn/internal/codegen/types/Type;)V
16: aload 0
aload 5
iconst_3
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.fixScopeSlot:(Ljdk/nashorn/internal/ir/FunctionNode;I)I
istore 12
start local 12 17: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.enterSplitLiteral:()V
18: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
iload 12
aload 6
invokevirtual jdk.nashorn.internal.ir.Splittable$SplitRange.getLow:()I
aload 6
invokevirtual jdk.nashorn.internal.ir.Splittable$SplitRange.getHigh:()I
invokeinterface jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator.populateRange:(Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/codegen/types/Type;III)V
19: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._return:()V
20: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.exitSplitLiteral:()V
21: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.end:()V
22: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.releaseSlots:()V
23: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popMethodEmitter:()V
24: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 25
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
if_acmpeq 25
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
25: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator java.util.List jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.Splittable$SplitRange java.util.Iterator java.lang.String java.lang.String java.lang.Class java.lang.String int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.CALLEE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
26: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.THIS:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
27: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
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;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
28: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 8
aload 9
aload 11
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
29: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popCompileUnit:(Ljdk/nashorn/internal/codegen/CompileUnit;)Ljdk/nashorn/internal/codegen/CompileUnit;
putfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
end local 12 end local 11 end local 10 end local 9 end local 8 end local 6 30: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator java.util.List jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.ir.FunctionNode top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
31: 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 32 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 32 1 creator Ljdk/nashorn/internal/codegen/CodeGenerator$SplitLiteralCreator;
0 32 2 ranges Ljava/util/List<Ljdk/nashorn/internal/ir/Splittable$SplitRange;>;
0 32 3 literalType Ljdk/nashorn/internal/codegen/types/Type;
2 32 4 savedMethod Ljdk/nashorn/internal/codegen/MethodEmitter;
3 32 5 currentFunction Ljdk/nashorn/internal/ir/FunctionNode;
5 30 6 splitRange Ljdk/nashorn/internal/ir/Splittable$SplitRange;
8 30 8 className Ljava/lang/String;
9 30 9 name Ljava/lang/String;
10 30 10 clazz Ljava/lang/Class<*>;
11 30 11 signature Ljava/lang/String;
17 30 12 literalSlot I
Signature: (Ljdk/nashorn/internal/codegen/CodeGenerator$SplitLiteralCreator;Ljava/util/List<Ljdk/nashorn/internal/ir/Splittable$SplitRange;>;Ljdk/nashorn/internal/codegen/types/Type;)V
MethodParameters:
Name Flags
creator final
ranges final
literalType final
private int fixScopeSlot(jdk.nashorn.internal.ir.FunctionNode, int);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, 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;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.compilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.SCOPE_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.ir.Symbol.getSlot:(Ljdk/nashorn/internal/codegen/types/Type;)I
istore 3
start local 3 1: getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.slot:()I
istore 4
start local 4 2: iload 2
istore 5
start local 5 3: iload 3
iload 4
if_icmpeq 13
4: iload 3
iload 2
if_icmpne 10
5: iload 2
iconst_1
iadd
istore 5
6: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 5
iload 5
iconst_1
iadd
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.defineBlockLocalVariable:(II)V
7: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
iload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
8: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
iload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeHidden:(Ljdk/nashorn/internal/codegen/types/Type;I)V
9: goto 11
10: StackMap locals: int int int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 3
iload 3
iconst_1
iadd
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.defineBlockLocalVariable:(II)V
11: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.SCOPE_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
iload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
12: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
13: StackMap locals:
StackMap stack:
iload 5
ireturn
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 14 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 14 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
0 14 2 extraSlot I
1 14 3 actualScopeSlot I
2 14 4 defaultScopeSlot I
3 14 5 newExtraSlot I
MethodParameters:
Name Flags
functionNode final
extraSlot final
public boolean enterSplitReturn(jdk.nashorn.internal.ir.SplitReturn);
descriptor: (Ljdk/nashorn/internal/ir/SplitReturn;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 2
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getReturnType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._return:()V
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 splitReturn Ljdk/nashorn/internal/ir/SplitReturn;
MethodParameters:
Name Flags
splitReturn final
public boolean enterSetSplitState(jdk.nashorn.internal.ir.SetSplitState);
descriptor: (Ljdk/nashorn/internal/ir/SetSplitState;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 2
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.ir.SetSplitState.getState:()I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.setSplitState:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 setSplitState Ljdk/nashorn/internal/ir/SetSplitState;
MethodParameters:
Name Flags
setSplitState final
public boolean enterSwitchNode(jdk.nashorn.internal.ir.SwitchNode);
descriptor: (Ljdk/nashorn/internal/ir/SwitchNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=22, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
3: aload 1
invokevirtual jdk.nashorn.internal.ir.SwitchNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 4: aload 1
invokevirtual jdk.nashorn.internal.ir.SwitchNode.getCases:()Ljava/util/List;
astore 3
start local 3 5: aload 3
invokeinterface java.util.List.isEmpty:()Z
ifeq 8
6: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
7: iconst_0
ireturn
8: StackMap locals: jdk.nashorn.internal.ir.Expression java.util.List
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.SwitchNode.getDefaultCase:()Ljdk/nashorn/internal/ir/CaseNode;
astore 4
start local 4 9: aload 1
invokevirtual jdk.nashorn.internal.ir.SwitchNode.getBreakLabel:()Ljdk/nashorn/internal/codegen/Label;
astore 5
start local 5 10: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getUsedSlotsWithLiveTemporaries:()I
istore 6
start local 6 11: aload 4
ifnull 17
aload 3
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 17
12: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 13
aload 3
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
aload 4
if_acmpeq 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals: jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int
StackMap stack:
aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
14: aload 4
invokevirtual jdk.nashorn.internal.ir.CaseNode.getBody:()Ljdk/nashorn/internal/ir/Block;
aload 0
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
15: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
iload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
aload 4
ifnull 18
aload 4
invokevirtual jdk.nashorn.internal.ir.CaseNode.getEntry:()Ljdk/nashorn/internal/codegen/Label;
goto 19
StackMap locals:
StackMap stack:
18: aload 5
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.Label
19: astore 7
start local 7 20: aload 1
invokestatic jdk.nashorn.internal.ir.LocalVariableConversion.hasLiveConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)Z
istore 8
start local 8 21: aload 1
invokevirtual jdk.nashorn.internal.ir.SwitchNode.isUniqueInteger:()Z
ifeq 82
22: new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 9
start local 9 23: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 31
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int java.util.TreeMap top java.util.Iterator
StackMap stack:
24: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.CaseNode
astore 10
start local 10 25: aload 10
invokevirtual jdk.nashorn.internal.ir.CaseNode.getTest:()Ljdk/nashorn/internal/ir/Expression;
astore 12
start local 12 26: aload 12
ifnull 31
27: aload 12
checkcast jdk.nashorn.internal.ir.LiteralNode
invokevirtual jdk.nashorn.internal.ir.LiteralNode.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
astore 13
start local 13 28: aload 10
invokevirtual jdk.nashorn.internal.ir.CaseNode.getEntry:()Ljdk/nashorn/internal/codegen/Label;
astore 14
start local 14 29: aload 9
aload 13
invokevirtual java.util.TreeMap.containsKey:(Ljava/lang/Object;)Z
ifne 31
30: aload 9
aload 13
aload 14
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 14 end local 13 end local 12 end local 10 31: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
32: aload 9
invokevirtual java.util.TreeMap.size:()I
istore 10
start local 10 33: aload 9
invokevirtual java.util.TreeMap.keySet:()Ljava/util/Set;
iconst_0
anewarray java.lang.Integer
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Integer[]
astore 11
start local 11 34: aload 9
invokevirtual java.util.TreeMap.values:()Ljava/util/Collection;
iconst_0
anewarray jdk.nashorn.internal.codegen.Label
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.Label[]
astore 12
start local 12 35: aload 11
iconst_0
aaload
invokevirtual java.lang.Integer.intValue:()I
istore 13
start local 13 36: aload 11
iload 10
iconst_1
isub
aaload
invokevirtual java.lang.Integer.intValue:()I
istore 14
start local 14 37: iload 14
i2l
iload 13
i2l
lsub
lconst_1
ladd
lstore 15
start local 15 38: ldc -2147483648
istore 17
start local 17 39: aload 11
dup
astore 21
arraylength
istore 20
iconst_0
istore 19
goto 47
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int java.util.TreeMap int java.lang.Integer[] jdk.nashorn.internal.codegen.Label[] int int long int top int int java.lang.Integer[]
StackMap stack:
40: aload 21
iload 19
aaload
invokevirtual java.lang.Integer.intValue:()I
istore 18
start local 18 41: iload 17
iload 18
if_icmpne 44
42: iinc 17 1
43: goto 46
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int java.util.TreeMap int java.lang.Integer[] jdk.nashorn.internal.codegen.Label[] int int long int int int int java.lang.Integer[]
StackMap stack:
44: iload 17
iload 18
if_icmpge 46
45: goto 48
end local 18 46: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int java.util.TreeMap int java.lang.Integer[] jdk.nashorn.internal.codegen.Label[] int int long int top int int java.lang.Integer[]
StackMap stack:
iinc 19 1
StackMap locals:
StackMap stack:
47: iload 19
iload 20
if_icmplt 40
48: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int java.util.TreeMap int java.lang.Integer[] jdk.nashorn.internal.codegen.Label[] int int long int
StackMap stack:
aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionUnbounded:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
49: aload 2
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 18
start local 18 50: aload 18
invokevirtual jdk.nashorn.internal.codegen.types.Type.isInteger:()Z
ifne 56
51: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 17
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
52: aload 18
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
astore 19
start local 19 53: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
ldc Ljdk/nashorn/internal/runtime/ScriptRuntime;
ldc "switchTagAsInt"
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
iconst_2
anewarray java.lang.Class
dup
iconst_0
aload 19
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 54
aload 19
goto 55
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int java.util.TreeMap int java.lang.Integer[] jdk.nashorn.internal.codegen.Label[] int int long int jdk.nashorn.internal.codegen.types.Type java.lang.Class
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter java.lang.Class java.lang.String java.lang.Class java.lang.Class[] java.lang.Class[] int
54: ldc Ljava/lang/Object;
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int java.util.TreeMap int java.lang.Integer[] jdk.nashorn.internal.codegen.Label[] int int long int jdk.nashorn.internal.codegen.types.Type java.lang.Class
StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter java.lang.Class java.lang.String java.lang.Class java.lang.Class[] java.lang.Class[] int java.lang.Class
55: aastore
dup
iconst_1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(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
end local 19 56: StackMap locals:
StackMap stack:
iload 8
ifeq 59
57: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 58
aload 7
aload 5
if_acmpeq 58
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
58: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.codegen.Label
dup
ldc "switch_skip"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 7
59: StackMap locals:
StackMap stack:
lload 15
lconst_1
ladd
iload 10
iconst_2
imul
i2l
lcmp
ifgt 70
lload 15
ldc 2147483647
lcmp
ifgt 70
60: lload 15
l2i
anewarray jdk.nashorn.internal.codegen.Label
astore 19
start local 19 61: aload 19
aload 7
invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
62: iconst_0
istore 20
start local 20 63: goto 67
64: StackMap locals: jdk.nashorn.internal.codegen.Label[] int
StackMap stack:
aload 11
iload 20
aaload
invokevirtual java.lang.Integer.intValue:()I
istore 21
start local 21 65: aload 19
iload 21
iload 13
isub
aload 12
iload 20
aaload
aastore
end local 21 66: iinc 20 1
StackMap locals:
StackMap stack:
67: iload 20
iload 10
if_icmplt 64
end local 20 68: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 13
iload 14
aload 7
aload 19
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.tableswitch:(IILjdk/nashorn/internal/codegen/Label;[Ljdk/nashorn/internal/codegen/Label;)V
end local 19 69: goto 77
70: StackMap locals:
StackMap stack:
iload 10
newarray 10
astore 19
start local 19 71: iconst_0
istore 20
start local 20 72: goto 75
73: StackMap locals: int[] int
StackMap stack:
aload 19
iload 20
aload 11
iload 20
aaload
invokevirtual java.lang.Integer.intValue:()I
iastore
74: iinc 20 1
StackMap locals:
StackMap stack:
75: iload 20
iload 10
if_icmplt 73
end local 20 76: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
aload 19
aload 12
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.lookupswitch:(Ljdk/nashorn/internal/codegen/Label;[I[Ljdk/nashorn/internal/codegen/Label;)V
end local 19 77: StackMap locals:
StackMap stack:
iload 8
ifeq 100
78: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
79: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
80: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
end local 18 end local 17 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 81: goto 100
82: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.SwitchNode.getTag:()Ljdk/nashorn/internal/ir/Symbol;
astore 9
start local 9 83: aload 9
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 10
start local 10 84: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
85: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
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
86: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 94
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.ir.Symbol int top java.util.Iterator
StackMap stack:
87: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.CaseNode
astore 11
start local 11 88: aload 11
invokevirtual jdk.nashorn.internal.ir.CaseNode.getTest:()Ljdk/nashorn/internal/ir/Expression;
astore 13
start local 13 89: aload 13
ifnull 94
90: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
iload 10
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
91: aload 0
aload 13
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
92: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.EQ_STRICT: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
93: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 11
invokevirtual jdk.nashorn.internal.ir.CaseNode.getEntry:()Ljdk/nashorn/internal/codegen/Label;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifne:(Ljdk/nashorn/internal/codegen/Label;)V
end local 13 end local 11 94: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 87
95: aload 4
ifnull 98
96: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
97: goto 100
98: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.ir.Symbol int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
99: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
end local 10 end local 9 100: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 101
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 101
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
101: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 113
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int top java.util.Iterator
StackMap stack:
102: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.CaseNode
astore 9
start local 9 103: aload 9
invokevirtual jdk.nashorn.internal.ir.CaseNode.getLocalVariableConversion:()Ljdk/nashorn/internal/ir/LocalVariableConversion;
ifnull 107
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 107
104: new jdk.nashorn.internal.codegen.Label
dup
ldc "fallthrough"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 11
start local 11 105: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 11
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
106: goto 108
end local 11 107: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.ir.CaseNode java.util.Iterator
StackMap stack:
aconst_null
astore 11
start local 11 108: StackMap locals: jdk.nashorn.internal.codegen.Label
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
invokevirtual jdk.nashorn.internal.ir.CaseNode.getEntry:()Ljdk/nashorn/internal/codegen/Label;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
109: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
110: aload 11
ifnull 112
111: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 11
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
112: StackMap locals:
StackMap stack:
aload 9
invokevirtual jdk.nashorn.internal.ir.CaseNode.getBody:()Ljdk/nashorn/internal/ir/Block;
aload 0
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
end local 11 end local 9 113: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 102
114: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
iload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
115: iconst_0
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 116 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 116 1 switchNode Ljdk/nashorn/internal/ir/SwitchNode;
4 116 2 expression Ljdk/nashorn/internal/ir/Expression;
5 116 3 cases Ljava/util/List<Ljdk/nashorn/internal/ir/CaseNode;>;
9 116 4 defaultCase Ljdk/nashorn/internal/ir/CaseNode;
10 116 5 breakLabel Ljdk/nashorn/internal/codegen/Label;
11 116 6 liveLocalsOnBreak I
20 116 7 defaultLabel Ljdk/nashorn/internal/codegen/Label;
21 116 8 hasSkipConversion Z
23 81 9 tree Ljava/util/TreeMap<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/Label;>;
25 31 10 caseNode Ljdk/nashorn/internal/ir/CaseNode;
26 31 12 test Ljdk/nashorn/internal/ir/Node;
28 31 13 value Ljava/lang/Integer;
29 31 14 entry Ljdk/nashorn/internal/codegen/Label;
33 81 10 size I
34 81 11 values [Ljava/lang/Integer;
35 81 12 labels [Ljdk/nashorn/internal/codegen/Label;
36 81 13 lo I
37 81 14 hi I
38 81 15 range J
39 81 17 deflt I
41 46 18 value I
50 81 18 type Ljdk/nashorn/internal/codegen/types/Type;
53 56 19 exprClass Ljava/lang/Class<*>;
61 69 19 table [Ljdk/nashorn/internal/codegen/Label;
63 68 20 i I
65 66 21 value I
71 77 19 ints [I
72 76 20 i I
83 100 9 tagSymbol Ljdk/nashorn/internal/ir/Symbol;
84 100 10 tagSlot I
88 94 11 caseNode Ljdk/nashorn/internal/ir/CaseNode;
89 94 13 test Ljdk/nashorn/internal/ir/Expression;
103 113 9 caseNode Ljdk/nashorn/internal/ir/CaseNode;
105 107 11 fallThroughLabel Ljdk/nashorn/internal/codegen/Label;
108 113 11 fallThroughLabel Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
switchNode final
public boolean enterThrowNode(jdk.nashorn.internal.ir.ThrowNode);
descriptor: (Ljdk/nashorn/internal/ir/ThrowNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
3: aload 1
invokevirtual jdk.nashorn.internal.ir.ThrowNode.isSyntheticRethrow:()Z
ifeq 11
4: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
5: aload 1
invokevirtual jdk.nashorn.internal.ir.ThrowNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
checkcast jdk.nashorn.internal.ir.IdentNode
astore 2
start local 2 6: aload 2
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
astore 3
start local 3 7: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
getstatic jdk.nashorn.internal.codegen.CodeGenerator.EXCEPTION_TYPE: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;
pop
8: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.EXCEPTION_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.checkcast:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
9: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.athrow:()V
10: iconst_0
ireturn
end local 3 end local 2 11: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCurrentSource:()Ljdk/nashorn/internal/runtime/Source;
astore 2
start local 2 12: aload 1
invokevirtual jdk.nashorn.internal.ir.ThrowNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
astore 3
start local 3 13: aload 1
invokevirtual jdk.nashorn.internal.ir.ThrowNode.position:()I
istore 4
start local 4 14: aload 1
invokevirtual jdk.nashorn.internal.ir.ThrowNode.getLineNumber:()I
istore 5
start local 5 15: aload 2
iload 4
invokevirtual jdk.nashorn.internal.runtime.Source.getColumn:(I)I
istore 6
start local 6 16: aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
17: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
invokevirtual jdk.nashorn.internal.runtime.Source.getName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
18: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
19: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
20: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ECMAException.CREATE: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
21: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
22: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.athrow:()V
23: iconst_0
ireturn
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 24 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 24 1 throwNode Ljdk/nashorn/internal/ir/ThrowNode;
6 11 2 exceptionExpr Ljdk/nashorn/internal/ir/IdentNode;
7 11 3 exceptionSymbol Ljdk/nashorn/internal/ir/Symbol;
12 24 2 source Ljdk/nashorn/internal/runtime/Source;
13 24 3 expression Ljdk/nashorn/internal/ir/Expression;
14 24 4 position I
15 24 5 line I
16 24 6 column I
MethodParameters:
Name Flags
throwNode final
private jdk.nashorn.internal.runtime.Source getCurrentSource();
descriptor: ()Ljdk/nashorn/internal/runtime/Source;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getSource:()Ljdk/nashorn/internal/runtime/Source;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
public boolean enterTryNode(jdk.nashorn.internal.ir.TryNode);
descriptor: (Ljdk/nashorn/internal/ir/TryNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=20, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
3: aload 1
invokevirtual jdk.nashorn.internal.ir.TryNode.getBody:()Ljdk/nashorn/internal/ir/Block;
astore 2
start local 2 4: aload 1
invokevirtual jdk.nashorn.internal.ir.TryNode.getCatchBlocks:()Ljava/util/List;
astore 3
start local 3 5: aload 1
invokevirtual jdk.nashorn.internal.ir.TryNode.getException:()Ljdk/nashorn/internal/ir/Symbol;
astore 4
start local 4 6: new jdk.nashorn.internal.codegen.Label
dup
ldc "try"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 5
start local 5 7: new jdk.nashorn.internal.codegen.Label
dup
ldc "catch"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 6
start local 6 8: new jdk.nashorn.internal.codegen.Label
dup
ldc "end_try"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 7
start local 7 9: new jdk.nashorn.internal.codegen.Label
dup
ldc "skip"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 8
start local 8 10: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.canThrow:(Ljdk/nashorn/internal/codegen/Label;)V
11: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeTry:(Ljdk/nashorn/internal/ir/TryNode;Ljdk/nashorn/internal/codegen/Label;)V
12: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
13: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
aload 6
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
14: aload 2
aload 0
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
15: goto 20
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.TryNode jdk.nashorn.internal.ir.Block java.util.List jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
StackMap stack: java.lang.Throwable
16: astore 9
17: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 18
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
aload 6
if_acmpeq 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
pop
19: aload 9
athrow
20: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 21
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
aload 6
if_acmpeq 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
pop
22: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
23: aload 7
aload 5
invokevirtual jdk.nashorn.internal.codegen.Label.isAfter:(Ljdk/nashorn/internal/codegen/Label;)Z
istore 9
start local 9 24: iload 9
ifne 26
25: iconst_0
ireturn
26: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
aload 7
aload 6
ldc Ljava/lang/Throwable;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._try:(Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljava/lang/Class;)V
27: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 29
28: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
29: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.TryNode.getInlinedFinallies:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 33
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.TryNode jdk.nashorn.internal.ir.Block java.util.List jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int top java.util.Iterator
StackMap stack:
30: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Block
astore 10
start local 10 31: aload 10
invokestatic jdk.nashorn.internal.ir.TryNode.getLabelledInlinedFinallyBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/Block;
aload 0
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
32: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 33
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 10 33: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
34: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._catch:(Ljdk/nashorn/internal/codegen/Label;)V
35: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
getstatic jdk.nashorn.internal.codegen.CodeGenerator.EXCEPTION_TYPE: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
36: aload 3
invokeinterface java.util.List.size:()I
istore 10
start local 10 37: new jdk.nashorn.internal.codegen.Label
dup
ldc "after_catch"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 11
start local 11 38: iconst_0
istore 12
start local 12 39: goto 68
40: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.TryNode jdk.nashorn.internal.ir.Block java.util.List jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int int jdk.nashorn.internal.codegen.Label int
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 41
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 41
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
41: StackMap locals:
StackMap stack:
aload 3
iload 12
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Block
astore 13
start local 13 42: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 13
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.push:(Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
pop
43: aload 0
aload 13
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterBlock:(Ljdk/nashorn/internal/ir/Block;)Z
pop
44: aload 3
iload 12
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Block
invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.CatchNode
astore 14
start local 14 45: aload 14
invokevirtual jdk.nashorn.internal.ir.CatchNode.getExceptionIdentifier:()Ljdk/nashorn/internal/ir/IdentNode;
astore 15
start local 15 46: aload 14
invokevirtual jdk.nashorn.internal.ir.CatchNode.getExceptionCondition:()Ljdk/nashorn/internal/ir/Expression;
astore 16
start local 16 47: aload 14
invokevirtual jdk.nashorn.internal.ir.CatchNode.getBody:()Ljdk/nashorn/internal/ir/Block;
astore 17
start local 17 48: new jdk.nashorn.internal.codegen.CodeGenerator$12
dup
aload 0
aload 0
aload 15
aload 14
aload 4
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$12.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/CatchNode;Ljdk/nashorn/internal/ir/Symbol;)V
49: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$12.store:()V
50: aload 16
ifnull 51
iconst_1
goto 52
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.TryNode jdk.nashorn.internal.ir.Block java.util.List jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int int jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.CatchNode jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Block
StackMap stack:
51: iconst_0
StackMap locals:
StackMap stack: int
52: istore 18
start local 18 53: iload 18
ifeq 59
54: aload 0
aload 16
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsBoolean:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
55: new jdk.nashorn.internal.codegen.Label
dup
ldc "next_catch"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 19
start local 19 56: aload 19
invokevirtual jdk.nashorn.internal.codegen.Label.markAsBreakTarget:()V
57: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 19
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifeq:(Ljdk/nashorn/internal/codegen/Label;)V
58: goto 60
end local 19 59: StackMap locals: int
StackMap stack:
aconst_null
astore 19
start local 19 60: StackMap locals: jdk.nashorn.internal.codegen.Label
StackMap stack:
aload 17
aload 0
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
61: aload 0
aload 13
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.leaveBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/Node;
pop
62: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 13
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.pop:(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node;
pop
63: aload 19
ifnull 67
64: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 66
65: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 11
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
66: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 19
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getUsedSlotCount:()I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 67: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.TryNode jdk.nashorn.internal.ir.Block java.util.List jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int int jdk.nashorn.internal.codegen.Label int
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
68: iload 12
iload 10
if_icmplt 40
end local 12 69: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 11
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
70: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 72
71: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.markDeadLocalVariable:(Ljdk/nashorn/internal/ir/Symbol;)V
72: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
73: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 74
aload 1
invokevirtual jdk.nashorn.internal.ir.TryNode.getFinallyBody:()Ljdk/nashorn/internal/ir/Block;
ifnull 74
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
74: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 75 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 75 1 tryNode Ljdk/nashorn/internal/ir/TryNode;
4 75 2 body Ljdk/nashorn/internal/ir/Block;
5 75 3 catchBlocks Ljava/util/List<Ljdk/nashorn/internal/ir/Block;>;
6 75 4 vmException Ljdk/nashorn/internal/ir/Symbol;
7 75 5 entry Ljdk/nashorn/internal/codegen/Label;
8 75 6 recovery Ljdk/nashorn/internal/codegen/Label;
9 75 7 exit Ljdk/nashorn/internal/codegen/Label;
10 75 8 skip Ljdk/nashorn/internal/codegen/Label;
24 75 9 bodyCanThrow Z
31 33 10 inlinedFinally Ljdk/nashorn/internal/ir/Block;
37 75 10 catchBlockCount I
38 75 11 afterCatch Ljdk/nashorn/internal/codegen/Label;
39 69 12 i I
42 67 13 catchBlock Ljdk/nashorn/internal/ir/Block;
45 67 14 catchNode Ljdk/nashorn/internal/ir/CatchNode;
46 67 15 exception Ljdk/nashorn/internal/ir/IdentNode;
47 67 16 exceptionCondition Ljdk/nashorn/internal/ir/Expression;
48 67 17 catchBody Ljdk/nashorn/internal/ir/Block;
53 67 18 isConditionalCatch Z
56 59 19 nextCatch Ljdk/nashorn/internal/codegen/Label;
60 67 19 nextCatch Ljdk/nashorn/internal/codegen/Label;
Exception table:
from to target type
14 16 16 any
MethodParameters:
Name Flags
tryNode final
public boolean enterVarNode(jdk.nashorn.internal.ir.VarNode);
descriptor: (Ljdk/nashorn/internal/ir/VarNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.VarNode.getInit:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 3: aload 1
invokevirtual jdk.nashorn.internal.ir.VarNode.getName:()Ljdk/nashorn/internal/ir/IdentNode;
astore 3
start local 3 4: aload 3
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
astore 4
start local 4 5: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 6
aload 4
ifnonnull 6
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "variable node "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " requires a name with a symbol"
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
6: StackMap locals: jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.ir.Symbol
StackMap stack:
aload 4
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
istore 5
start local 5 7: aload 2
ifnonnull 15
8: iload 5
ifeq 14
aload 1
invokevirtual jdk.nashorn.internal.ir.VarNode.isLet:()Z
ifeq 14
9: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
10: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
11: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getScopeCallSiteFlags:(Ljdk/nashorn/internal/ir/Symbol;)I
sipush 512
ior
istore 6
start local 6 12: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 13
aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isFastScope:(Ljdk/nashorn/internal/ir/Symbol;)Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals: int int
StackMap stack:
aload 0
aload 4
iload 6
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.storeFastScopeVar:(Ljdk/nashorn/internal/ir/Symbol;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
end local 6 14: StackMap locals:
StackMap stack:
iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
16: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 17
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
ifnonnull 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
iload 5
ifeq 28
18: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
19: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionUnbounded:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
20: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getScopeCallSiteFlags:(Ljdk/nashorn/internal/ir/Symbol;)I
aload 1
invokevirtual jdk.nashorn.internal.ir.VarNode.isBlockScoped:()Z
ifeq 21
sipush 512
goto 22
StackMap locals:
StackMap stack: int
21: iconst_0
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.VarNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.ir.Symbol int
StackMap stack: int int
22: ior
istore 6
start local 6 23: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isFastScope:(Ljdk/nashorn/internal/ir/Symbol;)Z
ifeq 26
24: aload 0
aload 4
iload 6
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.storeFastScopeVar:(Ljdk/nashorn/internal/ir/Symbol;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
25: goto 35
26: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
iload 6
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicSet:(Ljava/lang/String;IZ)V
end local 6 27: goto 35
28: StackMap locals:
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 6
start local 6 29: aload 6
getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 33
30: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 31
aload 2
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpeq 31
aload 3
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.ir.Symbol.slotCount:()I
ifeq 31
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
31: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
32: iconst_0
ireturn
33: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 6
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsType:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
34: aload 0
aload 3
aload 6
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.storeIdentWithCatchConversion:(Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/types/Type;)V
end local 6 35: StackMap locals:
StackMap stack:
iconst_0
ireturn
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 36 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 36 1 varNode Ljdk/nashorn/internal/ir/VarNode;
3 36 2 init Ljdk/nashorn/internal/ir/Expression;
4 36 3 identNode Ljdk/nashorn/internal/ir/IdentNode;
5 36 4 identSymbol Ljdk/nashorn/internal/ir/Symbol;
7 36 5 needsScope Z
12 14 6 flags I
23 27 6 flags I
29 35 6 identType Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
varNode final
private void storeIdentWithCatchConversion(jdk.nashorn.internal.ir.IdentNode, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/types/Type;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.getLocalVariableConversion:()Ljdk/nashorn/internal/ir/LocalVariableConversion;
astore 3
start local 3 1: aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
astore 4
start local 4 2: aload 3
ifnull 21
aload 3
invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.isLive:()Z
ifeq 21
3: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 4
aload 4
aload 3
invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
if_acmpeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: jdk.nashorn.internal.ir.LocalVariableConversion jdk.nashorn.internal.ir.Symbol
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 5
aload 4
invokevirtual jdk.nashorn.internal.ir.Symbol.isBytecodeLocal:()Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 6
aload 3
invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.getNext:()Ljdk/nashorn/internal/ir/LocalVariableConversion;
ifnull 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 7
aload 3
invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.getFrom:()Ljdk/nashorn/internal/codegen/types/Type;
aload 2
if_acmpeq 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.Label
astore 5
start local 5 8: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 9
aload 5
getstatic jdk.nashorn.internal.codegen.CodeGenerator.METHOD_BOUNDARY:Ljdk/nashorn/internal/codegen/Label;
if_acmpne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: jdk.nashorn.internal.codegen.Label
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 10
aload 5
invokevirtual jdk.nashorn.internal.codegen.Label.isReachable:()Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.getTo:()Ljdk/nashorn/internal/codegen/types/Type;
astore 6
start local 6 11: aload 5
invokevirtual jdk.nashorn.internal.codegen.Label.getStack:()Ljdk/nashorn/internal/codegen/Label$Stack;
astore 7
start local 7 12: aload 4
aload 6
invokevirtual jdk.nashorn.internal.ir.Symbol.getSlot:(Ljdk/nashorn/internal/codegen/types/Type;)I
istore 8
start local 8 13: aload 7
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getUsedSlotsWithLiveTemporaries:()I
iload 8
if_icmple 21
14: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
15: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
16: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)V
17: aload 5
invokevirtual jdk.nashorn.internal.codegen.Label.getStack:()Ljdk/nashorn/internal/codegen/Label$Stack;
aload 6
iload 8
iconst_1
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.onLocalStore:(Ljdk/nashorn/internal/codegen/types/Type;IZ)V
18: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.canThrow:(Ljdk/nashorn/internal/codegen/Label;)V
19: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
aload 2
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Z)V
20: return
end local 8 end local 7 end local 6 end local 5 21: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
aload 2
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Z)V
22: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 23 1 identNode Ljdk/nashorn/internal/ir/IdentNode;
0 23 2 type Ljdk/nashorn/internal/codegen/types/Type;
1 23 3 conversion Ljdk/nashorn/internal/ir/LocalVariableConversion;
2 23 4 symbol Ljdk/nashorn/internal/ir/Symbol;
8 21 5 catchLabel Ljdk/nashorn/internal/codegen/Label;
11 21 6 joinType Ljdk/nashorn/internal/codegen/types/Type;
12 21 7 catchStack Ljdk/nashorn/internal/codegen/Label$Stack;
13 21 8 joinSlot I
MethodParameters:
Name Flags
identNode final
type final
public boolean enterWhileNode(jdk.nashorn.internal.ir.WhileNode);
descriptor: (Ljdk/nashorn/internal/ir/WhileNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.WhileNode.isDoWhile:()Z
ifeq 5
3: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterDoWhile:(Ljdk/nashorn/internal/ir/WhileNode;)V
4: goto 7
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
6: aload 0
aload 1
aconst_null
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterForOrWhile:(Ljdk/nashorn/internal/ir/LoopNode;Ljdk/nashorn/internal/ir/JoinPredecessorExpression;)V
7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 8 1 whileNode Ljdk/nashorn/internal/ir/WhileNode;
MethodParameters:
Name Flags
whileNode final
private void enterForOrWhile(jdk.nashorn.internal.ir.LoopNode, jdk.nashorn.internal.ir.JoinPredecessorExpression);
descriptor: (Ljdk/nashorn/internal/ir/LoopNode;Ljdk/nashorn/internal/ir/JoinPredecessorExpression;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getUsedSlotsWithLiveTemporaries:()I
istore 3
start local 3 1: aload 1
invokevirtual jdk.nashorn.internal.ir.LoopNode.getTest:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
astore 4
start local 4 2: aload 4
invokestatic jdk.nashorn.internal.ir.Expression.isAlwaysFalse:(Ljdk/nashorn/internal/ir/Expression;)Z
ifeq 5
3: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
4: return
5: StackMap locals: int jdk.nashorn.internal.ir.JoinPredecessorExpression
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
6: aload 1
invokevirtual jdk.nashorn.internal.ir.LoopNode.getContinueLabel:()Ljdk/nashorn/internal/codegen/Label;
astore 5
start local 5 7: aload 2
ifnull 8
new jdk.nashorn.internal.codegen.Label
dup
ldc "for_repeat"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
goto 9
StackMap locals: jdk.nashorn.internal.codegen.Label
StackMap stack:
8: aload 5
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.Label
9: astore 6
start local 6 10: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
11: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getUsedSlotsWithLiveTemporaries:()I
istore 7
start local 7 12: aload 1
invokevirtual jdk.nashorn.internal.ir.LoopNode.getBody:()Ljdk/nashorn/internal/ir/Block;
astore 8
start local 8 13: aload 1
invokevirtual jdk.nashorn.internal.ir.LoopNode.getBreakLabel:()Ljdk/nashorn/internal/codegen/Label;
astore 9
start local 9 14: aload 4
ifnull 15
aload 4
invokestatic jdk.nashorn.internal.ir.LocalVariableConversion.hasLiveConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)Z
ifeq 15
iconst_1
goto 16
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.LoopNode jdk.nashorn.internal.ir.JoinPredecessorExpression int jdk.nashorn.internal.ir.JoinPredecessorExpression jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.ir.Block jdk.nashorn.internal.codegen.Label
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: istore 10
start local 10 17: aload 4
invokestatic jdk.nashorn.internal.ir.Expression.isAlwaysTrue:(Ljdk/nashorn/internal/ir/Expression;)Z
ifeq 23
18: aload 4
ifnull 30
19: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
20: iload 10
ifeq 30
21: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
22: goto 30
StackMap locals: int
StackMap stack:
23: aload 4
ifnull 30
24: iload 10
ifeq 29
25: aload 0
aload 4
invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getExpression:()Ljdk/nashorn/internal/ir/Expression;
aload 8
invokevirtual jdk.nashorn.internal.ir.Block.getEntryLabel:()Ljdk/nashorn/internal/codegen/Label;
iconst_1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
26: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
27: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
28: goto 30
29: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getExpression:()Ljdk/nashorn/internal/ir/Expression;
aload 9
iconst_0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
30: StackMap locals:
StackMap stack:
aload 8
aload 0
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
31: aload 6
aload 5
if_acmpeq 33
32: aload 0
aload 5
iload 7
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitContinueLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
33: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.LoopNode.hasPerIterationScope:()Z
ifeq 37
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentBlock:()Ljdk/nashorn/internal/ir/Block;
invokevirtual jdk.nashorn.internal.ir.Block.needsScope:()Z
ifeq 37
34: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
35: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
ldc "copy"
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
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
36: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
37: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 43
38: aload 2
ifnull 42
39: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.lineNumber:(Ljdk/nashorn/internal/ir/Statement;)V
40: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
41: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
42: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
43: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
iload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
44: return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 45 1 loopNode Ljdk/nashorn/internal/ir/LoopNode;
0 45 2 modify Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
1 45 3 liveLocalsOnBreak I
2 45 4 test Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
7 45 5 continueLabel Ljdk/nashorn/internal/codegen/Label;
10 45 6 repeatLabel Ljdk/nashorn/internal/codegen/Label;
12 45 7 liveLocalsOnContinue I
13 45 8 body Ljdk/nashorn/internal/ir/Block;
14 45 9 breakLabel Ljdk/nashorn/internal/codegen/Label;
17 45 10 testHasLiveConversion Z
MethodParameters:
Name Flags
loopNode final
modify final
private void emitContinueLabel(jdk.nashorn.internal.codegen.Label, int);
descriptor: (Ljdk/nashorn/internal/codegen/Label;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
istore 3
start local 3 1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
iload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
2: iload 3
ifne 4
3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getUsedSlotCount:()I
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.undefineLocalVariables:(IZ)V
4: StackMap locals: int
StackMap stack:
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/CodeGenerator;
0 5 1 continueLabel Ljdk/nashorn/internal/codegen/Label;
0 5 2 liveLocals I
1 5 3 reachable Z
MethodParameters:
Name Flags
continueLabel final
liveLocals final
private void enterDoWhile(jdk.nashorn.internal.ir.WhileNode);
descriptor: (Ljdk/nashorn/internal/ir/WhileNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getUsedSlotsWithLiveTemporaries:()I
istore 2
start local 2 1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
2: aload 1
invokevirtual jdk.nashorn.internal.ir.WhileNode.getBody:()Ljdk/nashorn/internal/ir/Block;
astore 3
start local 3 3: aload 3
aload 0
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
4: aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.WhileNode.getContinueLabel:()Ljdk/nashorn/internal/codegen/Label;
iload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitContinueLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
5: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 24
6: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.lineNumber:(Ljdk/nashorn/internal/ir/Statement;)V
7: aload 1
invokevirtual jdk.nashorn.internal.ir.WhileNode.getTest:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
astore 4
start local 4 8: aload 3
invokevirtual jdk.nashorn.internal.ir.Block.getEntryLabel:()Ljdk/nashorn/internal/codegen/Label;
astore 5
start local 5 9: aload 4
invokestatic jdk.nashorn.internal.ir.LocalVariableConversion.hasLiveConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)Z
istore 6
start local 6 10: aload 4
invokestatic jdk.nashorn.internal.ir.Expression.isAlwaysFalse:(Ljdk/nashorn/internal/ir/Expression;)Z
ifeq 15
11: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
12: iload 6
ifeq 24
13: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
14: goto 24
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.WhileNode int jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.JoinPredecessorExpression jdk.nashorn.internal.codegen.Label int
StackMap stack:
15: iload 6
ifeq 23
16: new jdk.nashorn.internal.codegen.Label
dup
ldc "do_while_preexit"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 7
start local 7 17: aload 0
aload 4
invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getExpression:()Ljdk/nashorn/internal/ir/Expression;
aload 7
iconst_0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
18: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
19: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
20: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
21: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
end local 7 22: goto 24
23: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getExpression:()Ljdk/nashorn/internal/ir/Expression;
aload 5
iconst_1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
end local 6 end local 5 end local 4 24: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.ir.WhileNode.getBreakLabel:()Ljdk/nashorn/internal/codegen/Label;
iload 2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
25: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 26 1 whileNode Ljdk/nashorn/internal/ir/WhileNode;
1 26 2 liveLocalsOnContinueOrBreak I
3 26 3 body Ljdk/nashorn/internal/ir/Block;
8 24 4 test Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
9 24 5 bodyEntryLabel Ljdk/nashorn/internal/codegen/Label;
10 24 6 testHasLiveConversion Z
17 22 7 beforeExit Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
whileNode final
public boolean enterWithNode(jdk.nashorn.internal.ir.WithNode);
descriptor: (Ljdk/nashorn/internal/ir/WithNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
3: aload 1
invokevirtual jdk.nashorn.internal.ir.WithNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 4: aload 1
invokevirtual jdk.nashorn.internal.ir.WithNode.getBody:()Ljdk/nashorn/internal/ir/Block;
astore 3
start local 3 5: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.hasScope:()Z
istore 4
start local 4 6: iload 4
ifeq 8
7: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
8: StackMap locals: jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Block int
StackMap stack:
aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
9: iload 4
ifeq 15
10: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.OPEN_WITH: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
11: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
12: new jdk.nashorn.internal.codegen.Label
dup
ldc "with_try"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 5
start local 5 13: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
14: goto 17
end local 5 15: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.globalCheckObjectCoercible:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
16: aconst_null
astore 5
start local 5 17: StackMap locals: jdk.nashorn.internal.codegen.Label
StackMap stack:
aload 3
aload 0
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
18: iload 4
ifeq 37
19: new jdk.nashorn.internal.codegen.Label
dup
ldc "with_end"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 6
start local 6 20: new jdk.nashorn.internal.codegen.Label
dup
ldc "with_catch"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 7
start local 7 21: new jdk.nashorn.internal.codegen.Label
dup
ldc "with_exit"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 8
start local 8 22: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
23: aload 6
aload 5
invokevirtual jdk.nashorn.internal.codegen.Label.isAfter:(Ljdk/nashorn/internal/codegen/Label;)Z
istore 9
start local 9 24: iload 9
ifeq 26
25: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
aload 6
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._try:(Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;)V
26: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.WithNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
istore 10
start local 10 27: iload 10
ifeq 31
28: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScope:()V
29: iload 9
ifeq 31
30: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
31: StackMap locals: int
StackMap stack:
iload 9
ifeq 37
32: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._catch:(Ljdk/nashorn/internal/codegen/Label;)V
33: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScopeException:()V
34: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.athrow:()V
35: iload 10
ifeq 37
36: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
end local 10 end local 9 end local 8 end local 7 end local 6 37: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.WithNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.codegen.Label
StackMap stack:
iconst_0
ireturn
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 38 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 38 1 withNode Ljdk/nashorn/internal/ir/WithNode;
4 38 2 expression Ljdk/nashorn/internal/ir/Expression;
5 38 3 body Ljdk/nashorn/internal/ir/Block;
6 38 4 hasScope Z
13 15 5 tryLabel Ljdk/nashorn/internal/codegen/Label;
17 38 5 tryLabel Ljdk/nashorn/internal/codegen/Label;
20 37 6 endLabel Ljdk/nashorn/internal/codegen/Label;
21 37 7 catchLabel Ljdk/nashorn/internal/codegen/Label;
22 37 8 exitLabel Ljdk/nashorn/internal/codegen/Label;
24 37 9 bodyCanThrow Z
27 37 10 reachable Z
MethodParameters:
Name Flags
withNode final
private void loadADD(jdk.nashorn.internal.ir.UnaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.booleanToInt:()Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notWiderThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 3
2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 4 1 unaryNode Ljdk/nashorn/internal/ir/UnaryNode;
0 4 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
MethodParameters:
Name Flags
unaryNode final
resultBounds final
private void loadBIT_NOT(jdk.nashorn.internal.ir.UnaryNode);
descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.INT:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_m1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.xor:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 2 1 unaryNode Ljdk/nashorn/internal/ir/UnaryNode;
MethodParameters:
Name Flags
unaryNode final
private void loadDECINC(jdk.nashorn.internal.ir.UnaryNode);
descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.UnaryNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 3
start local 3 2: new jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
dup
aload 3
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.<init>:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)V
astore 4
start local 4 3: aload 1
invokevirtual jdk.nashorn.internal.ir.UnaryNode.tokenType:()Ljdk/nashorn/internal/parser/TokenType;
astore 5
start local 5 4: aload 5
getstatic jdk.nashorn.internal.parser.TokenType.DECPOSTFIX:Ljdk/nashorn/internal/parser/TokenType;
if_acmpeq 5
aload 5
getstatic jdk.nashorn.internal.parser.TokenType.INCPOSTFIX:Ljdk/nashorn/internal/parser/TokenType;
if_acmpeq 5
iconst_0
goto 6
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.UnaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds jdk.nashorn.internal.parser.TokenType
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: istore 6
start local 6 7: aload 5
getstatic jdk.nashorn.internal.parser.TokenType.INCPREFIX:Ljdk/nashorn/internal/parser/TokenType;
if_acmpeq 8
aload 5
getstatic jdk.nashorn.internal.parser.TokenType.INCPOSTFIX:Ljdk/nashorn/internal/parser/TokenType;
if_acmpeq 8
iconst_0
goto 9
StackMap locals: int
StackMap stack:
8: iconst_1
StackMap locals:
StackMap stack: int
9: istore 7
start local 7 10: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 11
aload 3
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals: int
StackMap stack:
new jdk.nashorn.internal.codegen.CodeGenerator$13
dup
aload 0
aload 0
aload 1
aload 2
aload 2
aload 4
iload 6
aload 1
aload 3
iload 7
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$13.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/UnaryNode;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;ZLjdk/nashorn/internal/ir/UnaryNode;Ljdk/nashorn/internal/codegen/types/Type;Z)V
12: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$13.store:()V
13: 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 14 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 14 1 unaryNode Ljdk/nashorn/internal/ir/UnaryNode;
1 14 2 operand Ljdk/nashorn/internal/ir/Expression;
2 14 3 type Ljdk/nashorn/internal/codegen/types/Type;
3 14 4 typeBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
4 14 5 tokenType Ljdk/nashorn/internal/parser/TokenType;
7 14 6 isPostfix Z
10 14 7 isIncrement Z
MethodParameters:
Name Flags
unaryNode final
private static int getOptimisticIgnoreCountForSelfModifyingExpression(jdk.nashorn.internal.ir.Expression);
descriptor: (Ljdk/nashorn/internal/ir/Expression;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof jdk.nashorn.internal.ir.AccessNode
ifeq 1
iconst_1
goto 3
StackMap locals:
StackMap stack:
1: aload 0
instanceof jdk.nashorn.internal.ir.IndexNode
ifeq 2
iconst_2
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 target Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
target final
private void loadAndDiscard(jdk.nashorn.internal.ir.Expression);
descriptor: (Ljdk/nashorn/internal/ir/Expression;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof jdk.nashorn.internal.ir.LiteralNode$PrimitiveLiteralNode
aload 1
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.isLocalVariable:(Ljdk/nashorn/internal/ir/Expression;)Z
ior
ifeq 3
1: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 2
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.isCurrentDiscard:(Ljdk/nashorn/internal/ir/Expression;)Z
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.pushDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
4: aload 0
aload 1
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
ifeq 8
6: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 7
aload 1
invokevirtual jdk.nashorn.internal.ir.Expression.isAssignment:()Z
ifeq 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pop:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 9 1 expr Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
expr final
private void loadMaybeDiscard(jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
aload 2
aload 3
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadMaybeDiscard:(ZLjdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)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/CodeGenerator;
0 2 1 parent Ljdk/nashorn/internal/ir/Expression;
0 2 2 expr Ljdk/nashorn/internal/ir/Expression;
0 2 3 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
MethodParameters:
Name Flags
parent final
expr final
resultBounds final
private void loadMaybeDiscard(boolean, jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (ZLjdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
ifeq 3
1: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
4: StackMap locals:
StackMap stack:
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/CodeGenerator;
0 5 1 discard Z
0 5 2 expr Ljdk/nashorn/internal/ir/Expression;
0 5 3 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
MethodParameters:
Name Flags
discard final
expr final
resultBounds final
private void loadNEW(jdk.nashorn.internal.ir.UnaryNode);
descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
checkcast jdk.nashorn.internal.ir.CallNode
astore 2
start local 2 1: aload 2
invokevirtual jdk.nashorn.internal.ir.CallNode.getArgs:()Ljava/util/List;
astore 3
start local 3 2: aload 2
invokevirtual jdk.nashorn.internal.ir.CallNode.getFunction:()Ljdk/nashorn/internal/ir/Expression;
astore 4
start local 4 3: aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
4: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_1
aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadArgs:(Ljava/util/List;)I
iadd
aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCallSiteFlags:()I
aload 4
iconst_0
invokevirtual jdk.nashorn.internal.ir.Expression.toString:(Z)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicNew:(IILjava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 6 1 unaryNode Ljdk/nashorn/internal/ir/UnaryNode;
1 6 2 callNode Ljdk/nashorn/internal/ir/CallNode;
2 6 3 args Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
3 6 4 func Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
unaryNode final
private void loadNOT(jdk.nashorn.internal.ir.UnaryNode);
descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 1: aload 2
instanceof jdk.nashorn.internal.ir.UnaryNode
ifeq 4
aload 2
getstatic jdk.nashorn.internal.parser.TokenType.NOT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.ir.Expression.isTokenType:(Ljdk/nashorn/internal/parser/TokenType;)Z
ifeq 4
2: aload 0
aload 2
checkcast jdk.nashorn.internal.ir.UnaryNode
invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsBoolean:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
3: goto 12
4: StackMap locals: jdk.nashorn.internal.ir.Expression
StackMap stack:
new jdk.nashorn.internal.codegen.Label
dup
ldc "true"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 3
start local 3 5: new jdk.nashorn.internal.codegen.Label
dup
ldc "after"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 4
start local 4 6: aload 0
aload 2
aload 3
iconst_1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
7: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
8: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
9: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
10: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
11: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
end local 4 end local 3 12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 13 1 unaryNode Ljdk/nashorn/internal/ir/UnaryNode;
1 13 2 expr Ljdk/nashorn/internal/ir/Expression;
5 12 3 trueLabel Ljdk/nashorn/internal/codegen/Label;
6 12 4 afterLabel Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
unaryNode final
private void loadSUB(jdk.nashorn.internal.ir.UnaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.nashorn.internal.ir.UnaryNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 3
start local 3 1: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 2
aload 3
invokevirtual jdk.nashorn.internal.codegen.types.Type.isNumeric:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.booleanToInt:()Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
astore 4
start local 4 3: new jdk.nashorn.internal.codegen.CodeGenerator$14
dup
aload 0
aload 0
aload 1
aload 4
aload 1
aload 4
aload 3
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$14.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/UnaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/codegen/types/Type;)V
4: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$14.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 6 1 unaryNode Ljdk/nashorn/internal/ir/UnaryNode;
0 6 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
1 6 3 type Ljdk/nashorn/internal/codegen/types/Type;
3 6 4 numericBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
MethodParameters:
Name Flags
unaryNode final
resultBounds final
public void loadVOID(jdk.nashorn.internal.ir.UnaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
ifne 3
2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 4 1 unaryNode Ljdk/nashorn/internal/ir/UnaryNode;
0 4 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
MethodParameters:
Name Flags
unaryNode final
resultBounds final
public void loadDELETE(jdk.nashorn.internal.ir.UnaryNode);
descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 1: aload 2
instanceof jdk.nashorn.internal.ir.IdentNode
ifeq 26
2: aload 2
checkcast jdk.nashorn.internal.ir.IdentNode
astore 3
start local 3 3: aload 3
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
astore 4
start local 4 4: aload 3
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
astore 5
start local 5 5: aload 4
invokevirtual jdk.nashorn.internal.ir.Symbol.isThis:()Z
ifeq 9
6: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
ifne 38
7: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
8: goto 38
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.UnaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.ir.Symbol java.lang.String
StackMap stack:
9: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isStrict:()Z
ifeq 13
10: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
11: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.STRICT_FAIL_DELETE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
12: goto 38
StackMap locals:
StackMap stack:
13: aload 4
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
ifne 17
aload 4
invokevirtual jdk.nashorn.internal.ir.Symbol.isParam:()Z
ifne 14
aload 4
invokevirtual jdk.nashorn.internal.ir.Symbol.isVar:()Z
ifeq 17
aload 4
invokevirtual jdk.nashorn.internal.ir.Symbol.isProgramLevel:()Z
ifne 17
14: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
ifne 38
15: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
16: goto 38
17: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
18: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
19: aload 4
invokevirtual jdk.nashorn.internal.ir.Symbol.isGlobal:()Z
ifeq 20
aload 4
invokevirtual jdk.nashorn.internal.ir.Symbol.isFunctionDeclaration:()Z
ifeq 21
StackMap locals:
StackMap stack:
20: aload 4
invokevirtual jdk.nashorn.internal.ir.Symbol.isProgramLevel:()Z
ifeq 23
21: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.SLOW_DELETE: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
22: goto 38
23: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
24: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptObject.DELETE: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
end local 5 end local 4 end local 3 25: goto 38
StackMap locals:
StackMap stack:
26: aload 2
instanceof jdk.nashorn.internal.ir.BaseNode
ifeq 37
27: aload 0
aload 2
checkcast jdk.nashorn.internal.ir.BaseNode
invokevirtual jdk.nashorn.internal.ir.BaseNode.getBase:()Ljdk/nashorn/internal/ir/Expression;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
28: aload 2
instanceof jdk.nashorn.internal.ir.AccessNode
ifeq 32
29: aload 2
checkcast jdk.nashorn.internal.ir.AccessNode
astore 3
start local 3 30: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
invokevirtual jdk.nashorn.internal.ir.AccessNode.getProperty:()Ljava/lang/String;
aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCallSiteFlags:()I
aload 3
invokevirtual jdk.nashorn.internal.ir.AccessNode.isIndex:()Z
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicRemove:(Ljava/lang/String;IZ)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
end local 3 31: goto 38
StackMap locals:
StackMap stack:
32: aload 2
instanceof jdk.nashorn.internal.ir.IndexNode
ifeq 36
33: aload 0
aload 2
checkcast jdk.nashorn.internal.ir.IndexNode
invokevirtual jdk.nashorn.internal.ir.IndexNode.getIndex:()Ljdk/nashorn/internal/ir/Expression;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
34: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCallSiteFlags:()I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicRemoveIndex:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
35: goto 38
36: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
37: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
38: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 39 1 unaryNode Ljdk/nashorn/internal/ir/UnaryNode;
1 39 2 expression Ljdk/nashorn/internal/ir/Expression;
3 25 3 ident Ljdk/nashorn/internal/ir/IdentNode;
4 25 4 symbol Ljdk/nashorn/internal/ir/Symbol;
5 25 5 name Ljava/lang/String;
30 31 3 accessNode Ljdk/nashorn/internal/ir/AccessNode;
MethodParameters:
Name Flags
unaryNode final
public void loadADD(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new jdk.nashorn.internal.codegen.CodeGenerator$15
dup
aload 0
aload 0
aload 1
aload 2
aload 1
aload 2
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$15.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
1: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$15.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
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/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
0 3 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
MethodParameters:
Name Flags
binaryNode final
resultBounds final
private void loadAND_OR(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds, boolean);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.types.Type.widestReturnType:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
astore 4
start local 4 1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
istore 5
start local 5 2: new jdk.nashorn.internal.codegen.Label
dup
ldc "skip"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 6
start local 6 3: aload 4
getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 15
4: new jdk.nashorn.internal.codegen.Label
dup
ldc "andor_true"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 7
start local 7 5: aload 0
aload 1
aload 7
iconst_1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
6: iload 5
ifeq 9
7: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
8: goto 14
9: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.BinaryNode jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds int jdk.nashorn.internal.codegen.types.Type int jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
10: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
11: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
12: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
13: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
14: StackMap locals:
StackMap stack:
return
end local 7 15: StackMap locals:
StackMap stack:
aload 2
aload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
astore 7
start local 7 16: aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
checkcast jdk.nashorn.internal.ir.JoinPredecessorExpression
astore 8
start local 8 17: aload 8
invokestatic jdk.nashorn.internal.ir.LocalVariableConversion.hasLiveConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)Z
istore 9
start local 9 18: iload 9
ifeq 19
new jdk.nashorn.internal.codegen.Label
dup
ldc "eval_rhs"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
goto 20
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds jdk.nashorn.internal.ir.JoinPredecessorExpression int
StackMap stack:
19: aconst_null
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.Label
20: astore 10
start local 10 21: aload 0
aload 8
aload 7
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
22: iload 5
ifne 24
23: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
24: StackMap locals: jdk.nashorn.internal.codegen.Label
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
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
25: iload 3
ifeq 31
26: iload 9
ifeq 29
27: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 10
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifne:(Ljdk/nashorn/internal/codegen/Label;)V
28: goto 35
29: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifeq:(Ljdk/nashorn/internal/codegen/Label;)V
30: goto 35
StackMap locals:
StackMap stack:
31: iload 9
ifeq 34
32: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 10
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifeq:(Ljdk/nashorn/internal/codegen/Label;)V
33: goto 35
34: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifne:(Ljdk/nashorn/internal/codegen/Label;)V
35: StackMap locals:
StackMap stack:
iload 9
ifeq 39
36: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
37: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
38: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 10
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
39: StackMap locals:
StackMap stack:
iload 5
ifne 41
40: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pop:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
41: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
checkcast jdk.nashorn.internal.ir.JoinPredecessorExpression
astore 11
start local 11 42: aload 0
iload 5
aload 11
aload 7
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadMaybeDiscard:(ZLjdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
43: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 11
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
44: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
45: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 46 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
0 46 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
0 46 3 isAnd Z
1 46 4 narrowestOperandType Ljdk/nashorn/internal/codegen/types/Type;
2 46 5 isCurrentDiscard Z
3 46 6 skip Ljdk/nashorn/internal/codegen/Label;
5 15 7 onTrue Ljdk/nashorn/internal/codegen/Label;
16 46 7 outBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
17 46 8 lhs Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
18 46 9 lhsConvert Z
21 46 10 evalRhs Ljdk/nashorn/internal/codegen/Label;
42 46 11 rhs Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
MethodParameters:
Name Flags
binaryNode final
resultBounds final
isAnd final
private static boolean isLocalVariable(jdk.nashorn.internal.ir.Expression);
descriptor: (Ljdk/nashorn/internal/ir/Expression;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof jdk.nashorn.internal.ir.IdentNode
ifeq 1
aload 0
checkcast jdk.nashorn.internal.ir.IdentNode
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.isLocalVariable:(Ljdk/nashorn/internal/ir/IdentNode;)Z
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 lhs Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
lhs final
private static boolean isLocalVariable(jdk.nashorn.internal.ir.IdentNode);
descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.ir.Symbol.isBytecodeLocal:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 lhs Ljdk/nashorn/internal/ir/IdentNode;
MethodParameters:
Name Flags
lhs final
private void loadASSIGN(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
astore 3
start local 3 2: aload 3
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 4
start local 4 3: aload 2
instanceof jdk.nashorn.internal.ir.IdentNode
ifeq 9
4: aload 2
checkcast jdk.nashorn.internal.ir.IdentNode
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
astore 5
start local 5 5: aload 5
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
ifne 9
aload 5
aload 4
invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlotFor:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifne 9
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
ifeq 9
6: aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
7: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.markDeadLocalVariable:(Ljdk/nashorn/internal/ir/Symbol;)V
8: return
end local 5 9: StackMap locals: jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type
StackMap stack:
new jdk.nashorn.internal.codegen.CodeGenerator$16
dup
aload 0
aload 0
aload 1
aload 2
aload 3
aload 4
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$16.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;)V
10: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$16.store:()V
11: return
end local 4 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/CodeGenerator;
0 12 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
1 12 2 lhs Ljdk/nashorn/internal/ir/Expression;
2 12 3 rhs Ljdk/nashorn/internal/ir/Expression;
3 12 4 rhsType Ljdk/nashorn/internal/codegen/types/Type;
5 9 5 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
binaryNode final
private void loadASSIGN_ADD(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.codegen.CodeGenerator$17
dup
aload 0
aload 0
aload 1
aload 1
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$17.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/ir/BinaryNode;)V
1: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$17.store:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void loadASSIGN_BIT_AND(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.codegen.CodeGenerator$18
dup
aload 0
aload 0
aload 1
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$18.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
1: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$18.store:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void loadASSIGN_BIT_OR(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.codegen.CodeGenerator$19
dup
aload 0
aload 0
aload 1
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$19.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
1: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$19.store:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void loadASSIGN_BIT_XOR(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.codegen.CodeGenerator$20
dup
aload 0
aload 0
aload 1
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$20.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
1: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$20.store:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void loadASSIGN_DIV(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.codegen.CodeGenerator$21
dup
aload 0
aload 0
aload 1
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$21.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
1: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$21.store:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void loadASSIGN_MOD(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.codegen.CodeGenerator$22
dup
aload 0
aload 0
aload 1
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$22.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
1: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$22.store:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void loadASSIGN_MUL(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.codegen.CodeGenerator$23
dup
aload 0
aload 0
aload 1
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$23.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
1: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$23.store:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void loadASSIGN_SAR(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.codegen.CodeGenerator$24
dup
aload 0
aload 0
aload 1
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$24.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
1: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$24.store:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void loadASSIGN_SHL(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.codegen.CodeGenerator$25
dup
aload 0
aload 0
aload 1
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$25.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
1: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$25.store:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void loadASSIGN_SHR(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.codegen.CodeGenerator$26
dup
aload 0
aload 0
aload 1
aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
aload 1
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$26.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/BinaryNode;)V
1: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$26.store:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void doSHR(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.codegen.CodeGenerator$27
dup
aload 0
aload 0
aload 1
new jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
dup
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.<init>:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)V
aload 1
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$27.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/BinaryNode;)V
1: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$27.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void toUint32Optimistic(int);
descriptor: (I)V
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.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: getstatic jdk.nashorn.internal.runtime.JSType.TO_UINT32_OPTIMISTIC:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 programPoint I
MethodParameters:
Name Flags
programPoint final
private void toUint32Double();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.nashorn.internal.runtime.JSType.TO_UINT32_DOUBLE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private void loadASSIGN_SUB(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.codegen.CodeGenerator$28
dup
aload 0
aload 0
aload 1
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$28.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
1: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$28.store:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void loadBIT_AND(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadBinaryOperands:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.and:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void loadBIT_OR(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.isRhsZero:(Ljdk/nashorn/internal/ir/BinaryNode;)Z
ifeq 3
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsType:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: goto 5
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadBinaryOperands:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
4: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.or:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
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/CodeGenerator;
0 6 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private static boolean isRhsZero(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
astore 1
start local 1 1: aload 1
instanceof jdk.nashorn.internal.ir.LiteralNode
ifeq 2
getstatic jdk.nashorn.internal.codegen.CodeGenerator.INT_ZERO:Ljava/lang/Integer;
aload 1
checkcast jdk.nashorn.internal.ir.LiteralNode
invokevirtual jdk.nashorn.internal.ir.LiteralNode.getValue:()Ljava/lang/Object;
invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
ifeq 2
iconst_1
ireturn
StackMap locals: jdk.nashorn.internal.ir.Expression
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
1 3 1 rhs Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
binaryNode final
private void loadBIT_XOR(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadBinaryOperands:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.xor:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void loadCOMMARIGHT(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
1: aload 0
aload 1
aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadMaybeDiscard:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)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/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
0 3 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
MethodParameters:
Name Flags
binaryNode final
resultBounds final
private void loadDIV(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new jdk.nashorn.internal.codegen.CodeGenerator$29
dup
aload 0
aload 0
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$29.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;)V
1: aload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$29.evaluate:(Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)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/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
0 3 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
MethodParameters:
Name Flags
binaryNode final
resultBounds final
private void loadCmp(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.Condition);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/Condition;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadComparisonOperands:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: new jdk.nashorn.internal.codegen.Label
dup
ldc "trueLabel"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 3
start local 3 2: new jdk.nashorn.internal.codegen.Label
dup
ldc "skip"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 4
start local 4 3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.conditionalJump:(Ljdk/nashorn/internal/codegen/Condition;Ljdk/nashorn/internal/codegen/Label;)V
4: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
6: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
7: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
8: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
9: return
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/CodeGenerator;
0 10 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
0 10 2 cond Ljdk/nashorn/internal/codegen/Condition;
2 10 3 trueLabel Ljdk/nashorn/internal/codegen/Label;
3 10 4 afterLabel Ljdk/nashorn/internal/codegen/Label;
MethodParameters:
Name Flags
binaryNode final
cond final
private void loadMOD(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new jdk.nashorn.internal.codegen.CodeGenerator$30
dup
aload 0
aload 0
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$30.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;)V
1: aload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$30.evaluate:(Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)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/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
0 3 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
MethodParameters:
Name Flags
binaryNode final
resultBounds final
private void loadMUL(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new jdk.nashorn.internal.codegen.CodeGenerator$31
dup
aload 0
aload 0
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$31.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;)V
1: aload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$31.evaluate:(Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)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/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
0 3 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
MethodParameters:
Name Flags
binaryNode final
resultBounds final
private void loadSAR(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadBinaryOperands:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.sar:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void loadSHL(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadBinaryOperands:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.shl:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void loadSHR(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.doSHR:(Ljdk/nashorn/internal/ir/BinaryNode;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 2 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private void loadSUB(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new jdk.nashorn.internal.codegen.CodeGenerator$32
dup
aload 0
aload 0
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$32.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;)V
1: aload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$32.evaluate:(Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)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/CodeGenerator;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
0 3 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
MethodParameters:
Name Flags
binaryNode final
resultBounds final
public boolean enterLabelNode(jdk.nashorn.internal.ir.LabelNode);
descriptor: (Ljdk/nashorn/internal/ir/LabelNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.labeledBlockBreakLiveLocals:Ljdk/nashorn/internal/IntDeque;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getUsedSlotCount:()I
invokevirtual jdk.nashorn.internal.IntDeque.push:(I)V
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 2 1 labelNode Ljdk/nashorn/internal/ir/LabelNode;
MethodParameters:
Name Flags
labelNode final
protected boolean enterDefault(jdk.nashorn.internal.ir.Node);
descriptor: (Ljdk/nashorn/internal/ir/Node;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Code generator entered node of type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 1 1 node Ljdk/nashorn/internal/ir/Node;
MethodParameters:
Name Flags
node final
private void loadTernaryNode(jdk.nashorn.internal.ir.TernaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/ir/TernaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.nashorn.internal.ir.TernaryNode.getTest:()Ljdk/nashorn/internal/ir/Expression;
astore 3
start local 3 1: aload 1
invokevirtual jdk.nashorn.internal.ir.TernaryNode.getTrueExpression:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
astore 4
start local 4 2: aload 1
invokevirtual jdk.nashorn.internal.ir.TernaryNode.getFalseExpression:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
astore 5
start local 5 3: new jdk.nashorn.internal.codegen.Label
dup
ldc "ternary_false"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 6
start local 6 4: new jdk.nashorn.internal.codegen.Label
dup
ldc "ternary_exit"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 7
start local 7 5: aload 2
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
aload 4
invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
aload 5
invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.types.Type.widestReturnType:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.types.Type.generic:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.types.Type.narrowest:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
astore 8
start local 8 6: aload 2
aload 8
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
astore 9
start local 9 7: aload 0
aload 3
aload 6
iconst_0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
8: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
istore 10
start local 10 9: aload 0
iload 10
aload 4
invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getExpression:()Ljdk/nashorn/internal/ir/Expression;
aload 9
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadMaybeDiscard:(ZLjdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
10: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 11
iload 10
ifne 11
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.types.Type.generic:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
aload 9
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpeq 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.TernaryNode jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.JoinPredecessorExpression jdk.nashorn.internal.ir.JoinPredecessorExpression jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
12: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
13: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
14: aload 0
iload 10
aload 5
invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getExpression:()Ljdk/nashorn/internal/ir/Expression;
aload 9
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadMaybeDiscard:(ZLjdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
15: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 16
iload 10
ifne 16
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.types.Type.generic:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
aload 9
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpeq 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
17: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
18: return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 19 1 ternaryNode Ljdk/nashorn/internal/ir/TernaryNode;
0 19 2 resultBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
1 19 3 test Ljdk/nashorn/internal/ir/Expression;
2 19 4 trueExpr Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
3 19 5 falseExpr Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
4 19 6 falseLabel Ljdk/nashorn/internal/codegen/Label;
5 19 7 exitLabel Ljdk/nashorn/internal/codegen/Label;
6 19 8 outNarrowest Ljdk/nashorn/internal/codegen/types/Type;
7 19 9 outBounds Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
9 19 10 isCurrentDiscard Z
MethodParameters:
Name Flags
ternaryNode final
resultBounds final
void generateScopeCalls();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getScopeCalls:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 3
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.SharedScopeCall
astore 1
start local 1 2: aload 1
invokevirtual jdk.nashorn.internal.codegen.SharedScopeCall.generateScopeCall:()V
end local 1 3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
2 3 1 scopeAccess Ljdk/nashorn/internal/codegen/SharedScopeCall;
private void printSymbols(jdk.nashorn.internal.ir.Block, jdk.nashorn.internal.ir.FunctionNode, java.lang.String);
descriptor: (Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
invokevirtual jdk.nashorn.internal.codegen.Compiler.getScriptEnvironment:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
getfield jdk.nashorn.internal.runtime.ScriptEnvironment._print_symbols:Z
ifne 1
aload 2
bipush 16
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getDebugFlag:(I)Z
ifeq 6
1: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
invokevirtual jdk.nashorn.internal.codegen.Compiler.getScriptEnvironment:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
invokevirtual jdk.nashorn.internal.runtime.ScriptEnvironment.getErr:()Ljava/io/PrintWriter;
astore 4
start local 4 2: aload 4
new java.lang.StringBuilder
dup
ldc "[BLOCK in '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "']"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
3: aload 1
aload 4
invokevirtual jdk.nashorn.internal.ir.Block.printSymbols:(Ljava/io/PrintWriter;)Z
ifne 5
4: aload 4
ldc "<no symbols>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
5: StackMap locals: java.io.PrintWriter
StackMap stack:
aload 4
invokevirtual java.io.PrintWriter.println:()V
end local 4 6: StackMap locals:
StackMap stack:
return
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/CodeGenerator;
0 7 1 block Ljdk/nashorn/internal/ir/Block;
0 7 2 function Ljdk/nashorn/internal/ir/FunctionNode;
0 7 3 ident Ljava/lang/String;
2 6 4 out Ljava/io/PrintWriter;
MethodParameters:
Name Flags
block final
function final
ident final
private void newFunctionObject(jdk.nashorn.internal.ir.FunctionNode, boolean);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.peek:()Ljdk/nashorn/internal/ir/LexicalContextNode;
aload 1
if_acmpeq 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.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getId:()I
invokevirtual jdk.nashorn.internal.codegen.Compiler.getScriptFunctionData:(I)Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
astore 3
start local 3 2: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isProgram:()Z
ifeq 13
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
invokevirtual jdk.nashorn.internal.codegen.Compiler.isOnDemandCompilation:()Z
ifne 13
3: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getCompileUnit:()Ljdk/nashorn/internal/codegen/CompileUnit;
invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getClassEmitter:()Ljdk/nashorn/internal/codegen/ClassEmitter;
4: getstatic jdk.nashorn.internal.codegen.ClassEmitter$Flag.PUBLIC:Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;
getstatic jdk.nashorn.internal.codegen.ClassEmitter$Flag.STATIC:Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.CREATE_PROGRAM_FUNCTION:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
5: ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
aastore
6: invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.method:(Ljava/util/EnumSet;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
astore 4
start local 4 7: aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.begin:()V
8: aload 0
aload 3
aload 4
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstantsAndIndex:(Ljava/lang/Object;Ljdk/nashorn/internal/codegen/MethodEmitter;)V
9: aload 4
getstatic jdk.nashorn.internal.codegen.CodeGenerator.SCOPE_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
10: aload 4
getstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_FUNCTION_OBJECT: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
11: aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._return:()V
12: aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.end:()V
end local 4 13: StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
StackMap stack:
iload 2
ifeq 15
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
invokevirtual jdk.nashorn.internal.codegen.Compiler.isOnDemandCompilation:()Z
ifne 15
14: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getCompileUnit:()Ljdk/nashorn/internal/codegen/CompileUnit;
aload 3
aload 1
invokevirtual jdk.nashorn.internal.codegen.CompileUnit.addFunctionInitializer:(Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;Ljdk/nashorn/internal/ir/FunctionNode;)V
15: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getOutermostFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
aload 1
if_acmpne 17
16: return
17: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstantsAndIndex:(Ljava/lang/Object;Ljdk/nashorn/internal/codegen/MethodEmitter;)V
18: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsParentScope:()Z
ifeq 22
19: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
20: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_FUNCTION_OBJECT: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
21: goto 23
22: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_FUNCTION_OBJECT_NO_SCOPE: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
23: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 24 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
0 24 2 addInitializer Z
2 24 3 data Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
7 13 4 createFunction Ljdk/nashorn/internal/codegen/MethodEmitter;
MethodParameters:
Name Flags
functionNode final
addInitializer final
private jdk.nashorn.internal.codegen.MethodEmitter globalInstance();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
ldc "instance"
new java.lang.StringBuilder
dup
ldc "()L"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 59
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private jdk.nashorn.internal.codegen.MethodEmitter globalAllocateArguments();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
ldc "allocateArguments"
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc [Ljava/lang/Object;
aastore
dup
iconst_1
ldc Ljava/lang/Object;
aastore
dup
iconst_2
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private jdk.nashorn.internal.codegen.MethodEmitter globalNewRegExp();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
ldc "newRegExp"
ldc Ljava/lang/Object;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
ldc Ljava/lang/String;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private jdk.nashorn.internal.codegen.MethodEmitter globalRegExpCopy();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
ldc "regExpCopy"
ldc Ljava/lang/Object;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private jdk.nashorn.internal.codegen.MethodEmitter globalAllocateArray(jdk.nashorn.internal.codegen.types.ArrayType);
descriptor: (Ljdk/nashorn/internal/codegen/types/ArrayType;)Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
ldc "allocate"
new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.ArrayType.getDescriptor:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")Ljdk/nashorn/internal/objects/NativeArray;"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;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/CodeGenerator;
0 1 1 type Ljdk/nashorn/internal/codegen/types/ArrayType;
MethodParameters:
Name Flags
type final
private jdk.nashorn.internal.codegen.MethodEmitter globalIsEval();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
ldc "isEval"
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private jdk.nashorn.internal.codegen.MethodEmitter globalReplaceLocationPropertyPlaceholder();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
ldc "replaceLocationPropertyPlaceholder"
ldc Ljava/lang/Object;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
dup
iconst_1
ldc Ljava/lang/Object;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private jdk.nashorn.internal.codegen.MethodEmitter globalCheckObjectCoercible();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
ldc "checkObjectCoercible"
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.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private jdk.nashorn.internal.codegen.MethodEmitter globalDirectEval();
descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
ldc "directEval"
1: ldc Ljava/lang/Object;
iconst_5
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
dup
iconst_1
ldc Ljava/lang/Object;
aastore
dup
iconst_2
ldc Ljava/lang/Object;
aastore
dup
iconst_3
ldc Ljava/lang/Object;
aastore
dup
iconst_4
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
2: invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private static boolean isOptimistic(jdk.nashorn.internal.ir.Optimistic);
descriptor: (Ljdk/nashorn/internal/ir/Optimistic;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface jdk.nashorn.internal.ir.Optimistic.canBeOptimistic:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
checkcast jdk.nashorn.internal.ir.Expression
astore 1
start local 1 3: aload 1
invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
aload 1
invokevirtual jdk.nashorn.internal.ir.Expression.getWidestOperationType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.narrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 optimistic Ljdk/nashorn/internal/ir/Optimistic;
3 4 1 expr Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
optimistic final
private static boolean everyLocalLoadIsValid(int[], int);
descriptor: ([II)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: int[] int top int int int[]
StackMap stack:
1: aload 5
iload 3
iaload
istore 2
start local 2 2: iload 2
iflt 3
iload 2
iload 1
if_icmplt 4
3: StackMap locals: int[] int int int int int[]
StackMap stack:
iconst_0
ireturn
end local 2 4: StackMap locals: int[] int top int int int[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 1
6: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 loads [I
0 7 1 localCount I
2 4 2 load I
MethodParameters:
Name Flags
loads final
localCount final
private static boolean everyStackValueIsLocalLoad(int[]);
descriptor: ([I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: int[] top int int int[]
StackMap stack:
1: aload 4
iload 2
iaload
istore 1
start local 1 2: iload 1
iconst_m1
if_icmpne 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 loads [I
2 4 1 load I
MethodParameters:
Name Flags
loads final
private java.lang.String getLvarTypesDescriptor(java.util.List<jdk.nashorn.internal.codegen.types.Type>);
descriptor: (Ljava/util/List;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.size:()I
istore 2
start local 2 1: new java.lang.StringBuilder
dup
iload 2
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 5
4: StackMap locals: int java.lang.StringBuilder int
StackMap stack:
iload 4
aload 3
aload 1
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.types.Type
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.appendType:(Ljava/lang/StringBuilder;Ljdk/nashorn/internal/codegen/types/Type;)I
iadd
istore 4
5: StackMap locals:
StackMap stack:
iload 4
iload 2
if_icmplt 4
end local 4 6: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.markSymbolBoundariesInLvarTypesDescriptor:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 7 1 localVarTypes Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;
1 7 2 count I
2 7 3 desc Ljava/lang/StringBuilder;
3 6 4 i I
Signature: (Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;)Ljava/lang/String;
MethodParameters:
Name Flags
localVarTypes final
private static int appendType(java.lang.StringBuilder, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljava/lang/StringBuilder;Ljdk/nashorn/internal/codegen/types/Type;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.getBytecodeStackType:()C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
1: aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 b Ljava/lang/StringBuilder;
0 2 1 t Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
b final
t final
private static int countSymbolsInLvarTypeDescriptor(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isUpperCase:(C)Z
ifeq 5
4: iinc 1 1
5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 3
end local 2 7: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 lvarTypeDescriptor Ljava/lang/String;
1 8 1 count I
2 7 2 i I
MethodParameters:
Name Flags
lvarTypeDescriptor final
private boolean generateUnwarrantedOptimismExceptionHandlers(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=20, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.useOptimisticTypes:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popUnwarrantedOptimismHandlers:()Ljava/util/Map;
astore 2
start local 2 3: aload 2
invokeinterface java.util.Map.isEmpty:()Z
ifeq 5
4: iconst_0
ireturn
5: StackMap locals: java.util.Map
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.lineNumber:(I)V
6: new java.util.ArrayList
dup
aload 2
invokeinterface java.util.Map.size:()I
iconst_4
imul
iconst_3
idiv
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 7: aload 2
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.Map java.util.List top java.util.Iterator
StackMap stack:
8: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 9: aload 3
new jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec
dup
aload 4
iconst_1
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.<init>:(Ljava/lang/String;Z)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 10: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
11: aload 3
invokestatic java.util.Collections.reverseOrder:()Ljava/util/Comparator;
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
12: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 4
start local 4 13: iconst_0
istore 5
start local 5 14: goto 108
15: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.Map java.util.List java.util.Map int
StackMap stack:
aload 3
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec
astore 6
start local 6 16: aload 6
getfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.lvarSpec:Ljava/lang/String;
astore 7
start local 7 17: aload 6
getfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.catchTarget:Z
ifeq 22
18: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 19
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
ifeq 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec java.lang.String
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 2
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._catch:(Ljava/util/Collection;)V
20: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 7
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.countSymbolsInLvarTypeDescriptor:(Ljava/lang/String;)I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
21: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.newarray:(Ljdk/nashorn/internal/codegen/types/ArrayType;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
22: StackMap locals:
StackMap stack:
aload 6
getfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.delegationTarget:Z
ifeq 24
23: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 4
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.Label
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
24: StackMap locals:
StackMap stack:
iload 5
aload 3
invokeinterface java.util.List.size:()I
iconst_1
isub
if_icmpne 25
iconst_1
goto 26
StackMap locals:
StackMap stack:
25: iconst_0
StackMap locals:
StackMap stack: int
26: istore 8
start local 8 27: iload 8
ifeq 34
28: iconst_0
istore 9
start local 9 29: iconst_0
istore 11
start local 11 30: iconst_0
istore 10
start local 10 31: aconst_null
astore 12
start local 12 32: aconst_null
astore 13
start local 13 33: goto 65
end local 13 end local 12 end local 11 end local 10 end local 9 34: StackMap locals: int
StackMap stack:
iload 5
iconst_1
iadd
istore 14
start local 14 35: aload 3
iload 14
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec
getfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.lvarSpec:Ljava/lang/String;
astore 15
start local 15 36: aload 7
aload 15
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.commonPrefix:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 13
start local 13 37: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 38
aload 13
aload 13
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isUpperCase:(C)Z
ifne 38
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
38: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.Map java.util.List java.util.Map int jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec java.lang.String int top top top top java.lang.String int java.lang.String
StackMap stack:
iconst_1
istore 16
start local 16 39: iload 14
istore 17
start local 17 40: goto 50
41: StackMap locals: int int
StackMap stack:
aload 3
iload 17
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec
astore 18
start local 18 42: aload 18
getfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.lvarSpec:Ljava/lang/String;
astore 19
start local 19 43: aload 19
aload 13
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 47
44: iconst_0
istore 16
45: aload 18
iconst_1
putfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.delegationTarget:Z
46: goto 51
47: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec java.lang.String
StackMap stack:
aload 19
aload 13
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 49
48: goto 51
end local 19 end local 18 49: StackMap locals:
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
50: iload 17
aload 3
invokeinterface java.util.List.size:()I
if_icmplt 41
51: StackMap locals:
StackMap stack:
iload 16
ifeq 53
52: aload 3
iload 17
new jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec
dup
aload 13
iconst_0
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.<init>:(Ljava/lang/String;Z)V
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
end local 17 end local 16 53: StackMap locals:
StackMap stack:
aload 13
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.countSymbolsInLvarTypeDescriptor:(Ljava/lang/String;)I
istore 10
start local 10 54: iconst_0
istore 9
start local 9 55: iconst_0
istore 16
start local 16 56: goto 59
57: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.Map java.util.List java.util.Map int jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec java.lang.String int int int top top java.lang.String int java.lang.String int
StackMap stack:
iload 9
aload 13
iload 16
invokevirtual java.lang.String.charAt:(I)C
invokestatic jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getTypeForSlotDescriptor:(C)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
iadd
istore 9
58: iinc 16 1
StackMap locals:
StackMap stack:
59: iload 16
aload 13
invokevirtual java.lang.String.length:()I
if_icmplt 57
end local 16 60: iload 9
istore 11
start local 11 61: aload 4
aload 13
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.Label
astore 12
start local 12 62: aload 12
ifnonnull 65
63: new jdk.nashorn.internal.codegen.Label
dup
new java.lang.StringBuilder
dup
ldc "uo_pa_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 12
64: aload 4
aload 13
aload 12
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 15 end local 14 65: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.Map java.util.List java.util.Map int jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec java.lang.String int int int int jdk.nashorn.internal.codegen.Label java.lang.String
StackMap stack:
iconst_0
istore 14
start local 14 66: iconst_0
istore 15
start local 15 67: aload 13
ifnonnull 68
iconst_0
goto 69
StackMap locals: int int
StackMap stack:
68: aload 13
invokevirtual java.lang.String.length:()I
StackMap locals:
StackMap stack: int
69: istore 16
start local 16 70: goto 88
71: StackMap locals: int
StackMap stack:
aload 7
iload 16
invokevirtual java.lang.String.charAt:(I)C
istore 17
start local 17 72: iload 17
invokestatic jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getTypeForSlotDescriptor:(C)Ljdk/nashorn/internal/codegen/types/Type;
astore 18
start local 18 73: aload 18
invokevirtual jdk.nashorn.internal.codegen.types.Type.isUnknown:()Z
ifne 78
74: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 18
iload 9
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
75: iconst_1
istore 15
76: iinc 14 1
77: goto 84
StackMap locals: int jdk.nashorn.internal.codegen.types.Type
StackMap stack:
78: iload 17
bipush 85
if_icmpne 84
iload 15
ifne 84
79: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
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_acmpne 82
80: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
81: goto 83
82: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
83: StackMap locals:
StackMap stack:
iinc 14 1
84: StackMap locals:
StackMap stack:
iload 17
invokestatic java.lang.Character.isUpperCase:(C)Z
ifeq 86
85: iconst_0
istore 15
86: StackMap locals:
StackMap stack:
iload 9
aload 18
invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
iadd
istore 9
end local 18 end local 17 87: iinc 16 1
StackMap locals:
StackMap stack:
88: iload 16
aload 7
invokevirtual java.lang.String.length:()I
if_icmplt 71
end local 16 89: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 90
iload 14
ifgt 90
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
90: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 14
iconst_1
iadd
iload 10
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicArrayPopulatorCall:(II)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
91: aload 12
ifnull 99
92: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 93
iload 8
ifeq 93
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
93: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 94
aload 13
ifnonnull 94
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
94: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 11
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.undefineLocalVariables:(IZ)V
95: aload 3
iload 5
iconst_1
iadd
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec
astore 16
start local 16 96: aload 16
getfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.lvarSpec:Ljava/lang/String;
aload 13
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 97
aload 16
getfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.catchTarget:Z
ifeq 107
97: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 12
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
end local 16 98: goto 107
99: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 100
iload 8
ifne 100
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
100: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.getByteCodeSymbolNames:(Ljdk/nashorn/internal/ir/FunctionNode;)[Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstant:(Ljava/lang/Object;)V
101: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
ifeq 105
102: aload 0
aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getContinuationEntryPoints:()[I
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstant:(Ljava/lang/Object;)V
103: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_REWRITE_EXCEPTION_REST_OF: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
104: goto 106
105: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_REWRITE_EXCEPTION: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
106: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.athrow:()V
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 107: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.Map java.util.List java.util.Map int
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
108: iload 5
aload 3
invokeinterface java.util.List.size:()I
if_icmplt 15
end local 5 109: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 110 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
0 110 1 fn Ljdk/nashorn/internal/ir/FunctionNode;
3 110 2 unwarrantedOptimismHandlers Ljava/util/Map<Ljava/lang/String;Ljava/util/Collection<Ljdk/nashorn/internal/codegen/Label;>;>;
7 110 3 handlerSpecs Ljava/util/List<Ljdk/nashorn/internal/codegen/CodeGenerator$OptimismExceptionHandlerSpec;>;
9 10 4 spec Ljava/lang/String;
13 110 4 delegationLabels Ljava/util/Map<Ljava/lang/String;Ljdk/nashorn/internal/codegen/Label;>;
14 109 5 handlerIndex I
16 107 6 spec Ljdk/nashorn/internal/codegen/CodeGenerator$OptimismExceptionHandlerSpec;
17 107 7 lvarSpec Ljava/lang/String;
27 107 8 lastHandler Z
29 34 9 lvarIndex I
55 107 9 lvarIndex I
31 34 10 firstArrayIndex I
54 107 10 firstArrayIndex I
30 34 11 firstLvarIndex I
61 107 11 firstLvarIndex I
32 34 12 delegationLabel Ljdk/nashorn/internal/codegen/Label;
62 107 12 delegationLabel Ljdk/nashorn/internal/codegen/Label;
33 34 13 commonLvarSpec Ljava/lang/String;
37 107 13 commonLvarSpec Ljava/lang/String;
35 65 14 nextHandlerIndex I
36 65 15 nextLvarSpec Ljava/lang/String;
39 53 16 addNewHandler Z
40 53 17 commonHandlerIndex I
42 49 18 forwardHandlerSpec Ljdk/nashorn/internal/codegen/CodeGenerator$OptimismExceptionHandlerSpec;
43 49 19 forwardLvarSpec Ljava/lang/String;
56 60 16 j I
66 107 14 args I
67 107 15 symbolHadValue Z
70 89 16 typeIndex I
72 87 17 typeDesc C
73 87 18 lvarType Ljdk/nashorn/internal/codegen/types/Type;
96 98 16 nextSpec Ljdk/nashorn/internal/codegen/CodeGenerator$OptimismExceptionHandlerSpec;
MethodParameters:
Name Flags
fn final
private static java.lang.String[] getByteCodeSymbolNames(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
invokevirtual jdk.nashorn.internal.ir.Block.getSymbols:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: jdk.nashorn.internal.ir.FunctionNode java.util.List top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Symbol
astore 2
start local 2 3: aload 2
invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
ifeq 9
4: aload 2
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
ifeq 8
5: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 6
aload 2
invokevirtual jdk.nashorn.internal.ir.Symbol.isParam:()Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: jdk.nashorn.internal.ir.FunctionNode java.util.List jdk.nashorn.internal.ir.Symbol java.util.Iterator
StackMap stack:
aload 1
aconst_null
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: goto 9
8: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 9: StackMap locals: jdk.nashorn.internal.ir.FunctionNode java.util.List top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
10: aload 1
iconst_0
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 fn Ljdk/nashorn/internal/ir/FunctionNode;
1 11 1 names Ljava/util/List<Ljava/lang/String;>;
3 9 2 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
fn final
private static java.lang.String commonPrefix(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.String.length:()I
istore 2
start local 2 1: iload 2
aload 1
invokevirtual java.lang.String.length:()I
invokestatic java.lang.Math.min:(II)I
istore 3
start local 3 2: iconst_m1
istore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 11
5: StackMap locals: java.lang.String java.lang.String int int int int
StackMap stack:
aload 0
iload 5
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 6: iload 6
aload 1
iload 5
invokevirtual java.lang.String.charAt:(I)C
if_icmpeq 8
7: aload 0
iconst_0
iload 4
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
8: StackMap locals: int
StackMap stack:
iload 6
invokestatic java.lang.Character.isUpperCase:(C)Z
ifeq 10
9: iload 5
istore 4
end local 6 10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
iload 3
if_icmplt 5
end local 5 12: iload 3
iload 2
if_icmpne 13
aload 0
goto 14
StackMap locals:
StackMap stack:
13: aload 1
StackMap locals:
StackMap stack: java.lang.String
14: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 s1 Ljava/lang/String;
0 15 1 s2 Ljava/lang/String;
1 15 2 l1 I
2 15 3 l I
3 15 4 lms I
4 12 5 i I
6 10 6 c1 C
MethodParameters:
Name Flags
s1 final
s2 final
private jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo getContinuationInfo();
descriptor: ()Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.continuationInfo:Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
private void generateContinuationHandler();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=19, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getContinuationInfo:()Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
astore 1
start local 1 3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getHandlerLabel:()Ljdk/nashorn/internal/codegen/Label;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
4: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.lineNumber:(I)V
5: aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getTargetLabel:()Ljdk/nashorn/internal/codegen/Label;
invokevirtual jdk.nashorn.internal.codegen.Label.getStack:()Ljdk/nashorn/internal/codegen/Label$Stack;
astore 2
start local 2 6: aload 2
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getLocalVariableTypesCopy:()Ljava/util/List;
astore 3
start local 3 7: aload 2
invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getSymbolBoundaryCopy:()Ljava/util/BitSet;
astore 4
start local 4 8: aload 1
getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.lvarCount:I
istore 5
start local 5 9: ldc Ljdk/nashorn/internal/runtime/RewriteException;
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
astore 6
start local 6 10: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
11: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
iload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeTemp:(Ljdk/nashorn/internal/codegen/types/Type;I)V
12: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
13: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.RewriteException.GET_BYTECODE_SLOTS:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
14: iconst_0
istore 7
start local 7 15: iconst_0
istore 8
start local 8 16: goto 43
17: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo jdk.nashorn.internal.codegen.Label$Stack java.util.List java.util.BitSet int jdk.nashorn.internal.codegen.types.Type int int
StackMap stack:
aload 3
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.types.Type
astore 9
start local 9 18: aload 9
invokevirtual jdk.nashorn.internal.codegen.types.Type.isUnknown:()Z
ifne 39
19: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
20: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.arrayload:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
21: aload 9
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
astore 10
start local 10 22: aload 10
ldc [J
if_acmpne 26
23: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
iload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
24: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.RewriteException.TO_LONG_ARRAY: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
25: goto 38
StackMap locals: jdk.nashorn.internal.codegen.types.Type java.lang.Class
StackMap stack:
26: aload 10
ldc [D
if_acmpne 30
27: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
iload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
28: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.RewriteException.TO_DOUBLE_ARRAY: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
29: goto 38
StackMap locals:
StackMap stack:
30: aload 10
ldc [Ljava/lang/Object;
if_acmpne 34
31: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
iload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
32: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.RewriteException.TO_OBJECT_ARRAY: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
33: goto 38
34: StackMap locals:
StackMap stack:
aload 10
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 37
aload 10
ldc Ljava/lang/Object;
if_acmpeq 37
35: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 10
invokestatic jdk.nashorn.internal.codegen.types.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadType:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
36: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.RewriteException.INSTANCE_OR_NULL: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
37: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
38: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
iload 8
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeHidden:(Ljdk/nashorn/internal/codegen/types/Type;IZ)V
end local 10 39: StackMap locals:
StackMap stack:
iload 8
aload 9
invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
iadd
istore 10
start local 10 40: aload 4
iload 10
iconst_1
isub
invokevirtual java.util.BitSet.get:(I)Z
ifeq 42
41: iinc 7 1
42: StackMap locals: int
StackMap stack:
iload 10
istore 8
end local 10 end local 9 43: StackMap locals:
StackMap stack:
iload 8
iload 5
if_icmplt 17
end local 8 44: invokestatic jdk.nashorn.internal.AssertsEnabled.assertsEnabled:()Z
ifeq 48
45: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 7
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
46: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.RewriteException.ASSERT_ARRAY_LENGTH: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
47: goto 49
48: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pop:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
49: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getStackStoreSpec:()[I
astore 8
start local 8 50: aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getStackTypes:()[Ljdk/nashorn/internal/codegen/types/Type;
astore 9
start local 9 51: aload 8
arraylength
ifne 52
iconst_1
goto 53
StackMap locals: int[] jdk.nashorn.internal.codegen.types.Type[]
StackMap stack:
52: iconst_0
StackMap locals:
StackMap stack: int
53: istore 10
start local 10 54: iconst_0
istore 11
start local 11 55: iload 10
ifne 70
56: iconst_0
istore 12
start local 12 57: goto 69
58: StackMap locals: int int int
StackMap stack:
aload 8
iload 12
iaload
istore 13
start local 13 59: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 3
iload 13
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.types.Type
iload 13
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
60: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 9
iload 12
aaload
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
61: aload 1
iload 12
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getObjectLiteralMap:(I)Ljdk/nashorn/internal/runtime/PropertyMap;
astore 14
start local 14 62: aload 14
ifnull 68
63: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
64: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 65
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 65
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not a script object"
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
65: StackMap locals: int jdk.nashorn.internal.runtime.PropertyMap
StackMap stack:
aload 0
aload 14
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstant:(Ljava/lang/Object;)V
66: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.ScriptObject.SET_MAP: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
67: iinc 11 1
end local 14 end local 13 68: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
69: iload 12
aload 8
arraylength
if_icmplt 58
end local 12 70: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 71
aload 1
getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.objectLiteralMaps:Ljava/util/Map;
ifnull 71
aload 1
getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.objectLiteralMaps:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
iload 11
if_icmpeq 71
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
71: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 6
iload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
72: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadNull:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
73: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
iload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeHidden:(Ljdk/nashorn/internal/codegen/types/Type;I)V
74: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iload 5
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.markDeadSlots:(II)V
75: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.runtime.RewriteException.GET_RETURN_VALUE: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
76: aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getReturnValueType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 12
start local 12 77: iconst_0
istore 13
start local 13 78: aload 1
getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.catchLabel:Ljdk/nashorn/internal/codegen/Label;
astore 14
start local 14 79: aconst_null
astore 15
start local 15 80: aload 12
invokevirtual jdk.nashorn.internal.codegen.types.Type.isPrimitive:()Z
ifeq 86
81: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.lineNumber:I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.lineNumber:(I)V
82: aload 14
getstatic jdk.nashorn.internal.codegen.CodeGenerator.METHOD_BOUNDARY:Ljdk/nashorn/internal/codegen/Label;
if_acmpeq 86
83: new jdk.nashorn.internal.codegen.Label
dup
ldc ""
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 15
84: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 15
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
85: iconst_1
istore 13
86: StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo jdk.nashorn.internal.codegen.Label$Stack java.util.List java.util.BitSet int jdk.nashorn.internal.codegen.types.Type int int[] jdk.nashorn.internal.codegen.types.Type[] int int jdk.nashorn.internal.codegen.types.Type int jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 12
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
87: iload 13
ifeq 88
aload 1
getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.exceptionScopePops:I
goto 89
StackMap locals:
StackMap stack:
88: iconst_0
StackMap locals:
StackMap stack: int
89: istore 16
start local 16 90: iload 16
ifle 91
new jdk.nashorn.internal.codegen.Label
dup
ldc ""
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
goto 92
StackMap locals: int
StackMap stack:
91: aload 14
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.Label
92: astore 17
start local 17 93: iload 13
ifeq 97
94: new jdk.nashorn.internal.codegen.Label
dup
ldc ""
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 18
start local 18 95: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 18
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
96: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 15
aload 18
aload 17
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._try:(Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;)V
end local 18 97: StackMap locals: jdk.nashorn.internal.codegen.Label
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 1
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getTargetLabel:()Ljdk/nashorn/internal/codegen/Label;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
98: aload 17
aload 14
if_acmpeq 104
99: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.lineNumber:(I)V
100: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 101
iload 16
ifgt 101
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
101: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 17
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._catch:(Ljdk/nashorn/internal/codegen/Label;)V
102: aload 0
iload 16
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScopes:(I)V
103: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 14
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.uncheckedGoto:(Ljdk/nashorn/internal/codegen/Label;)V
104: StackMap locals:
StackMap stack:
return
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 105 0 this Ljdk/nashorn/internal/codegen/CodeGenerator;
3 105 1 ci Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
6 105 2 stack Ljdk/nashorn/internal/codegen/Label$Stack;
7 105 3 lvarTypes Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;
8 105 4 symbolBoundary Ljava/util/BitSet;
9 105 5 lvarCount I
10 105 6 rewriteExceptionType Ljdk/nashorn/internal/codegen/types/Type;
15 105 7 arrayIndex I
16 44 8 lvarIndex I
18 43 9 lvarType Ljdk/nashorn/internal/codegen/types/Type;
22 39 10 typeClass Ljava/lang/Class<*>;
40 43 10 nextLvarIndex I
50 105 8 stackStoreSpec [I
51 105 9 stackTypes [Ljdk/nashorn/internal/codegen/types/Type;
54 105 10 isStackEmpty Z
55 105 11 replacedObjectLiteralMaps I
57 70 12 i I
59 68 13 slot I
62 68 14 map Ljdk/nashorn/internal/runtime/PropertyMap;
77 105 12 returnValueType Ljdk/nashorn/internal/codegen/types/Type;
78 105 13 needsCatch Z
79 105 14 targetCatchLabel Ljdk/nashorn/internal/codegen/Label;
80 105 15 _try Ljdk/nashorn/internal/codegen/Label;
90 105 16 scopePopCount I
93 105 17 catchLabel Ljdk/nashorn/internal/codegen/Label;
95 97 18 _end_try Ljdk/nashorn/internal/codegen/Label;
static jdk.nashorn.internal.ir.LexicalContext access$0(jdk.nashorn.internal.codegen.CodeGenerator);
descriptor: (Ljdk/nashorn/internal/codegen/CodeGenerator;)Ljdk/nashorn/internal/ir/LexicalContext;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
areturn
LocalVariableTable:
Start End Slot Name Signature
static int[] $SWITCH_TABLE$jdk$nashorn$internal$parser$TokenType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$SWITCH_TABLE$jdk$nashorn$internal$parser$TokenType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.nashorn.internal.parser.TokenType.values:()[Ljdk/nashorn/internal/parser/TokenType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ADD:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 19
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.AND:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 12
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ARRAY:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 116
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ARROW:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 39
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 36
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_ADD:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 21
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_BIT_AND:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 13
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_BIT_OR:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 53
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_BIT_XOR:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 50
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_DIV:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 29
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_MOD:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 10
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_MUL:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 17
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_SAR:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 43
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_SHL:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 34
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_SHR:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 45
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_SUB:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 26
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.BINARY_NUMBER:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 107
iastore
51: goto 53
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
52: pop
StackMap locals:
StackMap stack:
53: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.BIT_AND:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 11
iastore
54: goto 56
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
55: pop
StackMap locals:
StackMap stack:
56: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.BIT_NOT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 56
iastore
57: goto 59
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
58: pop
StackMap locals:
StackMap stack:
59: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.BIT_OR:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 52
iastore
60: goto 62
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
61: pop
StackMap locals:
StackMap stack:
62: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.BIT_XOR:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 49
iastore
63: goto 65
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
64: pop
StackMap locals:
StackMap stack:
65: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.BREAK:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 58
iastore
66: goto 68
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
67: pop
StackMap locals:
StackMap stack:
68: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.CASE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 59
iastore
69: goto 71
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
70: pop
StackMap locals:
StackMap stack:
71: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.CATCH:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 60
iastore
72: goto 74
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
73: pop
StackMap locals:
StackMap stack:
74: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.CLASS:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 61
iastore
75: goto 77
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
76: pop
StackMap locals:
StackMap stack:
77: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.COLON:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 30
iastore
78: goto 80
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
79: pop
StackMap locals:
StackMap stack:
80: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.COMMARIGHT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 22
iastore
81: goto 83
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
82: pop
StackMap locals:
StackMap stack:
83: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.COMMENT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
iconst_4
iastore
84: goto 86
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
85: pop
StackMap locals:
StackMap stack:
86: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.CONST:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 62
iastore
87: goto 89
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
88: pop
StackMap locals:
StackMap stack:
89: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.CONTINUE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 63
iastore
90: goto 92
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
91: pop
StackMap locals:
StackMap stack:
92: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.DEBUGGER:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 64
iastore
93: goto 95
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
94: pop
StackMap locals:
StackMap stack:
95: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.DECIMAL:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 103
iastore
96: goto 98
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
97: pop
StackMap locals:
StackMap stack:
98: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.DECPOSTFIX:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 121
iastore
99: goto 101
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
100: pop
StackMap locals:
StackMap stack:
101: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.DECPREFIX:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 25
iastore
102: goto 104
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
103: pop
StackMap locals:
StackMap stack:
104: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.DEFAULT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 65
iastore
105: goto 107
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
106: pop
StackMap locals:
StackMap stack:
107: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.DELETE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 66
iastore
108: goto 110
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
109: pop
StackMap locals:
StackMap stack:
110: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.DIRECTIVE_COMMENT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
iconst_5
iastore
111: goto 113
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
112: pop
StackMap locals:
StackMap stack:
113: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.DIV:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 28
iastore
114: goto 116
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
115: pop
StackMap locals:
StackMap stack:
116: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.DO:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 67
iastore
117: goto 119
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
118: pop
StackMap locals:
StackMap stack:
119: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ELLIPSIS:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 57
iastore
120: goto 122
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
121: pop
StackMap locals:
StackMap stack:
122: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ELSE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 68
iastore
123: goto 125
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
124: pop
StackMap locals:
StackMap stack:
125: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ENUM:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 69
iastore
126: goto 128
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
127: pop
StackMap locals:
StackMap stack:
128: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.EOF:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
iconst_2
iastore
129: goto 131
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
130: pop
StackMap locals:
StackMap stack:
131: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.EOL:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
iconst_3
iastore
132: goto 134
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
133: pop
StackMap locals:
StackMap stack:
134: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.EQ:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 37
iastore
135: goto 137
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
136: pop
StackMap locals:
StackMap stack:
137: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.EQ_STRICT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 38
iastore
138: goto 140
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
139: pop
StackMap locals:
StackMap stack:
140: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ERROR:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
iconst_1
iastore
141: goto 143
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
142: pop
StackMap locals:
StackMap stack:
143: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.ESCSTRING:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 110
iastore
144: goto 146
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
145: pop
StackMap locals:
StackMap stack:
146: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.EXECSTRING:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 111
iastore
147: goto 149
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
148: pop
StackMap locals:
StackMap stack:
149: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.EXPORT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 70
iastore
150: goto 152
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
151: pop
StackMap locals:
StackMap stack:
152: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.EXTENDS:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 71
iastore
153: goto 155
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
154: pop
StackMap locals:
StackMap stack:
155: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.FALSE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 72
iastore
156: goto 158
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
157: pop
StackMap locals:
StackMap stack:
158: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.FINALLY:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 73
iastore
159: goto 161
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
160: pop
StackMap locals:
StackMap stack:
161: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.FLOATING:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 108
iastore
162: goto 164
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
163: pop
StackMap locals:
StackMap stack:
164: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.FOR:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 74
iastore
165: goto 167
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
166: pop
StackMap locals:
StackMap stack:
167: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.FUNCTION:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 75
iastore
168: goto 170
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
169: pop
StackMap locals:
StackMap stack:
170: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.GE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 41
iastore
171: goto 173
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
172: pop
StackMap locals:
StackMap stack:
173: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.GT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 40
iastore
174: goto 176
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
175: pop
StackMap locals:
StackMap stack:
176: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.HEXADECIMAL:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 104
iastore
177: goto 179
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
178: pop
StackMap locals:
StackMap stack:
179: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.IDENT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 112
iastore
180: goto 182
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
181: pop
StackMap locals:
StackMap stack:
182: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.IF:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 76
iastore
183: goto 185
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
184: pop
StackMap locals:
StackMap stack:
185: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.IMPLEMENTS:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 77
iastore
186: goto 188
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
187: pop
StackMap locals:
StackMap stack:
188: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.IMPORT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 78
iastore
189: goto 191
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
190: pop
StackMap locals:
StackMap stack:
191: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.IN:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 79
iastore
192: goto 194
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
193: pop
StackMap locals:
StackMap stack:
194: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.INCPOSTFIX:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 122
iastore
195: goto 197
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
196: pop
StackMap locals:
StackMap stack:
197: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.INCPREFIX:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 20
iastore
198: goto 200
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
199: pop
StackMap locals:
StackMap stack:
200: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.INSTANCEOF:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 80
iastore
201: goto 203
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
202: pop
StackMap locals:
StackMap stack:
203: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.INTERFACE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 81
iastore
204: goto 206
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
205: pop
StackMap locals:
StackMap stack:
206: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.LBRACE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 51
iastore
207: goto 209
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
208: pop
StackMap locals:
StackMap stack:
209: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.LBRACKET:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 47
iastore
210: goto 212
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
211: pop
StackMap locals:
StackMap stack:
212: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.LE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 35
iastore
213: goto 215
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
214: pop
StackMap locals:
StackMap stack:
215: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.LET:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 82
iastore
216: goto 218
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
217: pop
StackMap locals:
StackMap stack:
218: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.LPAREN:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 14
iastore
219: goto 221
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
220: pop
StackMap locals:
StackMap stack:
221: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.LT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 32
iastore
222: goto 224
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
223: pop
StackMap locals:
StackMap stack:
224: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.MOD:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 9
iastore
225: goto 227
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
226: pop
StackMap locals:
StackMap stack:
227: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.MUL:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 16
iastore
228: goto 230
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
229: pop
StackMap locals:
StackMap stack:
230: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.NE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 7
iastore
231: goto 233
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
232: pop
StackMap locals:
StackMap stack:
233: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.NEG:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 23
iastore
234: goto 236
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
235: pop
StackMap locals:
StackMap stack:
236: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.NEW:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 83
iastore
237: goto 239
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
238: pop
StackMap locals:
StackMap stack:
239: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.NE_STRICT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 8
iastore
240: goto 242
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
241: pop
StackMap locals:
StackMap stack:
242: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.NOT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 6
iastore
243: goto 245
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
244: pop
StackMap locals:
StackMap stack:
245: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.NULL:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 84
iastore
246: goto 248
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
247: pop
StackMap locals:
StackMap stack:
248: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.OBJECT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 115
iastore
249: goto 251
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
250: pop
StackMap locals:
StackMap stack:
251: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.OCTAL:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 106
iastore
252: goto 254
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
253: pop
StackMap locals:
StackMap stack:
254: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.OCTAL_LEGACY:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 105
iastore
255: goto 257
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
256: pop
StackMap locals:
StackMap stack:
257: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.OR:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 54
iastore
258: goto 260
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
259: pop
StackMap locals:
StackMap stack:
260: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.PACKAGE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 85
iastore
261: goto 263
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
262: pop
StackMap locals:
StackMap stack:
263: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.PERIOD:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 27
iastore
264: goto 266
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
265: pop
StackMap locals:
StackMap stack:
266: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.POS:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 18
iastore
267: goto 269
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
268: pop
StackMap locals:
StackMap stack:
269: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.PRIVATE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 86
iastore
270: goto 272
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
271: pop
StackMap locals:
StackMap stack:
272: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.PROTECTED:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 87
iastore
273: goto 275
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
274: pop
StackMap locals:
StackMap stack:
275: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.PUBLIC:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 88
iastore
276: goto 278
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
277: pop
StackMap locals:
StackMap stack:
278: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.RBRACE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 55
iastore
279: goto 281
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
280: pop
StackMap locals:
StackMap stack:
281: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.RBRACKET:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 48
iastore
282: goto 284
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
283: pop
StackMap locals:
StackMap stack:
284: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.REGEX:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 113
iastore
285: goto 287
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
286: pop
StackMap locals:
StackMap stack:
287: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.RETURN:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 89
iastore
288: goto 290
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
289: pop
StackMap locals:
StackMap stack:
290: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.RPAREN:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 15
iastore
291: goto 293
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
292: pop
StackMap locals:
StackMap stack:
293: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.SAR:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 42
iastore
294: goto 296
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
295: pop
StackMap locals:
StackMap stack:
296: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.SEMICOLON:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 31
iastore
297: goto 299
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
298: pop
StackMap locals:
StackMap stack:
299: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.SHL:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 33
iastore
300: goto 302
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
301: pop
StackMap locals:
StackMap stack:
302: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.SHR:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 44
iastore
303: goto 305
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
304: pop
StackMap locals:
StackMap stack:
305: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.SPREAD_ARGUMENT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 123
iastore
306: goto 308
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
307: pop
StackMap locals:
StackMap stack:
308: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.SPREAD_ARRAY:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 124
iastore
309: goto 311
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
310: pop
StackMap locals:
StackMap stack:
311: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.STATIC:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 90
iastore
312: goto 314
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
313: pop
StackMap locals:
StackMap stack:
314: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.STRING:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 109
iastore
315: goto 317
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
316: pop
StackMap locals:
StackMap stack:
317: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.SUB:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 24
iastore
318: goto 320
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
319: pop
StackMap locals:
StackMap stack:
320: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.SUPER:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 91
iastore
321: goto 323
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
322: pop
StackMap locals:
StackMap stack:
323: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.SWITCH:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 92
iastore
324: goto 326
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
325: pop
StackMap locals:
StackMap stack:
326: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.TEMPLATE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 117
iastore
327: goto 329
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
328: pop
StackMap locals:
StackMap stack:
329: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.TEMPLATE_HEAD:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 118
iastore
330: goto 332
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
331: pop
StackMap locals:
StackMap stack:
332: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.TEMPLATE_MIDDLE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 119
iastore
333: goto 335
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
334: pop
StackMap locals:
StackMap stack:
335: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.TEMPLATE_TAIL:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 120
iastore
336: goto 338
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
337: pop
StackMap locals:
StackMap stack:
338: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.TERNARY:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 46
iastore
339: goto 341
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
340: pop
StackMap locals:
StackMap stack:
341: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.THIS:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 93
iastore
342: goto 344
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
343: pop
StackMap locals:
StackMap stack:
344: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.THROW:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 94
iastore
345: goto 347
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
346: pop
StackMap locals:
StackMap stack:
347: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.TRUE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 95
iastore
348: goto 350
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
349: pop
StackMap locals:
StackMap stack:
350: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.TRY:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 96
iastore
351: goto 353
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
352: pop
StackMap locals:
StackMap stack:
353: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.TYPEOF:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 97
iastore
354: goto 356
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
355: pop
StackMap locals:
StackMap stack:
356: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.VAR:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 98
iastore
357: goto 359
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
358: pop
StackMap locals:
StackMap stack:
359: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.VOID:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 99
iastore
360: goto 362
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
361: pop
StackMap locals:
StackMap stack:
362: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.WHILE:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 100
iastore
363: goto 365
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
364: pop
StackMap locals:
StackMap stack:
365: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.WITH:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 101
iastore
366: goto 368
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
367: pop
StackMap locals:
StackMap stack:
368: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.XML:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 114
iastore
369: goto 371
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
370: pop
StackMap locals:
StackMap stack:
371: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.YIELD:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 102
iastore
372: goto 374
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
373: pop
StackMap locals:
StackMap stack:
374: aload 0
getstatic jdk.nashorn.internal.parser.TokenType.YIELD_STAR:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
bipush 125
iastore
375: goto 377
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
376: pop
StackMap locals:
StackMap stack:
377: aload 0
dup
putstatic jdk.nashorn.internal.codegen.CodeGenerator.$SWITCH_TABLE$jdk$nashorn$internal$parser$TokenType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
50 51 52 Class java.lang.NoSuchFieldError
53 54 55 Class java.lang.NoSuchFieldError
56 57 58 Class java.lang.NoSuchFieldError
59 60 61 Class java.lang.NoSuchFieldError
62 63 64 Class java.lang.NoSuchFieldError
65 66 67 Class java.lang.NoSuchFieldError
68 69 70 Class java.lang.NoSuchFieldError
71 72 73 Class java.lang.NoSuchFieldError
74 75 76 Class java.lang.NoSuchFieldError
77 78 79 Class java.lang.NoSuchFieldError
80 81 82 Class java.lang.NoSuchFieldError
83 84 85 Class java.lang.NoSuchFieldError
86 87 88 Class java.lang.NoSuchFieldError
89 90 91 Class java.lang.NoSuchFieldError
92 93 94 Class java.lang.NoSuchFieldError
95 96 97 Class java.lang.NoSuchFieldError
98 99 100 Class java.lang.NoSuchFieldError
101 102 103 Class java.lang.NoSuchFieldError
104 105 106 Class java.lang.NoSuchFieldError
107 108 109 Class java.lang.NoSuchFieldError
110 111 112 Class java.lang.NoSuchFieldError
113 114 115 Class java.lang.NoSuchFieldError
116 117 118 Class java.lang.NoSuchFieldError
119 120 121 Class java.lang.NoSuchFieldError
122 123 124 Class java.lang.NoSuchFieldError
125 126 127 Class java.lang.NoSuchFieldError
128 129 130 Class java.lang.NoSuchFieldError
131 132 133 Class java.lang.NoSuchFieldError
134 135 136 Class java.lang.NoSuchFieldError
137 138 139 Class java.lang.NoSuchFieldError
140 141 142 Class java.lang.NoSuchFieldError
143 144 145 Class java.lang.NoSuchFieldError
146 147 148 Class java.lang.NoSuchFieldError
149 150 151 Class java.lang.NoSuchFieldError
152 153 154 Class java.lang.NoSuchFieldError
155 156 157 Class java.lang.NoSuchFieldError
158 159 160 Class java.lang.NoSuchFieldError
161 162 163 Class java.lang.NoSuchFieldError
164 165 166 Class java.lang.NoSuchFieldError
167 168 169 Class java.lang.NoSuchFieldError
170 171 172 Class java.lang.NoSuchFieldError
173 174 175 Class java.lang.NoSuchFieldError
176 177 178 Class java.lang.NoSuchFieldError
179 180 181 Class java.lang.NoSuchFieldError
182 183 184 Class java.lang.NoSuchFieldError
185 186 187 Class java.lang.NoSuchFieldError
188 189 190 Class java.lang.NoSuchFieldError
191 192 193 Class java.lang.NoSuchFieldError
194 195 196 Class java.lang.NoSuchFieldError
197 198 199 Class java.lang.NoSuchFieldError
200 201 202 Class java.lang.NoSuchFieldError
203 204 205 Class java.lang.NoSuchFieldError
206 207 208 Class java.lang.NoSuchFieldError
209 210 211 Class java.lang.NoSuchFieldError
212 213 214 Class java.lang.NoSuchFieldError
215 216 217 Class java.lang.NoSuchFieldError
218 219 220 Class java.lang.NoSuchFieldError
221 222 223 Class java.lang.NoSuchFieldError
224 225 226 Class java.lang.NoSuchFieldError
227 228 229 Class java.lang.NoSuchFieldError
230 231 232 Class java.lang.NoSuchFieldError
233 234 235 Class java.lang.NoSuchFieldError
236 237 238 Class java.lang.NoSuchFieldError
239 240 241 Class java.lang.NoSuchFieldError
242 243 244 Class java.lang.NoSuchFieldError
245 246 247 Class java.lang.NoSuchFieldError
248 249 250 Class java.lang.NoSuchFieldError
251 252 253 Class java.lang.NoSuchFieldError
254 255 256 Class java.lang.NoSuchFieldError
257 258 259 Class java.lang.NoSuchFieldError
260 261 262 Class java.lang.NoSuchFieldError
263 264 265 Class java.lang.NoSuchFieldError
266 267 268 Class java.lang.NoSuchFieldError
269 270 271 Class java.lang.NoSuchFieldError
272 273 274 Class java.lang.NoSuchFieldError
275 276 277 Class java.lang.NoSuchFieldError
278 279 280 Class java.lang.NoSuchFieldError
281 282 283 Class java.lang.NoSuchFieldError
284 285 286 Class java.lang.NoSuchFieldError
287 288 289 Class java.lang.NoSuchFieldError
290 291 292 Class java.lang.NoSuchFieldError
293 294 295 Class java.lang.NoSuchFieldError
296 297 298 Class java.lang.NoSuchFieldError
299 300 301 Class java.lang.NoSuchFieldError
302 303 304 Class java.lang.NoSuchFieldError
305 306 307 Class java.lang.NoSuchFieldError
308 309 310 Class java.lang.NoSuchFieldError
311 312 313 Class java.lang.NoSuchFieldError
314 315 316 Class java.lang.NoSuchFieldError
317 318 319 Class java.lang.NoSuchFieldError
320 321 322 Class java.lang.NoSuchFieldError
323 324 325 Class java.lang.NoSuchFieldError
326 327 328 Class java.lang.NoSuchFieldError
329 330 331 Class java.lang.NoSuchFieldError
332 333 334 Class java.lang.NoSuchFieldError
335 336 337 Class java.lang.NoSuchFieldError
338 339 340 Class java.lang.NoSuchFieldError
341 342 343 Class java.lang.NoSuchFieldError
344 345 346 Class java.lang.NoSuchFieldError
347 348 349 Class java.lang.NoSuchFieldError
350 351 352 Class java.lang.NoSuchFieldError
353 354 355 Class java.lang.NoSuchFieldError
356 357 358 Class java.lang.NoSuchFieldError
359 360 361 Class java.lang.NoSuchFieldError
362 363 364 Class java.lang.NoSuchFieldError
365 366 367 Class java.lang.NoSuchFieldError
368 369 370 Class java.lang.NoSuchFieldError
371 372 373 Class java.lang.NoSuchFieldError
374 375 376 Class java.lang.NoSuchFieldError
}
Signature: Ljdk/nashorn/internal/ir/visitor/NodeOperatorVisitor<Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;>;Ljdk/nashorn/internal/runtime/logging/Loggable;
SourceFile: "CodeGenerator.java"
NestMembers:
jdk.nashorn.internal.codegen.CodeGenerator$1 jdk.nashorn.internal.codegen.CodeGenerator$10 jdk.nashorn.internal.codegen.CodeGenerator$11 jdk.nashorn.internal.codegen.CodeGenerator$11$1 jdk.nashorn.internal.codegen.CodeGenerator$12 jdk.nashorn.internal.codegen.CodeGenerator$13 jdk.nashorn.internal.codegen.CodeGenerator$13$1 jdk.nashorn.internal.codegen.CodeGenerator$13$2 jdk.nashorn.internal.codegen.CodeGenerator$14 jdk.nashorn.internal.codegen.CodeGenerator$15 jdk.nashorn.internal.codegen.CodeGenerator$16 jdk.nashorn.internal.codegen.CodeGenerator$17 jdk.nashorn.internal.codegen.CodeGenerator$18 jdk.nashorn.internal.codegen.CodeGenerator$19 jdk.nashorn.internal.codegen.CodeGenerator$2 jdk.nashorn.internal.codegen.CodeGenerator$2$1 jdk.nashorn.internal.codegen.CodeGenerator$2$2 jdk.nashorn.internal.codegen.CodeGenerator$20 jdk.nashorn.internal.codegen.CodeGenerator$21 jdk.nashorn.internal.codegen.CodeGenerator$22 jdk.nashorn.internal.codegen.CodeGenerator$23 jdk.nashorn.internal.codegen.CodeGenerator$24 jdk.nashorn.internal.codegen.CodeGenerator$25 jdk.nashorn.internal.codegen.CodeGenerator$26 jdk.nashorn.internal.codegen.CodeGenerator$26$1 jdk.nashorn.internal.codegen.CodeGenerator$27 jdk.nashorn.internal.codegen.CodeGenerator$28 jdk.nashorn.internal.codegen.CodeGenerator$29 jdk.nashorn.internal.codegen.CodeGenerator$3 jdk.nashorn.internal.codegen.CodeGenerator$3$1 jdk.nashorn.internal.codegen.CodeGenerator$3$2 jdk.nashorn.internal.codegen.CodeGenerator$3$3 jdk.nashorn.internal.codegen.CodeGenerator$3$4 jdk.nashorn.internal.codegen.CodeGenerator$3$5 jdk.nashorn.internal.codegen.CodeGenerator$3$6 jdk.nashorn.internal.codegen.CodeGenerator$3$7 jdk.nashorn.internal.codegen.CodeGenerator$30 jdk.nashorn.internal.codegen.CodeGenerator$31 jdk.nashorn.internal.codegen.CodeGenerator$32 jdk.nashorn.internal.codegen.CodeGenerator$4 jdk.nashorn.internal.codegen.CodeGenerator$4$1 jdk.nashorn.internal.codegen.CodeGenerator$5 jdk.nashorn.internal.codegen.CodeGenerator$6 jdk.nashorn.internal.codegen.CodeGenerator$7 jdk.nashorn.internal.codegen.CodeGenerator$8 jdk.nashorn.internal.codegen.CodeGenerator$8$1 jdk.nashorn.internal.codegen.CodeGenerator$9 jdk.nashorn.internal.codegen.CodeGenerator$BinaryArith jdk.nashorn.internal.codegen.CodeGenerator$BinaryArith$1 jdk.nashorn.internal.codegen.CodeGenerator$BinaryOptimisticSelfAssignment jdk.nashorn.internal.codegen.CodeGenerator$BinaryOptimisticSelfAssignment$1 jdk.nashorn.internal.codegen.CodeGenerator$BinarySelfAssignment jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo jdk.nashorn.internal.codegen.CodeGenerator$LoadFastScopeVar jdk.nashorn.internal.codegen.CodeGenerator$LoadScopeVar jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec jdk.nashorn.internal.codegen.CodeGenerator$OptimisticOperation jdk.nashorn.internal.codegen.CodeGenerator$SelfModifyingStore jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator jdk.nashorn.internal.codegen.CodeGenerator$Store jdk.nashorn.internal.codegen.CodeGenerator$Store$1 jdk.nashorn.internal.codegen.CodeGenerator$Store$2 jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
InnerClasses:
final Flag = jdk.nashorn.internal.codegen.ClassEmitter$Flag of jdk.nashorn.internal.codegen.ClassEmitter
jdk.nashorn.internal.codegen.CodeGenerator$1
jdk.nashorn.internal.codegen.CodeGenerator$10
jdk.nashorn.internal.codegen.CodeGenerator$11
jdk.nashorn.internal.codegen.CodeGenerator$12
jdk.nashorn.internal.codegen.CodeGenerator$13
jdk.nashorn.internal.codegen.CodeGenerator$14
jdk.nashorn.internal.codegen.CodeGenerator$15
jdk.nashorn.internal.codegen.CodeGenerator$16
jdk.nashorn.internal.codegen.CodeGenerator$17
jdk.nashorn.internal.codegen.CodeGenerator$18
jdk.nashorn.internal.codegen.CodeGenerator$19
jdk.nashorn.internal.codegen.CodeGenerator$2
jdk.nashorn.internal.codegen.CodeGenerator$20
jdk.nashorn.internal.codegen.CodeGenerator$21
jdk.nashorn.internal.codegen.CodeGenerator$22
jdk.nashorn.internal.codegen.CodeGenerator$23
jdk.nashorn.internal.codegen.CodeGenerator$24
jdk.nashorn.internal.codegen.CodeGenerator$25
jdk.nashorn.internal.codegen.CodeGenerator$26
jdk.nashorn.internal.codegen.CodeGenerator$27
jdk.nashorn.internal.codegen.CodeGenerator$28
jdk.nashorn.internal.codegen.CodeGenerator$29
jdk.nashorn.internal.codegen.CodeGenerator$3
jdk.nashorn.internal.codegen.CodeGenerator$30
jdk.nashorn.internal.codegen.CodeGenerator$31
jdk.nashorn.internal.codegen.CodeGenerator$32
jdk.nashorn.internal.codegen.CodeGenerator$4
jdk.nashorn.internal.codegen.CodeGenerator$5
jdk.nashorn.internal.codegen.CodeGenerator$6
jdk.nashorn.internal.codegen.CodeGenerator$7
jdk.nashorn.internal.codegen.CodeGenerator$8
jdk.nashorn.internal.codegen.CodeGenerator$9
private abstract BinaryArith = jdk.nashorn.internal.codegen.CodeGenerator$BinaryArith of jdk.nashorn.internal.codegen.CodeGenerator
private abstract BinaryOptimisticSelfAssignment = jdk.nashorn.internal.codegen.CodeGenerator$BinaryOptimisticSelfAssignment of jdk.nashorn.internal.codegen.CodeGenerator
private abstract BinarySelfAssignment = jdk.nashorn.internal.codegen.CodeGenerator$BinarySelfAssignment of jdk.nashorn.internal.codegen.CodeGenerator
private ContinuationInfo = jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo of jdk.nashorn.internal.codegen.CodeGenerator
private LoadFastScopeVar = jdk.nashorn.internal.codegen.CodeGenerator$LoadFastScopeVar of jdk.nashorn.internal.codegen.CodeGenerator
private LoadScopeVar = jdk.nashorn.internal.codegen.CodeGenerator$LoadScopeVar of jdk.nashorn.internal.codegen.CodeGenerator
private OptimismExceptionHandlerSpec = jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec of jdk.nashorn.internal.codegen.CodeGenerator
private abstract OptimisticOperation = jdk.nashorn.internal.codegen.CodeGenerator$OptimisticOperation of jdk.nashorn.internal.codegen.CodeGenerator
private abstract SelfModifyingStore = jdk.nashorn.internal.codegen.CodeGenerator$SelfModifyingStore of jdk.nashorn.internal.codegen.CodeGenerator
abstract SplitLiteralCreator = jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator of jdk.nashorn.internal.codegen.CodeGenerator
private abstract Store = jdk.nashorn.internal.codegen.CodeGenerator$Store of jdk.nashorn.internal.codegen.CodeGenerator
private final TypeBounds = jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds of jdk.nashorn.internal.codegen.CodeGenerator
public abstract Call = jdk.nashorn.internal.codegen.CompilerConstants$Call of jdk.nashorn.internal.codegen.CompilerConstants
final Stack = jdk.nashorn.internal.codegen.Label$Stack of jdk.nashorn.internal.codegen.Label
public final ArrayLiteralNode = jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode of jdk.nashorn.internal.ir.LiteralNode
public PrimitiveLiteralNode = jdk.nashorn.internal.ir.LiteralNode$PrimitiveLiteralNode of jdk.nashorn.internal.ir.LiteralNode
public final Request = jdk.nashorn.internal.ir.RuntimeNode$Request of jdk.nashorn.internal.ir.RuntimeNode
public final SplitRange = jdk.nashorn.internal.ir.Splittable$SplitRange of jdk.nashorn.internal.ir.Splittable
public RegexToken = jdk.nashorn.internal.parser.Lexer$RegexToken of jdk.nashorn.internal.parser.Lexer
RuntimeVisibleAnnotations:
jdk.nashorn.internal.runtime.logging.Logger(name = "codegen")