| ; Copyright (C) 2007 The Android Open Source Project |
| ; |
| ; Licensed under the Apache License, Version 2.0 (the "License"); |
| ; you may not use this file except in compliance with the License. |
| ; You may obtain a copy of the License at |
| ; |
| ; http://www.apache.org/licenses/LICENSE-2.0 |
| ; |
| ; Unless required by applicable law or agreed to in writing, software |
| ; distributed under the License is distributed on an "AS IS" BASIS, |
| ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ; See the License for the specific language governing permissions and |
| ; limitations under the License. |
| |
| .class blort |
| .super java/lang/Object |
| |
| .method public <init>()V |
| .limit locals 1 |
| |
| aload_0 |
| invokespecial java/lang/Object/<init>()V |
| return |
| .end method |
| |
| ; dead code after the last reachable instruction in a method |
| .method public test_deadend1()V |
| return |
| aload_0 |
| .end method |
| |
| ; dead code after the last reachable instruction in a method |
| .method public test_deadend2()V |
| ireturn |
| aload_0 |
| aload_0 |
| .end method |
| |
| ; dead code after the last reachable instruction in a method |
| .method public test_deadend3()V |
| aconst_null |
| athrow |
| sipush 0x1234 |
| .end method |
| |
| ; make sure an exception handler for a dead range doesn't get enlivened |
| .method public test_dead_exception_handler()V |
| return |
| nop |
| blort: |
| nop |
| nop |
| return |
| handler: |
| nop |
| return |
| .catch all from blort to handler using handler |
| .end method |
| |
| ; dead code after goto instruction |
| .method public test_dead_goto()V |
| goto blort |
| nop |
| blort: |
| return |
| .end method |
| |
| ; dead code after ret instruction |
| .method public test_dead_ret()V |
| ifeq blort |
| ret 0 |
| iconst_m1 |
| blort: |
| return |
| .end method |
| |
| ; dead code after tableswitch instruction |
| .method public test_dead_tableswitch()V |
| tableswitch 0x10 |
| blort |
| default: blort |
| nop |
| nop |
| nop |
| aload_0 |
| aload_1 |
| aload_2 |
| aload_3 |
| blort: |
| return |
| .end method |
| |
| ; dead code after lookupswitch instruction |
| .method public test_dead_lookupswitch()V |
| lookupswitch |
| 0x10: blort |
| 0x20: blort |
| default: blort |
| ldc "WHYA REYO UREA DING THIS ?" |
| blort: |
| return |
| .end method |
| |
| ; dead code after ireturn instruction |
| .method public test_dead_ireturn()V |
| ifeq blort |
| ireturn |
| iconst_1 |
| blort: |
| return |
| .end method |
| |
| ; dead code after lreturn instruction |
| .method public test_dead_lreturn()V |
| ifeq blort |
| lreturn |
| iconst_1 |
| blort: |
| return |
| .end method |
| |
| ; dead code after freturn instruction |
| .method public test_dead_freturn()V |
| ifeq blort |
| freturn |
| iconst_1 |
| blort: |
| return |
| .end method |
| |
| ; dead code after dreturn instruction |
| .method public test_dead_dreturn()V |
| ifeq blort |
| dreturn |
| iconst_1 |
| blort: |
| return |
| .end method |
| |
| ; dead code after areturn instruction |
| .method public test_dead_areturn()V |
| ifeq blort |
| areturn |
| iconst_1 |
| blort: |
| return |
| .end method |
| |
| ; dead code after return instruction |
| .method public test_dead_return()V |
| ifeq blort |
| return |
| iconst_1 |
| blort: |
| return |
| .end method |
| |
| ; dead code after athrow instruction |
| .method public test_dead_athrow()V |
| ifeq blort |
| athrow |
| iconst_1 |
| blort: |
| return |
| .end method |
| |
| ; dead code after wide ret instruction |
| .method public test_dead_wideret()V |
| ifeq blort |
| ret 0x0100 |
| iconst_1 |
| blort: |
| return |
| .end method |
| |
| ; dead code after goto_w instruction |
| .method public test_dead_goto_w()V |
| goto_w blort |
| iconst_1 |
| blort: |
| return |
| .end method |