Andreas Gampe | f10b6e1 | 2015-08-12 10:48:12 -0700 | [diff] [blame] | 1 | .class public LB20843113; |
| 2 | .super Ljava/lang/Object; |
| 3 | |
| 4 | |
| 5 | .method public constructor <init>(I)V |
| 6 | .registers 2 |
| 7 | |
| 8 | :Label1 |
| 9 | # An instruction that may throw, so as to pass UninitializedThis to the handler |
| 10 | div-int v1, v1, v1 |
| 11 | |
| 12 | # Call the super-constructor |
| 13 | invoke-direct {v0}, Ljava/lang/Object;-><init>()V |
| 14 | |
| 15 | # Return normally. |
| 16 | return-void |
| 17 | |
| 18 | :Label2 |
| 19 | |
| 20 | |
| 21 | :Handler |
| 22 | move-exception v0 # Overwrite the (last) "this" register. This should be |
| 23 | # allowed as we will terminate abnormally below. |
| 24 | |
| 25 | throw v0 # Terminate abnormally |
| 26 | |
| 27 | .catchall {:Label1 .. :Label2} :Handler |
| 28 | .end method |
| 29 | |
| 30 | # Just a dummy. |
| 31 | .method public static run()V |
| 32 | .registers 1 |
| 33 | return-void |
| 34 | .end method |