diff options
Diffstat (limited to 'deps/v8/src/heap/incremental-marking.h')
-rw-r--r-- | deps/v8/src/heap/incremental-marking.h | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/deps/v8/src/heap/incremental-marking.h b/deps/v8/src/heap/incremental-marking.h index f3f0703bd1..7284034191 100644 --- a/deps/v8/src/heap/incremental-marking.h +++ b/deps/v8/src/heap/incremental-marking.h @@ -5,10 +5,10 @@ #ifndef V8_HEAP_INCREMENTAL_MARKING_H_ #define V8_HEAP_INCREMENTAL_MARKING_H_ -#include "src/cancelable-task.h" #include "src/heap/heap.h" #include "src/heap/incremental-marking-job.h" #include "src/heap/mark-compact.h" +#include "src/tasks/cancelable-task.h" namespace v8 { namespace internal { @@ -184,7 +184,7 @@ class V8_EXPORT_PRIVATE IncrementalMarking { bool ShouldDoEmbedderStep(); StepResult EmbedderStep(double duration); - inline void RestartIfNotMarking(); + V8_INLINE void RestartIfNotMarking(); // {raw_obj} and {slot_address} are raw Address values instead of a // HeapObject and a MaybeObjectSlot because this is called from @@ -198,22 +198,22 @@ class V8_EXPORT_PRIVATE IncrementalMarking { // No slots in white objects should be recorded, as some slots are typed and // cannot be interpreted correctly if the underlying object does not survive // the incremental cycle (stays white). - V8_INLINE bool BaseRecordWrite(HeapObject obj, Object value); - V8_INLINE void RecordWrite(HeapObject obj, ObjectSlot slot, Object value); - V8_INLINE void RecordMaybeWeakWrite(HeapObject obj, MaybeObjectSlot slot, - MaybeObject value); + V8_INLINE bool BaseRecordWrite(HeapObject obj, HeapObject value); + template <typename TSlot> + V8_INLINE void RecordWrite(HeapObject obj, TSlot slot, + typename TSlot::TObject value); void RevisitObject(HeapObject obj); // Ensures that all descriptors int range [0, number_of_own_descripts) // are visited. void VisitDescriptors(HeapObject host, DescriptorArray array, int number_of_own_descriptors); - void RecordWriteSlow(HeapObject obj, HeapObjectSlot slot, Object value); + void RecordWriteSlow(HeapObject obj, HeapObjectSlot slot, HeapObject value); void RecordWriteIntoCode(Code host, RelocInfo* rinfo, HeapObject value); // Returns true if the function succeeds in transitioning the object // from white to grey. - bool WhiteToGreyAndPush(HeapObject obj); + V8_INLINE bool WhiteToGreyAndPush(HeapObject obj); // This function is used to color the object black before it undergoes an // unsafe layout change. This is a part of synchronization protocol with @@ -285,8 +285,6 @@ class V8_EXPORT_PRIVATE IncrementalMarking { intptr_t bytes_to_process, ForceCompletionAction completion = DO_NOT_FORCE_COMPLETION); - V8_INLINE bool IsFixedArrayWithProgressBar(HeapObject object); - // Visits the object and returns its size. V8_INLINE int VisitObject(Map map, HeapObject obj); |