%PDF- %PDF-
Direktori : /home/vacivi36/vittasync.vacivitta.com.br/vittasync/node/deps/v8/src/objects/ |
Current File : /home/vacivi36/vittasync.vacivitta.com.br/vittasync/node/deps/v8/src/objects/object-list-macros.h |
// Copyright 2019 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef V8_OBJECTS_OBJECT_LIST_MACROS_H_ #define V8_OBJECTS_OBJECT_LIST_MACROS_H_ #include "torque-generated/instance-types.h" namespace v8 { namespace internal { class AbstractCode; class AccessorPair; class AccessCheckInfo; class AllocationSite; class ByteArray; class ExternalPointerArray; class Cell; class ClosureFeedbackCellArray; class ConsString; class DependentCode; class ElementsAccessor; class EnumCache; class FixedArrayBase; class FixedDoubleArray; class FreeSpace; class FunctionLiteral; class FunctionTemplateInfo; class JSAsyncGeneratorObject; class JSGlobalProxy; class SourceTextModule; class JSPromise; class JSProxy; class JSProxyRevocableResult; class KeyAccumulator; class LookupIterator; class FieldType; class Module; class SourceTextModuleInfoEntry; class HeapNumber; class ObjectHashTable; class ObjectTemplateInfo; class ObjectVisitor; class OSROptimizedCodeCache; class PreparseData; class PropertyArray; class PropertyCell; class PropertyDescriptor; class PrototypeInfo; class ReadOnlyRoots; class RegExpMatchInfo; class RootVisitor; class SafepointEntry; class ScriptContextTable; class SharedFunctionInfo; class StringStream; class Symbol; class SyntheticModule; class FeedbackCell; class FeedbackMetadata; class FeedbackVector; class UncompiledData; class TemplateInfo; class TransitionArray; class WasmInstanceObject; class WasmMemoryObject; template <typename T> class ZoneForwardList; #define OBJECT_TYPE_LIST(V) \ V(Primitive) \ V(Number) \ V(Numeric) #define HEAP_OBJECT_ORDINARY_TYPE_LIST_BASE(V) \ V(AbstractCode) \ V(AccessCheckNeeded) \ V(AccessorInfo) \ V(AllocationSite) \ V(AlwaysSharedSpaceJSObject) \ V(ArrayList) \ V(BigInt) \ V(BigIntBase) \ V(BigIntWrapper) \ V(ObjectBoilerplateDescription) \ V(Boolean) \ V(BooleanWrapper) \ V(ByteArray) \ V(ExternalPointerArray) \ V(BytecodeArray) \ V(CallHandlerInfo) \ V(Callable) \ V(Cell) \ V(ClassBoilerplate) \ V(InstructionStream) \ V(Code) \ V(CompilationCacheTable) \ V(ConsString) \ V(Constructor) \ V(Context) \ V(CoverageInfo) \ V(ClosureFeedbackCellArray) \ V(DataHandler) \ V(DeoptimizationData) \ V(DependentCode) \ V(DescriptorArray) \ V(EmbedderDataArray) \ V(EphemeronHashTable) \ V(ExternalOneByteString) \ V(ExternalString) \ V(ExternalTwoByteString) \ V(FeedbackCell) \ V(FeedbackMetadata) \ V(FeedbackVector) \ V(Filler) \ V(FixedArray) \ V(FixedArrayBase) \ V(FixedArrayExact) \ V(FixedDoubleArray) \ V(Foreign) \ V(FreeSpace) \ V(Function) \ V(GcSafeCode) \ V(GlobalDictionary) \ V(HandlerTable) \ V(HeapNumber) \ V(InternalizedString) \ V(JSArgumentsObject) \ V(JSArray) \ V(JSArrayBuffer) \ V(JSArrayBufferView) \ V(JSArrayIterator) \ V(JSAsyncFromSyncIterator) \ V(JSAsyncFunctionObject) \ V(JSAsyncGeneratorObject) \ V(JSAtomicsCondition) \ V(JSAtomicsMutex) \ V(JSBoundFunction) \ V(JSCollection) \ V(JSCollectionIterator) \ V(JSContextExtensionObject) \ V(JSCustomElementsObject) \ V(JSDataView) \ V(JSDataViewOrRabGsabDataView) \ V(JSDate) \ V(JSError) \ V(JSExternalObject) \ V(JSFinalizationRegistry) \ V(JSFunction) \ V(JSFunctionOrBoundFunctionOrWrappedFunction) \ V(JSGeneratorObject) \ V(JSGlobalObject) \ V(JSGlobalProxy) \ V(JSIteratorHelper) \ V(JSIteratorFilterHelper) \ V(JSIteratorMapHelper) \ V(JSIteratorTakeHelper) \ V(JSIteratorDropHelper) \ V(JSIteratorFlatMapHelper) \ V(JSMap) \ V(JSMapIterator) \ V(JSMessageObject) \ V(JSModuleNamespace) \ V(JSObject) \ V(JSObjectWithEmbedderSlots) \ V(JSPrimitiveWrapper) \ V(JSPromise) \ V(JSProxy) \ V(JSRabGsabDataView) \ V(JSRawJson) \ V(JSReceiver) \ V(JSRegExp) \ V(JSRegExpStringIterator) \ V(JSSet) \ V(JSSetIterator) \ V(JSShadowRealm) \ V(JSSharedArray) \ V(JSSharedStruct) \ V(JSSpecialObject) \ V(JSStringIterator) \ V(JSSynchronizationPrimitive) \ V(JSTemporalCalendar) \ V(JSTemporalDuration) \ V(JSTemporalInstant) \ V(JSTemporalPlainDate) \ V(JSTemporalPlainTime) \ V(JSTemporalPlainDateTime) \ V(JSTemporalPlainMonthDay) \ V(JSTemporalPlainYearMonth) \ V(JSTemporalTimeZone) \ V(JSTemporalZonedDateTime) \ V(JSTypedArray) \ V(JSValidIteratorWrapper) \ V(JSWeakCollection) \ V(JSWeakRef) \ V(JSWeakMap) \ V(JSWeakSet) \ V(JSWrappedFunction) \ V(LoadHandler) \ V(Map) \ V(MapCache) \ V(MegaDomHandler) \ V(Module) \ V(Microtask) \ V(Name) \ V(NameDictionary) \ V(NameToIndexHashTable) \ V(NativeContext) \ V(NormalizedMapCache) \ V(NumberDictionary) \ V(NumberWrapper) \ V(ObjectHashSet) \ V(ObjectHashTable) \ V(ObjectTwoHashTable) \ V(Oddball) \ V(Hole) \ V(OrderedHashMap) \ V(OrderedHashSet) \ V(OrderedNameDictionary) \ V(OSROptimizedCodeCache) \ V(PreparseData) \ V(PrimitiveHeapObject) \ V(PromiseReactionJobTask) \ V(PropertyArray) \ V(PropertyCell) \ V(RegExpMatchInfo) \ V(ScopeInfo) \ V(ScriptContextTable) \ V(ScriptWrapper) \ V(SeqOneByteString) \ V(SeqString) \ V(SeqTwoByteString) \ V(SharedFunctionInfo) \ V(SimpleNumberDictionary) \ V(SlicedString) \ V(SmallOrderedHashMap) \ V(SmallOrderedHashSet) \ V(SmallOrderedNameDictionary) \ V(SourceTextModule) \ V(SourceTextModuleInfo) \ V(StoreHandler) \ V(String) \ V(StringSet) \ V(RegisteredSymbolTable) \ V(StringWrapper) \ V(Struct) \ V(SwissNameDictionary) \ V(Symbol) \ V(SymbolWrapper) \ V(SyntheticModule) \ V(TemplateInfo) \ V(TemplateLiteralObject) \ V(ThinString) \ V(TransitionArray) \ V(TrustedObject) \ V(ExposedTrustedObject) \ V(TurboshaftFloat64RangeType) \ V(TurboshaftFloat64SetType) \ V(TurboshaftFloat64Type) \ V(TurboshaftType) \ V(TurboshaftWord32RangeType) \ V(TurboshaftWord32SetType) \ V(TurboshaftWord32Type) \ V(TurboshaftWord64RangeType) \ V(TurboshaftWord64SetType) \ V(TurboshaftWord64Type) \ V(UncompiledData) \ V(UncompiledDataWithPreparseData) \ V(UncompiledDataWithoutPreparseData) \ V(UncompiledDataWithPreparseDataAndJob) \ V(UncompiledDataWithoutPreparseDataWithJob) \ V(Undetectable) \ V(UniqueName) \ IF_WASM(V, WasmApiFunctionRef) \ IF_WASM(V, WasmArray) \ IF_WASM(V, WasmCapiFunctionData) \ IF_WASM(V, WasmTagObject) \ IF_WASM(V, WasmExceptionPackage) \ IF_WASM(V, WasmExportedFunctionData) \ IF_WASM(V, WasmFunctionData) \ IF_WASM(V, WasmGlobalObject) \ IF_WASM(V, WasmInternalFunction) \ IF_WASM(V, WasmInstanceObject) \ IF_WASM(V, WasmJSFunctionData) \ IF_WASM(V, WasmMemoryObject) \ IF_WASM(V, WasmModuleObject) \ IF_WASM(V, WasmObject) \ IF_WASM(V, WasmResumeData) \ IF_WASM(V, WasmStruct) \ IF_WASM(V, WasmTypeInfo) \ IF_WASM(V, WasmTableObject) \ IF_WASM(V, WasmValueObject) \ IF_WASM(V, WasmSuspenderObject) \ IF_WASM(V, WasmContinuationObject) \ IF_WASM(V, WasmNull) \ V(WeakFixedArray) \ V(WeakArrayList) \ V(WeakCell) \ TORQUE_DEFINED_CLASS_LIST(V) #ifdef V8_INTL_SUPPORT #define HEAP_OBJECT_ORDINARY_TYPE_LIST(V) \ HEAP_OBJECT_ORDINARY_TYPE_LIST_BASE(V) \ V(JSV8BreakIterator) \ V(JSCollator) \ V(JSDateTimeFormat) \ V(JSDisplayNames) \ V(JSDurationFormat) \ V(JSListFormat) \ V(JSLocale) \ V(JSNumberFormat) \ V(JSPluralRules) \ V(JSRelativeTimeFormat) \ V(JSSegmentIterator) \ V(JSSegmenter) \ V(JSSegments) #else #define HEAP_OBJECT_ORDINARY_TYPE_LIST(V) HEAP_OBJECT_ORDINARY_TYPE_LIST_BASE(V) #endif // V8_INTL_SUPPORT #define HEAP_OBJECT_TEMPLATE_TYPE_LIST(V) V(HashTable) // Logical sub-types of heap objects that don't correspond to a C++ class but // represent some specialization in terms of additional constraints. #define HEAP_OBJECT_SPECIALIZED_TYPE_LIST(V) \ V(AwaitContext) \ V(BlockContext) \ V(CallableApiObject) \ V(CallableJSProxy) \ V(CatchContext) \ V(DebugEvaluateContext) \ V(EvalContext) \ V(FreeSpaceOrFiller) \ V(FunctionContext) \ V(JSApiObject) \ V(JSClassConstructor) \ V(JSLastDummyApiObject) \ V(JSPromiseConstructor) \ V(JSArrayConstructor) \ V(JSRegExpConstructor) \ V(JSMapKeyIterator) \ V(JSMapKeyValueIterator) \ V(JSMapValueIterator) \ V(JSSetKeyValueIterator) \ V(JSSetValueIterator) \ V(JSSpecialApiObject) \ V(ModuleContext) \ V(NonNullForeign) \ V(ScriptContext) \ V(WithContext) \ V(JSPrototype) \ V(JSObjectPrototype) \ V(JSRegExpPrototype) \ V(JSPromisePrototype) \ V(JSSetPrototype) \ V(JSIteratorPrototype) \ V(JSArrayIteratorPrototype) \ V(JSMapIteratorPrototype) \ V(JSTypedArrayPrototype) \ V(JSSetIteratorPrototype) \ V(JSStringIteratorPrototype) \ V(TypedArrayConstructor) \ V(Uint8TypedArrayConstructor) \ V(Int8TypedArrayConstructor) \ V(Uint16TypedArrayConstructor) \ V(Int16TypedArrayConstructor) \ V(Uint32TypedArrayConstructor) \ V(Int32TypedArrayConstructor) \ V(Float32TypedArrayConstructor) \ V(Float64TypedArrayConstructor) \ V(Uint8ClampedTypedArrayConstructor) \ V(Biguint64TypedArrayConstructor) \ V(Bigint64TypedArrayConstructor) #define HEAP_OBJECT_TYPE_LIST(V) \ HEAP_OBJECT_ORDINARY_TYPE_LIST(V) \ HEAP_OBJECT_TEMPLATE_TYPE_LIST(V) \ HEAP_OBJECT_SPECIALIZED_TYPE_LIST(V) #define ODDBALL_LIST(V) \ V(Undefined, undefined_value, UndefinedValue) \ V(Null, null_value, NullValue) \ V(Exception, exception, Exception) \ V(Uninitialized, uninitialized_value, UninitializedValue) \ V(True, true_value, TrueValue) \ V(False, false_value, FalseValue) \ V(ArgumentsMarker, arguments_marker, ArgumentsMarker) \ V(OptimizedOut, optimized_out, OptimizedOut) \ V(StaleRegister, stale_register, StaleRegister) #define HOLE_LIST(V) \ V(TheHole, the_hole_value, TheHoleValue) \ V(PropertyCellHole, property_cell_hole_value, PropertyCellHoleValue) \ V(HashTableHole, hash_table_hole_value, HashTableHoleValue) } // namespace internal } // namespace v8 #endif // V8_OBJECTS_OBJECT_LIST_MACROS_H_