xref: /aosp_15_r20/art/test/088-monitor-verification/smali/OK.smali (revision 795d594fd825385562da6b089ea9b2033f3abf5a)
1*795d594fSAndroid Build Coastguard Worker.class public LOK;
2*795d594fSAndroid Build Coastguard Worker
3*795d594fSAndroid Build Coastguard Worker.super Ljava/lang/Object;
4*795d594fSAndroid Build Coastguard Worker
5*795d594fSAndroid Build Coastguard Worker.method public static run(Ljava/lang/Object;Ljava/lang/Object;)V
6*795d594fSAndroid Build Coastguard Worker   .registers 3
7*795d594fSAndroid Build Coastguard Worker
8*795d594fSAndroid Build Coastguard Worker   invoke-static {v1, v2}, LOK;->runNoMonitors(Ljava/lang/Object;Ljava/lang/Object;)V
9*795d594fSAndroid Build Coastguard Worker
10*795d594fSAndroid Build Coastguard Worker   invoke-static {v1, v2}, LOK;->runStraightLine(Ljava/lang/Object;Ljava/lang/Object;)V
11*795d594fSAndroid Build Coastguard Worker
12*795d594fSAndroid Build Coastguard Worker   invoke-static {v1, v2}, LOK;->runBalancedJoin(Ljava/lang/Object;Ljava/lang/Object;)V
13*795d594fSAndroid Build Coastguard Worker
14*795d594fSAndroid Build Coastguard Worker   return-void
15*795d594fSAndroid Build Coastguard Worker
16*795d594fSAndroid Build Coastguard Worker.end method
17*795d594fSAndroid Build Coastguard Worker
18*795d594fSAndroid Build Coastguard Worker
19*795d594fSAndroid Build Coastguard Worker
20*795d594fSAndroid Build Coastguard Worker.method public static runNoMonitors(Ljava/lang/Object;Ljava/lang/Object;)V
21*795d594fSAndroid Build Coastguard Worker   .registers 3
22*795d594fSAndroid Build Coastguard Worker
23*795d594fSAndroid Build Coastguard Worker   invoke-static {}, LMain;->assertIsManaged()V
24*795d594fSAndroid Build Coastguard Worker
25*795d594fSAndroid Build Coastguard Worker   return-void
26*795d594fSAndroid Build Coastguard Worker
27*795d594fSAndroid Build Coastguard Worker.end method
28*795d594fSAndroid Build Coastguard Worker
29*795d594fSAndroid Build Coastguard Worker.method public static runStraightLine(Ljava/lang/Object;Ljava/lang/Object;)V
30*795d594fSAndroid Build Coastguard Worker   .registers 3
31*795d594fSAndroid Build Coastguard Worker
32*795d594fSAndroid Build Coastguard Worker   invoke-static {}, LMain;->assertIsManaged()V
33*795d594fSAndroid Build Coastguard Worker
34*795d594fSAndroid Build Coastguard Worker   monitor-enter v1      # 1
35*795d594fSAndroid Build Coastguard Worker   monitor-enter v2      # 2
36*795d594fSAndroid Build Coastguard Worker
37*795d594fSAndroid Build Coastguard Worker   monitor-exit v2       # 2
38*795d594fSAndroid Build Coastguard Worker   monitor-exit v1       # 1
39*795d594fSAndroid Build Coastguard Worker
40*795d594fSAndroid Build Coastguard Worker   return-void
41*795d594fSAndroid Build Coastguard Worker
42*795d594fSAndroid Build Coastguard Worker.end method
43*795d594fSAndroid Build Coastguard Worker
44*795d594fSAndroid Build Coastguard Worker.method public static runBalancedJoin(Ljava/lang/Object;Ljava/lang/Object;)V
45*795d594fSAndroid Build Coastguard Worker   .registers 3
46*795d594fSAndroid Build Coastguard Worker
47*795d594fSAndroid Build Coastguard Worker   invoke-static {}, LMain;->assertIsManaged()V
48*795d594fSAndroid Build Coastguard Worker
49*795d594fSAndroid Build Coastguard Worker   monitor-enter v1      # 1
50*795d594fSAndroid Build Coastguard Worker
51*795d594fSAndroid Build Coastguard Worker   if-eqz v2, :Lnull
52*795d594fSAndroid Build Coastguard Worker
53*795d594fSAndroid Build Coastguard Worker:LnotNull
54*795d594fSAndroid Build Coastguard Worker
55*795d594fSAndroid Build Coastguard Worker   monitor-enter v2      # 2
56*795d594fSAndroid Build Coastguard Worker   goto :Lend
57*795d594fSAndroid Build Coastguard Worker
58*795d594fSAndroid Build Coastguard Worker:Lnull
59*795d594fSAndroid Build Coastguard Worker   monitor-enter v2      # 2
60*795d594fSAndroid Build Coastguard Worker
61*795d594fSAndroid Build Coastguard Worker:Lend
62*795d594fSAndroid Build Coastguard Worker
63*795d594fSAndroid Build Coastguard Worker   monitor-exit v2       # 2
64*795d594fSAndroid Build Coastguard Worker   monitor-exit v1       # 1
65*795d594fSAndroid Build Coastguard Worker
66*795d594fSAndroid Build Coastguard Worker   return-void
67*795d594fSAndroid Build Coastguard Worker
68*795d594fSAndroid Build Coastguard Worker.end method
69