69 lines
1.2 KiB
Smali
69 lines
1.2 KiB
Smali
.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
|