class com.sun.tools.javac.jvm.Gen$2 extends com.sun.tools.javac.jvm.Gen$GenFinalizer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.jvm.Gen$2
  super_class: com.sun.tools.javac.jvm.Gen$GenFinalizer
{
  final com.sun.tools.javac.jvm.Gen this$0;
    descriptor: Lcom/sun/tools/javac/jvm/Gen;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final com.sun.tools.javac.comp.Env val$syncEnv;
    descriptor: Lcom/sun/tools/javac/comp/Env;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final com.sun.tools.javac.jvm.Items$LocalItem val$lockVar;
    descriptor: Lcom/sun/tools/javac/jvm/Items$LocalItem;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.sun.tools.javac.jvm.Gen, com.sun.tools.javac.jvm.Gen, com.sun.tools.javac.comp.Env, com.sun.tools.javac.jvm.Items$LocalItem);
    descriptor: (Lcom/sun/tools/javac/jvm/Gen;Lcom/sun/tools/javac/jvm/Gen;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/jvm/Items$LocalItem;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.jvm.Gen$2 this
         0: .line 1435
            aload 0 /* this */
            aload 2
            putfield com.sun.tools.javac.jvm.Gen$2.this$0:Lcom/sun/tools/javac/jvm/Gen;
            aload 0 /* this */
            aload 3
            putfield com.sun.tools.javac.jvm.Gen$2.val$syncEnv:Lcom/sun/tools/javac/comp/Env;
            aload 0 /* this */
            aload 4
            putfield com.sun.tools.javac.jvm.Gen$2.val$lockVar:Lcom/sun/tools/javac/jvm/Items$LocalItem;
            aload 0 /* this */
            aload 1
            invokespecial com.sun.tools.javac.jvm.Gen$GenFinalizer.<init>:(Lcom/sun/tools/javac/jvm/Gen;)V
            return
        end local 0 // com.sun.tools.javac.jvm.Gen$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/jvm/Gen$2;
    MethodParameters:
             Name  Flags
      this$0       final
      this$1       final
      val$syncEnv  final
      val$lockVar  final

  void gen();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.jvm.Gen$2 this
         0: .line 1437
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.jvm.Gen$2.genLast:()V
         1: .line 1438
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Gen$2.val$syncEnv:Lcom/sun/tools/javac/comp/Env;
            getfield com.sun.tools.javac.comp.Env.info:Ljava/lang/Object;
            checkcast com.sun.tools.javac.jvm.Gen$GenContext
            getfield com.sun.tools.javac.jvm.Gen$GenContext.gaps:Lcom/sun/tools/javac/util/ListBuffer;
            invokevirtual com.sun.tools.javac.util.ListBuffer.length:()I
            iconst_2
            irem
            ifne 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
         4: .line 1439
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Gen$2.val$syncEnv:Lcom/sun/tools/javac/comp/Env;
            getfield com.sun.tools.javac.comp.Env.info:Ljava/lang/Object;
            checkcast com.sun.tools.javac.jvm.Gen$GenContext
            getfield com.sun.tools.javac.jvm.Gen$GenContext.gaps:Lcom/sun/tools/javac/util/ListBuffer;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Gen$2.this$0:Lcom/sun/tools/javac/jvm/Gen;
            getfield com.sun.tools.javac.jvm.Gen.code:Lcom/sun/tools/javac/jvm/Code;
            invokevirtual com.sun.tools.javac.jvm.Code.curCP:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
         5: .line 1440
            return
        end local 0 // com.sun.tools.javac.jvm.Gen$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/jvm/Gen$2;

  void genLast();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.jvm.Gen$2 this
         0: .line 1442
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Gen$2.this$0:Lcom/sun/tools/javac/jvm/Gen;
            getfield com.sun.tools.javac.jvm.Gen.code:Lcom/sun/tools/javac/jvm/Code;
            invokevirtual com.sun.tools.javac.jvm.Code.isAlive:()Z
            ifeq 4
         1: .line 1443
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Gen$2.val$lockVar:Lcom/sun/tools/javac/jvm/Items$LocalItem;
            invokevirtual com.sun.tools.javac.jvm.Items$LocalItem.load:()Lcom/sun/tools/javac/jvm/Items$Item;
            pop
         2: .line 1444
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Gen$2.this$0:Lcom/sun/tools/javac/jvm/Gen;
            getfield com.sun.tools.javac.jvm.Gen.code:Lcom/sun/tools/javac/jvm/Code;
            sipush 195
            invokevirtual com.sun.tools.javac.jvm.Code.emitop0:(I)V
         3: .line 1445
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Gen$2.this$0:Lcom/sun/tools/javac/jvm/Gen;
            getfield com.sun.tools.javac.jvm.Gen.code:Lcom/sun/tools/javac/jvm/Code;
            getfield com.sun.tools.javac.jvm.Code.state:Lcom/sun/tools/javac/jvm/Code$State;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Gen$2.val$lockVar:Lcom/sun/tools/javac/jvm/Items$LocalItem;
            getfield com.sun.tools.javac.jvm.Items$LocalItem.reg:I
            invokevirtual com.sun.tools.javac.jvm.Code$State.unlock:(I)V
         4: .line 1447
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.tools.javac.jvm.Gen$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/jvm/Gen$2;
}
SourceFile: "Gen.java"
EnclosingMethod: com.sun.tools.javac.jvm.Gen.visitSynchronized:(Lcom/sun/tools/javac/tree/JCTree$JCSynchronized;)V
NestHost: com.sun.tools.javac.jvm.Gen
InnerClasses:
  State = com.sun.tools.javac.jvm.Code$State of com.sun.tools.javac.jvm.Code
  com.sun.tools.javac.jvm.Gen$2
  GenContext = com.sun.tools.javac.jvm.Gen$GenContext of com.sun.tools.javac.jvm.Gen
  abstract GenFinalizer = com.sun.tools.javac.jvm.Gen$GenFinalizer of com.sun.tools.javac.jvm.Gen
  abstract Item = com.sun.tools.javac.jvm.Items$Item of com.sun.tools.javac.jvm.Items
  LocalItem = com.sun.tools.javac.jvm.Items$LocalItem of com.sun.tools.javac.jvm.Items
  public JCSynchronized = com.sun.tools.javac.tree.JCTree$JCSynchronized of com.sun.tools.javac.tree.JCTree