diff --git a/tests/checked/new_obj.js b/tests/checked/new_obj.js index 239926223e1dfd19e5f8569a2c9edd064064e657..b4a439afde2c47dd65c04609eb0a154e07ee7c86 100644 --- a/tests/checked/new_obj.js +++ b/tests/checked/new_obj.js @@ -202,7 +202,39 @@ function alloc_8() { //! PASS_AFTER "Codegen" //! INST /Intrinsic.AllocDynObject.*/ //! RUN options: "--compiler-enable-jit=false", entry: "_GLOBAL::func_main_0", force_jit: false -for (var i = 0; i < 100000; ++i) { +RuntimeTesting.PrepareFunctionForOptimization(alloc_1); +alloc_1() +RuntimeTesting.OptimizeFunctionOnNextCall(alloc_1); + +RuntimeTesting.PrepareFunctionForOptimization(alloc_2); +alloc_2() +RuntimeTesting.OptimizeFunctionOnNextCall(alloc_2); + +RuntimeTesting.PrepareFunctionForOptimization(alloc_3); +alloc_3() +RuntimeTesting.OptimizeFunctionOnNextCall(alloc_3); + +RuntimeTesting.PrepareFunctionForOptimization(alloc_4); +alloc_4() +RuntimeTesting.OptimizeFunctionOnNextCall(alloc_4); + +RuntimeTesting.PrepareFunctionForOptimization(alloc_5); +alloc_5() +RuntimeTesting.OptimizeFunctionOnNextCall(alloc_5); + +RuntimeTesting.PrepareFunctionForOptimization(alloc_6); +alloc_6() +RuntimeTesting.OptimizeFunctionOnNextCall(alloc_6); + +RuntimeTesting.PrepareFunctionForOptimization(alloc_7); +alloc_7() +RuntimeTesting.OptimizeFunctionOnNextCall(alloc_7); + +RuntimeTesting.PrepareFunctionForOptimization(alloc_8); +alloc_8() +RuntimeTesting.OptimizeFunctionOnNextCall(alloc_8); + +for (var i = 0; i < 5; ++i) { alloc_1() alloc_2() alloc_3() diff --git a/tests/checked/new_obj_profiling.js b/tests/checked/new_obj_profiling.js index ea7e26064df25deb055cc2db6385f00b4f345af8..2406056bcfb240096ec83983fd8a37c4f93b1d84 100644 --- a/tests/checked/new_obj_profiling.js +++ b/tests/checked/new_obj_profiling.js @@ -80,7 +80,34 @@ function monomorphic_call_site_derived_ctor() { //! INST_NOT /Intrinsic.ResolveAllocResult.*/ //! INST_NOT /Intrinsic.NewobjDynrangeHandled*/ //! EVENT /Deoptimization,.*monomorphic_call_site_simple_ctor.*,.*,IFRAME/ -for (var i = 0; i < 100000; ++i) { +RuntimeTesting.PrepareFunctionForOptimization(bimorphic_call_site); +RuntimeTesting.PrepareFunctionForOptimization(megamorphic_call_site); +RuntimeTesting.PrepareFunctionForOptimization(monomorphic_call_site_simple_ctor); +RuntimeTesting.PrepareFunctionForOptimization(monomorphic_call_site_builtin_ctor); +RuntimeTesting.PrepareFunctionForOptimization(monomorphic_call_site_derived_ctor); + +for (var i = 0; i < 10; ++i) { + bimorphic_call_site(simple_ctor0) + bimorphic_call_site(simple_ctor1) + + megamorphic_call_site(simple_ctor0) + megamorphic_call_site(simple_ctor1) + megamorphic_call_site(simple_ctor2) + + monomorphic_call_site_simple_ctor(simple_ctor0) + + monomorphic_call_site_builtin_ctor() + + monomorphic_call_site_derived_ctor() +} + +RuntimeTesting.OptimizeFunctionOnNextCall(bimorphic_call_site); +RuntimeTesting.OptimizeFunctionOnNextCall(megamorphic_call_site); +RuntimeTesting.OptimizeFunctionOnNextCall(monomorphic_call_site_simple_ctor); +RuntimeTesting.OptimizeFunctionOnNextCall(monomorphic_call_site_builtin_ctor); +RuntimeTesting.OptimizeFunctionOnNextCall(monomorphic_call_site_derived_ctor); + +for (var i = 0; i < 2; ++i) { bimorphic_call_site(simple_ctor0) bimorphic_call_site(simple_ctor1)