• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.class public LB22411633_3;
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       # Create an initialized Object.
18       new-instance v4, Ljava/lang/Object;
19       invoke-direct {v4}, Ljava/lang/Object;-><init>()V
20
21       # Just some random work.
22       add-int/lit16 v3, v3, 1
23
24:LabelMerge
25       # At this point, an initialized and an uninitialized reference are merged. However, the
26       # merge is only from forward branches. If the conflict isn't used (as here), this should
27       # pass the verifier.
28
29       return-void
30
31.end method
32