From a5be37c58154b2f349d19fec8ae7144e9f576a3d Mon Sep 17 00:00:00 2001 From: Sukhikh Alexander Date: Wed, 12 Mar 2025 19:13:19 +0300 Subject: [PATCH 1/2] [Compiler] Visitor for SaveStateDeoptimize Implement visitor for SaveStateDeoptimize in escape analysis Issue: https://gitee.com/openharmony/arkcompiler_runtime_core/issues/IBSXVG Signed-off-by: Sukhikh Alexander --- static_core/compiler/optimizer/optimizations/escape.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/static_core/compiler/optimizer/optimizations/escape.h b/static_core/compiler/optimizer/optimizations/escape.h index 0331ad3603..09c40b2c02 100644 --- a/static_core/compiler/optimizer/optimizations/escape.h +++ b/static_core/compiler/optimizer/optimizations/escape.h @@ -157,8 +157,7 @@ public: DEFINE_VISIT(NullCheck); DEFINE_VISIT(SaveState); DEFINE_VISIT(SafePoint); - // NOTE(schernykh): support it - // DEFINE_VISIT(SaveStateDeoptimize) + DEFINE_VISIT(SaveStateDeoptimize); DEFINE_VISIT(GetInstanceClass); DEFINE_VISIT_WITH_CALLBACK(Deoptimize, MaterializeDeoptSaveState); -- Gitee From 436dfdf9bb044b2816d31fa14167ce5ef30fdf8f Mon Sep 17 00:00:00 2001 From: Sukhikh Alexander Date: Thu, 20 Mar 2025 15:41:40 +0300 Subject: [PATCH 2/2] fix tests --- .../ets/tests/checked/ets_escape_array.ets | 4 ++-- .../ets_string_builder_reserve_part20-29.ets | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/static_core/plugins/ets/tests/checked/ets_escape_array.ets b/static_core/plugins/ets/tests/checked/ets_escape_array.ets index 1a5b714620..2525e4c3da 100644 --- a/static_core/plugins/ets/tests/checked/ets_escape_array.ets +++ b/static_core/plugins/ets/tests/checked/ets_escape_array.ets @@ -19,7 +19,7 @@ //! PASS_BEFORE "Escape" //! INST_COUNT "NewArray", 1 //! PASS_AFTER "Escape" -//! INST_COUNT "NewArray", 1 +//! INST_COUNT "NewArray", 0 //! EVENT /Inline,ets_escape_array.ETSGLOBAL::test1,ets_escape_array.ETSGLOBAL::sum,.*,STATIC,SUCCESS/ //! METHOD "ets_escape_array.ETSGLOBAL::test2" //! PASS_BEFORE "Escape" @@ -29,7 +29,7 @@ //! PASS_AFTER "Escape" //! INST_COUNT "NewArray", 1 //! INST_COUNT "StoreArray", 4 -//! INST_COUNT "LoadArray", 3 +//! INST_COUNT "LoadArray", 0 //! METHOD "ets_escape_array.ETSGLOBAL::test3" //! PASS_BEFORE "Escape" //! INST_COUNT "NewArray", 1 diff --git a/static_core/plugins/ets/tests/checked/ets_string_builder_reserve_part20-29.ets b/static_core/plugins/ets/tests/checked/ets_string_builder_reserve_part20-29.ets index 5ae46c7317..8ad3542434 100644 --- a/static_core/plugins/ets/tests/checked/ets_string_builder_reserve_part20-29.ets +++ b/static_core/plugins/ets/tests/checked/ets_string_builder_reserve_part20-29.ets @@ -49,15 +49,15 @@ //! //! METHOD "ets_string_builder_reserve_part20-29.ETSGLOBAL::lenArray_reserve25" //! PASS_BEFORE "ReserveStringBuilderBuffer" -//! INST_COUNT "NewArray (size=3)",1 +//! INST_COUNT "NewArray (size=3)",0 //! PASS_AFTER "ReserveStringBuilderBuffer" -//! INST_COUNT "NewArray (size=3)",2 +//! INST_COUNT "NewArray (size=3)",1 //! //! METHOD "ets_string_builder_reserve_part20-29.ETSGLOBAL::lenArray_reserve26" //! PASS_BEFORE "ReserveStringBuilderBuffer" -//! INST_COUNT "NewArray (size=3)",1 +//! INST_COUNT "NewArray (size=3)",0 //! PASS_AFTER "ReserveStringBuilderBuffer" -//! INST_COUNT "NewArray (size=3)",2 +//! INST_COUNT "NewArray (size=3)",1 //! //! METHOD "ets_string_builder_reserve_part20-29.ETSGLOBAL::lenArray_reserve27" //! PASS_BEFORE "ReserveStringBuilderBuffer" @@ -115,15 +115,15 @@ //! //! METHOD "ets_string_builder_reserve_part20-29.ETSGLOBAL::lenArray_reserve25" //! PASS_BEFORE "ReserveStringBuilderBuffer" -//! INST_COUNT "NewArray (size=3)",1 +//! INST_COUNT "NewArray (size=3)",0 //! PASS_AFTER "ReserveStringBuilderBuffer" -//! INST_COUNT "NewArray (size=3)",2 +//! INST_COUNT "NewArray (size=3)",1 //! //! METHOD "ets_string_builder_reserve_part20-29.ETSGLOBAL::lenArray_reserve26" //! PASS_BEFORE "ReserveStringBuilderBuffer" -//! INST_COUNT "NewArray (size=3)",1 +//! INST_COUNT "NewArray (size=3)",0 //! PASS_AFTER "ReserveStringBuilderBuffer" -//! INST_COUNT "NewArray (size=3)",2 +//! INST_COUNT "NewArray (size=3)",1 //! //! METHOD "ets_string_builder_reserve_part20-29.ETSGLOBAL::lenArray_reserve27" //! PASS_BEFORE "ReserveStringBuilderBuffer" -- Gitee