11cb0ef41Sopenharmony_ci// Copyright 2019 the V8 project authors. All rights reserved.
21cb0ef41Sopenharmony_ci// Use of this source code is governed by a BSD-style license that can be
31cb0ef41Sopenharmony_ci// found in the LICENSE file.
41cb0ef41Sopenharmony_ci
51cb0ef41Sopenharmony_ci#ifndef V8_OBJECTS_OBJECT_LIST_MACROS_H_
61cb0ef41Sopenharmony_ci#define V8_OBJECTS_OBJECT_LIST_MACROS_H_
71cb0ef41Sopenharmony_ci
81cb0ef41Sopenharmony_ci#include "torque-generated/instance-types.h"
91cb0ef41Sopenharmony_ci
101cb0ef41Sopenharmony_cinamespace v8 {
111cb0ef41Sopenharmony_cinamespace internal {
121cb0ef41Sopenharmony_ci
131cb0ef41Sopenharmony_ciclass AbstractCode;
141cb0ef41Sopenharmony_ciclass AccessorPair;
151cb0ef41Sopenharmony_ciclass AccessCheckInfo;
161cb0ef41Sopenharmony_ciclass AllocationSite;
171cb0ef41Sopenharmony_ciclass ByteArray;
181cb0ef41Sopenharmony_ciclass CachedTemplateObject;
191cb0ef41Sopenharmony_ciclass Cell;
201cb0ef41Sopenharmony_ciclass ClosureFeedbackCellArray;
211cb0ef41Sopenharmony_ciclass ConsString;
221cb0ef41Sopenharmony_ciclass DependentCode;
231cb0ef41Sopenharmony_ciclass ElementsAccessor;
241cb0ef41Sopenharmony_ciclass EnumCache;
251cb0ef41Sopenharmony_ciclass FixedArrayBase;
261cb0ef41Sopenharmony_ciclass FixedDoubleArray;
271cb0ef41Sopenharmony_ciclass FreeSpace;
281cb0ef41Sopenharmony_ciclass FunctionLiteral;
291cb0ef41Sopenharmony_ciclass FunctionTemplateInfo;
301cb0ef41Sopenharmony_ciclass JSAsyncGeneratorObject;
311cb0ef41Sopenharmony_ciclass JSGlobalProxy;
321cb0ef41Sopenharmony_ciclass SourceTextModule;
331cb0ef41Sopenharmony_ciclass JSPromise;
341cb0ef41Sopenharmony_ciclass JSProxy;
351cb0ef41Sopenharmony_ciclass JSProxyRevocableResult;
361cb0ef41Sopenharmony_ciclass KeyAccumulator;
371cb0ef41Sopenharmony_ciclass LookupIterator;
381cb0ef41Sopenharmony_ciclass FieldType;
391cb0ef41Sopenharmony_ciclass Module;
401cb0ef41Sopenharmony_ciclass SourceTextModuleInfoEntry;
411cb0ef41Sopenharmony_ciclass HeapNumber;
421cb0ef41Sopenharmony_ciclass ObjectHashTable;
431cb0ef41Sopenharmony_ciclass ObjectTemplateInfo;
441cb0ef41Sopenharmony_ciclass ObjectVisitor;
451cb0ef41Sopenharmony_ciclass OSROptimizedCodeCache;
461cb0ef41Sopenharmony_ciclass PreparseData;
471cb0ef41Sopenharmony_ciclass PropertyArray;
481cb0ef41Sopenharmony_ciclass PropertyCell;
491cb0ef41Sopenharmony_ciclass PropertyDescriptor;
501cb0ef41Sopenharmony_ciclass PrototypeInfo;
511cb0ef41Sopenharmony_ciclass ReadOnlyRoots;
521cb0ef41Sopenharmony_ciclass RegExpMatchInfo;
531cb0ef41Sopenharmony_ciclass RootVisitor;
541cb0ef41Sopenharmony_ciclass SafepointEntry;
551cb0ef41Sopenharmony_ciclass ScriptContextTable;
561cb0ef41Sopenharmony_ciclass SharedFunctionInfo;
571cb0ef41Sopenharmony_ciclass StringStream;
581cb0ef41Sopenharmony_ciclass Symbol;
591cb0ef41Sopenharmony_ciclass SyntheticModule;
601cb0ef41Sopenharmony_ciclass FeedbackCell;
611cb0ef41Sopenharmony_ciclass FeedbackMetadata;
621cb0ef41Sopenharmony_ciclass FeedbackVector;
631cb0ef41Sopenharmony_ciclass UncompiledData;
641cb0ef41Sopenharmony_ciclass TemplateInfo;
651cb0ef41Sopenharmony_ciclass TransitionArray;
661cb0ef41Sopenharmony_ciclass TemplateList;
671cb0ef41Sopenharmony_ciclass WasmInstanceObject;
681cb0ef41Sopenharmony_ciclass WasmMemoryObject;
691cb0ef41Sopenharmony_citemplate <typename T>
701cb0ef41Sopenharmony_ciclass ZoneForwardList;
711cb0ef41Sopenharmony_ci
721cb0ef41Sopenharmony_ci#define OBJECT_TYPE_LIST(V) \
731cb0ef41Sopenharmony_ci  V(Primitive)              \
741cb0ef41Sopenharmony_ci  V(Number)                 \
751cb0ef41Sopenharmony_ci  V(Numeric)
761cb0ef41Sopenharmony_ci
771cb0ef41Sopenharmony_ci#define HEAP_OBJECT_ORDINARY_TYPE_LIST_BASE(V)  \
781cb0ef41Sopenharmony_ci  V(AbstractCode)                               \
791cb0ef41Sopenharmony_ci  V(AccessCheckNeeded)                          \
801cb0ef41Sopenharmony_ci  V(AllocationSite)                             \
811cb0ef41Sopenharmony_ci  V(ArrayList)                                  \
821cb0ef41Sopenharmony_ci  V(BigInt)                                     \
831cb0ef41Sopenharmony_ci  V(BigIntBase)                                 \
841cb0ef41Sopenharmony_ci  V(BigIntWrapper)                              \
851cb0ef41Sopenharmony_ci  V(ObjectBoilerplateDescription)               \
861cb0ef41Sopenharmony_ci  V(Boolean)                                    \
871cb0ef41Sopenharmony_ci  V(BooleanWrapper)                             \
881cb0ef41Sopenharmony_ci  V(ByteArray)                                  \
891cb0ef41Sopenharmony_ci  V(BytecodeArray)                              \
901cb0ef41Sopenharmony_ci  V(CallHandlerInfo)                            \
911cb0ef41Sopenharmony_ci  V(Callable)                                   \
921cb0ef41Sopenharmony_ci  V(Cell)                                       \
931cb0ef41Sopenharmony_ci  V(ClassBoilerplate)                           \
941cb0ef41Sopenharmony_ci  V(Code)                                       \
951cb0ef41Sopenharmony_ci  V(CodeDataContainer)                          \
961cb0ef41Sopenharmony_ci  V(CompilationCacheTable)                      \
971cb0ef41Sopenharmony_ci  V(ConsString)                                 \
981cb0ef41Sopenharmony_ci  V(Constructor)                                \
991cb0ef41Sopenharmony_ci  V(Context)                                    \
1001cb0ef41Sopenharmony_ci  V(CoverageInfo)                               \
1011cb0ef41Sopenharmony_ci  V(ClosureFeedbackCellArray)                   \
1021cb0ef41Sopenharmony_ci  V(DataHandler)                                \
1031cb0ef41Sopenharmony_ci  V(DeoptimizationData)                         \
1041cb0ef41Sopenharmony_ci  V(DependentCode)                              \
1051cb0ef41Sopenharmony_ci  V(DescriptorArray)                            \
1061cb0ef41Sopenharmony_ci  V(EmbedderDataArray)                          \
1071cb0ef41Sopenharmony_ci  V(EphemeronHashTable)                         \
1081cb0ef41Sopenharmony_ci  V(ExternalOneByteString)                      \
1091cb0ef41Sopenharmony_ci  V(ExternalString)                             \
1101cb0ef41Sopenharmony_ci  V(ExternalTwoByteString)                      \
1111cb0ef41Sopenharmony_ci  V(FeedbackCell)                               \
1121cb0ef41Sopenharmony_ci  V(FeedbackMetadata)                           \
1131cb0ef41Sopenharmony_ci  V(FeedbackVector)                             \
1141cb0ef41Sopenharmony_ci  V(Filler)                                     \
1151cb0ef41Sopenharmony_ci  V(FixedArray)                                 \
1161cb0ef41Sopenharmony_ci  V(FixedArrayBase)                             \
1171cb0ef41Sopenharmony_ci  V(FixedArrayExact)                            \
1181cb0ef41Sopenharmony_ci  V(FixedDoubleArray)                           \
1191cb0ef41Sopenharmony_ci  V(Foreign)                                    \
1201cb0ef41Sopenharmony_ci  V(FreeSpace)                                  \
1211cb0ef41Sopenharmony_ci  V(Function)                                   \
1221cb0ef41Sopenharmony_ci  V(GlobalDictionary)                           \
1231cb0ef41Sopenharmony_ci  V(HandlerTable)                               \
1241cb0ef41Sopenharmony_ci  V(HeapNumber)                                 \
1251cb0ef41Sopenharmony_ci  V(InternalizedString)                         \
1261cb0ef41Sopenharmony_ci  V(JSArgumentsObject)                          \
1271cb0ef41Sopenharmony_ci  V(JSArray)                                    \
1281cb0ef41Sopenharmony_ci  V(JSArrayBuffer)                              \
1291cb0ef41Sopenharmony_ci  V(JSArrayBufferView)                          \
1301cb0ef41Sopenharmony_ci  V(JSArrayIterator)                            \
1311cb0ef41Sopenharmony_ci  V(JSAsyncFromSyncIterator)                    \
1321cb0ef41Sopenharmony_ci  V(JSAsyncFunctionObject)                      \
1331cb0ef41Sopenharmony_ci  V(JSAsyncGeneratorObject)                     \
1341cb0ef41Sopenharmony_ci  V(JSBoundFunction)                            \
1351cb0ef41Sopenharmony_ci  V(JSCollection)                               \
1361cb0ef41Sopenharmony_ci  V(JSCollectionIterator)                       \
1371cb0ef41Sopenharmony_ci  V(JSContextExtensionObject)                   \
1381cb0ef41Sopenharmony_ci  V(JSCustomElementsObject)                     \
1391cb0ef41Sopenharmony_ci  V(JSDataView)                                 \
1401cb0ef41Sopenharmony_ci  V(JSDate)                                     \
1411cb0ef41Sopenharmony_ci  V(JSError)                                    \
1421cb0ef41Sopenharmony_ci  V(JSExternalObject)                           \
1431cb0ef41Sopenharmony_ci  V(JSFinalizationRegistry)                     \
1441cb0ef41Sopenharmony_ci  V(JSFunction)                                 \
1451cb0ef41Sopenharmony_ci  V(JSFunctionOrBoundFunctionOrWrappedFunction) \
1461cb0ef41Sopenharmony_ci  V(JSGeneratorObject)                          \
1471cb0ef41Sopenharmony_ci  V(JSGlobalObject)                             \
1481cb0ef41Sopenharmony_ci  V(JSGlobalProxy)                              \
1491cb0ef41Sopenharmony_ci  V(JSMap)                                      \
1501cb0ef41Sopenharmony_ci  V(JSMapIterator)                              \
1511cb0ef41Sopenharmony_ci  V(JSMessageObject)                            \
1521cb0ef41Sopenharmony_ci  V(JSModuleNamespace)                          \
1531cb0ef41Sopenharmony_ci  V(JSObject)                                   \
1541cb0ef41Sopenharmony_ci  V(JSObjectWithEmbedderSlots)                  \
1551cb0ef41Sopenharmony_ci  V(JSPrimitiveWrapper)                         \
1561cb0ef41Sopenharmony_ci  V(JSPromise)                                  \
1571cb0ef41Sopenharmony_ci  V(JSProxy)                                    \
1581cb0ef41Sopenharmony_ci  V(JSReceiver)                                 \
1591cb0ef41Sopenharmony_ci  V(JSRegExp)                                   \
1601cb0ef41Sopenharmony_ci  V(JSRegExpStringIterator)                     \
1611cb0ef41Sopenharmony_ci  V(JSSet)                                      \
1621cb0ef41Sopenharmony_ci  V(JSSetIterator)                              \
1631cb0ef41Sopenharmony_ci  V(JSShadowRealm)                              \
1641cb0ef41Sopenharmony_ci  V(JSSharedStruct)                             \
1651cb0ef41Sopenharmony_ci  V(JSSpecialObject)                            \
1661cb0ef41Sopenharmony_ci  V(JSStringIterator)                           \
1671cb0ef41Sopenharmony_ci  V(JSTemporalCalendar)                         \
1681cb0ef41Sopenharmony_ci  V(JSTemporalDuration)                         \
1691cb0ef41Sopenharmony_ci  V(JSTemporalInstant)                          \
1701cb0ef41Sopenharmony_ci  V(JSTemporalPlainDate)                        \
1711cb0ef41Sopenharmony_ci  V(JSTemporalPlainTime)                        \
1721cb0ef41Sopenharmony_ci  V(JSTemporalPlainDateTime)                    \
1731cb0ef41Sopenharmony_ci  V(JSTemporalPlainMonthDay)                    \
1741cb0ef41Sopenharmony_ci  V(JSTemporalPlainYearMonth)                   \
1751cb0ef41Sopenharmony_ci  V(JSTemporalTimeZone)                         \
1761cb0ef41Sopenharmony_ci  V(JSTemporalZonedDateTime)                    \
1771cb0ef41Sopenharmony_ci  V(JSTypedArray)                               \
1781cb0ef41Sopenharmony_ci  V(JSWeakCollection)                           \
1791cb0ef41Sopenharmony_ci  V(JSWeakRef)                                  \
1801cb0ef41Sopenharmony_ci  V(JSWeakMap)                                  \
1811cb0ef41Sopenharmony_ci  V(JSWeakSet)                                  \
1821cb0ef41Sopenharmony_ci  V(JSWrappedFunction)                          \
1831cb0ef41Sopenharmony_ci  V(LoadHandler)                                \
1841cb0ef41Sopenharmony_ci  V(Map)                                        \
1851cb0ef41Sopenharmony_ci  V(MapCache)                                   \
1861cb0ef41Sopenharmony_ci  V(MegaDomHandler)                             \
1871cb0ef41Sopenharmony_ci  V(Module)                                     \
1881cb0ef41Sopenharmony_ci  V(Microtask)                                  \
1891cb0ef41Sopenharmony_ci  V(Name)                                       \
1901cb0ef41Sopenharmony_ci  V(NameDictionary)                             \
1911cb0ef41Sopenharmony_ci  V(NameToIndexHashTable)                       \
1921cb0ef41Sopenharmony_ci  V(NativeContext)                              \
1931cb0ef41Sopenharmony_ci  V(NormalizedMapCache)                         \
1941cb0ef41Sopenharmony_ci  V(NumberDictionary)                           \
1951cb0ef41Sopenharmony_ci  V(NumberWrapper)                              \
1961cb0ef41Sopenharmony_ci  V(ObjectHashSet)                              \
1971cb0ef41Sopenharmony_ci  V(ObjectHashTable)                            \
1981cb0ef41Sopenharmony_ci  V(Oddball)                                    \
1991cb0ef41Sopenharmony_ci  V(OrderedHashMap)                             \
2001cb0ef41Sopenharmony_ci  V(OrderedHashSet)                             \
2011cb0ef41Sopenharmony_ci  V(OrderedNameDictionary)                      \
2021cb0ef41Sopenharmony_ci  V(OSROptimizedCodeCache)                      \
2031cb0ef41Sopenharmony_ci  V(PreparseData)                               \
2041cb0ef41Sopenharmony_ci  V(PrimitiveHeapObject)                        \
2051cb0ef41Sopenharmony_ci  V(PromiseReactionJobTask)                     \
2061cb0ef41Sopenharmony_ci  V(PropertyArray)                              \
2071cb0ef41Sopenharmony_ci  V(PropertyCell)                               \
2081cb0ef41Sopenharmony_ci  V(RegExpMatchInfo)                            \
2091cb0ef41Sopenharmony_ci  V(ScopeInfo)                                  \
2101cb0ef41Sopenharmony_ci  V(ScriptContextTable)                         \
2111cb0ef41Sopenharmony_ci  V(ScriptWrapper)                              \
2121cb0ef41Sopenharmony_ci  V(SeqOneByteString)                           \
2131cb0ef41Sopenharmony_ci  V(SeqString)                                  \
2141cb0ef41Sopenharmony_ci  V(SeqTwoByteString)                           \
2151cb0ef41Sopenharmony_ci  V(SharedFunctionInfo)                         \
2161cb0ef41Sopenharmony_ci  V(SimpleNumberDictionary)                     \
2171cb0ef41Sopenharmony_ci  V(SlicedString)                               \
2181cb0ef41Sopenharmony_ci  V(SmallOrderedHashMap)                        \
2191cb0ef41Sopenharmony_ci  V(SmallOrderedHashSet)                        \
2201cb0ef41Sopenharmony_ci  V(SmallOrderedNameDictionary)                 \
2211cb0ef41Sopenharmony_ci  V(SourceTextModule)                           \
2221cb0ef41Sopenharmony_ci  V(SourceTextModuleInfo)                       \
2231cb0ef41Sopenharmony_ci  V(StoreHandler)                               \
2241cb0ef41Sopenharmony_ci  V(String)                                     \
2251cb0ef41Sopenharmony_ci  V(StringSet)                                  \
2261cb0ef41Sopenharmony_ci  V(RegisteredSymbolTable)                      \
2271cb0ef41Sopenharmony_ci  V(StringWrapper)                              \
2281cb0ef41Sopenharmony_ci  V(Struct)                                     \
2291cb0ef41Sopenharmony_ci  V(SwissNameDictionary)                        \
2301cb0ef41Sopenharmony_ci  V(Symbol)                                     \
2311cb0ef41Sopenharmony_ci  V(SymbolWrapper)                              \
2321cb0ef41Sopenharmony_ci  V(SyntheticModule)                            \
2331cb0ef41Sopenharmony_ci  V(TemplateInfo)                               \
2341cb0ef41Sopenharmony_ci  V(TemplateList)                               \
2351cb0ef41Sopenharmony_ci  V(ThinString)                                 \
2361cb0ef41Sopenharmony_ci  V(TransitionArray)                            \
2371cb0ef41Sopenharmony_ci  V(UncompiledData)                             \
2381cb0ef41Sopenharmony_ci  V(UncompiledDataWithPreparseData)             \
2391cb0ef41Sopenharmony_ci  V(UncompiledDataWithoutPreparseData)          \
2401cb0ef41Sopenharmony_ci  V(UncompiledDataWithPreparseDataAndJob)       \
2411cb0ef41Sopenharmony_ci  V(UncompiledDataWithoutPreparseDataWithJob)   \
2421cb0ef41Sopenharmony_ci  V(Undetectable)                               \
2431cb0ef41Sopenharmony_ci  V(UniqueName)                                 \
2441cb0ef41Sopenharmony_ci  IF_WASM(V, WasmApiFunctionRef)                \
2451cb0ef41Sopenharmony_ci  IF_WASM(V, WasmArray)                         \
2461cb0ef41Sopenharmony_ci  IF_WASM(V, WasmCapiFunctionData)              \
2471cb0ef41Sopenharmony_ci  IF_WASM(V, WasmTagObject)                     \
2481cb0ef41Sopenharmony_ci  IF_WASM(V, WasmExceptionPackage)              \
2491cb0ef41Sopenharmony_ci  IF_WASM(V, WasmExportedFunctionData)          \
2501cb0ef41Sopenharmony_ci  IF_WASM(V, WasmFunctionData)                  \
2511cb0ef41Sopenharmony_ci  IF_WASM(V, WasmGlobalObject)                  \
2521cb0ef41Sopenharmony_ci  IF_WASM(V, WasmInternalFunction)              \
2531cb0ef41Sopenharmony_ci  IF_WASM(V, WasmInstanceObject)                \
2541cb0ef41Sopenharmony_ci  IF_WASM(V, WasmJSFunctionData)                \
2551cb0ef41Sopenharmony_ci  IF_WASM(V, WasmMemoryObject)                  \
2561cb0ef41Sopenharmony_ci  IF_WASM(V, WasmModuleObject)                  \
2571cb0ef41Sopenharmony_ci  IF_WASM(V, WasmObject)                        \
2581cb0ef41Sopenharmony_ci  IF_WASM(V, WasmOnFulfilledData)               \
2591cb0ef41Sopenharmony_ci  IF_WASM(V, WasmStruct)                        \
2601cb0ef41Sopenharmony_ci  IF_WASM(V, WasmTypeInfo)                      \
2611cb0ef41Sopenharmony_ci  IF_WASM(V, WasmTableObject)                   \
2621cb0ef41Sopenharmony_ci  IF_WASM(V, WasmValueObject)                   \
2631cb0ef41Sopenharmony_ci  IF_WASM(V, WasmSuspenderObject)               \
2641cb0ef41Sopenharmony_ci  V(WeakFixedArray)                             \
2651cb0ef41Sopenharmony_ci  V(WeakArrayList)                              \
2661cb0ef41Sopenharmony_ci  V(WeakCell)                                   \
2671cb0ef41Sopenharmony_ci  TORQUE_DEFINED_CLASS_LIST(V)
2681cb0ef41Sopenharmony_ci
2691cb0ef41Sopenharmony_ci#ifdef V8_INTL_SUPPORT
2701cb0ef41Sopenharmony_ci#define HEAP_OBJECT_ORDINARY_TYPE_LIST(V) \
2711cb0ef41Sopenharmony_ci  HEAP_OBJECT_ORDINARY_TYPE_LIST_BASE(V)  \
2721cb0ef41Sopenharmony_ci  V(JSV8BreakIterator)                    \
2731cb0ef41Sopenharmony_ci  V(JSCollator)                           \
2741cb0ef41Sopenharmony_ci  V(JSDateTimeFormat)                     \
2751cb0ef41Sopenharmony_ci  V(JSDisplayNames)                       \
2761cb0ef41Sopenharmony_ci  V(JSListFormat)                         \
2771cb0ef41Sopenharmony_ci  V(JSLocale)                             \
2781cb0ef41Sopenharmony_ci  V(JSNumberFormat)                       \
2791cb0ef41Sopenharmony_ci  V(JSPluralRules)                        \
2801cb0ef41Sopenharmony_ci  V(JSRelativeTimeFormat)                 \
2811cb0ef41Sopenharmony_ci  V(JSSegmentIterator)                    \
2821cb0ef41Sopenharmony_ci  V(JSSegmenter)                          \
2831cb0ef41Sopenharmony_ci  V(JSSegments)
2841cb0ef41Sopenharmony_ci#else
2851cb0ef41Sopenharmony_ci#define HEAP_OBJECT_ORDINARY_TYPE_LIST(V) HEAP_OBJECT_ORDINARY_TYPE_LIST_BASE(V)
2861cb0ef41Sopenharmony_ci#endif  // V8_INTL_SUPPORT
2871cb0ef41Sopenharmony_ci
2881cb0ef41Sopenharmony_ci#define HEAP_OBJECT_TEMPLATE_TYPE_LIST(V) V(HashTable)
2891cb0ef41Sopenharmony_ci
2901cb0ef41Sopenharmony_ci// Logical sub-types of heap objects that don't correspond to a C++ class but
2911cb0ef41Sopenharmony_ci// represent some specialization in terms of additional constraints.
2921cb0ef41Sopenharmony_ci#define HEAP_OBJECT_SPECIALIZED_TYPE_LIST(V) \
2931cb0ef41Sopenharmony_ci  V(AwaitContext)                            \
2941cb0ef41Sopenharmony_ci  V(BlockContext)                            \
2951cb0ef41Sopenharmony_ci  V(CallableApiObject)                       \
2961cb0ef41Sopenharmony_ci  V(CallableJSProxy)                         \
2971cb0ef41Sopenharmony_ci  V(CatchContext)                            \
2981cb0ef41Sopenharmony_ci  V(DebugEvaluateContext)                    \
2991cb0ef41Sopenharmony_ci  V(EvalContext)                             \
3001cb0ef41Sopenharmony_ci  V(FreeSpaceOrFiller)                       \
3011cb0ef41Sopenharmony_ci  V(FunctionContext)                         \
3021cb0ef41Sopenharmony_ci  V(JSApiObject)                             \
3031cb0ef41Sopenharmony_ci  V(JSClassConstructor)                      \
3041cb0ef41Sopenharmony_ci  V(JSLastDummyApiObject)                    \
3051cb0ef41Sopenharmony_ci  V(JSPromiseConstructor)                    \
3061cb0ef41Sopenharmony_ci  V(JSArrayConstructor)                      \
3071cb0ef41Sopenharmony_ci  V(JSRegExpConstructor)                     \
3081cb0ef41Sopenharmony_ci  V(JSMapKeyIterator)                        \
3091cb0ef41Sopenharmony_ci  V(JSMapKeyValueIterator)                   \
3101cb0ef41Sopenharmony_ci  V(JSMapValueIterator)                      \
3111cb0ef41Sopenharmony_ci  V(JSSetKeyValueIterator)                   \
3121cb0ef41Sopenharmony_ci  V(JSSetValueIterator)                      \
3131cb0ef41Sopenharmony_ci  V(JSSpecialApiObject)                      \
3141cb0ef41Sopenharmony_ci  V(ModuleContext)                           \
3151cb0ef41Sopenharmony_ci  V(NonNullForeign)                          \
3161cb0ef41Sopenharmony_ci  V(ScriptContext)                           \
3171cb0ef41Sopenharmony_ci  V(WithContext)                             \
3181cb0ef41Sopenharmony_ci  V(JSPrototype)                             \
3191cb0ef41Sopenharmony_ci  V(JSObjectPrototype)                       \
3201cb0ef41Sopenharmony_ci  V(JSRegExpPrototype)                       \
3211cb0ef41Sopenharmony_ci  V(JSPromisePrototype)                      \
3221cb0ef41Sopenharmony_ci  V(JSSetPrototype)                          \
3231cb0ef41Sopenharmony_ci  V(JSIteratorPrototype)                     \
3241cb0ef41Sopenharmony_ci  V(JSArrayIteratorPrototype)                \
3251cb0ef41Sopenharmony_ci  V(JSMapIteratorPrototype)                  \
3261cb0ef41Sopenharmony_ci  V(JSTypedArrayPrototype)                   \
3271cb0ef41Sopenharmony_ci  V(JSSetIteratorPrototype)                  \
3281cb0ef41Sopenharmony_ci  V(JSStringIteratorPrototype)               \
3291cb0ef41Sopenharmony_ci  V(TypedArrayConstructor)                   \
3301cb0ef41Sopenharmony_ci  V(Uint8TypedArrayConstructor)              \
3311cb0ef41Sopenharmony_ci  V(Int8TypedArrayConstructor)               \
3321cb0ef41Sopenharmony_ci  V(Uint16TypedArrayConstructor)             \
3331cb0ef41Sopenharmony_ci  V(Int16TypedArrayConstructor)              \
3341cb0ef41Sopenharmony_ci  V(Uint32TypedArrayConstructor)             \
3351cb0ef41Sopenharmony_ci  V(Int32TypedArrayConstructor)              \
3361cb0ef41Sopenharmony_ci  V(Float32TypedArrayConstructor)            \
3371cb0ef41Sopenharmony_ci  V(Float64TypedArrayConstructor)            \
3381cb0ef41Sopenharmony_ci  V(Uint8ClampedTypedArrayConstructor)       \
3391cb0ef41Sopenharmony_ci  V(Biguint64TypedArrayConstructor)          \
3401cb0ef41Sopenharmony_ci  V(Bigint64TypedArrayConstructor)
3411cb0ef41Sopenharmony_ci
3421cb0ef41Sopenharmony_ci#define HEAP_OBJECT_TYPE_LIST(V)    \
3431cb0ef41Sopenharmony_ci  HEAP_OBJECT_ORDINARY_TYPE_LIST(V) \
3441cb0ef41Sopenharmony_ci  HEAP_OBJECT_TEMPLATE_TYPE_LIST(V) \
3451cb0ef41Sopenharmony_ci  HEAP_OBJECT_SPECIALIZED_TYPE_LIST(V)
3461cb0ef41Sopenharmony_ci
3471cb0ef41Sopenharmony_ci#define ODDBALL_LIST(V)                 \
3481cb0ef41Sopenharmony_ci  V(Undefined, undefined_value)         \
3491cb0ef41Sopenharmony_ci  V(Null, null_value)                   \
3501cb0ef41Sopenharmony_ci  V(TheHole, the_hole_value)            \
3511cb0ef41Sopenharmony_ci  V(Exception, exception)               \
3521cb0ef41Sopenharmony_ci  V(Uninitialized, uninitialized_value) \
3531cb0ef41Sopenharmony_ci  V(True, true_value)                   \
3541cb0ef41Sopenharmony_ci  V(False, false_value)                 \
3551cb0ef41Sopenharmony_ci  V(ArgumentsMarker, arguments_marker)  \
3561cb0ef41Sopenharmony_ci  V(OptimizedOut, optimized_out)        \
3571cb0ef41Sopenharmony_ci  V(StaleRegister, stale_register)
3581cb0ef41Sopenharmony_ci
3591cb0ef41Sopenharmony_ci}  // namespace internal
3601cb0ef41Sopenharmony_ci}  // namespace v8
3611cb0ef41Sopenharmony_ci
3621cb0ef41Sopenharmony_ci#endif  // V8_OBJECTS_OBJECT_LIST_MACROS_H_
363