14de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee# 24de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee# Copyright (C) 2015 The Android Open Source Project 34de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee# 44de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee# Licensed under the Apache License, Version 2.0 (the "License"); 54de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee# you may not use this file except in compliance with the License. 64de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee# You may obtain a copy of the License at 74de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee# 84de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee# http://www.apache.org/licenses/LICENSE-2.0 94de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee# 104de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee# Unless required by applicable law or agreed to in writing, software 114de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee# distributed under the License is distributed on an "AS IS" BASIS, 124de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee# See the License for the specific language governing permissions and 144de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee# limitations under the License. 154de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee 164de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee.class public LTest; 174de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee 184de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee.super Ljava/lang/Object; 194de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee 204de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee.method public static run()V 214de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee .registers 3 224de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee new-instance v2, Ljava/lang/String; 234de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee invoke-direct {v2}, Ljava/lang/String;-><init>()V 244de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee const/4 v0, 0 254de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee move v1, v0 264de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee :start 274de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee invoke-static {}, LMain;->blowup()V 284de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee if-ne v1, v0, :end 294de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee const/4 v2, 1 304de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee invoke-static {v2}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; 314de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee move v2, v0 324de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee # The call makes v2 float type. 334de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee invoke-static {v2}, Ljava/lang/Float;->isNaN(F)Z 344de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee const/4 v1, 1 354de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee goto :start 364de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee :end 374de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee return-void 384de86d0987139153ae0e2d50dbbefde2ce34ee87buzbee.end method 39767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko 40767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko.method public static run2()V 41767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko .registers 4 42767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko new-instance v2, Ljava/lang/String; 43767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko invoke-direct {v2}, Ljava/lang/String;-><init>()V 44767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko const/4 v0, 0 45767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko move v1, v0 46767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko :start 47767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko invoke-static {}, LMain;->blowup()V 48767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko if-ne v1, v0, :end 49767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko const/4 v2, 1 50767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko invoke-static {v2}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; 51767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko move-result-object v3 52767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko if-nez v3, :skip 53767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko const/4 v0, 0 54767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko :skip 55767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko # The Phi merging 0 with 0 hides the constant from the Quick compiler. 56767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko move v2, v0 57767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko # The call makes v2 float type. 58767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko invoke-static {v2}, Ljava/lang/Float;->isNaN(F)Z 59767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko const/4 v1, 1 60767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko goto :start 61767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko :end 62767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko return-void 63767c752fddc64e280dba507457e4f06002b5f678Vladimir Marko.end method 64