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
4 months ago
|
; 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
|