1 .class public LUnbalancedJoin; 2 3 .super Ljava/lang/Object; 4 5 .method public static run(Ljava/lang/Object;Ljava/lang/Object;)V 6 .registers 3 7 8 invoke-static {}, LMain;->assertIsInterpreted()V 9 10 if-eqz v2, :Lnull 11 12 :LnotNull 13 14 monitor-enter v1 # 1 15 monitor-enter v2 # 2 16 goto :Lend 17 18 :Lnull 19 monitor-enter v2 # 1 20 monitor-enter v1 # 2 21 22 :Lend 23 24 # Lock levels are "opposite" for the joined flows. 25 26 monitor-exit v2 # 2 27 monitor-exit v1 # 1 28 29 return-void 30 31 .end method 32