Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/heap/embedder-tracing.cc')
-rw-r--r--deps/v8/src/heap/embedder-tracing.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/deps/v8/src/heap/embedder-tracing.cc b/deps/v8/src/heap/embedder-tracing.cc
index 2b46da1feb6..9c926bed69f 100644
--- a/deps/v8/src/heap/embedder-tracing.cc
+++ b/deps/v8/src/heap/embedder-tracing.cc
@@ -50,7 +50,8 @@ void LocalEmbedderHeapTracer::EnterFinalPause() {
remote_tracer_->EnterFinalPause(embedder_stack_state_);
// Resetting to state unknown as there may be follow up garbage collections
// triggered from callbacks that have a different stack state.
- embedder_stack_state_ = EmbedderHeapTracer::kUnknown;
+ embedder_stack_state_ =
+ EmbedderHeapTracer::EmbedderStackState::kMayContainHeapPointers;
}
bool LocalEmbedderHeapTracer::Trace(double deadline) {
@@ -68,7 +69,7 @@ void LocalEmbedderHeapTracer::SetEmbedderStackStateForNextFinalization(
if (!InUse()) return;
embedder_stack_state_ = stack_state;
- if (EmbedderHeapTracer::EmbedderStackState::kEmpty == stack_state) {
+ if (EmbedderHeapTracer::EmbedderStackState::kNoHeapPointers == stack_state) {
remote_tracer()->NotifyEmptyEmbedderStack();
}
}
@@ -92,8 +93,11 @@ void LocalEmbedderHeapTracer::ProcessingScope::TracePossibleWrapper(
void* pointer0;
void* pointer1;
- if (EmbedderDataSlot(js_object, 0).ToAlignedPointer(&pointer0) && pointer0 &&
- EmbedderDataSlot(js_object, 1).ToAlignedPointer(&pointer1)) {
+ if (EmbedderDataSlot(js_object, 0)
+ .ToAlignedPointer(tracer_->isolate_, &pointer0) &&
+ pointer0 &&
+ EmbedderDataSlot(js_object, 1)
+ .ToAlignedPointer(tracer_->isolate_, &pointer1)) {
wrapper_cache_.push_back({pointer0, pointer1});
}
FlushWrapperCacheIfFull();