Fixes circular header dependency

Eliminates circular header dependency in some fundamental headers like
js_thread.h, js_tagged_value.h, etc.
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7ZPL4

Signed-off-by: Onlynagesha <orina_zju@163.com>
Change-Id: I5a78073992b77643718abdc1e0813485c0e439bb
This commit is contained in:
Onlynagesha 2023-09-08 16:31:28 +08:00
parent e0f40fcefe
commit 180e0a3f87
52 changed files with 59 additions and 17 deletions

View File

@ -19,7 +19,7 @@
#include "ecmascript/ecma_vm.h"
#include "ecmascript/global_env.h"
#include "ecmascript/js_locale.h"
#include "ecmascript/object_factory.h"
#include "ecmascript/object_factory-inl.h"
namespace panda::ecmascript::builtins {
// 10.1.3 Intl.Locale( tag [, options] )

View File

@ -20,7 +20,7 @@
#include "ecmascript/builtins/builtins_array.h"
#include "ecmascript/builtins/builtins_arraybuffer.h"
#include "ecmascript/ecma_runtime_call_info.h"
#include "ecmascript/ecma_string.h"
#include "ecmascript/ecma_string-inl.h"
#include "ecmascript/global_env.h"
#include "ecmascript/interpreter/interpreter.h"
#include "ecmascript/js_array.h"

View File

@ -20,6 +20,7 @@
#include "ecmascript/compiler/aot_file/elf_builder.h"
#include "ecmascript/compiler/aot_file/elf_reader.h"
#include "ecmascript/compiler/bc_call_signature.h"
#include "ecmascript/compiler/call_signature.h"
#include "ecmascript/compiler/common_stubs.h"
#include "ecmascript/compiler/compiler_log.h"
#include "ecmascript/deoptimizer/deoptimizer.h"

View File

@ -25,6 +25,7 @@
#include "ecmascript/compiler/profiler_stub_builder.h"
#include "ecmascript/compiler/stub_builder-inl.h"
#include "ecmascript/compiler/variable_type.h"
#include "ecmascript/dfx/vm_thread_control.h"
#include "ecmascript/global_env_constants.h"
#include "ecmascript/ic/profile_type_info.h"
#include "ecmascript/interpreter/interpreter_assembly.h"

View File

@ -15,6 +15,7 @@
#include "ecmascript/compiler/slowpath_lowering.h"
#include "ecmascript/compiler/gate_meta_data.h"
#include "ecmascript/dfx/vm_thread_control.h"
#include "ecmascript/dfx/vmstat/opt_code_profiler.h"
#include "ecmascript/js_thread.h"
#include "ecmascript/message_string.h"

View File

@ -14,6 +14,7 @@
*/
#include "ecmascript/compiler/ts_hclass_generator.h"
#include "ecmascript/global_env_constants-inl.h"
#include "ecmascript/subtyping_operator.h"
#include "ecmascript/jspandafile/class_info_extractor.h"

View File

@ -18,6 +18,7 @@
#include "ecmascript/compiler/aot_file/aot_file_manager.h"
#include "ecmascript/compiler/assembler/assembler.h"
#include "ecmascript/frames.h"
#include "ecmascript/global_env_constants-inl.h"
#include "ecmascript/jspandafile/js_pandafile_manager.h"
namespace panda::ecmascript {

View File

@ -19,6 +19,7 @@
#include "ecmascript/interpreter/frame_handler.h"
#include "ecmascript/interpreter/interpreter.h"
#include "ecmascript/jspandafile/js_pandafile_manager.h"
#include "ecmascript/mem/heap-inl.h"
#include "ecmascript/message_string.h"
#include "ecmascript/platform/os.h"
#if defined(ENABLE_EXCEPTION_BACKTRACE)

View File

@ -18,6 +18,7 @@
#include "ecmascript/accessor_data.h"
#include "ecmascript/builtins/builtins.h"
#include "ecmascript/builtins/builtins_global.h"
#include "ecmascript/ecma_string-inl.h"
#include "ecmascript/ecma_vm.h"
#include "ecmascript/free_object.h"
#include "ecmascript/global_env.h"

View File

@ -18,6 +18,7 @@
#include "ecmascript/interpreter/fast_runtime_stub.h"
#include "ecmascript/ecma_string-inl.h"
#include "ecmascript/global_dictionary-inl.h"
#include "ecmascript/global_env.h"
#include "ecmascript/interpreter/interpreter.h"

View File

@ -17,7 +17,7 @@
#include "ecmascript/containers/containers_errors.h"
#include "ecmascript/js_tagged_value.h"
#include "ecmascript/object_factory.h"
#include "ecmascript/object_factory-inl.h"
namespace panda::ecmascript {
using ContainerError = containers::ContainerError;

View File

@ -15,6 +15,7 @@
#include "ecmascript/js_api/js_api_vector.h"
#include "ecmascript/global_env_constants-inl.h"
#include "ecmascript/interpreter/interpreter.h"
#include "ecmascript/js_array.h"
#include "ecmascript/js_api/js_api_vector_iterator.h"

View File

@ -19,6 +19,7 @@
#include "ecmascript/global_env.h"
#include "ecmascript/mem/c_string.h"
#include "ecmascript/mem/barriers-inl.h"
#include "ecmascript/object_factory-inl.h"
#include "unicode/udata.h"

View File

@ -23,7 +23,7 @@
#include "ecmascript/js_intl.h"
#include "ecmascript/js_locale.h"
#include "ecmascript/js_object-inl.h"
#include "ecmascript/object_factory.h"
#include "ecmascript/object_factory-inl.h"
namespace panda::ecmascript {
struct CommonDateFormatPart {

View File

@ -20,6 +20,7 @@
#include "ecmascript/intl/locale_helper.h"
#include "ecmascript/global_env.h"
#include "ecmascript/global_env_constants.h"
#include "ecmascript/object_factory-inl.h"
#include "unicode/errorcode.h"
#include "unicode/locdspnm.h"

View File

@ -25,6 +25,7 @@
#include "ecmascript/js_array.h"
#include "ecmascript/js_locale.h"
#include "ecmascript/js_iterator.h"
#include "ecmascript/object_factory-inl.h"
#include "unicode/fieldpos.h"
#include "unicode/fpositer.h"

View File

@ -20,7 +20,7 @@
#include "ecmascript/ecma_macros.h"
#include "ecmascript/ecma_vm.h"
#include "ecmascript/global_env.h"
#include "ecmascript/object_factory.h"
#include "ecmascript/object_factory-inl.h"
#if defined(__clang__)
#pragma clang diagnostic push

View File

@ -14,6 +14,7 @@
*/
#include "ecmascript/js_number_format.h"
#include "ecmascript/object_factory-inl.h"
namespace panda::ecmascript {
constexpr uint32_t DEFAULT_FRACTION_DIGITS = 2;

View File

@ -26,7 +26,7 @@
#include "ecmascript/js_iterator.h"
#include "ecmascript/js_primitive_ref.h"
#include "ecmascript/js_thread.h"
#include "ecmascript/object_factory.h"
#include "ecmascript/object_factory-inl.h"
#include "ecmascript/object_fast_operator-inl.h"
#include "ecmascript/pgo_profiler/pgo_profiler.h"
#include "ecmascript/property_attributes.h"

View File

@ -19,6 +19,7 @@
#include "ecmascript/ecma_macros.h"
#include "ecmascript/global_env.h"
#include "ecmascript/global_env_constants.h"
#include "ecmascript/object_factory-inl.h"
#include "ecmascript/js_number_format.h"
namespace panda::ecmascript {

View File

@ -14,6 +14,7 @@
*/
#include "ecmascript/js_relative_time_format.h"
#include "ecmascript/object_factory-inl.h"
#include "unicode/decimfmt.h"
#include "unicode/numfmt.h"

View File

@ -26,6 +26,7 @@
#include "ecmascript/base/array_helper.h"
#include "ecmascript/base/typed_array_helper-inl.h"
#include "ecmascript/base/typed_array_helper.h"
#include "ecmascript/ecma_string-inl.h"
#include "ecmascript/global_env.h"
#include "ecmascript/js_array.h"
#include "ecmascript/js_arraybuffer.h"
@ -34,6 +35,7 @@
#include "ecmascript/js_set.h"
#include "ecmascript/js_typed_array.h"
#include "ecmascript/linked_hash_table.h"
#include "ecmascript/object_factory-inl.h"
#include "ecmascript/shared_mm/shared_mm.h"
#include "securec.h"

View File

@ -21,6 +21,7 @@
#include "ecmascript/builtins/builtins_arraybuffer.h"
#include "ecmascript/ecma_macros.h"
#include "ecmascript/ecma_vm.h"
#include "ecmascript/ecma_string-inl.h"
#include "ecmascript/global_env.h"
#include "ecmascript/interpreter/fast_runtime_stub-inl.h"
#include "ecmascript/js_array.h"

View File

@ -24,9 +24,7 @@
#include "ecmascript/base/string_helper.h"
#include "ecmascript/ecma_macros.h"
#include "ecmascript/ecma_runtime_call_info.h"
#include "ecmascript/ecma_string-inl.h"
#include "ecmascript/js_bigint.h"
#include "ecmascript/js_hclass-inl.h"
#include "ecmascript/js_object.h"
#include "ecmascript/js_proxy.h"
#include "ecmascript/js_symbol.h"

View File

@ -25,6 +25,7 @@
#if defined(ECMASCRIPT_SUPPORT_CPUPROFILER)
#include "ecmascript/dfx/cpu_profiler/cpu_profiler.h"
#endif
#include "ecmascript/dfx/vm_thread_control.h"
#include "ecmascript/ecma_global_storage.h"
#include "ecmascript/ecma_param_configuration.h"
#include "ecmascript/global_env_constants-inl.h"

View File

@ -24,7 +24,6 @@
#include "ecmascript/compiler/common_stubs.h"
#include "ecmascript/compiler/interpreter_stub.h"
#include "ecmascript/compiler/rt_call_signature.h"
#include "ecmascript/dfx/vm_thread_control.h"
#include "ecmascript/elements.h"
#include "ecmascript/frames.h"
#include "ecmascript/global_env_constants.h"

View File

@ -14,6 +14,7 @@
*/
#include "ecmascript/jspandafile/accessor/module_data_accessor.h"
#include "ecmascript/global_env_constants-inl.h"
#include "ecmascript/jspandafile/js_pandafile_manager.h"
namespace panda::ecmascript {

View File

@ -18,6 +18,7 @@
#include "ecmascript/interpreter/frame_handler.h"
#include "ecmascript/jspandafile/literal_data_extractor.h"
#include "ecmascript/jspandafile/program_object.h"
#include "ecmascript/object_factory-inl.h"
#include "ecmascript/tagged_array-inl.h"
namespace panda::ecmascript {

View File

@ -18,6 +18,8 @@
#include "ecmascript/ecma_vm.h"
#include "ecmascript/mem/clock_scope.h"
#include "ecmascript/mem/concurrent_marker.h"
#include "ecmascript/mem/concurrent_sweeper.h"
#include "ecmascript/mem/heap-inl.h"
#include "ecmascript/mem/mark_stack.h"
#include "ecmascript/mem/mem.h"
#include "ecmascript/mem/parallel_marker-inl.h"

View File

@ -20,6 +20,7 @@
#include "ecmascript/mem/allocator-inl.h"
#include "ecmascript/mem/concurrent_marker.h"
#include "ecmascript/mem/heap.h"
#include "ecmascript/mem/mem_controller.h"
namespace panda::ecmascript {
LinearSpace::LinearSpace(Heap *heap, MemSpaceType type, size_t initialCapacity, size_t maximumCapacity)

View File

@ -18,8 +18,9 @@
#include "ecmascript/js_hclass-inl.h"
#include "ecmascript/mem/barriers-inl.h"
#include "ecmascript/mem/clock_scope.h"
#include "ecmascript/mem/concurrent_sweeper.h"
#include "ecmascript/mem/gc_bitset.h"
#include "ecmascript/mem/heap.h"
#include "ecmascript/mem/heap-inl.h"
#include "ecmascript/mem/mem.h"
#include "ecmascript/mem/space-inl.h"
#include "ecmascript/mem/tlab_allocator-inl.h"

View File

@ -16,9 +16,10 @@
#include "ecmascript/mem/sparse_space.h"
#include "ecmascript/js_hclass-inl.h"
#include "ecmascript/mem/allocator-inl.h"
#include "ecmascript/mem/concurrent_sweeper.h"
#include "ecmascript/mem/free_object_set.h"
#include "ecmascript/mem/heap.h"
#include "ecmascript/mem/heap-inl.h"
#include "ecmascript/mem/mem_controller.h"
#include "ecmascript/runtime_call_id.h"

View File

@ -20,6 +20,7 @@
#include "ecmascript/free_object.h"
#include "ecmascript/mem/full_gc.h"
#include "ecmascript/mem/heap-inl.h"
namespace panda::ecmascript {
static constexpr size_t MIN_BUFFER_SIZE = 31_KB;

View File

@ -17,6 +17,7 @@
#include "ecmascript/global_env.h"
#include "ecmascript/js_array.h"
#include "ecmascript/object_factory-inl.h"
#include "ecmascript/module/js_module_deregister.h"
#include "ecmascript/module/js_module_record.h"
#include "ecmascript/module/js_module_source_text.h"

View File

@ -25,6 +25,7 @@
#include "ecmascript/mem/gc_stats.h"
#include "ecmascript/napi/include/jsnapi.h"
#include "ecmascript/dfx/hprof/file_stream.h"
#include "ecmascript/dfx/vm_thread_control.h"
#if defined(ECMASCRIPT_SUPPORT_CPUPROFILER)
#include "ecmascript/dfx/cpu_profiler/cpu_profiler.h"
@ -47,7 +48,6 @@ template<typename T>
using JSHandle = ecmascript::JSHandle<T>;
using ecmascript::FileStream;
using ecmascript::FileDescriptorStream;
using ecmascript::Stream;
using ecmascript::CMap;
void DFXJSNApi::DumpHeapSnapshot([[maybe_unused]] const EcmaVM *vm, [[maybe_unused]] int dumpFormat,

View File

@ -16,8 +16,9 @@
#include "ecmascript/dfx/hprof/heap_profiler_interface.h"
#include "ecmascript/dfx/stackinfo/js_stackinfo.h"
#include "ecmascript/dfx/vmstat/runtime_stat.h"
#include "ecmascript/mem/heap.h"
#include "ecmascript/mem/heap-inl.h"
#include "ecmascript/mem/concurrent_marker.h"
#include "ecmascript/mem/concurrent_sweeper.h"
#include "ecmascript/napi/include/dfx_jsnapi.h"
#include "ecmascript/tests/test_helper.h"

View File

@ -18,6 +18,7 @@
#include "ecmascript/global_env_constants-inl.h"
#include "ecmascript/global_env_constants.h"
#include "ecmascript/js_hclass-inl.h"
#include "ecmascript/js_thread.h"
#include "ecmascript/lexical_env.h"
#include "ecmascript/mem/heap-inl.h"

View File

@ -13,6 +13,8 @@
* limitations under the License.
*/
#include "ecmascript/object_factory-inl.h"
#include "ecmascript/accessor_data.h"
#include "ecmascript/base/error_helper.h"
#include "ecmascript/builtins/builtins.h"

View File

@ -14,6 +14,7 @@
*/
#include "ecmascript/patch/quick_fix_manager.h"
#include "ecmascript/global_env_constants-inl.h"
#include "ecmascript/jspandafile/js_pandafile_manager.h"
#include "ecmascript/mem/c_string.h"
#include "ecmascript/napi/include/jsnapi.h"

View File

@ -16,8 +16,10 @@
#ifndef ECMASCRIPT_TAGGED_ARRAY_INL_H
#define ECMASCRIPT_TAGGED_ARRAY_INL_H
#include "ecmascript/mem/barriers-inl.h"
#include "ecmascript/js_tagged_value-inl.h"
#include "ecmascript/js_thread.h"
#include "ecmascript/mem/region-inl.h"
#include "ecmascript/object_factory.h"
#include "ecmascript/tagged_array.h"

View File

@ -14,7 +14,7 @@
*/
#include "ecmascript/tagged_dictionary.h"
#include "ecmascript/ecma_string.h"
#include "ecmascript/ecma_string-inl.h"
#include "ecmascript/filter_helper.h"
#include "ecmascript/tagged_hash_table.h"

View File

@ -15,7 +15,7 @@
#include "ecmascript/global_env.h"
#include "ecmascript/accessor_data.h"
#include "ecmascript/object_factory.h"
#include "ecmascript/object_factory-inl.h"
#include "ecmascript/object_operator.h"
#include "ecmascript/tests/test_helper.h"

View File

@ -16,7 +16,7 @@
#include "ecmascript/builtins/builtins_ark_tools.h"
#include "ecmascript/ecma_vm.h"
#include "ecmascript/mem/full_gc.h"
#include "ecmascript/object_factory.h"
#include "ecmascript/object_factory-inl.h"
#include "ecmascript/mem/concurrent_marker.h"
#include "ecmascript/mem/stw_young_gc.h"
#include "ecmascript/mem/partial_gc.h"

View File

@ -15,6 +15,7 @@
#include "ecmascript/ecma_vm.h"
#include "ecmascript/js_arraybuffer.h"
#include "ecmascript/object_factory-inl.h"
#include "ecmascript/tests/test_helper.h"
using namespace panda::ecmascript;

View File

@ -18,6 +18,7 @@
#include "ecmascript/js_date.h"
#include "ecmascript/js_date_time_format.h"
#include "ecmascript/js_locale.h"
#include "ecmascript/object_factory-inl.h"
#include "ecmascript/tests/test_helper.h"
using namespace panda;

View File

@ -18,6 +18,7 @@
#include "ecmascript/global_env.h"
#include "ecmascript/ic/proto_change_details.h"
#include "ecmascript/layout_info.h"
#include "ecmascript/object_factory-inl.h"
#include "ecmascript/tagged_dictionary.h"
#include "ecmascript/tests/test_helper.h"

View File

@ -18,6 +18,7 @@
#include "ecmascript/js_array.h"
#include "ecmascript/js_list_format.h"
#include "ecmascript/js_iterator.h"
#include "ecmascript/object_factory-inl.h"
#include "ecmascript/tests/test_helper.h"
using namespace panda::ecmascript;

View File

@ -18,6 +18,7 @@
#include "ecmascript/js_number_format.h"
#include "ecmascript/js_plural_rules.h"
#include "ecmascript/global_env.h"
#include "ecmascript/object_factory-inl.h"
#include "ecmascript/tests/test_helper.h"
using namespace panda::ecmascript;

View File

@ -18,12 +18,13 @@
#include "ecmascript/interpreter/interpreter.h"
#include "ecmascript/ecma_runtime_call_info.h"
#include "ecmascript/ecma_string-inl.h"
#include "ecmascript/ecma_vm.h"
#include "ecmascript/js_function.h"
#include "ecmascript/js_handle.h"
#include "ecmascript/mem/mem_common.h"
#include "ecmascript/napi/include/jsnapi.h"
#include "ecmascript/object_factory.h"
#include "ecmascript/object_factory-inl.h"
#include "gtest/gtest.h"
namespace panda::test {

View File

@ -16,6 +16,7 @@
#include "ecmascript/ts_types/ts_manager.h"
#include "ecmascript/compiler/aot_file/aot_file_manager.h"
#include "ecmascript/global_env_constants-inl.h"
#include "ecmascript/jspandafile/class_literal.h"
#include "ecmascript/jspandafile/js_pandafile_manager.h"
#include "ecmascript/jspandafile/program_object.h"

View File

@ -15,6 +15,7 @@
#include "ecmascript/ts_types/ts_type_table_generator.h"
#include "ecmascript/global_env_constants-inl.h"
#include "ecmascript/jspandafile/js_pandafile_manager.h"
#include "ecmascript/jspandafile/type_literal_extractor.h"

View File

@ -14,6 +14,8 @@
*/
#include "ecmascript/vtable.h"
#include "ecmascript/js_hclass-inl.h"
#include "ecmascript/layout_info-inl.h"
namespace panda::ecmascript {
VTable::Tuple VTable::CreateTuple(const JSThread *thread, JSTaggedValue phc,