[cleanup] Move object lists macros and forward declarations from objects.h
... to a separate file. Bug: v8:9183 Change-Id: I87f98ed0fec84eb32403c3447bec7be50a79261d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588095 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61094}
This commit is contained in:
parent
ebc8998095
commit
28294e877c
1
BUILD.gn
1
BUILD.gn
@ -2512,6 +2512,7 @@ v8_source_set("v8_base_without_compiler") {
|
||||
"src/objects/module.h",
|
||||
"src/objects/name-inl.h",
|
||||
"src/objects/name.h",
|
||||
"src/objects/object-list-macros.h",
|
||||
"src/objects/object-macros-undef.h",
|
||||
"src/objects/object-macros.h",
|
||||
"src/objects/oddball-inl.h",
|
||||
|
280
src/objects.h
280
src/objects.h
@ -23,6 +23,7 @@
|
||||
#include "src/flags.h"
|
||||
#include "src/message-template.h"
|
||||
#include "src/objects-definitions.h"
|
||||
#include "src/objects/object-list-macros.h"
|
||||
#include "src/property-details.h"
|
||||
#include "src/utils.h"
|
||||
|
||||
@ -250,285 +251,6 @@ bool ComparisonResultToBool(Operation op, ComparisonResult result);
|
||||
|
||||
enum class OnNonExistent { kThrowReferenceError, kReturnUndefined };
|
||||
|
||||
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;
|
||||
|
||||
#ifdef OBJECT_PRINT
|
||||
#define DECL_PRINTER(Name) void Name##Print(std::ostream& os); // NOLINT
|
||||
#else
|
||||
#define DECL_PRINTER(Name)
|
||||
#endif
|
||||
|
||||
#define OBJECT_TYPE_LIST(V) \
|
||||
V(Smi) \
|
||||
V(LayoutDescriptor) \
|
||||
V(HeapObject) \
|
||||
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(FixedBigInt64Array) \
|
||||
V(FixedBigUint64Array) \
|
||||
V(FixedDoubleArray) \
|
||||
V(FixedFloat32Array) \
|
||||
V(FixedFloat64Array) \
|
||||
V(FixedInt16Array) \
|
||||
V(FixedInt32Array) \
|
||||
V(FixedInt8Array) \
|
||||
V(FixedTypedArrayBase) \
|
||||
V(FixedUint16Array) \
|
||||
V(FixedUint32Array) \
|
||||
V(FixedUint8Array) \
|
||||
V(FixedUint8ClampedArray) \
|
||||
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(TemplateObjectDescription) \
|
||||
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(Dictionary) \
|
||||
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)
|
||||
|
||||
// The element types selection for CreateListFromArrayLike.
|
||||
enum class ElementTypes { kAll, kStringAndSymbol };
|
||||
|
||||
|
287
src/objects/object-list-macros.h
Normal file
287
src/objects/object-list-macros.h
Normal file
@ -0,0 +1,287 @@
|
||||
// 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(Smi) \
|
||||
V(LayoutDescriptor) \
|
||||
V(HeapObject) \
|
||||
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(FixedBigInt64Array) \
|
||||
V(FixedBigUint64Array) \
|
||||
V(FixedDoubleArray) \
|
||||
V(FixedFloat32Array) \
|
||||
V(FixedFloat64Array) \
|
||||
V(FixedInt16Array) \
|
||||
V(FixedInt32Array) \
|
||||
V(FixedInt8Array) \
|
||||
V(FixedTypedArrayBase) \
|
||||
V(FixedUint16Array) \
|
||||
V(FixedUint32Array) \
|
||||
V(FixedUint8Array) \
|
||||
V(FixedUint8ClampedArray) \
|
||||
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(TemplateObjectDescription) \
|
||||
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(Dictionary) \
|
||||
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_
|
@ -57,8 +57,10 @@
|
||||
#undef RELAXED_WRITE_WEAK_FIELD
|
||||
#undef WRITE_BARRIER
|
||||
#undef WEAK_WRITE_BARRIER
|
||||
#undef EPHEMERON_KEY_WRITE_BARRIER
|
||||
#undef CONDITIONAL_WRITE_BARRIER
|
||||
#undef CONDITIONAL_WEAK_WRITE_BARRIER
|
||||
#undef CONDITIONAL_EPHEMERON_KEY_WRITE_BARRIER
|
||||
#undef READ_DOUBLE_FIELD
|
||||
#undef WRITE_DOUBLE_FIELD
|
||||
#undef READ_INT_FIELD
|
||||
@ -97,6 +99,8 @@
|
||||
#undef RELAXED_READ_BYTE_FIELD
|
||||
#undef WRITE_BYTE_FIELD
|
||||
#undef RELAXED_WRITE_BYTE_FIELD
|
||||
#undef DECL_PRINTER
|
||||
#undef DECL_VERIFIER
|
||||
#undef EXPORT_DECL_VERIFIER
|
||||
#undef DEFINE_DEOPT_ELEMENT_ACCESSORS
|
||||
#undef DEFINE_DEOPT_ENTRY_ACCESSORS
|
||||
|
@ -493,6 +493,12 @@
|
||||
base::Relaxed_Store(reinterpret_cast<base::Atomic8*>(FIELD_ADDR(p, offset)), \
|
||||
static_cast<base::Atomic8>(value));
|
||||
|
||||
#ifdef OBJECT_PRINT
|
||||
#define DECL_PRINTER(Name) void Name##Print(std::ostream& os); // NOLINT
|
||||
#else
|
||||
#define DECL_PRINTER(Name)
|
||||
#endif
|
||||
|
||||
#ifdef VERIFY_HEAP
|
||||
#define DECL_VERIFIER(Name) void Name##Verify(Isolate* isolate);
|
||||
#define EXPORT_DECL_VERIFIER(Name) \
|
||||
|
Loading…
Reference in New Issue
Block a user