1/* 2 * Copyright (c) 2024 Huawei Device Co., Ltd. 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 16function Test(cond) { 17 var value = undefined 18 if (cond) { 19 value = 1.2 + 1.3 20 } else { 21 value = { 22 id: 268436140 23 } 24 } 25 return value 26} 27 28for (var i = 0; i < 10; i++) { 29 var cond = ((i % 2 == 1) ? true : false) 30 Test(cond) 31} 32 33ArkTools.jitCompileAsync(Test); 34var ret = ArkTools.waitJitCompileFinish(Test); 35print(ret); 36 37function Test2() { 38 let v2 = new Uint8ClampedArray(42); 39 const v5 = new Int32Array(3); 40 ({"buffer": v2} = v5); 41 42 function func() { 43 return v5; 44 } 45 let v21 = 10; 46 for (;v21--;) { 47 v2.valueOf = func; 48 } 49} 50 51Test2(); 52ArkTools.jitCompileAsync(Test2); 53print(ArkTools.waitJitCompileFinish(Test2)); 54Test2(); 55