diff options
author | Michaël Zasso <targos@protonmail.com> | 2018-09-21 09:14:51 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2018-09-22 18:29:25 +0200 |
commit | 0e7ddbd3d7e9439c67573b854c49cf82c398ae82 (patch) | |
tree | 2afe372acde921cb57ddb3444ff00c5adef8848c /deps/v8/src/heap/embedder-tracing.h | |
parent | 13245dc50da4cb7443c39ef6c68d419d5e6336d4 (diff) | |
download | node-new-0e7ddbd3d7e9439c67573b854c49cf82c398ae82.tar.gz |
deps: update V8 to 7.0.276.20
PR-URL: https://github.com/nodejs/node/pull/22754
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'deps/v8/src/heap/embedder-tracing.h')
-rw-r--r-- | deps/v8/src/heap/embedder-tracing.h | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/deps/v8/src/heap/embedder-tracing.h b/deps/v8/src/heap/embedder-tracing.h index 994695942b..ab8a46bb53 100644 --- a/deps/v8/src/heap/embedder-tracing.h +++ b/deps/v8/src/heap/embedder-tracing.h @@ -18,10 +18,7 @@ class V8_EXPORT_PRIVATE LocalEmbedderHeapTracer final { public: typedef std::pair<void*, void*> WrapperInfo; - explicit LocalEmbedderHeapTracer(Isolate* isolate) - : isolate_(isolate), - remote_tracer_(nullptr), - num_v8_marking_worklist_was_empty_(0) {} + explicit LocalEmbedderHeapTracer(Isolate* isolate) : isolate_(isolate) {} ~LocalEmbedderHeapTracer() { if (remote_tracer_) remote_tracer_->isolate_ = nullptr; @@ -35,14 +32,13 @@ class V8_EXPORT_PRIVATE LocalEmbedderHeapTracer final { remote_tracer_->isolate_ = reinterpret_cast<v8::Isolate*>(isolate_); } - bool InUse() { return remote_tracer_ != nullptr; } + bool InUse() const { return remote_tracer_ != nullptr; } void TracePrologue(); void TraceEpilogue(); void AbortTracing(); void EnterFinalPause(); - bool Trace(double deadline, - EmbedderHeapTracer::AdvanceTracingActions actions); + bool Trace(double deadline); bool IsRemoteTracingDone(); size_t NumberOfCachedWrappersToTrace() { @@ -68,13 +64,20 @@ class V8_EXPORT_PRIVATE LocalEmbedderHeapTracer final { num_v8_marking_worklist_was_empty_ > kMaxIncrementalFixpointRounds; } + void SetEmbedderStackStateForNextFinalization( + EmbedderHeapTracer::EmbedderStackState stack_state); + private: typedef std::vector<WrapperInfo> WrapperCache; Isolate* const isolate_; - EmbedderHeapTracer* remote_tracer_; WrapperCache cached_wrappers_to_trace_; - size_t num_v8_marking_worklist_was_empty_; + EmbedderHeapTracer* remote_tracer_ = nullptr; + size_t num_v8_marking_worklist_was_empty_ = 0; + EmbedderHeapTracer::EmbedderStackState embedder_stack_state_ = + EmbedderHeapTracer::kUnknown; + + friend class EmbedderStackStateScope; }; } // namespace internal |