Index: gin/v8_isolate_memory_dump_provider.h |
diff --git a/gin/v8_isolate_memory_dump_provider.h b/gin/v8_isolate_memory_dump_provider.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..cda92a9ec549b994d97654d5fb0f5d09378abcdf |
--- /dev/null |
+++ b/gin/v8_isolate_memory_dump_provider.h |
@@ -0,0 +1,35 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef GIN_V8_ISOLATE_MEMORY_DUMP_PROVIDER_H_ |
+#define GIN_V8_ISOLATE_MEMORY_DUMP_PROVIDER_H_ |
+ |
+#include "base/trace_event/memory_dump_provider.h" |
+#include "gin/gin_export.h" |
+ |
+namespace gin { |
+ |
+class IsolateHolder; |
+ |
+// Memory dump provider for the chrome://tracing infrastructure. It dumps |
+// summarized memory stats about the V8 Isolates. |
rmcilroy
2015/04/21 21:57:26
nit /s/the V8 Isolates/a V8 isolate/
ssid
2015/04/22 10:41:35
Isn't it like soon we are going to have multiple i
rmcilroy
2015/04/22 15:41:05
No, there is only ever a single isolate per thread
|
+class V8IsolateMemoryDumpProvider |
+ : public base::trace_event::MemoryDumpProvider { |
+ public: |
+ explicit V8IsolateMemoryDumpProvider(IsolateHolder* isolate_holder); |
+ ~V8IsolateMemoryDumpProvider() override; |
+ |
+ // MemoryDumpProvider implementation. |
+ bool DumpInto(base::trace_event::ProcessMemoryDump* pmd) override; |
+ const char* GetFriendlyName() const override; |
+ |
+ private: |
+ IsolateHolder* isolate_holder_; // Not owned (IsolateHolder owns this). |
rmcilroy
2015/04/21 21:57:26
IsolateHolder doesn't own itself. Just drop the "(
ssid
2015/04/22 10:41:35
Done.
|
+ |
+ DISALLOW_COPY_AND_ASSIGN(V8IsolateMemoryDumpProvider); |
+}; |
+ |
+} // namespace gin |
+ |
+#endif // GIN_V8_ISOLATE_MEMORY_DUMP_PROVIDER_H_ |