1.class public LB23502994; 2 3.super Ljava/lang/Object; 4 5.method public static runIF_EQZ(Ljava/lang/Object;)V 6 .registers 3 7 monitor-enter v2 # Lock on parameter 8 9 # Sharpen, and try to unlock (in both branches). We should not lose the lock info when we make 10 # the register type more precise. 11 12 instance-of v0, v2, Ljava/lang/String; 13 if-eqz v0, :LnotString 14 15 # At this point v2 is of type Ljava/lang/String; 16 monitor-exit v2 17 18 goto :Lend 19 20:LnotString 21 monitor-exit v2 # Unlock the else branch 22 23 # Fall-through. 24 25:Lend 26 return-void 27 28.end method 29 30 31.method public static runCHECKCAST(Ljava/lang/Object;)V 32 .registers 3 33 monitor-enter v2 # Lock on parameter 34 35 # Sharpen, and try to unlock. We should not lose the lock info when we make the register type 36 # more precise. 37 38 check-cast v2, Ljava/lang/String; 39 40 # At this point v2 is of type Ljava/lang/String; 41 monitor-exit v2 42 43 return-void 44 45.end method 46