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