blob: b6854f23e419243d9b3aa1b378447caa43434299 [file] [log] [blame]
; 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