class jdk.nashorn.internal.codegen.SharedScopeCall
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.nashorn.internal.codegen.SharedScopeCall
  super_class: java.lang.Object
{
  public static final int FAST_SCOPE_CALL_THRESHOLD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int SLOW_SCOPE_CALL_THRESHOLD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 500

  public static final int FAST_SCOPE_GET_THRESHOLD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 200

  final jdk.nashorn.internal.codegen.types.Type valueType;
    descriptor: Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0010) ACC_FINAL

  final jdk.nashorn.internal.ir.Symbol symbol;
    descriptor: Ljdk/nashorn/internal/ir/Symbol;
    flags: (0x0010) ACC_FINAL

  final jdk.nashorn.internal.codegen.types.Type returnType;
    descriptor: Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0010) ACC_FINAL

  final jdk.nashorn.internal.codegen.types.Type[] paramTypes;
    descriptor: [Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0010) ACC_FINAL

  final int flags;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final boolean isCall;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  private jdk.nashorn.internal.codegen.CompileUnit compileUnit;
    descriptor: Ljdk/nashorn/internal/codegen/CompileUnit;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String methodName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String staticSignature;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 53
            ldc Ljdk/nashorn/internal/codegen/SharedScopeCall;
            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.SharedScopeCall.$assertionsDisabled:Z
         3: .line 60
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(jdk.nashorn.internal.ir.Symbol, jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type[], int);
    descriptor: (Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;[Ljdk/nashorn/internal/codegen/types/Type;I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
        start local 1 // jdk.nashorn.internal.ir.Symbol symbol
        start local 2 // jdk.nashorn.internal.codegen.types.Type valueType
        start local 3 // jdk.nashorn.internal.codegen.types.Type returnType
        start local 4 // jdk.nashorn.internal.codegen.types.Type[] paramTypes
        start local 5 // int flags
         0: .line 81
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 82
            aload 0 /* this */
            aload 1 /* symbol */
            putfield jdk.nashorn.internal.codegen.SharedScopeCall.symbol:Ljdk/nashorn/internal/ir/Symbol;
         2: .line 83
            aload 0 /* this */
            aload 2 /* valueType */
            putfield jdk.nashorn.internal.codegen.SharedScopeCall.valueType:Ljdk/nashorn/internal/codegen/types/Type;
         3: .line 84
            aload 0 /* this */
            aload 3 /* returnType */
            putfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
         4: .line 85
            aload 0 /* this */
            aload 4 /* paramTypes */
            putfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
         5: .line 86
            getstatic jdk.nashorn.internal.codegen.SharedScopeCall.$assertionsDisabled:Z
            ifne 6
            iload 5 /* flags */
            bipush 64
            iand
            ifeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 87
      StackMap locals: jdk.nashorn.internal.codegen.SharedScopeCall jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type[] int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* flags */
            putfield jdk.nashorn.internal.codegen.SharedScopeCall.flags:I
         7: .line 89
            aload 0 /* this */
            aload 4 /* paramTypes */
            ifnull 8
            iconst_1
            goto 9
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.SharedScopeCall
         8: iconst_0
      StackMap locals: jdk.nashorn.internal.codegen.SharedScopeCall jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type[] int
      StackMap stack: jdk.nashorn.internal.codegen.SharedScopeCall int
         9: putfield jdk.nashorn.internal.codegen.SharedScopeCall.isCall:Z
        10: .line 90
            return
        end local 5 // int flags
        end local 4 // jdk.nashorn.internal.codegen.types.Type[] paramTypes
        end local 3 // jdk.nashorn.internal.codegen.types.Type returnType
        end local 2 // jdk.nashorn.internal.codegen.types.Type valueType
        end local 1 // jdk.nashorn.internal.ir.Symbol symbol
        end local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Ljdk/nashorn/internal/codegen/SharedScopeCall;
            0   11     1      symbol  Ljdk/nashorn/internal/ir/Symbol;
            0   11     2   valueType  Ljdk/nashorn/internal/codegen/types/Type;
            0   11     3  returnType  Ljdk/nashorn/internal/codegen/types/Type;
            0   11     4  paramTypes  [Ljdk/nashorn/internal/codegen/types/Type;
            0   11     5       flags  I
    MethodParameters:
            Name  Flags
      symbol      final
      valueType   final
      returnType  final
      paramTypes  final
      flags       final

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
         0: .line 94
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.symbol:Ljdk/nashorn/internal/ir/Symbol;
            invokevirtual java.lang.Object.hashCode:()I
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual java.lang.Object.hashCode:()I
            ixor
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
            invokestatic java.util.Arrays.hashCode:([Ljava/lang/Object;)I
            ixor
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.flags:I
            ixor
            ireturn
        end local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/SharedScopeCall;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
        start local 1 // java.lang.Object obj
         0: .line 99
            aload 1 /* obj */
            instanceof jdk.nashorn.internal.codegen.SharedScopeCall
            ifeq 8
         1: .line 100
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.codegen.SharedScopeCall
            astore 2 /* c */
        start local 2 // jdk.nashorn.internal.codegen.SharedScopeCall c
         2: .line 101
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.symbol:Ljdk/nashorn/internal/ir/Symbol;
            aload 2 /* c */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.symbol:Ljdk/nashorn/internal/ir/Symbol;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
         3: .line 102
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.flags:I
            aload 2 /* c */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.flags:I
            if_icmpne 7
         4: .line 103
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
            aload 2 /* c */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 104
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
            aload 2 /* c */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifeq 7
         6: .line 101
            iconst_1
            ireturn
      StackMap locals: jdk.nashorn.internal.codegen.SharedScopeCall
      StackMap stack:
         7: iconst_0
            ireturn
        end local 2 // jdk.nashorn.internal.codegen.SharedScopeCall c
         8: .line 106
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljdk/nashorn/internal/codegen/SharedScopeCall;
            0    9     1   obj  Ljava/lang/Object;
            2    8     2     c  Ljdk/nashorn/internal/codegen/SharedScopeCall;
    MethodParameters:
      Name  Flags
      obj   final

  protected void setClassAndName(jdk.nashorn.internal.codegen.CompileUnit, java.lang.String);
    descriptor: (Ljdk/nashorn/internal/codegen/CompileUnit;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
        start local 1 // jdk.nashorn.internal.codegen.CompileUnit compileUnit
        start local 2 // java.lang.String methodName
         0: .line 115
            aload 0 /* this */
            aload 1 /* compileUnit */
            putfield jdk.nashorn.internal.codegen.SharedScopeCall.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
         1: .line 116
            aload 0 /* this */
            aload 2 /* methodName */
            putfield jdk.nashorn.internal.codegen.SharedScopeCall.methodName:Ljava/lang/String;
         2: .line 117
            return
        end local 2 // java.lang.String methodName
        end local 1 // jdk.nashorn.internal.codegen.CompileUnit compileUnit
        end local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Ljdk/nashorn/internal/codegen/SharedScopeCall;
            0    3     1  compileUnit  Ljdk/nashorn/internal/codegen/CompileUnit;
            0    3     2   methodName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      compileUnit  final
      methodName   final

  public jdk.nashorn.internal.codegen.MethodEmitter generateInvoke(jdk.nashorn.internal.codegen.MethodEmitter);
    descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
        start local 1 // jdk.nashorn.internal.codegen.MethodEmitter method
         0: .line 125
            aload 1 /* method */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getUnitClassName:()Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.methodName:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.SharedScopeCall.getStaticSignature:()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 // jdk.nashorn.internal.codegen.MethodEmitter method
        end local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/nashorn/internal/codegen/SharedScopeCall;
            0    1     1  method  Ljdk/nashorn/internal/codegen/MethodEmitter;
    MethodParameters:
        Name  Flags
      method  final

  protected void generateScopeCall();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=11, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
         0: .line 132
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getClassEmitter:()Ljdk/nashorn/internal/codegen/ClassEmitter;
            astore 1 /* classEmitter */
        start local 1 // jdk.nashorn.internal.codegen.ClassEmitter classEmitter
         1: .line 133
            getstatic jdk.nashorn.internal.codegen.ClassEmitter$Flag.STATIC:Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            astore 2 /* methodFlags */
        start local 2 // java.util.EnumSet methodFlags
         2: .line 140
            aload 1 /* classEmitter */
            aload 2 /* methodFlags */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.methodName:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.SharedScopeCall.getStaticSignature:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.method:(Ljava/util/EnumSet;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            astore 3 /* method */
        start local 3 // jdk.nashorn.internal.codegen.MethodEmitter method
         3: .line 141
            aload 3 /* method */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.begin:()V
         4: .line 145
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "parent_loop_start"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 4 /* parentLoopStart */
        start local 4 // jdk.nashorn.internal.codegen.Label parentLoopStart
         5: .line 146
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "parent_loop_done"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 5 /* parentLoopDone */
        start local 5 // jdk.nashorn.internal.codegen.Label parentLoopDone
         6: .line 147
            aload 3 /* method */
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT: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
         7: .line 148
            aload 3 /* method */
            aload 4 /* parentLoopStart */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
         8: .line 149
            aload 3 /* method */
            getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         9: .line 150
            aload 3 /* method */
            iconst_1
            iconst_m1
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.iinc:(II)V
        10: .line 151
            aload 3 /* method */
            aload 5 /* parentLoopDone */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifle:(Ljdk/nashorn/internal/codegen/Label;)V
        11: .line 152
            aload 3 /* method */
            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
        12: .line 153
            aload 3 /* method */
            aload 4 /* parentLoopStart */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        13: .line 154
            aload 3 /* method */
            aload 5 /* parentLoopDone */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        14: .line 156
            getstatic jdk.nashorn.internal.codegen.SharedScopeCall.$assertionsDisabled:Z
            ifne 15
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.isCall:Z
            ifeq 15
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.valueType:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
            ifne 15
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        15: .line 159
      StackMap locals: jdk.nashorn.internal.codegen.SharedScopeCall jdk.nashorn.internal.codegen.ClassEmitter java.util.EnumSet jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
      StackMap stack:
            aload 3 /* method */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.valueType:Ljdk/nashorn/internal/codegen/types/Type;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.symbol:Ljdk/nashorn/internal/ir/Symbol;
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.isCall:Z
            ifeq 16
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.flags:I
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.nonOptimisticFlags:(I)I
            goto 17
      StackMap locals: jdk.nashorn.internal.codegen.SharedScopeCall jdk.nashorn.internal.codegen.ClassEmitter java.util.EnumSet jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
      StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.types.Type java.lang.String
        16: aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.flags:I
      StackMap locals: jdk.nashorn.internal.codegen.SharedScopeCall jdk.nashorn.internal.codegen.ClassEmitter java.util.EnumSet jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
      StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.types.Type java.lang.String int
        17: aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.isCall:Z
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicGet:(Ljdk/nashorn/internal/codegen/types/Type;Ljava/lang/String;IZZ)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        18: .line 162
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.isCall:Z
            ifeq 29
        19: .line 163
            aload 3 /* method */
            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
        20: .line 165
            aload 3 /* method */
            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
        21: .line 166
            iconst_2
            istore 6 /* slot */
        start local 6 // int slot
        22: .line 167
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 27
      StackMap locals: jdk.nashorn.internal.codegen.SharedScopeCall jdk.nashorn.internal.codegen.ClassEmitter java.util.EnumSet jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int top int int jdk.nashorn.internal.codegen.types.Type[]
      StackMap stack:
        23: aload 10
            iload 8
            aaload
            astore 7 /* type */
        start local 7 // jdk.nashorn.internal.codegen.types.Type type
        24: .line 168
            aload 3 /* method */
            aload 7 /* type */
            iload 6 /* slot */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        25: .line 169
            iload 6 /* slot */
            aload 7 /* type */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            iadd
            istore 6 /* slot */
        end local 7 // jdk.nashorn.internal.codegen.types.Type type
        26: .line 167
            iinc 8 1
      StackMap locals:
      StackMap stack:
        27: iload 8
            iload 9
            if_icmplt 23
        28: .line 172
            aload 3 /* method */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
            iconst_2
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
            arraylength
            iadd
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.flags:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.symbol:Ljdk/nashorn/internal/ir/Symbol;
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicCall:(Ljdk/nashorn/internal/codegen/types/Type;IILjava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        end local 6 // int slot
        29: .line 175
      StackMap locals: jdk.nashorn.internal.codegen.SharedScopeCall jdk.nashorn.internal.codegen.ClassEmitter java.util.EnumSet jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
      StackMap stack:
            aload 3 /* method */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._return:(Ljdk/nashorn/internal/codegen/types/Type;)V
        30: .line 176
            aload 3 /* method */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.end:()V
        31: .line 177
            return
        end local 5 // jdk.nashorn.internal.codegen.Label parentLoopDone
        end local 4 // jdk.nashorn.internal.codegen.Label parentLoopStart
        end local 3 // jdk.nashorn.internal.codegen.MethodEmitter method
        end local 2 // java.util.EnumSet methodFlags
        end local 1 // jdk.nashorn.internal.codegen.ClassEmitter classEmitter
        end local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   32     0             this  Ljdk/nashorn/internal/codegen/SharedScopeCall;
            1   32     1     classEmitter  Ljdk/nashorn/internal/codegen/ClassEmitter;
            2   32     2      methodFlags  Ljava/util/EnumSet<Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;>;
            3   32     3           method  Ljdk/nashorn/internal/codegen/MethodEmitter;
            5   32     4  parentLoopStart  Ljdk/nashorn/internal/codegen/Label;
            6   32     5   parentLoopDone  Ljdk/nashorn/internal/codegen/Label;
           22   29     6             slot  I
           24   26     7             type  Ljdk/nashorn/internal/codegen/types/Type;

  private java.lang.String getStaticSignature();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
         0: .line 180
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.staticSignature:Ljava/lang/String;
            ifnonnull 9
         1: .line 181
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
            ifnonnull 4
         2: .line 182
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
            iconst_2
            anewarray jdk.nashorn.internal.codegen.types.Type
            dup
            iconst_0
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
            aastore
            dup
            iconst_1
            getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
            aastore
            invokestatic jdk.nashorn.internal.codegen.types.Type.getMethodDescriptor:(Ljdk/nashorn/internal/codegen/types/Type;[Ljdk/nashorn/internal/codegen/types/Type;)Ljava/lang/String;
            putfield jdk.nashorn.internal.codegen.SharedScopeCall.staticSignature:Ljava/lang/String;
         3: .line 183
            goto 9
         4: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
            arraylength
            iconst_2
            iadd
            anewarray jdk.nashorn.internal.codegen.types.Type
            astore 1 /* params */
        start local 1 // jdk.nashorn.internal.codegen.types.Type[] params
         5: .line 185
            aload 1 /* params */
            iconst_0
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
            aastore
         6: .line 186
            aload 1 /* params */
            iconst_1
            getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
            aastore
         7: .line 187
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
            iconst_0
            aload 1 /* params */
            iconst_2
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 188
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
            aload 1 /* params */
            invokestatic jdk.nashorn.internal.codegen.types.Type.getMethodDescriptor:(Ljdk/nashorn/internal/codegen/types/Type;[Ljdk/nashorn/internal/codegen/types/Type;)Ljava/lang/String;
            putfield jdk.nashorn.internal.codegen.SharedScopeCall.staticSignature:Ljava/lang/String;
        end local 1 // jdk.nashorn.internal.codegen.types.Type[] params
         9: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.staticSignature:Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Ljdk/nashorn/internal/codegen/SharedScopeCall;
            5    9     1  params  [Ljdk/nashorn/internal/codegen/types/Type;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
         0: .line 196
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.methodName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.SharedScopeCall.staticSignature:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.SharedScopeCall this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/SharedScopeCall;
}
SourceFile: "SharedScopeCall.java"
InnerClasses:
  final Flag = jdk.nashorn.internal.codegen.ClassEmitter$Flag of jdk.nashorn.internal.codegen.ClassEmitter
  public abstract Call = jdk.nashorn.internal.codegen.CompilerConstants$Call of jdk.nashorn.internal.codegen.CompilerConstants