summaryrefslogtreecommitdiff
path: root/src/memory_tracker-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/memory_tracker-inl.h')
-rw-r--r--src/memory_tracker-inl.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/memory_tracker-inl.h b/src/memory_tracker-inl.h
index da37f72c73..14635aaf5e 100644
--- a/src/memory_tracker-inl.h
+++ b/src/memory_tracker-inl.h
@@ -109,6 +109,16 @@ void MemoryTracker::TrackField(const char* edge_name,
TrackField(edge_name, value.get(), node_name);
}
+template <typename T>
+void MemoryTracker::TrackField(const char* edge_name,
+ const std::shared_ptr<T>& value,
+ const char* node_name) {
+ if (value.get() == nullptr) {
+ return;
+ }
+ TrackField(edge_name, value.get(), node_name);
+}
+
template <typename T, typename Iterator>
void MemoryTracker::TrackField(const char* edge_name,
const T& value,
@@ -206,6 +216,12 @@ void MemoryTracker::TrackField(const char* edge_name,
TrackFieldWithSize(edge_name, value.size, "MallocedBuffer");
}
+void MemoryTracker::TrackField(const char* edge_name,
+ const v8::BackingStore* value,
+ const char* node_name) {
+ TrackFieldWithSize(edge_name, value->ByteLength(), "BackingStore");
+}
+
void MemoryTracker::TrackField(const char* name,
const uv_buf_t& value,
const char* node_name) {