diff --git a/src/memory_tracker-inl.h b/src/memory_tracker-inl.h index 9e6201442ab6b1..4167064847253e 100644 --- a/src/memory_tracker-inl.h +++ b/src/memory_tracker-inl.h @@ -131,7 +131,7 @@ template void MemoryTracker::TrackField(const char* edge_name, const BaseObjectPtrImpl& value, const char* node_name) { - if (value.get() == nullptr) return; + if (value.get() == nullptr || kIsWeak) return; TrackField(edge_name, value.get(), node_name); } @@ -214,6 +214,7 @@ template void MemoryTracker::TrackField(const char* edge_name, const v8::PersistentBase& value, const char* node_name) { + if (value.IsWeak()) return; TrackField(edge_name, value.Get(isolate_)); }