You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
183 lines
3.4 KiB
183 lines
3.4 KiB
; 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
|