1 .class public LB17978759; 2 .super Ljava/lang/Object; 3 4 .method public constructor <init>()V 5 .registers 1 6 invoke-direct {p0}, Ljava/lang/Object;-><init>()V 7 return-void 8 .end method 9 10 .method public test()V 11 .registers 2 12 13 move-object v0, p0 14 # v0 and p0 alias 15 monitor-enter p0 16 # monitor-enter on p0 17 monitor-exit v0 18 # monitor-exit on v0, however, verifier doesn't track this and so this is 19 # a warning. Verifier will still think p0 is locked. 20 21 move-object v0, p0 22 # v0 will now appear locked. 23 monitor-enter v0 24 # Attempt to lock v0 twice is a verifier failure. 25 monitor-exit v0 26 27 return-void 28 .end method 29