; ; Licensed to the Apache Software Foundation (ASF) under one or more ; contributor license agreements. See the NOTICE file distributed with ; this work for additional information regarding copyright ownership. ; The ASF licenses this file to You 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 public org/apache/harmony/drlvm/tests/regression/h2113/ExcInFinallyTest .super java/lang/Object .method public ()V aload_0 invokespecial java/lang/Object/()V return .end method .method public static test()V .limit stack 3 .limit locals 6 bipush 1 newarray int astore_1 iconst_0 istore_2 aload_1 TryStart: iload_2 iconst_0 iastore ; <-- use var2 goto EndSubroutine TryEnd1: pop jsr BeginSubroutine goto ExitLabel BeginSubroutine: ; begin sub astore 4 iconst_1 iconst_0 idiv ; <-- guaranteed exception here istore_3 ret 4 EndSubroutine: ; end sub jsr BeginSubroutine iinc 2 1 ; <-- use var2 goto ExitLabel TryEnd2: pop getstatic java.lang.System.out Ljava/io/PrintStream; ldc "PASS" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V ExitLabel: return .catch all from TryStart to TryEnd1 using TryEnd1 .catch all from TryStart to TryEnd2 using TryEnd2 .end method