diff options
author | Ali Ijaz Sheikh <ofrobots@google.com> | 2015-11-30 21:22:40 -0800 |
---|---|---|
committer | Ali Ijaz Sheikh <ofrobots@google.com> | 2015-12-04 00:06:01 -0800 |
commit | 8a43a3d7619fde59f0d1f2fad05d8ae7d1732b02 (patch) | |
tree | 8698af91526d0eac90840dcba1e5b565160105c4 /deps/v8/src/heap/incremental-marking.h | |
parent | 8a2acd4cc9807510786b4b6f7ad3a947aeb3a14c (diff) | |
download | node-new-8a43a3d7619fde59f0d1f2fad05d8ae7d1732b02.tar.gz |
deps: upgrade V8 to 4.7.80.24
Pick up the latest branch head for V8 4.7:
https://github.com/v8/v8/commit/be169f8df059040e6a53ec1dd4579d8bca2167b5
Full change history for the 4.7 branch:
https://chromium.googlesource.com/v8/v8.git/+log/branch-heads/4.7
V8 blog post about what is new on V8 4.7:
http://v8project.blogspot.de/2015/10/v8-release-47.html
PR-URL: https://github.com/nodejs/node/pull/4106
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaƫl Zasso <mic.besace@gmail.com>
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
Diffstat (limited to 'deps/v8/src/heap/incremental-marking.h')
-rw-r--r-- | deps/v8/src/heap/incremental-marking.h | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/deps/v8/src/heap/incremental-marking.h b/deps/v8/src/heap/incremental-marking.h index fcada78f0b..010392875e 100644 --- a/deps/v8/src/heap/incremental-marking.h +++ b/deps/v8/src/heap/incremental-marking.h @@ -5,13 +5,17 @@ #ifndef V8_HEAP_INCREMENTAL_MARKING_H_ #define V8_HEAP_INCREMENTAL_MARKING_H_ +#include "src/cancelable-task.h" #include "src/execution.h" -#include "src/heap/mark-compact.h" +#include "src/heap/incremental-marking-job.h" #include "src/objects.h" namespace v8 { namespace internal { +// Forward declarations. +class MarkBit; +class PagedSpace; class IncrementalMarking { public: @@ -81,9 +85,7 @@ class IncrementalMarking { bool WasActivated(); - void Start(int flags, - const GCCallbackFlags gc_callback_flags = kNoGCCallbackFlags, - const char* reason = nullptr); + void Start(const char* reason = nullptr); void MarkObjectGroups(); @@ -101,6 +103,15 @@ class IncrementalMarking { void Epilogue(); + // Performs incremental marking steps of step_size_in_bytes as long as + // deadline_ins_ms is not reached. step_size_in_bytes can be 0 to compute + // an estimate increment. Returns the remaining time that cannot be used + // for incremental marking anymore because a single step would exceed the + // deadline. + double AdvanceIncrementalMarking(intptr_t step_size_in_bytes, + double deadline_in_ms, + StepActions step_actions); + // It's hard to know how much work the incremental marker should do to make // progress in the face of the mutator creating new work for it. We start // of at a moderate rate of work and gradually increase the speed of the @@ -173,7 +184,7 @@ class IncrementalMarking { SetOldSpacePageFlags(chunk, IsMarking(), IsCompacting()); } - inline void SetNewSpacePageFlags(NewSpacePage* chunk) { + inline void SetNewSpacePageFlags(MemoryChunk* chunk) { SetNewSpacePageFlags(chunk, IsMarking()); } @@ -199,7 +210,9 @@ class IncrementalMarking { Heap* heap() const { return heap_; } - GCCallbackFlags CallbackFlags() const { return gc_callback_flags_; } + IncrementalMarkingJob* incremental_marking_job() { + return &incremental_marking_job_; + } private: int64_t SpaceLeftInOldSpace(); @@ -221,7 +234,7 @@ class IncrementalMarking { static void SetOldSpacePageFlags(MemoryChunk* chunk, bool is_marking, bool is_compacting); - static void SetNewSpacePageFlags(NewSpacePage* chunk, bool is_marking); + static void SetNewSpacePageFlags(MemoryChunk* chunk, bool is_marking); INLINE(void ProcessMarkingDeque()); @@ -259,7 +272,7 @@ class IncrementalMarking { GCRequestType request_type_; - GCCallbackFlags gc_callback_flags_; + IncrementalMarkingJob incremental_marking_job_; DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); }; |