Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index 733a041b399ee20dfc218cbf26331a65a71188b1..ec512f4a5023274c82e9c0d0de1e4ac3450c4cbc 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -136,17 +136,6 @@ |
V(Map, fixed_float32_array_map, FixedFloat32ArrayMap) \ |
V(Map, fixed_float64_array_map, FixedFloat64ArrayMap) \ |
V(Map, fixed_uint8_clamped_array_map, FixedUint8ClampedArrayMap) \ |
- /* Oddball maps */ \ |
- V(Map, undefined_map, UndefinedMap) \ |
- V(Map, the_hole_map, TheHoleMap) \ |
- V(Map, null_map, NullMap) \ |
- V(Map, boolean_map, BooleanMap) \ |
- V(Map, uninitialized_map, UninitializedMap) \ |
- V(Map, arguments_marker_map, ArgumentsMarkerMap) \ |
- V(Map, exception_map, ExceptionMap) \ |
- V(Map, termination_exception_map, TerminationExceptionMap) \ |
- V(Map, optimized_out_map, OptimizedOutMap) \ |
- V(Map, stale_register_map, StaleRegisterMap) \ |
/* Canonical empty values */ \ |
V(ByteArray, empty_byte_array, EmptyByteArray) \ |
V(FixedTypedArrayBase, empty_fixed_uint8_array, EmptyFixedUint8Array) \ |
@@ -166,7 +155,6 @@ |
EmptySlowElementDictionary) \ |
V(PropertyCell, empty_property_cell, EmptyPropertyCell) \ |
V(WeakCell, empty_weak_cell, EmptyWeakCell) \ |
- V(InterceptorInfo, noop_interceptor_info, NoOpInterceptorInfo) \ |
/* Protectors */ \ |
V(PropertyCell, array_protector, ArrayProtector) \ |
V(Cell, is_concat_spreadable_protector, IsConcatSpreadableProtector) \ |
@@ -176,9 +164,6 @@ |
V(PropertyCell, array_iterator_protector, ArrayIteratorProtector) \ |
V(PropertyCell, array_buffer_neutering_protector, \ |
ArrayBufferNeuteringProtector) \ |
- /* JS Entries */ \ |
- V(Code, js_entry_code, JsEntryCode) \ |
- V(Code, js_construct_entry_code, JsConstructEntryCode) \ |
/* Special numbers */ \ |
V(HeapNumber, nan_value, NanValue) \ |
V(HeapNumber, hole_nan_value, HoleNanValue) \ |
@@ -216,7 +201,22 @@ |
V(Object, noscript_shared_function_infos, NoScriptSharedFunctionInfos) \ |
V(FixedArray, serialized_templates, SerializedTemplates) \ |
V(FixedArray, serialized_global_proxy_sizes, SerializedGlobalProxySizes) \ |
+ /* Configured values */ \ |
V(TemplateList, message_listeners, MessageListeners) \ |
+ V(InterceptorInfo, noop_interceptor_info, NoOpInterceptorInfo) \ |
+ V(Code, js_entry_code, JsEntryCode) \ |
+ V(Code, js_construct_entry_code, JsConstructEntryCode) \ |
+ /* Oddball maps */ \ |
+ V(Map, undefined_map, UndefinedMap) \ |
+ V(Map, the_hole_map, TheHoleMap) \ |
+ V(Map, null_map, NullMap) \ |
+ V(Map, boolean_map, BooleanMap) \ |
+ V(Map, uninitialized_map, UninitializedMap) \ |
+ V(Map, arguments_marker_map, ArgumentsMarkerMap) \ |
+ V(Map, exception_map, ExceptionMap) \ |
+ V(Map, termination_exception_map, TerminationExceptionMap) \ |
+ V(Map, optimized_out_map, OptimizedOutMap) \ |
+ V(Map, stale_register_map, StaleRegisterMap) \ |
/* per-Isolate map for JSPromiseCapability. */ \ |
/* TODO(caitp): Make this a Struct */ \ |
V(Map, js_promise_capability_map, JSPromiseCapabilityMap) |
@@ -248,93 +248,64 @@ |
// Heap roots that are known to be immortal immovable, for which we can safely |
// skip write barriers. This list is not complete and has omissions. |
#define IMMORTAL_IMMOVABLE_ROOT_LIST(V) \ |
- V(ArgumentsMarker) \ |
- V(ArgumentsMarkerMap) \ |
- V(ArrayBufferNeuteringProtector) \ |
- V(ArrayIteratorProtector) \ |
- V(ArrayProtector) \ |
- V(BlockContextMap) \ |
- V(BooleanMap) \ |
V(ByteArrayMap) \ |
V(BytecodeArrayMap) \ |
- V(CatchContextMap) \ |
+ V(FreeSpaceMap) \ |
+ V(OnePointerFillerMap) \ |
+ V(TwoPointerFillerMap) \ |
+ V(UndefinedValue) \ |
+ V(TheHoleValue) \ |
+ V(NullValue) \ |
+ V(TrueValue) \ |
+ V(FalseValue) \ |
+ V(UninitializedValue) \ |
V(CellMap) \ |
+ V(GlobalPropertyCellMap) \ |
+ V(SharedFunctionInfoMap) \ |
+ V(MetaMap) \ |
+ V(HeapNumberMap) \ |
+ V(MutableHeapNumberMap) \ |
+ V(NativeContextMap) \ |
+ V(FixedArrayMap) \ |
V(CodeMap) \ |
+ V(ScopeInfoMap) \ |
+ V(ModuleInfoMap) \ |
+ V(FixedCOWArrayMap) \ |
+ V(FixedDoubleArrayMap) \ |
+ V(WeakCellMap) \ |
+ V(TransitionArrayMap) \ |
+ V(HashTableMap) \ |
+ V(OrderedHashTableMap) \ |
+ V(EmptyFixedArray) \ |
V(EmptyByteArray) \ |
V(EmptyDescriptorArray) \ |
- V(EmptyFixedArray) \ |
- V(EmptyFixedFloat32Array) \ |
- V(EmptyFixedFloat64Array) \ |
- V(EmptyFixedInt16Array) \ |
- V(EmptyFixedInt32Array) \ |
- V(EmptyFixedInt8Array) \ |
- V(EmptyFixedUint16Array) \ |
- V(EmptyFixedUint32Array) \ |
- V(EmptyFixedUint8Array) \ |
- V(EmptyFixedUint8ClampedArray) \ |
- V(EmptyPropertyCell) \ |
- V(EmptyScopeInfo) \ |
- V(EmptyScript) \ |
- V(EmptySloppyArgumentsElements) \ |
- V(EmptySlowElementDictionary) \ |
+ V(ArgumentsMarker) \ |
+ V(SymbolMap) \ |
+ V(SloppyArgumentsElementsMap) \ |
+ V(FunctionContextMap) \ |
+ V(CatchContextMap) \ |
+ V(WithContextMap) \ |
+ V(BlockContextMap) \ |
+ V(ModuleContextMap) \ |
+ V(EvalContextMap) \ |
+ V(ScriptContextMap) \ |
+ V(UndefinedMap) \ |
+ V(TheHoleMap) \ |
+ V(NullMap) \ |
+ V(BooleanMap) \ |
+ V(UninitializedMap) \ |
+ V(ArgumentsMarkerMap) \ |
+ V(JSMessageObjectMap) \ |
+ V(ForeignMap) \ |
+ V(NoClosuresCellMap) \ |
+ V(OneClosureCellMap) \ |
+ V(ManyClosuresCellMap) \ |
+ V(NanValue) \ |
+ V(InfinityValue) \ |
+ V(MinusZeroValue) \ |
+ V(MinusInfinityValue) \ |
+ V(EmptyWeakCell) \ |
V(empty_string) \ |
- V(EmptyWeakCell) \ |
- V(EvalContextMap) \ |
- V(Exception) \ |
- V(FalseValue) \ |
- V(FastArrayIterationProtector) \ |
- V(FixedArrayMap) \ |
- V(FixedCOWArrayMap) \ |
- V(FixedDoubleArrayMap) \ |
- V(ForeignMap) \ |
- V(FreeSpaceMap) \ |
- V(FunctionContextMap) \ |
- V(GlobalPropertyCellMap) \ |
- V(HashTableMap) \ |
- V(HeapNumberMap) \ |
- V(HoleNanValue) \ |
- V(InfinityValue) \ |
- V(IsConcatSpreadableProtector) \ |
- V(JsConstructEntryCode) \ |
- V(JsEntryCode) \ |
- V(JSMessageObjectMap) \ |
- V(ManyClosuresCellMap) \ |
- V(MetaMap) \ |
- V(MinusInfinityValue) \ |
- V(MinusZeroValue) \ |
- V(ModuleContextMap) \ |
- V(ModuleInfoMap) \ |
- V(MutableHeapNumberMap) \ |
- V(NanValue) \ |
- V(NativeContextMap) \ |
- V(NoClosuresCellMap) \ |
- V(NullMap) \ |
- V(NullValue) \ |
- V(OneClosureCellMap) \ |
- V(OnePointerFillerMap) \ |
- V(OptimizedOut) \ |
- V(OrderedHashTableMap) \ |
- V(ScopeInfoMap) \ |
- V(ScriptContextMap) \ |
- V(SharedFunctionInfoMap) \ |
- V(SloppyArgumentsElementsMap) \ |
- V(SpeciesProtector) \ |
- V(StaleRegister) \ |
- V(StringLengthProtector) \ |
- V(SymbolMap) \ |
- V(TerminationException) \ |
- V(TheHoleMap) \ |
- V(TheHoleValue) \ |
- V(TransitionArrayMap) \ |
- V(TrueValue) \ |
- V(TwoPointerFillerMap) \ |
- V(UndefinedCell) \ |
- V(UndefinedMap) \ |
- V(UndefinedValue) \ |
- V(UninitializedMap) \ |
- V(UninitializedValue) \ |
- V(WeakCellMap) \ |
- V(WithContextMap) \ |
PRIVATE_SYMBOL_LIST(V) |
// Forward declarations. |
@@ -695,7 +666,7 @@ |
static void FatalProcessOutOfMemory(const char* location, |
bool is_heap_oom = false); |
- V8_EXPORT_PRIVATE static bool RootIsImmortalImmovable(int root_index); |
+ static bool RootIsImmortalImmovable(int root_index); |
// Checks whether the space is valid. |
static bool IsValidAllocationSpace(AllocationSpace space); |