.class public LB22411633_3; .super Ljava/lang/Object; .method public static run(Z)V .registers 6 # Make v3 & v4 defined, just use null. const v3, 0 const v4, 0 # Allocate a java.lang.Object (do not initialize). new-instance v4, Ljava/lang/Object; # Branch forward. if-eqz v5, :LabelMerge # Create an initialized Object. new-instance v4, Ljava/lang/Object; invoke-direct {v4}, Ljava/lang/Object;-><init>()V # Just some random work. add-int/lit16 v3, v3, 1 :LabelMerge # At this point, an initialized and an uninitialized reference are merged. However, the # merge is only from forward branches. If the conflict isn't used (as here), this should # pass the verifier. return-void .end method