Andreas Gampe | d12e782 | 2015-06-25 10:26:40 -0700 | [diff] [blame] | 1 | .class public LB22080519; |
| 2 | .super Ljava/lang/Object; |
| 3 | |
| 4 | .method public static run()V |
| 5 | .registers 6 |
| 6 | :Label1 |
| 7 | const v1, 15 |
| 8 | const v2, 0 |
| 9 | # Have a branch to reach both the aget-object and something else. |
| 10 | if-eqz v1, :Label2 |
| 11 | |
| 12 | # This instruction will be marked runtime-throw. |
| 13 | aget-object v3, v2, v1 |
| 14 | |
| 15 | :Label2 |
| 16 | # This should *not* be flagged as a runtime throw |
| 17 | goto :Label4 |
| 18 | |
| 19 | :Label3 |
| 20 | move-exception v3 |
| 21 | throw v3 |
| 22 | |
| 23 | :Label4 |
| 24 | return-void |
| 25 | |
| 26 | .catchall {:Label1 .. :Label3} :Label3 |
| 27 | .end method |