14514f5e3Sopenharmony_ci/* 24514f5e3Sopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 34514f5e3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 44514f5e3Sopenharmony_ci * you may not use this file except in compliance with the License. 54514f5e3Sopenharmony_ci * You may obtain a copy of the License at 64514f5e3Sopenharmony_ci * 74514f5e3Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 84514f5e3Sopenharmony_ci * 94514f5e3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 104514f5e3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 114514f5e3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 124514f5e3Sopenharmony_ci * See the License for the specific language governing permissions and 134514f5e3Sopenharmony_ci * limitations under the License. 144514f5e3Sopenharmony_ci */ 154514f5e3Sopenharmony_ci 164514f5e3Sopenharmony_ci#include <codecvt> 174514f5e3Sopenharmony_ci#include <iomanip> 184514f5e3Sopenharmony_ci#include <iostream> 194514f5e3Sopenharmony_ci#include <string> 204514f5e3Sopenharmony_ci 214514f5e3Sopenharmony_ci#include "ecmascript/dfx/hprof/heap_snapshot.h" 224514f5e3Sopenharmony_ci#include "ecmascript/global_dictionary-inl.h" 234514f5e3Sopenharmony_ci#include "ecmascript/vtable.h" 244514f5e3Sopenharmony_ci#include "ecmascript/linked_hash_table.h" 254514f5e3Sopenharmony_ci#include "ecmascript/tagged_tree.h" 264514f5e3Sopenharmony_ci#include "ecmascript/mem/object_xray.h" 274514f5e3Sopenharmony_ci#ifdef ARK_SUPPORT_INTL 284514f5e3Sopenharmony_ci#include "ecmascript/js_bigint.h" 294514f5e3Sopenharmony_ci#include "ecmascript/js_collator.h" 304514f5e3Sopenharmony_ci#include "ecmascript/js_date_time_format.h" 314514f5e3Sopenharmony_ci#include "ecmascript/js_intl.h" 324514f5e3Sopenharmony_ci#include "ecmascript/js_locale.h" 334514f5e3Sopenharmony_ci#include "ecmascript/js_relative_time_format.h" 344514f5e3Sopenharmony_ci#include "ecmascript/js_segmenter.h" 354514f5e3Sopenharmony_ci#include "ecmascript/js_segments.h" 364514f5e3Sopenharmony_ci#include "ecmascript/js_segment_iterator.h" 374514f5e3Sopenharmony_ci#endif 384514f5e3Sopenharmony_ci 394514f5e3Sopenharmony_cinamespace panda::ecmascript { 404514f5e3Sopenharmony_ciusing MicroJobQueue = panda::ecmascript::job::MicroJobQueue; 414514f5e3Sopenharmony_ciusing PendingJob = panda::ecmascript::job::PendingJob; 424514f5e3Sopenharmony_ciusing ExtraProfileTypeInfo = panda::ecmascript::pgo::ExtraProfileTypeInfo; 434514f5e3Sopenharmony_ci 444514f5e3Sopenharmony_cistatic constexpr uint32_t DUMP_TYPE_OFFSET = 12; 454514f5e3Sopenharmony_cistatic constexpr uint32_t DUMP_PROPERTY_OFFSET = 20; 464514f5e3Sopenharmony_cistatic constexpr uint32_t DUMP_ELEMENT_OFFSET = 2; 474514f5e3Sopenharmony_ci 484514f5e3Sopenharmony_cistatic bool HasEdge(std::vector<Reference> &vec, JSTaggedValue toValue) 494514f5e3Sopenharmony_ci{ 504514f5e3Sopenharmony_ci for (auto &ref : vec) { 514514f5e3Sopenharmony_ci if (ref.value_ == toValue) { 524514f5e3Sopenharmony_ci return true; 534514f5e3Sopenharmony_ci } 544514f5e3Sopenharmony_ci } 554514f5e3Sopenharmony_ci return false; 564514f5e3Sopenharmony_ci} 574514f5e3Sopenharmony_ci 584514f5e3Sopenharmony_cistatic void AddAnonymousEdge(TaggedObject *obj, std::vector<Reference> &vec) 594514f5e3Sopenharmony_ci{ 604514f5e3Sopenharmony_ci auto hclass = obj->GetClass(); 614514f5e3Sopenharmony_ci if (hclass == nullptr) { 624514f5e3Sopenharmony_ci return; 634514f5e3Sopenharmony_ci } 644514f5e3Sopenharmony_ci ObjectXRay::VisitObjectBody<VisitType::SNAPSHOT_VISIT>(obj, hclass, 654514f5e3Sopenharmony_ci [&vec]([[maybe_unused]]TaggedObject *root, ObjectSlot start, ObjectSlot end, VisitObjectArea area) { 664514f5e3Sopenharmony_ci if (area != VisitObjectArea::NORMAL) { 674514f5e3Sopenharmony_ci return; 684514f5e3Sopenharmony_ci } 694514f5e3Sopenharmony_ci uint32_t cnt = 0; 704514f5e3Sopenharmony_ci for (auto slot = start; slot != end; slot++) { 714514f5e3Sopenharmony_ci JSTaggedValue toValue = JSTaggedValue(slot.GetTaggedType()); 724514f5e3Sopenharmony_ci if (!toValue.IsHeapObject()) { 734514f5e3Sopenharmony_ci continue; 744514f5e3Sopenharmony_ci } 754514f5e3Sopenharmony_ci if (HasEdge(vec, toValue)) { 764514f5e3Sopenharmony_ci continue; 774514f5e3Sopenharmony_ci } 784514f5e3Sopenharmony_ci std::string name = "anonymous-slot" + std::to_string(cnt); 794514f5e3Sopenharmony_ci cnt += 1; 804514f5e3Sopenharmony_ci vec.emplace_back(ConvertToString(name), toValue); 814514f5e3Sopenharmony_ci } 824514f5e3Sopenharmony_ci } 834514f5e3Sopenharmony_ci ); 844514f5e3Sopenharmony_ci} 854514f5e3Sopenharmony_ci 864514f5e3Sopenharmony_ciCString JSHClass::DumpJSType(JSType type) 874514f5e3Sopenharmony_ci{ 884514f5e3Sopenharmony_ci switch (type) { 894514f5e3Sopenharmony_ci case JSType::HCLASS: 904514f5e3Sopenharmony_ci return "JSHClass"; 914514f5e3Sopenharmony_ci case JSType::TAGGED_ARRAY: 924514f5e3Sopenharmony_ci return "TaggedArray"; 934514f5e3Sopenharmony_ci case JSType::LEXICAL_ENV: 944514f5e3Sopenharmony_ci return "LexicalEnv"; 954514f5e3Sopenharmony_ci case JSType::SENDABLE_ENV: 964514f5e3Sopenharmony_ci return "SendableEnv"; 974514f5e3Sopenharmony_ci case JSType::TAGGED_DICTIONARY: 984514f5e3Sopenharmony_ci return "TaggedDictionary"; 994514f5e3Sopenharmony_ci case JSType::CONSTANT_POOL: 1004514f5e3Sopenharmony_ci return "ConstantPool"; 1014514f5e3Sopenharmony_ci case JSType::PROFILE_TYPE_INFO: 1024514f5e3Sopenharmony_ci return "ProfileTypeInfo"; 1034514f5e3Sopenharmony_ci case JSType::COW_TAGGED_ARRAY: 1044514f5e3Sopenharmony_ci return "COWArray"; 1054514f5e3Sopenharmony_ci case JSType::MUTANT_TAGGED_ARRAY: 1064514f5e3Sopenharmony_ci return "MutantTaggedArray"; 1074514f5e3Sopenharmony_ci case JSType::COW_MUTANT_TAGGED_ARRAY: 1084514f5e3Sopenharmony_ci return "COWMutantTaggedArray"; 1094514f5e3Sopenharmony_ci case JSType::LINE_STRING: 1104514f5e3Sopenharmony_ci case JSType::CONSTANT_STRING: 1114514f5e3Sopenharmony_ci case JSType::TREE_STRING: 1124514f5e3Sopenharmony_ci case JSType::SLICED_STRING: 1134514f5e3Sopenharmony_ci return "BaseString"; 1144514f5e3Sopenharmony_ci case JSType::JS_NATIVE_POINTER: 1154514f5e3Sopenharmony_ci return "NativePointer"; 1164514f5e3Sopenharmony_ci case JSType::JS_OBJECT: 1174514f5e3Sopenharmony_ci return "Object"; 1184514f5e3Sopenharmony_ci case JSType::JS_SHARED_OBJECT: 1194514f5e3Sopenharmony_ci return "SharedObject"; 1204514f5e3Sopenharmony_ci case JSType::JS_FUNCTION_BASE: 1214514f5e3Sopenharmony_ci return "Function Base"; 1224514f5e3Sopenharmony_ci case JSType::JS_FUNCTION: 1234514f5e3Sopenharmony_ci return "Function"; 1244514f5e3Sopenharmony_ci case JSType::JS_SHARED_FUNCTION: 1254514f5e3Sopenharmony_ci return "Shared Function"; 1264514f5e3Sopenharmony_ci case JSType::JS_ERROR: 1274514f5e3Sopenharmony_ci return "Error"; 1284514f5e3Sopenharmony_ci case JSType::NATIVE_MODULE_FAILURE_INFO: 1294514f5e3Sopenharmony_ci return "NativeModuleFailureInfo"; 1304514f5e3Sopenharmony_ci case JSType::JS_EVAL_ERROR: 1314514f5e3Sopenharmony_ci return "Eval Error"; 1324514f5e3Sopenharmony_ci case JSType::JS_RANGE_ERROR: 1334514f5e3Sopenharmony_ci return "Range Error"; 1344514f5e3Sopenharmony_ci case JSType::JS_TYPE_ERROR: 1354514f5e3Sopenharmony_ci return "Type Error"; 1364514f5e3Sopenharmony_ci case JSType::JS_AGGREGATE_ERROR: 1374514f5e3Sopenharmony_ci return "Aggregate Error"; 1384514f5e3Sopenharmony_ci case JSType::JS_REFERENCE_ERROR: 1394514f5e3Sopenharmony_ci return "Reference Error"; 1404514f5e3Sopenharmony_ci case JSType::JS_URI_ERROR: 1414514f5e3Sopenharmony_ci return "Uri Error"; 1424514f5e3Sopenharmony_ci case JSType::JS_SYNTAX_ERROR: 1434514f5e3Sopenharmony_ci return "Syntax Error"; 1444514f5e3Sopenharmony_ci case JSType::JS_OOM_ERROR: 1454514f5e3Sopenharmony_ci return "OutOfMemory Error"; 1464514f5e3Sopenharmony_ci case JSType::JS_TERMINATION_ERROR: 1474514f5e3Sopenharmony_ci return "Termination Error"; 1484514f5e3Sopenharmony_ci case JSType::JS_REG_EXP: 1494514f5e3Sopenharmony_ci return "Regexp"; 1504514f5e3Sopenharmony_ci case JSType::JS_SET: 1514514f5e3Sopenharmony_ci return "Set"; 1524514f5e3Sopenharmony_ci case JSType::JS_SHARED_SET: 1534514f5e3Sopenharmony_ci return "SharedSet"; 1544514f5e3Sopenharmony_ci case JSType::JS_MAP: 1554514f5e3Sopenharmony_ci return "Map"; 1564514f5e3Sopenharmony_ci case JSType::JS_SHARED_MAP: 1574514f5e3Sopenharmony_ci return "SharedMap"; 1584514f5e3Sopenharmony_ci case JSType::JS_WEAK_SET: 1594514f5e3Sopenharmony_ci return "WeakSet"; 1604514f5e3Sopenharmony_ci case JSType::JS_WEAK_MAP: 1614514f5e3Sopenharmony_ci return "WeakMap"; 1624514f5e3Sopenharmony_ci case JSType::JS_WEAK_REF: 1634514f5e3Sopenharmony_ci return "WeakRef"; 1644514f5e3Sopenharmony_ci case JSType::JS_FINALIZATION_REGISTRY: 1654514f5e3Sopenharmony_ci return "JSFinalizationRegistry"; 1664514f5e3Sopenharmony_ci case JSType::CELL_RECORD: 1674514f5e3Sopenharmony_ci return "CellRecord"; 1684514f5e3Sopenharmony_ci case JSType::JS_DATE: 1694514f5e3Sopenharmony_ci return "Date"; 1704514f5e3Sopenharmony_ci case JSType::JS_BOUND_FUNCTION: 1714514f5e3Sopenharmony_ci return "Bound Function"; 1724514f5e3Sopenharmony_ci case JSType::JS_ARRAY: 1734514f5e3Sopenharmony_ci return "Array"; 1744514f5e3Sopenharmony_ci case JSType::JS_SHARED_ARRAY: 1754514f5e3Sopenharmony_ci return "SharedArray"; 1764514f5e3Sopenharmony_ci case JSType::JS_SHARED_ARRAY_ITERATOR: 1774514f5e3Sopenharmony_ci return "SharedArrayIterator"; 1784514f5e3Sopenharmony_ci case JSType::JS_TYPED_ARRAY: 1794514f5e3Sopenharmony_ci return "Typed Array"; 1804514f5e3Sopenharmony_ci case JSType::JS_INT8_ARRAY: 1814514f5e3Sopenharmony_ci return "Int8 Array"; 1824514f5e3Sopenharmony_ci case JSType::JS_UINT8_ARRAY: 1834514f5e3Sopenharmony_ci return "Uint8 Array"; 1844514f5e3Sopenharmony_ci case JSType::JS_UINT8_CLAMPED_ARRAY: 1854514f5e3Sopenharmony_ci return "Uint8 Clamped Array"; 1864514f5e3Sopenharmony_ci case JSType::JS_INT16_ARRAY: 1874514f5e3Sopenharmony_ci return "Int16 Array"; 1884514f5e3Sopenharmony_ci case JSType::JS_UINT16_ARRAY: 1894514f5e3Sopenharmony_ci return "Uint16 Array"; 1904514f5e3Sopenharmony_ci case JSType::JS_INT32_ARRAY: 1914514f5e3Sopenharmony_ci return "Int32 Array"; 1924514f5e3Sopenharmony_ci case JSType::JS_UINT32_ARRAY: 1934514f5e3Sopenharmony_ci return "Uint32 Array"; 1944514f5e3Sopenharmony_ci case JSType::BIGINT: 1954514f5e3Sopenharmony_ci return "BigInt"; 1964514f5e3Sopenharmony_ci case JSType::JS_FLOAT32_ARRAY: 1974514f5e3Sopenharmony_ci return "Float32 Array"; 1984514f5e3Sopenharmony_ci case JSType::JS_FLOAT64_ARRAY: 1994514f5e3Sopenharmony_ci return "Float64 Array"; 2004514f5e3Sopenharmony_ci case JSType::JS_BIGINT64_ARRAY: 2014514f5e3Sopenharmony_ci return "BigInt64 Array"; 2024514f5e3Sopenharmony_ci case JSType::JS_BIGUINT64_ARRAY: 2034514f5e3Sopenharmony_ci return "BigUint64 Array"; 2044514f5e3Sopenharmony_ci case JSType::JS_SHARED_TYPED_ARRAY: 2054514f5e3Sopenharmony_ci return "Shared Typed Array"; 2064514f5e3Sopenharmony_ci case JSType::JS_SHARED_INT8_ARRAY: 2074514f5e3Sopenharmony_ci return "Shared Int8 Array"; 2084514f5e3Sopenharmony_ci case JSType::JS_SHARED_UINT8_ARRAY: 2094514f5e3Sopenharmony_ci return "Shared Uint8 Array"; 2104514f5e3Sopenharmony_ci case JSType::JS_SHARED_UINT8_CLAMPED_ARRAY: 2114514f5e3Sopenharmony_ci return "Shared Uint8 Clamped Array"; 2124514f5e3Sopenharmony_ci case JSType::JS_SHARED_INT16_ARRAY: 2134514f5e3Sopenharmony_ci return "Shared Int16 Array"; 2144514f5e3Sopenharmony_ci case JSType::JS_SHARED_UINT16_ARRAY: 2154514f5e3Sopenharmony_ci return "Shared Uint16 Array"; 2164514f5e3Sopenharmony_ci case JSType::JS_SHARED_INT32_ARRAY: 2174514f5e3Sopenharmony_ci return "Shared Int32 Array"; 2184514f5e3Sopenharmony_ci case JSType::JS_SHARED_UINT32_ARRAY: 2194514f5e3Sopenharmony_ci return "Shared Uint32 Array"; 2204514f5e3Sopenharmony_ci case JSType::JS_SHARED_FLOAT32_ARRAY: 2214514f5e3Sopenharmony_ci return "Shared Float32 Array"; 2224514f5e3Sopenharmony_ci case JSType::JS_SHARED_FLOAT64_ARRAY: 2234514f5e3Sopenharmony_ci return "Shared Float64 Array"; 2244514f5e3Sopenharmony_ci case JSType::JS_SHARED_BIGINT64_ARRAY: 2254514f5e3Sopenharmony_ci return "Shared BigInt64 Array"; 2264514f5e3Sopenharmony_ci case JSType::JS_SHARED_BIGUINT64_ARRAY: 2274514f5e3Sopenharmony_ci return "Shared BigUint64 Array"; 2284514f5e3Sopenharmony_ci case JSType::BYTE_ARRAY: 2294514f5e3Sopenharmony_ci return "ByteArray"; 2304514f5e3Sopenharmony_ci case JSType::JS_ARGUMENTS: 2314514f5e3Sopenharmony_ci return "Arguments"; 2324514f5e3Sopenharmony_ci case JSType::JS_PROXY: 2334514f5e3Sopenharmony_ci return "Proxy"; 2344514f5e3Sopenharmony_ci case JSType::JS_PRIMITIVE_REF: 2354514f5e3Sopenharmony_ci return "Primitive"; 2364514f5e3Sopenharmony_ci case JSType::JS_DATA_VIEW: 2374514f5e3Sopenharmony_ci return "DataView"; 2384514f5e3Sopenharmony_ci case JSType::JS_ITERATOR: 2394514f5e3Sopenharmony_ci return "Iterator"; 2404514f5e3Sopenharmony_ci case JSType::JS_ASYNCITERATOR: 2414514f5e3Sopenharmony_ci return "AsyncIterator"; 2424514f5e3Sopenharmony_ci case JSType::JS_FORIN_ITERATOR: 2434514f5e3Sopenharmony_ci return "ForinInterator"; 2444514f5e3Sopenharmony_ci case JSType::JS_MAP_ITERATOR: 2454514f5e3Sopenharmony_ci return "MapIterator"; 2464514f5e3Sopenharmony_ci case JSType::JS_SHARED_MAP_ITERATOR: 2474514f5e3Sopenharmony_ci return "SharedMapIterator"; 2484514f5e3Sopenharmony_ci case JSType::JS_SET_ITERATOR: 2494514f5e3Sopenharmony_ci return "SetIterator"; 2504514f5e3Sopenharmony_ci case JSType::JS_SHARED_SET_ITERATOR: 2514514f5e3Sopenharmony_ci return "SharedSetIterator"; 2524514f5e3Sopenharmony_ci case JSType::JS_ARRAY_ITERATOR: 2534514f5e3Sopenharmony_ci return "ArrayIterator"; 2544514f5e3Sopenharmony_ci case JSType::JS_STRING_ITERATOR: 2554514f5e3Sopenharmony_ci return "StringIterator"; 2564514f5e3Sopenharmony_ci case JSType::JS_REG_EXP_ITERATOR: 2574514f5e3Sopenharmony_ci return "RegExpIterator"; 2584514f5e3Sopenharmony_ci case JSType::JS_ARRAY_BUFFER: 2594514f5e3Sopenharmony_ci return "ArrayBuffer"; 2604514f5e3Sopenharmony_ci case JSType::JS_SENDABLE_ARRAY_BUFFER: 2614514f5e3Sopenharmony_ci return "SendableArrayBuffer"; 2624514f5e3Sopenharmony_ci case JSType::JS_SHARED_ARRAY_BUFFER: 2634514f5e3Sopenharmony_ci return "SharedArrayBuffer"; 2644514f5e3Sopenharmony_ci case JSType::JS_PROXY_REVOC_FUNCTION: 2654514f5e3Sopenharmony_ci return "ProxyRevocFunction"; 2664514f5e3Sopenharmony_ci case JSType::PROMISE_REACTIONS: 2674514f5e3Sopenharmony_ci return "PromiseReaction"; 2684514f5e3Sopenharmony_ci case JSType::PROMISE_CAPABILITY: 2694514f5e3Sopenharmony_ci return "PromiseCapability"; 2704514f5e3Sopenharmony_ci case JSType::PROMISE_ITERATOR_RECORD: 2714514f5e3Sopenharmony_ci return "PromiseIteratorRecord"; 2724514f5e3Sopenharmony_ci case JSType::PROMISE_RECORD: 2734514f5e3Sopenharmony_ci return "PromiseRecord"; 2744514f5e3Sopenharmony_ci case JSType::RESOLVING_FUNCTIONS_RECORD: 2754514f5e3Sopenharmony_ci return "ResolvingFunctionsRecord"; 2764514f5e3Sopenharmony_ci case JSType::ASYNC_GENERATOR_REQUEST: 2774514f5e3Sopenharmony_ci return "AsyncGeneratorRequest"; 2784514f5e3Sopenharmony_ci case JSType::ASYNC_ITERATOR_RECORD: 2794514f5e3Sopenharmony_ci return "AsyncIteratorRecord"; 2804514f5e3Sopenharmony_ci case JSType::JS_ASYNC_FROM_SYNC_ITERATOR: 2814514f5e3Sopenharmony_ci return "AsyncFromSyncIterator"; 2824514f5e3Sopenharmony_ci case JSType::JS_ASYNC_FROM_SYNC_ITER_UNWARP_FUNCTION: 2834514f5e3Sopenharmony_ci return "AsyncFromSyncIterUnwarpFunction"; 2844514f5e3Sopenharmony_ci case JSType::JS_PROMISE: 2854514f5e3Sopenharmony_ci return "Promise"; 2864514f5e3Sopenharmony_ci case JSType::JS_PROMISE_REACTIONS_FUNCTION: 2874514f5e3Sopenharmony_ci return "PromiseReactionsFunction"; 2884514f5e3Sopenharmony_ci case JSType::JS_PROMISE_EXECUTOR_FUNCTION: 2894514f5e3Sopenharmony_ci return "PromiseExecutorFunction"; 2904514f5e3Sopenharmony_ci case JSType::JS_ASYNC_MODULE_FULFILLED_FUNCTION: 2914514f5e3Sopenharmony_ci return "AsyncModuleFulfilledFunction"; 2924514f5e3Sopenharmony_ci case JSType::JS_ASYNC_MODULE_REJECTED_FUNCTION: 2934514f5e3Sopenharmony_ci return "AsyncModuleRejectedFunction"; 2944514f5e3Sopenharmony_ci case JSType::JS_PROMISE_ALL_RESOLVE_ELEMENT_FUNCTION: 2954514f5e3Sopenharmony_ci return "PromiseAllResolveElementFunction"; 2964514f5e3Sopenharmony_ci case JSType::JS_PROMISE_ANY_REJECT_ELEMENT_FUNCTION: 2974514f5e3Sopenharmony_ci return "PromiseAnyRejectElementFunction"; 2984514f5e3Sopenharmony_ci case JSType::JS_PROMISE_ALL_SETTLED_ELEMENT_FUNCTION: 2994514f5e3Sopenharmony_ci return "PromiseAllSettledElementFunction"; 3004514f5e3Sopenharmony_ci case JSType::JS_PROMISE_FINALLY_FUNCTION: 3014514f5e3Sopenharmony_ci return "PromiseFinallyFunction"; 3024514f5e3Sopenharmony_ci case JSType::JS_PROMISE_VALUE_THUNK_OR_THROWER_FUNCTION: 3034514f5e3Sopenharmony_ci return "PromiseValueThunkOrThrowerFunction"; 3044514f5e3Sopenharmony_ci case JSType::JS_ASYNC_GENERATOR_RESUME_NEXT_RETURN_PROCESSOR_RST_FTN: 3054514f5e3Sopenharmony_ci return "AsyncGeneratorResumeNextReturnProcessorRstFtn"; 3064514f5e3Sopenharmony_ci case JSType::MICRO_JOB_QUEUE: 3074514f5e3Sopenharmony_ci return "MicroJobQueue"; 3084514f5e3Sopenharmony_ci case JSType::PENDING_JOB: 3094514f5e3Sopenharmony_ci return "PendingJob"; 3104514f5e3Sopenharmony_ci case JSType::COMPLETION_RECORD: 3114514f5e3Sopenharmony_ci return "CompletionRecord"; 3124514f5e3Sopenharmony_ci case JSType::GLOBAL_ENV: 3134514f5e3Sopenharmony_ci return "GlobalEnv"; 3144514f5e3Sopenharmony_ci case JSType::ACCESSOR_DATA: 3154514f5e3Sopenharmony_ci return "AccessorData"; 3164514f5e3Sopenharmony_ci case JSType::INTERNAL_ACCESSOR: 3174514f5e3Sopenharmony_ci return "InternalAccessor"; 3184514f5e3Sopenharmony_ci case JSType::SYMBOL: 3194514f5e3Sopenharmony_ci return "Symbol"; 3204514f5e3Sopenharmony_ci case JSType::PROPERTY_BOX: 3214514f5e3Sopenharmony_ci return "PropertyBox"; 3224514f5e3Sopenharmony_ci case JSType::JS_ASYNC_FUNCTION: 3234514f5e3Sopenharmony_ci return "AsyncFunction"; 3244514f5e3Sopenharmony_ci case JSType::JS_SHARED_ASYNC_FUNCTION: 3254514f5e3Sopenharmony_ci return "SharedAsyncFunction"; 3264514f5e3Sopenharmony_ci case JSType::JS_ASYNC_AWAIT_STATUS_FUNCTION: 3274514f5e3Sopenharmony_ci return "AsyncAwaitStatusFunction"; 3284514f5e3Sopenharmony_ci case JSType::JS_ASYNC_FUNC_OBJECT: 3294514f5e3Sopenharmony_ci return "AsyncFunctionObject"; 3304514f5e3Sopenharmony_ci case JSType::JS_REALM: 3314514f5e3Sopenharmony_ci return "Realm"; 3324514f5e3Sopenharmony_ci case JSType::JS_GLOBAL_OBJECT: 3334514f5e3Sopenharmony_ci return "GlobalObject"; 3344514f5e3Sopenharmony_ci case JSType::JS_INTL: 3354514f5e3Sopenharmony_ci return "JSIntl"; 3364514f5e3Sopenharmony_ci case JSType::JS_LOCALE: 3374514f5e3Sopenharmony_ci return "JSLocale"; 3384514f5e3Sopenharmony_ci case JSType::JS_DATE_TIME_FORMAT: 3394514f5e3Sopenharmony_ci return "JSDateTimeFormat"; 3404514f5e3Sopenharmony_ci case JSType::JS_RELATIVE_TIME_FORMAT: 3414514f5e3Sopenharmony_ci return "JSRelativeTimeFormat"; 3424514f5e3Sopenharmony_ci case JSType::JS_NUMBER_FORMAT: 3434514f5e3Sopenharmony_ci return "JSNumberFormat"; 3444514f5e3Sopenharmony_ci case JSType::JS_COLLATOR: 3454514f5e3Sopenharmony_ci return "JSCollator"; 3464514f5e3Sopenharmony_ci case JSType::JS_PLURAL_RULES: 3474514f5e3Sopenharmony_ci return "JSPluralRules"; 3484514f5e3Sopenharmony_ci case JSType::JS_DISPLAYNAMES: 3494514f5e3Sopenharmony_ci return "JSDisplayNames"; 3504514f5e3Sopenharmony_ci case JSType::JS_SEGMENTER: 3514514f5e3Sopenharmony_ci return "JSSegmenter"; 3524514f5e3Sopenharmony_ci case JSType::JS_SEGMENTS: 3534514f5e3Sopenharmony_ci return "JSSegments"; 3544514f5e3Sopenharmony_ci case JSType::JS_SEGMENT_ITERATOR: 3554514f5e3Sopenharmony_ci return "JSSegmentIterator"; 3564514f5e3Sopenharmony_ci case JSType::JS_LIST_FORMAT: 3574514f5e3Sopenharmony_ci return "JSListFormat"; 3584514f5e3Sopenharmony_ci case JSType::JS_GENERATOR_OBJECT: 3594514f5e3Sopenharmony_ci return "JSGeneratorObject"; 3604514f5e3Sopenharmony_ci case JSType::JS_ASYNC_GENERATOR_OBJECT: 3614514f5e3Sopenharmony_ci return "JSAsyncGeneratorObject"; 3624514f5e3Sopenharmony_ci case JSType::JS_GENERATOR_CONTEXT: 3634514f5e3Sopenharmony_ci return "JSGeneratorContext"; 3644514f5e3Sopenharmony_ci case JSType::PROTO_CHANGE_MARKER: 3654514f5e3Sopenharmony_ci return "ProtoChangeMarker"; 3664514f5e3Sopenharmony_ci case JSType::MARKER_CELL: 3674514f5e3Sopenharmony_ci return "MarkerCell"; 3684514f5e3Sopenharmony_ci case JSType::PROTOTYPE_INFO: 3694514f5e3Sopenharmony_ci return "PrototypeInfo"; 3704514f5e3Sopenharmony_ci case JSType::PROGRAM: 3714514f5e3Sopenharmony_ci return "program"; 3724514f5e3Sopenharmony_ci case JSType::MACHINE_CODE_OBJECT: 3734514f5e3Sopenharmony_ci return "MachineCode"; 3744514f5e3Sopenharmony_ci case JSType::CLASS_INFO_EXTRACTOR: 3754514f5e3Sopenharmony_ci return "ClassInfoExtractor"; 3764514f5e3Sopenharmony_ci case JSType::JS_API_ARRAY_LIST: 3774514f5e3Sopenharmony_ci return "ArrayList"; 3784514f5e3Sopenharmony_ci case JSType::JS_API_ARRAYLIST_ITERATOR: 3794514f5e3Sopenharmony_ci return "JSArraylistIterator"; 3804514f5e3Sopenharmony_ci case JSType::LINKED_NODE: 3814514f5e3Sopenharmony_ci return "LinkedNode"; 3824514f5e3Sopenharmony_ci case JSType::RB_TREENODE: 3834514f5e3Sopenharmony_ci return "RBTreeNode"; 3844514f5e3Sopenharmony_ci case JSType::JS_API_HASH_MAP: 3854514f5e3Sopenharmony_ci return "HashMap"; 3864514f5e3Sopenharmony_ci case JSType::JS_API_HASH_SET: 3874514f5e3Sopenharmony_ci return "HashSet"; 3884514f5e3Sopenharmony_ci case JSType::JS_API_HASHMAP_ITERATOR: 3894514f5e3Sopenharmony_ci return "HashMapIterator"; 3904514f5e3Sopenharmony_ci case JSType::JS_API_HASHSET_ITERATOR: 3914514f5e3Sopenharmony_ci return "HashSetIterator"; 3924514f5e3Sopenharmony_ci case JSType::JS_API_LIGHT_WEIGHT_MAP: 3934514f5e3Sopenharmony_ci return "LightWeightMap"; 3944514f5e3Sopenharmony_ci case JSType::JS_API_LIGHT_WEIGHT_MAP_ITERATOR: 3954514f5e3Sopenharmony_ci return "LightWeightMapIterator"; 3964514f5e3Sopenharmony_ci case JSType::JS_API_LIGHT_WEIGHT_SET: 3974514f5e3Sopenharmony_ci return "LightWeightSet"; 3984514f5e3Sopenharmony_ci case JSType::JS_API_LIGHT_WEIGHT_SET_ITERATOR: 3994514f5e3Sopenharmony_ci return "LightWeightSetIterator"; 4004514f5e3Sopenharmony_ci case JSType::JS_API_TREE_MAP: 4014514f5e3Sopenharmony_ci return "TreeMap"; 4024514f5e3Sopenharmony_ci case JSType::JS_API_TREE_SET: 4034514f5e3Sopenharmony_ci return "TreeSet"; 4044514f5e3Sopenharmony_ci case JSType::JS_API_TREEMAP_ITERATOR: 4054514f5e3Sopenharmony_ci return "TreeMapIterator"; 4064514f5e3Sopenharmony_ci case JSType::JS_API_TREESET_ITERATOR: 4074514f5e3Sopenharmony_ci return "TreeSetIterator"; 4084514f5e3Sopenharmony_ci case JSType::JS_API_VECTOR: 4094514f5e3Sopenharmony_ci return "Vector"; 4104514f5e3Sopenharmony_ci case JSType::JS_API_VECTOR_ITERATOR: 4114514f5e3Sopenharmony_ci return "VectorIterator"; 4124514f5e3Sopenharmony_ci case JSType::JS_API_BITVECTOR: 4134514f5e3Sopenharmony_ci return "BitVector"; 4144514f5e3Sopenharmony_ci case JSType::JS_API_BITVECTOR_ITERATOR: 4154514f5e3Sopenharmony_ci return "BitVectorIterator"; 4164514f5e3Sopenharmony_ci case JSType::JS_API_QUEUE: 4174514f5e3Sopenharmony_ci return "Queue"; 4184514f5e3Sopenharmony_ci case JSType::JS_API_QUEUE_ITERATOR: 4194514f5e3Sopenharmony_ci return "QueueIterator"; 4204514f5e3Sopenharmony_ci case JSType::JS_API_PLAIN_ARRAY: 4214514f5e3Sopenharmony_ci return "PlainArray"; 4224514f5e3Sopenharmony_ci case JSType::JS_API_PLAIN_ARRAY_ITERATOR: 4234514f5e3Sopenharmony_ci return "PlainArrayIterator"; 4244514f5e3Sopenharmony_ci case JSType::JS_API_DEQUE: 4254514f5e3Sopenharmony_ci return "Deque"; 4264514f5e3Sopenharmony_ci case JSType::JS_API_DEQUE_ITERATOR: 4274514f5e3Sopenharmony_ci return "DequeIterator"; 4284514f5e3Sopenharmony_ci case JSType::JS_API_STACK: 4294514f5e3Sopenharmony_ci return "Stack"; 4304514f5e3Sopenharmony_ci case JSType::JS_API_STACK_ITERATOR: 4314514f5e3Sopenharmony_ci return "StackIterator"; 4324514f5e3Sopenharmony_ci case JSType::JS_API_LIST: 4334514f5e3Sopenharmony_ci return "List"; 4344514f5e3Sopenharmony_ci case JSType::JS_API_LIST_ITERATOR: 4354514f5e3Sopenharmony_ci return "ListIterator"; 4364514f5e3Sopenharmony_ci case JSType::JS_API_LINKED_LIST: 4374514f5e3Sopenharmony_ci return "LinkedList"; 4384514f5e3Sopenharmony_ci case JSType::JS_API_LINKED_LIST_ITERATOR: 4394514f5e3Sopenharmony_ci return "LinkedListIterator"; 4404514f5e3Sopenharmony_ci case JSType::JS_CJS_EXPORTS: 4414514f5e3Sopenharmony_ci return "CommonJSExports"; 4424514f5e3Sopenharmony_ci case JSType::JS_CJS_MODULE: 4434514f5e3Sopenharmony_ci return "CommonJSModule"; 4444514f5e3Sopenharmony_ci case JSType::JS_CJS_REQUIRE: 4454514f5e3Sopenharmony_ci return "CommonJSRequire"; 4464514f5e3Sopenharmony_ci case JSType::METHOD: 4474514f5e3Sopenharmony_ci return "Method"; 4484514f5e3Sopenharmony_ci case JSType::AOT_LITERAL_INFO: 4494514f5e3Sopenharmony_ci return "AOTLiteralInfo"; 4504514f5e3Sopenharmony_ci case JSType::CLASS_LITERAL: 4514514f5e3Sopenharmony_ci return "ClassLiteral"; 4524514f5e3Sopenharmony_ci case JSType::PROFILE_TYPE_INFO_CELL_0: 4534514f5e3Sopenharmony_ci case JSType::PROFILE_TYPE_INFO_CELL_1: 4544514f5e3Sopenharmony_ci case JSType::PROFILE_TYPE_INFO_CELL_N: 4554514f5e3Sopenharmony_ci return "ProfileTypeInfoCell"; 4564514f5e3Sopenharmony_ci case JSType::FUNCTION_TEMPLATE: 4574514f5e3Sopenharmony_ci return "FunctionTemplate"; 4584514f5e3Sopenharmony_ci case JSType::VTABLE: 4594514f5e3Sopenharmony_ci return "VTable"; 4604514f5e3Sopenharmony_ci case JSType::EXTRA_PROFILE_TYPE_INFO: 4614514f5e3Sopenharmony_ci return "ExtraProfileTypeInfo"; 4624514f5e3Sopenharmony_ci case JSType::SOURCE_TEXT_MODULE_RECORD: 4634514f5e3Sopenharmony_ci return "SourceTextModuleRecord"; 4644514f5e3Sopenharmony_ci case JSType::RESOLVEDBINDING_RECORD: 4654514f5e3Sopenharmony_ci return "ResolvedBindingRecord"; 4664514f5e3Sopenharmony_ci case JSType::RESOLVEDINDEXBINDING_RECORD: 4674514f5e3Sopenharmony_ci return "ResolvedIndexBindingRecord"; 4684514f5e3Sopenharmony_ci case JSType::RESOLVEDRECORDINDEXBINDING_RECORD: 4694514f5e3Sopenharmony_ci return "ResolvedRecordIndexBindingRecord"; 4704514f5e3Sopenharmony_ci case JSType::RESOLVEDRECORDBINDING_RECORD: 4714514f5e3Sopenharmony_ci return "ResolvedRecordBindingRecord"; 4724514f5e3Sopenharmony_ci case JSType::IMPORTENTRY_RECORD: 4734514f5e3Sopenharmony_ci return "ImportEntry"; 4744514f5e3Sopenharmony_ci case JSType::LOCAL_EXPORTENTRY_RECORD: 4754514f5e3Sopenharmony_ci return "LocalExportEntry"; 4764514f5e3Sopenharmony_ci case JSType::STAR_EXPORTENTRY_RECORD: 4774514f5e3Sopenharmony_ci return "StarExportEntry"; 4784514f5e3Sopenharmony_ci default: { 4794514f5e3Sopenharmony_ci CString ret = "unknown type "; 4804514f5e3Sopenharmony_ci return ret.append(std::to_string(static_cast<char>(type))); 4814514f5e3Sopenharmony_ci } 4824514f5e3Sopenharmony_ci } 4834514f5e3Sopenharmony_ci} 4844514f5e3Sopenharmony_ci 4854514f5e3Sopenharmony_cistatic void DumpArrayClass(const TaggedArray *arr, std::ostream &os) 4864514f5e3Sopenharmony_ci{ 4874514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 4884514f5e3Sopenharmony_ci uint32_t len = arr->GetLength(); 4894514f5e3Sopenharmony_ci os << " <TaggedArray[" << std::dec << len << "]>\n"; 4904514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 4914514f5e3Sopenharmony_ci JSTaggedValue val(arr->Get(i)); 4924514f5e3Sopenharmony_ci if (!val.IsHole()) { 4934514f5e3Sopenharmony_ci os << std::right << std::setw(DUMP_PROPERTY_OFFSET) << i << ": "; 4944514f5e3Sopenharmony_ci val.DumpTaggedValue(os); 4954514f5e3Sopenharmony_ci os << "\n"; 4964514f5e3Sopenharmony_ci } 4974514f5e3Sopenharmony_ci } 4984514f5e3Sopenharmony_ci} 4994514f5e3Sopenharmony_ci 5004514f5e3Sopenharmony_cistatic void DumpMutantTaggedArray(const MutantTaggedArray *arr, std::ostream &os) 5014514f5e3Sopenharmony_ci{ 5024514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 5034514f5e3Sopenharmony_ci uint32_t len = arr->GetLength(); 5044514f5e3Sopenharmony_ci os << " <MutantTaggedArray[" << std::dec << len << "]>\n"; 5054514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 5064514f5e3Sopenharmony_ci JSTaggedValue val(arr->Get(i)); 5074514f5e3Sopenharmony_ci os << std::right << std::setw(DUMP_PROPERTY_OFFSET) << i << ": "; 5084514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_TYPE_OFFSET) << "[JSTaggedType] : " << val.GetRawData(); 5094514f5e3Sopenharmony_ci os << "\n"; 5104514f5e3Sopenharmony_ci } 5114514f5e3Sopenharmony_ci} 5124514f5e3Sopenharmony_ci 5134514f5e3Sopenharmony_cistatic void DumpCOWMutantTaggedArray(const COWMutantTaggedArray *arr, std::ostream &os) 5144514f5e3Sopenharmony_ci{ 5154514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 5164514f5e3Sopenharmony_ci uint32_t len = arr->GetLength(); 5174514f5e3Sopenharmony_ci os << " <COWMutantTaggedArray[" << std::dec << len << "]>\n"; 5184514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 5194514f5e3Sopenharmony_ci JSTaggedValue val(arr->Get(i)); 5204514f5e3Sopenharmony_ci os << std::right << std::setw(DUMP_PROPERTY_OFFSET) << i << ": "; 5214514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_TYPE_OFFSET) << "[JSTaggedType] : " << val.GetRawData(); 5224514f5e3Sopenharmony_ci os << "\n"; 5234514f5e3Sopenharmony_ci } 5244514f5e3Sopenharmony_ci} 5254514f5e3Sopenharmony_ci 5264514f5e3Sopenharmony_cistatic void DumpConstantPoolClass(const ConstantPool *pool, std::ostream &os) 5274514f5e3Sopenharmony_ci{ 5284514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 5294514f5e3Sopenharmony_ci uint32_t len = pool->GetCacheLength(); 5304514f5e3Sopenharmony_ci os << " <ConstantPool[" << std::dec << len << "]>\n"; 5314514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 5324514f5e3Sopenharmony_ci JSTaggedValue val(pool->GetObjectFromCache(i)); 5334514f5e3Sopenharmony_ci if (!val.IsHole()) { 5344514f5e3Sopenharmony_ci os << std::right << std::setw(DUMP_PROPERTY_OFFSET) << i << ": "; 5354514f5e3Sopenharmony_ci val.DumpTaggedValue(os); 5364514f5e3Sopenharmony_ci os << "\n"; 5374514f5e3Sopenharmony_ci } 5384514f5e3Sopenharmony_ci } 5394514f5e3Sopenharmony_ci} 5404514f5e3Sopenharmony_ci 5414514f5e3Sopenharmony_cistatic void DumpStringClass(const EcmaString *str, std::ostream &os) 5424514f5e3Sopenharmony_ci{ 5434514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 5444514f5e3Sopenharmony_ci CString string = ConvertToString(str); 5454514f5e3Sopenharmony_ci os << string; 5464514f5e3Sopenharmony_ci} 5474514f5e3Sopenharmony_ci 5484514f5e3Sopenharmony_cistatic void DumpPropertyKey(JSTaggedValue key, std::ostream &os) 5494514f5e3Sopenharmony_ci{ 5504514f5e3Sopenharmony_ci if (key.IsString()) { 5514514f5e3Sopenharmony_ci DumpStringClass(EcmaString::Cast(key.GetTaggedObject()), os); 5524514f5e3Sopenharmony_ci } else if (key.IsSymbol()) { 5534514f5e3Sopenharmony_ci JSSymbol *sym = JSSymbol::Cast(key.GetTaggedObject()); 5544514f5e3Sopenharmony_ci if (sym->GetDescription().IsString()) { 5554514f5e3Sopenharmony_ci os << "Symbol(\""; 5564514f5e3Sopenharmony_ci DumpStringClass(EcmaString::Cast(sym->GetDescription().GetTaggedObject()), os); 5574514f5e3Sopenharmony_ci os << "\")"; 5584514f5e3Sopenharmony_ci } else { 5594514f5e3Sopenharmony_ci os << "Symbol(" << sym << ")"; 5604514f5e3Sopenharmony_ci } 5614514f5e3Sopenharmony_ci } else { 5624514f5e3Sopenharmony_ci LOG_ECMA(FATAL) << "this branch is unreachable"; 5634514f5e3Sopenharmony_ci UNREACHABLE(); 5644514f5e3Sopenharmony_ci } 5654514f5e3Sopenharmony_ci} 5664514f5e3Sopenharmony_ci 5674514f5e3Sopenharmony_cistatic void DumpAttr(const PropertyAttributes &attr, bool fastMode, std::ostream &os) 5684514f5e3Sopenharmony_ci{ 5694514f5e3Sopenharmony_ci if (attr.IsAccessor()) { 5704514f5e3Sopenharmony_ci os << "(Accessor) "; 5714514f5e3Sopenharmony_ci } 5724514f5e3Sopenharmony_ci 5734514f5e3Sopenharmony_ci os << "Attr("; 5744514f5e3Sopenharmony_ci os << "[Raw: " << std::hex << attr.GetValue() << "] "; 5754514f5e3Sopenharmony_ci if (attr.IsNoneAttributes()) { 5764514f5e3Sopenharmony_ci os << "NONE"; 5774514f5e3Sopenharmony_ci } 5784514f5e3Sopenharmony_ci if (attr.IsWritable()) { 5794514f5e3Sopenharmony_ci os << "W"; 5804514f5e3Sopenharmony_ci } 5814514f5e3Sopenharmony_ci if (attr.IsEnumerable()) { 5824514f5e3Sopenharmony_ci os << "E"; 5834514f5e3Sopenharmony_ci } 5844514f5e3Sopenharmony_ci if (attr.IsConfigurable()) { 5854514f5e3Sopenharmony_ci os << "C"; 5864514f5e3Sopenharmony_ci } 5874514f5e3Sopenharmony_ci 5884514f5e3Sopenharmony_ci os << ")"; 5894514f5e3Sopenharmony_ci 5904514f5e3Sopenharmony_ci os << " Rep: " << static_cast<int>(attr.GetRepresentation()); 5914514f5e3Sopenharmony_ci 5924514f5e3Sopenharmony_ci os << " InlinedProps: " << attr.IsInlinedProps(); 5934514f5e3Sopenharmony_ci 5944514f5e3Sopenharmony_ci if (fastMode) { 5954514f5e3Sopenharmony_ci os << " Order: " << std::dec << attr.GetOffset(); 5964514f5e3Sopenharmony_ci os << " SortedIndex: " << std::dec << attr.GetSortedIndex(); 5974514f5e3Sopenharmony_ci } else { 5984514f5e3Sopenharmony_ci os << " Order: " << std::dec << attr.GetDictionaryOrder(); 5994514f5e3Sopenharmony_ci } 6004514f5e3Sopenharmony_ci} 6014514f5e3Sopenharmony_ci 6024514f5e3Sopenharmony_cistatic void DumpHClass(const JSHClass *jshclass, std::ostream &os, bool withDetail) 6034514f5e3Sopenharmony_ci{ 6044514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 6054514f5e3Sopenharmony_ci os << "JSHClass :" << std::setw(DUMP_TYPE_OFFSET); 6064514f5e3Sopenharmony_ci os << "Type :" << JSHClass::DumpJSType(jshclass->GetObjectType()) << "\n"; 6074514f5e3Sopenharmony_ci 6084514f5e3Sopenharmony_ci os << " - Prototype :" << std::setw(DUMP_TYPE_OFFSET); 6094514f5e3Sopenharmony_ci jshclass->GetPrototype().DumpTaggedValue(os); 6104514f5e3Sopenharmony_ci os << "\n"; 6114514f5e3Sopenharmony_ci os << " - PropertyDescriptors :" << std::setw(DUMP_TYPE_OFFSET); 6124514f5e3Sopenharmony_ci JSTaggedValue attrs = jshclass->GetLayout(); 6134514f5e3Sopenharmony_ci attrs.DumpTaggedValue(os); 6144514f5e3Sopenharmony_ci os << "\n"; 6154514f5e3Sopenharmony_ci if (withDetail && !attrs.IsNull()) { 6164514f5e3Sopenharmony_ci LayoutInfo *layout = LayoutInfo::Cast(jshclass->GetLayout().GetTaggedObject()); 6174514f5e3Sopenharmony_ci int element = static_cast<int>(jshclass->NumberOfProps()); 6184514f5e3Sopenharmony_ci for (int i = 0; i < element; i++) { 6194514f5e3Sopenharmony_ci JSTaggedValue key = layout->GetKey(i); 6204514f5e3Sopenharmony_ci PropertyAttributes attr = layout->GetAttr(i); 6214514f5e3Sopenharmony_ci os << std::right << std::setw(DUMP_PROPERTY_OFFSET); 6224514f5e3Sopenharmony_ci os << "[" << i << "]: "; 6234514f5e3Sopenharmony_ci DumpPropertyKey(key, os); 6244514f5e3Sopenharmony_ci os << " : "; 6254514f5e3Sopenharmony_ci DumpAttr(attr, true, os); 6264514f5e3Sopenharmony_ci os << "\n"; 6274514f5e3Sopenharmony_ci } 6284514f5e3Sopenharmony_ci } 6294514f5e3Sopenharmony_ci 6304514f5e3Sopenharmony_ci os << " - Transitions :" << std::setw(DUMP_TYPE_OFFSET); 6314514f5e3Sopenharmony_ci JSTaggedValue transtions = jshclass->GetTransitions(); 6324514f5e3Sopenharmony_ci transtions.DumpTaggedValue(os); 6334514f5e3Sopenharmony_ci os << "\n"; 6344514f5e3Sopenharmony_ci if (withDetail && !transtions.IsWeakForHeapObject() && transtions.IsDictionary()) { 6354514f5e3Sopenharmony_ci transtions.Dump(os); 6364514f5e3Sopenharmony_ci } 6374514f5e3Sopenharmony_ci 6384514f5e3Sopenharmony_ci os << " - ProtoChangeMarker :" << std::setw(DUMP_TYPE_OFFSET); 6394514f5e3Sopenharmony_ci JSTaggedValue marker = jshclass->GetProtoChangeMarker(); 6404514f5e3Sopenharmony_ci marker.DumpTaggedValue(os); 6414514f5e3Sopenharmony_ci if (marker.IsHeapObject()) { 6424514f5e3Sopenharmony_ci ProtoChangeMarker::Cast(marker.GetTaggedObject())->Dump(os); 6434514f5e3Sopenharmony_ci } else { 6444514f5e3Sopenharmony_ci os << "\n"; 6454514f5e3Sopenharmony_ci } 6464514f5e3Sopenharmony_ci 6474514f5e3Sopenharmony_ci os << " - ProtoChangeDetails :" << std::setw(DUMP_TYPE_OFFSET); 6484514f5e3Sopenharmony_ci JSTaggedValue details = jshclass->GetProtoChangeDetails(); 6494514f5e3Sopenharmony_ci details.DumpTaggedValue(os); 6504514f5e3Sopenharmony_ci if (details.IsHeapObject()) { 6514514f5e3Sopenharmony_ci ProtoChangeDetails::Cast(details.GetTaggedObject())->Dump(os); 6524514f5e3Sopenharmony_ci } else { 6534514f5e3Sopenharmony_ci os << "\n"; 6544514f5e3Sopenharmony_ci } 6554514f5e3Sopenharmony_ci 6564514f5e3Sopenharmony_ci os << " - ProfileType : " << std::hex << jshclass->GetProfileType() << "\n"; 6574514f5e3Sopenharmony_ci 6584514f5e3Sopenharmony_ci os << " - Flags : " << std::setw(DUMP_TYPE_OFFSET); 6594514f5e3Sopenharmony_ci os << "IsCtor :" << std::boolalpha << jshclass->IsConstructor(); 6604514f5e3Sopenharmony_ci os << "| IsCallable :" << std::boolalpha << jshclass->IsCallable(); 6614514f5e3Sopenharmony_ci os << "| IsExtensible :" << std::boolalpha << jshclass->IsExtensible(); 6624514f5e3Sopenharmony_ci os << "| ElementsKind :" << Elements::GetString(jshclass->GetElementsKind()); 6634514f5e3Sopenharmony_ci os << "| NumberOfProps :" << std::dec << jshclass->NumberOfProps(); 6644514f5e3Sopenharmony_ci os << "| InlinedProperties :" << std::dec << jshclass->GetInlinedProperties(); 6654514f5e3Sopenharmony_ci os << "| IsTS :" << std::boolalpha << jshclass->IsTS(); 6664514f5e3Sopenharmony_ci os << "| Level :" << std::dec << static_cast<int>(jshclass->GetLevel()); 6674514f5e3Sopenharmony_ci os << "\n"; 6684514f5e3Sopenharmony_ci} 6694514f5e3Sopenharmony_ci 6704514f5e3Sopenharmony_cistatic void DumpClass(TaggedObject *obj, std::ostream &os) 6714514f5e3Sopenharmony_ci{ 6724514f5e3Sopenharmony_ci ASSERT(obj->GetClass()->GetObjectType() == JSType::HCLASS); 6734514f5e3Sopenharmony_ci DumpHClass(JSHClass::Cast(obj), os, true); 6744514f5e3Sopenharmony_ci} 6754514f5e3Sopenharmony_ci 6764514f5e3Sopenharmony_cistatic void DumpObject(TaggedObject *obj, std::ostream &os) 6774514f5e3Sopenharmony_ci{ 6784514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 6794514f5e3Sopenharmony_ci auto jsHclass = obj->GetClass(); 6804514f5e3Sopenharmony_ci JSType type = jsHclass->GetObjectType(); 6814514f5e3Sopenharmony_ci 6824514f5e3Sopenharmony_ci bool needDumpHClass = false; 6834514f5e3Sopenharmony_ci switch (type) { 6844514f5e3Sopenharmony_ci case JSType::HCLASS: 6854514f5e3Sopenharmony_ci return DumpClass(obj, os); 6864514f5e3Sopenharmony_ci case JSType::TAGGED_ARRAY: 6874514f5e3Sopenharmony_ci case JSType::TAGGED_DICTIONARY: 6884514f5e3Sopenharmony_ci case JSType::TEMPLATE_MAP: 6894514f5e3Sopenharmony_ci case JSType::LEXICAL_ENV: 6904514f5e3Sopenharmony_ci case JSType::SENDABLE_ENV: 6914514f5e3Sopenharmony_ci case JSType::COW_TAGGED_ARRAY: 6924514f5e3Sopenharmony_ci case JSType::AOT_LITERAL_INFO: 6934514f5e3Sopenharmony_ci DumpArrayClass(TaggedArray::Cast(obj), os); 6944514f5e3Sopenharmony_ci break; 6954514f5e3Sopenharmony_ci case JSType::MUTANT_TAGGED_ARRAY: 6964514f5e3Sopenharmony_ci DumpMutantTaggedArray(MutantTaggedArray::Cast(obj), os); 6974514f5e3Sopenharmony_ci break; 6984514f5e3Sopenharmony_ci case JSType::COW_MUTANT_TAGGED_ARRAY: 6994514f5e3Sopenharmony_ci DumpCOWMutantTaggedArray(COWMutantTaggedArray::Cast(obj), os); 7004514f5e3Sopenharmony_ci break; 7014514f5e3Sopenharmony_ci case JSType::CONSTANT_POOL: 7024514f5e3Sopenharmony_ci DumpConstantPoolClass(ConstantPool::Cast(obj), os); 7034514f5e3Sopenharmony_ci break; 7044514f5e3Sopenharmony_ci case JSType::PROFILE_TYPE_INFO: 7054514f5e3Sopenharmony_ci ProfileTypeInfo::Cast(obj)->Dump(os); 7064514f5e3Sopenharmony_ci break; 7074514f5e3Sopenharmony_ci case JSType::PROFILE_TYPE_INFO_CELL_0: 7084514f5e3Sopenharmony_ci case JSType::PROFILE_TYPE_INFO_CELL_1: 7094514f5e3Sopenharmony_ci case JSType::PROFILE_TYPE_INFO_CELL_N: 7104514f5e3Sopenharmony_ci ProfileTypeInfoCell::Cast(obj)->Dump(os); 7114514f5e3Sopenharmony_ci break; 7124514f5e3Sopenharmony_ci case JSType::FUNCTION_TEMPLATE: 7134514f5e3Sopenharmony_ci FunctionTemplate::Cast(obj)->Dump(os); 7144514f5e3Sopenharmony_ci break; 7154514f5e3Sopenharmony_ci case JSType::VTABLE: 7164514f5e3Sopenharmony_ci VTable::Cast(obj)->Dump(os); 7174514f5e3Sopenharmony_ci break; 7184514f5e3Sopenharmony_ci case JSType::EXTRA_PROFILE_TYPE_INFO: 7194514f5e3Sopenharmony_ci ExtraProfileTypeInfo::Cast(obj)->Dump(os); 7204514f5e3Sopenharmony_ci break; 7214514f5e3Sopenharmony_ci case JSType::LINE_STRING: 7224514f5e3Sopenharmony_ci case JSType::CONSTANT_STRING: 7234514f5e3Sopenharmony_ci case JSType::TREE_STRING: 7244514f5e3Sopenharmony_ci case JSType::SLICED_STRING: 7254514f5e3Sopenharmony_ci DumpStringClass(EcmaString::Cast(obj), os); 7264514f5e3Sopenharmony_ci os << "\n"; 7274514f5e3Sopenharmony_ci break; 7284514f5e3Sopenharmony_ci case JSType::JS_NATIVE_POINTER: 7294514f5e3Sopenharmony_ci break; 7304514f5e3Sopenharmony_ci case JSType::JS_OBJECT: 7314514f5e3Sopenharmony_ci case JSType::JS_SHARED_OBJECT: 7324514f5e3Sopenharmony_ci case JSType::JS_GLOBAL_OBJECT: 7334514f5e3Sopenharmony_ci case JSType::JS_ERROR: 7344514f5e3Sopenharmony_ci case JSType::JS_EVAL_ERROR: 7354514f5e3Sopenharmony_ci case JSType::JS_RANGE_ERROR: 7364514f5e3Sopenharmony_ci case JSType::JS_TYPE_ERROR: 7374514f5e3Sopenharmony_ci case JSType::JS_AGGREGATE_ERROR: 7384514f5e3Sopenharmony_ci case JSType::JS_REFERENCE_ERROR: 7394514f5e3Sopenharmony_ci case JSType::JS_URI_ERROR: 7404514f5e3Sopenharmony_ci case JSType::JS_SYNTAX_ERROR: 7414514f5e3Sopenharmony_ci case JSType::JS_OOM_ERROR: 7424514f5e3Sopenharmony_ci case JSType::JS_TERMINATION_ERROR: 7434514f5e3Sopenharmony_ci case JSType::JS_ARGUMENTS: 7444514f5e3Sopenharmony_ci needDumpHClass = true; 7454514f5e3Sopenharmony_ci JSObject::Cast(obj)->Dump(os); 7464514f5e3Sopenharmony_ci break; 7474514f5e3Sopenharmony_ci case JSType::JS_FUNCTION_BASE: 7484514f5e3Sopenharmony_ci needDumpHClass = true; 7494514f5e3Sopenharmony_ci JSFunctionBase::Cast(obj)->Dump(os); 7504514f5e3Sopenharmony_ci break; 7514514f5e3Sopenharmony_ci case JSType::GLOBAL_ENV: 7524514f5e3Sopenharmony_ci GlobalEnv::Cast(obj)->Dump(os); 7534514f5e3Sopenharmony_ci break; 7544514f5e3Sopenharmony_ci case JSType::ACCESSOR_DATA: 7554514f5e3Sopenharmony_ci break; 7564514f5e3Sopenharmony_ci case JSType::JS_SHARED_FUNCTION: 7574514f5e3Sopenharmony_ci case JSType::JS_FUNCTION: 7584514f5e3Sopenharmony_ci needDumpHClass = true; 7594514f5e3Sopenharmony_ci JSFunction::Cast(obj)->Dump(os); 7604514f5e3Sopenharmony_ci break; 7614514f5e3Sopenharmony_ci case JSType::JS_BOUND_FUNCTION: 7624514f5e3Sopenharmony_ci needDumpHClass = true; 7634514f5e3Sopenharmony_ci JSBoundFunction::Cast(obj)->Dump(os); 7644514f5e3Sopenharmony_ci break; 7654514f5e3Sopenharmony_ci case JSType::JS_SET: 7664514f5e3Sopenharmony_ci needDumpHClass = true; 7674514f5e3Sopenharmony_ci JSSet::Cast(obj)->Dump(os); 7684514f5e3Sopenharmony_ci break; 7694514f5e3Sopenharmony_ci case JSType::JS_SHARED_SET: 7704514f5e3Sopenharmony_ci needDumpHClass = true; 7714514f5e3Sopenharmony_ci JSSharedSet::Cast(obj)->Dump(os); 7724514f5e3Sopenharmony_ci break; 7734514f5e3Sopenharmony_ci case JSType::JS_MAP: 7744514f5e3Sopenharmony_ci needDumpHClass = true; 7754514f5e3Sopenharmony_ci JSMap::Cast(obj)->Dump(os); 7764514f5e3Sopenharmony_ci break; 7774514f5e3Sopenharmony_ci case JSType::JS_SHARED_MAP: 7784514f5e3Sopenharmony_ci needDumpHClass = true; 7794514f5e3Sopenharmony_ci JSSharedMap::Cast(obj)->Dump(os); 7804514f5e3Sopenharmony_ci break; 7814514f5e3Sopenharmony_ci case JSType::JS_WEAK_SET: 7824514f5e3Sopenharmony_ci needDumpHClass = true; 7834514f5e3Sopenharmony_ci JSWeakSet::Cast(obj)->Dump(os); 7844514f5e3Sopenharmony_ci break; 7854514f5e3Sopenharmony_ci case JSType::JS_WEAK_MAP: 7864514f5e3Sopenharmony_ci needDumpHClass = true; 7874514f5e3Sopenharmony_ci JSWeakMap::Cast(obj)->Dump(os); 7884514f5e3Sopenharmony_ci break; 7894514f5e3Sopenharmony_ci case JSType::JS_WEAK_REF: 7904514f5e3Sopenharmony_ci needDumpHClass = true; 7914514f5e3Sopenharmony_ci JSWeakRef::Cast(obj)->Dump(os); 7924514f5e3Sopenharmony_ci break; 7934514f5e3Sopenharmony_ci case JSType::JS_FINALIZATION_REGISTRY: 7944514f5e3Sopenharmony_ci JSFinalizationRegistry::Cast(obj)->Dump(os); 7954514f5e3Sopenharmony_ci break; 7964514f5e3Sopenharmony_ci case JSType::CELL_RECORD: 7974514f5e3Sopenharmony_ci CellRecord::Cast(obj)->Dump(os); 7984514f5e3Sopenharmony_ci break; 7994514f5e3Sopenharmony_ci case JSType::JS_REG_EXP: 8004514f5e3Sopenharmony_ci needDumpHClass = true; 8014514f5e3Sopenharmony_ci JSRegExp::Cast(obj)->Dump(os); 8024514f5e3Sopenharmony_ci break; 8034514f5e3Sopenharmony_ci case JSType::JS_DATE: 8044514f5e3Sopenharmony_ci needDumpHClass = true; 8054514f5e3Sopenharmony_ci JSDate::Cast(obj)->Dump(os); 8064514f5e3Sopenharmony_ci break; 8074514f5e3Sopenharmony_ci case JSType::JS_ARRAY: 8084514f5e3Sopenharmony_ci needDumpHClass = true; 8094514f5e3Sopenharmony_ci JSArray::Cast(obj)->Dump(os); 8104514f5e3Sopenharmony_ci break; 8114514f5e3Sopenharmony_ci case JSType::JS_SHARED_ARRAY: 8124514f5e3Sopenharmony_ci needDumpHClass = true; 8134514f5e3Sopenharmony_ci JSSharedArray::Cast(obj)->Dump(os); 8144514f5e3Sopenharmony_ci break; 8154514f5e3Sopenharmony_ci case JSType::JS_TYPED_ARRAY: 8164514f5e3Sopenharmony_ci case JSType::JS_INT8_ARRAY: 8174514f5e3Sopenharmony_ci case JSType::JS_UINT8_ARRAY: 8184514f5e3Sopenharmony_ci case JSType::JS_UINT8_CLAMPED_ARRAY: 8194514f5e3Sopenharmony_ci case JSType::JS_INT16_ARRAY: 8204514f5e3Sopenharmony_ci case JSType::JS_UINT16_ARRAY: 8214514f5e3Sopenharmony_ci case JSType::JS_INT32_ARRAY: 8224514f5e3Sopenharmony_ci case JSType::JS_UINT32_ARRAY: 8234514f5e3Sopenharmony_ci case JSType::JS_FLOAT32_ARRAY: 8244514f5e3Sopenharmony_ci case JSType::JS_FLOAT64_ARRAY: 8254514f5e3Sopenharmony_ci case JSType::JS_BIGINT64_ARRAY: 8264514f5e3Sopenharmony_ci case JSType::JS_BIGUINT64_ARRAY: 8274514f5e3Sopenharmony_ci needDumpHClass = true; 8284514f5e3Sopenharmony_ci JSTypedArray::Cast(obj)->Dump(os); 8294514f5e3Sopenharmony_ci break; 8304514f5e3Sopenharmony_ci case JSType::JS_SHARED_TYPED_ARRAY: 8314514f5e3Sopenharmony_ci case JSType::JS_SHARED_INT8_ARRAY: 8324514f5e3Sopenharmony_ci case JSType::JS_SHARED_UINT8_ARRAY: 8334514f5e3Sopenharmony_ci case JSType::JS_SHARED_UINT8_CLAMPED_ARRAY: 8344514f5e3Sopenharmony_ci case JSType::JS_SHARED_INT16_ARRAY: 8354514f5e3Sopenharmony_ci case JSType::JS_SHARED_UINT16_ARRAY: 8364514f5e3Sopenharmony_ci case JSType::JS_SHARED_INT32_ARRAY: 8374514f5e3Sopenharmony_ci case JSType::JS_SHARED_UINT32_ARRAY: 8384514f5e3Sopenharmony_ci case JSType::JS_SHARED_FLOAT32_ARRAY: 8394514f5e3Sopenharmony_ci case JSType::JS_SHARED_FLOAT64_ARRAY: 8404514f5e3Sopenharmony_ci case JSType::JS_SHARED_BIGINT64_ARRAY: 8414514f5e3Sopenharmony_ci case JSType::JS_SHARED_BIGUINT64_ARRAY: 8424514f5e3Sopenharmony_ci needDumpHClass = true; 8434514f5e3Sopenharmony_ci JSSharedTypedArray::Cast(obj)->Dump(os); 8444514f5e3Sopenharmony_ci break; 8454514f5e3Sopenharmony_ci case JSType::BIGINT: 8464514f5e3Sopenharmony_ci BigInt::Cast(obj)->Dump(os); 8474514f5e3Sopenharmony_ci break; 8484514f5e3Sopenharmony_ci case JSType::BYTE_ARRAY: 8494514f5e3Sopenharmony_ci ByteArray::Cast(obj)->Dump(os); 8504514f5e3Sopenharmony_ci break; 8514514f5e3Sopenharmony_ci case JSType::JS_PROXY: 8524514f5e3Sopenharmony_ci needDumpHClass = true; 8534514f5e3Sopenharmony_ci JSProxy::Cast(obj)->Dump(os); 8544514f5e3Sopenharmony_ci break; 8554514f5e3Sopenharmony_ci case JSType::JS_PRIMITIVE_REF: 8564514f5e3Sopenharmony_ci JSPrimitiveRef::Cast(obj)->Dump(os); 8574514f5e3Sopenharmony_ci break; 8584514f5e3Sopenharmony_ci case JSType::SYMBOL: 8594514f5e3Sopenharmony_ci JSSymbol::Cast(obj)->Dump(os); 8604514f5e3Sopenharmony_ci break; 8614514f5e3Sopenharmony_ci case JSType::JS_DATA_VIEW: 8624514f5e3Sopenharmony_ci JSDataView::Cast(obj)->Dump(os); 8634514f5e3Sopenharmony_ci break; 8644514f5e3Sopenharmony_ci case JSType::JS_ARRAY_BUFFER: 8654514f5e3Sopenharmony_ci JSArrayBuffer::Cast(obj)->Dump(os); 8664514f5e3Sopenharmony_ci break; 8674514f5e3Sopenharmony_ci case JSType::JS_SENDABLE_ARRAY_BUFFER: 8684514f5e3Sopenharmony_ci JSSendableArrayBuffer::Cast(obj)->Dump(os); 8694514f5e3Sopenharmony_ci break; 8704514f5e3Sopenharmony_ci case JSType::JS_SHARED_ARRAY_BUFFER: 8714514f5e3Sopenharmony_ci JSArrayBuffer::Cast(obj)->Dump(os); 8724514f5e3Sopenharmony_ci break; 8734514f5e3Sopenharmony_ci case JSType::PROMISE_REACTIONS: 8744514f5e3Sopenharmony_ci PromiseReaction::Cast(obj)->Dump(os); 8754514f5e3Sopenharmony_ci break; 8764514f5e3Sopenharmony_ci case JSType::PROMISE_CAPABILITY: 8774514f5e3Sopenharmony_ci PromiseCapability::Cast(obj)->Dump(os); 8784514f5e3Sopenharmony_ci break; 8794514f5e3Sopenharmony_ci case JSType::PROMISE_ITERATOR_RECORD: 8804514f5e3Sopenharmony_ci PromiseIteratorRecord::Cast(obj)->Dump(os); 8814514f5e3Sopenharmony_ci break; 8824514f5e3Sopenharmony_ci case JSType::PROMISE_RECORD: 8834514f5e3Sopenharmony_ci PromiseRecord::Cast(obj)->Dump(os); 8844514f5e3Sopenharmony_ci break; 8854514f5e3Sopenharmony_ci case JSType::RESOLVING_FUNCTIONS_RECORD: 8864514f5e3Sopenharmony_ci ResolvingFunctionsRecord::Cast(obj)->Dump(os); 8874514f5e3Sopenharmony_ci break; 8884514f5e3Sopenharmony_ci case JSType::JS_PROMISE: 8894514f5e3Sopenharmony_ci needDumpHClass = true; 8904514f5e3Sopenharmony_ci JSPromise::Cast(obj)->Dump(os); 8914514f5e3Sopenharmony_ci break; 8924514f5e3Sopenharmony_ci case JSType::JS_PROMISE_REACTIONS_FUNCTION: 8934514f5e3Sopenharmony_ci JSPromiseReactionsFunction::Cast(obj)->Dump(os); 8944514f5e3Sopenharmony_ci break; 8954514f5e3Sopenharmony_ci case JSType::JS_PROMISE_EXECUTOR_FUNCTION: 8964514f5e3Sopenharmony_ci JSPromiseExecutorFunction::Cast(obj)->Dump(os); 8974514f5e3Sopenharmony_ci break; 8984514f5e3Sopenharmony_ci case JSType::JS_ASYNC_MODULE_FULFILLED_FUNCTION: 8994514f5e3Sopenharmony_ci JSAsyncModuleFulfilledFunction::Cast(obj)->Dump(os); 9004514f5e3Sopenharmony_ci break; 9014514f5e3Sopenharmony_ci case JSType::JS_ASYNC_MODULE_REJECTED_FUNCTION: 9024514f5e3Sopenharmony_ci JSAsyncModuleRejectedFunction::Cast(obj)->Dump(os); 9034514f5e3Sopenharmony_ci break; 9044514f5e3Sopenharmony_ci case JSType::ASYNC_GENERATOR_REQUEST: 9054514f5e3Sopenharmony_ci AsyncGeneratorRequest::Cast(obj)->Dump(os); 9064514f5e3Sopenharmony_ci break; 9074514f5e3Sopenharmony_ci case JSType::ASYNC_ITERATOR_RECORD: 9084514f5e3Sopenharmony_ci AsyncIteratorRecord::Cast(obj)->Dump(os); 9094514f5e3Sopenharmony_ci break; 9104514f5e3Sopenharmony_ci case JSType::JS_ASYNC_FROM_SYNC_ITERATOR: 9114514f5e3Sopenharmony_ci JSAsyncFromSyncIterator::Cast(obj)->Dump(os); 9124514f5e3Sopenharmony_ci break; 9134514f5e3Sopenharmony_ci case JSType::JS_ASYNC_FROM_SYNC_ITER_UNWARP_FUNCTION: 9144514f5e3Sopenharmony_ci JSAsyncFromSyncIterUnwarpFunction::Cast(obj)->Dump(os); 9154514f5e3Sopenharmony_ci break; 9164514f5e3Sopenharmony_ci case JSType::JS_PROMISE_ALL_RESOLVE_ELEMENT_FUNCTION: 9174514f5e3Sopenharmony_ci JSPromiseAllResolveElementFunction::Cast(obj)->Dump(os); 9184514f5e3Sopenharmony_ci break; 9194514f5e3Sopenharmony_ci case JSType::JS_PROMISE_ANY_REJECT_ELEMENT_FUNCTION: 9204514f5e3Sopenharmony_ci JSPromiseAnyRejectElementFunction::Cast(obj)->Dump(os); 9214514f5e3Sopenharmony_ci break; 9224514f5e3Sopenharmony_ci case JSType::JS_PROMISE_ALL_SETTLED_ELEMENT_FUNCTION: 9234514f5e3Sopenharmony_ci JSPromiseAllSettledElementFunction::Cast(obj)->Dump(os); 9244514f5e3Sopenharmony_ci break; 9254514f5e3Sopenharmony_ci case JSType::JS_PROMISE_FINALLY_FUNCTION: 9264514f5e3Sopenharmony_ci JSPromiseFinallyFunction::Cast(obj)->Dump(os); 9274514f5e3Sopenharmony_ci break; 9284514f5e3Sopenharmony_ci case JSType::JS_PROMISE_VALUE_THUNK_OR_THROWER_FUNCTION: 9294514f5e3Sopenharmony_ci JSPromiseValueThunkOrThrowerFunction::Cast(obj)->Dump(os); 9304514f5e3Sopenharmony_ci break; 9314514f5e3Sopenharmony_ci case JSType::MICRO_JOB_QUEUE: 9324514f5e3Sopenharmony_ci MicroJobQueue::Cast(obj)->Dump(os); 9334514f5e3Sopenharmony_ci break; 9344514f5e3Sopenharmony_ci case JSType::PENDING_JOB: 9354514f5e3Sopenharmony_ci PendingJob::Cast(obj)->Dump(os); 9364514f5e3Sopenharmony_ci break; 9374514f5e3Sopenharmony_ci case JSType::COMPLETION_RECORD: 9384514f5e3Sopenharmony_ci CompletionRecord::Cast(obj)->Dump(os); 9394514f5e3Sopenharmony_ci break; 9404514f5e3Sopenharmony_ci case JSType::JS_PROXY_REVOC_FUNCTION: 9414514f5e3Sopenharmony_ci JSProxyRevocFunction::Cast(obj)->Dump(os); 9424514f5e3Sopenharmony_ci break; 9434514f5e3Sopenharmony_ci case JSType::JS_ASYNC_FUNCTION: 9444514f5e3Sopenharmony_ci case JSType::JS_SHARED_ASYNC_FUNCTION: 9454514f5e3Sopenharmony_ci needDumpHClass = true; 9464514f5e3Sopenharmony_ci JSAsyncFunction::Cast(obj)->Dump(os); 9474514f5e3Sopenharmony_ci break; 9484514f5e3Sopenharmony_ci case JSType::JS_ASYNC_AWAIT_STATUS_FUNCTION: 9494514f5e3Sopenharmony_ci JSAsyncAwaitStatusFunction::Cast(obj)->Dump(os); 9504514f5e3Sopenharmony_ci break; 9514514f5e3Sopenharmony_ci case JSType::JS_GENERATOR_FUNCTION: 9524514f5e3Sopenharmony_ci JSGeneratorFunction::Cast(obj)->Dump(os); 9534514f5e3Sopenharmony_ci break; 9544514f5e3Sopenharmony_ci case JSType::JS_ASYNC_GENERATOR_FUNCTION: 9554514f5e3Sopenharmony_ci needDumpHClass = true; 9564514f5e3Sopenharmony_ci JSAsyncGeneratorFunction::Cast(obj)->Dump(os); 9574514f5e3Sopenharmony_ci break; 9584514f5e3Sopenharmony_ci case JSType::JS_ASYNC_GENERATOR_RESUME_NEXT_RETURN_PROCESSOR_RST_FTN: 9594514f5e3Sopenharmony_ci JSAsyncGeneratorResNextRetProRstFtn::Cast(obj)->Dump(os); 9604514f5e3Sopenharmony_ci break; 9614514f5e3Sopenharmony_ci case JSType::JS_INTL_BOUND_FUNCTION: 9624514f5e3Sopenharmony_ci JSIntlBoundFunction::Cast(obj)->Dump(os); 9634514f5e3Sopenharmony_ci break; 9644514f5e3Sopenharmony_ci case JSType::JS_ITERATOR: 9654514f5e3Sopenharmony_ci break; 9664514f5e3Sopenharmony_ci case JSType::JS_ASYNCITERATOR: 9674514f5e3Sopenharmony_ci break; 9684514f5e3Sopenharmony_ci case JSType::JS_FORIN_ITERATOR: 9694514f5e3Sopenharmony_ci JSForInIterator::Cast(obj)->Dump(os); 9704514f5e3Sopenharmony_ci break; 9714514f5e3Sopenharmony_ci case JSType::JS_MAP_ITERATOR: 9724514f5e3Sopenharmony_ci JSMapIterator::Cast(obj)->Dump(os); 9734514f5e3Sopenharmony_ci break; 9744514f5e3Sopenharmony_ci case JSType::JS_SHARED_MAP_ITERATOR: 9754514f5e3Sopenharmony_ci JSSharedMapIterator::Cast(obj)->Dump(os); 9764514f5e3Sopenharmony_ci break; 9774514f5e3Sopenharmony_ci case JSType::JS_SET_ITERATOR: 9784514f5e3Sopenharmony_ci JSSetIterator::Cast(obj)->Dump(os); 9794514f5e3Sopenharmony_ci break; 9804514f5e3Sopenharmony_ci case JSType::JS_SHARED_SET_ITERATOR: 9814514f5e3Sopenharmony_ci JSSharedSetIterator::Cast(obj)->Dump(os); 9824514f5e3Sopenharmony_ci break; 9834514f5e3Sopenharmony_ci case JSType::JS_REG_EXP_ITERATOR: 9844514f5e3Sopenharmony_ci JSRegExpIterator::Cast(obj)->Dump(os); 9854514f5e3Sopenharmony_ci break; 9864514f5e3Sopenharmony_ci case JSType::JS_ARRAY_ITERATOR: 9874514f5e3Sopenharmony_ci JSArrayIterator::Cast(obj)->Dump(os); 9884514f5e3Sopenharmony_ci break; 9894514f5e3Sopenharmony_ci case JSType::JS_SHARED_ARRAY_ITERATOR: 9904514f5e3Sopenharmony_ci JSSharedArrayIterator::Cast(obj)->Dump(os); 9914514f5e3Sopenharmony_ci break; 9924514f5e3Sopenharmony_ci case JSType::JS_STRING_ITERATOR: 9934514f5e3Sopenharmony_ci JSStringIterator::Cast(obj)->Dump(os); 9944514f5e3Sopenharmony_ci break; 9954514f5e3Sopenharmony_ci case JSType::PROTOTYPE_HANDLER: 9964514f5e3Sopenharmony_ci PrototypeHandler::Cast(obj)->Dump(os); 9974514f5e3Sopenharmony_ci break; 9984514f5e3Sopenharmony_ci case JSType::TRANSITION_HANDLER: 9994514f5e3Sopenharmony_ci TransitionHandler::Cast(obj)->Dump(os); 10004514f5e3Sopenharmony_ci break; 10014514f5e3Sopenharmony_ci case JSType::TRANS_WITH_PROTO_HANDLER: 10024514f5e3Sopenharmony_ci TransWithProtoHandler::Cast(obj)->Dump(os); 10034514f5e3Sopenharmony_ci break; 10044514f5e3Sopenharmony_ci case JSType::STORE_TS_HANDLER: 10054514f5e3Sopenharmony_ci StoreTSHandler::Cast(obj)->Dump(os); 10064514f5e3Sopenharmony_ci break; 10074514f5e3Sopenharmony_ci case JSType::PROPERTY_BOX: 10084514f5e3Sopenharmony_ci PropertyBox::Cast(obj)->Dump(os); 10094514f5e3Sopenharmony_ci break; 10104514f5e3Sopenharmony_ci case JSType::JS_REALM: 10114514f5e3Sopenharmony_ci needDumpHClass = true; 10124514f5e3Sopenharmony_ci JSRealm::Cast(obj)->Dump(os); 10134514f5e3Sopenharmony_ci break; 10144514f5e3Sopenharmony_ci#ifdef ARK_SUPPORT_INTL 10154514f5e3Sopenharmony_ci case JSType::JS_INTL: 10164514f5e3Sopenharmony_ci needDumpHClass = true; 10174514f5e3Sopenharmony_ci JSIntl::Cast(obj)->Dump(os); 10184514f5e3Sopenharmony_ci break; 10194514f5e3Sopenharmony_ci case JSType::JS_LOCALE: 10204514f5e3Sopenharmony_ci needDumpHClass = true; 10214514f5e3Sopenharmony_ci JSLocale::Cast(obj)->Dump(os); 10224514f5e3Sopenharmony_ci break; 10234514f5e3Sopenharmony_ci case JSType::JS_DATE_TIME_FORMAT: 10244514f5e3Sopenharmony_ci JSDateTimeFormat::Cast(obj)->Dump(os); 10254514f5e3Sopenharmony_ci break; 10264514f5e3Sopenharmony_ci case JSType::JS_RELATIVE_TIME_FORMAT: 10274514f5e3Sopenharmony_ci JSRelativeTimeFormat::Cast(obj)->Dump(os); 10284514f5e3Sopenharmony_ci break; 10294514f5e3Sopenharmony_ci case JSType::JS_NUMBER_FORMAT: 10304514f5e3Sopenharmony_ci JSNumberFormat::Cast(obj)->Dump(os); 10314514f5e3Sopenharmony_ci break; 10324514f5e3Sopenharmony_ci case JSType::JS_COLLATOR: 10334514f5e3Sopenharmony_ci needDumpHClass = true; 10344514f5e3Sopenharmony_ci JSCollator::Cast(obj)->Dump(os); 10354514f5e3Sopenharmony_ci break; 10364514f5e3Sopenharmony_ci case JSType::JS_PLURAL_RULES: 10374514f5e3Sopenharmony_ci JSPluralRules::Cast(obj)->Dump(os); 10384514f5e3Sopenharmony_ci break; 10394514f5e3Sopenharmony_ci case JSType::JS_DISPLAYNAMES: 10404514f5e3Sopenharmony_ci JSDisplayNames::Cast(obj)->Dump(os); 10414514f5e3Sopenharmony_ci break; 10424514f5e3Sopenharmony_ci case JSType::JS_SEGMENTER: 10434514f5e3Sopenharmony_ci JSSegmenter::Cast(obj)->Dump(os); 10444514f5e3Sopenharmony_ci break; 10454514f5e3Sopenharmony_ci case JSType::JS_SEGMENTS: 10464514f5e3Sopenharmony_ci JSSegments::Cast(obj)->Dump(os); 10474514f5e3Sopenharmony_ci break; 10484514f5e3Sopenharmony_ci case JSType::JS_SEGMENT_ITERATOR: 10494514f5e3Sopenharmony_ci JSSegmentIterator::Cast(obj)->Dump(os); 10504514f5e3Sopenharmony_ci break; 10514514f5e3Sopenharmony_ci case JSType::JS_LIST_FORMAT: 10524514f5e3Sopenharmony_ci JSListFormat::Cast(obj)->Dump(os); 10534514f5e3Sopenharmony_ci break; 10544514f5e3Sopenharmony_ci#else 10554514f5e3Sopenharmony_ci case JSType::JS_INTL: 10564514f5e3Sopenharmony_ci case JSType::JS_LOCALE: 10574514f5e3Sopenharmony_ci case JSType::JS_DATE_TIME_FORMAT: 10584514f5e3Sopenharmony_ci case JSType::JS_RELATIVE_TIME_FORMAT: 10594514f5e3Sopenharmony_ci case JSType::JS_NUMBER_FORMAT: 10604514f5e3Sopenharmony_ci case JSType::JS_COLLATOR: 10614514f5e3Sopenharmony_ci case JSType::JS_PLURAL_RULES: 10624514f5e3Sopenharmony_ci case JSType::JS_DISPLAYNAMES: 10634514f5e3Sopenharmony_ci case JSType::JS_SEGMENTER: 10644514f5e3Sopenharmony_ci case JSType::JS_SEGMENTS: 10654514f5e3Sopenharmony_ci case JSType::JS_SEGMENT_ITERATOR: 10664514f5e3Sopenharmony_ci case JSType::JS_LIST_FORMAT: 10674514f5e3Sopenharmony_ci break; 10684514f5e3Sopenharmony_ci#endif 10694514f5e3Sopenharmony_ci case JSType::JS_GENERATOR_OBJECT: 10704514f5e3Sopenharmony_ci needDumpHClass = true; 10714514f5e3Sopenharmony_ci JSGeneratorObject::Cast(obj)->Dump(os); 10724514f5e3Sopenharmony_ci break; 10734514f5e3Sopenharmony_ci case JSType::JS_ASYNC_GENERATOR_OBJECT: 10744514f5e3Sopenharmony_ci needDumpHClass = true; 10754514f5e3Sopenharmony_ci JSAsyncGeneratorObject::Cast(obj)->Dump(os); 10764514f5e3Sopenharmony_ci break; 10774514f5e3Sopenharmony_ci case JSType::JS_ASYNC_FUNC_OBJECT: 10784514f5e3Sopenharmony_ci needDumpHClass = true; 10794514f5e3Sopenharmony_ci JSAsyncFuncObject::Cast(obj)->Dump(os); 10804514f5e3Sopenharmony_ci break; 10814514f5e3Sopenharmony_ci case JSType::JS_GENERATOR_CONTEXT: 10824514f5e3Sopenharmony_ci GeneratorContext::Cast(obj)->Dump(os); 10834514f5e3Sopenharmony_ci break; 10844514f5e3Sopenharmony_ci case JSType::PROTOTYPE_INFO: 10854514f5e3Sopenharmony_ci ProtoChangeDetails::Cast(obj)->Dump(os); 10864514f5e3Sopenharmony_ci break; 10874514f5e3Sopenharmony_ci case JSType::TRACK_INFO: 10884514f5e3Sopenharmony_ci TrackInfo::Cast(obj)->Dump(os); 10894514f5e3Sopenharmony_ci break; 10904514f5e3Sopenharmony_ci case JSType::PROTO_CHANGE_MARKER: 10914514f5e3Sopenharmony_ci ProtoChangeMarker::Cast(obj)->Dump(os); 10924514f5e3Sopenharmony_ci break; 10934514f5e3Sopenharmony_ci case JSType::MARKER_CELL: 10944514f5e3Sopenharmony_ci MarkerCell::Cast(obj)->Dump(os); 10954514f5e3Sopenharmony_ci break; 10964514f5e3Sopenharmony_ci case JSType::PROGRAM: 10974514f5e3Sopenharmony_ci Program::Cast(obj)->Dump(os); 10984514f5e3Sopenharmony_ci break; 10994514f5e3Sopenharmony_ci case JSType::MACHINE_CODE_OBJECT: 11004514f5e3Sopenharmony_ci MachineCode::Cast(obj)->Dump(os); 11014514f5e3Sopenharmony_ci break; 11024514f5e3Sopenharmony_ci case JSType::CLASS_INFO_EXTRACTOR: 11034514f5e3Sopenharmony_ci ClassInfoExtractor::Cast(obj)->Dump(os); 11044514f5e3Sopenharmony_ci break; 11054514f5e3Sopenharmony_ci case JSType::JS_API_ARRAY_LIST: 11064514f5e3Sopenharmony_ci JSAPIArrayList::Cast(obj)->Dump(os); 11074514f5e3Sopenharmony_ci break; 11084514f5e3Sopenharmony_ci case JSType::JS_API_ARRAYLIST_ITERATOR: 11094514f5e3Sopenharmony_ci JSAPIArrayListIterator::Cast(obj)->Dump(os); 11104514f5e3Sopenharmony_ci break; 11114514f5e3Sopenharmony_ci case JSType::JS_API_BITVECTOR: 11124514f5e3Sopenharmony_ci JSAPIBitVector::Cast(obj)->Dump(os); 11134514f5e3Sopenharmony_ci break; 11144514f5e3Sopenharmony_ci case JSType::JS_API_BITVECTOR_ITERATOR: 11154514f5e3Sopenharmony_ci JSAPIBitVectorIterator::Cast(obj)->Dump(os); 11164514f5e3Sopenharmony_ci break; 11174514f5e3Sopenharmony_ci case JSType::JS_API_LIGHT_WEIGHT_MAP: 11184514f5e3Sopenharmony_ci JSAPILightWeightMap::Cast(obj)->Dump(os); 11194514f5e3Sopenharmony_ci break; 11204514f5e3Sopenharmony_ci case JSType::JS_API_LIGHT_WEIGHT_MAP_ITERATOR: 11214514f5e3Sopenharmony_ci JSAPILightWeightMapIterator::Cast(obj)->Dump(os); 11224514f5e3Sopenharmony_ci break; 11234514f5e3Sopenharmony_ci case JSType::JS_API_LIGHT_WEIGHT_SET: 11244514f5e3Sopenharmony_ci JSAPILightWeightSet::Cast(obj)->Dump(os); 11254514f5e3Sopenharmony_ci break; 11264514f5e3Sopenharmony_ci case JSType::JS_API_LIGHT_WEIGHT_SET_ITERATOR: 11274514f5e3Sopenharmony_ci JSAPILightWeightSetIterator::Cast(obj)->Dump(os); 11284514f5e3Sopenharmony_ci break; 11294514f5e3Sopenharmony_ci case JSType::LINKED_NODE: 11304514f5e3Sopenharmony_ci LinkedNode::Cast(obj)->Dump(os); 11314514f5e3Sopenharmony_ci break; 11324514f5e3Sopenharmony_ci case JSType::RB_TREENODE: 11334514f5e3Sopenharmony_ci break; 11344514f5e3Sopenharmony_ci case JSType::JS_API_HASH_MAP: 11354514f5e3Sopenharmony_ci JSAPIHashMap::Cast(obj)->Dump(os); 11364514f5e3Sopenharmony_ci break; 11374514f5e3Sopenharmony_ci case JSType::JS_API_HASH_SET: 11384514f5e3Sopenharmony_ci JSAPIHashSet::Cast(obj)->Dump(os); 11394514f5e3Sopenharmony_ci break; 11404514f5e3Sopenharmony_ci case JSType::JS_API_HASHMAP_ITERATOR: 11414514f5e3Sopenharmony_ci JSAPIHashMapIterator::Cast(obj)->Dump(os); 11424514f5e3Sopenharmony_ci break; 11434514f5e3Sopenharmony_ci case JSType::JS_API_HASHSET_ITERATOR: 11444514f5e3Sopenharmony_ci JSAPIHashSetIterator::Cast(obj)->Dump(os); 11454514f5e3Sopenharmony_ci break; 11464514f5e3Sopenharmony_ci case JSType::JS_API_TREE_MAP: 11474514f5e3Sopenharmony_ci JSAPITreeMap::Cast(obj)->Dump(os); 11484514f5e3Sopenharmony_ci break; 11494514f5e3Sopenharmony_ci case JSType::JS_API_TREE_SET: 11504514f5e3Sopenharmony_ci JSAPITreeSet::Cast(obj)->Dump(os); 11514514f5e3Sopenharmony_ci break; 11524514f5e3Sopenharmony_ci case JSType::JS_API_TREEMAP_ITERATOR: 11534514f5e3Sopenharmony_ci JSAPITreeMapIterator::Cast(obj)->Dump(os); 11544514f5e3Sopenharmony_ci break; 11554514f5e3Sopenharmony_ci case JSType::JS_API_TREESET_ITERATOR: 11564514f5e3Sopenharmony_ci JSAPITreeSetIterator::Cast(obj)->Dump(os); 11574514f5e3Sopenharmony_ci break; 11584514f5e3Sopenharmony_ci case JSType::JS_API_VECTOR: 11594514f5e3Sopenharmony_ci JSAPIVector::Cast(obj)->Dump(os); 11604514f5e3Sopenharmony_ci break; 11614514f5e3Sopenharmony_ci case JSType::JS_API_VECTOR_ITERATOR: 11624514f5e3Sopenharmony_ci JSAPIVectorIterator::Cast(obj)->Dump(os); 11634514f5e3Sopenharmony_ci break; 11644514f5e3Sopenharmony_ci case JSType::JS_API_QUEUE: 11654514f5e3Sopenharmony_ci JSAPIQueue::Cast(obj)->Dump(os); 11664514f5e3Sopenharmony_ci break; 11674514f5e3Sopenharmony_ci case JSType::JS_API_QUEUE_ITERATOR: 11684514f5e3Sopenharmony_ci JSAPIQueueIterator::Cast(obj)->Dump(os); 11694514f5e3Sopenharmony_ci break; 11704514f5e3Sopenharmony_ci case JSType::JS_API_DEQUE: 11714514f5e3Sopenharmony_ci JSAPIDeque::Cast(obj)->Dump(os); 11724514f5e3Sopenharmony_ci break; 11734514f5e3Sopenharmony_ci case JSType::JS_API_DEQUE_ITERATOR: 11744514f5e3Sopenharmony_ci JSAPIDequeIterator::Cast(obj)->Dump(os); 11754514f5e3Sopenharmony_ci break; 11764514f5e3Sopenharmony_ci case JSType::JS_API_STACK: 11774514f5e3Sopenharmony_ci JSAPIStack::Cast(obj)->Dump(os); 11784514f5e3Sopenharmony_ci break; 11794514f5e3Sopenharmony_ci case JSType::JS_API_STACK_ITERATOR: 11804514f5e3Sopenharmony_ci JSAPIStackIterator::Cast(obj)->Dump(os); 11814514f5e3Sopenharmony_ci break; 11824514f5e3Sopenharmony_ci case JSType::JS_API_LIST: 11834514f5e3Sopenharmony_ci JSAPIList::Cast(obj)->Dump(os); 11844514f5e3Sopenharmony_ci break; 11854514f5e3Sopenharmony_ci case JSType::JS_API_LIST_ITERATOR: 11864514f5e3Sopenharmony_ci JSAPIListIterator::Cast(obj)->Dump(os); 11874514f5e3Sopenharmony_ci break; 11884514f5e3Sopenharmony_ci case JSType::JS_API_LINKED_LIST: 11894514f5e3Sopenharmony_ci JSAPILinkedList::Cast(obj)->Dump(os); 11904514f5e3Sopenharmony_ci break; 11914514f5e3Sopenharmony_ci case JSType::JS_API_LINKED_LIST_ITERATOR: 11924514f5e3Sopenharmony_ci JSAPILinkedListIterator::Cast(obj)->Dump(os); 11934514f5e3Sopenharmony_ci break; 11944514f5e3Sopenharmony_ci case JSType::SOURCE_TEXT_MODULE_RECORD: 11954514f5e3Sopenharmony_ci SourceTextModule::Cast(obj)->Dump(os); 11964514f5e3Sopenharmony_ci break; 11974514f5e3Sopenharmony_ci case JSType::IMPORTENTRY_RECORD: 11984514f5e3Sopenharmony_ci ImportEntry::Cast(obj)->Dump(os); 11994514f5e3Sopenharmony_ci break; 12004514f5e3Sopenharmony_ci case JSType::LOCAL_EXPORTENTRY_RECORD: 12014514f5e3Sopenharmony_ci LocalExportEntry::Cast(obj)->Dump(os); 12024514f5e3Sopenharmony_ci break; 12034514f5e3Sopenharmony_ci case JSType::INDIRECT_EXPORTENTRY_RECORD: 12044514f5e3Sopenharmony_ci IndirectExportEntry::Cast(obj)->Dump(os); 12054514f5e3Sopenharmony_ci break; 12064514f5e3Sopenharmony_ci case JSType::STAR_EXPORTENTRY_RECORD: 12074514f5e3Sopenharmony_ci StarExportEntry::Cast(obj)->Dump(os); 12084514f5e3Sopenharmony_ci break; 12094514f5e3Sopenharmony_ci case JSType::RESOLVEDBINDING_RECORD: 12104514f5e3Sopenharmony_ci ResolvedBinding::Cast(obj)->Dump(os); 12114514f5e3Sopenharmony_ci break; 12124514f5e3Sopenharmony_ci case JSType::RESOLVEDINDEXBINDING_RECORD: 12134514f5e3Sopenharmony_ci ResolvedIndexBinding::Cast(obj)->Dump(os); 12144514f5e3Sopenharmony_ci break; 12154514f5e3Sopenharmony_ci case JSType::RESOLVEDRECORDINDEXBINDING_RECORD: 12164514f5e3Sopenharmony_ci ResolvedRecordIndexBinding::Cast(obj)->Dump(os); 12174514f5e3Sopenharmony_ci break; 12184514f5e3Sopenharmony_ci case JSType::RESOLVEDRECORDBINDING_RECORD: 12194514f5e3Sopenharmony_ci ResolvedRecordBinding::Cast(obj)->Dump(os); 12204514f5e3Sopenharmony_ci break; 12214514f5e3Sopenharmony_ci case JSType::NATIVE_MODULE_FAILURE_INFO: 12224514f5e3Sopenharmony_ci NativeModuleFailureInfo::Cast(obj)->Dump(os); 12234514f5e3Sopenharmony_ci break; 12244514f5e3Sopenharmony_ci case JSType::JS_MODULE_NAMESPACE: 12254514f5e3Sopenharmony_ci ModuleNamespace::Cast(obj)->Dump(os); 12264514f5e3Sopenharmony_ci break; 12274514f5e3Sopenharmony_ci case JSType::JS_API_PLAIN_ARRAY: 12284514f5e3Sopenharmony_ci JSAPIPlainArray::Cast(obj)->Dump(os); 12294514f5e3Sopenharmony_ci break; 12304514f5e3Sopenharmony_ci case JSType::JS_API_PLAIN_ARRAY_ITERATOR: 12314514f5e3Sopenharmony_ci JSAPIPlainArrayIterator::Cast(obj)->Dump(os); 12324514f5e3Sopenharmony_ci break; 12334514f5e3Sopenharmony_ci case JSType::JS_CJS_MODULE: 12344514f5e3Sopenharmony_ci CjsModule::Cast(obj)->Dump(os); 12354514f5e3Sopenharmony_ci break; 12364514f5e3Sopenharmony_ci case JSType::JS_CJS_REQUIRE: 12374514f5e3Sopenharmony_ci CjsRequire::Cast(obj)->Dump(os); 12384514f5e3Sopenharmony_ci break; 12394514f5e3Sopenharmony_ci case JSType::JS_CJS_EXPORTS: 12404514f5e3Sopenharmony_ci CjsExports::Cast(obj)->Dump(os); 12414514f5e3Sopenharmony_ci break; 12424514f5e3Sopenharmony_ci case JSType::METHOD: 12434514f5e3Sopenharmony_ci Method::Cast(obj)->Dump(os); 12444514f5e3Sopenharmony_ci break; 12454514f5e3Sopenharmony_ci case JSType::CLASS_LITERAL: 12464514f5e3Sopenharmony_ci ClassLiteral::Cast(obj)->Dump(os); 12474514f5e3Sopenharmony_ci break; 12484514f5e3Sopenharmony_ci default: 12494514f5e3Sopenharmony_ci LOG_ECMA(FATAL) << "this branch is unreachable"; 12504514f5e3Sopenharmony_ci UNREACHABLE(); 12514514f5e3Sopenharmony_ci break; 12524514f5e3Sopenharmony_ci } 12534514f5e3Sopenharmony_ci 12544514f5e3Sopenharmony_ci if (needDumpHClass) { 12554514f5e3Sopenharmony_ci DumpHClass(jsHclass, os, false); 12564514f5e3Sopenharmony_ci } 12574514f5e3Sopenharmony_ci} 12584514f5e3Sopenharmony_ci 12594514f5e3Sopenharmony_civoid JSTaggedValue::DumpSpecialValue(std::ostream &os) const 12604514f5e3Sopenharmony_ci{ 12614514f5e3Sopenharmony_ci ASSERT(IsSpecial()); 12624514f5e3Sopenharmony_ci os << "[Special Value] : "; 12634514f5e3Sopenharmony_ci switch (GetRawData()) { 12644514f5e3Sopenharmony_ci case VALUE_HOLE: 12654514f5e3Sopenharmony_ci os << "Hole"; 12664514f5e3Sopenharmony_ci break; 12674514f5e3Sopenharmony_ci case VALUE_NULL: 12684514f5e3Sopenharmony_ci os << "Null"; 12694514f5e3Sopenharmony_ci break; 12704514f5e3Sopenharmony_ci case VALUE_FALSE: 12714514f5e3Sopenharmony_ci os << "False"; 12724514f5e3Sopenharmony_ci break; 12734514f5e3Sopenharmony_ci case VALUE_TRUE: 12744514f5e3Sopenharmony_ci os << "True"; 12754514f5e3Sopenharmony_ci break; 12764514f5e3Sopenharmony_ci case VALUE_UNDEFINED: 12774514f5e3Sopenharmony_ci os << "Undefined"; 12784514f5e3Sopenharmony_ci break; 12794514f5e3Sopenharmony_ci case VALUE_EXCEPTION: 12804514f5e3Sopenharmony_ci os << "Exception"; 12814514f5e3Sopenharmony_ci break; 12824514f5e3Sopenharmony_ci default: 12834514f5e3Sopenharmony_ci LOG_ECMA(FATAL) << "this branch is unreachable"; 12844514f5e3Sopenharmony_ci UNREACHABLE(); 12854514f5e3Sopenharmony_ci break; 12864514f5e3Sopenharmony_ci } 12874514f5e3Sopenharmony_ci} 12884514f5e3Sopenharmony_ci 12894514f5e3Sopenharmony_civoid JSTaggedValue::DumpHeapObjectType(std::ostream &os) const 12904514f5e3Sopenharmony_ci{ 12914514f5e3Sopenharmony_ci ASSERT(IsWeak() || IsHeapObject()); 12924514f5e3Sopenharmony_ci bool isWeak = IsWeak(); 12934514f5e3Sopenharmony_ci TaggedObject *obj = isWeak ? GetTaggedWeakRef() : GetTaggedObject(); 12944514f5e3Sopenharmony_ci if (isWeak) { 12954514f5e3Sopenharmony_ci os << " [Weak Ref] "; 12964514f5e3Sopenharmony_ci } 12974514f5e3Sopenharmony_ci 12984514f5e3Sopenharmony_ci JSType type = obj->GetClass()->GetObjectType(); 12994514f5e3Sopenharmony_ci if (type >= JSType::STRING_FIRST && type <= JSType::STRING_LAST) { 13004514f5e3Sopenharmony_ci CString string = ConvertToString(EcmaString::Cast(obj)); 13014514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_TYPE_OFFSET) << "[" + string + "]"; 13024514f5e3Sopenharmony_ci } else if (type == JSType::METHOD) { 13034514f5e3Sopenharmony_ci std::ostringstream address; 13044514f5e3Sopenharmony_ci address << obj; 13054514f5e3Sopenharmony_ci CString addrStr = CString(address.str()); 13064514f5e3Sopenharmony_ci Method *method = Method::Cast(obj); 13074514f5e3Sopenharmony_ci 13084514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_TYPE_OFFSET) 13094514f5e3Sopenharmony_ci << "[" + JSHClass::DumpJSType(type) + "(" + addrStr + "-" + method->GetMethodName() + ")]"; 13104514f5e3Sopenharmony_ci } else { 13114514f5e3Sopenharmony_ci std::ostringstream address; 13124514f5e3Sopenharmony_ci address << obj; 13134514f5e3Sopenharmony_ci CString addrStr = CString(address.str()); 13144514f5e3Sopenharmony_ci 13154514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_TYPE_OFFSET) << "[" + JSHClass::DumpJSType(type) + "(" + addrStr + ")]"; 13164514f5e3Sopenharmony_ci } 13174514f5e3Sopenharmony_ci} 13184514f5e3Sopenharmony_ci 13194514f5e3Sopenharmony_civoid JSTaggedValue::DumpTaggedValue(std::ostream &os) const 13204514f5e3Sopenharmony_ci{ 13214514f5e3Sopenharmony_ci if (IsInt()) { 13224514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_TYPE_OFFSET) << "[Int] : " << std::hex << "0x" << GetInt() << std::dec << " (" 13234514f5e3Sopenharmony_ci << GetInt() << ")"; 13244514f5e3Sopenharmony_ci } else if (IsDouble()) { 13254514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_TYPE_OFFSET) << "[Double] : " << GetDouble(); 13264514f5e3Sopenharmony_ci } else if (IsSpecial()) { 13274514f5e3Sopenharmony_ci DumpSpecialValue(os); 13284514f5e3Sopenharmony_ci } else { 13294514f5e3Sopenharmony_ci DumpHeapObjectType(os); 13304514f5e3Sopenharmony_ci } 13314514f5e3Sopenharmony_ci} 13324514f5e3Sopenharmony_ci 13334514f5e3Sopenharmony_civoid JSTaggedValue::DumpTaggedValueType(std::ostream &os) const 13344514f5e3Sopenharmony_ci{ 13354514f5e3Sopenharmony_ci if (IsInt()) { 13364514f5e3Sopenharmony_ci os << "[Int]"; 13374514f5e3Sopenharmony_ci } else if (IsDouble()) { 13384514f5e3Sopenharmony_ci os << "[Double]"; 13394514f5e3Sopenharmony_ci } else if (IsSpecial()) { 13404514f5e3Sopenharmony_ci DumpSpecialValue(os); 13414514f5e3Sopenharmony_ci } else { 13424514f5e3Sopenharmony_ci ASSERT(IsWeak() || IsHeapObject()); 13434514f5e3Sopenharmony_ci TaggedObject *obj = IsWeak() ? GetTaggedWeakRef() : GetTaggedObject(); 13444514f5e3Sopenharmony_ci os << "[" + JSHClass::DumpJSType(obj->GetClass()->GetObjectType()) + "]"; 13454514f5e3Sopenharmony_ci } 13464514f5e3Sopenharmony_ci} 13474514f5e3Sopenharmony_ci 13484514f5e3Sopenharmony_civoid JSTaggedValue::Dump(std::ostream &os) const 13494514f5e3Sopenharmony_ci{ 13504514f5e3Sopenharmony_ci DumpTaggedValue(os); 13514514f5e3Sopenharmony_ci os << "\n"; 13524514f5e3Sopenharmony_ci 13534514f5e3Sopenharmony_ci if (IsHeapObject()) { 13544514f5e3Sopenharmony_ci TaggedObject *obj = IsWeak() ? GetTaggedWeakRef() : GetTaggedObject(); 13554514f5e3Sopenharmony_ci DumpObject(obj, os); 13564514f5e3Sopenharmony_ci } 13574514f5e3Sopenharmony_ci} 13584514f5e3Sopenharmony_ci 13594514f5e3Sopenharmony_civoid JSTaggedValue::D() const 13604514f5e3Sopenharmony_ci{ 13614514f5e3Sopenharmony_ci Dump(std::cout); 13624514f5e3Sopenharmony_ci} 13634514f5e3Sopenharmony_ci 13644514f5e3Sopenharmony_civoid JSTaggedValue::DV(JSTaggedType val) 13654514f5e3Sopenharmony_ci{ 13664514f5e3Sopenharmony_ci JSTaggedValue(val).D(); 13674514f5e3Sopenharmony_ci} 13684514f5e3Sopenharmony_ci 13694514f5e3Sopenharmony_civoid JSThread::DumpStack() 13704514f5e3Sopenharmony_ci{ 13714514f5e3Sopenharmony_ci FrameHandler handler(this); 13724514f5e3Sopenharmony_ci handler.DumpStack(std::cout); 13734514f5e3Sopenharmony_ci} 13744514f5e3Sopenharmony_ci 13754514f5e3Sopenharmony_civoid NumberDictionary::Dump(std::ostream &os) const 13764514f5e3Sopenharmony_ci{ 13774514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 13784514f5e3Sopenharmony_ci int size = Size(); 13794514f5e3Sopenharmony_ci for (int hashIndex = 0; hashIndex < size; hashIndex++) { 13804514f5e3Sopenharmony_ci JSTaggedValue key(GetKey(hashIndex)); 13814514f5e3Sopenharmony_ci if (!key.IsUndefined() && !key.IsHole()) { 13824514f5e3Sopenharmony_ci JSTaggedValue val(GetValue(hashIndex)); 13834514f5e3Sopenharmony_ci os << std::right << std::setw(DUMP_PROPERTY_OFFSET) 13844514f5e3Sopenharmony_ci << static_cast<uint32_t>(JSTaggedNumber(key).GetNumber()) << ": "; 13854514f5e3Sopenharmony_ci val.DumpTaggedValue(os); 13864514f5e3Sopenharmony_ci os << " "; 13874514f5e3Sopenharmony_ci DumpAttr(GetAttributes(hashIndex), false, os); 13884514f5e3Sopenharmony_ci os << "\n"; 13894514f5e3Sopenharmony_ci } 13904514f5e3Sopenharmony_ci } 13914514f5e3Sopenharmony_ci} 13924514f5e3Sopenharmony_ci 13934514f5e3Sopenharmony_civoid NameDictionary::Dump(std::ostream &os) const 13944514f5e3Sopenharmony_ci{ 13954514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 13964514f5e3Sopenharmony_ci int size = Size(); 13974514f5e3Sopenharmony_ci for (int hashIndex = 0; hashIndex < size; hashIndex++) { 13984514f5e3Sopenharmony_ci JSTaggedValue key(GetKey(hashIndex)); 13994514f5e3Sopenharmony_ci if (!key.IsUndefined() && !key.IsHole()) { 14004514f5e3Sopenharmony_ci JSTaggedValue val(GetValue(hashIndex)); 14014514f5e3Sopenharmony_ci os << std::right << std::setw(DUMP_PROPERTY_OFFSET); 14024514f5e3Sopenharmony_ci DumpPropertyKey(key, os); 14034514f5e3Sopenharmony_ci os << ": "; 14044514f5e3Sopenharmony_ci val.DumpTaggedValue(os); 14054514f5e3Sopenharmony_ci os << " "; 14064514f5e3Sopenharmony_ci DumpAttr(GetAttributes(hashIndex), false, os); 14074514f5e3Sopenharmony_ci os << "\n"; 14084514f5e3Sopenharmony_ci } 14094514f5e3Sopenharmony_ci } 14104514f5e3Sopenharmony_ci} 14114514f5e3Sopenharmony_ci 14124514f5e3Sopenharmony_civoid GlobalDictionary::Dump(std::ostream &os) const 14134514f5e3Sopenharmony_ci{ 14144514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 14154514f5e3Sopenharmony_ci int size = Size(); 14164514f5e3Sopenharmony_ci for (int hashIndex = 0; hashIndex < size; hashIndex++) { 14174514f5e3Sopenharmony_ci JSTaggedValue key(GetKey(hashIndex)); 14184514f5e3Sopenharmony_ci if (!key.IsUndefined() && !key.IsHole()) { 14194514f5e3Sopenharmony_ci JSTaggedValue val(GetValue(hashIndex)); 14204514f5e3Sopenharmony_ci os << std::right << std::setw(DUMP_PROPERTY_OFFSET); 14214514f5e3Sopenharmony_ci DumpPropertyKey(key, os); 14224514f5e3Sopenharmony_ci os << " : "; 14234514f5e3Sopenharmony_ci val.DumpTaggedValue(os); 14244514f5e3Sopenharmony_ci os << " "; 14254514f5e3Sopenharmony_ci DumpAttr(GetAttributes(hashIndex), false, os); 14264514f5e3Sopenharmony_ci os << "\n"; 14274514f5e3Sopenharmony_ci } 14284514f5e3Sopenharmony_ci } 14294514f5e3Sopenharmony_ci} 14304514f5e3Sopenharmony_ci 14314514f5e3Sopenharmony_civoid LayoutInfo::Dump(std::ostream &os) const 14324514f5e3Sopenharmony_ci{ 14334514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 14344514f5e3Sopenharmony_ci int num = NumberOfElements(); 14354514f5e3Sopenharmony_ci for (int i = 0; i < num; i++) { 14364514f5e3Sopenharmony_ci JSTaggedValue key = GetKey(i); 14374514f5e3Sopenharmony_ci PropertyAttributes attr = GetAttr(i); 14384514f5e3Sopenharmony_ci os << std::right << std::setw(DUMP_PROPERTY_OFFSET); 14394514f5e3Sopenharmony_ci os << "[" << i << "]: "; 14404514f5e3Sopenharmony_ci DumpPropertyKey(key, os); 14414514f5e3Sopenharmony_ci os << " : "; 14424514f5e3Sopenharmony_ci DumpAttr(attr, true, os); 14434514f5e3Sopenharmony_ci os << "\n"; 14444514f5e3Sopenharmony_ci } 14454514f5e3Sopenharmony_ci} 14464514f5e3Sopenharmony_ci 14474514f5e3Sopenharmony_civoid TransitionsDictionary::Dump(std::ostream &os) const 14484514f5e3Sopenharmony_ci{ 14494514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 14504514f5e3Sopenharmony_ci int size = Size(); 14514514f5e3Sopenharmony_ci for (int hashIndex = 0; hashIndex < size; hashIndex++) { 14524514f5e3Sopenharmony_ci JSTaggedValue key(GetKey(hashIndex)); 14534514f5e3Sopenharmony_ci if (!key.IsUndefined() && !key.IsHole()) { 14544514f5e3Sopenharmony_ci os << std::right << std::setw(DUMP_PROPERTY_OFFSET); 14554514f5e3Sopenharmony_ci DumpPropertyKey(key, os); 14564514f5e3Sopenharmony_ci os << " : "; 14574514f5e3Sopenharmony_ci GetValue(hashIndex).DumpTaggedValue(os); 14584514f5e3Sopenharmony_ci os << " : "; 14594514f5e3Sopenharmony_ci GetAttributes(hashIndex).DumpTaggedValue(os); 14604514f5e3Sopenharmony_ci os << "\n"; 14614514f5e3Sopenharmony_ci } 14624514f5e3Sopenharmony_ci } 14634514f5e3Sopenharmony_ci} 14644514f5e3Sopenharmony_ci 14654514f5e3Sopenharmony_civoid LinkedHashSet::Dump(std::ostream &os) const 14664514f5e3Sopenharmony_ci{ 14674514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 14684514f5e3Sopenharmony_ci int capacity = NumberOfElements() + NumberOfDeletedElements(); 14694514f5e3Sopenharmony_ci for (int hashIndex = 0; hashIndex < capacity; hashIndex++) { 14704514f5e3Sopenharmony_ci JSTaggedValue key(GetKey(hashIndex)); 14714514f5e3Sopenharmony_ci if (!key.IsUndefined() && !key.IsHole()) { 14724514f5e3Sopenharmony_ci os << std::right << std::setw(DUMP_PROPERTY_OFFSET); 14734514f5e3Sopenharmony_ci key.DumpTaggedValue(os); 14744514f5e3Sopenharmony_ci os << "\n"; 14754514f5e3Sopenharmony_ci } 14764514f5e3Sopenharmony_ci } 14774514f5e3Sopenharmony_ci} 14784514f5e3Sopenharmony_ci 14794514f5e3Sopenharmony_civoid LinkedHashMap::Dump(std::ostream &os) const 14804514f5e3Sopenharmony_ci{ 14814514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 14824514f5e3Sopenharmony_ci int capacity = NumberOfElements() + NumberOfDeletedElements(); 14834514f5e3Sopenharmony_ci for (int hashIndex = 0; hashIndex < capacity; hashIndex++) { 14844514f5e3Sopenharmony_ci JSTaggedValue key(GetKey(hashIndex)); 14854514f5e3Sopenharmony_ci if (!key.IsUndefined() && !key.IsHole()) { 14864514f5e3Sopenharmony_ci JSTaggedValue val(GetValue(hashIndex)); 14874514f5e3Sopenharmony_ci os << std::right << std::setw(DUMP_PROPERTY_OFFSET); 14884514f5e3Sopenharmony_ci key.DumpTaggedValue(os); 14894514f5e3Sopenharmony_ci os << ": "; 14904514f5e3Sopenharmony_ci val.DumpTaggedValue(os); 14914514f5e3Sopenharmony_ci os << "\n"; 14924514f5e3Sopenharmony_ci } 14934514f5e3Sopenharmony_ci } 14944514f5e3Sopenharmony_ci} 14954514f5e3Sopenharmony_ci 14964514f5e3Sopenharmony_civoid TaggedDoubleList::Dump(std::ostream &os) const 14974514f5e3Sopenharmony_ci{ 14984514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 14994514f5e3Sopenharmony_ci int capacity = NumberOfNodes(); 15004514f5e3Sopenharmony_ci os << " - node num: " << std::dec << capacity << "\n"; 15014514f5e3Sopenharmony_ci os << " - delete node num: " << std::dec << NumberOfDeletedNodes() << "\n"; 15024514f5e3Sopenharmony_ci os << "head-next: "; 15034514f5e3Sopenharmony_ci // 5 : 5 first element next ptr 15044514f5e3Sopenharmony_ci GetElement(5).Dump(os); 15054514f5e3Sopenharmony_ci os << "head-pre: "; 15064514f5e3Sopenharmony_ci // 6 : 6 first element per ptr 15074514f5e3Sopenharmony_ci GetElement(6).Dump(os); 15084514f5e3Sopenharmony_ci os << "\n"; 15094514f5e3Sopenharmony_ci int i = 0; 15104514f5e3Sopenharmony_ci int next = GetElement(5).GetInt(); 15114514f5e3Sopenharmony_ci while (capacity > i) { 15124514f5e3Sopenharmony_ci os << " value: "; 15134514f5e3Sopenharmony_ci GetElement(next).DumpTaggedValue(os); 15144514f5e3Sopenharmony_ci os << " next: "; 15154514f5e3Sopenharmony_ci // 1 : 1 current element next ptr offset 15164514f5e3Sopenharmony_ci GetElement(next + 1).Dump(os); 15174514f5e3Sopenharmony_ci os << " pre: "; 15184514f5e3Sopenharmony_ci // 2 : 2 current element pre ptr offset 15194514f5e3Sopenharmony_ci GetElement(next + 2).Dump(os); 15204514f5e3Sopenharmony_ci os << "\n"; 15214514f5e3Sopenharmony_ci next = GetElement(next + 1).GetInt(); 15224514f5e3Sopenharmony_ci i++; 15234514f5e3Sopenharmony_ci } 15244514f5e3Sopenharmony_ci} 15254514f5e3Sopenharmony_ci 15264514f5e3Sopenharmony_civoid TaggedSingleList::Dump(std::ostream &os) const 15274514f5e3Sopenharmony_ci{ 15284514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 15294514f5e3Sopenharmony_ci int capacity = NumberOfNodes(); 15304514f5e3Sopenharmony_ci os << "head-next: "; 15314514f5e3Sopenharmony_ci // 5 : 5 first element next ptr 15324514f5e3Sopenharmony_ci GetElement(5).Dump(os); 15334514f5e3Sopenharmony_ci os << "\n"; 15344514f5e3Sopenharmony_ci int i = 0; 15354514f5e3Sopenharmony_ci int next = GetElement(5).GetInt(); 15364514f5e3Sopenharmony_ci while (capacity > i) { 15374514f5e3Sopenharmony_ci os << " value: "; 15384514f5e3Sopenharmony_ci GetElement(next).DumpTaggedValue(os); 15394514f5e3Sopenharmony_ci os << " next: "; 15404514f5e3Sopenharmony_ci // 1 : 1 current element next ptr offset 15414514f5e3Sopenharmony_ci GetElement(next + 1).Dump(os); 15424514f5e3Sopenharmony_ci os << "\n"; 15434514f5e3Sopenharmony_ci next = GetElement(next + 1).GetInt(); 15444514f5e3Sopenharmony_ci i++; 15454514f5e3Sopenharmony_ci } 15464514f5e3Sopenharmony_ci} 15474514f5e3Sopenharmony_ci 15484514f5e3Sopenharmony_civoid JSObject::Dump(std::ostream &os) const 15494514f5e3Sopenharmony_ci{ 15504514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 15514514f5e3Sopenharmony_ci JSHClass *jshclass = GetJSHClass(); 15524514f5e3Sopenharmony_ci os << " - hclass: " << std::hex << jshclass << "\n"; 15534514f5e3Sopenharmony_ci os << " - prototype: "; 15544514f5e3Sopenharmony_ci jshclass->GetPrototype().DumpTaggedValue(os); 15554514f5e3Sopenharmony_ci os << "\n"; 15564514f5e3Sopenharmony_ci 15574514f5e3Sopenharmony_ci JSTaggedType hashField = Barriers::GetValue<JSTaggedType>(this, HASH_OFFSET); 15584514f5e3Sopenharmony_ci JSTaggedValue value(hashField); 15594514f5e3Sopenharmony_ci os << " - hash: " << std::hex << hashField; 15604514f5e3Sopenharmony_ci value.Dump(os); 15614514f5e3Sopenharmony_ci 15624514f5e3Sopenharmony_ci TaggedArray *elements = TaggedArray::Cast(GetElements().GetTaggedObject()); 15634514f5e3Sopenharmony_ci os << " - elements: " << std::hex << elements; 15644514f5e3Sopenharmony_ci if (elements->GetLength() == 0) { 15654514f5e3Sopenharmony_ci os << " NONE\n"; 15664514f5e3Sopenharmony_ci } else if (!elements->IsDictionaryMode()) { 15674514f5e3Sopenharmony_ci DumpArrayClass(elements, os); 15684514f5e3Sopenharmony_ci } else { 15694514f5e3Sopenharmony_ci NumberDictionary *dict = NumberDictionary::Cast(elements); 15704514f5e3Sopenharmony_ci os << " <NumberDictionary[" << std::dec << dict->EntriesCount() << "]>\n"; 15714514f5e3Sopenharmony_ci dict->Dump(os); 15724514f5e3Sopenharmony_ci } 15734514f5e3Sopenharmony_ci 15744514f5e3Sopenharmony_ci TaggedArray *properties = TaggedArray::Cast(GetProperties().GetTaggedObject()); 15754514f5e3Sopenharmony_ci os << " - properties: " << std::hex << properties; 15764514f5e3Sopenharmony_ci if (IsJSGlobalObject()) { 15774514f5e3Sopenharmony_ci GlobalDictionary *dict = GlobalDictionary::Cast(properties); 15784514f5e3Sopenharmony_ci os << " <GlobalDictionary[" << std::dec << dict->EntriesCount() << "]>\n"; 15794514f5e3Sopenharmony_ci dict->Dump(os); 15804514f5e3Sopenharmony_ci return; 15814514f5e3Sopenharmony_ci } 15824514f5e3Sopenharmony_ci 15834514f5e3Sopenharmony_ci if (!properties->IsDictionaryMode()) { 15844514f5e3Sopenharmony_ci JSTaggedValue attrs = jshclass->GetLayout(); 15854514f5e3Sopenharmony_ci if (attrs.IsNull()) { 15864514f5e3Sopenharmony_ci return; 15874514f5e3Sopenharmony_ci } 15884514f5e3Sopenharmony_ci 15894514f5e3Sopenharmony_ci LayoutInfo *layoutInfo = LayoutInfo::Cast(attrs.GetTaggedObject()); 15904514f5e3Sopenharmony_ci int propNumber = static_cast<int>(jshclass->NumberOfProps()); 15914514f5e3Sopenharmony_ci os << " <LayoutInfo[" << std::dec << propNumber << "]>\n"; 15924514f5e3Sopenharmony_ci for (int i = 0; i < propNumber; i++) { 15934514f5e3Sopenharmony_ci JSTaggedValue key = layoutInfo->GetKey(i); 15944514f5e3Sopenharmony_ci PropertyAttributes attr = layoutInfo->GetAttr(i); 15954514f5e3Sopenharmony_ci ASSERT(i == static_cast<int>(attr.GetOffset())); 15964514f5e3Sopenharmony_ci os << " " << std::right << std::setw(DUMP_PROPERTY_OFFSET); 15974514f5e3Sopenharmony_ci DumpPropertyKey(key, os); 15984514f5e3Sopenharmony_ci os << ": ("; 15994514f5e3Sopenharmony_ci JSTaggedValue val; 16004514f5e3Sopenharmony_ci if (attr.IsInlinedProps()) { 16014514f5e3Sopenharmony_ci val = GetPropertyInlinedPropsWithRep(i, attr); 16024514f5e3Sopenharmony_ci } else { 16034514f5e3Sopenharmony_ci val = properties->Get(i - static_cast<int>(jshclass->GetInlinedProperties())); 16044514f5e3Sopenharmony_ci } 16054514f5e3Sopenharmony_ci val.DumpTaggedValue(os); 16064514f5e3Sopenharmony_ci os << ") "; 16074514f5e3Sopenharmony_ci DumpAttr(attr, true, os); 16084514f5e3Sopenharmony_ci os << "\n"; 16094514f5e3Sopenharmony_ci } 16104514f5e3Sopenharmony_ci } else { 16114514f5e3Sopenharmony_ci NameDictionary *dict = NameDictionary::Cast(properties); 16124514f5e3Sopenharmony_ci os << " <NameDictionary[" << std::dec << dict->EntriesCount() << "]>\n"; 16134514f5e3Sopenharmony_ci dict->Dump(os); 16144514f5e3Sopenharmony_ci } 16154514f5e3Sopenharmony_ci} 16164514f5e3Sopenharmony_ci 16174514f5e3Sopenharmony_civoid TaggedArray::Dump(std::ostream &os) const 16184514f5e3Sopenharmony_ci{ 16194514f5e3Sopenharmony_ci DumpArrayClass(this, os); 16204514f5e3Sopenharmony_ci} 16214514f5e3Sopenharmony_ci 16224514f5e3Sopenharmony_civoid AccessorData::Dump(std::ostream &os) const 16234514f5e3Sopenharmony_ci{ 16244514f5e3Sopenharmony_ci auto *hclass = GetClass(); 16254514f5e3Sopenharmony_ci if (hclass->GetObjectType() == JSType::INTERNAL_ACCESSOR) { 16264514f5e3Sopenharmony_ci os << " - Getter: " << InternalAccessor::ConstCast(this)->GetGetter() << "\n"; 16274514f5e3Sopenharmony_ci os << " - Setter: " << InternalAccessor::ConstCast(this)->GetSetter() << "\n"; 16284514f5e3Sopenharmony_ci return; 16294514f5e3Sopenharmony_ci } 16304514f5e3Sopenharmony_ci 16314514f5e3Sopenharmony_ci os << " - Getter: "; 16324514f5e3Sopenharmony_ci GetGetter().DumpTaggedValue(os); 16334514f5e3Sopenharmony_ci os << "\n"; 16344514f5e3Sopenharmony_ci 16354514f5e3Sopenharmony_ci os << " - Setter: "; 16364514f5e3Sopenharmony_ci GetSetter().DumpTaggedValue(os); 16374514f5e3Sopenharmony_ci os << "\n"; 16384514f5e3Sopenharmony_ci} 16394514f5e3Sopenharmony_ci 16404514f5e3Sopenharmony_civoid Program::Dump(std::ostream &os) const 16414514f5e3Sopenharmony_ci{ 16424514f5e3Sopenharmony_ci os << " - MainFunction: "; 16434514f5e3Sopenharmony_ci GetMainFunction().Dump(os); 16444514f5e3Sopenharmony_ci os << "\n"; 16454514f5e3Sopenharmony_ci} 16464514f5e3Sopenharmony_ci 16474514f5e3Sopenharmony_civoid LinkedNode::Dump(std::ostream &os) const 16484514f5e3Sopenharmony_ci{ 16494514f5e3Sopenharmony_ci os << " - Next: "; 16504514f5e3Sopenharmony_ci 16514514f5e3Sopenharmony_ci os << "\n"; 16524514f5e3Sopenharmony_ci} 16534514f5e3Sopenharmony_ci 16544514f5e3Sopenharmony_civoid ConstantPool::Dump(std::ostream &os) const 16554514f5e3Sopenharmony_ci{ 16564514f5e3Sopenharmony_ci DumpArrayClass(this, os); 16574514f5e3Sopenharmony_ci} 16584514f5e3Sopenharmony_ci 16594514f5e3Sopenharmony_civoid ProfileTypeInfo::Dump(std::ostream &os) const 16604514f5e3Sopenharmony_ci{ 16614514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 16624514f5e3Sopenharmony_ci uint32_t len = GetIcSlotLength(); 16634514f5e3Sopenharmony_ci os << " <ProfileTypeInfo[" << std::dec << len << "]>\n"; 16644514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 16654514f5e3Sopenharmony_ci JSTaggedValue val(Get(i)); 16664514f5e3Sopenharmony_ci if (!val.IsHole()) { 16674514f5e3Sopenharmony_ci os << std::right << std::setw(DUMP_PROPERTY_OFFSET) << i << ": "; 16684514f5e3Sopenharmony_ci val.DumpTaggedValue(os); 16694514f5e3Sopenharmony_ci os << "\n"; 16704514f5e3Sopenharmony_ci } 16714514f5e3Sopenharmony_ci } 16724514f5e3Sopenharmony_ci} 16734514f5e3Sopenharmony_ci 16744514f5e3Sopenharmony_civoid ExtraProfileTypeInfo::Dump(std::ostream &os) const 16754514f5e3Sopenharmony_ci{ 16764514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 16774514f5e3Sopenharmony_ci os << " - Receiver: "; 16784514f5e3Sopenharmony_ci GetReceiverObject().Dump(os); 16794514f5e3Sopenharmony_ci os << " - Holder: "; 16804514f5e3Sopenharmony_ci GetHolderObject().Dump(os); 16814514f5e3Sopenharmony_ci os << "\n"; 16824514f5e3Sopenharmony_ci} 16834514f5e3Sopenharmony_ci 16844514f5e3Sopenharmony_civoid ProfileTypeInfoCell::Dump(std::ostream &os) const 16854514f5e3Sopenharmony_ci{ 16864514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 16874514f5e3Sopenharmony_ci os << " - Value: "; 16884514f5e3Sopenharmony_ci GetValue().Dump(os); 16894514f5e3Sopenharmony_ci os << " - Handle: "; 16904514f5e3Sopenharmony_ci GetHandle().Dump(os); 16914514f5e3Sopenharmony_ci os << "\n"; 16924514f5e3Sopenharmony_ci} 16934514f5e3Sopenharmony_ci 16944514f5e3Sopenharmony_civoid FunctionTemplate::Dump(std::ostream &os) const 16954514f5e3Sopenharmony_ci{ 16964514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 16974514f5e3Sopenharmony_ci os << " - Method: "; 16984514f5e3Sopenharmony_ci GetMethod().Dump(os); 16994514f5e3Sopenharmony_ci os << " - Module: "; 17004514f5e3Sopenharmony_ci GetModule().Dump(os); 17014514f5e3Sopenharmony_ci os << " - RawProfileTypeInfo: "; 17024514f5e3Sopenharmony_ci GetRawProfileTypeInfo().Dump(os); 17034514f5e3Sopenharmony_ci os << " - length : " << GetLength() << "\n"; 17044514f5e3Sopenharmony_ci} 17054514f5e3Sopenharmony_ci 17064514f5e3Sopenharmony_civoid VTable::Dump(std::ostream &os) const 17074514f5e3Sopenharmony_ci{ 17084514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 17094514f5e3Sopenharmony_ci uint32_t num = GetNumberOfTuples(); 17104514f5e3Sopenharmony_ci 17114514f5e3Sopenharmony_ci for (uint32_t i = 0; i < num; i++) { 17124514f5e3Sopenharmony_ci os << std::right << std::setw(DUMP_PROPERTY_OFFSET); 17134514f5e3Sopenharmony_ci os << "[" << i << "]: [ name :"; 17144514f5e3Sopenharmony_ci JSTaggedValue name = GetTupleItem(i, VTable::TupleItem::NAME); 17154514f5e3Sopenharmony_ci DumpPropertyKey(name, os); 17164514f5e3Sopenharmony_ci os << ", type :" << (IsAccessor(i) ? "Accessor" : "Function"); 17174514f5e3Sopenharmony_ci JSTaggedValue owner = GetTupleItem(i, VTable::TupleItem::OWNER); 17184514f5e3Sopenharmony_ci os << ", owner :"; 17194514f5e3Sopenharmony_ci owner.DumpTaggedValue(os); 17204514f5e3Sopenharmony_ci JSTaggedValue offset = GetTupleItem(i, VTable::TupleItem::OFFSET); 17214514f5e3Sopenharmony_ci os << ", offset :" << offset.GetInt(); 17224514f5e3Sopenharmony_ci os << " ] "; 17234514f5e3Sopenharmony_ci os << "\n"; 17244514f5e3Sopenharmony_ci } 17254514f5e3Sopenharmony_ci} 17264514f5e3Sopenharmony_ci 17274514f5e3Sopenharmony_civoid JSFunction::Dump(std::ostream &os) const 17284514f5e3Sopenharmony_ci{ 17294514f5e3Sopenharmony_ci os << " - ProtoOrHClass: "; 17304514f5e3Sopenharmony_ci GetProtoOrHClass().Dump(os); 17314514f5e3Sopenharmony_ci os << "\n"; 17324514f5e3Sopenharmony_ci os << " - LexicalEnv: "; 17334514f5e3Sopenharmony_ci if (GetClass()->IsJSSharedFunction()) { 17344514f5e3Sopenharmony_ci os << GetLexicalEnv().GetRawData()<< "\n"; 17354514f5e3Sopenharmony_ci } else { 17364514f5e3Sopenharmony_ci GetLexicalEnv().Dump(os); 17374514f5e3Sopenharmony_ci os << "\n"; 17384514f5e3Sopenharmony_ci } 17394514f5e3Sopenharmony_ci os << " - RawProfileTypeInfo: "; 17404514f5e3Sopenharmony_ci GetRawProfileTypeInfo().Dump(os); 17414514f5e3Sopenharmony_ci os << "\n"; 17424514f5e3Sopenharmony_ci os << " - HomeObject: "; 17434514f5e3Sopenharmony_ci GetHomeObject().Dump(os); 17444514f5e3Sopenharmony_ci os << "\n"; 17454514f5e3Sopenharmony_ci os << " - FunctionExtraInfo: "; 17464514f5e3Sopenharmony_ci GetFunctionExtraInfo().Dump(os); 17474514f5e3Sopenharmony_ci os << "\n"; 17484514f5e3Sopenharmony_ci os << " - Method: "; 17494514f5e3Sopenharmony_ci GetMethod().Dump(os); 17504514f5e3Sopenharmony_ci os << "\n"; 17514514f5e3Sopenharmony_ci os << " - Module: "; 17524514f5e3Sopenharmony_ci GetModule().Dump(os); 17534514f5e3Sopenharmony_ci os << "\n"; 17544514f5e3Sopenharmony_ci os << " - ProtoTransRootHClass: "; 17554514f5e3Sopenharmony_ci GetProtoTransRootHClass().Dump(os); 17564514f5e3Sopenharmony_ci os << "\n"; 17574514f5e3Sopenharmony_ci JSObject::Dump(os); 17584514f5e3Sopenharmony_ci} 17594514f5e3Sopenharmony_ci 17604514f5e3Sopenharmony_civoid JSHClass::Dump(std::ostream &os) const 17614514f5e3Sopenharmony_ci{ 17624514f5e3Sopenharmony_ci DumpHClass(this, os, true); 17634514f5e3Sopenharmony_ci} 17644514f5e3Sopenharmony_ci 17654514f5e3Sopenharmony_civoid JSBoundFunction::Dump(std::ostream &os) const 17664514f5e3Sopenharmony_ci{ 17674514f5e3Sopenharmony_ci os << " - BoundTarget: "; 17684514f5e3Sopenharmony_ci GetBoundTarget().DumpTaggedValue(os); 17694514f5e3Sopenharmony_ci os << "\n"; 17704514f5e3Sopenharmony_ci 17714514f5e3Sopenharmony_ci os << " - BoundThis: "; 17724514f5e3Sopenharmony_ci GetBoundThis().DumpTaggedValue(os); 17734514f5e3Sopenharmony_ci os << "\n"; 17744514f5e3Sopenharmony_ci 17754514f5e3Sopenharmony_ci os << " - BoundArguments: "; 17764514f5e3Sopenharmony_ci GetBoundArguments().DumpTaggedValue(os); 17774514f5e3Sopenharmony_ci os << "\n"; 17784514f5e3Sopenharmony_ci 17794514f5e3Sopenharmony_ci JSObject::Dump(os); 17804514f5e3Sopenharmony_ci} 17814514f5e3Sopenharmony_ci 17824514f5e3Sopenharmony_civoid JSPrimitiveRef::Dump(std::ostream &os) const 17834514f5e3Sopenharmony_ci{ 17844514f5e3Sopenharmony_ci os << " - SubValue : "; 17854514f5e3Sopenharmony_ci GetValue().DumpTaggedValue(os); 17864514f5e3Sopenharmony_ci os << "\n"; 17874514f5e3Sopenharmony_ci JSObject::Dump(os); 17884514f5e3Sopenharmony_ci} 17894514f5e3Sopenharmony_ci 17904514f5e3Sopenharmony_civoid BigInt::Dump(std::ostream &os) const 17914514f5e3Sopenharmony_ci{ 17924514f5e3Sopenharmony_ci os << " - length : " << GetLength() << "\n"; 17934514f5e3Sopenharmony_ci os << " - Sign : " << GetSign() << "\n"; 17944514f5e3Sopenharmony_ci os << " - value : " << ToStdString(DECIMAL) << "\n"; 17954514f5e3Sopenharmony_ci} 17964514f5e3Sopenharmony_ci 17974514f5e3Sopenharmony_civoid JSDate::Dump(std::ostream &os) const 17984514f5e3Sopenharmony_ci{ 17994514f5e3Sopenharmony_ci os << " - time: " << GetTime().GetDouble() << "\n"; 18004514f5e3Sopenharmony_ci os << " - localOffset: " << GetLocalOffset().GetDouble() << "\n"; 18014514f5e3Sopenharmony_ci JSObject::Dump(os); 18024514f5e3Sopenharmony_ci} 18034514f5e3Sopenharmony_ci 18044514f5e3Sopenharmony_civoid JSMap::Dump(std::ostream &os) const 18054514f5e3Sopenharmony_ci{ 18064514f5e3Sopenharmony_ci LinkedHashMap *map = LinkedHashMap::Cast(GetLinkedMap().GetTaggedObject()); 18074514f5e3Sopenharmony_ci os << " - elements: " << std::dec << map->NumberOfElements() << "\n"; 18084514f5e3Sopenharmony_ci os << " - deleted-elements: " << std::dec << map->NumberOfDeletedElements() << "\n"; 18094514f5e3Sopenharmony_ci os << " - capacity: " << std::dec << map->Capacity() << "\n"; 18104514f5e3Sopenharmony_ci JSObject::Dump(os); 18114514f5e3Sopenharmony_ci 18124514f5e3Sopenharmony_ci os << " <NameDictionary[" << map->NumberOfElements() << "]>\n"; 18134514f5e3Sopenharmony_ci map->Dump(os); 18144514f5e3Sopenharmony_ci} 18154514f5e3Sopenharmony_ci 18164514f5e3Sopenharmony_civoid JSSharedMap::Dump(std::ostream &os) const 18174514f5e3Sopenharmony_ci{ 18184514f5e3Sopenharmony_ci LinkedHashMap *map = LinkedHashMap::Cast(GetLinkedMap().GetTaggedObject()); 18194514f5e3Sopenharmony_ci os << " - modRecord: " << std::dec << GetModRecord() << "\n"; 18204514f5e3Sopenharmony_ci os << " - elements: " << std::dec << map->NumberOfElements() << "\n"; 18214514f5e3Sopenharmony_ci os << " - deleted-elements: " << std::dec << map->NumberOfDeletedElements() << "\n"; 18224514f5e3Sopenharmony_ci os << " - capacity: " << std::dec << map->Capacity() << "\n"; 18234514f5e3Sopenharmony_ci JSObject::Dump(os); 18244514f5e3Sopenharmony_ci 18254514f5e3Sopenharmony_ci os << " <NameDictionary[" << map->NumberOfElements() << "]>\n"; 18264514f5e3Sopenharmony_ci map->Dump(os); 18274514f5e3Sopenharmony_ci} 18284514f5e3Sopenharmony_ci 18294514f5e3Sopenharmony_civoid JSAPITreeMap::Dump(std::ostream &os) const 18304514f5e3Sopenharmony_ci{ 18314514f5e3Sopenharmony_ci TaggedTreeMap *map = TaggedTreeMap::Cast(GetTreeMap().GetTaggedObject()); 18324514f5e3Sopenharmony_ci os << " - elements: " << std::dec << map->NumberOfElements() << "\n"; 18334514f5e3Sopenharmony_ci os << " - deleted-elements: " << std::dec << map->NumberOfDeletedElements() << "\n"; 18344514f5e3Sopenharmony_ci os << " - capacity: " << std::dec << map->Capacity() << "\n"; 18354514f5e3Sopenharmony_ci JSObject::Dump(os); 18364514f5e3Sopenharmony_ci 18374514f5e3Sopenharmony_ci os << " <TaggedTree[" << map->NumberOfElements() << "]>\n"; 18384514f5e3Sopenharmony_ci map->Dump(os); 18394514f5e3Sopenharmony_ci} 18404514f5e3Sopenharmony_ci 18414514f5e3Sopenharmony_civoid JSAPITreeMap::DumpForSnapshot(std::vector<Reference> &vec) const 18424514f5e3Sopenharmony_ci{ 18434514f5e3Sopenharmony_ci if (!(GetTreeMap().IsInvalidValue())) { 18444514f5e3Sopenharmony_ci TaggedTreeMap *map = TaggedTreeMap::Cast(GetTreeMap().GetTaggedObject()); 18454514f5e3Sopenharmony_ci vec.emplace_back("treemap", GetTreeMap()); 18464514f5e3Sopenharmony_ci map->DumpForSnapshot(vec); 18474514f5e3Sopenharmony_ci } 18484514f5e3Sopenharmony_ci 18494514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 18504514f5e3Sopenharmony_ci} 18514514f5e3Sopenharmony_ci 18524514f5e3Sopenharmony_civoid JSAPITreeMapIterator::Dump(std::ostream &os) const 18534514f5e3Sopenharmony_ci{ 18544514f5e3Sopenharmony_ci TaggedTreeMap *map = 18554514f5e3Sopenharmony_ci TaggedTreeMap::Cast(JSAPITreeMap::Cast(GetIteratedMap().GetTaggedObject())->GetTreeMap().GetTaggedObject()); 18564514f5e3Sopenharmony_ci os << " - elements: " << std::dec << map->NumberOfElements() << "\n"; 18574514f5e3Sopenharmony_ci os << " - deleted-elements: " << std::dec << map->NumberOfDeletedElements() << "\n"; 18584514f5e3Sopenharmony_ci os << " - capacity: " << std::dec << map->Capacity() << "\n"; 18594514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 18604514f5e3Sopenharmony_ci os << " - IterationKind: " << std::dec << static_cast<int>(GetIterationKind()) << "\n"; 18614514f5e3Sopenharmony_ci JSObject::Dump(os); 18624514f5e3Sopenharmony_ci 18634514f5e3Sopenharmony_ci os << " <TaggedTree[" << map->NumberOfElements() << "]>\n"; 18644514f5e3Sopenharmony_ci map->Dump(os); 18654514f5e3Sopenharmony_ci} 18664514f5e3Sopenharmony_ci 18674514f5e3Sopenharmony_civoid JSAPITreeMapIterator::DumpForSnapshot(std::vector<Reference> &vec) const 18684514f5e3Sopenharmony_ci{ 18694514f5e3Sopenharmony_ci if (!(GetIteratedMap().IsInvalidValue())) { 18704514f5e3Sopenharmony_ci TaggedTreeMap *map = 18714514f5e3Sopenharmony_ci TaggedTreeMap::Cast(JSAPITreeMap::Cast(GetIteratedMap().GetTaggedObject())->GetTreeMap().GetTaggedObject()); 18724514f5e3Sopenharmony_ci vec.emplace_back("iteratedmap", GetIteratedMap()); 18734514f5e3Sopenharmony_ci map->DumpForSnapshot(vec); 18744514f5e3Sopenharmony_ci } 18754514f5e3Sopenharmony_ci 18764514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 18774514f5e3Sopenharmony_ci vec.emplace_back(CString("IterationKind"), JSTaggedValue(static_cast<int>(GetIterationKind()))); 18784514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 18794514f5e3Sopenharmony_ci} 18804514f5e3Sopenharmony_ci 18814514f5e3Sopenharmony_citemplate <typename T> 18824514f5e3Sopenharmony_civoid DumpTaggedTreeEntry(T tree, std::ostream &os, int index, bool isMap = false) 18834514f5e3Sopenharmony_ci{ 18844514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 18854514f5e3Sopenharmony_ci JSTaggedValue parent(tree->GetParent(index)); 18864514f5e3Sopenharmony_ci JSTaggedValue val(tree->GetValue(index)); 18874514f5e3Sopenharmony_ci JSTaggedValue color(static_cast<int>(tree->GetColor(index))); 18884514f5e3Sopenharmony_ci JSTaggedValue left = tree->GetLeftChild(index); 18894514f5e3Sopenharmony_ci JSTaggedValue right = tree->GetRightChild(index); 18904514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_ELEMENT_OFFSET) << "[entry] " << index << ": "; 18914514f5e3Sopenharmony_ci os << "\n"; 18924514f5e3Sopenharmony_ci if (isMap) { 18934514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_ELEMENT_OFFSET) << " [key]: {"; 18944514f5e3Sopenharmony_ci JSTaggedValue key(tree->GetKey(index)); 18954514f5e3Sopenharmony_ci key.DumpTaggedValue(os); 18964514f5e3Sopenharmony_ci os << std::right << "};"; 18974514f5e3Sopenharmony_ci os << "\n"; 18984514f5e3Sopenharmony_ci } 18994514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_TYPE_OFFSET) << " [value]: {"; 19004514f5e3Sopenharmony_ci val.DumpTaggedValue(os); 19014514f5e3Sopenharmony_ci os << std::right << "};"; 19024514f5e3Sopenharmony_ci os << "\n"; 19034514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_ELEMENT_OFFSET) << " [parent]: {"; 19044514f5e3Sopenharmony_ci parent.DumpTaggedValue(os); 19054514f5e3Sopenharmony_ci os << std::right << "};"; 19064514f5e3Sopenharmony_ci os << "\n"; 19074514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_TYPE_OFFSET) << " [color]: {"; 19084514f5e3Sopenharmony_ci color.DumpTaggedValue(os); 19094514f5e3Sopenharmony_ci os << std::right << "};"; 19104514f5e3Sopenharmony_ci os << "\n"; 19114514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_ELEMENT_OFFSET) << " [left]: {"; 19124514f5e3Sopenharmony_ci left.DumpTaggedValue(os); 19134514f5e3Sopenharmony_ci os << std::right << "}; "; 19144514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_TYPE_OFFSET) << " [right]: {"; 19154514f5e3Sopenharmony_ci right.DumpTaggedValue(os); 19164514f5e3Sopenharmony_ci os << std::right << "};"; 19174514f5e3Sopenharmony_ci os << "\n"; 19184514f5e3Sopenharmony_ci} 19194514f5e3Sopenharmony_civoid TaggedTreeMap::Dump(std::ostream &os) const 19204514f5e3Sopenharmony_ci{ 19214514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 19224514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_ELEMENT_OFFSET) << "[Elements]: {"; 19234514f5e3Sopenharmony_ci JSTaggedValue node = TaggedArray::Get(0); 19244514f5e3Sopenharmony_ci node.DumpTaggedValue(os); 19254514f5e3Sopenharmony_ci os << std::right << "}" << "\n"; 19264514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_ELEMENT_OFFSET) << "[Delete]: {"; 19274514f5e3Sopenharmony_ci node = TaggedArray::Get(1); 19284514f5e3Sopenharmony_ci node.DumpTaggedValue(os); 19294514f5e3Sopenharmony_ci os << std::right << "}" << "\n"; 19304514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_ELEMENT_OFFSET) << "[Capacity]: {"; 19314514f5e3Sopenharmony_ci node = TaggedArray::Get(2); // 2 means the three element 19324514f5e3Sopenharmony_ci node.DumpTaggedValue(os); 19334514f5e3Sopenharmony_ci os << std::right << "}" << "\n"; 19344514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_ELEMENT_OFFSET) << "[RootNode]: {"; 19354514f5e3Sopenharmony_ci node = TaggedArray::Get(3); // 3 means the three element 19364514f5e3Sopenharmony_ci node.DumpTaggedValue(os); 19374514f5e3Sopenharmony_ci os << std::right << "}" << "\n"; 19384514f5e3Sopenharmony_ci 19394514f5e3Sopenharmony_ci uint32_t capacity = NumberOfElements() + NumberOfDeletedElements(); 19404514f5e3Sopenharmony_ci for (uint32_t index = 0; index < capacity; index++) { 19414514f5e3Sopenharmony_ci if (GetKey(index).IsHole()) { 19424514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_ELEMENT_OFFSET) << "[entry] " << index << ": "; 19434514f5e3Sopenharmony_ci GetKey(index).DumpTaggedValue(os); 19444514f5e3Sopenharmony_ci os << "\n"; 19454514f5e3Sopenharmony_ci } else { 19464514f5e3Sopenharmony_ci DumpTaggedTreeEntry(const_cast<TaggedTreeMap *>(this), os, index, true); 19474514f5e3Sopenharmony_ci } 19484514f5e3Sopenharmony_ci } 19494514f5e3Sopenharmony_ci} 19504514f5e3Sopenharmony_ci 19514514f5e3Sopenharmony_civoid JSAPITreeSet::Dump(std::ostream &os) const 19524514f5e3Sopenharmony_ci{ 19534514f5e3Sopenharmony_ci TaggedTreeSet *set = TaggedTreeSet::Cast(GetTreeSet().GetTaggedObject()); 19544514f5e3Sopenharmony_ci os << " - elements: " << std::dec << set->NumberOfElements() << "\n"; 19554514f5e3Sopenharmony_ci os << " - deleted-elements: " << std::dec << set->NumberOfDeletedElements() << "\n"; 19564514f5e3Sopenharmony_ci os << " - capacity: " << std::dec << set->Capacity() << "\n"; 19574514f5e3Sopenharmony_ci JSObject::Dump(os); 19584514f5e3Sopenharmony_ci 19594514f5e3Sopenharmony_ci os << " <TaggedTree[" << set->NumberOfElements() << "]>\n"; 19604514f5e3Sopenharmony_ci set->Dump(os); 19614514f5e3Sopenharmony_ci} 19624514f5e3Sopenharmony_ci 19634514f5e3Sopenharmony_civoid JSAPITreeSet::DumpForSnapshot(std::vector<Reference> &vec) const 19644514f5e3Sopenharmony_ci{ 19654514f5e3Sopenharmony_ci if (!(GetTreeSet().IsInvalidValue())) { 19664514f5e3Sopenharmony_ci TaggedTreeSet *set = TaggedTreeSet::Cast(GetTreeSet().GetTaggedObject()); 19674514f5e3Sopenharmony_ci vec.emplace_back("treeset", GetTreeSet()); 19684514f5e3Sopenharmony_ci set->DumpForSnapshot(vec); 19694514f5e3Sopenharmony_ci } 19704514f5e3Sopenharmony_ci 19714514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 19724514f5e3Sopenharmony_ci} 19734514f5e3Sopenharmony_ci 19744514f5e3Sopenharmony_civoid JSAPITreeSetIterator::Dump(std::ostream &os) const 19754514f5e3Sopenharmony_ci{ 19764514f5e3Sopenharmony_ci TaggedTreeSet *set = 19774514f5e3Sopenharmony_ci TaggedTreeSet::Cast(JSAPITreeSet::Cast(GetIteratedSet().GetTaggedObject())->GetTreeSet().GetTaggedObject()); 19784514f5e3Sopenharmony_ci os << " - elements: " << std::dec << set->NumberOfElements() << "\n"; 19794514f5e3Sopenharmony_ci os << " - deleted-elements: " << std::dec << set->NumberOfDeletedElements() << "\n"; 19804514f5e3Sopenharmony_ci os << " - capacity: " << std::dec << set->Capacity() << "\n"; 19814514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 19824514f5e3Sopenharmony_ci os << " - IterationKind: " << std::dec << static_cast<int>(GetIterationKind()) << "\n"; 19834514f5e3Sopenharmony_ci JSObject::Dump(os); 19844514f5e3Sopenharmony_ci 19854514f5e3Sopenharmony_ci os << " <TaggedTree[" << set->NumberOfElements() << "]>\n"; 19864514f5e3Sopenharmony_ci set->Dump(os); 19874514f5e3Sopenharmony_ci} 19884514f5e3Sopenharmony_ci 19894514f5e3Sopenharmony_civoid JSAPITreeSetIterator::DumpForSnapshot(std::vector<Reference> &vec) const 19904514f5e3Sopenharmony_ci{ 19914514f5e3Sopenharmony_ci if (!(GetIteratedSet().IsInvalidValue())) { 19924514f5e3Sopenharmony_ci TaggedTreeSet *set = 19934514f5e3Sopenharmony_ci TaggedTreeSet::Cast(JSAPITreeSet::Cast(GetIteratedSet().GetTaggedObject())->GetTreeSet().GetTaggedObject()); 19944514f5e3Sopenharmony_ci vec.emplace_back("iteratedset", GetIteratedSet()); 19954514f5e3Sopenharmony_ci set->DumpForSnapshot(vec); 19964514f5e3Sopenharmony_ci } 19974514f5e3Sopenharmony_ci 19984514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 19994514f5e3Sopenharmony_ci vec.emplace_back(CString("IterationKind"), JSTaggedValue(static_cast<int>(GetIterationKind()))); 20004514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 20014514f5e3Sopenharmony_ci} 20024514f5e3Sopenharmony_ci 20034514f5e3Sopenharmony_civoid TaggedTreeSet::Dump(std::ostream &os) const 20044514f5e3Sopenharmony_ci{ 20054514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 20064514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_ELEMENT_OFFSET) << "[Elements]: {"; 20074514f5e3Sopenharmony_ci JSTaggedValue node = TaggedArray::Get(0); 20084514f5e3Sopenharmony_ci node.DumpTaggedValue(os); 20094514f5e3Sopenharmony_ci os << std::right << "}" << "\n"; 20104514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_ELEMENT_OFFSET) << "[Delete]: {"; 20114514f5e3Sopenharmony_ci node = TaggedArray::Get(1); 20124514f5e3Sopenharmony_ci node.DumpTaggedValue(os); 20134514f5e3Sopenharmony_ci os << std::right << "}" << "\n"; 20144514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_ELEMENT_OFFSET) << "[Capacity]: {"; 20154514f5e3Sopenharmony_ci node = TaggedArray::Get(2); // 2 means the three element 20164514f5e3Sopenharmony_ci node.DumpTaggedValue(os); 20174514f5e3Sopenharmony_ci os << std::right << "}" << "\n"; 20184514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_ELEMENT_OFFSET) << "[RootNode]: {"; 20194514f5e3Sopenharmony_ci node = TaggedArray::Get(3); // 3 means the three element 20204514f5e3Sopenharmony_ci node.DumpTaggedValue(os); 20214514f5e3Sopenharmony_ci os << std::right << "}" << "\n"; 20224514f5e3Sopenharmony_ci 20234514f5e3Sopenharmony_ci uint32_t capacity = NumberOfElements() + NumberOfDeletedElements(); 20244514f5e3Sopenharmony_ci for (uint32_t index = 0; index < capacity; index++) { 20254514f5e3Sopenharmony_ci if (GetKey(index).IsHole()) { 20264514f5e3Sopenharmony_ci os << std::left << std::setw(DUMP_ELEMENT_OFFSET) << "[entry] " << index << ": "; 20274514f5e3Sopenharmony_ci GetKey(index).DumpTaggedValue(os); 20284514f5e3Sopenharmony_ci os << "\n"; 20294514f5e3Sopenharmony_ci } else { 20304514f5e3Sopenharmony_ci DumpTaggedTreeEntry(const_cast<TaggedTreeSet *>(this), os, index); 20314514f5e3Sopenharmony_ci } 20324514f5e3Sopenharmony_ci } 20334514f5e3Sopenharmony_ci} 20344514f5e3Sopenharmony_ci 20354514f5e3Sopenharmony_civoid JSAPIPlainArray::Dump(std::ostream &os) const 20364514f5e3Sopenharmony_ci{ 20374514f5e3Sopenharmony_ci TaggedArray *keys = TaggedArray::Cast(GetKeys().GetTaggedObject()); 20384514f5e3Sopenharmony_ci TaggedArray *values = TaggedArray::Cast(GetValues().GetTaggedObject()); 20394514f5e3Sopenharmony_ci uint32_t len = static_cast<uint32_t>(GetLength()); 20404514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 20414514f5e3Sopenharmony_ci os << " - keys: "; 20424514f5e3Sopenharmony_ci keys->Get(i).DumpTaggedValue(os); 20434514f5e3Sopenharmony_ci os << "\n"; 20444514f5e3Sopenharmony_ci os << " - values: "; 20454514f5e3Sopenharmony_ci values->Get(i).DumpTaggedValue(os); 20464514f5e3Sopenharmony_ci os << "\n"; 20474514f5e3Sopenharmony_ci } 20484514f5e3Sopenharmony_ci os << " - length: " << std::dec << len << "\n"; 20494514f5e3Sopenharmony_ci JSObject::Dump(os); 20504514f5e3Sopenharmony_ci} 20514514f5e3Sopenharmony_ci 20524514f5e3Sopenharmony_civoid JSAPIPlainArrayIterator::Dump(std::ostream &os) const 20534514f5e3Sopenharmony_ci{ 20544514f5e3Sopenharmony_ci JSAPIPlainArray *array = JSAPIPlainArray::Cast(GetIteratedPlainArray().GetTaggedObject()); 20554514f5e3Sopenharmony_ci os << " - length: " << std::dec << array->GetSize() << "\n"; 20564514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 20574514f5e3Sopenharmony_ci JSObject::Dump(os); 20584514f5e3Sopenharmony_ci} 20594514f5e3Sopenharmony_ci 20604514f5e3Sopenharmony_civoid JSAPIPlainArrayIterator::DumpForSnapshot(std::vector<Reference> &vec) const 20614514f5e3Sopenharmony_ci{ 20624514f5e3Sopenharmony_ci if (!(GetIteratedPlainArray().IsInvalidValue())) { 20634514f5e3Sopenharmony_ci JSAPIPlainArray *array = JSAPIPlainArray::Cast(GetIteratedPlainArray().GetTaggedObject()); 20644514f5e3Sopenharmony_ci vec.emplace_back("iteratedplainarray", GetIteratedPlainArray()); 20654514f5e3Sopenharmony_ci array->DumpForSnapshot(vec); 20664514f5e3Sopenharmony_ci } 20674514f5e3Sopenharmony_ci 20684514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 20694514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 20704514f5e3Sopenharmony_ci} 20714514f5e3Sopenharmony_ci 20724514f5e3Sopenharmony_civoid JSForInIterator::Dump(std::ostream &os) const 20734514f5e3Sopenharmony_ci{ 20744514f5e3Sopenharmony_ci os << " - Object : "; 20754514f5e3Sopenharmony_ci GetObject().DumpTaggedValue(os); 20764514f5e3Sopenharmony_ci os << " - CachedHclass : "; 20774514f5e3Sopenharmony_ci GetCachedHclass().DumpTaggedValue(os); 20784514f5e3Sopenharmony_ci os << "\n"; 20794514f5e3Sopenharmony_ci os << " - Keys : "; 20804514f5e3Sopenharmony_ci GetKeys().DumpTaggedValue(os); 20814514f5e3Sopenharmony_ci os << "\n"; 20824514f5e3Sopenharmony_ci os << " - Index : " << GetIndex(); 20834514f5e3Sopenharmony_ci os << "\n"; 20844514f5e3Sopenharmony_ci os << " - Length : " << GetLength(); 20854514f5e3Sopenharmony_ci os << "\n"; 20864514f5e3Sopenharmony_ci JSObject::Dump(os); 20874514f5e3Sopenharmony_ci} 20884514f5e3Sopenharmony_ci 20894514f5e3Sopenharmony_civoid JSMapIterator::Dump(std::ostream &os) const 20904514f5e3Sopenharmony_ci{ 20914514f5e3Sopenharmony_ci LinkedHashMap *map = LinkedHashMap::Cast(GetIteratedMap().GetTaggedObject()); 20924514f5e3Sopenharmony_ci os << " - elements: " << std::dec << map->NumberOfElements() << "\n"; 20934514f5e3Sopenharmony_ci os << " - deleted-elements: " << std::dec << map->NumberOfDeletedElements() << "\n"; 20944514f5e3Sopenharmony_ci os << " - capacity: " << std::dec << map->Capacity() << "\n"; 20954514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 20964514f5e3Sopenharmony_ci os << " - IterationKind: " << std::dec << static_cast<int>(GetIterationKind()) << "\n"; 20974514f5e3Sopenharmony_ci JSObject::Dump(os); 20984514f5e3Sopenharmony_ci 20994514f5e3Sopenharmony_ci os << " <NameDictionary[" << map->NumberOfElements() << "]>\n"; 21004514f5e3Sopenharmony_ci map->Dump(os); 21014514f5e3Sopenharmony_ci} 21024514f5e3Sopenharmony_ci 21034514f5e3Sopenharmony_civoid JSSharedMapIterator::Dump(std::ostream &os) const 21044514f5e3Sopenharmony_ci{ 21054514f5e3Sopenharmony_ci JSSharedMap *iteratedMap = JSSharedMap::Cast(GetIteratedMap().GetTaggedObject()); 21064514f5e3Sopenharmony_ci LinkedHashMap *map = LinkedHashMap::Cast(iteratedMap->GetLinkedMap().GetTaggedObject()); 21074514f5e3Sopenharmony_ci os << " - elements: " << std::dec << map->NumberOfElements() << "\n"; 21084514f5e3Sopenharmony_ci os << " - deleted-elements: " << std::dec << map->NumberOfDeletedElements() << "\n"; 21094514f5e3Sopenharmony_ci os << " - capacity: " << std::dec << map->Capacity() << "\n"; 21104514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 21114514f5e3Sopenharmony_ci os << " - IterationKind: " << std::dec << static_cast<int>(GetIterationKind()) << "\n"; 21124514f5e3Sopenharmony_ci JSObject::Dump(os); 21134514f5e3Sopenharmony_ci 21144514f5e3Sopenharmony_ci os << " <NameDictionary[" << map->NumberOfElements() << "]>\n"; 21154514f5e3Sopenharmony_ci map->Dump(os); 21164514f5e3Sopenharmony_ci} 21174514f5e3Sopenharmony_ci 21184514f5e3Sopenharmony_civoid JSSet::Dump(std::ostream &os) const 21194514f5e3Sopenharmony_ci{ 21204514f5e3Sopenharmony_ci LinkedHashSet *set = LinkedHashSet::Cast(GetLinkedSet().GetTaggedObject()); 21214514f5e3Sopenharmony_ci os << " - elements: " << std::dec << set->NumberOfElements() << "\n"; 21224514f5e3Sopenharmony_ci os << " - deleted-elements: " << std::dec << set->NumberOfDeletedElements() << "\n"; 21234514f5e3Sopenharmony_ci os << " - capacity: " << std::dec << set->Capacity() << "\n"; 21244514f5e3Sopenharmony_ci JSObject::Dump(os); 21254514f5e3Sopenharmony_ci 21264514f5e3Sopenharmony_ci os << " <NameDictionary[" << set->NumberOfElements() << "]>\n"; 21274514f5e3Sopenharmony_ci set->Dump(os); 21284514f5e3Sopenharmony_ci} 21294514f5e3Sopenharmony_ci 21304514f5e3Sopenharmony_civoid JSSharedSet::Dump(std::ostream &os) const 21314514f5e3Sopenharmony_ci{ 21324514f5e3Sopenharmony_ci LinkedHashSet *set = LinkedHashSet::Cast(GetLinkedSet().GetTaggedObject()); 21334514f5e3Sopenharmony_ci os << " - modRecord: " << std::dec << GetModRecord() << "\n"; 21344514f5e3Sopenharmony_ci os << " - elements: " << std::dec << set->NumberOfElements() << "\n"; 21354514f5e3Sopenharmony_ci os << " - deleted-elements: " << std::dec << set->NumberOfDeletedElements() << "\n"; 21364514f5e3Sopenharmony_ci os << " - capacity: " << std::dec << set->Capacity() << "\n"; 21374514f5e3Sopenharmony_ci JSObject::Dump(os); 21384514f5e3Sopenharmony_ci 21394514f5e3Sopenharmony_ci os << " <NameDictionary[" << set->NumberOfElements() << "]>\n"; 21404514f5e3Sopenharmony_ci set->Dump(os); 21414514f5e3Sopenharmony_ci} 21424514f5e3Sopenharmony_ci 21434514f5e3Sopenharmony_civoid JSWeakMap::Dump(std::ostream &os) const 21444514f5e3Sopenharmony_ci{ 21454514f5e3Sopenharmony_ci LinkedHashMap *map = LinkedHashMap::Cast(GetLinkedMap().GetTaggedObject()); 21464514f5e3Sopenharmony_ci os << " - length: " << std::dec << GetSize() << "\n"; 21474514f5e3Sopenharmony_ci os << " - elements: " << std::dec << map->NumberOfElements() << "\n"; 21484514f5e3Sopenharmony_ci os << " - deleted-elements: " << std::dec << map->NumberOfDeletedElements() << "\n"; 21494514f5e3Sopenharmony_ci os << " - capacity: " << std::dec << map->Capacity() << "\n"; 21504514f5e3Sopenharmony_ci JSObject::Dump(os); 21514514f5e3Sopenharmony_ci 21524514f5e3Sopenharmony_ci os << " <NameDictionary[" << map->NumberOfElements() << "]>\n"; 21534514f5e3Sopenharmony_ci map->Dump(os); 21544514f5e3Sopenharmony_ci} 21554514f5e3Sopenharmony_ci 21564514f5e3Sopenharmony_civoid JSWeakSet::Dump(std::ostream &os) const 21574514f5e3Sopenharmony_ci{ 21584514f5e3Sopenharmony_ci LinkedHashSet *set = LinkedHashSet::Cast(GetLinkedSet().GetTaggedObject()); 21594514f5e3Sopenharmony_ci os << " - size: " << std::dec << GetSize() << "\n"; 21604514f5e3Sopenharmony_ci os << " - elements: " << std::dec << set->NumberOfElements() << "\n"; 21614514f5e3Sopenharmony_ci os << " - deleted-elements: " << std::dec << set->NumberOfDeletedElements() << "\n"; 21624514f5e3Sopenharmony_ci os << " - capacity: " << std::dec << set->Capacity() << "\n"; 21634514f5e3Sopenharmony_ci JSObject::Dump(os); 21644514f5e3Sopenharmony_ci 21654514f5e3Sopenharmony_ci os << " <NameDictionary[" << set->NumberOfElements() << "]>\n"; 21664514f5e3Sopenharmony_ci set->Dump(os); 21674514f5e3Sopenharmony_ci} 21684514f5e3Sopenharmony_ci 21694514f5e3Sopenharmony_civoid JSWeakRef::Dump(std::ostream &os) const 21704514f5e3Sopenharmony_ci{ 21714514f5e3Sopenharmony_ci os << " - WeakObject : "; 21724514f5e3Sopenharmony_ci GetWeakObject().DumpTaggedValue(os); 21734514f5e3Sopenharmony_ci os << "\n"; 21744514f5e3Sopenharmony_ci JSObject::Dump(os); 21754514f5e3Sopenharmony_ci} 21764514f5e3Sopenharmony_ci 21774514f5e3Sopenharmony_civoid JSFinalizationRegistry::Dump(std::ostream &os) const 21784514f5e3Sopenharmony_ci{ 21794514f5e3Sopenharmony_ci os << " - CleanupCallback : "; 21804514f5e3Sopenharmony_ci GetCleanupCallback().DumpTaggedValue(os); 21814514f5e3Sopenharmony_ci os << "\n"; 21824514f5e3Sopenharmony_ci os << " - NoUnregister : "; 21834514f5e3Sopenharmony_ci GetNoUnregister().Dump(os); 21844514f5e3Sopenharmony_ci os << "\n"; 21854514f5e3Sopenharmony_ci os << " - MaybeUnregister : "; 21864514f5e3Sopenharmony_ci LinkedHashMap *map = LinkedHashMap::Cast(GetMaybeUnregister().GetTaggedObject()); 21874514f5e3Sopenharmony_ci os << " - elements: " << std::dec << map->NumberOfElements() << "\n"; 21884514f5e3Sopenharmony_ci os << " - deleted-elements: " << std::dec << map->NumberOfDeletedElements() << "\n"; 21894514f5e3Sopenharmony_ci os << " - capacity: " << std::dec << map->Capacity() << "\n"; 21904514f5e3Sopenharmony_ci JSObject::Dump(os); 21914514f5e3Sopenharmony_ci} 21924514f5e3Sopenharmony_ci 21934514f5e3Sopenharmony_civoid CellRecord::Dump(std::ostream &os) const 21944514f5e3Sopenharmony_ci{ 21954514f5e3Sopenharmony_ci os << " - WeakRefTarget : "; 21964514f5e3Sopenharmony_ci GetFromWeakRefTarget().DumpTaggedValue(os); 21974514f5e3Sopenharmony_ci os << "\n"; 21984514f5e3Sopenharmony_ci os << " - HeldValue : "; 21994514f5e3Sopenharmony_ci GetHeldValue().DumpTaggedValue(os); 22004514f5e3Sopenharmony_ci os << "\n"; 22014514f5e3Sopenharmony_ci} 22024514f5e3Sopenharmony_ci 22034514f5e3Sopenharmony_civoid JSSetIterator::Dump(std::ostream &os) const 22044514f5e3Sopenharmony_ci{ 22054514f5e3Sopenharmony_ci LinkedHashSet *set = LinkedHashSet::Cast(GetIteratedSet().GetTaggedObject()); 22064514f5e3Sopenharmony_ci os << " - elements: " << std::dec << set->NumberOfElements() << "\n"; 22074514f5e3Sopenharmony_ci os << " - deleted-elements: " << std::dec << set->NumberOfDeletedElements() << "\n"; 22084514f5e3Sopenharmony_ci os << " - capacity: " << std::dec << set->Capacity() << "\n"; 22094514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 22104514f5e3Sopenharmony_ci os << " - IterationKind: " << std::dec << static_cast<int>(GetIterationKind()) << "\n"; 22114514f5e3Sopenharmony_ci JSObject::Dump(os); 22124514f5e3Sopenharmony_ci 22134514f5e3Sopenharmony_ci os << " <NameDictionary[" << set->NumberOfElements() << "]>\n"; 22144514f5e3Sopenharmony_ci set->Dump(os); 22154514f5e3Sopenharmony_ci} 22164514f5e3Sopenharmony_ci 22174514f5e3Sopenharmony_civoid JSSharedSetIterator::Dump(std::ostream &os) const 22184514f5e3Sopenharmony_ci{ 22194514f5e3Sopenharmony_ci JSSharedSet *iteratedSet = JSSharedSet::Cast(GetIteratedSet().GetTaggedObject()); 22204514f5e3Sopenharmony_ci LinkedHashSet *set = LinkedHashSet::Cast(iteratedSet->GetLinkedSet().GetTaggedObject()); 22214514f5e3Sopenharmony_ci os << " - elements: " << std::dec << set->NumberOfElements() << "\n"; 22224514f5e3Sopenharmony_ci os << " - deleted-elements: " << std::dec << set->NumberOfDeletedElements() << "\n"; 22234514f5e3Sopenharmony_ci os << " - capacity: " << std::dec << set->Capacity() << "\n"; 22244514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 22254514f5e3Sopenharmony_ci os << " - IterationKind: " << std::dec << static_cast<int>(GetIterationKind()) << "\n"; 22264514f5e3Sopenharmony_ci JSObject::Dump(os); 22274514f5e3Sopenharmony_ci 22284514f5e3Sopenharmony_ci os << " <NameDictionary[" << set->NumberOfElements() << "]>\n"; 22294514f5e3Sopenharmony_ci set->Dump(os); 22304514f5e3Sopenharmony_ci} 22314514f5e3Sopenharmony_ci 22324514f5e3Sopenharmony_civoid JSRegExpIterator::Dump(std::ostream &os) const 22334514f5e3Sopenharmony_ci{ 22344514f5e3Sopenharmony_ci os << " - IteratingRegExp: "; 22354514f5e3Sopenharmony_ci GetIteratingRegExp().Dump(os); 22364514f5e3Sopenharmony_ci os << "\n"; 22374514f5e3Sopenharmony_ci os << " - IteratedString: "; 22384514f5e3Sopenharmony_ci GetIteratedString().Dump(os); 22394514f5e3Sopenharmony_ci os << "\n"; 22404514f5e3Sopenharmony_ci os << " - Global: " << std::dec << GetGlobal() << "\n"; 22414514f5e3Sopenharmony_ci os << " - Unicode: " << std::dec << GetUnicode() << "\n"; 22424514f5e3Sopenharmony_ci os << " - Done: " << std::dec << GetDone() << "\n"; 22434514f5e3Sopenharmony_ci JSObject::Dump(os); 22444514f5e3Sopenharmony_ci} 22454514f5e3Sopenharmony_ci 22464514f5e3Sopenharmony_civoid JSArray::Dump(std::ostream &os) const 22474514f5e3Sopenharmony_ci{ 22484514f5e3Sopenharmony_ci os << " - length: " << std::dec << GetArrayLength() << "\n"; 22494514f5e3Sopenharmony_ci JSObject::Dump(os); 22504514f5e3Sopenharmony_ci} 22514514f5e3Sopenharmony_ci 22524514f5e3Sopenharmony_civoid JSSharedArray::Dump(std::ostream &os) const 22534514f5e3Sopenharmony_ci{ 22544514f5e3Sopenharmony_ci os << " - length: " << std::dec << GetArrayLength() << "\n"; 22554514f5e3Sopenharmony_ci JSObject::Dump(os); 22564514f5e3Sopenharmony_ci} 22574514f5e3Sopenharmony_ci 22584514f5e3Sopenharmony_civoid JSArrayIterator::Dump(std::ostream &os) const 22594514f5e3Sopenharmony_ci{ 22604514f5e3Sopenharmony_ci JSArray *array = JSArray::Cast(GetIteratedArray().GetTaggedObject()); 22614514f5e3Sopenharmony_ci os << " - length: " << std::dec << array->GetArrayLength() << "\n"; 22624514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 22634514f5e3Sopenharmony_ci os << " - IterationKind: " << std::dec << static_cast<int>(GetIterationKind()) << "\n"; 22644514f5e3Sopenharmony_ci JSObject::Dump(os); 22654514f5e3Sopenharmony_ci} 22664514f5e3Sopenharmony_ci 22674514f5e3Sopenharmony_civoid JSSharedArrayIterator::Dump(std::ostream &os) const 22684514f5e3Sopenharmony_ci{ 22694514f5e3Sopenharmony_ci JSSharedArray *array = JSSharedArray::Cast(GetIteratedArray().GetTaggedObject()); 22704514f5e3Sopenharmony_ci os << " - length: " << std::dec << array->GetArrayLength() << "\n"; 22714514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 22724514f5e3Sopenharmony_ci os << " - IterationKind: " << std::dec << static_cast<int>(GetIterationKind()) << "\n"; 22734514f5e3Sopenharmony_ci JSObject::Dump(os); 22744514f5e3Sopenharmony_ci} 22754514f5e3Sopenharmony_ci 22764514f5e3Sopenharmony_civoid JSAPIArrayList::Dump(std::ostream &os) const 22774514f5e3Sopenharmony_ci{ 22784514f5e3Sopenharmony_ci os << " - length: " << std::dec << GetSize() << "\n"; 22794514f5e3Sopenharmony_ci JSObject::Dump(os); 22804514f5e3Sopenharmony_ci} 22814514f5e3Sopenharmony_ci 22824514f5e3Sopenharmony_civoid JSAPIArrayListIterator::Dump(std::ostream &os) const 22834514f5e3Sopenharmony_ci{ 22844514f5e3Sopenharmony_ci JSAPIArrayList *arrayList = JSAPIArrayList::Cast(GetIteratedArrayList().GetTaggedObject()); 22854514f5e3Sopenharmony_ci os << " - length: " << std::dec << arrayList->GetSize() << "\n"; 22864514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 22874514f5e3Sopenharmony_ci JSObject::Dump(os); 22884514f5e3Sopenharmony_ci} 22894514f5e3Sopenharmony_ci 22904514f5e3Sopenharmony_civoid JSAPIDeque::Dump(std::ostream &os) const 22914514f5e3Sopenharmony_ci{ 22924514f5e3Sopenharmony_ci os << " - first: " << std::dec << GetFirst() << "\n"; 22934514f5e3Sopenharmony_ci os << " - last: " << std::dec << GetLast() << "\n"; 22944514f5e3Sopenharmony_ci JSObject::Dump(os); 22954514f5e3Sopenharmony_ci} 22964514f5e3Sopenharmony_ci 22974514f5e3Sopenharmony_civoid JSAPIDequeIterator::Dump(std::ostream &os) const 22984514f5e3Sopenharmony_ci{ 22994514f5e3Sopenharmony_ci JSAPIDeque *deque = JSAPIDeque::Cast(GetIteratedDeque().GetTaggedObject()); 23004514f5e3Sopenharmony_ci os << " - length: " << std::dec << deque->GetSize() << "\n"; 23014514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 23024514f5e3Sopenharmony_ci JSObject::Dump(os); 23034514f5e3Sopenharmony_ci} 23044514f5e3Sopenharmony_ci 23054514f5e3Sopenharmony_civoid JSAPILightWeightMap::Dump(std::ostream &os) const 23064514f5e3Sopenharmony_ci{ 23074514f5e3Sopenharmony_ci uint32_t capacity = GetSize(); 23084514f5e3Sopenharmony_ci os << " - length: " << std::dec << capacity << "\n"; 23094514f5e3Sopenharmony_ci uint32_t i = 0; 23104514f5e3Sopenharmony_ci TaggedArray *hashArray = TaggedArray::Cast(GetHashes().GetTaggedObject()); 23114514f5e3Sopenharmony_ci TaggedArray *keyArray = TaggedArray::Cast(GetKeys().GetTaggedObject()); 23124514f5e3Sopenharmony_ci TaggedArray *valueArray = TaggedArray::Cast(GetValues().GetTaggedObject()); 23134514f5e3Sopenharmony_ci while (capacity > i) { 23144514f5e3Sopenharmony_ci os << " hash: "; 23154514f5e3Sopenharmony_ci hashArray->Get(i).DumpTaggedValue(os); 23164514f5e3Sopenharmony_ci os << " key: "; 23174514f5e3Sopenharmony_ci keyArray->Get(i).DumpTaggedValue(os); 23184514f5e3Sopenharmony_ci os << " value: "; 23194514f5e3Sopenharmony_ci valueArray->Get(i).DumpTaggedValue(os); 23204514f5e3Sopenharmony_ci os << "\n"; 23214514f5e3Sopenharmony_ci i++; 23224514f5e3Sopenharmony_ci } 23234514f5e3Sopenharmony_ci JSObject::Dump(os); 23244514f5e3Sopenharmony_ci} 23254514f5e3Sopenharmony_ci 23264514f5e3Sopenharmony_civoid JSAPILightWeightMapIterator::Dump(std::ostream &os) const 23274514f5e3Sopenharmony_ci{ 23284514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 23294514f5e3Sopenharmony_ci os << " - IterationKind: " << std::dec << static_cast<int>(GetIterationKind()) << "\n"; 23304514f5e3Sopenharmony_ci JSObject::Dump(os); 23314514f5e3Sopenharmony_ci} 23324514f5e3Sopenharmony_ci 23334514f5e3Sopenharmony_civoid JSAPIHashMap::Dump(std::ostream &os) const 23344514f5e3Sopenharmony_ci{ 23354514f5e3Sopenharmony_ci TaggedHashArray *hashArray = TaggedHashArray::Cast(GetTable().GetTaggedObject()); 23364514f5e3Sopenharmony_ci os << " - elements: " << std::dec << GetSize() << "\n"; 23374514f5e3Sopenharmony_ci os << " - table capacity: " << std::dec << static_cast<int>(hashArray->GetLength()) << "\n"; 23384514f5e3Sopenharmony_ci JSObject::Dump(os); 23394514f5e3Sopenharmony_ci} 23404514f5e3Sopenharmony_ci 23414514f5e3Sopenharmony_civoid JSAPIHashMap::DumpForSnapshot(std::vector<Reference> &vec) const 23424514f5e3Sopenharmony_ci{ 23434514f5e3Sopenharmony_ci if (!(GetTable().IsInvalidValue())) { 23444514f5e3Sopenharmony_ci TaggedHashArray *map = TaggedHashArray::Cast(GetTable().GetTaggedObject()); 23454514f5e3Sopenharmony_ci vec.emplace_back("hashmap", GetTable()); 23464514f5e3Sopenharmony_ci map->DumpForSnapshot(vec); 23474514f5e3Sopenharmony_ci } 23484514f5e3Sopenharmony_ci 23494514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 23504514f5e3Sopenharmony_ci} 23514514f5e3Sopenharmony_ci 23524514f5e3Sopenharmony_civoid JSAPIHashSet::Dump(std::ostream &os) const 23534514f5e3Sopenharmony_ci{ 23544514f5e3Sopenharmony_ci TaggedHashArray *hashArray = TaggedHashArray::Cast(GetTable().GetTaggedObject()); 23554514f5e3Sopenharmony_ci os << " - elements: " << std::dec << GetSize() << "\n"; 23564514f5e3Sopenharmony_ci os << " - table capacity: " << std::dec << static_cast<int>(hashArray->GetLength()) << "\n"; 23574514f5e3Sopenharmony_ci JSObject::Dump(os); 23584514f5e3Sopenharmony_ci} 23594514f5e3Sopenharmony_ci 23604514f5e3Sopenharmony_civoid JSAPIHashSet::DumpForSnapshot(std::vector<Reference> &vec) const 23614514f5e3Sopenharmony_ci{ 23624514f5e3Sopenharmony_ci if (!(GetTable().IsInvalidValue())) { 23634514f5e3Sopenharmony_ci TaggedHashArray *set = TaggedHashArray::Cast(GetTable().GetTaggedObject()); 23644514f5e3Sopenharmony_ci vec.emplace_back("hashset", GetTable()); 23654514f5e3Sopenharmony_ci set->DumpForSnapshot(vec); 23664514f5e3Sopenharmony_ci } 23674514f5e3Sopenharmony_ci 23684514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 23694514f5e3Sopenharmony_ci} 23704514f5e3Sopenharmony_ci 23714514f5e3Sopenharmony_civoid JSAPIHashMapIterator::Dump(std::ostream &os) const 23724514f5e3Sopenharmony_ci{ 23734514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 23744514f5e3Sopenharmony_ci os << " - IterationKind: " << std::dec << static_cast<int>(GetIterationKind()) << "\n"; 23754514f5e3Sopenharmony_ci JSObject::Dump(os); 23764514f5e3Sopenharmony_ci} 23774514f5e3Sopenharmony_ci 23784514f5e3Sopenharmony_civoid JSAPIHashMapIterator::DumpForSnapshot(std::vector<Reference> &vec) const 23794514f5e3Sopenharmony_ci{ 23804514f5e3Sopenharmony_ci vec.emplace_back(CString("IteratedHashMap"), JSTaggedValue(GetIteratedHashMap())); 23814514f5e3Sopenharmony_ci vec.emplace_back(CString("TaggedQueue"), JSTaggedValue(GetTaggedQueue())); 23824514f5e3Sopenharmony_ci vec.emplace_back(CString("CurrentNodeResult"), JSTaggedValue(GetCurrentNodeResult())); 23834514f5e3Sopenharmony_ci vec.emplace_back(CString("BitField"), JSTaggedValue(GetBitField())); 23844514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 23854514f5e3Sopenharmony_ci} 23864514f5e3Sopenharmony_ci 23874514f5e3Sopenharmony_civoid JSAPIHashSetIterator::Dump(std::ostream &os) const 23884514f5e3Sopenharmony_ci{ 23894514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 23904514f5e3Sopenharmony_ci os << " - IterationKind: " << std::dec << static_cast<int>(GetIterationKind()) << "\n"; 23914514f5e3Sopenharmony_ci JSObject::Dump(os); 23924514f5e3Sopenharmony_ci} 23934514f5e3Sopenharmony_ci 23944514f5e3Sopenharmony_civoid JSAPIHashSetIterator::DumpForSnapshot(std::vector<Reference> &vec) const 23954514f5e3Sopenharmony_ci{ 23964514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 23974514f5e3Sopenharmony_ci} 23984514f5e3Sopenharmony_ci 23994514f5e3Sopenharmony_civoid JSAPILightWeightSet::Dump(std::ostream &os) const 24004514f5e3Sopenharmony_ci{ 24014514f5e3Sopenharmony_ci TaggedArray *keys = TaggedArray::Cast(GetHashes().GetTaggedObject()); 24024514f5e3Sopenharmony_ci TaggedArray *values = TaggedArray::Cast(GetValues().GetTaggedObject()); 24034514f5e3Sopenharmony_ci uint32_t len = GetLength(); 24044514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 24054514f5e3Sopenharmony_ci os << " - keys: "; 24064514f5e3Sopenharmony_ci keys->Get(i).DumpTaggedValue(os); 24074514f5e3Sopenharmony_ci os << "\n"; 24084514f5e3Sopenharmony_ci os << " - values: "; 24094514f5e3Sopenharmony_ci values->Get(i).DumpTaggedValue(os); 24104514f5e3Sopenharmony_ci os << "\n"; 24114514f5e3Sopenharmony_ci } 24124514f5e3Sopenharmony_ci os << " - length: " << std::dec << len << "\n"; 24134514f5e3Sopenharmony_ci JSObject::Dump(os); 24144514f5e3Sopenharmony_ci} 24154514f5e3Sopenharmony_ci 24164514f5e3Sopenharmony_civoid JSAPILightWeightSetIterator::Dump(std::ostream &os) const 24174514f5e3Sopenharmony_ci{ 24184514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 24194514f5e3Sopenharmony_ci os << " - IterationKind: " << std::dec << static_cast<int>(GetIterationKind()) << "\n"; 24204514f5e3Sopenharmony_ci JSObject::Dump(os); 24214514f5e3Sopenharmony_ci} 24224514f5e3Sopenharmony_ci 24234514f5e3Sopenharmony_civoid JSAPIList::Dump(std::ostream &os) const 24244514f5e3Sopenharmony_ci{ 24254514f5e3Sopenharmony_ci TaggedSingleList *list = TaggedSingleList::Cast(GetSingleList().GetTaggedObject()); 24264514f5e3Sopenharmony_ci os << " - length: " << std::dec << list->GetCapacityFromTaggedArray() << "\n"; 24274514f5e3Sopenharmony_ci os << " - node num: " << std::dec << list->NumberOfNodes() << "\n"; 24284514f5e3Sopenharmony_ci os << " - delete node num: " << std::dec << list->NumberOfDeletedNodes() << "\n"; 24294514f5e3Sopenharmony_ci os << " - is odered list: " << std::dec << this->IsOrderedList() << "\n"; 24304514f5e3Sopenharmony_ci JSObject::Dump(os); 24314514f5e3Sopenharmony_ci list->Dump(os); 24324514f5e3Sopenharmony_ci} 24334514f5e3Sopenharmony_ci 24344514f5e3Sopenharmony_civoid JSAPIList::DumpForSnapshot(std::vector<Reference> &vec) const 24354514f5e3Sopenharmony_ci{ 24364514f5e3Sopenharmony_ci if (!(GetSingleList().IsInvalidValue())) { 24374514f5e3Sopenharmony_ci TaggedSingleList *list = TaggedSingleList::Cast(GetSingleList().GetTaggedObject()); 24384514f5e3Sopenharmony_ci list->DumpForSnapshot(vec); 24394514f5e3Sopenharmony_ci } 24404514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 24414514f5e3Sopenharmony_ci} 24424514f5e3Sopenharmony_ci 24434514f5e3Sopenharmony_civoid JSAPIListIterator::Dump(std::ostream &os) const 24444514f5e3Sopenharmony_ci{ 24454514f5e3Sopenharmony_ci TaggedSingleList *list = TaggedSingleList::Cast(GetIteratedList().GetTaggedObject()); 24464514f5e3Sopenharmony_ci os << " - length: " << std::dec << list->GetCapacityFromTaggedArray() << "\n"; 24474514f5e3Sopenharmony_ci os << " - node num: " << std::dec << list->NumberOfNodes() << "\n"; 24484514f5e3Sopenharmony_ci os << " - delete node num: " << std::dec << list->NumberOfDeletedNodes() << "\n"; 24494514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 24504514f5e3Sopenharmony_ci JSObject::Dump(os); 24514514f5e3Sopenharmony_ci list->Dump(os); 24524514f5e3Sopenharmony_ci} 24534514f5e3Sopenharmony_ci 24544514f5e3Sopenharmony_civoid JSAPIListIterator::DumpForSnapshot(std::vector<Reference> &vec) const 24554514f5e3Sopenharmony_ci{ 24564514f5e3Sopenharmony_ci if (!(GetIteratedList().IsInvalidValue())) { 24574514f5e3Sopenharmony_ci TaggedSingleList *list = TaggedSingleList::Cast(GetIteratedList().GetTaggedObject()); 24584514f5e3Sopenharmony_ci vec.emplace_back("iteratedlist", GetIteratedList()); 24594514f5e3Sopenharmony_ci list->DumpForSnapshot(vec); 24604514f5e3Sopenharmony_ci } 24614514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 24624514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 24634514f5e3Sopenharmony_ci} 24644514f5e3Sopenharmony_ci 24654514f5e3Sopenharmony_civoid JSAPILinkedList::Dump(std::ostream &os) const 24664514f5e3Sopenharmony_ci{ 24674514f5e3Sopenharmony_ci TaggedDoubleList *linkedList = TaggedDoubleList::Cast(GetDoubleList().GetTaggedObject()); 24684514f5e3Sopenharmony_ci os << " - length: " << std::dec << linkedList->GetCapacityFromTaggedArray() << "\n"; 24694514f5e3Sopenharmony_ci os << " - node num: " << std::dec << linkedList->NumberOfNodes() << "\n"; 24704514f5e3Sopenharmony_ci os << " - delete node num: " << std::dec << linkedList->NumberOfDeletedNodes() << "\n"; 24714514f5e3Sopenharmony_ci JSObject::Dump(os); 24724514f5e3Sopenharmony_ci linkedList->Dump(os); 24734514f5e3Sopenharmony_ci} 24744514f5e3Sopenharmony_ci 24754514f5e3Sopenharmony_civoid JSAPILinkedList::DumpForSnapshot(std::vector<Reference> &vec) const 24764514f5e3Sopenharmony_ci{ 24774514f5e3Sopenharmony_ci if (!(GetDoubleList().IsInvalidValue())) { 24784514f5e3Sopenharmony_ci TaggedDoubleList *list = TaggedDoubleList::Cast(GetDoubleList().GetTaggedObject()); 24794514f5e3Sopenharmony_ci list->DumpForSnapshot(vec); 24804514f5e3Sopenharmony_ci } 24814514f5e3Sopenharmony_ci 24824514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 24834514f5e3Sopenharmony_ci} 24844514f5e3Sopenharmony_ci 24854514f5e3Sopenharmony_civoid JSAPILinkedListIterator::Dump(std::ostream &os) const 24864514f5e3Sopenharmony_ci{ 24874514f5e3Sopenharmony_ci TaggedDoubleList *linkedList = TaggedDoubleList::Cast(GetIteratedLinkedList().GetTaggedObject()); 24884514f5e3Sopenharmony_ci os << " - length: " << std::dec << linkedList->GetCapacityFromTaggedArray() << "\n"; 24894514f5e3Sopenharmony_ci os << " - node num: " << std::dec << linkedList->NumberOfNodes() << "\n"; 24904514f5e3Sopenharmony_ci os << " - delete node num: " << std::dec << linkedList->NumberOfDeletedNodes() << "\n"; 24914514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 24924514f5e3Sopenharmony_ci JSObject::Dump(os); 24934514f5e3Sopenharmony_ci linkedList->Dump(os); 24944514f5e3Sopenharmony_ci} 24954514f5e3Sopenharmony_ci 24964514f5e3Sopenharmony_civoid JSAPILinkedListIterator::DumpForSnapshot(std::vector<Reference> &vec) const 24974514f5e3Sopenharmony_ci{ 24984514f5e3Sopenharmony_ci if (!(GetIteratedLinkedList().IsInvalidValue())) { 24994514f5e3Sopenharmony_ci TaggedDoubleList *linkedList = TaggedDoubleList::Cast(GetIteratedLinkedList().GetTaggedObject()); 25004514f5e3Sopenharmony_ci vec.emplace_back("iteratedlist", GetIteratedLinkedList()); 25014514f5e3Sopenharmony_ci linkedList->DumpForSnapshot(vec); 25024514f5e3Sopenharmony_ci } 25034514f5e3Sopenharmony_ci 25044514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 25054514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 25064514f5e3Sopenharmony_ci} 25074514f5e3Sopenharmony_ci 25084514f5e3Sopenharmony_civoid JSAPIQueue::Dump(std::ostream &os) const 25094514f5e3Sopenharmony_ci{ 25104514f5e3Sopenharmony_ci os << " - length: " << std::dec << GetSize() << "\n"; 25114514f5e3Sopenharmony_ci os << " - front: " << std::dec << GetFront() << "\n"; 25124514f5e3Sopenharmony_ci os << " - tail: " << std::dec << GetTail() << "\n"; 25134514f5e3Sopenharmony_ci JSObject::Dump(os); 25144514f5e3Sopenharmony_ci} 25154514f5e3Sopenharmony_ci 25164514f5e3Sopenharmony_civoid JSAPIQueueIterator::Dump(std::ostream &os) const 25174514f5e3Sopenharmony_ci{ 25184514f5e3Sopenharmony_ci JSAPIQueue *queue = JSAPIQueue::Cast(GetIteratedQueue().GetTaggedObject()); 25194514f5e3Sopenharmony_ci os << " - length: " << std::dec << queue->GetSize() << "\n"; 25204514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 25214514f5e3Sopenharmony_ci JSObject::Dump(os); 25224514f5e3Sopenharmony_ci} 25234514f5e3Sopenharmony_ci 25244514f5e3Sopenharmony_civoid JSAPIStack::Dump(std::ostream &os) const 25254514f5e3Sopenharmony_ci{ 25264514f5e3Sopenharmony_ci os << " - top: " << std::dec << GetTop() << "\n"; 25274514f5e3Sopenharmony_ci JSObject::Dump(os); 25284514f5e3Sopenharmony_ci} 25294514f5e3Sopenharmony_ci 25304514f5e3Sopenharmony_civoid JSAPIStackIterator::Dump(std::ostream &os) const 25314514f5e3Sopenharmony_ci{ 25324514f5e3Sopenharmony_ci JSAPIStack *stack = JSAPIStack::Cast(GetIteratedStack().GetTaggedObject()); 25334514f5e3Sopenharmony_ci os << " - length: " << std::dec << stack->GetSize() << "\n"; 25344514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 25354514f5e3Sopenharmony_ci JSObject::Dump(os); 25364514f5e3Sopenharmony_ci} 25374514f5e3Sopenharmony_ci 25384514f5e3Sopenharmony_civoid JSAPIVector::Dump(std::ostream &os) const 25394514f5e3Sopenharmony_ci{ 25404514f5e3Sopenharmony_ci os << " - length: " << std::dec << GetSize() << "\n"; 25414514f5e3Sopenharmony_ci JSObject::Dump(os); 25424514f5e3Sopenharmony_ci} 25434514f5e3Sopenharmony_ci 25444514f5e3Sopenharmony_civoid JSAPIVectorIterator::Dump(std::ostream &os) const 25454514f5e3Sopenharmony_ci{ 25464514f5e3Sopenharmony_ci JSAPIVector *vector = JSAPIVector::Cast(GetIteratedVector().GetTaggedObject()); 25474514f5e3Sopenharmony_ci os << " - length: " << std::dec << vector->GetSize() << "\n"; 25484514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 25494514f5e3Sopenharmony_ci JSObject::Dump(os); 25504514f5e3Sopenharmony_ci} 25514514f5e3Sopenharmony_ci 25524514f5e3Sopenharmony_civoid JSAPIBitVector::Dump(std::ostream &os) const 25534514f5e3Sopenharmony_ci{ 25544514f5e3Sopenharmony_ci os << " - length: " << std::dec << GetSize() << "\n"; 25554514f5e3Sopenharmony_ci JSObject::Dump(os); 25564514f5e3Sopenharmony_ci} 25574514f5e3Sopenharmony_ci 25584514f5e3Sopenharmony_civoid JSAPIBitVectorIterator::Dump(std::ostream &os) const 25594514f5e3Sopenharmony_ci{ 25604514f5e3Sopenharmony_ci JSAPIBitVector *bitVector = JSAPIBitVector::Cast(GetIteratedBitVector().GetTaggedObject()); 25614514f5e3Sopenharmony_ci os << " - length: " << std::dec << bitVector->GetSize() << "\n"; 25624514f5e3Sopenharmony_ci os << " - nextIndex: " << std::dec << GetNextIndex() << "\n"; 25634514f5e3Sopenharmony_ci JSObject::Dump(os); 25644514f5e3Sopenharmony_ci} 25654514f5e3Sopenharmony_ci 25664514f5e3Sopenharmony_civoid JSStringIterator::Dump(std::ostream &os) const 25674514f5e3Sopenharmony_ci{ 25684514f5e3Sopenharmony_ci EcmaString *str = EcmaString::Cast(GetIteratedString().GetTaggedObject()); 25694514f5e3Sopenharmony_ci os << " - IteratedString: " << EcmaStringAccessor(str).ToCString() << "\n"; 25704514f5e3Sopenharmony_ci os << " - StringIteratorNextIndex: " << std::dec << GetStringIteratorNextIndex() << "\n"; 25714514f5e3Sopenharmony_ci JSObject::Dump(os); 25724514f5e3Sopenharmony_ci} 25734514f5e3Sopenharmony_civoid JSTypedArray::Dump(std::ostream &os) const 25744514f5e3Sopenharmony_ci{ 25754514f5e3Sopenharmony_ci os << " - viewed-array-buffer: "; 25764514f5e3Sopenharmony_ci GetViewedArrayBufferOrByteArray().Dump(os); 25774514f5e3Sopenharmony_ci os << " - typed-array-name: "; 25784514f5e3Sopenharmony_ci GetTypedArrayName().Dump(os); 25794514f5e3Sopenharmony_ci os << " - byte-length: " << GetByteLength(); 25804514f5e3Sopenharmony_ci os << " - byte-offset: " << GetByteOffset(); 25814514f5e3Sopenharmony_ci os << " - array-length: " << GetArrayLength(); 25824514f5e3Sopenharmony_ci JSObject::Dump(os); 25834514f5e3Sopenharmony_ci} 25844514f5e3Sopenharmony_ci 25854514f5e3Sopenharmony_civoid JSSharedTypedArray::Dump(std::ostream &os) const 25864514f5e3Sopenharmony_ci{ 25874514f5e3Sopenharmony_ci os << " - viewed-array-buffer: "; 25884514f5e3Sopenharmony_ci GetViewedArrayBufferOrByteArray().Dump(os); 25894514f5e3Sopenharmony_ci os << " - typed-array-name: "; 25904514f5e3Sopenharmony_ci GetTypedArrayName().Dump(os); 25914514f5e3Sopenharmony_ci os << " - byte-length: " << GetByteLength(); 25924514f5e3Sopenharmony_ci os << " - byte-offset: " << GetByteOffset(); 25934514f5e3Sopenharmony_ci os << " - array-length: " << GetArrayLength(); 25944514f5e3Sopenharmony_ci JSObject::Dump(os); 25954514f5e3Sopenharmony_ci} 25964514f5e3Sopenharmony_ci 25974514f5e3Sopenharmony_civoid ByteArray::Dump(std::ostream &os) const 25984514f5e3Sopenharmony_ci{ 25994514f5e3Sopenharmony_ci os << " - array-length: " << GetArrayLength(); 26004514f5e3Sopenharmony_ci os << " - byte-length: " << GetByteLength(); 26014514f5e3Sopenharmony_ci} 26024514f5e3Sopenharmony_ci 26034514f5e3Sopenharmony_civoid JSRegExp::Dump(std::ostream &os) const 26044514f5e3Sopenharmony_ci{ 26054514f5e3Sopenharmony_ci os << "\n"; 26064514f5e3Sopenharmony_ci os << " - ByteCodeBuffer: "; 26074514f5e3Sopenharmony_ci GetByteCodeBuffer().Dump(os); 26084514f5e3Sopenharmony_ci os << "\n"; 26094514f5e3Sopenharmony_ci os << " - OriginalSource: "; 26104514f5e3Sopenharmony_ci GetOriginalSource().Dump(os); 26114514f5e3Sopenharmony_ci os << "\n"; 26124514f5e3Sopenharmony_ci os << " - OriginalFlags: "; 26134514f5e3Sopenharmony_ci GetOriginalFlags().Dump(os); 26144514f5e3Sopenharmony_ci os << "\n"; 26154514f5e3Sopenharmony_ci os << " - GroupName: "; 26164514f5e3Sopenharmony_ci GetGroupName().Dump(os); 26174514f5e3Sopenharmony_ci os << "\n"; 26184514f5e3Sopenharmony_ci os << " - Length: " << GetLength(); 26194514f5e3Sopenharmony_ci os << "\n"; 26204514f5e3Sopenharmony_ci JSObject::Dump(os); 26214514f5e3Sopenharmony_ci} 26224514f5e3Sopenharmony_ci 26234514f5e3Sopenharmony_civoid JSProxy::Dump(std::ostream &os) const 26244514f5e3Sopenharmony_ci{ 26254514f5e3Sopenharmony_ci os << " - Target: "; 26264514f5e3Sopenharmony_ci os << "\n"; 26274514f5e3Sopenharmony_ci JSObject::Cast(GetTarget().GetTaggedObject())->Dump(os); 26284514f5e3Sopenharmony_ci os << " - Handler: "; 26294514f5e3Sopenharmony_ci os << "\n"; 26304514f5e3Sopenharmony_ci JSObject::Cast(GetHandler().GetTaggedObject())->Dump(os); 26314514f5e3Sopenharmony_ci os << "\n"; 26324514f5e3Sopenharmony_ci} 26334514f5e3Sopenharmony_ci 26344514f5e3Sopenharmony_civoid JSSymbol::Dump(std::ostream &os) const 26354514f5e3Sopenharmony_ci{ 26364514f5e3Sopenharmony_ci os << " - hash-field: " << GetHashField(); 26374514f5e3Sopenharmony_ci os << "\n - flags: " << GetFlags(); 26384514f5e3Sopenharmony_ci os << "\n - description: "; 26394514f5e3Sopenharmony_ci JSTaggedValue description = GetDescription(); 26404514f5e3Sopenharmony_ci description.Dump(os); 26414514f5e3Sopenharmony_ci} 26424514f5e3Sopenharmony_ci 26434514f5e3Sopenharmony_civoid LexicalEnv::Dump(std::ostream &os) const 26444514f5e3Sopenharmony_ci{ 26454514f5e3Sopenharmony_ci DumpArrayClass(this, os); 26464514f5e3Sopenharmony_ci} 26474514f5e3Sopenharmony_ci 26484514f5e3Sopenharmony_civoid SendableEnv::Dump(std::ostream &os) const 26494514f5e3Sopenharmony_ci{ 26504514f5e3Sopenharmony_ci DumpArrayClass(this, os); 26514514f5e3Sopenharmony_ci} 26524514f5e3Sopenharmony_ci 26534514f5e3Sopenharmony_civoid COWTaggedArray::Dump(std::ostream &os) const 26544514f5e3Sopenharmony_ci{ 26554514f5e3Sopenharmony_ci DumpArrayClass(this, os); 26564514f5e3Sopenharmony_ci} 26574514f5e3Sopenharmony_ci 26584514f5e3Sopenharmony_civoid MutantTaggedArray::Dump(std::ostream &os) const 26594514f5e3Sopenharmony_ci{ 26604514f5e3Sopenharmony_ci DumpMutantTaggedArray(this, os); 26614514f5e3Sopenharmony_ci} 26624514f5e3Sopenharmony_ci 26634514f5e3Sopenharmony_civoid COWMutantTaggedArray::Dump(std::ostream &os) const 26644514f5e3Sopenharmony_ci{ 26654514f5e3Sopenharmony_ci DumpCOWMutantTaggedArray(this, os); 26664514f5e3Sopenharmony_ci} 26674514f5e3Sopenharmony_ci 26684514f5e3Sopenharmony_ci// NOLINTNEXTLINE(readability-function-size) 26694514f5e3Sopenharmony_civoid GlobalEnv::Dump(std::ostream &os) const 26704514f5e3Sopenharmony_ci{ 26714514f5e3Sopenharmony_ci auto globalConst = GetJSThread()->GlobalConstants(); 26724514f5e3Sopenharmony_ci os << " - ObjectFunction: "; 26734514f5e3Sopenharmony_ci GetObjectFunction().GetTaggedValue().Dump(os); 26744514f5e3Sopenharmony_ci os << " - FunctionFunction: "; 26754514f5e3Sopenharmony_ci GetFunctionFunction().GetTaggedValue().Dump(os); 26764514f5e3Sopenharmony_ci os << " - NumberFunction: "; 26774514f5e3Sopenharmony_ci GetNumberFunction().GetTaggedValue().Dump(os); 26784514f5e3Sopenharmony_ci os << " - BigIntFunction: "; 26794514f5e3Sopenharmony_ci GetBigIntFunction().GetTaggedValue().Dump(os); 26804514f5e3Sopenharmony_ci os << " - DateFunction: "; 26814514f5e3Sopenharmony_ci GetDateFunction().GetTaggedValue().Dump(os); 26824514f5e3Sopenharmony_ci os << " - BooleanFunction: "; 26834514f5e3Sopenharmony_ci GetBooleanFunction().GetTaggedValue().Dump(os); 26844514f5e3Sopenharmony_ci os << " - ErrorFunction: "; 26854514f5e3Sopenharmony_ci GetErrorFunction().GetTaggedValue().Dump(os); 26864514f5e3Sopenharmony_ci os << " - ArrayFunction: "; 26874514f5e3Sopenharmony_ci GetArrayFunction().GetTaggedValue().Dump(os); 26884514f5e3Sopenharmony_ci os << " - TypedArrayFunction: "; 26894514f5e3Sopenharmony_ci GetTypedArrayFunction().GetTaggedValue().Dump(os); 26904514f5e3Sopenharmony_ci os << " - Int8ArrayFunction: "; 26914514f5e3Sopenharmony_ci GetInt8ArrayFunction().GetTaggedValue().Dump(os); 26924514f5e3Sopenharmony_ci os << " - Uint8ArrayFunction: "; 26934514f5e3Sopenharmony_ci GetUint8ArrayFunction().GetTaggedValue().Dump(os); 26944514f5e3Sopenharmony_ci os << " - Uint8ClampedArrayFunction: "; 26954514f5e3Sopenharmony_ci GetUint8ClampedArrayFunction().GetTaggedValue().Dump(os); 26964514f5e3Sopenharmony_ci os << " - Int16ArrayFunction: "; 26974514f5e3Sopenharmony_ci GetInt16ArrayFunction().GetTaggedValue().Dump(os); 26984514f5e3Sopenharmony_ci os << " - ArrayBufferFunction: "; 26994514f5e3Sopenharmony_ci GetArrayBufferFunction().GetTaggedValue().Dump(os); 27004514f5e3Sopenharmony_ci os << " - SharedArrayBufferFunction: "; 27014514f5e3Sopenharmony_ci GetSharedArrayBufferFunction().GetTaggedValue().Dump(os); 27024514f5e3Sopenharmony_ci os << " - SymbolFunction: "; 27034514f5e3Sopenharmony_ci GetSymbolFunction().GetTaggedValue().Dump(os); 27044514f5e3Sopenharmony_ci os << " - RangeErrorFunction: "; 27054514f5e3Sopenharmony_ci GetRangeErrorFunction().GetTaggedValue().Dump(os); 27064514f5e3Sopenharmony_ci os << " - ReferenceErrorFunction: "; 27074514f5e3Sopenharmony_ci GetReferenceErrorFunction().GetTaggedValue().Dump(os); 27084514f5e3Sopenharmony_ci os << " - TypeErrorFunction: "; 27094514f5e3Sopenharmony_ci GetTypeErrorFunction().GetTaggedValue().Dump(os); 27104514f5e3Sopenharmony_ci os << " - AggregateErrorFunction: "; 27114514f5e3Sopenharmony_ci GetAggregateErrorFunction().GetTaggedValue().Dump(os); 27124514f5e3Sopenharmony_ci os << " - URIErrorFunction: "; 27134514f5e3Sopenharmony_ci GetURIErrorFunction().GetTaggedValue().Dump(os); 27144514f5e3Sopenharmony_ci os << " - SyntaxErrorFunction: "; 27154514f5e3Sopenharmony_ci GetSyntaxErrorFunction().GetTaggedValue().Dump(os); 27164514f5e3Sopenharmony_ci os << " - EvalErrorFunction: "; 27174514f5e3Sopenharmony_ci GetEvalErrorFunction().GetTaggedValue().Dump(os); 27184514f5e3Sopenharmony_ci os << " - OOMErrorFunction: "; 27194514f5e3Sopenharmony_ci GetOOMErrorFunction().GetTaggedValue().Dump(os); 27204514f5e3Sopenharmony_ci os << " - TerminationErrorFunction: "; 27214514f5e3Sopenharmony_ci GetTerminationErrorFunction().GetTaggedValue().Dump(os); 27224514f5e3Sopenharmony_ci os << " - RegExpFunction: "; 27234514f5e3Sopenharmony_ci GetRegExpFunction().GetTaggedValue().Dump(os); 27244514f5e3Sopenharmony_ci os << " - BuiltinsSetFunction: "; 27254514f5e3Sopenharmony_ci GetBuiltinsSetFunction().GetTaggedValue().Dump(os); 27264514f5e3Sopenharmony_ci os << " - BuiltinsMapFunction: "; 27274514f5e3Sopenharmony_ci GetBuiltinsMapFunction().GetTaggedValue().Dump(os); 27284514f5e3Sopenharmony_ci os << " - BuiltinsWeakSetFunction: "; 27294514f5e3Sopenharmony_ci GetBuiltinsWeakSetFunction().GetTaggedValue().Dump(os); 27304514f5e3Sopenharmony_ci os << " - BuiltinsWeakMapFunction: "; 27314514f5e3Sopenharmony_ci GetBuiltinsWeakMapFunction().GetTaggedValue().Dump(os); 27324514f5e3Sopenharmony_ci os << " - BuiltinsWeakRefFunction: "; 27334514f5e3Sopenharmony_ci GetBuiltinsWeakRefFunction().GetTaggedValue().Dump(os); 27344514f5e3Sopenharmony_ci os << " - BuiltinsFinalizationRegistryFunction: "; 27354514f5e3Sopenharmony_ci GetBuiltinsFinalizationRegistryFunction().GetTaggedValue().Dump(os); 27364514f5e3Sopenharmony_ci os << " - MathFunction: "; 27374514f5e3Sopenharmony_ci GetMathFunction().GetTaggedValue().Dump(os); 27384514f5e3Sopenharmony_ci os << " - AtomicsFunction: "; 27394514f5e3Sopenharmony_ci GetAtomicsFunction().GetTaggedValue().Dump(os); 27404514f5e3Sopenharmony_ci os << " - JsonFunction: "; 27414514f5e3Sopenharmony_ci GetJsonFunction().GetTaggedValue().Dump(os); 27424514f5e3Sopenharmony_ci os << " - StringFunction: "; 27434514f5e3Sopenharmony_ci GetStringFunction().GetTaggedValue().Dump(os); 27444514f5e3Sopenharmony_ci os << " - ProxyFunction: "; 27454514f5e3Sopenharmony_ci GetProxyFunction().GetTaggedValue().Dump(os); 27464514f5e3Sopenharmony_ci os << " - ReflectFunction: "; 27474514f5e3Sopenharmony_ci GetReflectFunction().GetTaggedValue().Dump(os); 27484514f5e3Sopenharmony_ci os << " - AsyncFunction: "; 27494514f5e3Sopenharmony_ci GetAsyncFunction().GetTaggedValue().Dump(os); 27504514f5e3Sopenharmony_ci os << " - AsyncFunctionPrototype: "; 27514514f5e3Sopenharmony_ci GetAsyncFunctionPrototype().GetTaggedValue().Dump(os); 27524514f5e3Sopenharmony_ci os << " - JSGlobalObject: "; 27534514f5e3Sopenharmony_ci GetJSGlobalObject().GetTaggedValue().Dump(os); 27544514f5e3Sopenharmony_ci os << " - GlobalPatch: "; 27554514f5e3Sopenharmony_ci GetGlobalPatch().GetTaggedValue().Dump(os); 27564514f5e3Sopenharmony_ci os << " - EmptyArray: "; 27574514f5e3Sopenharmony_ci globalConst->GetEmptyArray().Dump(os); 27584514f5e3Sopenharmony_ci os << " - EmptyString "; 27594514f5e3Sopenharmony_ci globalConst->GetEmptyString().Dump(os); 27604514f5e3Sopenharmony_ci os << " - EmptyTaggedQueue: "; 27614514f5e3Sopenharmony_ci globalConst->GetEmptyTaggedQueue().Dump(os); 27624514f5e3Sopenharmony_ci os << " - EmptyProfileTypeInfoCell: "; 27634514f5e3Sopenharmony_ci globalConst->GetEmptyProfileTypeInfoCell().Dump(os); 27644514f5e3Sopenharmony_ci os << " - PrototypeString: "; 27654514f5e3Sopenharmony_ci globalConst->GetPrototypeString().Dump(os); 27664514f5e3Sopenharmony_ci os << " - HasInstanceSymbol: "; 27674514f5e3Sopenharmony_ci GetHasInstanceSymbol().GetTaggedValue().Dump(os); 27684514f5e3Sopenharmony_ci os << " - IsConcatSpreadableSymbol: "; 27694514f5e3Sopenharmony_ci GetIsConcatSpreadableSymbol().GetTaggedValue().Dump(os); 27704514f5e3Sopenharmony_ci os << " - ToStringTagSymbol: "; 27714514f5e3Sopenharmony_ci GetToStringTagSymbol().GetTaggedValue().Dump(os); 27724514f5e3Sopenharmony_ci os << " - IteratorSymbol: "; 27734514f5e3Sopenharmony_ci GetIteratorSymbol().GetTaggedValue().Dump(os); 27744514f5e3Sopenharmony_ci os << " - AsyncIteratorSymbol: "; 27754514f5e3Sopenharmony_ci GetAsyncIteratorSymbol().GetTaggedValue().Dump(os); 27764514f5e3Sopenharmony_ci os << " - MatchSymbol: "; 27774514f5e3Sopenharmony_ci GetMatchSymbol().GetTaggedValue().Dump(os); 27784514f5e3Sopenharmony_ci os << " - MatchAllSymbol: "; 27794514f5e3Sopenharmony_ci GetMatchAllSymbol().GetTaggedValue().Dump(os); 27804514f5e3Sopenharmony_ci os << " - ReplaceSymbol: "; 27814514f5e3Sopenharmony_ci GetReplaceSymbol().GetTaggedValue().Dump(os); 27824514f5e3Sopenharmony_ci os << " - SearchSymbol: "; 27834514f5e3Sopenharmony_ci GetSearchSymbol().GetTaggedValue().Dump(os); 27844514f5e3Sopenharmony_ci os << " - SpeciesSymbol: "; 27854514f5e3Sopenharmony_ci GetSpeciesSymbol().GetTaggedValue().Dump(os); 27864514f5e3Sopenharmony_ci os << " - SplitSymbol: "; 27874514f5e3Sopenharmony_ci GetSplitSymbol().GetTaggedValue().Dump(os); 27884514f5e3Sopenharmony_ci os << " - ToPrimitiveSymbol: "; 27894514f5e3Sopenharmony_ci GetToPrimitiveSymbol().GetTaggedValue().Dump(os); 27904514f5e3Sopenharmony_ci os << " - UnscopablesSymbol: "; 27914514f5e3Sopenharmony_ci GetUnscopablesSymbol().GetTaggedValue().Dump(os); 27924514f5e3Sopenharmony_ci os << " - HoleySymbol: "; 27934514f5e3Sopenharmony_ci GetHoleySymbol().GetTaggedValue().Dump(os); 27944514f5e3Sopenharmony_ci os << " - NativeBindingSymbol: "; 27954514f5e3Sopenharmony_ci GetNativeBindingSymbol().GetTaggedValue().Dump(os); 27964514f5e3Sopenharmony_ci os << " - ConstructorString: "; 27974514f5e3Sopenharmony_ci globalConst->GetConstructorString().Dump(os); 27984514f5e3Sopenharmony_ci os << " - IteratorPrototype: "; 27994514f5e3Sopenharmony_ci GetIteratorPrototype().GetTaggedValue().Dump(os); 28004514f5e3Sopenharmony_ci os << " - ForinIteratorPrototype: "; 28014514f5e3Sopenharmony_ci GetForinIteratorPrototype().GetTaggedValue().Dump(os); 28024514f5e3Sopenharmony_ci os << " - StringIterator: "; 28034514f5e3Sopenharmony_ci GetStringIterator().GetTaggedValue().Dump(os); 28044514f5e3Sopenharmony_ci os << " - MapIteratorPrototype: "; 28054514f5e3Sopenharmony_ci GetMapIteratorPrototype().GetTaggedValue().Dump(os); 28064514f5e3Sopenharmony_ci os << " - SetIteratorPrototype: "; 28074514f5e3Sopenharmony_ci GetSetIteratorPrototype().GetTaggedValue().Dump(os); 28084514f5e3Sopenharmony_ci os << " - RegExpIteratorPrototype: "; 28094514f5e3Sopenharmony_ci GetRegExpIteratorPrototype().GetTaggedValue().Dump(os); 28104514f5e3Sopenharmony_ci os << " - ArrayIteratorPrototype: "; 28114514f5e3Sopenharmony_ci GetArrayIteratorPrototype().GetTaggedValue().Dump(os); 28124514f5e3Sopenharmony_ci os << " - StringIteratorPrototype: "; 28134514f5e3Sopenharmony_ci GetStringIteratorPrototype().GetTaggedValue().Dump(os); 28144514f5e3Sopenharmony_ci os << " - LengthString: "; 28154514f5e3Sopenharmony_ci globalConst->GetLengthString().Dump(os); 28164514f5e3Sopenharmony_ci os << " - ValueString: "; 28174514f5e3Sopenharmony_ci globalConst->GetValueString().Dump(os); 28184514f5e3Sopenharmony_ci os << " - WritableString: "; 28194514f5e3Sopenharmony_ci globalConst->GetWritableString().Dump(os); 28204514f5e3Sopenharmony_ci os << " - GetString: "; 28214514f5e3Sopenharmony_ci globalConst->GetGetString().Dump(os); 28224514f5e3Sopenharmony_ci os << " - SetString: "; 28234514f5e3Sopenharmony_ci globalConst->GetSetString().Dump(os); 28244514f5e3Sopenharmony_ci os << " - EnumerableString: "; 28254514f5e3Sopenharmony_ci globalConst->GetEnumerableString().Dump(os); 28264514f5e3Sopenharmony_ci os << " - ConfigurableString: "; 28274514f5e3Sopenharmony_ci globalConst->GetConfigurableString().Dump(os); 28284514f5e3Sopenharmony_ci os << " - NameString: "; 28294514f5e3Sopenharmony_ci globalConst->GetNameString().Dump(os); 28304514f5e3Sopenharmony_ci os << " - ValueOfString: "; 28314514f5e3Sopenharmony_ci globalConst->GetValueOfString().Dump(os); 28324514f5e3Sopenharmony_ci os << " - ToStringString: "; 28334514f5e3Sopenharmony_ci globalConst->GetToStringString().Dump(os); 28344514f5e3Sopenharmony_ci os << " - ToLocaleStringString: "; 28354514f5e3Sopenharmony_ci globalConst->GetToLocaleStringString().Dump(os); 28364514f5e3Sopenharmony_ci os << " - UndefinedString: "; 28374514f5e3Sopenharmony_ci globalConst->GetUndefinedString().Dump(os); 28384514f5e3Sopenharmony_ci os << " - NullString: "; 28394514f5e3Sopenharmony_ci globalConst->GetNullString().Dump(os); 28404514f5e3Sopenharmony_ci os << " - TrueString: "; 28414514f5e3Sopenharmony_ci globalConst->GetTrueString().Dump(os); 28424514f5e3Sopenharmony_ci os << " - FalseString: "; 28434514f5e3Sopenharmony_ci globalConst->GetFalseString().Dump(os); 28444514f5e3Sopenharmony_ci os << " - RegisterSymbols: "; 28454514f5e3Sopenharmony_ci GetRegisterSymbols().GetTaggedValue().Dump(os); 28464514f5e3Sopenharmony_ci os << " - ThrowTypeError: "; 28474514f5e3Sopenharmony_ci GetThrowTypeError().GetTaggedValue().Dump(os); 28484514f5e3Sopenharmony_ci os << " - GetPrototypeOfString: "; 28494514f5e3Sopenharmony_ci globalConst->GetGetPrototypeOfString().Dump(os); 28504514f5e3Sopenharmony_ci os << " - SetPrototypeOfString: "; 28514514f5e3Sopenharmony_ci globalConst->GetSetPrototypeOfString().Dump(os); 28524514f5e3Sopenharmony_ci os << " - IsExtensibleString: "; 28534514f5e3Sopenharmony_ci globalConst->GetIsExtensibleString().Dump(os); 28544514f5e3Sopenharmony_ci os << " - PreventExtensionsString: "; 28554514f5e3Sopenharmony_ci globalConst->GetPreventExtensionsString().Dump(os); 28564514f5e3Sopenharmony_ci os << " - GetOwnPropertyDescriptorString: "; 28574514f5e3Sopenharmony_ci globalConst->GetGetOwnPropertyDescriptorString().Dump(os); 28584514f5e3Sopenharmony_ci os << " - DefinePropertyString: "; 28594514f5e3Sopenharmony_ci globalConst->GetDefinePropertyString().Dump(os); 28604514f5e3Sopenharmony_ci os << " - HasString: "; 28614514f5e3Sopenharmony_ci globalConst->GetHasString().Dump(os); 28624514f5e3Sopenharmony_ci os << " - DeletePropertyString: "; 28634514f5e3Sopenharmony_ci globalConst->GetDeletePropertyString().Dump(os); 28644514f5e3Sopenharmony_ci os << " - EnumerateString: "; 28654514f5e3Sopenharmony_ci globalConst->GetEnumerateString().Dump(os); 28664514f5e3Sopenharmony_ci os << " - OwnKeysString: "; 28674514f5e3Sopenharmony_ci globalConst->GetOwnKeysString().Dump(os); 28684514f5e3Sopenharmony_ci os << " - ApplyString: "; 28694514f5e3Sopenharmony_ci globalConst->GetApplyString().Dump(os); 28704514f5e3Sopenharmony_ci os << " - ProxyString: "; 28714514f5e3Sopenharmony_ci globalConst->GetProxyString().Dump(os); 28724514f5e3Sopenharmony_ci os << " - RevokeString: "; 28734514f5e3Sopenharmony_ci globalConst->GetRevokeString().Dump(os); 28744514f5e3Sopenharmony_ci os << " - ProxyConstructString: "; 28754514f5e3Sopenharmony_ci globalConst->GetProxyConstructString().Dump(os); 28764514f5e3Sopenharmony_ci os << " - ProxyCallString: "; 28774514f5e3Sopenharmony_ci globalConst->GetProxyCallString().Dump(os); 28784514f5e3Sopenharmony_ci os << " - DoneString: "; 28794514f5e3Sopenharmony_ci globalConst->GetDoneString().Dump(os); 28804514f5e3Sopenharmony_ci os << " - NegativeZeroString: "; 28814514f5e3Sopenharmony_ci globalConst->GetNegativeZeroString().Dump(os); 28824514f5e3Sopenharmony_ci os << " - NextString: "; 28834514f5e3Sopenharmony_ci globalConst->GetNextString().Dump(os); 28844514f5e3Sopenharmony_ci os << " - PromiseThenString: "; 28854514f5e3Sopenharmony_ci globalConst->GetPromiseThenString().Dump(os); 28864514f5e3Sopenharmony_ci os << " - PromiseFunction: "; 28874514f5e3Sopenharmony_ci GetPromiseFunction().GetTaggedValue().Dump(os); 28884514f5e3Sopenharmony_ci os << " - PromiseReactionJob: "; 28894514f5e3Sopenharmony_ci GetPromiseReactionJob().GetTaggedValue().Dump(os); 28904514f5e3Sopenharmony_ci os << " - PromiseResolveThenableJob: "; 28914514f5e3Sopenharmony_ci GetPromiseResolveThenableJob().GetTaggedValue().Dump(os); 28924514f5e3Sopenharmony_ci os << " - DynamicImportJob: "; 28934514f5e3Sopenharmony_ci GetDynamicImportJob().GetTaggedValue().Dump(os); 28944514f5e3Sopenharmony_ci os << " - ScriptJobString: "; 28954514f5e3Sopenharmony_ci globalConst->GetScriptJobString().Dump(os); 28964514f5e3Sopenharmony_ci os << " - PromiseString: "; 28974514f5e3Sopenharmony_ci globalConst->GetPromiseString().Dump(os); 28984514f5e3Sopenharmony_ci os << " - IdentityString: "; 28994514f5e3Sopenharmony_ci globalConst->GetIdentityString().Dump(os); 29004514f5e3Sopenharmony_ci os << " - AsyncFunctionString: "; 29014514f5e3Sopenharmony_ci globalConst->GetAsyncFunctionString().Dump(os); 29024514f5e3Sopenharmony_ci os << " - ThrowerString: "; 29034514f5e3Sopenharmony_ci globalConst->GetThrowerString().Dump(os); 29044514f5e3Sopenharmony_ci os << " - Undefined: "; 29054514f5e3Sopenharmony_ci globalConst->GetUndefined().Dump(os); 29064514f5e3Sopenharmony_ci} 29074514f5e3Sopenharmony_ci 29084514f5e3Sopenharmony_civoid JSDataView::Dump(std::ostream &os) const 29094514f5e3Sopenharmony_ci{ 29104514f5e3Sopenharmony_ci os << " - data-view: "; 29114514f5e3Sopenharmony_ci GetDataView().Dump(os); 29124514f5e3Sopenharmony_ci os << " - buffer: "; 29134514f5e3Sopenharmony_ci GetViewedArrayBuffer().Dump(os); 29144514f5e3Sopenharmony_ci os << "- byte-length: " << GetByteLength(); 29154514f5e3Sopenharmony_ci os << "\n - byte-offset: " << GetByteOffset(); 29164514f5e3Sopenharmony_ci} 29174514f5e3Sopenharmony_ci 29184514f5e3Sopenharmony_civoid JSArrayBuffer::Dump(std::ostream &os) const 29194514f5e3Sopenharmony_ci{ 29204514f5e3Sopenharmony_ci os << " - byte-length: " << GetArrayBufferByteLength(); 29214514f5e3Sopenharmony_ci os << " - buffer-data: "; 29224514f5e3Sopenharmony_ci GetArrayBufferData().Dump(os); 29234514f5e3Sopenharmony_ci os << " - Shared: " << GetShared(); 29244514f5e3Sopenharmony_ci} 29254514f5e3Sopenharmony_ci 29264514f5e3Sopenharmony_civoid JSSendableArrayBuffer::Dump(std::ostream &os) const 29274514f5e3Sopenharmony_ci{ 29284514f5e3Sopenharmony_ci os << " - byte-length: " << GetArrayBufferByteLength(); 29294514f5e3Sopenharmony_ci os << " - buffer-data: "; 29304514f5e3Sopenharmony_ci GetArrayBufferData().Dump(os); 29314514f5e3Sopenharmony_ci os << " - Shared: " << GetShared(); 29324514f5e3Sopenharmony_ci} 29334514f5e3Sopenharmony_ci 29344514f5e3Sopenharmony_civoid PromiseReaction::Dump(std::ostream &os) const 29354514f5e3Sopenharmony_ci{ 29364514f5e3Sopenharmony_ci os << " - promise-capability: "; 29374514f5e3Sopenharmony_ci GetPromiseCapability().Dump(os); 29384514f5e3Sopenharmony_ci os << " - type: " << static_cast<int>(GetType()); 29394514f5e3Sopenharmony_ci os << " - handler: "; 29404514f5e3Sopenharmony_ci GetHandler().Dump(os); 29414514f5e3Sopenharmony_ci} 29424514f5e3Sopenharmony_ci 29434514f5e3Sopenharmony_civoid PromiseCapability::Dump(std::ostream &os) const 29444514f5e3Sopenharmony_ci{ 29454514f5e3Sopenharmony_ci os << " - promise: "; 29464514f5e3Sopenharmony_ci GetPromise().Dump(os); 29474514f5e3Sopenharmony_ci os << " - resolve: "; 29484514f5e3Sopenharmony_ci GetResolve().Dump(os); 29494514f5e3Sopenharmony_ci os << " - reject: "; 29504514f5e3Sopenharmony_ci GetReject().Dump(os); 29514514f5e3Sopenharmony_ci} 29524514f5e3Sopenharmony_ci 29534514f5e3Sopenharmony_civoid PromiseIteratorRecord::Dump(std::ostream &os) const 29544514f5e3Sopenharmony_ci{ 29554514f5e3Sopenharmony_ci os << " - iterator: "; 29564514f5e3Sopenharmony_ci GetIterator().Dump(os); 29574514f5e3Sopenharmony_ci os << " - done: " << GetDone(); 29584514f5e3Sopenharmony_ci} 29594514f5e3Sopenharmony_ci 29604514f5e3Sopenharmony_civoid PromiseRecord::Dump(std::ostream &os) const 29614514f5e3Sopenharmony_ci{ 29624514f5e3Sopenharmony_ci os << " - value: "; 29634514f5e3Sopenharmony_ci GetValue().Dump(os); 29644514f5e3Sopenharmony_ci} 29654514f5e3Sopenharmony_ci 29664514f5e3Sopenharmony_civoid ResolvingFunctionsRecord::Dump(std::ostream &os) const 29674514f5e3Sopenharmony_ci{ 29684514f5e3Sopenharmony_ci os << " - resolve-function: "; 29694514f5e3Sopenharmony_ci GetResolveFunction().Dump(os); 29704514f5e3Sopenharmony_ci os << " - reject-function: "; 29714514f5e3Sopenharmony_ci GetRejectFunction().Dump(os); 29724514f5e3Sopenharmony_ci} 29734514f5e3Sopenharmony_ci 29744514f5e3Sopenharmony_civoid AsyncGeneratorRequest::Dump(std::ostream &os) const 29754514f5e3Sopenharmony_ci{ 29764514f5e3Sopenharmony_ci os << " - completion: "; 29774514f5e3Sopenharmony_ci GetCompletion().Dump(os); 29784514f5e3Sopenharmony_ci os << " - capability: "; 29794514f5e3Sopenharmony_ci GetCapability().Dump(os); 29804514f5e3Sopenharmony_ci} 29814514f5e3Sopenharmony_ci 29824514f5e3Sopenharmony_civoid AsyncIteratorRecord::Dump(std::ostream &os) const 29834514f5e3Sopenharmony_ci{ 29844514f5e3Sopenharmony_ci os << " - completion: "; 29854514f5e3Sopenharmony_ci GetIterator().Dump(os); 29864514f5e3Sopenharmony_ci os << " - nextmethod: "; 29874514f5e3Sopenharmony_ci GetNextMethod().Dump(os); 29884514f5e3Sopenharmony_ci os << " - done: " << GetDone(); 29894514f5e3Sopenharmony_ci} 29904514f5e3Sopenharmony_ci 29914514f5e3Sopenharmony_civoid JSAsyncFromSyncIterator::Dump(std::ostream &os) const 29924514f5e3Sopenharmony_ci{ 29934514f5e3Sopenharmony_ci os << " - sync-iterator-record: "; 29944514f5e3Sopenharmony_ci GetSyncIteratorRecord().Dump(os); 29954514f5e3Sopenharmony_ci JSObject::Dump(os); 29964514f5e3Sopenharmony_ci} 29974514f5e3Sopenharmony_ci 29984514f5e3Sopenharmony_civoid JSAsyncFromSyncIterUnwarpFunction::Dump(std::ostream &os) const 29994514f5e3Sopenharmony_ci{ 30004514f5e3Sopenharmony_ci os << " - done: " ; 30014514f5e3Sopenharmony_ci GetDone().Dump(os); 30024514f5e3Sopenharmony_ci JSObject::Dump(os); 30034514f5e3Sopenharmony_ci} 30044514f5e3Sopenharmony_ci 30054514f5e3Sopenharmony_civoid JSPromise::Dump(std::ostream &os) const 30064514f5e3Sopenharmony_ci{ 30074514f5e3Sopenharmony_ci os << " - promise-state: " << static_cast<int>(GetPromiseState()); 30084514f5e3Sopenharmony_ci os << "\n - promise-result: "; 30094514f5e3Sopenharmony_ci GetPromiseResult().Dump(os); 30104514f5e3Sopenharmony_ci os << " - promise-fulfill-reactions: "; 30114514f5e3Sopenharmony_ci GetPromiseFulfillReactions().Dump(os); 30124514f5e3Sopenharmony_ci os << " - promise-reject-reactions: "; 30134514f5e3Sopenharmony_ci GetPromiseRejectReactions().Dump(os); 30144514f5e3Sopenharmony_ci os << " - promise-is-handled: " << GetPromiseIsHandled(); 30154514f5e3Sopenharmony_ci JSObject::Dump(os); 30164514f5e3Sopenharmony_ci} 30174514f5e3Sopenharmony_ci 30184514f5e3Sopenharmony_civoid JSPromiseReactionsFunction::Dump(std::ostream &os) const 30194514f5e3Sopenharmony_ci{ 30204514f5e3Sopenharmony_ci os << " - promise: "; 30214514f5e3Sopenharmony_ci GetPromise().Dump(os); 30224514f5e3Sopenharmony_ci os << " - already-resolved: "; 30234514f5e3Sopenharmony_ci GetAlreadyResolved().Dump(os); 30244514f5e3Sopenharmony_ci JSObject::Dump(os); 30254514f5e3Sopenharmony_ci} 30264514f5e3Sopenharmony_ci 30274514f5e3Sopenharmony_civoid JSPromiseExecutorFunction::Dump(std::ostream &os) const 30284514f5e3Sopenharmony_ci{ 30294514f5e3Sopenharmony_ci os << " - capability: "; 30304514f5e3Sopenharmony_ci GetCapability().Dump(os); 30314514f5e3Sopenharmony_ci JSObject::Dump(os); 30324514f5e3Sopenharmony_ci} 30334514f5e3Sopenharmony_ci 30344514f5e3Sopenharmony_civoid JSAsyncModuleFulfilledFunction::Dump(std::ostream &os) const 30354514f5e3Sopenharmony_ci{ 30364514f5e3Sopenharmony_ci os << " - module: "; 30374514f5e3Sopenharmony_ci GetModule().Dump(os); 30384514f5e3Sopenharmony_ci JSObject::Dump(os); 30394514f5e3Sopenharmony_ci} 30404514f5e3Sopenharmony_ci 30414514f5e3Sopenharmony_civoid JSAsyncModuleRejectedFunction::Dump(std::ostream &os) const 30424514f5e3Sopenharmony_ci{ 30434514f5e3Sopenharmony_ci os << " - module: "; 30444514f5e3Sopenharmony_ci GetModule().Dump(os); 30454514f5e3Sopenharmony_ci JSObject::Dump(os); 30464514f5e3Sopenharmony_ci} 30474514f5e3Sopenharmony_ci 30484514f5e3Sopenharmony_civoid JSPromiseAllResolveElementFunction::Dump(std::ostream &os) const 30494514f5e3Sopenharmony_ci{ 30504514f5e3Sopenharmony_ci os << " - index: "; 30514514f5e3Sopenharmony_ci GetIndex().Dump(os); 30524514f5e3Sopenharmony_ci os << " - values: "; 30534514f5e3Sopenharmony_ci GetValues().Dump(os); 30544514f5e3Sopenharmony_ci os << " - capability: "; 30554514f5e3Sopenharmony_ci GetCapabilities().Dump(os); 30564514f5e3Sopenharmony_ci os << " - remaining-elements: "; 30574514f5e3Sopenharmony_ci GetRemainingElements().Dump(os); 30584514f5e3Sopenharmony_ci os << " - already-called: "; 30594514f5e3Sopenharmony_ci GetAlreadyCalled().Dump(os); 30604514f5e3Sopenharmony_ci JSObject::Dump(os); 30614514f5e3Sopenharmony_ci} 30624514f5e3Sopenharmony_ci 30634514f5e3Sopenharmony_civoid JSPromiseAnyRejectElementFunction::Dump(std::ostream &os) const 30644514f5e3Sopenharmony_ci{ 30654514f5e3Sopenharmony_ci os << " - index: "; 30664514f5e3Sopenharmony_ci JSTaggedValue(GetIndex()).Dump(os); 30674514f5e3Sopenharmony_ci os << " - errors: "; 30684514f5e3Sopenharmony_ci GetErrors().Dump(os); 30694514f5e3Sopenharmony_ci os << " - capability: "; 30704514f5e3Sopenharmony_ci GetCapability().Dump(os); 30714514f5e3Sopenharmony_ci os << " - remaining-elements: "; 30724514f5e3Sopenharmony_ci GetRemainingElements().Dump(os); 30734514f5e3Sopenharmony_ci os << " - already-called: "; 30744514f5e3Sopenharmony_ci GetAlreadyCalled().Dump(os); 30754514f5e3Sopenharmony_ci JSObject::Dump(os); 30764514f5e3Sopenharmony_ci} 30774514f5e3Sopenharmony_ci 30784514f5e3Sopenharmony_civoid JSPromiseAllSettledElementFunction::Dump(std::ostream &os) const 30794514f5e3Sopenharmony_ci{ 30804514f5e3Sopenharmony_ci os << " - already-called: "; 30814514f5e3Sopenharmony_ci GetAlreadyCalled().Dump(os); 30824514f5e3Sopenharmony_ci os << " - index: "; 30834514f5e3Sopenharmony_ci JSTaggedValue(GetIndex()).Dump(os); 30844514f5e3Sopenharmony_ci os << " - values: "; 30854514f5e3Sopenharmony_ci GetValues().Dump(os); 30864514f5e3Sopenharmony_ci os << " - capability: "; 30874514f5e3Sopenharmony_ci GetCapability().Dump(os); 30884514f5e3Sopenharmony_ci os << " - remaining-elements: "; 30894514f5e3Sopenharmony_ci GetRemainingElements().Dump(os); 30904514f5e3Sopenharmony_ci JSObject::Dump(os); 30914514f5e3Sopenharmony_ci} 30924514f5e3Sopenharmony_ci 30934514f5e3Sopenharmony_civoid JSPromiseFinallyFunction::Dump(std::ostream &os) const 30944514f5e3Sopenharmony_ci{ 30954514f5e3Sopenharmony_ci os << " - constructor: "; 30964514f5e3Sopenharmony_ci GetConstructor().Dump(os); 30974514f5e3Sopenharmony_ci os << " - onFinally: "; 30984514f5e3Sopenharmony_ci GetOnFinally().Dump(os); 30994514f5e3Sopenharmony_ci JSObject::Dump(os); 31004514f5e3Sopenharmony_ci} 31014514f5e3Sopenharmony_ci 31024514f5e3Sopenharmony_civoid JSPromiseValueThunkOrThrowerFunction::Dump(std::ostream &os) const 31034514f5e3Sopenharmony_ci{ 31044514f5e3Sopenharmony_ci os << " - result: "; 31054514f5e3Sopenharmony_ci GetResult().Dump(os); 31064514f5e3Sopenharmony_ci JSObject::Dump(os); 31074514f5e3Sopenharmony_ci} 31084514f5e3Sopenharmony_ci 31094514f5e3Sopenharmony_civoid JSAsyncGeneratorResNextRetProRstFtn::Dump(std::ostream &os) const 31104514f5e3Sopenharmony_ci{ 31114514f5e3Sopenharmony_ci os << " - AsyncGeneratorObject"; 31124514f5e3Sopenharmony_ci GetAsyncGeneratorObject().Dump(os); 31134514f5e3Sopenharmony_ci JSObject::Dump(os); 31144514f5e3Sopenharmony_ci} 31154514f5e3Sopenharmony_ci 31164514f5e3Sopenharmony_civoid MicroJobQueue::Dump(std::ostream &os) const 31174514f5e3Sopenharmony_ci{ 31184514f5e3Sopenharmony_ci os << " - promise-job-queue: "; 31194514f5e3Sopenharmony_ci GetPromiseJobQueue().Dump(os); 31204514f5e3Sopenharmony_ci os << " - script-job-queue: "; 31214514f5e3Sopenharmony_ci GetScriptJobQueue().Dump(os); 31224514f5e3Sopenharmony_ci} 31234514f5e3Sopenharmony_ci 31244514f5e3Sopenharmony_civoid PendingJob::Dump(std::ostream &os) const 31254514f5e3Sopenharmony_ci{ 31264514f5e3Sopenharmony_ci os << " - job: "; 31274514f5e3Sopenharmony_ci GetJob().Dump(os); 31284514f5e3Sopenharmony_ci os << "\n"; 31294514f5e3Sopenharmony_ci os << " - arguments: "; 31304514f5e3Sopenharmony_ci GetArguments().Dump(os); 31314514f5e3Sopenharmony_ci#if defined(ENABLE_HITRACE) 31324514f5e3Sopenharmony_ci os << "\n"; 31334514f5e3Sopenharmony_ci os << " - chainId: " << GetChainId(); 31344514f5e3Sopenharmony_ci os << "\n"; 31354514f5e3Sopenharmony_ci os << " - spanId: " << GetSpanId(); 31364514f5e3Sopenharmony_ci os << "\n"; 31374514f5e3Sopenharmony_ci os << " - parentSpanId: " << GetParentSpanId(); 31384514f5e3Sopenharmony_ci os << "\n"; 31394514f5e3Sopenharmony_ci os << " - flags: " << GetFlags(); 31404514f5e3Sopenharmony_ci os << "\n"; 31414514f5e3Sopenharmony_ci#endif 31424514f5e3Sopenharmony_ci} 31434514f5e3Sopenharmony_ci 31444514f5e3Sopenharmony_civoid CompletionRecord::Dump(std::ostream &os) const 31454514f5e3Sopenharmony_ci{ 31464514f5e3Sopenharmony_ci os << " - type: " << static_cast<int>(GetType()); 31474514f5e3Sopenharmony_ci os << " - value: "; 31484514f5e3Sopenharmony_ci GetValue().Dump(os); 31494514f5e3Sopenharmony_ci} 31504514f5e3Sopenharmony_ci 31514514f5e3Sopenharmony_civoid JSProxyRevocFunction::Dump(std::ostream &os) const 31524514f5e3Sopenharmony_ci{ 31534514f5e3Sopenharmony_ci os << " - RevocableProxy: "; 31544514f5e3Sopenharmony_ci os << "\n"; 31554514f5e3Sopenharmony_ci GetRevocableProxy().Dump(os); 31564514f5e3Sopenharmony_ci os << "\n"; 31574514f5e3Sopenharmony_ci} 31584514f5e3Sopenharmony_ci 31594514f5e3Sopenharmony_civoid JSAsyncFunction::Dump(std::ostream &os) const 31604514f5e3Sopenharmony_ci{ 31614514f5e3Sopenharmony_ci JSFunction::Dump(os); 31624514f5e3Sopenharmony_ci} 31634514f5e3Sopenharmony_ci 31644514f5e3Sopenharmony_civoid JSAsyncAwaitStatusFunction::Dump(std::ostream &os) const 31654514f5e3Sopenharmony_ci{ 31664514f5e3Sopenharmony_ci os << " - AsyncContext: "; 31674514f5e3Sopenharmony_ci os << "\n"; 31684514f5e3Sopenharmony_ci GetAsyncContext().Dump(os); 31694514f5e3Sopenharmony_ci os << "\n"; 31704514f5e3Sopenharmony_ci} 31714514f5e3Sopenharmony_ci 31724514f5e3Sopenharmony_civoid JSGeneratorFunction::Dump(std::ostream &os) const 31734514f5e3Sopenharmony_ci{ 31744514f5e3Sopenharmony_ci JSFunction::Dump(os); 31754514f5e3Sopenharmony_ci} 31764514f5e3Sopenharmony_ci 31774514f5e3Sopenharmony_civoid JSAsyncGeneratorFunction::Dump(std::ostream &os) const 31784514f5e3Sopenharmony_ci{ 31794514f5e3Sopenharmony_ci JSFunction::Dump(os); 31804514f5e3Sopenharmony_ci} 31814514f5e3Sopenharmony_ci 31824514f5e3Sopenharmony_civoid JSIntlBoundFunction::Dump(std::ostream &os) const 31834514f5e3Sopenharmony_ci{ 31844514f5e3Sopenharmony_ci JSObject::Dump(os); 31854514f5e3Sopenharmony_ci} 31864514f5e3Sopenharmony_ci 31874514f5e3Sopenharmony_civoid PropertyBox::Dump(std::ostream &os) const 31884514f5e3Sopenharmony_ci{ 31894514f5e3Sopenharmony_ci os << " - Value: "; 31904514f5e3Sopenharmony_ci GetValue().Dump(os); 31914514f5e3Sopenharmony_ci os << "\n"; 31924514f5e3Sopenharmony_ci} 31934514f5e3Sopenharmony_ci 31944514f5e3Sopenharmony_civoid PrototypeHandler::Dump(std::ostream &os) const 31954514f5e3Sopenharmony_ci{ 31964514f5e3Sopenharmony_ci os << " - HandlerInfo: "; 31974514f5e3Sopenharmony_ci GetHandlerInfo().Dump(os); 31984514f5e3Sopenharmony_ci os << "\n"; 31994514f5e3Sopenharmony_ci os << " - ProtoCell: "; 32004514f5e3Sopenharmony_ci GetHandlerInfo().Dump(os); 32014514f5e3Sopenharmony_ci os << "\n"; 32024514f5e3Sopenharmony_ci os << " - Holder: "; 32034514f5e3Sopenharmony_ci GetHandlerInfo().Dump(os); 32044514f5e3Sopenharmony_ci os << "\n"; 32054514f5e3Sopenharmony_ci} 32064514f5e3Sopenharmony_ci 32074514f5e3Sopenharmony_civoid TransitionHandler::Dump(std::ostream &os) const 32084514f5e3Sopenharmony_ci{ 32094514f5e3Sopenharmony_ci os << " - HandlerInfo: "; 32104514f5e3Sopenharmony_ci GetHandlerInfo().Dump(os); 32114514f5e3Sopenharmony_ci os << "\n"; 32124514f5e3Sopenharmony_ci os << " - TransitionHClass: "; 32134514f5e3Sopenharmony_ci GetTransitionHClass().Dump(os); 32144514f5e3Sopenharmony_ci os << "\n"; 32154514f5e3Sopenharmony_ci} 32164514f5e3Sopenharmony_ci 32174514f5e3Sopenharmony_civoid TransWithProtoHandler::Dump(std::ostream &os) const 32184514f5e3Sopenharmony_ci{ 32194514f5e3Sopenharmony_ci os << " - HandlerInfo: "; 32204514f5e3Sopenharmony_ci GetHandlerInfo().Dump(os); 32214514f5e3Sopenharmony_ci os << "\n"; 32224514f5e3Sopenharmony_ci os << " - TransitionHClass: "; 32234514f5e3Sopenharmony_ci GetTransitionHClass().Dump(os); 32244514f5e3Sopenharmony_ci os << "\n"; 32254514f5e3Sopenharmony_ci os << " - Holder: "; 32264514f5e3Sopenharmony_ci GetHandlerInfo().Dump(os); 32274514f5e3Sopenharmony_ci os << "\n"; 32284514f5e3Sopenharmony_ci} 32294514f5e3Sopenharmony_ci 32304514f5e3Sopenharmony_civoid StoreTSHandler::Dump(std::ostream &os) const 32314514f5e3Sopenharmony_ci{ 32324514f5e3Sopenharmony_ci os << " - HandlerInfo: "; 32334514f5e3Sopenharmony_ci GetHandlerInfo().Dump(os); 32344514f5e3Sopenharmony_ci os << "\n"; 32354514f5e3Sopenharmony_ci os << " - ProtoCell: "; 32364514f5e3Sopenharmony_ci GetHandlerInfo().Dump(os); 32374514f5e3Sopenharmony_ci os << "\n"; 32384514f5e3Sopenharmony_ci os << " - Holder: "; 32394514f5e3Sopenharmony_ci GetHandlerInfo().Dump(os); 32404514f5e3Sopenharmony_ci os << "\n"; 32414514f5e3Sopenharmony_ci} 32424514f5e3Sopenharmony_ci 32434514f5e3Sopenharmony_civoid JSRealm::Dump(std::ostream &os) const 32444514f5e3Sopenharmony_ci{ 32454514f5e3Sopenharmony_ci os << " - Value: "; 32464514f5e3Sopenharmony_ci GetValue().Dump(os); 32474514f5e3Sopenharmony_ci os << "\n"; 32484514f5e3Sopenharmony_ci os << " - GlobalEnv: "; 32494514f5e3Sopenharmony_ci GetGlobalEnv().Dump(os); 32504514f5e3Sopenharmony_ci os << "\n"; 32514514f5e3Sopenharmony_ci JSObject::Dump(os); 32524514f5e3Sopenharmony_ci} 32534514f5e3Sopenharmony_ci#ifdef ARK_SUPPORT_INTL 32544514f5e3Sopenharmony_civoid JSIntl::Dump(std::ostream &os) const 32554514f5e3Sopenharmony_ci{ 32564514f5e3Sopenharmony_ci os << " - FallbackSymbol: "; 32574514f5e3Sopenharmony_ci GetFallbackSymbol().Dump(os); 32584514f5e3Sopenharmony_ci os << "\n"; 32594514f5e3Sopenharmony_ci JSObject::Dump(os); 32604514f5e3Sopenharmony_ci} 32614514f5e3Sopenharmony_ci 32624514f5e3Sopenharmony_civoid JSLocale::Dump(std::ostream &os) const 32634514f5e3Sopenharmony_ci{ 32644514f5e3Sopenharmony_ci os << " - IcuField: "; 32654514f5e3Sopenharmony_ci GetIcuField().Dump(os); 32664514f5e3Sopenharmony_ci os << "\n"; 32674514f5e3Sopenharmony_ci JSObject::Dump(os); 32684514f5e3Sopenharmony_ci} 32694514f5e3Sopenharmony_ci 32704514f5e3Sopenharmony_civoid JSDateTimeFormat::Dump(std::ostream &os) const 32714514f5e3Sopenharmony_ci{ 32724514f5e3Sopenharmony_ci os << " - Locale: "; 32734514f5e3Sopenharmony_ci GetLocale().Dump(os); 32744514f5e3Sopenharmony_ci os << "\n"; 32754514f5e3Sopenharmony_ci os << " - Calendar: "; 32764514f5e3Sopenharmony_ci GetCalendar().Dump(os); 32774514f5e3Sopenharmony_ci os << "\n"; 32784514f5e3Sopenharmony_ci os << " - NumberingSystem: "; 32794514f5e3Sopenharmony_ci GetNumberingSystem().Dump(os); 32804514f5e3Sopenharmony_ci os << "\n"; 32814514f5e3Sopenharmony_ci os << " - TimeZone: "; 32824514f5e3Sopenharmony_ci GetTimeZone().Dump(os); 32834514f5e3Sopenharmony_ci os << "\n"; 32844514f5e3Sopenharmony_ci os << " - HourCycle: " << static_cast<int>(GetHourCycle()); 32854514f5e3Sopenharmony_ci os << "\n"; 32864514f5e3Sopenharmony_ci os << " - LocaleIcu: "; 32874514f5e3Sopenharmony_ci GetLocaleIcu().Dump(os); 32884514f5e3Sopenharmony_ci os << "\n"; 32894514f5e3Sopenharmony_ci os << " - SimpleDateTimeFormatIcu: "; 32904514f5e3Sopenharmony_ci GetSimpleDateTimeFormatIcu().Dump(os); 32914514f5e3Sopenharmony_ci os << "\n"; 32924514f5e3Sopenharmony_ci os << " - Iso8601: "; 32934514f5e3Sopenharmony_ci GetIso8601().Dump(os); 32944514f5e3Sopenharmony_ci os << "\n"; 32954514f5e3Sopenharmony_ci os << " - DateStyle: " << static_cast<int>(GetDateStyle()); 32964514f5e3Sopenharmony_ci os << "\n"; 32974514f5e3Sopenharmony_ci os << " - TimeStyle: " << static_cast<int>(GetTimeStyle()); 32984514f5e3Sopenharmony_ci os << "\n"; 32994514f5e3Sopenharmony_ci os << " - BoundFormat: "; 33004514f5e3Sopenharmony_ci GetBoundFormat().Dump(os); 33014514f5e3Sopenharmony_ci os << "\n"; 33024514f5e3Sopenharmony_ci JSObject::Dump(os); 33034514f5e3Sopenharmony_ci} 33044514f5e3Sopenharmony_ci 33054514f5e3Sopenharmony_civoid JSRelativeTimeFormat::Dump(std::ostream &os) const 33064514f5e3Sopenharmony_ci{ 33074514f5e3Sopenharmony_ci os << " - Locale: "; 33084514f5e3Sopenharmony_ci GetLocale().Dump(os); 33094514f5e3Sopenharmony_ci os << "\n"; 33104514f5e3Sopenharmony_ci os << " - NumberingSystem: "; 33114514f5e3Sopenharmony_ci GetNumberingSystem().Dump(os); 33124514f5e3Sopenharmony_ci os << "\n"; 33134514f5e3Sopenharmony_ci os << " - Style: " << static_cast<int>(GetStyle()); 33144514f5e3Sopenharmony_ci os << "\n"; 33154514f5e3Sopenharmony_ci os << " - Numeric: " << static_cast<int>(GetNumeric()); 33164514f5e3Sopenharmony_ci os << "\n"; 33174514f5e3Sopenharmony_ci os << " - IcuField: "; 33184514f5e3Sopenharmony_ci GetIcuField().Dump(os); 33194514f5e3Sopenharmony_ci os << "\n"; 33204514f5e3Sopenharmony_ci JSObject::Dump(os); 33214514f5e3Sopenharmony_ci} 33224514f5e3Sopenharmony_ci 33234514f5e3Sopenharmony_civoid JSNumberFormat::Dump(std::ostream &os) const 33244514f5e3Sopenharmony_ci{ 33254514f5e3Sopenharmony_ci os << " - Locale: "; 33264514f5e3Sopenharmony_ci GetLocale().Dump(os); 33274514f5e3Sopenharmony_ci os << "\n" << " - NumberingSystem: "; 33284514f5e3Sopenharmony_ci GetNumberingSystem().Dump(os); 33294514f5e3Sopenharmony_ci os << "\n" << " - Style: " << static_cast<int>(GetStyle()); 33304514f5e3Sopenharmony_ci os << "\n" << " - Currency: "; 33314514f5e3Sopenharmony_ci GetCurrency().Dump(os); 33324514f5e3Sopenharmony_ci os << "\n" << " - CurrencyDisplay: " << static_cast<int>(GetCurrencyDisplay()); 33334514f5e3Sopenharmony_ci os << "\n" << " - CurrencySign: " << static_cast<int>(GetCurrencySign()); 33344514f5e3Sopenharmony_ci os << "\n" << " - Unit: "; 33354514f5e3Sopenharmony_ci GetUnit().Dump(os); 33364514f5e3Sopenharmony_ci os << "\n" << " - UnitDisplay: " << static_cast<int>(GetUnitDisplay()); 33374514f5e3Sopenharmony_ci os << "\n" << " - MinimumIntegerDigits: "; 33384514f5e3Sopenharmony_ci GetMinimumIntegerDigits().Dump(os); 33394514f5e3Sopenharmony_ci os << "\n" << " - MinimumFractionDigits: "; 33404514f5e3Sopenharmony_ci GetMinimumFractionDigits().Dump(os); 33414514f5e3Sopenharmony_ci os << "\n" << " - MaximumFractionDigits: "; 33424514f5e3Sopenharmony_ci GetMaximumFractionDigits().Dump(os); 33434514f5e3Sopenharmony_ci os << "\n" << " - MinimumSignificantDigits: "; 33444514f5e3Sopenharmony_ci GetMinimumSignificantDigits().Dump(os); 33454514f5e3Sopenharmony_ci os << "\n" << " - MaximumSignificantDigits: "; 33464514f5e3Sopenharmony_ci GetMaximumSignificantDigits().Dump(os); 33474514f5e3Sopenharmony_ci os << "\n" << " - UseGrouping: "; 33484514f5e3Sopenharmony_ci GetUseGrouping().Dump(os); 33494514f5e3Sopenharmony_ci os << "\n" << " - RoundingType: " << static_cast<int>(GetRoundingType()); 33504514f5e3Sopenharmony_ci os << "\n" << " - Notation: " << static_cast<int>(GetNotation()); 33514514f5e3Sopenharmony_ci os << "\n" << " - CompactDisplay: " << static_cast<int>(GetCompactDisplay()); 33524514f5e3Sopenharmony_ci os << "\n" << " - SignDisplay: " << static_cast<int>(GetSignDisplay()); 33534514f5e3Sopenharmony_ci os << "\n" << " - BoundFormat: "; 33544514f5e3Sopenharmony_ci GetBoundFormat().Dump(os); 33554514f5e3Sopenharmony_ci os << "\n" << " - IcuField: "; 33564514f5e3Sopenharmony_ci GetIcuField().Dump(os); 33574514f5e3Sopenharmony_ci os << "\n"; 33584514f5e3Sopenharmony_ci JSObject::Dump(os); 33594514f5e3Sopenharmony_ci} 33604514f5e3Sopenharmony_ci 33614514f5e3Sopenharmony_civoid JSCollator::Dump(std::ostream &os) const 33624514f5e3Sopenharmony_ci{ 33634514f5e3Sopenharmony_ci os << " - IcuField: "; 33644514f5e3Sopenharmony_ci GetIcuField().Dump(os); 33654514f5e3Sopenharmony_ci os << "\n - Locale: "; 33664514f5e3Sopenharmony_ci GetLocale().Dump(os); 33674514f5e3Sopenharmony_ci os << "\n - Usage: " << static_cast<int>(GetUsage()); 33684514f5e3Sopenharmony_ci os << "\n - Sensitivity: " << static_cast<int>(GetSensitivity()); 33694514f5e3Sopenharmony_ci os << "\n - IgnorePunctuation: " << GetIgnorePunctuation(); 33704514f5e3Sopenharmony_ci os << "\n - Collation: "; 33714514f5e3Sopenharmony_ci GetCollation().Dump(os); 33724514f5e3Sopenharmony_ci os << "\n - Numeric: " << GetNumeric(); 33734514f5e3Sopenharmony_ci os << "\n - CaseFirst: " << static_cast<int>(GetCaseFirst()); 33744514f5e3Sopenharmony_ci os << "\n - BoundCompare: "; 33754514f5e3Sopenharmony_ci GetBoundCompare().Dump(os); 33764514f5e3Sopenharmony_ci os << "\n"; 33774514f5e3Sopenharmony_ci JSObject::Dump(os); 33784514f5e3Sopenharmony_ci} 33794514f5e3Sopenharmony_ci 33804514f5e3Sopenharmony_civoid JSPluralRules::Dump(std::ostream &os) const 33814514f5e3Sopenharmony_ci{ 33824514f5e3Sopenharmony_ci os << " - Locale: "; 33834514f5e3Sopenharmony_ci GetLocale().Dump(os); 33844514f5e3Sopenharmony_ci os << "\n"; 33854514f5e3Sopenharmony_ci os << " - Type: " << static_cast<int>(GetType()); 33864514f5e3Sopenharmony_ci os << "\n"; 33874514f5e3Sopenharmony_ci os << " - MinimumIntegerDigits: "; 33884514f5e3Sopenharmony_ci GetMinimumIntegerDigits().Dump(os); 33894514f5e3Sopenharmony_ci os << "\n"; 33904514f5e3Sopenharmony_ci os << " - MinimumFractionDigits: "; 33914514f5e3Sopenharmony_ci GetMinimumFractionDigits().Dump(os); 33924514f5e3Sopenharmony_ci os << "\n"; 33934514f5e3Sopenharmony_ci os << " - MaximumFractionDigits: "; 33944514f5e3Sopenharmony_ci GetMaximumFractionDigits().Dump(os); 33954514f5e3Sopenharmony_ci os << "\n"; 33964514f5e3Sopenharmony_ci os << " - MinimumSignificantDigits: "; 33974514f5e3Sopenharmony_ci GetMinimumSignificantDigits().Dump(os); 33984514f5e3Sopenharmony_ci os << "\n"; 33994514f5e3Sopenharmony_ci os << " - MaximumSignificantDigits: "; 34004514f5e3Sopenharmony_ci GetMaximumSignificantDigits().Dump(os); 34014514f5e3Sopenharmony_ci os << "\n"; 34024514f5e3Sopenharmony_ci os << " - RoundingType: " << static_cast<int>(GetRoundingType()); 34034514f5e3Sopenharmony_ci os << "\n"; 34044514f5e3Sopenharmony_ci os << " - IcuPR: "; 34054514f5e3Sopenharmony_ci GetIcuPR().Dump(os); 34064514f5e3Sopenharmony_ci os << "\n"; 34074514f5e3Sopenharmony_ci os << " - IcuNF: "; 34084514f5e3Sopenharmony_ci GetIcuNF().Dump(os); 34094514f5e3Sopenharmony_ci os << "\n"; 34104514f5e3Sopenharmony_ci JSObject::Dump(os); 34114514f5e3Sopenharmony_ci} 34124514f5e3Sopenharmony_ci 34134514f5e3Sopenharmony_civoid JSDisplayNames::Dump(std::ostream &os) const 34144514f5e3Sopenharmony_ci{ 34154514f5e3Sopenharmony_ci os << " - Locale: "; 34164514f5e3Sopenharmony_ci GetLocale().Dump(os); 34174514f5e3Sopenharmony_ci os << "\n"; 34184514f5e3Sopenharmony_ci os << " - Type: "<< static_cast<int>(GetType()); 34194514f5e3Sopenharmony_ci os << "\n"; 34204514f5e3Sopenharmony_ci os << " - Style: "<< static_cast<int>(GetStyle()); 34214514f5e3Sopenharmony_ci os << "\n"; 34224514f5e3Sopenharmony_ci os << " - Fallback: "<< static_cast<int>(GetFallback()); 34234514f5e3Sopenharmony_ci os << "\n"; 34244514f5e3Sopenharmony_ci os << " - IcuLDN: "; 34254514f5e3Sopenharmony_ci GetIcuLDN().Dump(os); 34264514f5e3Sopenharmony_ci os << "\n"; 34274514f5e3Sopenharmony_ci JSObject::Dump(os); 34284514f5e3Sopenharmony_ci} 34294514f5e3Sopenharmony_ci 34304514f5e3Sopenharmony_civoid JSSegmenter::Dump(std::ostream &os) const 34314514f5e3Sopenharmony_ci{ 34324514f5e3Sopenharmony_ci os << " - Locale: "; 34334514f5e3Sopenharmony_ci GetLocale().Dump(os); 34344514f5e3Sopenharmony_ci os << "\n"; 34354514f5e3Sopenharmony_ci os << " - Granularity: "<< static_cast<int>(GetGranularity()); 34364514f5e3Sopenharmony_ci os << "\n"; 34374514f5e3Sopenharmony_ci os << " - IcuField: "; 34384514f5e3Sopenharmony_ci GetIcuField().Dump(os); 34394514f5e3Sopenharmony_ci os << "\n"; 34404514f5e3Sopenharmony_ci JSObject::Dump(os); 34414514f5e3Sopenharmony_ci} 34424514f5e3Sopenharmony_ci 34434514f5e3Sopenharmony_civoid JSSegments::Dump(std::ostream &os) const 34444514f5e3Sopenharmony_ci{ 34454514f5e3Sopenharmony_ci os << " - SegmentsString: "; 34464514f5e3Sopenharmony_ci GetSegmentsString().Dump(os); 34474514f5e3Sopenharmony_ci os << "\n"; 34484514f5e3Sopenharmony_ci os << " - UnicodeString: "; 34494514f5e3Sopenharmony_ci GetUnicodeString().Dump(os); 34504514f5e3Sopenharmony_ci os << "\n"; 34514514f5e3Sopenharmony_ci os << " - Granularity: "<< static_cast<int>(GetGranularity()); 34524514f5e3Sopenharmony_ci os << "\n"; 34534514f5e3Sopenharmony_ci os << " - IcuField: "; 34544514f5e3Sopenharmony_ci GetIcuField().Dump(os); 34554514f5e3Sopenharmony_ci os << "\n"; 34564514f5e3Sopenharmony_ci JSObject::Dump(os); 34574514f5e3Sopenharmony_ci} 34584514f5e3Sopenharmony_ci 34594514f5e3Sopenharmony_civoid JSSegmentIterator::Dump(std::ostream &os) const 34604514f5e3Sopenharmony_ci{ 34614514f5e3Sopenharmony_ci os << " - IteratedString: "; 34624514f5e3Sopenharmony_ci GetIteratedString().Dump(os); 34634514f5e3Sopenharmony_ci os << "\n"; 34644514f5e3Sopenharmony_ci os << " - UnicodeString: "; 34654514f5e3Sopenharmony_ci GetUnicodeString().Dump(os); 34664514f5e3Sopenharmony_ci os << "\n"; 34674514f5e3Sopenharmony_ci os << " - Granularity: "<< static_cast<int>(GetGranularity()); 34684514f5e3Sopenharmony_ci os << "\n"; 34694514f5e3Sopenharmony_ci os << " - IcuField: "; 34704514f5e3Sopenharmony_ci GetIcuField().Dump(os); 34714514f5e3Sopenharmony_ci os << "\n"; 34724514f5e3Sopenharmony_ci JSObject::Dump(os); 34734514f5e3Sopenharmony_ci} 34744514f5e3Sopenharmony_ci 34754514f5e3Sopenharmony_civoid JSListFormat::Dump(std::ostream &os) const 34764514f5e3Sopenharmony_ci{ 34774514f5e3Sopenharmony_ci os << " - Locale: "; 34784514f5e3Sopenharmony_ci GetLocale().Dump(os); 34794514f5e3Sopenharmony_ci os << "\n"; 34804514f5e3Sopenharmony_ci os << " - Type: "<< static_cast<int>(GetType()); 34814514f5e3Sopenharmony_ci os << "\n"; 34824514f5e3Sopenharmony_ci os << " - Style: "<< static_cast<int>(GetStyle()); 34834514f5e3Sopenharmony_ci os << "\n"; 34844514f5e3Sopenharmony_ci os << " - IcuLF: "; 34854514f5e3Sopenharmony_ci GetIcuLF().Dump(os); 34864514f5e3Sopenharmony_ci os << "\n"; 34874514f5e3Sopenharmony_ci JSObject::Dump(os); 34884514f5e3Sopenharmony_ci} 34894514f5e3Sopenharmony_ci#endif 34904514f5e3Sopenharmony_civoid JSGeneratorObject::Dump(std::ostream &os) const 34914514f5e3Sopenharmony_ci{ 34924514f5e3Sopenharmony_ci os << " - GeneratorContext: "; 34934514f5e3Sopenharmony_ci GetGeneratorContext().Dump(os); 34944514f5e3Sopenharmony_ci os << "\n"; 34954514f5e3Sopenharmony_ci os << " - ResumeResult: "; 34964514f5e3Sopenharmony_ci GetResumeResult().Dump(os); 34974514f5e3Sopenharmony_ci os << "\n"; 34984514f5e3Sopenharmony_ci os << " - GeneratorState: " << static_cast<uint8_t>(GetGeneratorState()); 34994514f5e3Sopenharmony_ci os << "\n"; 35004514f5e3Sopenharmony_ci os << " - ResumeMode: " << static_cast<uint8_t>(GetResumeMode()); 35014514f5e3Sopenharmony_ci os << "\n"; 35024514f5e3Sopenharmony_ci JSObject::Dump(os); 35034514f5e3Sopenharmony_ci} 35044514f5e3Sopenharmony_ci 35054514f5e3Sopenharmony_civoid JSAsyncGeneratorObject::Dump(std::ostream &os) const 35064514f5e3Sopenharmony_ci{ 35074514f5e3Sopenharmony_ci os << " - GeneratorContext: "; 35084514f5e3Sopenharmony_ci GetGeneratorContext().Dump(os); 35094514f5e3Sopenharmony_ci os << "\n"; 35104514f5e3Sopenharmony_ci os << " - AsyncGeneratorQueue: "; 35114514f5e3Sopenharmony_ci GetAsyncGeneratorQueue().Dump(os); 35124514f5e3Sopenharmony_ci os << "\n"; 35134514f5e3Sopenharmony_ci os << " - GeneratorBrand: "; 35144514f5e3Sopenharmony_ci GetGeneratorBrand().Dump(os); 35154514f5e3Sopenharmony_ci os << "\n"; 35164514f5e3Sopenharmony_ci os << " - ResumeResult: "; 35174514f5e3Sopenharmony_ci GetResumeResult().Dump(os); 35184514f5e3Sopenharmony_ci os << "\n"; 35194514f5e3Sopenharmony_ci os << " - AsyncGeneratorState: " << static_cast<uint8_t>(GetAsyncGeneratorState()); 35204514f5e3Sopenharmony_ci os << "\n"; 35214514f5e3Sopenharmony_ci os << " - ResumeMode: " << static_cast<uint8_t>(GetResumeMode()); 35224514f5e3Sopenharmony_ci os << "\n"; 35234514f5e3Sopenharmony_ci JSObject::Dump(os); 35244514f5e3Sopenharmony_ci} 35254514f5e3Sopenharmony_ci 35264514f5e3Sopenharmony_civoid JSAsyncFuncObject::Dump(std::ostream &os) const 35274514f5e3Sopenharmony_ci{ 35284514f5e3Sopenharmony_ci os << " - Promise: "; 35294514f5e3Sopenharmony_ci GetPromise().Dump(os); 35304514f5e3Sopenharmony_ci os << "\n"; 35314514f5e3Sopenharmony_ci} 35324514f5e3Sopenharmony_ci 35334514f5e3Sopenharmony_civoid GeneratorContext::Dump(std::ostream &os) const 35344514f5e3Sopenharmony_ci{ 35354514f5e3Sopenharmony_ci os << " - RegsArray: "; 35364514f5e3Sopenharmony_ci GetRegsArray().Dump(os); 35374514f5e3Sopenharmony_ci os << "\n"; 35384514f5e3Sopenharmony_ci os << " - Method: "; 35394514f5e3Sopenharmony_ci GetMethod().Dump(os); 35404514f5e3Sopenharmony_ci os << "\n"; 35414514f5e3Sopenharmony_ci os << " - This: "; 35424514f5e3Sopenharmony_ci GetThis().Dump(os); 35434514f5e3Sopenharmony_ci os << "\n"; 35444514f5e3Sopenharmony_ci os << " - Acc: "; 35454514f5e3Sopenharmony_ci GetAcc().Dump(os); 35464514f5e3Sopenharmony_ci os << "\n"; 35474514f5e3Sopenharmony_ci os << " - GeneratorObject: "; 35484514f5e3Sopenharmony_ci GetGeneratorObject().Dump(os); 35494514f5e3Sopenharmony_ci os << "\n"; 35504514f5e3Sopenharmony_ci os << " - LexicalEnv: "; 35514514f5e3Sopenharmony_ci GetLexicalEnv().Dump(os); 35524514f5e3Sopenharmony_ci os << "\n"; 35534514f5e3Sopenharmony_ci os << " - NRegs: " << GetNRegs(); 35544514f5e3Sopenharmony_ci os << "\n"; 35554514f5e3Sopenharmony_ci os << " - BCOffset: " << GetBCOffset(); 35564514f5e3Sopenharmony_ci os << "\n"; 35574514f5e3Sopenharmony_ci} 35584514f5e3Sopenharmony_ci 35594514f5e3Sopenharmony_civoid ProtoChangeMarker::Dump(std::ostream &os) const 35604514f5e3Sopenharmony_ci{ 35614514f5e3Sopenharmony_ci os << " - HasChanged: " << GetHasChanged() << "\n"; 35624514f5e3Sopenharmony_ci os << " - HasAccessorChanged: " << GetAccessorHasChanged() << "\n"; 35634514f5e3Sopenharmony_ci} 35644514f5e3Sopenharmony_ci 35654514f5e3Sopenharmony_civoid MarkerCell::Dump(std::ostream &os) const 35664514f5e3Sopenharmony_ci{ 35674514f5e3Sopenharmony_ci os << " - IsDetectorInvalid: " << GetIsDetectorInvalid() << "\n"; 35684514f5e3Sopenharmony_ci} 35694514f5e3Sopenharmony_ci 35704514f5e3Sopenharmony_civoid ProtoChangeDetails::Dump(std::ostream &os) const 35714514f5e3Sopenharmony_ci{ 35724514f5e3Sopenharmony_ci os << " - ChangeListener: "; 35734514f5e3Sopenharmony_ci GetChangeListener().Dump(os); 35744514f5e3Sopenharmony_ci os << " \t- RegisterIndex: " << GetRegisterIndex(); 35754514f5e3Sopenharmony_ci os << "\n"; 35764514f5e3Sopenharmony_ci} 35774514f5e3Sopenharmony_ci 35784514f5e3Sopenharmony_civoid TrackInfo::Dump(std::ostream &os) const 35794514f5e3Sopenharmony_ci{ 35804514f5e3Sopenharmony_ci os << " - ElementsKind: " << static_cast<uint32_t>(GetElementsKind()) << "\n"; 35814514f5e3Sopenharmony_ci os << " - ArrayLength: " << static_cast<uint32_t>(GetArrayLength()) << "\n"; 35824514f5e3Sopenharmony_ci os << " - SpaceFlag: " << static_cast<uint32_t>(GetSpaceFlag()) << "\n"; 35834514f5e3Sopenharmony_ci} 35844514f5e3Sopenharmony_ci 35854514f5e3Sopenharmony_civoid MachineCode::Dump(std::ostream &os) const 35864514f5e3Sopenharmony_ci{ 35874514f5e3Sopenharmony_ci os << " - InstructionSizeInBytes: " << GetInstructionSizeInBytes(); 35884514f5e3Sopenharmony_ci os << "\n"; 35894514f5e3Sopenharmony_ci} 35904514f5e3Sopenharmony_ci 35914514f5e3Sopenharmony_civoid ClassInfoExtractor::Dump(std::ostream &os) const 35924514f5e3Sopenharmony_ci{ 35934514f5e3Sopenharmony_ci os << " - NonStaticKeys: "; 35944514f5e3Sopenharmony_ci GetNonStaticKeys().Dump(os); 35954514f5e3Sopenharmony_ci os << "\n"; 35964514f5e3Sopenharmony_ci os << " - NonStaticProperties: "; 35974514f5e3Sopenharmony_ci GetNonStaticProperties().Dump(os); 35984514f5e3Sopenharmony_ci os << "\n"; 35994514f5e3Sopenharmony_ci os << " - NonStaticElements: "; 36004514f5e3Sopenharmony_ci GetNonStaticElements().Dump(os); 36014514f5e3Sopenharmony_ci os << "\n"; 36024514f5e3Sopenharmony_ci os << " - StaticKeys: "; 36034514f5e3Sopenharmony_ci GetStaticKeys().Dump(os); 36044514f5e3Sopenharmony_ci os << "\n"; 36054514f5e3Sopenharmony_ci os << " - StaticProperties: "; 36064514f5e3Sopenharmony_ci GetStaticProperties().Dump(os); 36074514f5e3Sopenharmony_ci os << "\n"; 36084514f5e3Sopenharmony_ci os << " - StaticElements: "; 36094514f5e3Sopenharmony_ci GetStaticElements().Dump(os); 36104514f5e3Sopenharmony_ci os << "\n"; 36114514f5e3Sopenharmony_ci} 36124514f5e3Sopenharmony_ci 36134514f5e3Sopenharmony_civoid SourceTextModule::Dump(std::ostream &os) const 36144514f5e3Sopenharmony_ci{ 36154514f5e3Sopenharmony_ci os << " - Environment: "; 36164514f5e3Sopenharmony_ci GetEnvironment().Dump(os); 36174514f5e3Sopenharmony_ci os << "\n"; 36184514f5e3Sopenharmony_ci os << " - Namespace: "; 36194514f5e3Sopenharmony_ci GetNamespace().Dump(os); 36204514f5e3Sopenharmony_ci os << "\n"; 36214514f5e3Sopenharmony_ci os << " - EcmaModuleFilename: "; 36224514f5e3Sopenharmony_ci os << GetEcmaModuleFilenameString(); 36234514f5e3Sopenharmony_ci os << "\n"; 36244514f5e3Sopenharmony_ci os << " - EcmaModuleRecordName: "; 36254514f5e3Sopenharmony_ci os << GetEcmaModuleRecordNameString(); 36264514f5e3Sopenharmony_ci os << "\n"; 36274514f5e3Sopenharmony_ci os << " - RequestedModules: "; 36284514f5e3Sopenharmony_ci GetRequestedModules().Dump(os); 36294514f5e3Sopenharmony_ci os << "\n"; 36304514f5e3Sopenharmony_ci os << " - ImportEntries: "; 36314514f5e3Sopenharmony_ci GetImportEntries().Dump(os); 36324514f5e3Sopenharmony_ci os << "\n"; 36334514f5e3Sopenharmony_ci os << " - LocalExportEntries: "; 36344514f5e3Sopenharmony_ci GetLocalExportEntries().Dump(os); 36354514f5e3Sopenharmony_ci os << "\n"; 36364514f5e3Sopenharmony_ci os << " - IndirectExportEntries: "; 36374514f5e3Sopenharmony_ci GetIndirectExportEntries().Dump(os); 36384514f5e3Sopenharmony_ci os << "\n"; 36394514f5e3Sopenharmony_ci os << " - StarExportEntries: "; 36404514f5e3Sopenharmony_ci GetStarExportEntries().Dump(os); 36414514f5e3Sopenharmony_ci os << "\n"; 36424514f5e3Sopenharmony_ci os << " - Status: "; 36434514f5e3Sopenharmony_ci os << static_cast<int32_t>(GetStatus()); 36444514f5e3Sopenharmony_ci os << "\n"; 36454514f5e3Sopenharmony_ci os << " - EvaluationError: "; 36464514f5e3Sopenharmony_ci os << GetEvaluationError(); 36474514f5e3Sopenharmony_ci os << "\n"; 36484514f5e3Sopenharmony_ci os << " - DFSIndex: "; 36494514f5e3Sopenharmony_ci os << GetDFSIndex(); 36504514f5e3Sopenharmony_ci os << "\n"; 36514514f5e3Sopenharmony_ci os << " - DFSAncestorIndex: "; 36524514f5e3Sopenharmony_ci os << GetDFSAncestorIndex(); 36534514f5e3Sopenharmony_ci os << "\n"; 36544514f5e3Sopenharmony_ci os << " - NameDictionary: "; 36554514f5e3Sopenharmony_ci GetNameDictionary().Dump(os); 36564514f5e3Sopenharmony_ci os << "\n"; 36574514f5e3Sopenharmony_ci os << " - CycleRoot: "; 36584514f5e3Sopenharmony_ci // avoid infinite dump 36594514f5e3Sopenharmony_ci if (GetCycleRoot() != JSTaggedValue(this)) { 36604514f5e3Sopenharmony_ci GetCycleRoot().Dump(os); 36614514f5e3Sopenharmony_ci } else { 36624514f5e3Sopenharmony_ci os << "this"; 36634514f5e3Sopenharmony_ci } 36644514f5e3Sopenharmony_ci os << "\n"; 36654514f5e3Sopenharmony_ci os << " - TopLevelCapability: "; 36664514f5e3Sopenharmony_ci GetTopLevelCapability().Dump(os); 36674514f5e3Sopenharmony_ci os << "\n"; 36684514f5e3Sopenharmony_ci os << " - AsyncParentModules: "; 36694514f5e3Sopenharmony_ci GetAsyncParentModules().Dump(os); 36704514f5e3Sopenharmony_ci os << "\n"; 36714514f5e3Sopenharmony_ci os << " - SendableEnv: "; 36724514f5e3Sopenharmony_ci GetSendableEnv().Dump(os); 36734514f5e3Sopenharmony_ci os << "\n"; 36744514f5e3Sopenharmony_ci os << " - HasTLA: "; 36754514f5e3Sopenharmony_ci os << GetHasTLA(); 36764514f5e3Sopenharmony_ci os << "\n"; 36774514f5e3Sopenharmony_ci os << " - AsyncEvaluatingOrdinal: "; 36784514f5e3Sopenharmony_ci os << GetAsyncEvaluatingOrdinal(); 36794514f5e3Sopenharmony_ci os << "\n"; 36804514f5e3Sopenharmony_ci os << " - PendingAsyncDependencies: "; 36814514f5e3Sopenharmony_ci os << GetPendingAsyncDependencies(); 36824514f5e3Sopenharmony_ci os << "\n"; 36834514f5e3Sopenharmony_ci} 36844514f5e3Sopenharmony_ci 36854514f5e3Sopenharmony_civoid ImportEntry::Dump(std::ostream &os) const 36864514f5e3Sopenharmony_ci{ 36874514f5e3Sopenharmony_ci os << " - ModuleRequest: "; 36884514f5e3Sopenharmony_ci GetModuleRequest().Dump(os); 36894514f5e3Sopenharmony_ci os << "\n"; 36904514f5e3Sopenharmony_ci os << " - ImportName: "; 36914514f5e3Sopenharmony_ci GetImportName().Dump(os); 36924514f5e3Sopenharmony_ci os << "\n"; 36934514f5e3Sopenharmony_ci os << " - LocalName: "; 36944514f5e3Sopenharmony_ci GetLocalName().Dump(os); 36954514f5e3Sopenharmony_ci os << "\n"; 36964514f5e3Sopenharmony_ci} 36974514f5e3Sopenharmony_ci 36984514f5e3Sopenharmony_civoid LocalExportEntry::Dump(std::ostream &os) const 36994514f5e3Sopenharmony_ci{ 37004514f5e3Sopenharmony_ci os << " - ExportName: "; 37014514f5e3Sopenharmony_ci GetExportName().Dump(os); 37024514f5e3Sopenharmony_ci os << "\n"; 37034514f5e3Sopenharmony_ci os << " - LocalName: "; 37044514f5e3Sopenharmony_ci GetLocalName().Dump(os); 37054514f5e3Sopenharmony_ci os << "\n"; 37064514f5e3Sopenharmony_ci os << " - LocalIndex: " << GetLocalIndex(); 37074514f5e3Sopenharmony_ci os << "\n"; 37084514f5e3Sopenharmony_ci} 37094514f5e3Sopenharmony_ci 37104514f5e3Sopenharmony_civoid IndirectExportEntry::Dump(std::ostream &os) const 37114514f5e3Sopenharmony_ci{ 37124514f5e3Sopenharmony_ci os << " - ExportName: "; 37134514f5e3Sopenharmony_ci GetExportName().Dump(os); 37144514f5e3Sopenharmony_ci os << "\n"; 37154514f5e3Sopenharmony_ci os << " - ModuleRequest: "; 37164514f5e3Sopenharmony_ci GetModuleRequest().Dump(os); 37174514f5e3Sopenharmony_ci os << "\n"; 37184514f5e3Sopenharmony_ci os << " - ImportName: "; 37194514f5e3Sopenharmony_ci GetImportName().Dump(os); 37204514f5e3Sopenharmony_ci os << "\n"; 37214514f5e3Sopenharmony_ci} 37224514f5e3Sopenharmony_ci 37234514f5e3Sopenharmony_civoid StarExportEntry::Dump(std::ostream &os) const 37244514f5e3Sopenharmony_ci{ 37254514f5e3Sopenharmony_ci os << " - ModuleRequest: "; 37264514f5e3Sopenharmony_ci GetModuleRequest().Dump(os); 37274514f5e3Sopenharmony_ci os << "\n"; 37284514f5e3Sopenharmony_ci} 37294514f5e3Sopenharmony_ci 37304514f5e3Sopenharmony_civoid ResolvedBinding::Dump(std::ostream &os) const 37314514f5e3Sopenharmony_ci{ 37324514f5e3Sopenharmony_ci os << " - Module: "; 37334514f5e3Sopenharmony_ci GetModule().Dump(os); 37344514f5e3Sopenharmony_ci os << "\n"; 37354514f5e3Sopenharmony_ci os << " - BindingName: "; 37364514f5e3Sopenharmony_ci GetBindingName().Dump(os); 37374514f5e3Sopenharmony_ci os << "\n"; 37384514f5e3Sopenharmony_ci} 37394514f5e3Sopenharmony_ci 37404514f5e3Sopenharmony_civoid ResolvedIndexBinding::Dump(std::ostream &os) const 37414514f5e3Sopenharmony_ci{ 37424514f5e3Sopenharmony_ci os << " - Module: "; 37434514f5e3Sopenharmony_ci GetModule().Dump(os); 37444514f5e3Sopenharmony_ci os << "\n"; 37454514f5e3Sopenharmony_ci os << " - Index: "; 37464514f5e3Sopenharmony_ci GetIndex(); 37474514f5e3Sopenharmony_ci os << "\n"; 37484514f5e3Sopenharmony_ci} 37494514f5e3Sopenharmony_ci 37504514f5e3Sopenharmony_civoid ResolvedRecordIndexBinding::Dump(std::ostream &os) const 37514514f5e3Sopenharmony_ci{ 37524514f5e3Sopenharmony_ci os << " - Module: "; 37534514f5e3Sopenharmony_ci GetModuleRecord().Dump(os); 37544514f5e3Sopenharmony_ci os << "\n"; 37554514f5e3Sopenharmony_ci os << " - AbcFileName: "; 37564514f5e3Sopenharmony_ci GetAbcFileName().Dump(os); 37574514f5e3Sopenharmony_ci os << "\n"; 37584514f5e3Sopenharmony_ci os << " - Index: "; 37594514f5e3Sopenharmony_ci GetIndex(); 37604514f5e3Sopenharmony_ci os << "\n"; 37614514f5e3Sopenharmony_ci} 37624514f5e3Sopenharmony_ci 37634514f5e3Sopenharmony_civoid ResolvedRecordBinding::Dump(std::ostream &os) const 37644514f5e3Sopenharmony_ci{ 37654514f5e3Sopenharmony_ci os << " - Module: "; 37664514f5e3Sopenharmony_ci GetModuleRecord().Dump(os); 37674514f5e3Sopenharmony_ci os << "\n"; 37684514f5e3Sopenharmony_ci os << " - BindingName: "; 37694514f5e3Sopenharmony_ci GetBindingName().Dump(os); 37704514f5e3Sopenharmony_ci os << "\n"; 37714514f5e3Sopenharmony_ci} 37724514f5e3Sopenharmony_ci 37734514f5e3Sopenharmony_civoid ModuleNamespace::Dump(std::ostream &os) const 37744514f5e3Sopenharmony_ci{ 37754514f5e3Sopenharmony_ci os << " - Exports: "; 37764514f5e3Sopenharmony_ci GetExports().Dump(os); 37774514f5e3Sopenharmony_ci os << "\n"; 37784514f5e3Sopenharmony_ci} 37794514f5e3Sopenharmony_ci 37804514f5e3Sopenharmony_civoid NativeModuleFailureInfo::Dump(std::ostream &os) const 37814514f5e3Sopenharmony_ci{ 37824514f5e3Sopenharmony_ci os << " - ArkNativeModuleFailureInfo: "; 37834514f5e3Sopenharmony_ci GetArkNativeModuleFailureInfo().Dump(os); 37844514f5e3Sopenharmony_ci os << "\n"; 37854514f5e3Sopenharmony_ci} 37864514f5e3Sopenharmony_ci 37874514f5e3Sopenharmony_civoid CjsModule::Dump(std::ostream &os) const 37884514f5e3Sopenharmony_ci{ 37894514f5e3Sopenharmony_ci os << " - current module path: "; 37904514f5e3Sopenharmony_ci GetPath().Dump(os); 37914514f5e3Sopenharmony_ci os << "\n"; 37924514f5e3Sopenharmony_ci os << " - current module filename: "; 37934514f5e3Sopenharmony_ci GetFilename().Dump(os); 37944514f5e3Sopenharmony_ci os << "\n"; 37954514f5e3Sopenharmony_ci} 37964514f5e3Sopenharmony_ci 37974514f5e3Sopenharmony_civoid CjsRequire::Dump(std::ostream &os) const 37984514f5e3Sopenharmony_ci{ 37994514f5e3Sopenharmony_ci os << " --- CjsRequire is JSFunction: "; 38004514f5e3Sopenharmony_ci os << "\n"; 38014514f5e3Sopenharmony_ci} 38024514f5e3Sopenharmony_ci 38034514f5e3Sopenharmony_civoid CjsExports::Dump(std::ostream &os) const 38044514f5e3Sopenharmony_ci{ 38054514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 38064514f5e3Sopenharmony_ci JSHClass *jshclass = GetJSHClass(); 38074514f5e3Sopenharmony_ci os << " - hclass: " << std::hex << jshclass << "\n"; 38084514f5e3Sopenharmony_ci os << " - prototype: "; 38094514f5e3Sopenharmony_ci jshclass->GetPrototype().DumpTaggedValue(os); 38104514f5e3Sopenharmony_ci os << "\n"; 38114514f5e3Sopenharmony_ci 38124514f5e3Sopenharmony_ci TaggedArray *properties = TaggedArray::Cast(GetProperties().GetTaggedObject()); 38134514f5e3Sopenharmony_ci os << " - properties: " << std::hex << properties; 38144514f5e3Sopenharmony_ci 38154514f5e3Sopenharmony_ci if (!properties->IsDictionaryMode()) { 38164514f5e3Sopenharmony_ci JSTaggedValue attrs = jshclass->GetLayout(); 38174514f5e3Sopenharmony_ci if (attrs.IsNull()) { 38184514f5e3Sopenharmony_ci return; 38194514f5e3Sopenharmony_ci } 38204514f5e3Sopenharmony_ci 38214514f5e3Sopenharmony_ci LayoutInfo *layoutInfo = LayoutInfo::Cast(attrs.GetTaggedObject()); 38224514f5e3Sopenharmony_ci int propNumber = static_cast<int>(jshclass->NumberOfProps()); 38234514f5e3Sopenharmony_ci os << " <LayoutInfo[" << std::dec << propNumber << "]>\n"; 38244514f5e3Sopenharmony_ci for (int i = 0; i < propNumber; i++) { 38254514f5e3Sopenharmony_ci JSTaggedValue key = layoutInfo->GetKey(i); 38264514f5e3Sopenharmony_ci PropertyAttributes attr = layoutInfo->GetAttr(i); 38274514f5e3Sopenharmony_ci ASSERT(i == static_cast<int>(attr.GetOffset())); 38284514f5e3Sopenharmony_ci os << " " << std::right << std::setw(DUMP_PROPERTY_OFFSET); 38294514f5e3Sopenharmony_ci DumpPropertyKey(key, os); 38304514f5e3Sopenharmony_ci os << ": ("; 38314514f5e3Sopenharmony_ci JSTaggedValue val; 38324514f5e3Sopenharmony_ci if (attr.IsInlinedProps()) { 38334514f5e3Sopenharmony_ci val = GetPropertyInlinedPropsWithRep(i, attr); 38344514f5e3Sopenharmony_ci } else { 38354514f5e3Sopenharmony_ci val = properties->Get(i - static_cast<int>(jshclass->GetInlinedProperties())); 38364514f5e3Sopenharmony_ci } 38374514f5e3Sopenharmony_ci val.DumpTaggedValue(os); 38384514f5e3Sopenharmony_ci os << ") "; 38394514f5e3Sopenharmony_ci DumpAttr(attr, true, os); 38404514f5e3Sopenharmony_ci os << "\n"; 38414514f5e3Sopenharmony_ci } 38424514f5e3Sopenharmony_ci } else { 38434514f5e3Sopenharmony_ci NameDictionary *dict = NameDictionary::Cast(properties); 38444514f5e3Sopenharmony_ci os << " <NameDictionary[" << std::dec << dict->EntriesCount() << "]>\n"; 38454514f5e3Sopenharmony_ci dict->Dump(os); 38464514f5e3Sopenharmony_ci } 38474514f5e3Sopenharmony_ci} 38484514f5e3Sopenharmony_ci 38494514f5e3Sopenharmony_civoid JSFunctionBase::Dump(std::ostream &os) const 38504514f5e3Sopenharmony_ci{ 38514514f5e3Sopenharmony_ci os << " - Method: "; 38524514f5e3Sopenharmony_ci GetMethod().Dump(os); 38534514f5e3Sopenharmony_ci os << "\n"; 38544514f5e3Sopenharmony_ci} 38554514f5e3Sopenharmony_ci 38564514f5e3Sopenharmony_civoid Method::Dump(std::ostream &os) const 38574514f5e3Sopenharmony_ci{ 38584514f5e3Sopenharmony_ci os << " - MethodName: "; 38594514f5e3Sopenharmony_ci os << GetMethodName(); 38604514f5e3Sopenharmony_ci os << "\n"; 38614514f5e3Sopenharmony_ci os << " - ConstantPool: "; 38624514f5e3Sopenharmony_ci GetConstantPool().Dump(os); 38634514f5e3Sopenharmony_ci os << "\n"; 38644514f5e3Sopenharmony_ci os << " - FunctionKind: " << static_cast<int>(GetFunctionKind()); 38654514f5e3Sopenharmony_ci os << "\n"; 38664514f5e3Sopenharmony_ci os << " - CodeEntryOrLiteral: " << std::hex << GetCodeEntryOrLiteral() << "\n"; 38674514f5e3Sopenharmony_ci os << "\n"; 38684514f5e3Sopenharmony_ci} 38694514f5e3Sopenharmony_ci 38704514f5e3Sopenharmony_civoid ClassLiteral::Dump(std::ostream &os) const 38714514f5e3Sopenharmony_ci{ 38724514f5e3Sopenharmony_ci os << " - ClassLiteral: "; 38734514f5e3Sopenharmony_ci os << "\n"; 38744514f5e3Sopenharmony_ci os << " - IsAOTUsed: " << std::boolalpha << GetIsAOTUsed(); 38754514f5e3Sopenharmony_ci os << "\n"; 38764514f5e3Sopenharmony_ci os << " - Array: "; 38774514f5e3Sopenharmony_ci GetArray().Dump(os); 38784514f5e3Sopenharmony_ci os << "\n"; 38794514f5e3Sopenharmony_ci} 38804514f5e3Sopenharmony_ci 38814514f5e3Sopenharmony_ci// ######################################################################################## 38824514f5e3Sopenharmony_ci// Dump for Snapshot 38834514f5e3Sopenharmony_ci// ######################################################################################## 38844514f5e3Sopenharmony_cistatic void DumpArrayClass(const TaggedArray *arr, std::vector<Reference> &vec) 38854514f5e3Sopenharmony_ci{ 38864514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 38874514f5e3Sopenharmony_ci uint32_t len = arr->GetLength(); 38884514f5e3Sopenharmony_ci vec.reserve(vec.size() + len); 38894514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 38904514f5e3Sopenharmony_ci JSTaggedValue val(arr->Get(i)); 38914514f5e3Sopenharmony_ci CString str = ToCString(i); 38924514f5e3Sopenharmony_ci vec.emplace_back(str, val); 38934514f5e3Sopenharmony_ci } 38944514f5e3Sopenharmony_ci} 38954514f5e3Sopenharmony_ci 38964514f5e3Sopenharmony_cistatic void DumpMutantTaggedArrayClass(const MutantTaggedArray *arr, std::vector<Reference> &vec) 38974514f5e3Sopenharmony_ci{ 38984514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 38994514f5e3Sopenharmony_ci uint32_t len = arr->GetLength(); 39004514f5e3Sopenharmony_ci vec.reserve(vec.size() + len); 39014514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 39024514f5e3Sopenharmony_ci JSTaggedValue val(arr->Get(i)); 39034514f5e3Sopenharmony_ci CString str = ToCString(i); 39044514f5e3Sopenharmony_ci vec.emplace_back(str, val); 39054514f5e3Sopenharmony_ci } 39064514f5e3Sopenharmony_ci} 39074514f5e3Sopenharmony_ci 39084514f5e3Sopenharmony_cistatic void DumpCOWMutantTaggedArrayClass(const COWMutantTaggedArray *arr, std::vector<Reference> &vec) 39094514f5e3Sopenharmony_ci{ 39104514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 39114514f5e3Sopenharmony_ci uint32_t len = arr->GetLength(); 39124514f5e3Sopenharmony_ci vec.reserve(vec.size() + len); 39134514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 39144514f5e3Sopenharmony_ci JSTaggedValue val(arr->Get(i)); 39154514f5e3Sopenharmony_ci CString str = ToCString(i); 39164514f5e3Sopenharmony_ci vec.emplace_back(str, val); 39174514f5e3Sopenharmony_ci } 39184514f5e3Sopenharmony_ci} 39194514f5e3Sopenharmony_ci 39204514f5e3Sopenharmony_cistatic void DumpElementClass(const TaggedArray *arr, std::vector<Reference> &vec) 39214514f5e3Sopenharmony_ci{ 39224514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 39234514f5e3Sopenharmony_ci uint32_t len = arr->GetLength(); 39244514f5e3Sopenharmony_ci vec.reserve(vec.size() + len); 39254514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 39264514f5e3Sopenharmony_ci JSTaggedValue val(arr->Get(i)); 39274514f5e3Sopenharmony_ci vec.emplace_back(i, val, Reference::ReferenceType::ELEMENT); 39284514f5e3Sopenharmony_ci } 39294514f5e3Sopenharmony_ci} 39304514f5e3Sopenharmony_ci 39314514f5e3Sopenharmony_cistatic void DumpConstantPoolClass(const ConstantPool *arr, std::vector<Reference> &vec) 39324514f5e3Sopenharmony_ci{ 39334514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 39344514f5e3Sopenharmony_ci uint32_t len = arr->GetCacheLength(); 39354514f5e3Sopenharmony_ci vec.reserve(vec.size() + len); 39364514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 39374514f5e3Sopenharmony_ci JSTaggedValue val(arr->GetObjectFromCache(i)); 39384514f5e3Sopenharmony_ci CString str = ToCString(i); 39394514f5e3Sopenharmony_ci vec.emplace_back(str, val); 39404514f5e3Sopenharmony_ci } 39414514f5e3Sopenharmony_ci} 39424514f5e3Sopenharmony_ci 39434514f5e3Sopenharmony_cistatic void DumpStringClass([[maybe_unused]] const EcmaString *str, [[maybe_unused]] std::vector<Reference> &vec) 39444514f5e3Sopenharmony_ci{ 39454514f5e3Sopenharmony_ci // Before EcmaString dump self node, it need not show, so delete. 39464514f5e3Sopenharmony_ci // If some properties need be shown, add here. 39474514f5e3Sopenharmony_ci} 39484514f5e3Sopenharmony_ci 39494514f5e3Sopenharmony_cistatic void DumpObject(TaggedObject *obj, std::vector<Reference> &vec, bool isVmMode) 39504514f5e3Sopenharmony_ci{ 39514514f5e3Sopenharmony_ci JSTaggedValue objValue(obj); 39524514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 39534514f5e3Sopenharmony_ci auto jsHclass = obj->GetClass(); 39544514f5e3Sopenharmony_ci JSType type = jsHclass->GetObjectType(); 39554514f5e3Sopenharmony_ci vec.emplace_back("hclass", JSTaggedValue(jsHclass)); 39564514f5e3Sopenharmony_ci switch (type) { 39574514f5e3Sopenharmony_ci case JSType::HCLASS: 39584514f5e3Sopenharmony_ci JSHClass::Cast(obj)->DumpForSnapshot(vec); 39594514f5e3Sopenharmony_ci break; 39604514f5e3Sopenharmony_ci case JSType::TAGGED_ARRAY: 39614514f5e3Sopenharmony_ci case JSType::TAGGED_DICTIONARY: 39624514f5e3Sopenharmony_ci case JSType::LEXICAL_ENV: 39634514f5e3Sopenharmony_ci case JSType::SENDABLE_ENV: 39644514f5e3Sopenharmony_ci case JSType::COW_TAGGED_ARRAY: 39654514f5e3Sopenharmony_ci case JSType::AOT_LITERAL_INFO: 39664514f5e3Sopenharmony_ci DumpArrayClass(TaggedArray::Cast(obj), vec); 39674514f5e3Sopenharmony_ci break; 39684514f5e3Sopenharmony_ci case JSType::MUTANT_TAGGED_ARRAY: 39694514f5e3Sopenharmony_ci DumpMutantTaggedArrayClass(MutantTaggedArray::Cast(obj), vec); 39704514f5e3Sopenharmony_ci break; 39714514f5e3Sopenharmony_ci case JSType::COW_MUTANT_TAGGED_ARRAY: 39724514f5e3Sopenharmony_ci DumpCOWMutantTaggedArrayClass(COWMutantTaggedArray::Cast(obj), vec); 39734514f5e3Sopenharmony_ci break; 39744514f5e3Sopenharmony_ci case JSType::CONSTANT_POOL: 39754514f5e3Sopenharmony_ci DumpConstantPoolClass(ConstantPool::Cast(obj), vec); 39764514f5e3Sopenharmony_ci break; 39774514f5e3Sopenharmony_ci case JSType::PROFILE_TYPE_INFO_CELL_0: 39784514f5e3Sopenharmony_ci case JSType::PROFILE_TYPE_INFO_CELL_1: 39794514f5e3Sopenharmony_ci case JSType::PROFILE_TYPE_INFO_CELL_N: 39804514f5e3Sopenharmony_ci ProfileTypeInfoCell::Cast(obj)->DumpForSnapshot(vec); 39814514f5e3Sopenharmony_ci break; 39824514f5e3Sopenharmony_ci case JSType::FUNCTION_TEMPLATE: 39834514f5e3Sopenharmony_ci FunctionTemplate::Cast(obj)->DumpForSnapshot(vec); 39844514f5e3Sopenharmony_ci break; 39854514f5e3Sopenharmony_ci case JSType::VTABLE: 39864514f5e3Sopenharmony_ci VTable::Cast(obj)->DumpForSnapshot(vec); 39874514f5e3Sopenharmony_ci break; 39884514f5e3Sopenharmony_ci case JSType::PROFILE_TYPE_INFO: 39894514f5e3Sopenharmony_ci ProfileTypeInfo::Cast(obj)->DumpForSnapshot(vec); 39904514f5e3Sopenharmony_ci break; 39914514f5e3Sopenharmony_ci case JSType::LINE_STRING: 39924514f5e3Sopenharmony_ci case JSType::CONSTANT_STRING: 39934514f5e3Sopenharmony_ci case JSType::TREE_STRING: 39944514f5e3Sopenharmony_ci case JSType::SLICED_STRING: 39954514f5e3Sopenharmony_ci DumpStringClass(EcmaString::Cast(obj), vec); 39964514f5e3Sopenharmony_ci break; 39974514f5e3Sopenharmony_ci case JSType::JS_NATIVE_POINTER: 39984514f5e3Sopenharmony_ci break; 39994514f5e3Sopenharmony_ci case JSType::JS_OBJECT: 40004514f5e3Sopenharmony_ci case JSType::JS_ERROR: 40014514f5e3Sopenharmony_ci case JSType::JS_EVAL_ERROR: 40024514f5e3Sopenharmony_ci case JSType::JS_RANGE_ERROR: 40034514f5e3Sopenharmony_ci case JSType::JS_TYPE_ERROR: 40044514f5e3Sopenharmony_ci case JSType::JS_AGGREGATE_ERROR: 40054514f5e3Sopenharmony_ci case JSType::JS_REFERENCE_ERROR: 40064514f5e3Sopenharmony_ci case JSType::JS_URI_ERROR: 40074514f5e3Sopenharmony_ci case JSType::JS_SYNTAX_ERROR: 40084514f5e3Sopenharmony_ci case JSType::JS_OOM_ERROR: 40094514f5e3Sopenharmony_ci case JSType::JS_TERMINATION_ERROR: 40104514f5e3Sopenharmony_ci case JSType::JS_ARGUMENTS: 40114514f5e3Sopenharmony_ci case JSType::JS_GLOBAL_OBJECT: 40124514f5e3Sopenharmony_ci case JSType::JS_SHARED_OBJECT: 40134514f5e3Sopenharmony_ci JSObject::Cast(obj)->DumpForSnapshot(vec); 40144514f5e3Sopenharmony_ci break; 40154514f5e3Sopenharmony_ci case JSType::JS_FUNCTION_BASE: 40164514f5e3Sopenharmony_ci case JSType::JS_FUNCTION: 40174514f5e3Sopenharmony_ci case JSType::JS_SHARED_FUNCTION: 40184514f5e3Sopenharmony_ci JSFunction::Cast(obj)->DumpForSnapshot(vec); 40194514f5e3Sopenharmony_ci break; 40204514f5e3Sopenharmony_ci case JSType::JS_BOUND_FUNCTION: 40214514f5e3Sopenharmony_ci JSBoundFunction::Cast(obj)->DumpForSnapshot(vec); 40224514f5e3Sopenharmony_ci break; 40234514f5e3Sopenharmony_ci case JSType::JS_SET: 40244514f5e3Sopenharmony_ci JSSet::Cast(obj)->DumpForSnapshot(vec); 40254514f5e3Sopenharmony_ci break; 40264514f5e3Sopenharmony_ci case JSType::JS_SHARED_SET: 40274514f5e3Sopenharmony_ci JSSharedSet::Cast(obj)->DumpForSnapshot(vec); 40284514f5e3Sopenharmony_ci break; 40294514f5e3Sopenharmony_ci case JSType::JS_MAP: 40304514f5e3Sopenharmony_ci JSMap::Cast(obj)->DumpForSnapshot(vec); 40314514f5e3Sopenharmony_ci break; 40324514f5e3Sopenharmony_ci case JSType::JS_SHARED_MAP: 40334514f5e3Sopenharmony_ci JSSharedMap::Cast(obj)->DumpForSnapshot(vec); 40344514f5e3Sopenharmony_ci break; 40354514f5e3Sopenharmony_ci case JSType::JS_WEAK_SET: 40364514f5e3Sopenharmony_ci JSWeakSet::Cast(obj)->DumpForSnapshot(vec); 40374514f5e3Sopenharmony_ci break; 40384514f5e3Sopenharmony_ci case JSType::JS_WEAK_MAP: 40394514f5e3Sopenharmony_ci JSWeakMap::Cast(obj)->DumpForSnapshot(vec); 40404514f5e3Sopenharmony_ci break; 40414514f5e3Sopenharmony_ci case JSType::JS_WEAK_REF: 40424514f5e3Sopenharmony_ci JSWeakRef::Cast(obj)->DumpForSnapshot(vec); 40434514f5e3Sopenharmony_ci break; 40444514f5e3Sopenharmony_ci case JSType::JS_FINALIZATION_REGISTRY: 40454514f5e3Sopenharmony_ci JSFinalizationRegistry::Cast(obj)->DumpForSnapshot(vec); 40464514f5e3Sopenharmony_ci break; 40474514f5e3Sopenharmony_ci case JSType::CELL_RECORD: 40484514f5e3Sopenharmony_ci CellRecord::Cast(obj)->DumpForSnapshot(vec); 40494514f5e3Sopenharmony_ci break; 40504514f5e3Sopenharmony_ci case JSType::JS_REG_EXP: 40514514f5e3Sopenharmony_ci JSRegExp::Cast(obj)->DumpForSnapshot(vec); 40524514f5e3Sopenharmony_ci break; 40534514f5e3Sopenharmony_ci case JSType::JS_DATE: 40544514f5e3Sopenharmony_ci JSDate::Cast(obj)->DumpForSnapshot(vec); 40554514f5e3Sopenharmony_ci break; 40564514f5e3Sopenharmony_ci case JSType::JS_ARRAY: 40574514f5e3Sopenharmony_ci JSArray::Cast(obj)->DumpForSnapshot(vec); 40584514f5e3Sopenharmony_ci break; 40594514f5e3Sopenharmony_ci case JSType::JS_SHARED_ARRAY: 40604514f5e3Sopenharmony_ci JSSharedArray::Cast(obj)->DumpForSnapshot(vec); 40614514f5e3Sopenharmony_ci break; 40624514f5e3Sopenharmony_ci case JSType::JS_TYPED_ARRAY: 40634514f5e3Sopenharmony_ci case JSType::JS_INT8_ARRAY: 40644514f5e3Sopenharmony_ci case JSType::JS_UINT8_ARRAY: 40654514f5e3Sopenharmony_ci case JSType::JS_UINT8_CLAMPED_ARRAY: 40664514f5e3Sopenharmony_ci case JSType::JS_INT16_ARRAY: 40674514f5e3Sopenharmony_ci case JSType::JS_UINT16_ARRAY: 40684514f5e3Sopenharmony_ci case JSType::JS_INT32_ARRAY: 40694514f5e3Sopenharmony_ci case JSType::JS_UINT32_ARRAY: 40704514f5e3Sopenharmony_ci case JSType::JS_FLOAT32_ARRAY: 40714514f5e3Sopenharmony_ci case JSType::JS_FLOAT64_ARRAY: 40724514f5e3Sopenharmony_ci case JSType::JS_BIGINT64_ARRAY: 40734514f5e3Sopenharmony_ci case JSType::JS_BIGUINT64_ARRAY: 40744514f5e3Sopenharmony_ci JSTypedArray::Cast(obj)->DumpForSnapshot(vec); 40754514f5e3Sopenharmony_ci break; 40764514f5e3Sopenharmony_ci case JSType::JS_SHARED_TYPED_ARRAY: 40774514f5e3Sopenharmony_ci case JSType::JS_SHARED_INT8_ARRAY: 40784514f5e3Sopenharmony_ci case JSType::JS_SHARED_UINT8_ARRAY: 40794514f5e3Sopenharmony_ci case JSType::JS_SHARED_UINT8_CLAMPED_ARRAY: 40804514f5e3Sopenharmony_ci case JSType::JS_SHARED_INT16_ARRAY: 40814514f5e3Sopenharmony_ci case JSType::JS_SHARED_UINT16_ARRAY: 40824514f5e3Sopenharmony_ci case JSType::JS_SHARED_INT32_ARRAY: 40834514f5e3Sopenharmony_ci case JSType::JS_SHARED_UINT32_ARRAY: 40844514f5e3Sopenharmony_ci case JSType::JS_SHARED_FLOAT32_ARRAY: 40854514f5e3Sopenharmony_ci case JSType::JS_SHARED_FLOAT64_ARRAY: 40864514f5e3Sopenharmony_ci case JSType::JS_SHARED_BIGINT64_ARRAY: 40874514f5e3Sopenharmony_ci case JSType::JS_SHARED_BIGUINT64_ARRAY: 40884514f5e3Sopenharmony_ci JSSharedTypedArray::Cast(obj)->DumpForSnapshot(vec); 40894514f5e3Sopenharmony_ci break; 40904514f5e3Sopenharmony_ci case JSType::BIGINT: 40914514f5e3Sopenharmony_ci BigInt::Cast(obj)->DumpForSnapshot(vec); 40924514f5e3Sopenharmony_ci break; 40934514f5e3Sopenharmony_ci case JSType::BYTE_ARRAY: 40944514f5e3Sopenharmony_ci ByteArray::Cast(obj)->DumpForSnapshot(vec); 40954514f5e3Sopenharmony_ci break; 40964514f5e3Sopenharmony_ci case JSType::JS_PROXY: 40974514f5e3Sopenharmony_ci JSProxy::Cast(obj)->DumpForSnapshot(vec); 40984514f5e3Sopenharmony_ci break; 40994514f5e3Sopenharmony_ci case JSType::JS_PRIMITIVE_REF: 41004514f5e3Sopenharmony_ci JSPrimitiveRef::Cast(obj)->DumpForSnapshot(vec); 41014514f5e3Sopenharmony_ci break; 41024514f5e3Sopenharmony_ci case JSType::SYMBOL: 41034514f5e3Sopenharmony_ci JSSymbol::Cast(obj)->DumpForSnapshot(vec); 41044514f5e3Sopenharmony_ci break; 41054514f5e3Sopenharmony_ci case JSType::ACCESSOR_DATA: 41064514f5e3Sopenharmony_ci case JSType::INTERNAL_ACCESSOR: 41074514f5e3Sopenharmony_ci AccessorData::Cast(obj)->DumpForSnapshot(vec); 41084514f5e3Sopenharmony_ci break; 41094514f5e3Sopenharmony_ci case JSType::JS_DATA_VIEW: 41104514f5e3Sopenharmony_ci JSDataView::Cast(obj)->DumpForSnapshot(vec); 41114514f5e3Sopenharmony_ci break; 41124514f5e3Sopenharmony_ci case JSType::PROMISE_REACTIONS: 41134514f5e3Sopenharmony_ci PromiseReaction::Cast(obj)->DumpForSnapshot(vec); 41144514f5e3Sopenharmony_ci break; 41154514f5e3Sopenharmony_ci case JSType::PROMISE_CAPABILITY: 41164514f5e3Sopenharmony_ci PromiseCapability::Cast(obj)->DumpForSnapshot(vec); 41174514f5e3Sopenharmony_ci break; 41184514f5e3Sopenharmony_ci case JSType::PROMISE_ITERATOR_RECORD: 41194514f5e3Sopenharmony_ci PromiseIteratorRecord::Cast(obj)->DumpForSnapshot(vec); 41204514f5e3Sopenharmony_ci break; 41214514f5e3Sopenharmony_ci case JSType::PROMISE_RECORD: 41224514f5e3Sopenharmony_ci PromiseRecord::Cast(obj)->DumpForSnapshot(vec); 41234514f5e3Sopenharmony_ci break; 41244514f5e3Sopenharmony_ci case JSType::RESOLVING_FUNCTIONS_RECORD: 41254514f5e3Sopenharmony_ci ResolvingFunctionsRecord::Cast(obj)->DumpForSnapshot(vec); 41264514f5e3Sopenharmony_ci break; 41274514f5e3Sopenharmony_ci case JSType::JS_PROMISE: 41284514f5e3Sopenharmony_ci JSPromise::Cast(obj)->DumpForSnapshot(vec); 41294514f5e3Sopenharmony_ci break; 41304514f5e3Sopenharmony_ci case JSType::JS_PROMISE_REACTIONS_FUNCTION: 41314514f5e3Sopenharmony_ci JSPromiseReactionsFunction::Cast(obj)->DumpForSnapshot(vec); 41324514f5e3Sopenharmony_ci break; 41334514f5e3Sopenharmony_ci case JSType::JS_PROMISE_EXECUTOR_FUNCTION: 41344514f5e3Sopenharmony_ci JSPromiseExecutorFunction::Cast(obj)->DumpForSnapshot(vec); 41354514f5e3Sopenharmony_ci break; 41364514f5e3Sopenharmony_ci case JSType::JS_ASYNC_MODULE_FULFILLED_FUNCTION: 41374514f5e3Sopenharmony_ci JSAsyncModuleFulfilledFunction::Cast(obj)->DumpForSnapshot(vec); 41384514f5e3Sopenharmony_ci break; 41394514f5e3Sopenharmony_ci case JSType::JS_ASYNC_MODULE_REJECTED_FUNCTION: 41404514f5e3Sopenharmony_ci JSAsyncModuleRejectedFunction::Cast(obj)->DumpForSnapshot(vec); 41414514f5e3Sopenharmony_ci break; 41424514f5e3Sopenharmony_ci case JSType::ASYNC_GENERATOR_REQUEST: 41434514f5e3Sopenharmony_ci AsyncGeneratorRequest::Cast(obj)->DumpForSnapshot(vec); 41444514f5e3Sopenharmony_ci break; 41454514f5e3Sopenharmony_ci case JSType::ASYNC_ITERATOR_RECORD: 41464514f5e3Sopenharmony_ci AsyncIteratorRecord::Cast(obj)->DumpForSnapshot(vec); 41474514f5e3Sopenharmony_ci break; 41484514f5e3Sopenharmony_ci case JSType::JS_ASYNC_FROM_SYNC_ITERATOR: 41494514f5e3Sopenharmony_ci JSAsyncFromSyncIterator::Cast(obj)->DumpForSnapshot(vec); 41504514f5e3Sopenharmony_ci break; 41514514f5e3Sopenharmony_ci case JSType::JS_ASYNC_FROM_SYNC_ITER_UNWARP_FUNCTION: 41524514f5e3Sopenharmony_ci JSAsyncFromSyncIterUnwarpFunction::Cast(obj)->DumpForSnapshot(vec); 41534514f5e3Sopenharmony_ci break; 41544514f5e3Sopenharmony_ci case JSType::JS_PROMISE_ALL_RESOLVE_ELEMENT_FUNCTION: 41554514f5e3Sopenharmony_ci JSPromiseAllResolveElementFunction::Cast(obj)->DumpForSnapshot(vec); 41564514f5e3Sopenharmony_ci break; 41574514f5e3Sopenharmony_ci case JSType::JS_PROMISE_ANY_REJECT_ELEMENT_FUNCTION: 41584514f5e3Sopenharmony_ci JSPromiseAnyRejectElementFunction::Cast(obj)->DumpForSnapshot(vec); 41594514f5e3Sopenharmony_ci break; 41604514f5e3Sopenharmony_ci case JSType::JS_PROMISE_ALL_SETTLED_ELEMENT_FUNCTION: 41614514f5e3Sopenharmony_ci JSPromiseAllSettledElementFunction::Cast(obj)->DumpForSnapshot(vec); 41624514f5e3Sopenharmony_ci break; 41634514f5e3Sopenharmony_ci case JSType::JS_PROMISE_FINALLY_FUNCTION: 41644514f5e3Sopenharmony_ci JSPromiseFinallyFunction::Cast(obj)->DumpForSnapshot(vec); 41654514f5e3Sopenharmony_ci break; 41664514f5e3Sopenharmony_ci case JSType::JS_PROMISE_VALUE_THUNK_OR_THROWER_FUNCTION: 41674514f5e3Sopenharmony_ci JSPromiseValueThunkOrThrowerFunction::Cast(obj)->DumpForSnapshot(vec); 41684514f5e3Sopenharmony_ci break; 41694514f5e3Sopenharmony_ci case JSType::JS_ASYNC_GENERATOR_RESUME_NEXT_RETURN_PROCESSOR_RST_FTN: 41704514f5e3Sopenharmony_ci JSAsyncGeneratorResNextRetProRstFtn::Cast(obj)->DumpForSnapshot(vec); 41714514f5e3Sopenharmony_ci break; 41724514f5e3Sopenharmony_ci case JSType::MICRO_JOB_QUEUE: 41734514f5e3Sopenharmony_ci MicroJobQueue::Cast(obj)->DumpForSnapshot(vec); 41744514f5e3Sopenharmony_ci break; 41754514f5e3Sopenharmony_ci case JSType::PENDING_JOB: 41764514f5e3Sopenharmony_ci PendingJob::Cast(obj)->DumpForSnapshot(vec); 41774514f5e3Sopenharmony_ci break; 41784514f5e3Sopenharmony_ci case JSType::COMPLETION_RECORD: 41794514f5e3Sopenharmony_ci CompletionRecord::Cast(obj)->DumpForSnapshot(vec); 41804514f5e3Sopenharmony_ci break; 41814514f5e3Sopenharmony_ci case JSType::JS_ITERATOR: 41824514f5e3Sopenharmony_ci case JSType::JS_ASYNCITERATOR: 41834514f5e3Sopenharmony_ci case JSType::JS_FORIN_ITERATOR: 41844514f5e3Sopenharmony_ci case JSType::JS_MAP_ITERATOR: 41854514f5e3Sopenharmony_ci case JSType::JS_SHARED_MAP_ITERATOR: 41864514f5e3Sopenharmony_ci case JSType::JS_SET_ITERATOR: 41874514f5e3Sopenharmony_ci case JSType::JS_SHARED_SET_ITERATOR: 41884514f5e3Sopenharmony_ci case JSType::JS_ARRAY_ITERATOR: 41894514f5e3Sopenharmony_ci case JSType::JS_SHARED_ARRAY_ITERATOR: 41904514f5e3Sopenharmony_ci case JSType::JS_STRING_ITERATOR: 41914514f5e3Sopenharmony_ci case JSType::JS_REG_EXP_ITERATOR: 41924514f5e3Sopenharmony_ci case JSType::JS_ARRAY_BUFFER: 41934514f5e3Sopenharmony_ci JSArrayBuffer::Cast(obj)->DumpForSnapshot(vec); 41944514f5e3Sopenharmony_ci break; 41954514f5e3Sopenharmony_ci case JSType::JS_SHARED_ARRAY_BUFFER: 41964514f5e3Sopenharmony_ci JSArrayBuffer::Cast(obj)->DumpForSnapshot(vec); 41974514f5e3Sopenharmony_ci break; 41984514f5e3Sopenharmony_ci case JSType::JS_SENDABLE_ARRAY_BUFFER: 41994514f5e3Sopenharmony_ci JSSendableArrayBuffer::Cast(obj)->DumpForSnapshot(vec); 42004514f5e3Sopenharmony_ci break; 42014514f5e3Sopenharmony_ci case JSType::JS_PROXY_REVOC_FUNCTION: 42024514f5e3Sopenharmony_ci JSProxyRevocFunction::Cast(obj)->DumpForSnapshot(vec); 42034514f5e3Sopenharmony_ci break; 42044514f5e3Sopenharmony_ci case JSType::JS_ASYNC_FUNCTION: 42054514f5e3Sopenharmony_ci case JSType::JS_SHARED_ASYNC_FUNCTION: 42064514f5e3Sopenharmony_ci JSAsyncFunction::Cast(obj)->DumpForSnapshot(vec); 42074514f5e3Sopenharmony_ci break; 42084514f5e3Sopenharmony_ci case JSType::JS_ASYNC_AWAIT_STATUS_FUNCTION: 42094514f5e3Sopenharmony_ci JSAsyncAwaitStatusFunction::Cast(obj)->DumpForSnapshot(vec); 42104514f5e3Sopenharmony_ci break; 42114514f5e3Sopenharmony_ci case JSType::JS_GENERATOR_FUNCTION: 42124514f5e3Sopenharmony_ci JSGeneratorFunction::Cast(obj)->DumpForSnapshot(vec); 42134514f5e3Sopenharmony_ci break; 42144514f5e3Sopenharmony_ci case JSType::JS_ASYNC_GENERATOR_FUNCTION: 42154514f5e3Sopenharmony_ci JSAsyncGeneratorFunction::Cast(obj)->DumpForSnapshot(vec); 42164514f5e3Sopenharmony_ci break; 42174514f5e3Sopenharmony_ci case JSType::JS_INTL_BOUND_FUNCTION: 42184514f5e3Sopenharmony_ci JSIntlBoundFunction::Cast(obj)->DumpForSnapshot(vec); 42194514f5e3Sopenharmony_ci break; 42204514f5e3Sopenharmony_ci case JSType::JS_REALM: 42214514f5e3Sopenharmony_ci JSRealm::Cast(obj)->DumpForSnapshot(vec); 42224514f5e3Sopenharmony_ci break; 42234514f5e3Sopenharmony_ci#ifdef ARK_SUPPORT_INTL 42244514f5e3Sopenharmony_ci case JSType::JS_INTL: 42254514f5e3Sopenharmony_ci JSIntl::Cast(obj)->DumpForSnapshot(vec); 42264514f5e3Sopenharmony_ci break; 42274514f5e3Sopenharmony_ci case JSType::JS_LOCALE: 42284514f5e3Sopenharmony_ci JSLocale::Cast(obj)->DumpForSnapshot(vec); 42294514f5e3Sopenharmony_ci break; 42304514f5e3Sopenharmony_ci case JSType::JS_DATE_TIME_FORMAT: 42314514f5e3Sopenharmony_ci JSDateTimeFormat::Cast(obj)->DumpForSnapshot(vec); 42324514f5e3Sopenharmony_ci break; 42334514f5e3Sopenharmony_ci case JSType::JS_RELATIVE_TIME_FORMAT: 42344514f5e3Sopenharmony_ci JSRelativeTimeFormat::Cast(obj)->DumpForSnapshot(vec); 42354514f5e3Sopenharmony_ci break; 42364514f5e3Sopenharmony_ci case JSType::JS_NUMBER_FORMAT: 42374514f5e3Sopenharmony_ci JSNumberFormat::Cast(obj)->DumpForSnapshot(vec); 42384514f5e3Sopenharmony_ci break; 42394514f5e3Sopenharmony_ci case JSType::JS_COLLATOR: 42404514f5e3Sopenharmony_ci JSCollator::Cast(obj)->DumpForSnapshot(vec); 42414514f5e3Sopenharmony_ci break; 42424514f5e3Sopenharmony_ci case JSType::JS_PLURAL_RULES: 42434514f5e3Sopenharmony_ci JSPluralRules::Cast(obj)->DumpForSnapshot(vec); 42444514f5e3Sopenharmony_ci break; 42454514f5e3Sopenharmony_ci case JSType::JS_DISPLAYNAMES: 42464514f5e3Sopenharmony_ci JSDisplayNames::Cast(obj)->DumpForSnapshot(vec); 42474514f5e3Sopenharmony_ci break; 42484514f5e3Sopenharmony_ci case JSType::JS_SEGMENTER: 42494514f5e3Sopenharmony_ci JSSegmenter::Cast(obj)->DumpForSnapshot(vec); 42504514f5e3Sopenharmony_ci break; 42514514f5e3Sopenharmony_ci case JSType::JS_SEGMENTS: 42524514f5e3Sopenharmony_ci JSSegments::Cast(obj)->DumpForSnapshot(vec); 42534514f5e3Sopenharmony_ci break; 42544514f5e3Sopenharmony_ci case JSType::JS_SEGMENT_ITERATOR: 42554514f5e3Sopenharmony_ci JSSegmentIterator::Cast(obj)->DumpForSnapshot(vec); 42564514f5e3Sopenharmony_ci break; 42574514f5e3Sopenharmony_ci case JSType::JS_LIST_FORMAT: 42584514f5e3Sopenharmony_ci JSListFormat::Cast(obj)->DumpForSnapshot(vec); 42594514f5e3Sopenharmony_ci break; 42604514f5e3Sopenharmony_ci#else 42614514f5e3Sopenharmony_ci case JSType::JS_INTL: 42624514f5e3Sopenharmony_ci case JSType::JS_LOCALE: 42634514f5e3Sopenharmony_ci case JSType::JS_DATE_TIME_FORMAT: 42644514f5e3Sopenharmony_ci case JSType::JS_RELATIVE_TIME_FORMAT: 42654514f5e3Sopenharmony_ci case JSType::JS_NUMBER_FORMAT: 42664514f5e3Sopenharmony_ci case JSType::JS_COLLATOR: 42674514f5e3Sopenharmony_ci case JSType::JS_PLURAL_RULES: 42684514f5e3Sopenharmony_ci case JSType::JS_DISPLAYNAMES: 42694514f5e3Sopenharmony_ci case JSType::JS_SEGMENTER: 42704514f5e3Sopenharmony_ci case JSType::JS_SEGMENTS: 42714514f5e3Sopenharmony_ci case JSType::JS_SEGMENT_ITERATOR: 42724514f5e3Sopenharmony_ci case JSType::JS_LIST_FORMAT: 42734514f5e3Sopenharmony_ci break; 42744514f5e3Sopenharmony_ci#endif 42754514f5e3Sopenharmony_ci case JSType::JS_CJS_MODULE: 42764514f5e3Sopenharmony_ci CjsModule::Cast(obj)->DumpForSnapshot(vec); 42774514f5e3Sopenharmony_ci break; 42784514f5e3Sopenharmony_ci case JSType::JS_CJS_EXPORTS: 42794514f5e3Sopenharmony_ci CjsExports::Cast(obj)->DumpForSnapshot(vec); 42804514f5e3Sopenharmony_ci break; 42814514f5e3Sopenharmony_ci case JSType::JS_CJS_REQUIRE: 42824514f5e3Sopenharmony_ci CjsRequire::Cast(obj)->DumpForSnapshot(vec); 42834514f5e3Sopenharmony_ci break; 42844514f5e3Sopenharmony_ci case JSType::JS_GENERATOR_OBJECT: 42854514f5e3Sopenharmony_ci JSGeneratorObject::Cast(obj)->DumpForSnapshot(vec); 42864514f5e3Sopenharmony_ci break; 42874514f5e3Sopenharmony_ci case JSType::JS_ASYNC_GENERATOR_OBJECT: 42884514f5e3Sopenharmony_ci JSAsyncGeneratorObject::Cast(obj)->DumpForSnapshot(vec); 42894514f5e3Sopenharmony_ci break; 42904514f5e3Sopenharmony_ci case JSType::JS_ASYNC_FUNC_OBJECT: 42914514f5e3Sopenharmony_ci JSAsyncFuncObject::Cast(obj)->DumpForSnapshot(vec); 42924514f5e3Sopenharmony_ci break; 42934514f5e3Sopenharmony_ci case JSType::JS_GENERATOR_CONTEXT: 42944514f5e3Sopenharmony_ci GeneratorContext::Cast(obj)->DumpForSnapshot(vec); 42954514f5e3Sopenharmony_ci break; 42964514f5e3Sopenharmony_ci case JSType::JS_API_ARRAY_LIST: 42974514f5e3Sopenharmony_ci JSAPIArrayList::Cast(obj)->DumpForSnapshot(vec); 42984514f5e3Sopenharmony_ci break; 42994514f5e3Sopenharmony_ci case JSType::JS_API_ARRAYLIST_ITERATOR: 43004514f5e3Sopenharmony_ci JSAPIArrayListIterator::Cast(obj)->DumpForSnapshot(vec); 43014514f5e3Sopenharmony_ci break; 43024514f5e3Sopenharmony_ci case JSType::LINKED_NODE: 43034514f5e3Sopenharmony_ci LinkedNode::Cast(obj)->DumpForSnapshot(vec); 43044514f5e3Sopenharmony_ci break; 43054514f5e3Sopenharmony_ci case JSType::RB_TREENODE: 43064514f5e3Sopenharmony_ci break; 43074514f5e3Sopenharmony_ci case JSType::JS_API_HASH_MAP: 43084514f5e3Sopenharmony_ci JSAPIHashMap::Cast(obj)->DumpForSnapshot(vec); 43094514f5e3Sopenharmony_ci break; 43104514f5e3Sopenharmony_ci case JSType::JS_API_HASH_SET: 43114514f5e3Sopenharmony_ci JSAPIHashSet::Cast(obj)->DumpForSnapshot(vec); 43124514f5e3Sopenharmony_ci break; 43134514f5e3Sopenharmony_ci case JSType::JS_API_HASHMAP_ITERATOR: 43144514f5e3Sopenharmony_ci JSAPIHashMapIterator::Cast(obj)->DumpForSnapshot(vec); 43154514f5e3Sopenharmony_ci break; 43164514f5e3Sopenharmony_ci case JSType::JS_API_HASHSET_ITERATOR: 43174514f5e3Sopenharmony_ci JSAPIHashSetIterator::Cast(obj)->DumpForSnapshot(vec); 43184514f5e3Sopenharmony_ci break; 43194514f5e3Sopenharmony_ci case JSType::JS_API_LIGHT_WEIGHT_MAP: 43204514f5e3Sopenharmony_ci JSAPILightWeightMap::Cast(obj)->DumpForSnapshot(vec); 43214514f5e3Sopenharmony_ci break; 43224514f5e3Sopenharmony_ci case JSType::JS_API_LIGHT_WEIGHT_MAP_ITERATOR: 43234514f5e3Sopenharmony_ci JSAPILightWeightMapIterator::Cast(obj)->DumpForSnapshot(vec); 43244514f5e3Sopenharmony_ci break; 43254514f5e3Sopenharmony_ci case JSType::JS_API_LIGHT_WEIGHT_SET: 43264514f5e3Sopenharmony_ci JSAPILightWeightSet::Cast(obj)->DumpForSnapshot(vec); 43274514f5e3Sopenharmony_ci break; 43284514f5e3Sopenharmony_ci case JSType::JS_API_LIGHT_WEIGHT_SET_ITERATOR: 43294514f5e3Sopenharmony_ci JSAPILightWeightSetIterator::Cast(obj)->DumpForSnapshot(vec); 43304514f5e3Sopenharmony_ci break; 43314514f5e3Sopenharmony_ci case JSType::JS_API_TREE_MAP: 43324514f5e3Sopenharmony_ci JSAPITreeMap::Cast(obj)->DumpForSnapshot(vec); 43334514f5e3Sopenharmony_ci break; 43344514f5e3Sopenharmony_ci case JSType::JS_API_TREE_SET: 43354514f5e3Sopenharmony_ci JSAPITreeSet::Cast(obj)->DumpForSnapshot(vec); 43364514f5e3Sopenharmony_ci break; 43374514f5e3Sopenharmony_ci case JSType::JS_API_TREEMAP_ITERATOR: 43384514f5e3Sopenharmony_ci JSAPITreeMapIterator::Cast(obj)->DumpForSnapshot(vec); 43394514f5e3Sopenharmony_ci break; 43404514f5e3Sopenharmony_ci case JSType::JS_API_TREESET_ITERATOR: 43414514f5e3Sopenharmony_ci JSAPITreeSetIterator::Cast(obj)->DumpForSnapshot(vec); 43424514f5e3Sopenharmony_ci break; 43434514f5e3Sopenharmony_ci case JSType::JS_API_VECTOR: 43444514f5e3Sopenharmony_ci JSAPIVector::Cast(obj)->DumpForSnapshot(vec); 43454514f5e3Sopenharmony_ci break; 43464514f5e3Sopenharmony_ci case JSType::JS_API_VECTOR_ITERATOR: 43474514f5e3Sopenharmony_ci JSAPIVectorIterator::Cast(obj)->DumpForSnapshot(vec); 43484514f5e3Sopenharmony_ci break; 43494514f5e3Sopenharmony_ci case JSType::JS_API_BITVECTOR: 43504514f5e3Sopenharmony_ci JSAPIBitVector::Cast(obj)->DumpForSnapshot(vec); 43514514f5e3Sopenharmony_ci break; 43524514f5e3Sopenharmony_ci case JSType::JS_API_BITVECTOR_ITERATOR: 43534514f5e3Sopenharmony_ci JSAPIBitVectorIterator::Cast(obj)->DumpForSnapshot(vec); 43544514f5e3Sopenharmony_ci break; 43554514f5e3Sopenharmony_ci case JSType::JS_API_QUEUE: 43564514f5e3Sopenharmony_ci JSAPIQueue::Cast(obj)->DumpForSnapshot(vec); 43574514f5e3Sopenharmony_ci break; 43584514f5e3Sopenharmony_ci case JSType::JS_API_QUEUE_ITERATOR: 43594514f5e3Sopenharmony_ci JSAPIQueueIterator::Cast(obj)->DumpForSnapshot(vec); 43604514f5e3Sopenharmony_ci break; 43614514f5e3Sopenharmony_ci case JSType::JS_API_DEQUE: 43624514f5e3Sopenharmony_ci JSAPIDeque::Cast(obj)->DumpForSnapshot(vec); 43634514f5e3Sopenharmony_ci break; 43644514f5e3Sopenharmony_ci case JSType::JS_API_DEQUE_ITERATOR: 43654514f5e3Sopenharmony_ci JSAPIDequeIterator::Cast(obj)->DumpForSnapshot(vec); 43664514f5e3Sopenharmony_ci break; 43674514f5e3Sopenharmony_ci case JSType::JS_API_STACK: 43684514f5e3Sopenharmony_ci JSAPIStack::Cast(obj)->DumpForSnapshot(vec); 43694514f5e3Sopenharmony_ci break; 43704514f5e3Sopenharmony_ci case JSType::JS_API_STACK_ITERATOR: 43714514f5e3Sopenharmony_ci JSAPIStackIterator::Cast(obj)->DumpForSnapshot(vec); 43724514f5e3Sopenharmony_ci break; 43734514f5e3Sopenharmony_ci case JSType::JS_API_LIST: 43744514f5e3Sopenharmony_ci JSAPIList::Cast(obj)->DumpForSnapshot(vec); 43754514f5e3Sopenharmony_ci break; 43764514f5e3Sopenharmony_ci case JSType::JS_API_LINKED_LIST: 43774514f5e3Sopenharmony_ci JSAPILinkedList::Cast(obj)->DumpForSnapshot(vec); 43784514f5e3Sopenharmony_ci break; 43794514f5e3Sopenharmony_ci case JSType::JS_API_LIST_ITERATOR: 43804514f5e3Sopenharmony_ci JSAPIListIterator::Cast(obj)->DumpForSnapshot(vec); 43814514f5e3Sopenharmony_ci break; 43824514f5e3Sopenharmony_ci case JSType::JS_API_LINKED_LIST_ITERATOR: 43834514f5e3Sopenharmony_ci JSAPILinkedListIterator::Cast(obj)->DumpForSnapshot(vec); 43844514f5e3Sopenharmony_ci break; 43854514f5e3Sopenharmony_ci case JSType::SOURCE_TEXT_MODULE_RECORD: 43864514f5e3Sopenharmony_ci SourceTextModule::Cast(obj)->DumpForSnapshot(vec); 43874514f5e3Sopenharmony_ci break; 43884514f5e3Sopenharmony_ci case JSType::IMPORTENTRY_RECORD: 43894514f5e3Sopenharmony_ci ImportEntry::Cast(obj)->DumpForSnapshot(vec); 43904514f5e3Sopenharmony_ci break; 43914514f5e3Sopenharmony_ci case JSType::LOCAL_EXPORTENTRY_RECORD: 43924514f5e3Sopenharmony_ci LocalExportEntry::Cast(obj)->DumpForSnapshot(vec); 43934514f5e3Sopenharmony_ci break; 43944514f5e3Sopenharmony_ci case JSType::INDIRECT_EXPORTENTRY_RECORD: 43954514f5e3Sopenharmony_ci IndirectExportEntry::Cast(obj)->DumpForSnapshot(vec); 43964514f5e3Sopenharmony_ci break; 43974514f5e3Sopenharmony_ci case JSType::STAR_EXPORTENTRY_RECORD: 43984514f5e3Sopenharmony_ci StarExportEntry::Cast(obj)->DumpForSnapshot(vec); 43994514f5e3Sopenharmony_ci break; 44004514f5e3Sopenharmony_ci case JSType::RESOLVEDBINDING_RECORD: 44014514f5e3Sopenharmony_ci ResolvedBinding::Cast(obj)->DumpForSnapshot(vec); 44024514f5e3Sopenharmony_ci break; 44034514f5e3Sopenharmony_ci case JSType::RESOLVEDINDEXBINDING_RECORD: 44044514f5e3Sopenharmony_ci ResolvedIndexBinding::Cast(obj)->DumpForSnapshot(vec); 44054514f5e3Sopenharmony_ci break; 44064514f5e3Sopenharmony_ci case JSType::RESOLVEDRECORDINDEXBINDING_RECORD: 44074514f5e3Sopenharmony_ci ResolvedRecordIndexBinding::Cast(obj)->DumpForSnapshot(vec); 44084514f5e3Sopenharmony_ci break; 44094514f5e3Sopenharmony_ci case JSType::RESOLVEDRECORDBINDING_RECORD: 44104514f5e3Sopenharmony_ci ResolvedRecordBinding::Cast(obj)->DumpForSnapshot(vec); 44114514f5e3Sopenharmony_ci break; 44124514f5e3Sopenharmony_ci case JSType::JS_MODULE_NAMESPACE: 44134514f5e3Sopenharmony_ci ModuleNamespace::Cast(obj)->DumpForSnapshot(vec); 44144514f5e3Sopenharmony_ci break; 44154514f5e3Sopenharmony_ci case JSType::NATIVE_MODULE_FAILURE_INFO: 44164514f5e3Sopenharmony_ci NativeModuleFailureInfo::Cast(obj)->DumpForSnapshot(vec); 44174514f5e3Sopenharmony_ci break; 44184514f5e3Sopenharmony_ci case JSType::JS_API_PLAIN_ARRAY: 44194514f5e3Sopenharmony_ci JSAPIPlainArray::Cast(obj)->DumpForSnapshot(vec); 44204514f5e3Sopenharmony_ci break; 44214514f5e3Sopenharmony_ci case JSType::JS_API_PLAIN_ARRAY_ITERATOR: 44224514f5e3Sopenharmony_ci JSAPIPlainArrayIterator::Cast(obj)->DumpForSnapshot(vec); 44234514f5e3Sopenharmony_ci break; 44244514f5e3Sopenharmony_ci default: 44254514f5e3Sopenharmony_ci break; 44264514f5e3Sopenharmony_ci } 44274514f5e3Sopenharmony_ci if (isVmMode) { 44284514f5e3Sopenharmony_ci switch (type) { 44294514f5e3Sopenharmony_ci case JSType::PROPERTY_BOX: 44304514f5e3Sopenharmony_ci PropertyBox::Cast(obj)->DumpForSnapshot(vec); 44314514f5e3Sopenharmony_ci break; 44324514f5e3Sopenharmony_ci case JSType::TEMPLATE_MAP: 44334514f5e3Sopenharmony_ci DumpArrayClass(TaggedArray::Cast(obj), vec); 44344514f5e3Sopenharmony_ci break; 44354514f5e3Sopenharmony_ci case JSType::GLOBAL_ENV: 44364514f5e3Sopenharmony_ci GlobalEnv::Cast(obj)->DumpForSnapshot(vec); 44374514f5e3Sopenharmony_ci break; 44384514f5e3Sopenharmony_ci case JSType::PROTO_CHANGE_MARKER: 44394514f5e3Sopenharmony_ci ProtoChangeMarker::Cast(obj)->DumpForSnapshot(vec); 44404514f5e3Sopenharmony_ci break; 44414514f5e3Sopenharmony_ci case JSType::MARKER_CELL: 44424514f5e3Sopenharmony_ci MarkerCell::Cast(obj)->DumpForSnapshot(vec); 44434514f5e3Sopenharmony_ci break; 44444514f5e3Sopenharmony_ci case JSType::PROTOTYPE_INFO: 44454514f5e3Sopenharmony_ci ProtoChangeDetails::Cast(obj)->DumpForSnapshot(vec); 44464514f5e3Sopenharmony_ci break; 44474514f5e3Sopenharmony_ci case JSType::TRACK_INFO: 44484514f5e3Sopenharmony_ci TrackInfo::Cast(obj)->DumpForSnapshot(vec); 44494514f5e3Sopenharmony_ci break; 44504514f5e3Sopenharmony_ci case JSType::PROGRAM: 44514514f5e3Sopenharmony_ci Program::Cast(obj)->DumpForSnapshot(vec); 44524514f5e3Sopenharmony_ci break; 44534514f5e3Sopenharmony_ci case JSType::MACHINE_CODE_OBJECT: 44544514f5e3Sopenharmony_ci MachineCode::Cast(obj)->DumpForSnapshot(vec); 44554514f5e3Sopenharmony_ci break; 44564514f5e3Sopenharmony_ci case JSType::TRANSITION_HANDLER: 44574514f5e3Sopenharmony_ci TransitionHandler::Cast(obj)->DumpForSnapshot(vec); 44584514f5e3Sopenharmony_ci break; 44594514f5e3Sopenharmony_ci case JSType::TRANS_WITH_PROTO_HANDLER: 44604514f5e3Sopenharmony_ci TransWithProtoHandler::Cast(obj)->DumpForSnapshot(vec); 44614514f5e3Sopenharmony_ci break; 44624514f5e3Sopenharmony_ci case JSType::STORE_TS_HANDLER: 44634514f5e3Sopenharmony_ci StoreTSHandler::Cast(obj)->DumpForSnapshot(vec); 44644514f5e3Sopenharmony_ci break; 44654514f5e3Sopenharmony_ci case JSType::PROTOTYPE_HANDLER: 44664514f5e3Sopenharmony_ci PrototypeHandler::Cast(obj)->DumpForSnapshot(vec); 44674514f5e3Sopenharmony_ci break; 44684514f5e3Sopenharmony_ci case JSType::CLASS_INFO_EXTRACTOR: 44694514f5e3Sopenharmony_ci ClassInfoExtractor::Cast(obj)->DumpForSnapshot(vec); 44704514f5e3Sopenharmony_ci break; 44714514f5e3Sopenharmony_ci case JSType::METHOD: 44724514f5e3Sopenharmony_ci Method::Cast(obj)->DumpForSnapshot(vec); 44734514f5e3Sopenharmony_ci break; 44744514f5e3Sopenharmony_ci case JSType::CLASS_LITERAL: 44754514f5e3Sopenharmony_ci ClassLiteral::Cast(obj)->DumpForSnapshot(vec); 44764514f5e3Sopenharmony_ci break; 44774514f5e3Sopenharmony_ci default: 44784514f5e3Sopenharmony_ci break; 44794514f5e3Sopenharmony_ci } 44804514f5e3Sopenharmony_ci } else { 44814514f5e3Sopenharmony_ci vec.pop_back(); 44824514f5e3Sopenharmony_ci } 44834514f5e3Sopenharmony_ci AddAnonymousEdge(obj, vec); 44844514f5e3Sopenharmony_ci} 44854514f5e3Sopenharmony_ci 44864514f5e3Sopenharmony_cistatic inline void EcmaStringToStd(CString &res, EcmaString *str) 44874514f5e3Sopenharmony_ci{ 44884514f5e3Sopenharmony_ci if (EcmaStringAccessor(str).GetLength() == 0) { 44894514f5e3Sopenharmony_ci CString emptyStr = "EmptyString"; 44904514f5e3Sopenharmony_ci res.append(emptyStr); 44914514f5e3Sopenharmony_ci } 44924514f5e3Sopenharmony_ci 44934514f5e3Sopenharmony_ci CString string = ConvertToString(str); 44944514f5e3Sopenharmony_ci res.append(string); 44954514f5e3Sopenharmony_ci} 44964514f5e3Sopenharmony_ci 44974514f5e3Sopenharmony_cistatic void KeyToStd(CString &res, JSTaggedValue key) 44984514f5e3Sopenharmony_ci{ 44994514f5e3Sopenharmony_ci if (key.IsInt()) { 45004514f5e3Sopenharmony_ci res = std::to_string(key.GetInt()); 45014514f5e3Sopenharmony_ci } else if (key.IsDouble()) { 45024514f5e3Sopenharmony_ci res = std::to_string(key.GetDouble()); 45034514f5e3Sopenharmony_ci } else if (key.IsBoolean()) { 45044514f5e3Sopenharmony_ci res = key.IsTrue() ? "true" : "false"; 45054514f5e3Sopenharmony_ci } else if (key.IsHeapObject()) { 45064514f5e3Sopenharmony_ci if (key.IsWeak()) { 45074514f5e3Sopenharmony_ci key.RemoveWeakTag(); 45084514f5e3Sopenharmony_ci } 45094514f5e3Sopenharmony_ci if (key.IsString()) { 45104514f5e3Sopenharmony_ci EcmaStringToStd(res, EcmaString::Cast(key.GetTaggedObject())); 45114514f5e3Sopenharmony_ci } else if (key.IsSymbol()) { 45124514f5e3Sopenharmony_ci JSSymbol *sym = JSSymbol::Cast(key.GetTaggedObject()); 45134514f5e3Sopenharmony_ci JSTaggedValue desc = sym->GetDescription(); 45144514f5e3Sopenharmony_ci if (desc.IsString()) { 45154514f5e3Sopenharmony_ci EcmaStringToStd(res, EcmaString::Cast(desc.GetTaggedObject())); 45164514f5e3Sopenharmony_ci } 45174514f5e3Sopenharmony_ci } 45184514f5e3Sopenharmony_ci } 45194514f5e3Sopenharmony_ci} 45204514f5e3Sopenharmony_ci 45214514f5e3Sopenharmony_civoid JSAPIPlainArray::DumpForSnapshot(std::vector<Reference> &vec) const 45224514f5e3Sopenharmony_ci{ 45234514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 45244514f5e3Sopenharmony_ci TaggedArray *keys = TaggedArray::Cast(GetKeys().GetTaggedObject()); 45254514f5e3Sopenharmony_ci TaggedArray *values = TaggedArray::Cast(GetValues().GetTaggedObject()); 45264514f5e3Sopenharmony_ci uint32_t len = static_cast<uint32_t>(GetLength()); 45274514f5e3Sopenharmony_ci vec.reserve(vec.size() + len); 45284514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 45294514f5e3Sopenharmony_ci CString str; 45304514f5e3Sopenharmony_ci KeyToStd(str, keys->Get(i)); 45314514f5e3Sopenharmony_ci vec.emplace_back(str, values->Get(i)); 45324514f5e3Sopenharmony_ci } 45334514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 45344514f5e3Sopenharmony_ci} 45354514f5e3Sopenharmony_ci 45364514f5e3Sopenharmony_civoid JSTaggedValue::DumpForSnapshot(std::vector<Reference> &vec, bool isVmMode) const 45374514f5e3Sopenharmony_ci{ 45384514f5e3Sopenharmony_ci if (IsHeapObject()) { 45394514f5e3Sopenharmony_ci return DumpObject(GetTaggedObject(), vec, isVmMode); 45404514f5e3Sopenharmony_ci } 45414514f5e3Sopenharmony_ci LOG_ECMA(FATAL) << "this branch is unreachable"; 45424514f5e3Sopenharmony_ci UNREACHABLE(); 45434514f5e3Sopenharmony_ci} 45444514f5e3Sopenharmony_ci 45454514f5e3Sopenharmony_civoid NumberDictionary::DumpForSnapshot(std::vector<Reference> &vec) const 45464514f5e3Sopenharmony_ci{ 45474514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 45484514f5e3Sopenharmony_ci int size = Size(); 45494514f5e3Sopenharmony_ci vec.reserve(vec.size() + size); 45504514f5e3Sopenharmony_ci for (int hashIndex = 0; hashIndex < size; hashIndex++) { 45514514f5e3Sopenharmony_ci JSTaggedValue key(GetKey(hashIndex)); 45524514f5e3Sopenharmony_ci if (!key.IsUndefined() && !key.IsHole() && !key.IsNull()) { 45534514f5e3Sopenharmony_ci JSTaggedValue val(GetValue(hashIndex)); 45544514f5e3Sopenharmony_ci vec.emplace_back( 45554514f5e3Sopenharmony_ci static_cast<uint32_t>(JSTaggedNumber(key).GetNumber()), val, Reference::ReferenceType::ELEMENT); 45564514f5e3Sopenharmony_ci } 45574514f5e3Sopenharmony_ci } 45584514f5e3Sopenharmony_ci} 45594514f5e3Sopenharmony_ci 45604514f5e3Sopenharmony_civoid NameDictionary::DumpForSnapshot(std::vector<Reference> &vec) const 45614514f5e3Sopenharmony_ci{ 45624514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 45634514f5e3Sopenharmony_ci int size = Size(); 45644514f5e3Sopenharmony_ci vec.reserve(vec.size() + size); 45654514f5e3Sopenharmony_ci for (int hashIndex = 0; hashIndex < size; hashIndex++) { 45664514f5e3Sopenharmony_ci JSTaggedValue key(GetKey(hashIndex)); 45674514f5e3Sopenharmony_ci if (!key.IsUndefined() && !key.IsHole() && !key.IsNull()) { 45684514f5e3Sopenharmony_ci JSTaggedValue val(GetValue(hashIndex)); 45694514f5e3Sopenharmony_ci CString str; 45704514f5e3Sopenharmony_ci KeyToStd(str, key); 45714514f5e3Sopenharmony_ci vec.emplace_back(str, val); 45724514f5e3Sopenharmony_ci } 45734514f5e3Sopenharmony_ci } 45744514f5e3Sopenharmony_ci} 45754514f5e3Sopenharmony_ci 45764514f5e3Sopenharmony_civoid GlobalDictionary::DumpForSnapshot(std::vector<Reference> &vec) const 45774514f5e3Sopenharmony_ci{ 45784514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 45794514f5e3Sopenharmony_ci int size = Size(); 45804514f5e3Sopenharmony_ci vec.reserve(vec.size() + size); 45814514f5e3Sopenharmony_ci for (int hashIndex = 0; hashIndex < size; hashIndex++) { 45824514f5e3Sopenharmony_ci JSTaggedValue key(GetKey(hashIndex)); 45834514f5e3Sopenharmony_ci if (!key.IsUndefined() && !key.IsHole() && !key.IsNull()) { 45844514f5e3Sopenharmony_ci CString str; 45854514f5e3Sopenharmony_ci KeyToStd(str, key); 45864514f5e3Sopenharmony_ci JSTaggedValue val = GetValue(hashIndex); 45874514f5e3Sopenharmony_ci vec.emplace_back(str, val); 45884514f5e3Sopenharmony_ci } 45894514f5e3Sopenharmony_ci } 45904514f5e3Sopenharmony_ci} 45914514f5e3Sopenharmony_ci 45924514f5e3Sopenharmony_civoid LinkedHashSet::DumpForSnapshot(std::vector<Reference> &vec) const 45934514f5e3Sopenharmony_ci{ 45944514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 45954514f5e3Sopenharmony_ci int capacity = NumberOfElements() + NumberOfDeletedElements(); 45964514f5e3Sopenharmony_ci vec.reserve(vec.size() + capacity); 45974514f5e3Sopenharmony_ci for (int hashIndex = 0; hashIndex < capacity; hashIndex++) { 45984514f5e3Sopenharmony_ci JSTaggedValue key(GetKey(hashIndex)); 45994514f5e3Sopenharmony_ci if (!key.IsUndefined() && !key.IsHole() && !key.IsNull()) { 46004514f5e3Sopenharmony_ci CString str; 46014514f5e3Sopenharmony_ci KeyToStd(str, key); 46024514f5e3Sopenharmony_ci vec.emplace_back(str, JSTaggedValue::Hole()); 46034514f5e3Sopenharmony_ci } 46044514f5e3Sopenharmony_ci } 46054514f5e3Sopenharmony_ci} 46064514f5e3Sopenharmony_ci 46074514f5e3Sopenharmony_civoid LinkedHashMap::DumpForSnapshot(std::vector<Reference> &vec) const 46084514f5e3Sopenharmony_ci{ 46094514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 46104514f5e3Sopenharmony_ci int capacity = NumberOfElements() + NumberOfDeletedElements(); 46114514f5e3Sopenharmony_ci vec.reserve(vec.size() + capacity); 46124514f5e3Sopenharmony_ci for (int hashIndex = 0; hashIndex < capacity; hashIndex++) { 46134514f5e3Sopenharmony_ci JSTaggedValue key(GetKey(hashIndex)); 46144514f5e3Sopenharmony_ci if (!key.IsUndefined() && !key.IsHole() && !key.IsNull()) { 46154514f5e3Sopenharmony_ci JSTaggedValue val = GetValue(hashIndex); 46164514f5e3Sopenharmony_ci CString str; 46174514f5e3Sopenharmony_ci KeyToStd(str, key); 46184514f5e3Sopenharmony_ci vec.emplace_back(str, val); 46194514f5e3Sopenharmony_ci } 46204514f5e3Sopenharmony_ci } 46214514f5e3Sopenharmony_ci} 46224514f5e3Sopenharmony_ci 46234514f5e3Sopenharmony_civoid TaggedHashArray::Dump(std::ostream &os) const 46244514f5e3Sopenharmony_ci{ 46254514f5e3Sopenharmony_ci DumpArrayClass(this, os); 46264514f5e3Sopenharmony_ci} 46274514f5e3Sopenharmony_ci 46284514f5e3Sopenharmony_civoid TaggedHashArray::DumpForSnapshot(std::vector<Reference> &vec) const 46294514f5e3Sopenharmony_ci{ 46304514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 46314514f5e3Sopenharmony_ci int capacity = static_cast<int>(GetLength()); 46324514f5e3Sopenharmony_ci vec.reserve(vec.size() + capacity); 46334514f5e3Sopenharmony_ci for (int hashIndex = 0; hashIndex < capacity; hashIndex++) { 46344514f5e3Sopenharmony_ci JSTaggedValue value = Get(hashIndex); 46354514f5e3Sopenharmony_ci if (!value.IsUndefined() && !value.IsHole() && !value.IsNull()) { 46364514f5e3Sopenharmony_ci LinkedNode *node = LinkedNode::Cast(value.GetTaggedObject()); 46374514f5e3Sopenharmony_ci node->DumpForSnapshot(vec); 46384514f5e3Sopenharmony_ci } 46394514f5e3Sopenharmony_ci } 46404514f5e3Sopenharmony_ci} 46414514f5e3Sopenharmony_ci 46424514f5e3Sopenharmony_citemplate <typename T> 46434514f5e3Sopenharmony_civoid DumpForSnapshotTaggedTreeEntry(T tree, int index, std::vector<Reference> &vec, bool isMap = false) 46444514f5e3Sopenharmony_ci{ 46454514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 46464514f5e3Sopenharmony_ci if (isMap) { 46474514f5e3Sopenharmony_ci vec.emplace_back("key", JSTaggedValue(tree->GetKey(index))); 46484514f5e3Sopenharmony_ci } 46494514f5e3Sopenharmony_ci vec.emplace_back("value", JSTaggedValue(tree->GetValue(index))); 46504514f5e3Sopenharmony_ci vec.emplace_back("parent", JSTaggedValue(tree->GetParent(index))); 46514514f5e3Sopenharmony_ci vec.emplace_back("color", JSTaggedValue(static_cast<int>(tree->GetColor(index)))); 46524514f5e3Sopenharmony_ci vec.emplace_back("left", tree->GetLeftChild(index)); 46534514f5e3Sopenharmony_ci vec.emplace_back("right", tree->GetRightChild(index)); 46544514f5e3Sopenharmony_ci} 46554514f5e3Sopenharmony_ci 46564514f5e3Sopenharmony_civoid TaggedTreeMap::DumpForSnapshot(std::vector<Reference> &vec) const 46574514f5e3Sopenharmony_ci{ 46584514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 46594514f5e3Sopenharmony_ci vec.emplace_back("Elements", TaggedArray::Get(NUMBER_OF_ELEMENTS_INDEX)); 46604514f5e3Sopenharmony_ci vec.emplace_back("Delete", TaggedArray::Get(NUMBER_OF_HOLE_ENTRIES_INDEX)); 46614514f5e3Sopenharmony_ci vec.emplace_back("Capacity", TaggedArray::Get(CAPACITY_INDEX)); 46624514f5e3Sopenharmony_ci vec.emplace_back("RootNode", TaggedArray::Get(ROOT_INDEX)); 46634514f5e3Sopenharmony_ci vec.emplace_back("CompareFunction", TaggedArray::Get(COMPARE_FUNCTION_INDEX)); 46644514f5e3Sopenharmony_ci uint32_t capacity = NumberOfElements() + NumberOfDeletedElements(); 46654514f5e3Sopenharmony_ci vec.reserve(vec.size() + capacity); 46664514f5e3Sopenharmony_ci for (uint32_t index = 0; index < capacity; index++) { 46674514f5e3Sopenharmony_ci JSTaggedValue key(GetKey(index)); 46684514f5e3Sopenharmony_ci if (!key.IsUndefined() && !key.IsHole() && !key.IsNull()) { 46694514f5e3Sopenharmony_ci JSTaggedValue val = GetValue(index); 46704514f5e3Sopenharmony_ci CString str; 46714514f5e3Sopenharmony_ci KeyToStd(str, key); 46724514f5e3Sopenharmony_ci vec.emplace_back(str, val); 46734514f5e3Sopenharmony_ci } else { 46744514f5e3Sopenharmony_ci DumpForSnapshotTaggedTreeEntry(const_cast<TaggedTreeMap *>(this), index, vec, true); 46754514f5e3Sopenharmony_ci } 46764514f5e3Sopenharmony_ci } 46774514f5e3Sopenharmony_ci} 46784514f5e3Sopenharmony_ci 46794514f5e3Sopenharmony_civoid TaggedTreeSet::DumpForSnapshot(std::vector<Reference> &vec) const 46804514f5e3Sopenharmony_ci{ 46814514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 46824514f5e3Sopenharmony_ci vec.emplace_back("Elements", TaggedArray::Get(NUMBER_OF_ELEMENTS_INDEX)); 46834514f5e3Sopenharmony_ci vec.emplace_back("Delete", TaggedArray::Get(NUMBER_OF_HOLE_ENTRIES_INDEX)); 46844514f5e3Sopenharmony_ci vec.emplace_back("Capacity", TaggedArray::Get(CAPACITY_INDEX)); 46854514f5e3Sopenharmony_ci vec.emplace_back("RootNode", TaggedArray::Get(ROOT_INDEX)); 46864514f5e3Sopenharmony_ci vec.emplace_back("CompareFunction", TaggedArray::Get(COMPARE_FUNCTION_INDEX)); 46874514f5e3Sopenharmony_ci uint32_t capacity = NumberOfElements() + NumberOfDeletedElements(); 46884514f5e3Sopenharmony_ci vec.reserve(vec.size() + capacity); 46894514f5e3Sopenharmony_ci for (uint32_t index = 0; index < capacity; index++) { 46904514f5e3Sopenharmony_ci JSTaggedValue key(GetKey(index)); 46914514f5e3Sopenharmony_ci if (!key.IsUndefined() && !key.IsHole() && !key.IsNull()) { 46924514f5e3Sopenharmony_ci CString str; 46934514f5e3Sopenharmony_ci KeyToStd(str, key); 46944514f5e3Sopenharmony_ci vec.emplace_back(str, JSTaggedValue::Hole()); 46954514f5e3Sopenharmony_ci } else { 46964514f5e3Sopenharmony_ci DumpForSnapshotTaggedTreeEntry(const_cast<TaggedTreeSet *>(this), index, vec, true); 46974514f5e3Sopenharmony_ci } 46984514f5e3Sopenharmony_ci } 46994514f5e3Sopenharmony_ci} 47004514f5e3Sopenharmony_ci 47014514f5e3Sopenharmony_civoid TaggedDoubleList::DumpForSnapshot(std::vector<Reference> &vec) const 47024514f5e3Sopenharmony_ci{ 47034514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 47044514f5e3Sopenharmony_ci int capacity = NumberOfNodes(); 47054514f5e3Sopenharmony_ci vec.reserve(vec.size() + capacity); 47064514f5e3Sopenharmony_ci for (int index = 0; index < capacity; index++) { 47074514f5e3Sopenharmony_ci JSTaggedValue val = GetElement(index); 47084514f5e3Sopenharmony_ci CString str; 47094514f5e3Sopenharmony_ci KeyToStd(str, JSTaggedValue(index)); 47104514f5e3Sopenharmony_ci vec.emplace_back(str, val); 47114514f5e3Sopenharmony_ci } 47124514f5e3Sopenharmony_ci} 47134514f5e3Sopenharmony_ci 47144514f5e3Sopenharmony_civoid TaggedSingleList::DumpForSnapshot(std::vector<Reference> &vec) const 47154514f5e3Sopenharmony_ci{ 47164514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 47174514f5e3Sopenharmony_ci int capacity = NumberOfNodes(); 47184514f5e3Sopenharmony_ci vec.reserve(vec.size() + capacity); 47194514f5e3Sopenharmony_ci for (int index = 0; index < capacity; index++) { 47204514f5e3Sopenharmony_ci JSTaggedValue val = GetElement(index); 47214514f5e3Sopenharmony_ci CString str; 47224514f5e3Sopenharmony_ci KeyToStd(str, JSTaggedValue(index)); 47234514f5e3Sopenharmony_ci vec.emplace_back(str, val); 47244514f5e3Sopenharmony_ci } 47254514f5e3Sopenharmony_ci} 47264514f5e3Sopenharmony_ci 47274514f5e3Sopenharmony_civoid JSObject::DumpForSnapshot(std::vector<Reference> &vec) const 47284514f5e3Sopenharmony_ci{ 47294514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 47304514f5e3Sopenharmony_ci JSHClass *jshclass = GetJSHClass(); 47314514f5e3Sopenharmony_ci if (jshclass != nullptr) { 47324514f5e3Sopenharmony_ci vec.emplace_back(CString("__proto__"), jshclass->GetPrototype()); 47334514f5e3Sopenharmony_ci } 47344514f5e3Sopenharmony_ci vec.emplace_back(CString("ArkInternalHash"), JSTaggedValue(GetHash())); 47354514f5e3Sopenharmony_ci 47364514f5e3Sopenharmony_ci TaggedArray *elements = TaggedArray::Cast(GetElements().GetTaggedObject()); 47374514f5e3Sopenharmony_ci vec.emplace_back("(object elements)", JSTaggedValue(elements)); 47384514f5e3Sopenharmony_ci if (elements->GetLength() == 0) { 47394514f5e3Sopenharmony_ci } else if (!elements->IsDictionaryMode()) { 47404514f5e3Sopenharmony_ci DumpElementClass(elements, vec); 47414514f5e3Sopenharmony_ci } else { 47424514f5e3Sopenharmony_ci NumberDictionary *dict = NumberDictionary::Cast(elements); 47434514f5e3Sopenharmony_ci dict->DumpForSnapshot(vec); 47444514f5e3Sopenharmony_ci } 47454514f5e3Sopenharmony_ci 47464514f5e3Sopenharmony_ci TaggedArray *properties = TaggedArray::Cast(GetProperties().GetTaggedObject()); 47474514f5e3Sopenharmony_ci if (IsJSGlobalObject()) { 47484514f5e3Sopenharmony_ci GlobalDictionary *dict = GlobalDictionary::Cast(properties); 47494514f5e3Sopenharmony_ci dict->DumpForSnapshot(vec); 47504514f5e3Sopenharmony_ci return; 47514514f5e3Sopenharmony_ci } 47524514f5e3Sopenharmony_ci vec.emplace_back("(object properties)", JSTaggedValue(properties)); 47534514f5e3Sopenharmony_ci if ((!properties->IsDictionaryMode()) && (jshclass != nullptr)) { 47544514f5e3Sopenharmony_ci JSTaggedValue attrs = jshclass->GetLayout(); 47554514f5e3Sopenharmony_ci if (attrs.IsNull()) { 47564514f5e3Sopenharmony_ci return; 47574514f5e3Sopenharmony_ci } 47584514f5e3Sopenharmony_ci 47594514f5e3Sopenharmony_ci LayoutInfo *layoutInfo = LayoutInfo::Cast(attrs.GetTaggedObject()); 47604514f5e3Sopenharmony_ci int propNumber = static_cast<int>(jshclass->NumberOfProps()); 47614514f5e3Sopenharmony_ci vec.reserve(vec.size() + propNumber); 47624514f5e3Sopenharmony_ci for (int i = 0; i < propNumber; i++) { 47634514f5e3Sopenharmony_ci JSTaggedValue key = layoutInfo->GetKey(i); 47644514f5e3Sopenharmony_ci PropertyAttributes attr = layoutInfo->GetAttr(i); 47654514f5e3Sopenharmony_ci ASSERT(i == static_cast<int>(attr.GetOffset())); 47664514f5e3Sopenharmony_ci JSTaggedValue val; 47674514f5e3Sopenharmony_ci if (attr.IsInlinedProps()) { 47684514f5e3Sopenharmony_ci val = GetPropertyInlinedPropsWithRep(i, attr); 47694514f5e3Sopenharmony_ci } else { 47704514f5e3Sopenharmony_ci val = properties->Get(i - static_cast<int>(jshclass->GetInlinedProperties())); 47714514f5e3Sopenharmony_ci } 47724514f5e3Sopenharmony_ci 47734514f5e3Sopenharmony_ci CString str; 47744514f5e3Sopenharmony_ci KeyToStd(str, key); 47754514f5e3Sopenharmony_ci vec.emplace_back(str, val); 47764514f5e3Sopenharmony_ci } 47774514f5e3Sopenharmony_ci } else { 47784514f5e3Sopenharmony_ci NameDictionary *dict = NameDictionary::Cast(properties); 47794514f5e3Sopenharmony_ci dict->DumpForSnapshot(vec); 47804514f5e3Sopenharmony_ci } 47814514f5e3Sopenharmony_ci} 47824514f5e3Sopenharmony_ci 47834514f5e3Sopenharmony_civoid JSHClass::DumpForSnapshot([[maybe_unused]] std::vector<Reference> &vec) const 47844514f5e3Sopenharmony_ci{ 47854514f5e3Sopenharmony_ci vec.emplace_back(CString("__proto__"), GetPrototype()); 47864514f5e3Sopenharmony_ci vec.emplace_back(CString("Layout"), GetLayout()); 47874514f5e3Sopenharmony_ci vec.emplace_back(CString("Transitions"), GetTransitions()); 47884514f5e3Sopenharmony_ci vec.emplace_back(CString("Parent"), GetParent()); 47894514f5e3Sopenharmony_ci vec.emplace_back(CString("ProtoChangeMarker"), GetProtoChangeMarker()); 47904514f5e3Sopenharmony_ci vec.emplace_back(CString("ProtoChangeDetails"), GetProtoChangeDetails()); 47914514f5e3Sopenharmony_ci vec.emplace_back(CString("EnumCache"), GetEnumCache()); 47924514f5e3Sopenharmony_ci vec.emplace_back(CString("BitField"), JSTaggedValue(GetBitField())); 47934514f5e3Sopenharmony_ci vec.emplace_back(CString("BitField1"), JSTaggedValue(GetBitField1())); 47944514f5e3Sopenharmony_ci} 47954514f5e3Sopenharmony_ci 47964514f5e3Sopenharmony_civoid JSFunction::DumpForSnapshot(std::vector<Reference> &vec) const 47974514f5e3Sopenharmony_ci{ 47984514f5e3Sopenharmony_ci vec.emplace_back(CString("ProtoOrHClass"), GetProtoOrHClass()); 47994514f5e3Sopenharmony_ci vec.emplace_back(CString("LexicalEnv"), GetLexicalEnv()); 48004514f5e3Sopenharmony_ci vec.emplace_back(CString("RawProfileTypeInfo"), GetRawProfileTypeInfo()); 48014514f5e3Sopenharmony_ci vec.emplace_back(CString("HomeObject"), GetHomeObject()); 48024514f5e3Sopenharmony_ci vec.emplace_back(CString("Module"), GetModule()); 48034514f5e3Sopenharmony_ci vec.emplace_back(CString("ProtoTransRootHClass"), GetProtoTransRootHClass()); 48044514f5e3Sopenharmony_ci vec.emplace_back(CString("Method"), GetMethod()); 48054514f5e3Sopenharmony_ci if ((!GetMethod().IsNull()) && (!GetMethod().IsUndefined())) { 48064514f5e3Sopenharmony_ci vec.emplace_back(CString("FunctionKind"), JSTaggedValue(static_cast<int>(GetFunctionKind()))); 48074514f5e3Sopenharmony_ci } 48084514f5e3Sopenharmony_ci vec.emplace_back(CString("FunctionExtraInfo"), GetFunctionExtraInfo()); 48094514f5e3Sopenharmony_ci vec.emplace_back(CString("Method"), GetMethod()); 48104514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 48114514f5e3Sopenharmony_ci} 48124514f5e3Sopenharmony_ci 48134514f5e3Sopenharmony_civoid Method::DumpForSnapshot(std::vector<Reference> &vec) const 48144514f5e3Sopenharmony_ci{ 48154514f5e3Sopenharmony_ci vec.emplace_back(CString("MethodName"), JSTaggedValue(GetMethodName())); 48164514f5e3Sopenharmony_ci vec.emplace_back(CString("ConstantPool"), GetConstantPool()); 48174514f5e3Sopenharmony_ci} 48184514f5e3Sopenharmony_ci 48194514f5e3Sopenharmony_civoid Program::DumpForSnapshot(std::vector<Reference> &vec) const 48204514f5e3Sopenharmony_ci{ 48214514f5e3Sopenharmony_ci vec.emplace_back(CString("MainFunction"), GetMainFunction()); 48224514f5e3Sopenharmony_ci} 48234514f5e3Sopenharmony_ci 48244514f5e3Sopenharmony_civoid LinkedNode::DumpForSnapshot(std::vector<Reference> &vec) const 48254514f5e3Sopenharmony_ci{ 48264514f5e3Sopenharmony_ci JSTaggedValue next = GetNext(); 48274514f5e3Sopenharmony_ci if (next.IsUndefined() && !next.IsHole() && !next.IsNull()) { 48284514f5e3Sopenharmony_ci LinkedNode *nextNode = LinkedNode::Cast(next.GetTaggedObject()); 48294514f5e3Sopenharmony_ci nextNode->DumpForSnapshot(vec); 48304514f5e3Sopenharmony_ci } 48314514f5e3Sopenharmony_ci JSTaggedValue key = GetKey(); 48324514f5e3Sopenharmony_ci CString str; 48334514f5e3Sopenharmony_ci KeyToStd(str, key); 48344514f5e3Sopenharmony_ci vec.emplace_back(str, GetValue()); 48354514f5e3Sopenharmony_ci} 48364514f5e3Sopenharmony_ci 48374514f5e3Sopenharmony_civoid ConstantPool::DumpForSnapshot(std::vector<Reference> &vec) const 48384514f5e3Sopenharmony_ci{ 48394514f5e3Sopenharmony_ci DumpArrayClass(this, vec); 48404514f5e3Sopenharmony_ci} 48414514f5e3Sopenharmony_ci 48424514f5e3Sopenharmony_civoid ProfileTypeInfoCell::DumpForSnapshot(std::vector<Reference> &vec) const 48434514f5e3Sopenharmony_ci{ 48444514f5e3Sopenharmony_ci vec.emplace_back(CString("Value"), GetValue()); 48454514f5e3Sopenharmony_ci vec.emplace_back(CString("Handle"), GetHandle()); 48464514f5e3Sopenharmony_ci} 48474514f5e3Sopenharmony_ci 48484514f5e3Sopenharmony_civoid FunctionTemplate::DumpForSnapshot(std::vector<Reference> &vec) const 48494514f5e3Sopenharmony_ci{ 48504514f5e3Sopenharmony_ci vec.emplace_back(CString("Method"), GetMethod()); 48514514f5e3Sopenharmony_ci vec.emplace_back(CString("Module"), GetModule()); 48524514f5e3Sopenharmony_ci vec.emplace_back(CString("RawProfileTypeInfo"), GetRawProfileTypeInfo()); 48534514f5e3Sopenharmony_ci vec.emplace_back(CString("Length"), JSTaggedValue(GetLength())); 48544514f5e3Sopenharmony_ci} 48554514f5e3Sopenharmony_ci 48564514f5e3Sopenharmony_civoid ExtraProfileTypeInfo::DumpForSnapshot(std::vector<Reference> &vec) const 48574514f5e3Sopenharmony_ci{ 48584514f5e3Sopenharmony_ci vec.emplace_back(CString("Receiver"), GetReceiverObject()); 48594514f5e3Sopenharmony_ci vec.emplace_back(CString("Holder"), GetHolderObject()); 48604514f5e3Sopenharmony_ci} 48614514f5e3Sopenharmony_ci 48624514f5e3Sopenharmony_civoid VTable::DumpForSnapshot(std::vector<Reference> &vec) const 48634514f5e3Sopenharmony_ci{ 48644514f5e3Sopenharmony_ci DumpArrayClass(this, vec); 48654514f5e3Sopenharmony_ci} 48664514f5e3Sopenharmony_ci 48674514f5e3Sopenharmony_civoid ProfileTypeInfo::DumpForSnapshot(std::vector<Reference> &vec) const 48684514f5e3Sopenharmony_ci{ 48694514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 48704514f5e3Sopenharmony_ci uint32_t len = GetIcSlotLength(); 48714514f5e3Sopenharmony_ci vec.reserve(vec.size() + len); 48724514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 48734514f5e3Sopenharmony_ci JSTaggedValue val(Get(i)); 48744514f5e3Sopenharmony_ci CString str = ToCString(i); 48754514f5e3Sopenharmony_ci vec.emplace_back(str, val); 48764514f5e3Sopenharmony_ci } 48774514f5e3Sopenharmony_ci} 48784514f5e3Sopenharmony_ci 48794514f5e3Sopenharmony_civoid COWTaggedArray::DumpForSnapshot(std::vector<Reference> &vec) const 48804514f5e3Sopenharmony_ci{ 48814514f5e3Sopenharmony_ci DumpArrayClass(this, vec); 48824514f5e3Sopenharmony_ci} 48834514f5e3Sopenharmony_ci 48844514f5e3Sopenharmony_civoid MutantTaggedArray::DumpForSnapshot(std::vector<Reference> &vec) const 48854514f5e3Sopenharmony_ci{ 48864514f5e3Sopenharmony_ci DumpMutantTaggedArrayClass(this, vec); 48874514f5e3Sopenharmony_ci} 48884514f5e3Sopenharmony_ci 48894514f5e3Sopenharmony_civoid COWMutantTaggedArray::DumpForSnapshot(std::vector<Reference> &vec) const 48904514f5e3Sopenharmony_ci{ 48914514f5e3Sopenharmony_ci DumpCOWMutantTaggedArrayClass(this, vec); 48924514f5e3Sopenharmony_ci} 48934514f5e3Sopenharmony_ci 48944514f5e3Sopenharmony_civoid JSBoundFunction::DumpForSnapshot(std::vector<Reference> &vec) const 48954514f5e3Sopenharmony_ci{ 48964514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 48974514f5e3Sopenharmony_ci 48984514f5e3Sopenharmony_ci vec.emplace_back(CString("BoundTarget"), GetBoundTarget()); 48994514f5e3Sopenharmony_ci vec.emplace_back(CString("BoundThis"), GetBoundThis()); 49004514f5e3Sopenharmony_ci vec.emplace_back(CString("BoundArguments"), GetBoundArguments()); 49014514f5e3Sopenharmony_ci} 49024514f5e3Sopenharmony_ci 49034514f5e3Sopenharmony_civoid JSPrimitiveRef::DumpForSnapshot(std::vector<Reference> &vec) const 49044514f5e3Sopenharmony_ci{ 49054514f5e3Sopenharmony_ci vec.emplace_back(CString("subValue"), GetValue()); 49064514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 49074514f5e3Sopenharmony_ci} 49084514f5e3Sopenharmony_ci 49094514f5e3Sopenharmony_civoid BigInt::DumpForSnapshot(std::vector<Reference> &vec) const 49104514f5e3Sopenharmony_ci{ 49114514f5e3Sopenharmony_ci vec.emplace_back(CString("Length"), JSTaggedValue(GetLength())); 49124514f5e3Sopenharmony_ci vec.emplace_back(CString("Sign"), JSTaggedValue(GetSign())); 49134514f5e3Sopenharmony_ci} 49144514f5e3Sopenharmony_ci 49154514f5e3Sopenharmony_civoid JSDate::DumpForSnapshot(std::vector<Reference> &vec) const 49164514f5e3Sopenharmony_ci{ 49174514f5e3Sopenharmony_ci vec.emplace_back(CString("time"), GetTime()); 49184514f5e3Sopenharmony_ci vec.emplace_back(CString("localOffset"), GetLocalOffset()); 49194514f5e3Sopenharmony_ci 49204514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 49214514f5e3Sopenharmony_ci} 49224514f5e3Sopenharmony_ci 49234514f5e3Sopenharmony_civoid JSMap::DumpForSnapshot(std::vector<Reference> &vec) const 49244514f5e3Sopenharmony_ci{ 49254514f5e3Sopenharmony_ci if (!(GetLinkedMap().IsInvalidValue())) { 49264514f5e3Sopenharmony_ci LinkedHashMap *map = LinkedHashMap::Cast(GetLinkedMap().GetTaggedObject()); 49274514f5e3Sopenharmony_ci vec.emplace_back("linkedmap", GetLinkedMap()); 49284514f5e3Sopenharmony_ci map->DumpForSnapshot(vec); 49294514f5e3Sopenharmony_ci } 49304514f5e3Sopenharmony_ci 49314514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 49324514f5e3Sopenharmony_ci} 49334514f5e3Sopenharmony_ci 49344514f5e3Sopenharmony_civoid JSSharedMap::DumpForSnapshot(std::vector<Reference> &vec) const 49354514f5e3Sopenharmony_ci{ 49364514f5e3Sopenharmony_ci LinkedHashMap *map = LinkedHashMap::Cast(GetLinkedMap().GetTaggedObject()); 49374514f5e3Sopenharmony_ci vec.emplace_back("linkedmap", GetLinkedMap()); 49384514f5e3Sopenharmony_ci vec.emplace_back("ModRecord", JSTaggedValue(GetModRecord())); 49394514f5e3Sopenharmony_ci map->DumpForSnapshot(vec); 49404514f5e3Sopenharmony_ci 49414514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 49424514f5e3Sopenharmony_ci} 49434514f5e3Sopenharmony_ci 49444514f5e3Sopenharmony_civoid JSForInIterator::DumpForSnapshot(std::vector<Reference> &vec) const 49454514f5e3Sopenharmony_ci{ 49464514f5e3Sopenharmony_ci vec.emplace_back(CString("Object"), GetObject()); 49474514f5e3Sopenharmony_ci vec.emplace_back(CString("CachedHclass"), GetCachedHclass()); 49484514f5e3Sopenharmony_ci vec.emplace_back(CString("Keys"), GetKeys()); 49494514f5e3Sopenharmony_ci vec.emplace_back(CString("Index"), JSTaggedValue(GetIndex())); 49504514f5e3Sopenharmony_ci vec.emplace_back(CString("Length"), JSTaggedValue(GetLength())); 49514514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 49524514f5e3Sopenharmony_ci} 49534514f5e3Sopenharmony_ci 49544514f5e3Sopenharmony_civoid JSMapIterator::DumpForSnapshot(std::vector<Reference> &vec) const 49554514f5e3Sopenharmony_ci{ 49564514f5e3Sopenharmony_ci if (!(GetIteratedMap().IsInvalidValue())) { 49574514f5e3Sopenharmony_ci LinkedHashMap *map = LinkedHashMap::Cast(GetIteratedMap().GetTaggedObject()); 49584514f5e3Sopenharmony_ci vec.emplace_back("iteratedmap", GetIteratedMap()); 49594514f5e3Sopenharmony_ci map->DumpForSnapshot(vec); 49604514f5e3Sopenharmony_ci } 49614514f5e3Sopenharmony_ci 49624514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 49634514f5e3Sopenharmony_ci vec.emplace_back(CString("IterationKind"), JSTaggedValue(static_cast<int>(GetIterationKind()))); 49644514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 49654514f5e3Sopenharmony_ci} 49664514f5e3Sopenharmony_ci 49674514f5e3Sopenharmony_civoid JSSharedMapIterator::DumpForSnapshot(std::vector<Reference> &vec) const 49684514f5e3Sopenharmony_ci{ 49694514f5e3Sopenharmony_ci JSSharedMap *iteratedMap = JSSharedMap::Cast(GetIteratedMap().GetTaggedObject()); 49704514f5e3Sopenharmony_ci LinkedHashMap *map = LinkedHashMap::Cast(iteratedMap->GetLinkedMap().GetTaggedObject()); 49714514f5e3Sopenharmony_ci vec.emplace_back("iteratedmap", GetIteratedMap()); 49724514f5e3Sopenharmony_ci map->DumpForSnapshot(vec); 49734514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 49744514f5e3Sopenharmony_ci vec.emplace_back(CString("IterationKind"), JSTaggedValue(static_cast<int>(GetIterationKind()))); 49754514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 49764514f5e3Sopenharmony_ci} 49774514f5e3Sopenharmony_ci 49784514f5e3Sopenharmony_civoid JSSet::DumpForSnapshot(std::vector<Reference> &vec) const 49794514f5e3Sopenharmony_ci{ 49804514f5e3Sopenharmony_ci if (!(GetLinkedSet().IsInvalidValue())) { 49814514f5e3Sopenharmony_ci LinkedHashSet *set = LinkedHashSet::Cast(GetLinkedSet().GetTaggedObject()); 49824514f5e3Sopenharmony_ci vec.emplace_back("linkedset", GetLinkedSet()); 49834514f5e3Sopenharmony_ci set->DumpForSnapshot(vec); 49844514f5e3Sopenharmony_ci } 49854514f5e3Sopenharmony_ci 49864514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 49874514f5e3Sopenharmony_ci} 49884514f5e3Sopenharmony_ci 49894514f5e3Sopenharmony_civoid JSSharedSet::DumpForSnapshot(std::vector<Reference> &vec) const 49904514f5e3Sopenharmony_ci{ 49914514f5e3Sopenharmony_ci LinkedHashSet *set = LinkedHashSet::Cast(GetLinkedSet().GetTaggedObject()); 49924514f5e3Sopenharmony_ci vec.emplace_back("linkedset", GetLinkedSet()); 49934514f5e3Sopenharmony_ci vec.emplace_back("ModRecord", JSTaggedValue(GetModRecord())); 49944514f5e3Sopenharmony_ci set->DumpForSnapshot(vec); 49954514f5e3Sopenharmony_ci 49964514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 49974514f5e3Sopenharmony_ci} 49984514f5e3Sopenharmony_ci 49994514f5e3Sopenharmony_civoid JSWeakMap::DumpForSnapshot(std::vector<Reference> &vec) const 50004514f5e3Sopenharmony_ci{ 50014514f5e3Sopenharmony_ci if (!(GetLinkedMap().IsInvalidValue())) { 50024514f5e3Sopenharmony_ci LinkedHashMap *map = LinkedHashMap::Cast(GetLinkedMap().GetTaggedObject()); 50034514f5e3Sopenharmony_ci vec.emplace_back("linkedmap", GetLinkedMap()); 50044514f5e3Sopenharmony_ci map->DumpForSnapshot(vec); 50054514f5e3Sopenharmony_ci } 50064514f5e3Sopenharmony_ci 50074514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 50084514f5e3Sopenharmony_ci} 50094514f5e3Sopenharmony_ci 50104514f5e3Sopenharmony_civoid JSWeakSet::DumpForSnapshot(std::vector<Reference> &vec) const 50114514f5e3Sopenharmony_ci{ 50124514f5e3Sopenharmony_ci if (!(GetLinkedSet().IsInvalidValue())) { 50134514f5e3Sopenharmony_ci LinkedHashSet *set = LinkedHashSet::Cast(GetLinkedSet().GetTaggedObject()); 50144514f5e3Sopenharmony_ci vec.emplace_back("linkeset", GetLinkedSet()); 50154514f5e3Sopenharmony_ci set->DumpForSnapshot(vec); 50164514f5e3Sopenharmony_ci } 50174514f5e3Sopenharmony_ci 50184514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 50194514f5e3Sopenharmony_ci} 50204514f5e3Sopenharmony_ci 50214514f5e3Sopenharmony_civoid JSWeakRef::DumpForSnapshot(std::vector<Reference> &vec) const 50224514f5e3Sopenharmony_ci{ 50234514f5e3Sopenharmony_ci vec.emplace_back(CString("WeakObject"), GetWeakObject()); 50244514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 50254514f5e3Sopenharmony_ci} 50264514f5e3Sopenharmony_ci 50274514f5e3Sopenharmony_civoid JSFinalizationRegistry::DumpForSnapshot(std::vector<Reference> &vec) const 50284514f5e3Sopenharmony_ci{ 50294514f5e3Sopenharmony_ci vec.emplace_back(CString("CleanupCallback"), GetCleanupCallback()); 50304514f5e3Sopenharmony_ci if (!(GetMaybeUnregister().IsInvalidValue())) { 50314514f5e3Sopenharmony_ci LinkedHashMap *map = LinkedHashMap::Cast(GetMaybeUnregister().GetTaggedObject()); 50324514f5e3Sopenharmony_ci map->DumpForSnapshot(vec); 50334514f5e3Sopenharmony_ci } 50344514f5e3Sopenharmony_ci 50354514f5e3Sopenharmony_ci vec.emplace_back(CString("MaybeUnregister"), GetMaybeUnregister()); 50364514f5e3Sopenharmony_ci vec.emplace_back(CString("Next"), GetNext()); 50374514f5e3Sopenharmony_ci vec.emplace_back(CString("Prev"), GetPrev()); 50384514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 50394514f5e3Sopenharmony_ci} 50404514f5e3Sopenharmony_ci 50414514f5e3Sopenharmony_civoid CellRecord::DumpForSnapshot(std::vector<Reference> &vec) const 50424514f5e3Sopenharmony_ci{ 50434514f5e3Sopenharmony_ci vec.emplace_back(CString("WeakRefTarget"), GetWeakRefTarget()); 50444514f5e3Sopenharmony_ci vec.emplace_back(CString("HeldValue"), GetHeldValue()); 50454514f5e3Sopenharmony_ci} 50464514f5e3Sopenharmony_ci 50474514f5e3Sopenharmony_civoid JSSetIterator::DumpForSnapshot(std::vector<Reference> &vec) const 50484514f5e3Sopenharmony_ci{ 50494514f5e3Sopenharmony_ci if (!(GetIteratedSet().IsInvalidValue())) { 50504514f5e3Sopenharmony_ci LinkedHashSet *set = LinkedHashSet::Cast(GetIteratedSet().GetTaggedObject()); 50514514f5e3Sopenharmony_ci vec.emplace_back("iteratedset", GetIteratedSet()); 50524514f5e3Sopenharmony_ci set->DumpForSnapshot(vec); 50534514f5e3Sopenharmony_ci } 50544514f5e3Sopenharmony_ci 50554514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 50564514f5e3Sopenharmony_ci vec.emplace_back(CString("IterationKind"), JSTaggedValue(static_cast<int>(GetIterationKind()))); 50574514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 50584514f5e3Sopenharmony_ci} 50594514f5e3Sopenharmony_ci 50604514f5e3Sopenharmony_civoid JSSharedSetIterator::DumpForSnapshot(std::vector<Reference> &vec) const 50614514f5e3Sopenharmony_ci{ 50624514f5e3Sopenharmony_ci JSSharedSet *iteratedSet = JSSharedSet::Cast(GetIteratedSet().GetTaggedObject()); 50634514f5e3Sopenharmony_ci LinkedHashSet *set = LinkedHashSet::Cast(iteratedSet->GetLinkedSet().GetTaggedObject()); 50644514f5e3Sopenharmony_ci vec.emplace_back("iteratedset", GetIteratedSet()); 50654514f5e3Sopenharmony_ci set->DumpForSnapshot(vec); 50664514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 50674514f5e3Sopenharmony_ci vec.emplace_back(CString("IterationKind"), JSTaggedValue(static_cast<int>(GetIterationKind()))); 50684514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 50694514f5e3Sopenharmony_ci} 50704514f5e3Sopenharmony_ci 50714514f5e3Sopenharmony_civoid JSArray::DumpForSnapshot(std::vector<Reference> &vec) const 50724514f5e3Sopenharmony_ci{ 50734514f5e3Sopenharmony_ci vec.emplace_back(CString("Length"), JSTaggedValue(GetLength())); 50744514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 50754514f5e3Sopenharmony_ci} 50764514f5e3Sopenharmony_ci 50774514f5e3Sopenharmony_civoid JSSharedArray::DumpForSnapshot(std::vector<Reference> &vec) const 50784514f5e3Sopenharmony_ci{ 50794514f5e3Sopenharmony_ci vec.emplace_back("ModRecord: ", JSTaggedValue(GetModRecord())); 50804514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 50814514f5e3Sopenharmony_ci} 50824514f5e3Sopenharmony_ci 50834514f5e3Sopenharmony_civoid JSAPIArrayList::DumpForSnapshot(std::vector<Reference> &vec) const 50844514f5e3Sopenharmony_ci{ 50854514f5e3Sopenharmony_ci vec.emplace_back(CString("Length"), JSTaggedValue(GetLength())); 50864514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 50874514f5e3Sopenharmony_ci} 50884514f5e3Sopenharmony_ci 50894514f5e3Sopenharmony_civoid JSAPIArrayListIterator::DumpForSnapshot(std::vector<Reference> &vec) const 50904514f5e3Sopenharmony_ci{ 50914514f5e3Sopenharmony_ci if (!(GetIteratedArrayList().IsInvalidValue())) { 50924514f5e3Sopenharmony_ci JSAPIArrayList *arraylist = JSAPIArrayList::Cast(GetIteratedArrayList().GetTaggedObject()); 50934514f5e3Sopenharmony_ci vec.emplace_back("iteratedlist", GetIteratedArrayList()); 50944514f5e3Sopenharmony_ci arraylist->DumpForSnapshot(vec); 50954514f5e3Sopenharmony_ci } 50964514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 50974514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 50984514f5e3Sopenharmony_ci} 50994514f5e3Sopenharmony_ci 51004514f5e3Sopenharmony_civoid JSAPILightWeightMap::DumpForSnapshot(std::vector<Reference> &vec) const 51014514f5e3Sopenharmony_ci{ 51024514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 51034514f5e3Sopenharmony_ci vec.emplace_back("Hashes", GetHashes()); 51044514f5e3Sopenharmony_ci TaggedArray *keys = TaggedArray::Cast(GetKeys().GetTaggedObject()); 51054514f5e3Sopenharmony_ci TaggedArray *values = TaggedArray::Cast(GetValues().GetTaggedObject()); 51064514f5e3Sopenharmony_ci uint32_t len = static_cast<uint32_t>(GetLength()); 51074514f5e3Sopenharmony_ci vec.reserve(vec.size() + len); 51084514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 51094514f5e3Sopenharmony_ci CString str; 51104514f5e3Sopenharmony_ci KeyToStd(str, keys->Get(i)); 51114514f5e3Sopenharmony_ci vec.emplace_back(str, values->Get(i)); 51124514f5e3Sopenharmony_ci } 51134514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 51144514f5e3Sopenharmony_ci} 51154514f5e3Sopenharmony_ci 51164514f5e3Sopenharmony_civoid JSAPILightWeightMapIterator::DumpForSnapshot(std::vector<Reference> &vec) const 51174514f5e3Sopenharmony_ci{ 51184514f5e3Sopenharmony_ci if (!(GetIteratedLightWeightMap().IsInvalidValue())) { 51194514f5e3Sopenharmony_ci JSAPILightWeightMap *map = 51204514f5e3Sopenharmony_ci JSAPILightWeightMap::Cast(GetIteratedLightWeightMap().GetTaggedObject()); 51214514f5e3Sopenharmony_ci vec.emplace_back("iteratedmap", GetIteratedLightWeightMap()); 51224514f5e3Sopenharmony_ci map->DumpForSnapshot(vec); 51234514f5e3Sopenharmony_ci } 51244514f5e3Sopenharmony_ci 51254514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 51264514f5e3Sopenharmony_ci vec.emplace_back(CString("IterationKind"), JSTaggedValue(static_cast<int>(GetIterationKind()))); 51274514f5e3Sopenharmony_ci vec.emplace_back(CString("BitField"), JSTaggedValue(GetBitField())); 51284514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 51294514f5e3Sopenharmony_ci} 51304514f5e3Sopenharmony_ci 51314514f5e3Sopenharmony_civoid JSAPIQueue::DumpForSnapshot(std::vector<Reference> &vec) const 51324514f5e3Sopenharmony_ci{ 51334514f5e3Sopenharmony_ci vec.emplace_back(CString("Length"), JSTaggedValue(GetLength())); 51344514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 51354514f5e3Sopenharmony_ci} 51364514f5e3Sopenharmony_ci 51374514f5e3Sopenharmony_civoid JSAPIQueueIterator::DumpForSnapshot(std::vector<Reference> &vec) const 51384514f5e3Sopenharmony_ci{ 51394514f5e3Sopenharmony_ci if (!(GetIteratedQueue().IsInvalidValue())) { 51404514f5e3Sopenharmony_ci JSAPIQueue *queue = JSAPIQueue::Cast(GetIteratedQueue().GetTaggedObject()); 51414514f5e3Sopenharmony_ci vec.emplace_back("iteratedqueue", GetIteratedQueue()); 51424514f5e3Sopenharmony_ci queue->DumpForSnapshot(vec); 51434514f5e3Sopenharmony_ci } 51444514f5e3Sopenharmony_ci 51454514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 51464514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 51474514f5e3Sopenharmony_ci} 51484514f5e3Sopenharmony_ci 51494514f5e3Sopenharmony_civoid JSAPIDeque::DumpForSnapshot(std::vector<Reference> &vec) const 51504514f5e3Sopenharmony_ci{ 51514514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 51524514f5e3Sopenharmony_ci} 51534514f5e3Sopenharmony_ci 51544514f5e3Sopenharmony_civoid JSAPIDequeIterator::DumpForSnapshot(std::vector<Reference> &vec) const 51554514f5e3Sopenharmony_ci{ 51564514f5e3Sopenharmony_ci if (!(GetIteratedDeque().IsInvalidValue())) { 51574514f5e3Sopenharmony_ci JSAPIDeque *deque = JSAPIDeque::Cast(GetIteratedDeque().GetTaggedObject()); 51584514f5e3Sopenharmony_ci vec.emplace_back("iterateddeque", GetIteratedDeque()); 51594514f5e3Sopenharmony_ci deque->DumpForSnapshot(vec); 51604514f5e3Sopenharmony_ci } 51614514f5e3Sopenharmony_ci 51624514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 51634514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 51644514f5e3Sopenharmony_ci} 51654514f5e3Sopenharmony_ci 51664514f5e3Sopenharmony_civoid JSAPILightWeightSet::DumpForSnapshot(std::vector<Reference> &vec) const 51674514f5e3Sopenharmony_ci{ 51684514f5e3Sopenharmony_ci DISALLOW_GARBAGE_COLLECTION; 51694514f5e3Sopenharmony_ci TaggedArray *hashes = TaggedArray::Cast(GetHashes().GetTaggedObject()); 51704514f5e3Sopenharmony_ci TaggedArray *values = TaggedArray::Cast(GetValues().GetTaggedObject()); 51714514f5e3Sopenharmony_ci uint32_t len = GetLength(); 51724514f5e3Sopenharmony_ci vec.reserve(vec.size() + len); 51734514f5e3Sopenharmony_ci for (uint32_t i = 0; i < len; i++) { 51744514f5e3Sopenharmony_ci CString str; 51754514f5e3Sopenharmony_ci KeyToStd(str, hashes->Get(i)); 51764514f5e3Sopenharmony_ci vec.emplace_back(str, values->Get(i)); 51774514f5e3Sopenharmony_ci } 51784514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 51794514f5e3Sopenharmony_ci} 51804514f5e3Sopenharmony_ci 51814514f5e3Sopenharmony_civoid JSAPILightWeightSetIterator::DumpForSnapshot(std::vector<Reference> &vec) const 51824514f5e3Sopenharmony_ci{ 51834514f5e3Sopenharmony_ci if (!(GetIteratedLightWeightSet().IsInvalidValue())) { 51844514f5e3Sopenharmony_ci JSAPILightWeightSet *set = 51854514f5e3Sopenharmony_ci JSAPILightWeightSet::Cast(GetIteratedLightWeightSet().GetTaggedObject()); 51864514f5e3Sopenharmony_ci vec.emplace_back("iteratedset", GetIteratedLightWeightSet()); 51874514f5e3Sopenharmony_ci set->DumpForSnapshot(vec); 51884514f5e3Sopenharmony_ci } 51894514f5e3Sopenharmony_ci 51904514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 51914514f5e3Sopenharmony_ci vec.emplace_back(CString("IterationKind"), JSTaggedValue(static_cast<int>(GetIterationKind()))); 51924514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 51934514f5e3Sopenharmony_ci} 51944514f5e3Sopenharmony_ci 51954514f5e3Sopenharmony_civoid JSAPIStack::DumpForSnapshot(std::vector<Reference> &vec) const 51964514f5e3Sopenharmony_ci{ 51974514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 51984514f5e3Sopenharmony_ci} 51994514f5e3Sopenharmony_ci 52004514f5e3Sopenharmony_civoid JSAPIStackIterator::DumpForSnapshot(std::vector<Reference> &vec) const 52014514f5e3Sopenharmony_ci{ 52024514f5e3Sopenharmony_ci if (!(GetIteratedStack().IsInvalidValue())) { 52034514f5e3Sopenharmony_ci JSAPIStack *stack = JSAPIStack::Cast(GetIteratedStack().GetTaggedObject()); 52044514f5e3Sopenharmony_ci vec.emplace_back("iteratedstack", GetIteratedStack()); 52054514f5e3Sopenharmony_ci stack->DumpForSnapshot(vec); 52064514f5e3Sopenharmony_ci } 52074514f5e3Sopenharmony_ci 52084514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 52094514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 52104514f5e3Sopenharmony_ci} 52114514f5e3Sopenharmony_ci 52124514f5e3Sopenharmony_civoid JSArrayIterator::DumpForSnapshot(std::vector<Reference> &vec) const 52134514f5e3Sopenharmony_ci{ 52144514f5e3Sopenharmony_ci if (!(GetIteratedArray().IsInvalidValue())) { 52154514f5e3Sopenharmony_ci JSArray *array = JSArray::Cast(GetIteratedArray().GetTaggedObject()); 52164514f5e3Sopenharmony_ci vec.emplace_back("iteratedarray", GetIteratedArray()); 52174514f5e3Sopenharmony_ci array->DumpForSnapshot(vec); 52184514f5e3Sopenharmony_ci } 52194514f5e3Sopenharmony_ci 52204514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 52214514f5e3Sopenharmony_ci vec.emplace_back(CString("IterationKind"), JSTaggedValue(static_cast<int>(GetIterationKind()))); 52224514f5e3Sopenharmony_ci vec.emplace_back(CString("BitField"), JSTaggedValue(GetBitField())); 52234514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 52244514f5e3Sopenharmony_ci} 52254514f5e3Sopenharmony_ci 52264514f5e3Sopenharmony_civoid JSSharedArrayIterator::DumpForSnapshot(std::vector<Reference> &vec) const 52274514f5e3Sopenharmony_ci{ 52284514f5e3Sopenharmony_ci JSSharedArray *array = JSSharedArray::Cast(GetIteratedArray().GetTaggedObject()); 52294514f5e3Sopenharmony_ci vec.emplace_back("iteratedarray", GetIteratedArray()); 52304514f5e3Sopenharmony_ci array->DumpForSnapshot(vec); 52314514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 52324514f5e3Sopenharmony_ci vec.emplace_back(CString("IterationKind"), JSTaggedValue(static_cast<int>(GetIterationKind()))); 52334514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 52344514f5e3Sopenharmony_ci} 52354514f5e3Sopenharmony_ci 52364514f5e3Sopenharmony_civoid JSAPIVector::DumpForSnapshot(std::vector<Reference> &vec) const 52374514f5e3Sopenharmony_ci{ 52384514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 52394514f5e3Sopenharmony_ci} 52404514f5e3Sopenharmony_ci 52414514f5e3Sopenharmony_civoid JSAPIVectorIterator::DumpForSnapshot(std::vector<Reference> &vec) const 52424514f5e3Sopenharmony_ci{ 52434514f5e3Sopenharmony_ci if (!(GetIteratedVector().IsInvalidValue())) { 52444514f5e3Sopenharmony_ci JSAPIVector *vector = JSAPIVector::Cast(GetIteratedVector().GetTaggedObject()); 52454514f5e3Sopenharmony_ci vec.emplace_back("iteratedvector", GetIteratedVector()); 52464514f5e3Sopenharmony_ci vector->DumpForSnapshot(vec); 52474514f5e3Sopenharmony_ci } 52484514f5e3Sopenharmony_ci 52494514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 52504514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 52514514f5e3Sopenharmony_ci} 52524514f5e3Sopenharmony_ci 52534514f5e3Sopenharmony_civoid JSAPIBitVector::DumpForSnapshot(std::vector<Reference> &vec) const 52544514f5e3Sopenharmony_ci{ 52554514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 52564514f5e3Sopenharmony_ci} 52574514f5e3Sopenharmony_ci 52584514f5e3Sopenharmony_civoid JSAPIBitVectorIterator::DumpForSnapshot(std::vector<Reference> &vec) const 52594514f5e3Sopenharmony_ci{ 52604514f5e3Sopenharmony_ci JSAPIVector *vector = JSAPIVector::Cast(GetIteratedBitVector().GetTaggedObject()); 52614514f5e3Sopenharmony_ci vec.emplace_back("iteratedbitvector", GetIteratedBitVector()); 52624514f5e3Sopenharmony_ci vector->DumpForSnapshot(vec); 52634514f5e3Sopenharmony_ci vec.emplace_back(CString("NextIndex"), JSTaggedValue(GetNextIndex())); 52644514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 52654514f5e3Sopenharmony_ci} 52664514f5e3Sopenharmony_ci 52674514f5e3Sopenharmony_civoid JSStringIterator::DumpForSnapshot(std::vector<Reference> &vec) const 52684514f5e3Sopenharmony_ci{ 52694514f5e3Sopenharmony_ci vec.emplace_back(CString("IteratedString"), GetIteratedString()); 52704514f5e3Sopenharmony_ci vec.emplace_back(CString("StringIteratorNextIndex"), JSTaggedValue(GetStringIteratorNextIndex())); 52714514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 52724514f5e3Sopenharmony_ci} 52734514f5e3Sopenharmony_ci 52744514f5e3Sopenharmony_civoid JSTypedArray::DumpForSnapshot(std::vector<Reference> &vec) const 52754514f5e3Sopenharmony_ci{ 52764514f5e3Sopenharmony_ci // please update the NUM_OF_ITEMS if you change the items below 52774514f5e3Sopenharmony_ci constexpr int16_t NUM_OF_ITEMS = 5; 52784514f5e3Sopenharmony_ci vec.reserve(vec.size() + NUM_OF_ITEMS); 52794514f5e3Sopenharmony_ci vec.emplace_back(CString("viewed-array-buffer"), GetViewedArrayBufferOrByteArray()); 52804514f5e3Sopenharmony_ci vec.emplace_back(CString("typed-array-name"), GetTypedArrayName()); 52814514f5e3Sopenharmony_ci vec.emplace_back(CString("byte-length"), JSTaggedValue(GetByteLength())); 52824514f5e3Sopenharmony_ci vec.emplace_back(CString("byte-offset"), JSTaggedValue(GetByteOffset())); 52834514f5e3Sopenharmony_ci vec.emplace_back(CString("array-length"), JSTaggedValue(GetArrayLength())); 52844514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 52854514f5e3Sopenharmony_ci} 52864514f5e3Sopenharmony_ci 52874514f5e3Sopenharmony_civoid JSSharedTypedArray::DumpForSnapshot(std::vector<Reference> &vec) const 52884514f5e3Sopenharmony_ci{ 52894514f5e3Sopenharmony_ci // please update the NUM_OF_ITEMS if you change the items below 52904514f5e3Sopenharmony_ci constexpr int16_t NUM_OF_ITEMS = 5; 52914514f5e3Sopenharmony_ci vec.reserve(vec.size() + NUM_OF_ITEMS); 52924514f5e3Sopenharmony_ci vec.emplace_back(CString("viewed-array-buffer"), GetViewedArrayBufferOrByteArray()); 52934514f5e3Sopenharmony_ci vec.emplace_back(CString("typed-array-name"), GetTypedArrayName()); 52944514f5e3Sopenharmony_ci vec.emplace_back(CString("byte-length"), JSTaggedValue(GetByteLength())); 52954514f5e3Sopenharmony_ci vec.emplace_back(CString("byte-offset"), JSTaggedValue(GetByteOffset())); 52964514f5e3Sopenharmony_ci vec.emplace_back(CString("array-length"), JSTaggedValue(GetArrayLength())); 52974514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 52984514f5e3Sopenharmony_ci} 52994514f5e3Sopenharmony_ci 53004514f5e3Sopenharmony_civoid ByteArray::DumpForSnapshot(std::vector<Reference> &vec) const 53014514f5e3Sopenharmony_ci{ 53024514f5e3Sopenharmony_ci vec.emplace_back(CString("array-length"), JSTaggedValue(GetArrayLength())); 53034514f5e3Sopenharmony_ci vec.emplace_back(CString("byte-length"), JSTaggedValue(GetByteLength())); 53044514f5e3Sopenharmony_ci} 53054514f5e3Sopenharmony_ci 53064514f5e3Sopenharmony_civoid JSRegExp::DumpForSnapshot(std::vector<Reference> &vec) const 53074514f5e3Sopenharmony_ci{ 53084514f5e3Sopenharmony_ci vec.emplace_back(CString("ByteCodeBuffer"), GetByteCodeBuffer()); 53094514f5e3Sopenharmony_ci vec.emplace_back(CString("originalSource"), GetOriginalSource()); 53104514f5e3Sopenharmony_ci vec.emplace_back(CString("originalFlags"), GetOriginalFlags()); 53114514f5e3Sopenharmony_ci vec.emplace_back(CString("groupName"), GetGroupName()); 53124514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 53134514f5e3Sopenharmony_ci} 53144514f5e3Sopenharmony_ci 53154514f5e3Sopenharmony_civoid JSRegExpIterator::DumpForSnapshot(std::vector<Reference> &vec) const 53164514f5e3Sopenharmony_ci{ 53174514f5e3Sopenharmony_ci vec.emplace_back(CString("IteratingRegExp"), GetIteratingRegExp()); 53184514f5e3Sopenharmony_ci vec.emplace_back(CString("IteratedString"), GetIteratedString()); 53194514f5e3Sopenharmony_ci vec.emplace_back(CString("Global"), JSTaggedValue(GetGlobal())); 53204514f5e3Sopenharmony_ci vec.emplace_back(CString("Unicode"), JSTaggedValue(GetUnicode())); 53214514f5e3Sopenharmony_ci vec.emplace_back(CString("Done"), JSTaggedValue(GetDone())); 53224514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 53234514f5e3Sopenharmony_ci} 53244514f5e3Sopenharmony_ci 53254514f5e3Sopenharmony_civoid JSProxy::DumpForSnapshot(std::vector<Reference> &vec) const 53264514f5e3Sopenharmony_ci{ 53274514f5e3Sopenharmony_ci vec.emplace_back(CString("target"), GetTarget()); 53284514f5e3Sopenharmony_ci vec.emplace_back(CString("handler"), GetHandler()); 53294514f5e3Sopenharmony_ci vec.emplace_back(CString("Method"), GetMethod()); 53304514f5e3Sopenharmony_ci vec.emplace_back(CString("PrivateField"), GetPrivateField()); 53314514f5e3Sopenharmony_ci vec.emplace_back(CString("BitField"), JSTaggedValue(GetBitField())); 53324514f5e3Sopenharmony_ci} 53334514f5e3Sopenharmony_ci 53344514f5e3Sopenharmony_civoid JSSymbol::DumpForSnapshot(std::vector<Reference> &vec) const 53354514f5e3Sopenharmony_ci{ 53364514f5e3Sopenharmony_ci vec.emplace_back(CString("hash-field"), JSTaggedValue(GetHashField())); 53374514f5e3Sopenharmony_ci vec.emplace_back(CString("flags"), JSTaggedValue(GetFlags())); 53384514f5e3Sopenharmony_ci vec.emplace_back(CString("description"), GetDescription()); 53394514f5e3Sopenharmony_ci} 53404514f5e3Sopenharmony_ci 53414514f5e3Sopenharmony_civoid AccessorData::DumpForSnapshot(std::vector<Reference> &vec) const 53424514f5e3Sopenharmony_ci{ 53434514f5e3Sopenharmony_ci if (GetClass()->GetObjectType() == JSType::INTERNAL_ACCESSOR) { 53444514f5e3Sopenharmony_ci vec.emplace_back(CString("getter"), JSTaggedValue(InternalAccessor::ConstCast(this)->GetGetter())); 53454514f5e3Sopenharmony_ci vec.emplace_back(CString("setter"), JSTaggedValue(InternalAccessor::ConstCast(this)->GetSetter())); 53464514f5e3Sopenharmony_ci return; 53474514f5e3Sopenharmony_ci } 53484514f5e3Sopenharmony_ci 53494514f5e3Sopenharmony_ci vec.emplace_back(CString("getter"), GetGetter()); 53504514f5e3Sopenharmony_ci vec.emplace_back(CString("setter"), GetSetter()); 53514514f5e3Sopenharmony_ci} 53524514f5e3Sopenharmony_ci 53534514f5e3Sopenharmony_civoid LexicalEnv::DumpForSnapshot(std::vector<Reference> &vec) const 53544514f5e3Sopenharmony_ci{ 53554514f5e3Sopenharmony_ci DumpArrayClass(this, vec); 53564514f5e3Sopenharmony_ci} 53574514f5e3Sopenharmony_ci 53584514f5e3Sopenharmony_civoid SendableEnv::DumpForSnapshot(std::vector<Reference> &vec) const 53594514f5e3Sopenharmony_ci{ 53604514f5e3Sopenharmony_ci DumpArrayClass(this, vec); 53614514f5e3Sopenharmony_ci} 53624514f5e3Sopenharmony_ci 53634514f5e3Sopenharmony_civoid GlobalEnv::DumpForSnapshot(std::vector<Reference> &vec) const 53644514f5e3Sopenharmony_ci{ 53654514f5e3Sopenharmony_ci auto globalConst = GetJSThread()->GlobalConstants(); 53664514f5e3Sopenharmony_ci#define DUMP_ENV_FIELD(type, name, _) vec.emplace_back(#name, GetRaw##name().GetTaggedValue()); 53674514f5e3Sopenharmony_ci#define DUMP_CONST_FIELD(type, name, ...) vec.emplace_back(#name, globalConst->Get##name()); 53684514f5e3Sopenharmony_ci#define DUMP_CONST_STRING(name, ...) vec.emplace_back(#name, globalConst->Get##name()); 53694514f5e3Sopenharmony_ci 53704514f5e3Sopenharmony_ci GLOBAL_ENV_FIELDS(DUMP_ENV_FIELD) 53714514f5e3Sopenharmony_ci 53724514f5e3Sopenharmony_ci GLOBAL_ENV_CONSTANT_CLASS(DUMP_CONST_FIELD) 53734514f5e3Sopenharmony_ci 53744514f5e3Sopenharmony_ci GLOBAL_ENV_CONSTANT_SPECIAL(DUMP_CONST_FIELD) 53754514f5e3Sopenharmony_ci 53764514f5e3Sopenharmony_ci GLOBAL_ENV_CONSTANT_CONSTANT(DUMP_CONST_FIELD) 53774514f5e3Sopenharmony_ci 53784514f5e3Sopenharmony_ci GLOBAL_ENV_CACHES(DUMP_CONST_FIELD) 53794514f5e3Sopenharmony_ci 53804514f5e3Sopenharmony_ci#undef DUMP_FIELD 53814514f5e3Sopenharmony_ci#undef DUMP_CONST_FIELD 53824514f5e3Sopenharmony_ci#undef DUMP_CONST_STRING 53834514f5e3Sopenharmony_ci} 53844514f5e3Sopenharmony_ci 53854514f5e3Sopenharmony_civoid JSDataView::DumpForSnapshot(std::vector<Reference> &vec) const 53864514f5e3Sopenharmony_ci{ 53874514f5e3Sopenharmony_ci vec.emplace_back(CString("data-view"), GetDataView()); 53884514f5e3Sopenharmony_ci vec.emplace_back(CString("buffer"), GetViewedArrayBuffer()); 53894514f5e3Sopenharmony_ci vec.emplace_back(CString("byte-length"), JSTaggedValue(GetByteLength())); 53904514f5e3Sopenharmony_ci vec.emplace_back(CString("byte-offset"), JSTaggedValue(GetByteOffset())); 53914514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 53924514f5e3Sopenharmony_ci} 53934514f5e3Sopenharmony_ci 53944514f5e3Sopenharmony_civoid JSArrayBuffer::DumpForSnapshot(std::vector<Reference> &vec) const 53954514f5e3Sopenharmony_ci{ 53964514f5e3Sopenharmony_ci vec.emplace_back(CString("buffer-data"), GetArrayBufferData()); 53974514f5e3Sopenharmony_ci vec.emplace_back(CString("byte-length"), JSTaggedValue(GetArrayBufferByteLength())); 53984514f5e3Sopenharmony_ci vec.emplace_back(CString("shared"), JSTaggedValue(GetShared())); 53994514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 54004514f5e3Sopenharmony_ci} 54014514f5e3Sopenharmony_ci 54024514f5e3Sopenharmony_civoid JSSendableArrayBuffer::DumpForSnapshot(std::vector<Reference> &vec) const 54034514f5e3Sopenharmony_ci{ 54044514f5e3Sopenharmony_ci vec.emplace_back(CString("buffer-data"), GetArrayBufferData()); 54054514f5e3Sopenharmony_ci vec.emplace_back(CString("byte-length"), JSTaggedValue(GetArrayBufferByteLength())); 54064514f5e3Sopenharmony_ci vec.emplace_back(CString("shared"), JSTaggedValue(GetShared())); 54074514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 54084514f5e3Sopenharmony_ci} 54094514f5e3Sopenharmony_ci 54104514f5e3Sopenharmony_civoid PromiseReaction::DumpForSnapshot(std::vector<Reference> &vec) const 54114514f5e3Sopenharmony_ci{ 54124514f5e3Sopenharmony_ci vec.emplace_back(CString("promise-capability"), GetPromiseCapability()); 54134514f5e3Sopenharmony_ci vec.emplace_back(CString("handler"), GetHandler()); 54144514f5e3Sopenharmony_ci vec.emplace_back(CString("type"), JSTaggedValue(static_cast<int>(GetType()))); 54154514f5e3Sopenharmony_ci} 54164514f5e3Sopenharmony_ci 54174514f5e3Sopenharmony_civoid PromiseCapability::DumpForSnapshot(std::vector<Reference> &vec) const 54184514f5e3Sopenharmony_ci{ 54194514f5e3Sopenharmony_ci vec.emplace_back(CString("promise"), GetPromise()); 54204514f5e3Sopenharmony_ci vec.emplace_back(CString("resolve"), GetResolve()); 54214514f5e3Sopenharmony_ci vec.emplace_back(CString("reject"), GetReject()); 54224514f5e3Sopenharmony_ci} 54234514f5e3Sopenharmony_ci 54244514f5e3Sopenharmony_civoid PromiseIteratorRecord::DumpForSnapshot(std::vector<Reference> &vec) const 54254514f5e3Sopenharmony_ci{ 54264514f5e3Sopenharmony_ci vec.emplace_back(CString("iterator"), GetIterator()); 54274514f5e3Sopenharmony_ci vec.emplace_back(CString("done"), JSTaggedValue(GetDone())); 54284514f5e3Sopenharmony_ci} 54294514f5e3Sopenharmony_ci 54304514f5e3Sopenharmony_civoid PromiseRecord::DumpForSnapshot(std::vector<Reference> &vec) const 54314514f5e3Sopenharmony_ci{ 54324514f5e3Sopenharmony_ci vec.emplace_back(CString("value"), GetValue()); 54334514f5e3Sopenharmony_ci} 54344514f5e3Sopenharmony_ci 54354514f5e3Sopenharmony_civoid ResolvingFunctionsRecord::DumpForSnapshot(std::vector<Reference> &vec) const 54364514f5e3Sopenharmony_ci{ 54374514f5e3Sopenharmony_ci vec.emplace_back(CString("resolve-function"), GetResolveFunction()); 54384514f5e3Sopenharmony_ci vec.emplace_back(CString("reject-function"), GetRejectFunction()); 54394514f5e3Sopenharmony_ci} 54404514f5e3Sopenharmony_ci 54414514f5e3Sopenharmony_civoid AsyncGeneratorRequest::DumpForSnapshot(std::vector<Reference> &vec) const 54424514f5e3Sopenharmony_ci{ 54434514f5e3Sopenharmony_ci vec.emplace_back(CString("completion"), GetCompletion()); 54444514f5e3Sopenharmony_ci vec.emplace_back(CString("capability"), GetCapability()); 54454514f5e3Sopenharmony_ci} 54464514f5e3Sopenharmony_ci 54474514f5e3Sopenharmony_civoid AsyncIteratorRecord::DumpForSnapshot(std::vector<Reference> &vec) const 54484514f5e3Sopenharmony_ci{ 54494514f5e3Sopenharmony_ci vec.emplace_back(CString("iterator"), GetIterator()); 54504514f5e3Sopenharmony_ci vec.emplace_back(CString("nextmethod"), GetNextMethod()); 54514514f5e3Sopenharmony_ci vec.emplace_back(CString("done"), JSTaggedValue(GetDone())); 54524514f5e3Sopenharmony_ci} 54534514f5e3Sopenharmony_ci 54544514f5e3Sopenharmony_civoid JSAsyncFromSyncIterator::DumpForSnapshot(std::vector<Reference> &vec) const 54554514f5e3Sopenharmony_ci{ 54564514f5e3Sopenharmony_ci vec.emplace_back(CString("synciteratorrecord"), GetSyncIteratorRecord()); 54574514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 54584514f5e3Sopenharmony_ci} 54594514f5e3Sopenharmony_ci 54604514f5e3Sopenharmony_civoid JSAsyncFromSyncIterUnwarpFunction::DumpForSnapshot(std::vector<Reference> &vec) const 54614514f5e3Sopenharmony_ci{ 54624514f5e3Sopenharmony_ci vec.emplace_back(CString("done"), JSTaggedValue(GetDone())); 54634514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 54644514f5e3Sopenharmony_ci} 54654514f5e3Sopenharmony_ci 54664514f5e3Sopenharmony_civoid JSPromise::DumpForSnapshot(std::vector<Reference> &vec) const 54674514f5e3Sopenharmony_ci{ 54684514f5e3Sopenharmony_ci vec.emplace_back(CString("promise-state"), JSTaggedValue(static_cast<int>(GetPromiseState()))); 54694514f5e3Sopenharmony_ci vec.emplace_back(CString("promise-result"), GetPromiseResult()); 54704514f5e3Sopenharmony_ci vec.emplace_back(CString("promise-fulfill-reactions"), GetPromiseFulfillReactions()); 54714514f5e3Sopenharmony_ci vec.emplace_back(CString("promise-reject-reactions"), GetPromiseRejectReactions()); 54724514f5e3Sopenharmony_ci vec.emplace_back(CString("promise-is-handled"), JSTaggedValue(GetPromiseIsHandled())); 54734514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 54744514f5e3Sopenharmony_ci} 54754514f5e3Sopenharmony_ci 54764514f5e3Sopenharmony_civoid JSPromiseReactionsFunction::DumpForSnapshot(std::vector<Reference> &vec) const 54774514f5e3Sopenharmony_ci{ 54784514f5e3Sopenharmony_ci vec.emplace_back(CString("promise"), GetPromise()); 54794514f5e3Sopenharmony_ci vec.emplace_back(CString("already-resolved"), GetAlreadyResolved()); 54804514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 54814514f5e3Sopenharmony_ci} 54824514f5e3Sopenharmony_ci 54834514f5e3Sopenharmony_civoid JSAsyncGeneratorResNextRetProRstFtn::DumpForSnapshot(std::vector<Reference> &vec) const 54844514f5e3Sopenharmony_ci{ 54854514f5e3Sopenharmony_ci vec.emplace_back(CString("async-generator-object"), GetAsyncGeneratorObject()); 54864514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 54874514f5e3Sopenharmony_ci} 54884514f5e3Sopenharmony_ci 54894514f5e3Sopenharmony_civoid JSPromiseExecutorFunction::DumpForSnapshot(std::vector<Reference> &vec) const 54904514f5e3Sopenharmony_ci{ 54914514f5e3Sopenharmony_ci vec.emplace_back(CString("capability"), GetCapability()); 54924514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 54934514f5e3Sopenharmony_ci} 54944514f5e3Sopenharmony_ci 54954514f5e3Sopenharmony_civoid JSAsyncModuleFulfilledFunction::DumpForSnapshot(std::vector<Reference> &vec) const 54964514f5e3Sopenharmony_ci{ 54974514f5e3Sopenharmony_ci vec.emplace_back(CString("module"), GetModule()); 54984514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 54994514f5e3Sopenharmony_ci} 55004514f5e3Sopenharmony_ci 55014514f5e3Sopenharmony_civoid JSAsyncModuleRejectedFunction::DumpForSnapshot(std::vector<Reference> &vec) const 55024514f5e3Sopenharmony_ci{ 55034514f5e3Sopenharmony_ci vec.emplace_back(CString("module"), GetModule()); 55044514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 55054514f5e3Sopenharmony_ci} 55064514f5e3Sopenharmony_ci 55074514f5e3Sopenharmony_civoid JSPromiseAllResolveElementFunction::DumpForSnapshot(std::vector<Reference> &vec) const 55084514f5e3Sopenharmony_ci{ 55094514f5e3Sopenharmony_ci vec.emplace_back(CString("index"), GetIndex()); 55104514f5e3Sopenharmony_ci vec.emplace_back(CString("values"), GetValues()); 55114514f5e3Sopenharmony_ci vec.emplace_back(CString("capabilities"), GetCapabilities()); 55124514f5e3Sopenharmony_ci vec.emplace_back(CString("remaining-elements"), GetRemainingElements()); 55134514f5e3Sopenharmony_ci vec.emplace_back(CString("already-called"), GetAlreadyCalled()); 55144514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 55154514f5e3Sopenharmony_ci} 55164514f5e3Sopenharmony_ci 55174514f5e3Sopenharmony_civoid JSPromiseAnyRejectElementFunction::DumpForSnapshot(std::vector<Reference> &vec) const 55184514f5e3Sopenharmony_ci{ 55194514f5e3Sopenharmony_ci vec.emplace_back(CString("index"), JSTaggedValue(GetIndex())); 55204514f5e3Sopenharmony_ci vec.emplace_back(CString("errors"), GetErrors()); 55214514f5e3Sopenharmony_ci vec.emplace_back(CString("capability"), GetCapability()); 55224514f5e3Sopenharmony_ci vec.emplace_back(CString("remaining-elements"), GetRemainingElements()); 55234514f5e3Sopenharmony_ci vec.emplace_back(CString("already-called"), GetAlreadyCalled()); 55244514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 55254514f5e3Sopenharmony_ci} 55264514f5e3Sopenharmony_ci 55274514f5e3Sopenharmony_civoid JSPromiseAllSettledElementFunction::DumpForSnapshot(std::vector<Reference> &vec) const 55284514f5e3Sopenharmony_ci{ 55294514f5e3Sopenharmony_ci vec.emplace_back(CString("already-called"), GetAlreadyCalled()); 55304514f5e3Sopenharmony_ci vec.emplace_back(CString("index"), JSTaggedValue(GetIndex())); 55314514f5e3Sopenharmony_ci vec.emplace_back(CString("values"), GetValues()); 55324514f5e3Sopenharmony_ci vec.emplace_back(CString("capability"), GetCapability()); 55334514f5e3Sopenharmony_ci vec.emplace_back(CString("remaining-elements"), GetRemainingElements()); 55344514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 55354514f5e3Sopenharmony_ci} 55364514f5e3Sopenharmony_ci 55374514f5e3Sopenharmony_civoid JSPromiseFinallyFunction::DumpForSnapshot(std::vector<Reference> &vec) const 55384514f5e3Sopenharmony_ci{ 55394514f5e3Sopenharmony_ci vec.emplace_back(CString("constructor"), GetConstructor()); 55404514f5e3Sopenharmony_ci vec.emplace_back(CString("onFinally"), GetOnFinally()); 55414514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 55424514f5e3Sopenharmony_ci} 55434514f5e3Sopenharmony_ci 55444514f5e3Sopenharmony_civoid JSPromiseValueThunkOrThrowerFunction::DumpForSnapshot(std::vector<Reference> &vec) const 55454514f5e3Sopenharmony_ci{ 55464514f5e3Sopenharmony_ci vec.emplace_back(CString("result"), GetResult()); 55474514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 55484514f5e3Sopenharmony_ci} 55494514f5e3Sopenharmony_ci 55504514f5e3Sopenharmony_civoid MicroJobQueue::DumpForSnapshot(std::vector<Reference> &vec) const 55514514f5e3Sopenharmony_ci{ 55524514f5e3Sopenharmony_ci vec.emplace_back(CString("promise-job-queue"), GetPromiseJobQueue()); 55534514f5e3Sopenharmony_ci vec.emplace_back(CString("script-job-queue"), GetScriptJobQueue()); 55544514f5e3Sopenharmony_ci} 55554514f5e3Sopenharmony_ci 55564514f5e3Sopenharmony_civoid PendingJob::DumpForSnapshot(std::vector<Reference> &vec) const 55574514f5e3Sopenharmony_ci{ 55584514f5e3Sopenharmony_ci vec.emplace_back(CString("job"), GetJob()); 55594514f5e3Sopenharmony_ci vec.emplace_back(CString("arguments"), GetArguments()); 55604514f5e3Sopenharmony_ci} 55614514f5e3Sopenharmony_ci 55624514f5e3Sopenharmony_civoid CompletionRecord::DumpForSnapshot(std::vector<Reference> &vec) const 55634514f5e3Sopenharmony_ci{ 55644514f5e3Sopenharmony_ci vec.emplace_back(CString("value"), GetValue()); 55654514f5e3Sopenharmony_ci vec.emplace_back(CString("type"), JSTaggedValue(static_cast<int>(GetType()))); 55664514f5e3Sopenharmony_ci} 55674514f5e3Sopenharmony_ci 55684514f5e3Sopenharmony_civoid JSProxyRevocFunction::DumpForSnapshot(std::vector<Reference> &vec) const 55694514f5e3Sopenharmony_ci{ 55704514f5e3Sopenharmony_ci vec.emplace_back(CString("RevocableProxy"), GetRevocableProxy()); 55714514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 55724514f5e3Sopenharmony_ci} 55734514f5e3Sopenharmony_ci 55744514f5e3Sopenharmony_civoid JSAsyncFunction::DumpForSnapshot(std::vector<Reference> &vec) const 55754514f5e3Sopenharmony_ci{ 55764514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 55774514f5e3Sopenharmony_ci} 55784514f5e3Sopenharmony_ci 55794514f5e3Sopenharmony_civoid JSAsyncAwaitStatusFunction::DumpForSnapshot(std::vector<Reference> &vec) const 55804514f5e3Sopenharmony_ci{ 55814514f5e3Sopenharmony_ci vec.emplace_back(CString("AsyncContext"), GetAsyncContext()); 55824514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 55834514f5e3Sopenharmony_ci} 55844514f5e3Sopenharmony_ci 55854514f5e3Sopenharmony_civoid JSGeneratorFunction::DumpForSnapshot(std::vector<Reference> &vec) const 55864514f5e3Sopenharmony_ci{ 55874514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 55884514f5e3Sopenharmony_ci} 55894514f5e3Sopenharmony_ci 55904514f5e3Sopenharmony_civoid JSAsyncGeneratorFunction::DumpForSnapshot(std::vector<Reference> &vec) const 55914514f5e3Sopenharmony_ci{ 55924514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 55934514f5e3Sopenharmony_ci} 55944514f5e3Sopenharmony_ci 55954514f5e3Sopenharmony_civoid JSIntlBoundFunction::DumpForSnapshot(std::vector<Reference> &vec) const 55964514f5e3Sopenharmony_ci{ 55974514f5e3Sopenharmony_ci vec.emplace_back(CString("NumberFormat"), GetNumberFormat()); 55984514f5e3Sopenharmony_ci vec.emplace_back(CString("DateTimeFormat"), GetDateTimeFormat()); 55994514f5e3Sopenharmony_ci vec.emplace_back(CString("Collator"), GetCollator()); 56004514f5e3Sopenharmony_ci JSFunction::DumpForSnapshot(vec); 56014514f5e3Sopenharmony_ci} 56024514f5e3Sopenharmony_ci 56034514f5e3Sopenharmony_civoid PropertyBox::DumpForSnapshot(std::vector<Reference> &vec) const 56044514f5e3Sopenharmony_ci{ 56054514f5e3Sopenharmony_ci vec.emplace_back(CString("Value"), GetValue()); 56064514f5e3Sopenharmony_ci} 56074514f5e3Sopenharmony_ci 56084514f5e3Sopenharmony_civoid PrototypeHandler::DumpForSnapshot(std::vector<Reference> &vec) const 56094514f5e3Sopenharmony_ci{ 56104514f5e3Sopenharmony_ci vec.emplace_back(CString("HandlerInfo"), GetHandlerInfo()); 56114514f5e3Sopenharmony_ci vec.emplace_back(CString("ProtoCell"), GetProtoCell()); 56124514f5e3Sopenharmony_ci vec.emplace_back(CString("Holder"), GetHolder()); 56134514f5e3Sopenharmony_ci} 56144514f5e3Sopenharmony_ci 56154514f5e3Sopenharmony_civoid TransitionHandler::DumpForSnapshot(std::vector<Reference> &vec) const 56164514f5e3Sopenharmony_ci{ 56174514f5e3Sopenharmony_ci vec.emplace_back(CString("HandlerInfo"), GetHandlerInfo()); 56184514f5e3Sopenharmony_ci vec.emplace_back(CString("TransitionHClass"), GetTransitionHClass()); 56194514f5e3Sopenharmony_ci} 56204514f5e3Sopenharmony_ci 56214514f5e3Sopenharmony_civoid TransWithProtoHandler::DumpForSnapshot(std::vector<Reference> &vec) const 56224514f5e3Sopenharmony_ci{ 56234514f5e3Sopenharmony_ci vec.emplace_back(CString("HandlerInfo"), GetHandlerInfo()); 56244514f5e3Sopenharmony_ci vec.emplace_back(CString("TransitionHClass"), GetTransitionHClass()); 56254514f5e3Sopenharmony_ci vec.emplace_back(CString("ProtoCell"), GetProtoCell()); 56264514f5e3Sopenharmony_ci} 56274514f5e3Sopenharmony_ci 56284514f5e3Sopenharmony_civoid StoreTSHandler::DumpForSnapshot(std::vector<Reference> &vec) const 56294514f5e3Sopenharmony_ci{ 56304514f5e3Sopenharmony_ci vec.emplace_back(CString("HandlerInfo"), GetHandlerInfo()); 56314514f5e3Sopenharmony_ci vec.emplace_back(CString("ProtoCell"), GetProtoCell()); 56324514f5e3Sopenharmony_ci vec.emplace_back(CString("Holder"), GetHolder()); 56334514f5e3Sopenharmony_ci} 56344514f5e3Sopenharmony_ci 56354514f5e3Sopenharmony_civoid JSRealm::DumpForSnapshot(std::vector<Reference> &vec) const 56364514f5e3Sopenharmony_ci{ 56374514f5e3Sopenharmony_ci vec.emplace_back(CString("Value"), GetValue()); 56384514f5e3Sopenharmony_ci vec.emplace_back(CString("GLobalEnv"), GetGlobalEnv()); 56394514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 56404514f5e3Sopenharmony_ci} 56414514f5e3Sopenharmony_ci#ifdef ARK_SUPPORT_INTL 56424514f5e3Sopenharmony_civoid JSIntl::DumpForSnapshot(std::vector<Reference> &vec) const 56434514f5e3Sopenharmony_ci{ 56444514f5e3Sopenharmony_ci vec.emplace_back(CString("FallbackSymbol"), GetFallbackSymbol()); 56454514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 56464514f5e3Sopenharmony_ci} 56474514f5e3Sopenharmony_ci 56484514f5e3Sopenharmony_civoid JSLocale::DumpForSnapshot(std::vector<Reference> &vec) const 56494514f5e3Sopenharmony_ci{ 56504514f5e3Sopenharmony_ci vec.emplace_back(CString("IcuField"), GetIcuField()); 56514514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 56524514f5e3Sopenharmony_ci} 56534514f5e3Sopenharmony_ci 56544514f5e3Sopenharmony_civoid JSDateTimeFormat::DumpForSnapshot(std::vector<Reference> &vec) const 56554514f5e3Sopenharmony_ci{ 56564514f5e3Sopenharmony_ci // please update the NUM_OF_ITEMS if you change the items below 56574514f5e3Sopenharmony_ci constexpr int16_t NUM_OF_ITEMS = 11; 56584514f5e3Sopenharmony_ci vec.reserve(vec.size() + NUM_OF_ITEMS); 56594514f5e3Sopenharmony_ci vec.emplace_back(CString("Locale"), GetLocale()); 56604514f5e3Sopenharmony_ci vec.emplace_back(CString("Calendar"), GetCalendar()); 56614514f5e3Sopenharmony_ci vec.emplace_back(CString("NumberingSystem"), GetNumberingSystem()); 56624514f5e3Sopenharmony_ci vec.emplace_back(CString("TimeZone"), GetTimeZone()); 56634514f5e3Sopenharmony_ci vec.emplace_back(CString("HourCycle"), JSTaggedValue(static_cast<int>(GetHourCycle()))); 56644514f5e3Sopenharmony_ci vec.emplace_back(CString("LocaleIcu"), GetLocaleIcu()); 56654514f5e3Sopenharmony_ci vec.emplace_back(CString("SimpleDateTimeFormatIcu"), GetSimpleDateTimeFormatIcu()); 56664514f5e3Sopenharmony_ci vec.emplace_back(CString("Iso8601"), GetIso8601()); 56674514f5e3Sopenharmony_ci vec.emplace_back(CString("DateStyle"), JSTaggedValue(static_cast<int>(GetDateStyle()))); 56684514f5e3Sopenharmony_ci vec.emplace_back(CString("TimeStyle"), JSTaggedValue(static_cast<int>(GetTimeStyle()))); 56694514f5e3Sopenharmony_ci vec.emplace_back(CString("BoundFormat"), GetBoundFormat()); 56704514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 56714514f5e3Sopenharmony_ci} 56724514f5e3Sopenharmony_ci 56734514f5e3Sopenharmony_civoid JSRelativeTimeFormat::DumpForSnapshot(std::vector<Reference> &vec) const 56744514f5e3Sopenharmony_ci{ 56754514f5e3Sopenharmony_ci vec.emplace_back(CString("Locale"), GetLocale()); 56764514f5e3Sopenharmony_ci vec.emplace_back(CString("NumberingSystem"), GetNumberingSystem()); 56774514f5e3Sopenharmony_ci vec.emplace_back(CString("Style"), JSTaggedValue(static_cast<int>(GetStyle()))); 56784514f5e3Sopenharmony_ci vec.emplace_back(CString("Numeric"), JSTaggedValue(static_cast<int>(GetNumeric()))); 56794514f5e3Sopenharmony_ci vec.emplace_back(CString("IcuField"), GetIcuField()); 56804514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 56814514f5e3Sopenharmony_ci} 56824514f5e3Sopenharmony_ci 56834514f5e3Sopenharmony_civoid JSNumberFormat::DumpForSnapshot(std::vector<Reference> &vec) const 56844514f5e3Sopenharmony_ci{ 56854514f5e3Sopenharmony_ci // please update the NUM_OF_ITEMS if you change the items below 56864514f5e3Sopenharmony_ci constexpr int16_t NUM_OF_ITEMS = 20; 56874514f5e3Sopenharmony_ci vec.reserve(vec.size() + NUM_OF_ITEMS); 56884514f5e3Sopenharmony_ci vec.emplace_back(CString("Locale"), GetLocale()); 56894514f5e3Sopenharmony_ci vec.emplace_back(CString("NumberingSystem"), GetNumberingSystem()); 56904514f5e3Sopenharmony_ci vec.emplace_back(CString("Style"), JSTaggedValue(static_cast<int>(GetStyle()))); 56914514f5e3Sopenharmony_ci vec.emplace_back(CString("Currency"), GetCurrency()); 56924514f5e3Sopenharmony_ci vec.emplace_back(CString("CurrencyDisplay"), JSTaggedValue(static_cast<int>(GetCurrencyDisplay()))); 56934514f5e3Sopenharmony_ci vec.emplace_back(CString("CurrencySign"), JSTaggedValue(static_cast<int>(GetCurrencySign()))); 56944514f5e3Sopenharmony_ci vec.emplace_back(CString("Unit"), GetUnit()); 56954514f5e3Sopenharmony_ci vec.emplace_back(CString("UnitDisplay"), JSTaggedValue(static_cast<int>(GetUnitDisplay()))); 56964514f5e3Sopenharmony_ci vec.emplace_back(CString("MinimumIntegerDigits"), GetMinimumIntegerDigits()); 56974514f5e3Sopenharmony_ci vec.emplace_back(CString("MinimumFractionDigits"), GetMinimumFractionDigits()); 56984514f5e3Sopenharmony_ci vec.emplace_back(CString("MaximumFractionDigits"), GetMaximumFractionDigits()); 56994514f5e3Sopenharmony_ci vec.emplace_back(CString("MinimumSignificantDigits"), GetMinimumSignificantDigits()); 57004514f5e3Sopenharmony_ci vec.emplace_back(CString("MaximumSignificantDigits"), GetMaximumSignificantDigits()); 57014514f5e3Sopenharmony_ci vec.emplace_back(CString("UseGrouping"), GetUseGrouping()); 57024514f5e3Sopenharmony_ci vec.emplace_back(CString("RoundingType"), JSTaggedValue(static_cast<int>(GetRoundingType()))); 57034514f5e3Sopenharmony_ci vec.emplace_back(CString("Notation"), JSTaggedValue(static_cast<int>(GetNotation()))); 57044514f5e3Sopenharmony_ci vec.emplace_back(CString("CompactDisplay"), JSTaggedValue(static_cast<int>(GetCompactDisplay()))); 57054514f5e3Sopenharmony_ci vec.emplace_back(CString("SignDisplay"), JSTaggedValue(static_cast<int>(GetSignDisplay()))); 57064514f5e3Sopenharmony_ci vec.emplace_back(CString("BoundFormat"), GetBoundFormat()); 57074514f5e3Sopenharmony_ci vec.emplace_back(CString("IcuField"), GetIcuField()); 57084514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 57094514f5e3Sopenharmony_ci} 57104514f5e3Sopenharmony_ci 57114514f5e3Sopenharmony_civoid JSCollator::DumpForSnapshot(std::vector<Reference> &vec) const 57124514f5e3Sopenharmony_ci{ 57134514f5e3Sopenharmony_ci // please update the NUM_OF_ITEMS if you change the items below 57144514f5e3Sopenharmony_ci constexpr int16_t NUM_OF_ITEMS = 9; 57154514f5e3Sopenharmony_ci vec.reserve(vec.size() + NUM_OF_ITEMS); 57164514f5e3Sopenharmony_ci vec.emplace_back(CString("IcuField"), GetIcuField()); 57174514f5e3Sopenharmony_ci vec.emplace_back(CString("Locale"), GetLocale()); 57184514f5e3Sopenharmony_ci vec.emplace_back(CString("Collation"), GetCollation()); 57194514f5e3Sopenharmony_ci vec.emplace_back(CString("BoundCompare"), GetBoundCompare()); 57204514f5e3Sopenharmony_ci vec.emplace_back(CString("CaseFirst"), JSTaggedValue(static_cast<int>(GetCaseFirst()))); 57214514f5e3Sopenharmony_ci vec.emplace_back(CString("Usage"), JSTaggedValue(static_cast<int>(GetUsage()))); 57224514f5e3Sopenharmony_ci vec.emplace_back(CString("Sensitivity"), JSTaggedValue(static_cast<int>(GetSensitivity()))); 57234514f5e3Sopenharmony_ci vec.emplace_back(CString("IgnorePunctuation"), JSTaggedValue(GetIgnorePunctuation())); 57244514f5e3Sopenharmony_ci vec.emplace_back(CString("Numeric"), JSTaggedValue(GetNumeric())); 57254514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 57264514f5e3Sopenharmony_ci} 57274514f5e3Sopenharmony_ci 57284514f5e3Sopenharmony_civoid JSPluralRules::DumpForSnapshot(std::vector<Reference> &vec) const 57294514f5e3Sopenharmony_ci{ 57304514f5e3Sopenharmony_ci // please update the NUM_OF_ITEMS if you change the items below 57314514f5e3Sopenharmony_ci constexpr int16_t NUM_OF_ITEMS = 10; 57324514f5e3Sopenharmony_ci vec.reserve(vec.size() + NUM_OF_ITEMS); 57334514f5e3Sopenharmony_ci vec.emplace_back(CString("Locale"), GetLocale()); 57344514f5e3Sopenharmony_ci vec.emplace_back(CString("MinimumIntegerDigits"), GetMinimumIntegerDigits()); 57354514f5e3Sopenharmony_ci vec.emplace_back(CString("MinimumFractionDigits"), GetMinimumFractionDigits()); 57364514f5e3Sopenharmony_ci vec.emplace_back(CString("MaximumFractionDigits"), GetMaximumFractionDigits()); 57374514f5e3Sopenharmony_ci vec.emplace_back(CString("MinimumSignificantDigits"), GetMinimumSignificantDigits()); 57384514f5e3Sopenharmony_ci vec.emplace_back(CString("MaximumSignificantDigits"), GetMaximumSignificantDigits()); 57394514f5e3Sopenharmony_ci vec.emplace_back(CString("RoundingType"), JSTaggedValue(static_cast<int>(GetRoundingType()))); 57404514f5e3Sopenharmony_ci vec.emplace_back(CString("IcuPR"), GetIcuPR()); 57414514f5e3Sopenharmony_ci vec.emplace_back(CString("IcuNF"), GetIcuNF()); 57424514f5e3Sopenharmony_ci vec.emplace_back(CString("Type"), JSTaggedValue(static_cast<int>(GetType()))); 57434514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 57444514f5e3Sopenharmony_ci} 57454514f5e3Sopenharmony_ci 57464514f5e3Sopenharmony_civoid JSDisplayNames::DumpForSnapshot(std::vector<Reference> &vec) const 57474514f5e3Sopenharmony_ci{ 57484514f5e3Sopenharmony_ci vec.emplace_back(CString("Locale"), GetLocale()); 57494514f5e3Sopenharmony_ci vec.emplace_back(CString("Type"), JSTaggedValue(static_cast<int>(GetType()))); 57504514f5e3Sopenharmony_ci vec.emplace_back(CString("Style"), JSTaggedValue(static_cast<int>(GetStyle()))); 57514514f5e3Sopenharmony_ci vec.emplace_back(CString("Fallback"), JSTaggedValue(static_cast<int>(GetFallback()))); 57524514f5e3Sopenharmony_ci vec.emplace_back(CString("IcuLDN"), GetIcuLDN()); 57534514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 57544514f5e3Sopenharmony_ci} 57554514f5e3Sopenharmony_ci 57564514f5e3Sopenharmony_civoid JSSegmenter::DumpForSnapshot(std::vector<Reference> &vec) const 57574514f5e3Sopenharmony_ci{ 57584514f5e3Sopenharmony_ci vec.emplace_back(CString("Locale"), GetLocale()); 57594514f5e3Sopenharmony_ci vec.emplace_back(CString("Granularity"), JSTaggedValue(static_cast<int>(GetGranularity()))); 57604514f5e3Sopenharmony_ci vec.emplace_back(CString("IcuField"), GetIcuField()); 57614514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 57624514f5e3Sopenharmony_ci} 57634514f5e3Sopenharmony_ci 57644514f5e3Sopenharmony_civoid JSSegments::DumpForSnapshot(std::vector<Reference> &vec) const 57654514f5e3Sopenharmony_ci{ 57664514f5e3Sopenharmony_ci vec.emplace_back(CString("SegmentsString"), GetSegmentsString()); 57674514f5e3Sopenharmony_ci vec.emplace_back(CString("UnicodeString"), GetUnicodeString()); 57684514f5e3Sopenharmony_ci vec.emplace_back(CString("Granularity"), JSTaggedValue(static_cast<int>(GetGranularity()))); 57694514f5e3Sopenharmony_ci vec.emplace_back(CString("IcuField"), GetIcuField()); 57704514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 57714514f5e3Sopenharmony_ci} 57724514f5e3Sopenharmony_ci 57734514f5e3Sopenharmony_civoid JSSegmentIterator::DumpForSnapshot(std::vector<Reference> &vec) const 57744514f5e3Sopenharmony_ci{ 57754514f5e3Sopenharmony_ci vec.emplace_back(CString("IteratedString"), GetIteratedString()); 57764514f5e3Sopenharmony_ci vec.emplace_back(CString("UnicodeString"), GetUnicodeString()); 57774514f5e3Sopenharmony_ci vec.emplace_back(CString("Granularity"), JSTaggedValue(static_cast<int>(GetGranularity()))); 57784514f5e3Sopenharmony_ci vec.emplace_back(CString("IcuField"), GetIcuField()); 57794514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 57804514f5e3Sopenharmony_ci} 57814514f5e3Sopenharmony_ci 57824514f5e3Sopenharmony_civoid JSListFormat::DumpForSnapshot(std::vector<Reference> &vec) const 57834514f5e3Sopenharmony_ci{ 57844514f5e3Sopenharmony_ci vec.emplace_back(CString("Locale"), GetLocale()); 57854514f5e3Sopenharmony_ci vec.emplace_back(CString("Type"), JSTaggedValue(static_cast<int>(GetType()))); 57864514f5e3Sopenharmony_ci vec.emplace_back(CString("Style"), JSTaggedValue(static_cast<int>(GetStyle()))); 57874514f5e3Sopenharmony_ci vec.emplace_back(CString("IcuLF"), GetIcuLF()); 57884514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 57894514f5e3Sopenharmony_ci} 57904514f5e3Sopenharmony_ci#endif 57914514f5e3Sopenharmony_civoid JSGeneratorObject::DumpForSnapshot(std::vector<Reference> &vec) const 57924514f5e3Sopenharmony_ci{ 57934514f5e3Sopenharmony_ci vec.emplace_back(CString("GeneratorContext"), GetGeneratorContext()); 57944514f5e3Sopenharmony_ci vec.emplace_back(CString("ResumeResult"), GetResumeResult()); 57954514f5e3Sopenharmony_ci vec.emplace_back(CString("GeneratorState"), JSTaggedValue(static_cast<int>(GetGeneratorState()))); 57964514f5e3Sopenharmony_ci vec.emplace_back(CString("ResumeMode"), JSTaggedValue(static_cast<int>(GetResumeMode()))); 57974514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 57984514f5e3Sopenharmony_ci} 57994514f5e3Sopenharmony_ci 58004514f5e3Sopenharmony_civoid JSAsyncGeneratorObject::DumpForSnapshot(std::vector<Reference> &vec) const 58014514f5e3Sopenharmony_ci{ 58024514f5e3Sopenharmony_ci vec.emplace_back(CString("GeneratorContext"), GetGeneratorContext()); 58034514f5e3Sopenharmony_ci vec.emplace_back(CString("AsyncGeneratorQueue"), GetAsyncGeneratorQueue()); 58044514f5e3Sopenharmony_ci vec.emplace_back(CString("GeneratorBrand"), GetGeneratorBrand()); 58054514f5e3Sopenharmony_ci vec.emplace_back(CString("ResumeResult"), GetResumeResult()); 58064514f5e3Sopenharmony_ci vec.emplace_back(CString("AsyncGeneratorState"), JSTaggedValue(static_cast<int>(GetAsyncGeneratorState()))); 58074514f5e3Sopenharmony_ci vec.emplace_back(CString("ResumeMode"), JSTaggedValue(static_cast<int>(GetResumeMode()))); 58084514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 58094514f5e3Sopenharmony_ci} 58104514f5e3Sopenharmony_ci 58114514f5e3Sopenharmony_civoid JSAsyncFuncObject::DumpForSnapshot(std::vector<Reference> &vec) const 58124514f5e3Sopenharmony_ci{ 58134514f5e3Sopenharmony_ci vec.emplace_back(CString("Promise"), GetPromise()); 58144514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 58154514f5e3Sopenharmony_ci} 58164514f5e3Sopenharmony_ci 58174514f5e3Sopenharmony_civoid GeneratorContext::DumpForSnapshot(std::vector<Reference> &vec) const 58184514f5e3Sopenharmony_ci{ 58194514f5e3Sopenharmony_ci // please update the NUM_OF_ITEMS if you change the items below 58204514f5e3Sopenharmony_ci constexpr int16_t NUM_OF_ITEMS = 8; 58214514f5e3Sopenharmony_ci vec.reserve(vec.size() + NUM_OF_ITEMS); 58224514f5e3Sopenharmony_ci vec.emplace_back(CString("RegsArray"), GetRegsArray()); 58234514f5e3Sopenharmony_ci vec.emplace_back(CString("Method"), GetMethod()); 58244514f5e3Sopenharmony_ci vec.emplace_back(CString("This"), GetThis()); 58254514f5e3Sopenharmony_ci vec.emplace_back(CString("Acc"), GetAcc()); 58264514f5e3Sopenharmony_ci vec.emplace_back(CString("GeneratorObject"), GetGeneratorObject()); 58274514f5e3Sopenharmony_ci vec.emplace_back(CString("LexicalEnv"), GetLexicalEnv()); 58284514f5e3Sopenharmony_ci vec.emplace_back(CString("NRegs"), JSTaggedValue(GetNRegs())); 58294514f5e3Sopenharmony_ci vec.emplace_back(CString("BCOffset"), JSTaggedValue(GetBCOffset())); 58304514f5e3Sopenharmony_ci} 58314514f5e3Sopenharmony_ci 58324514f5e3Sopenharmony_civoid ProtoChangeMarker::DumpForSnapshot(std::vector<Reference> &vec) const 58334514f5e3Sopenharmony_ci{ 58344514f5e3Sopenharmony_ci vec.emplace_back(CString("Promise"), JSTaggedValue(GetHasChanged())); 58354514f5e3Sopenharmony_ci} 58364514f5e3Sopenharmony_ci 58374514f5e3Sopenharmony_civoid MarkerCell::DumpForSnapshot(std::vector<Reference> &vec) const 58384514f5e3Sopenharmony_ci{ 58394514f5e3Sopenharmony_ci vec.emplace_back(CString("IsDetectorInvalid"), JSTaggedValue(GetIsDetectorInvalid())); 58404514f5e3Sopenharmony_ci} 58414514f5e3Sopenharmony_ci 58424514f5e3Sopenharmony_civoid ProtoChangeDetails::DumpForSnapshot(std::vector<Reference> &vec) const 58434514f5e3Sopenharmony_ci{ 58444514f5e3Sopenharmony_ci vec.emplace_back(CString("ChangeListener"), GetChangeListener()); 58454514f5e3Sopenharmony_ci vec.emplace_back(CString("RegisterIndex"), JSTaggedValue(GetRegisterIndex())); 58464514f5e3Sopenharmony_ci} 58474514f5e3Sopenharmony_ci 58484514f5e3Sopenharmony_civoid MachineCode::DumpForSnapshot(std::vector<Reference> &vec) const 58494514f5e3Sopenharmony_ci{ 58504514f5e3Sopenharmony_ci vec.emplace_back(CString("InstructionSizeInBytes"), JSTaggedValue(GetInstructionSizeInBytes())); 58514514f5e3Sopenharmony_ci} 58524514f5e3Sopenharmony_ci 58534514f5e3Sopenharmony_civoid TrackInfo::DumpForSnapshot(std::vector<Reference> &vec) const 58544514f5e3Sopenharmony_ci{ 58554514f5e3Sopenharmony_ci vec.emplace_back("ElementsKind", JSTaggedValue(static_cast<uint32_t>(GetElementsKind()))); 58564514f5e3Sopenharmony_ci 58574514f5e3Sopenharmony_ci vec.emplace_back(CString("CachedHClass"), GetCachedHClass()); 58584514f5e3Sopenharmony_ci vec.emplace_back(CString("CachedFunc"), GetCachedFunc()); 58594514f5e3Sopenharmony_ci vec.emplace_back(CString("ArrayLength"), JSTaggedValue(GetArrayLength())); 58604514f5e3Sopenharmony_ci} 58614514f5e3Sopenharmony_ci 58624514f5e3Sopenharmony_civoid ClassInfoExtractor::DumpForSnapshot(std::vector<Reference> &vec) const 58634514f5e3Sopenharmony_ci{ 58644514f5e3Sopenharmony_ci // please update the NUM_OF_ITEMS if you change the items below 58654514f5e3Sopenharmony_ci constexpr int16_t NUM_OF_ITEMS = 6; 58664514f5e3Sopenharmony_ci vec.reserve(vec.size() + NUM_OF_ITEMS); 58674514f5e3Sopenharmony_ci vec.emplace_back(CString("NonStaticKeys"), GetNonStaticKeys()); 58684514f5e3Sopenharmony_ci vec.emplace_back(CString("NonStaticProperties"), GetNonStaticProperties()); 58694514f5e3Sopenharmony_ci vec.emplace_back(CString("NonStaticElements"), GetNonStaticElements()); 58704514f5e3Sopenharmony_ci vec.emplace_back(CString("StaticKeys"), GetStaticKeys()); 58714514f5e3Sopenharmony_ci vec.emplace_back(CString("StaticProperties"), GetStaticProperties()); 58724514f5e3Sopenharmony_ci vec.emplace_back(CString("StaticElements"), GetStaticElements()); 58734514f5e3Sopenharmony_ci vec.emplace_back(CString("ConstructorMethod"), GetConstructorMethod()); 58744514f5e3Sopenharmony_ci vec.emplace_back(CString("BitField"), JSTaggedValue(GetBitField())); 58754514f5e3Sopenharmony_ci} 58764514f5e3Sopenharmony_ci 58774514f5e3Sopenharmony_civoid SourceTextModule::DumpForSnapshot(std::vector<Reference> &vec) const 58784514f5e3Sopenharmony_ci{ 58794514f5e3Sopenharmony_ci // please update the NUM_OF_ITEMS if you change the items below 58804514f5e3Sopenharmony_ci constexpr int16_t NUM_OF_ITEMS = 14; 58814514f5e3Sopenharmony_ci vec.reserve(vec.size() + NUM_OF_ITEMS); 58824514f5e3Sopenharmony_ci vec.emplace_back(CString("Environment"), GetEnvironment()); 58834514f5e3Sopenharmony_ci vec.emplace_back(CString("Namespace"), GetNamespace()); 58844514f5e3Sopenharmony_ci vec.emplace_back(CString("RequestedModules"), GetRequestedModules()); 58854514f5e3Sopenharmony_ci vec.emplace_back(CString("ImportEntries"), GetImportEntries()); 58864514f5e3Sopenharmony_ci vec.emplace_back(CString("LocalExportEntries"), GetLocalExportEntries()); 58874514f5e3Sopenharmony_ci vec.emplace_back(CString("IndirectExportEntries"), GetIndirectExportEntries()); 58884514f5e3Sopenharmony_ci vec.emplace_back(CString("StarExportEntries"), GetStarExportEntries()); 58894514f5e3Sopenharmony_ci vec.emplace_back(CString("Status"), JSTaggedValue(static_cast<int32_t>(GetStatus()))); 58904514f5e3Sopenharmony_ci vec.emplace_back(CString("EvaluationError"), JSTaggedValue(GetEvaluationError())); 58914514f5e3Sopenharmony_ci vec.emplace_back(CString("DFSIndex"), JSTaggedValue(GetDFSIndex())); 58924514f5e3Sopenharmony_ci vec.emplace_back(CString("DFSAncestorIndex"), JSTaggedValue(GetDFSAncestorIndex())); 58934514f5e3Sopenharmony_ci vec.emplace_back(CString("NameDictionary"), GetNameDictionary()); 58944514f5e3Sopenharmony_ci vec.emplace_back(CString("CycleRoot"), GetCycleRoot()); 58954514f5e3Sopenharmony_ci vec.emplace_back(CString("TopLevelCapability"), GetTopLevelCapability()); 58964514f5e3Sopenharmony_ci vec.emplace_back(CString("AsyncParentModules"), GetAsyncParentModules()); 58974514f5e3Sopenharmony_ci vec.emplace_back(CString("SendableEnv"), GetSendableEnv()); 58984514f5e3Sopenharmony_ci vec.emplace_back(CString("HasTLA"), JSTaggedValue(GetHasTLA())); 58994514f5e3Sopenharmony_ci vec.emplace_back(CString("AsyncEvaluatingOrdinal"), JSTaggedValue(GetAsyncEvaluatingOrdinal())); 59004514f5e3Sopenharmony_ci vec.emplace_back(CString("PendingAsyncDependencies"), JSTaggedValue(GetPendingAsyncDependencies())); 59014514f5e3Sopenharmony_ci} 59024514f5e3Sopenharmony_ci 59034514f5e3Sopenharmony_civoid ImportEntry::DumpForSnapshot(std::vector<Reference> &vec) const 59044514f5e3Sopenharmony_ci{ 59054514f5e3Sopenharmony_ci vec.emplace_back(CString("ModuleRequest"), GetModuleRequest()); 59064514f5e3Sopenharmony_ci vec.emplace_back(CString("ImportName"), GetImportName()); 59074514f5e3Sopenharmony_ci vec.emplace_back(CString("LocalName"), GetLocalName()); 59084514f5e3Sopenharmony_ci} 59094514f5e3Sopenharmony_ci 59104514f5e3Sopenharmony_civoid LocalExportEntry::DumpForSnapshot(std::vector<Reference> &vec) const 59114514f5e3Sopenharmony_ci{ 59124514f5e3Sopenharmony_ci vec.emplace_back(CString("ExportName"), GetExportName()); 59134514f5e3Sopenharmony_ci vec.emplace_back(CString("LocalName"), GetLocalName()); 59144514f5e3Sopenharmony_ci} 59154514f5e3Sopenharmony_ci 59164514f5e3Sopenharmony_civoid IndirectExportEntry::DumpForSnapshot(std::vector<Reference> &vec) const 59174514f5e3Sopenharmony_ci{ 59184514f5e3Sopenharmony_ci vec.emplace_back(CString("ExportName"), GetExportName()); 59194514f5e3Sopenharmony_ci vec.emplace_back(CString("ModuleRequest"), GetModuleRequest()); 59204514f5e3Sopenharmony_ci vec.emplace_back(CString("ImportName"), GetImportName()); 59214514f5e3Sopenharmony_ci} 59224514f5e3Sopenharmony_ci 59234514f5e3Sopenharmony_civoid StarExportEntry::DumpForSnapshot(std::vector<Reference> &vec) const 59244514f5e3Sopenharmony_ci{ 59254514f5e3Sopenharmony_ci vec.emplace_back(CString("ModuleRequest"), GetModuleRequest()); 59264514f5e3Sopenharmony_ci} 59274514f5e3Sopenharmony_ci 59284514f5e3Sopenharmony_civoid ResolvedBinding::DumpForSnapshot(std::vector<Reference> &vec) const 59294514f5e3Sopenharmony_ci{ 59304514f5e3Sopenharmony_ci vec.emplace_back(CString("Module"), GetModule()); 59314514f5e3Sopenharmony_ci vec.emplace_back(CString("BindingName"), GetBindingName()); 59324514f5e3Sopenharmony_ci} 59334514f5e3Sopenharmony_ci 59344514f5e3Sopenharmony_civoid ResolvedIndexBinding::DumpForSnapshot(std::vector<Reference> &vec) const 59354514f5e3Sopenharmony_ci{ 59364514f5e3Sopenharmony_ci vec.emplace_back(CString("Module"), GetModule()); 59374514f5e3Sopenharmony_ci vec.emplace_back(CString("Index"), JSTaggedValue(GetIndex())); 59384514f5e3Sopenharmony_ci} 59394514f5e3Sopenharmony_ci 59404514f5e3Sopenharmony_civoid ResolvedRecordIndexBinding::DumpForSnapshot(std::vector<Reference> &vec) const 59414514f5e3Sopenharmony_ci{ 59424514f5e3Sopenharmony_ci vec.emplace_back(CString("ModuleRecord"), GetModuleRecord()); 59434514f5e3Sopenharmony_ci vec.emplace_back(CString("AbcFileName"), GetAbcFileName()); 59444514f5e3Sopenharmony_ci vec.emplace_back(CString("Index"), JSTaggedValue(GetIndex())); 59454514f5e3Sopenharmony_ci} 59464514f5e3Sopenharmony_ci 59474514f5e3Sopenharmony_civoid ResolvedRecordBinding::DumpForSnapshot(std::vector<Reference> &vec) const 59484514f5e3Sopenharmony_ci{ 59494514f5e3Sopenharmony_ci vec.emplace_back(CString("ModuleRecord"), GetModuleRecord()); 59504514f5e3Sopenharmony_ci vec.emplace_back(CString("BindingName"), GetBindingName()); 59514514f5e3Sopenharmony_ci} 59524514f5e3Sopenharmony_ci 59534514f5e3Sopenharmony_civoid ModuleNamespace::DumpForSnapshot(std::vector<Reference> &vec) const 59544514f5e3Sopenharmony_ci{ 59554514f5e3Sopenharmony_ci vec.emplace_back(CString("Module"), GetModule()); 59564514f5e3Sopenharmony_ci vec.emplace_back(CString("Exports"), GetExports()); 59574514f5e3Sopenharmony_ci vec.emplace_back(CString("DeregisterProcession"), GetDeregisterProcession()); 59584514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 59594514f5e3Sopenharmony_ci} 59604514f5e3Sopenharmony_ci 59614514f5e3Sopenharmony_civoid NativeModuleFailureInfo::DumpForSnapshot(std::vector<Reference> &vec) const 59624514f5e3Sopenharmony_ci{ 59634514f5e3Sopenharmony_ci vec.emplace_back(CString("ArkNativeModuleFailureInfo"), GetArkNativeModuleFailureInfo()); 59644514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 59654514f5e3Sopenharmony_ci} 59664514f5e3Sopenharmony_ci 59674514f5e3Sopenharmony_civoid CjsModule::DumpForSnapshot(std::vector<Reference> &vec) const 59684514f5e3Sopenharmony_ci{ 59694514f5e3Sopenharmony_ci vec.emplace_back(CString("Id"), GetId()); 59704514f5e3Sopenharmony_ci vec.emplace_back(CString("Path"), GetPath()); 59714514f5e3Sopenharmony_ci vec.emplace_back(CString("Exports"), GetExports()); 59724514f5e3Sopenharmony_ci vec.emplace_back(CString("Filename"), GetFilename()); 59734514f5e3Sopenharmony_ci vec.emplace_back(CString("BitField"), JSTaggedValue(GetBitField())); 59744514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 59754514f5e3Sopenharmony_ci} 59764514f5e3Sopenharmony_ci 59774514f5e3Sopenharmony_civoid CjsExports::DumpForSnapshot(std::vector<Reference> &vec) const 59784514f5e3Sopenharmony_ci{ 59794514f5e3Sopenharmony_ci vec.emplace_back(CString("Exports"), GetExports()); 59804514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 59814514f5e3Sopenharmony_ci} 59824514f5e3Sopenharmony_ci 59834514f5e3Sopenharmony_civoid CjsRequire::DumpForSnapshot(std::vector<Reference> &vec) const 59844514f5e3Sopenharmony_ci{ 59854514f5e3Sopenharmony_ci vec.emplace_back(CString("Cache"), GetCache()); 59864514f5e3Sopenharmony_ci vec.emplace_back(CString("Parent"), GetParent()); 59874514f5e3Sopenharmony_ci JSObject::DumpForSnapshot(vec); 59884514f5e3Sopenharmony_ci} 59894514f5e3Sopenharmony_ci 59904514f5e3Sopenharmony_civoid ClassLiteral::DumpForSnapshot(std::vector<Reference> &vec) const 59914514f5e3Sopenharmony_ci{ 59924514f5e3Sopenharmony_ci vec.emplace_back(CString("Array"), GetArray()); 59934514f5e3Sopenharmony_ci vec.emplace_back(CString("IsAOTUsed"), JSTaggedValue(GetIsAOTUsed())); 59944514f5e3Sopenharmony_ci if (!GetArray().IsUndefined()) { 59954514f5e3Sopenharmony_ci DumpArrayClass(TaggedArray::Cast(GetArray().GetTaggedObject()), vec); 59964514f5e3Sopenharmony_ci } 59974514f5e3Sopenharmony_ci} 59984514f5e3Sopenharmony_ci} // namespace panda::ecmascript 5999