Home | History | Annotate | Download | only in smali
      1 .class public LB22411633_1;
      2 .super Ljava/lang/Object;
      3 
      4 
      5 .method public static run(Z)V
      6 .registers 6
      7        # Make v3 & v4 defined, just use null.
      8        const v3, 0
      9        const v4, 0
     10 
     11        # Allocate a java.lang.Object (do not initialize).
     12        new-instance v4, Ljava/lang/Object;
     13 
     14        # Branch forward.
     15        if-eqz v5, :LabelMerge
     16 
     17        # Just some random work.
     18        add-int/lit16 v3, v3, 1
     19 
     20        # Another branch forward.
     21        if-nez v5, :LabelMerge
     22 
     23        # Some more random work, technically dead, but reachable.
     24        add-int/lit16 v3, v3, 1
     25 
     26 :LabelMerge
     27        # v4 is still an uninitialized reference here. Initialize it.
     28        invoke-direct {v4}, Ljava/lang/Object;-><init>()V
     29 
     30        # And test whether it's initialized by calling hashCode.
     31        invoke-virtual {v4}, Ljava/lang/Object;->hashCode()I
     32 
     33        return-void
     34 
     35 .end method
     36