From 98e89a533c5909a7c9bf36b09861ad0e444d5d58 Mon Sep 17 00:00:00 2001 From: Ishin Pavel Date: Thu, 6 Apr 2023 17:58:50 +0300 Subject: [PATCH] Add test for destroied method Signed-off-by: Ishin Pavel --- tests/checked/CMakeLists.txt | 1 + tests/checked/destroy_method.js | 38 +++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 tests/checked/destroy_method.js diff --git a/tests/checked/CMakeLists.txt b/tests/checked/CMakeLists.txt index 114f2e974..2ea87098f 100644 --- a/tests/checked/CMakeLists.txt +++ b/tests/checked/CMakeLists.txt @@ -100,6 +100,7 @@ if (NOT PANDA_TARGET_ARM32) panda_add_checked_test_ecma(FILE ${CMAKE_CURRENT_SOURCE_DIR}/recompile_double_with_int.js SUPPORT_RELEASE true) panda_add_checked_test_ecma(FILE ${CMAKE_CURRENT_SOURCE_DIR}/recompile_not_number.js SUPPORT_RELEASE true) panda_add_checked_test_ecma(FILE ${CMAKE_CURRENT_SOURCE_DIR}/recompile_undefined.js SUPPORT_RELEASE true) + panda_add_checked_test_ecma(FILE ${CMAKE_CURRENT_SOURCE_DIR}/destroy_method.js SUPPORT_RELEASE true) panda_add_checked_test_ecma(FILE ${CMAKE_CURRENT_SOURCE_DIR}/donot_recompile_not_profiled.js SUPPORT_RELEASE true) panda_add_checked_test_ecma(FILE ${CMAKE_CURRENT_SOURCE_DIR}/obj_by_index.js SUPPORT_RELEASE true) panda_add_checked_test_ecma(FILE ${CMAKE_CURRENT_SOURCE_DIR}/obj_by_name.js SUPPORT_RELEASE true) diff --git a/tests/checked/destroy_method.js b/tests/checked/destroy_method.js new file mode 100644 index 000000000..5e1e39ba1 --- /dev/null +++ b/tests/checked/destroy_method.js @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! CHECKER Test check store and load by index +//! RUN options: "--no-async-jit --compiler-hotness-threshold=0 --compiler-regex _GLOBAL::destoy_method.*", entry: "_GLOBAL::func_main_0" +//! METHOD "destoy_method" +//! PASS_AFTER "Codegen" +//! INST "AnyTypeCheck ECMASCRIPT_INT_TYPE" +//! INST_NEXT "Add" +//! EVENT /Compilation,_GLOBAL::destoy_method,.*,COMPILED/ +//! EVENT_NEXT /DeoptimizationReason,.*destoy_method.*SMALL_INT/ +//! EVENT_NEXT /Compilation,_GLOBAL::destoy_method,.*,COMPILED/ +//! EVENT_NEXT_NOT /DeoptimizationReason,.*destoy_method.*SMALL_INT/ + +function destoy_method(a) { + return a + 4 +} + + +for (let i = 0; i < 10; i++) { + let a = destoy_method("5.5"); + if (a != "5.54") { + print(a); + throw "destoy_method is failed"; + } +} \ No newline at end of file -- Gitee