blob: a43ecb0704db71ff65afd50fa5e202d363899749 [file] [log] [blame]
.class public LOK;
.super Ljava/lang/Object;
.method public static run(Ljava/lang/Object;Ljava/lang/Object;)V
.registers 3
invoke-static {v1, v2}, LOK;->runNoMonitors(Ljava/lang/Object;Ljava/lang/Object;)V
invoke-static {v1, v2}, LOK;->runStraightLine(Ljava/lang/Object;Ljava/lang/Object;)V
invoke-static {v1, v2}, LOK;->runBalancedJoin(Ljava/lang/Object;Ljava/lang/Object;)V
return-void
.end method
.method public static runNoMonitors(Ljava/lang/Object;Ljava/lang/Object;)V
.registers 3
invoke-static {}, LMain;->assertIsManaged()V
return-void
.end method
.method public static runStraightLine(Ljava/lang/Object;Ljava/lang/Object;)V
.registers 3
invoke-static {}, LMain;->assertIsManaged()V
monitor-enter v1 # 1
monitor-enter v2 # 2
monitor-exit v2 # 2
monitor-exit v1 # 1
return-void
.end method
.method public static runBalancedJoin(Ljava/lang/Object;Ljava/lang/Object;)V
.registers 3
invoke-static {}, LMain;->assertIsManaged()V
monitor-enter v1 # 1
if-eqz v2, :Lnull
:LnotNull
monitor-enter v2 # 2
goto :Lend
:Lnull
monitor-enter v2 # 2
:Lend
monitor-exit v2 # 2
monitor-exit v1 # 1
return-void
.end method