1# Copyright (C) 2015 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15.class public LTestCase;
16.super Ljava/lang/Object;
17
18# This is a reduced test case that used to trigger an infinite loop
19# in the DeadPhiHandling phase of the optimizing compiler (only used
20# with debuggable flag).
21.method public static testCase(IILjava/lang/Object;)V
22  .registers 5
23  const/4 v0, 0x0
24
25  :B4
26  invoke-static {}, Ljava/lang/System;->nanoTime()J
27  goto :B7
28
29  :B7
30  invoke-static {}, Ljava/lang/System;->nanoTime()J
31  if-nez p2, :Btmp
32  goto :B111
33
34  :Btmp
35  invoke-static {}, Ljava/lang/System;->nanoTime()J
36  if-nez p2, :B9
37  goto :B110
38
39  :B13
40  invoke-static {}, Ljava/lang/System;->nanoTime()J
41  add-int v0, p0, p1
42  goto :B7
43
44  :B110
45  invoke-static {}, Ljava/lang/System;->nanoTime()J
46  add-int v0, p0, p1
47  goto :B111
48
49  :B111
50  invoke-static {}, Ljava/lang/System;->nanoTime()J
51  goto :B4
52
53  :B9
54  invoke-static {}, Ljava/lang/System;->nanoTime()J
55  if-nez p2, :B10
56
57  :B11
58  invoke-static {}, Ljava/lang/System;->nanoTime()J
59  move v1, v0
60  goto :B12
61
62  :B10
63  invoke-static {}, Ljava/lang/System;->nanoTime()J
64  move-object v1, p2
65  goto :B12
66
67  :B12
68  invoke-static {}, Ljava/lang/System;->nanoTime()J
69  goto :B13
70
71  return-void
72.end method
73