Home | History | Annotate | Download | only in smali
      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