1# 2# Copyright (C) 2015 The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16.class public LTest; 17 18.super Ljava/lang/Object; 19 20## CHECK-START: int Test.testCase(int, int, int) builder (after) 21## CHECK: TryBoundary kind:entry 22## CHECK: TryBoundary kind:entry 23## CHECK-NOT: TryBoundary kind:entry 24 25## CHECK-START: int Test.testCase(int, int, int) builder (after) 26## CHECK: TryBoundary kind:exit 27## CHECK: TryBoundary kind:exit 28## CHECK-NOT: TryBoundary kind:exit 29 30.method public static testCase(III)I 31 .registers 4 32 33 :try_start_1 34 div-int/2addr p0, p1 35 return p0 36 :try_end_1 37 .catchall {:try_start_1 .. :try_end_1} :catchall 38 39 :catchall 40 :try_start_2 41 move-exception v0 42 # Block would be split here but second part not marked as throwing. 43 div-int/2addr p0, p1 44 if-eqz p2, :else 45 46 div-int/2addr p0, p1 47 :else 48 div-int/2addr p0, p2 49 :try_end_2 50 .catchall {:try_start_2 .. :try_end_2} :catchall2 51 52 :catchall2 53 return p0 54 55.end method 56