summaryrefslogtreecommitdiff
path: root/deps/v8/src/objects/object-list-macros.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/objects/object-list-macros.h')
-rw-r--r--deps/v8/src/objects/object-list-macros.h270
1 files changed, 270 insertions, 0 deletions
diff --git a/deps/v8/src/objects/object-list-macros.h b/deps/v8/src/objects/object-list-macros.h
new file mode 100644
index 0000000000..78452de502
--- /dev/null
+++ b/deps/v8/src/objects/object-list-macros.h
@@ -0,0 +1,270 @@
+// 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_
+
+namespace v8 {
+namespace internal {
+
+class AbstractCode;
+class AccessorPair;
+class AccessCheckInfo;
+class AllocationSite;
+class ByteArray;
+class CachedTemplateObject;
+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 JSPromise;
+class JSProxy;
+class JSProxyRevocableResult;
+class KeyAccumulator;
+class LayoutDescriptor;
+class LookupIterator;
+class FieldType;
+class Module;
+class ModuleInfoEntry;
+class MutableHeapNumber;
+class ObjectHashTable;
+class ObjectTemplateInfo;
+class ObjectVisitor;
+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 FeedbackCell;
+class FeedbackMetadata;
+class FeedbackVector;
+class UncompiledData;
+class TemplateInfo;
+class TransitionArray;
+class TemplateList;
+class WasmInstanceObject;
+class WasmMemoryObject;
+template <typename T>
+class ZoneForwardList;
+
+#define OBJECT_TYPE_LIST(V) \
+ V(LayoutDescriptor) \
+ V(Primitive) \
+ V(Number) \
+ V(Numeric)
+
+#define HEAP_OBJECT_ORDINARY_TYPE_LIST_BASE(V) \
+ V(AbstractCode) \
+ V(AccessCheckNeeded) \
+ V(AllocationSite) \
+ V(ArrayList) \
+ V(BigInt) \
+ V(BigIntWrapper) \
+ V(ObjectBoilerplateDescription) \
+ V(Boolean) \
+ V(BooleanWrapper) \
+ V(BreakPoint) \
+ V(BreakPointInfo) \
+ V(ByteArray) \
+ V(BytecodeArray) \
+ V(CachedTemplateObject) \
+ V(CallHandlerInfo) \
+ V(Callable) \
+ V(Cell) \
+ V(ClassBoilerplate) \
+ V(Code) \
+ V(CodeDataContainer) \
+ 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(FrameArray) \
+ V(FreeSpace) \
+ V(Function) \
+ V(GlobalDictionary) \
+ V(HandlerTable) \
+ V(HeapNumber) \
+ V(InternalizedString) \
+ V(JSArgumentsObject) \
+ V(JSArgumentsObjectWithLength) \
+ V(JSArray) \
+ V(JSArrayBuffer) \
+ V(JSArrayBufferView) \
+ V(JSArrayIterator) \
+ V(JSAsyncFromSyncIterator) \
+ V(JSAsyncFunctionObject) \
+ V(JSAsyncGeneratorObject) \
+ V(JSBoundFunction) \
+ V(JSCollection) \
+ V(JSContextExtensionObject) \
+ V(JSDataView) \
+ V(JSDate) \
+ V(JSError) \
+ V(JSFunction) \
+ V(JSGeneratorObject) \
+ V(JSGlobalObject) \
+ V(JSGlobalProxy) \
+ V(JSMap) \
+ V(JSMapIterator) \
+ V(JSMessageObject) \
+ V(JSModuleNamespace) \
+ V(JSObject) \
+ V(JSPromise) \
+ V(JSProxy) \
+ V(JSReceiver) \
+ V(JSRegExp) \
+ V(JSRegExpResult) \
+ V(JSRegExpStringIterator) \
+ V(JSSet) \
+ V(JSSetIterator) \
+ V(JSSloppyArgumentsObject) \
+ V(JSStringIterator) \
+ V(JSTypedArray) \
+ V(JSValue) \
+ V(JSWeakRef) \
+ V(JSWeakCollection) \
+ V(JSFinalizationGroup) \
+ V(JSFinalizationGroupCleanupIterator) \
+ V(JSWeakMap) \
+ V(JSWeakSet) \
+ V(LoadHandler) \
+ V(Map) \
+ V(MapCache) \
+ V(Microtask) \
+ V(ModuleInfo) \
+ V(MutableHeapNumber) \
+ V(Name) \
+ V(NameDictionary) \
+ V(NativeContext) \
+ V(NormalizedMapCache) \
+ V(NumberDictionary) \
+ V(NumberWrapper) \
+ V(ObjectHashSet) \
+ V(ObjectHashTable) \
+ V(Oddball) \
+ V(OrderedHashMap) \
+ V(OrderedHashSet) \
+ V(OrderedNameDictionary) \
+ V(PreparseData) \
+ V(PromiseReactionJobTask) \
+ V(PropertyArray) \
+ V(PropertyCell) \
+ V(PropertyDescriptorObject) \
+ V(RegExpMatchInfo) \
+ V(ScopeInfo) \
+ V(ScriptContextTable) \
+ V(ScriptWrapper) \
+ V(SeqOneByteString) \
+ V(SeqString) \
+ V(SeqTwoByteString) \
+ V(SharedFunctionInfo) \
+ V(SimpleNumberDictionary) \
+ V(SlicedString) \
+ V(SloppyArgumentsElements) \
+ V(SmallOrderedHashMap) \
+ V(SmallOrderedHashSet) \
+ V(SmallOrderedNameDictionary) \
+ V(StoreHandler) \
+ V(String) \
+ V(StringSet) \
+ V(StringTable) \
+ V(StringWrapper) \
+ V(Struct) \
+ V(Symbol) \
+ V(SymbolWrapper) \
+ V(TemplateInfo) \
+ V(TemplateList) \
+ V(ThinString) \
+ V(TransitionArray) \
+ V(UncompiledData) \
+ V(UncompiledDataWithPreparseData) \
+ V(UncompiledDataWithoutPreparseData) \
+ V(Undetectable) \
+ V(UniqueName) \
+ V(WasmExceptionObject) \
+ V(WasmGlobalObject) \
+ V(WasmInstanceObject) \
+ V(WasmMemoryObject) \
+ V(WasmModuleObject) \
+ V(WasmTableObject) \
+ V(WeakFixedArray) \
+ V(WeakArrayList) \
+ V(WeakCell)
+
+#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(JSListFormat) \
+ V(JSLocale) \
+ V(JSNumberFormat) \
+ V(JSPluralRules) \
+ V(JSRelativeTimeFormat) \
+ V(JSSegmentIterator) \
+ V(JSSegmenter)
+#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)
+
+#define HEAP_OBJECT_TYPE_LIST(V) \
+ HEAP_OBJECT_ORDINARY_TYPE_LIST(V) \
+ HEAP_OBJECT_TEMPLATE_TYPE_LIST(V)
+
+#define ODDBALL_LIST(V) \
+ V(Undefined, undefined_value) \
+ V(Null, null_value) \
+ V(TheHole, the_hole_value) \
+ V(Exception, exception) \
+ V(Uninitialized, uninitialized_value) \
+ V(True, true_value) \
+ V(False, false_value) \
+ V(ArgumentsMarker, arguments_marker) \
+ V(OptimizedOut, optimized_out) \
+ V(StaleRegister, stale_register)
+
+} // namespace internal
+} // namespace v8
+
+#endif // V8_OBJECTS_OBJECT_LIST_MACROS_H_