OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_INSPECTOR_V8HEAPPROFILERAGENTIMPL_H_ | 5 #ifndef V8_INSPECTOR_V8HEAPPROFILERAGENTIMPL_H_ |
6 #define V8_INSPECTOR_V8HEAPPROFILERAGENTIMPL_H_ | 6 #define V8_INSPECTOR_V8HEAPPROFILERAGENTIMPL_H_ |
7 | 7 |
8 #include "src/base/macros.h" | 8 #include "src/base/macros.h" |
9 #include "src/inspector/protocol/Forward.h" | 9 #include "src/inspector/protocol/Forward.h" |
10 #include "src/inspector/protocol/HeapProfiler.h" | 10 #include "src/inspector/protocol/HeapProfiler.h" |
11 | 11 |
12 #include "include/v8.h" | 12 #include "include/v8.h" |
13 | 13 |
14 namespace v8_inspector { | 14 namespace v8_inspector { |
15 | 15 |
16 class V8InspectorSessionImpl; | 16 class V8InspectorSessionImpl; |
17 | 17 |
18 using protocol::ErrorString; | 18 using protocol::ErrorString; |
19 using protocol::Maybe; | 19 using protocol::Maybe; |
20 | 20 |
21 class V8HeapProfilerAgentImpl : public protocol::HeapProfiler::Backend { | 21 class V8HeapProfilerAgentImpl : public protocol::HeapProfiler::Backend { |
22 DISALLOW_COPY_AND_ASSIGN(V8HeapProfilerAgentImpl); | |
23 | |
24 public: | 22 public: |
25 V8HeapProfilerAgentImpl(V8InspectorSessionImpl*, protocol::FrontendChannel*, | 23 V8HeapProfilerAgentImpl(V8InspectorSessionImpl*, protocol::FrontendChannel*, |
26 protocol::DictionaryValue* state); | 24 protocol::DictionaryValue* state); |
27 ~V8HeapProfilerAgentImpl() override; | 25 ~V8HeapProfilerAgentImpl() override; |
28 void restore(); | 26 void restore(); |
29 | 27 |
30 void collectGarbage(ErrorString*) override; | 28 void collectGarbage(ErrorString*) override; |
31 | 29 |
32 void enable(ErrorString*) override; | 30 void enable(ErrorString*) override; |
33 void startTrackingHeapObjects(ErrorString*, | 31 void startTrackingHeapObjects(ErrorString*, |
(...skipping 25 matching lines...) Expand all Loading... |
59 void startTrackingHeapObjectsInternal(bool trackAllocations); | 57 void startTrackingHeapObjectsInternal(bool trackAllocations); |
60 void stopTrackingHeapObjectsInternal(); | 58 void stopTrackingHeapObjectsInternal(); |
61 void requestHeapStatsUpdate(); | 59 void requestHeapStatsUpdate(); |
62 static void onTimer(void*); | 60 static void onTimer(void*); |
63 | 61 |
64 V8InspectorSessionImpl* m_session; | 62 V8InspectorSessionImpl* m_session; |
65 v8::Isolate* m_isolate; | 63 v8::Isolate* m_isolate; |
66 protocol::HeapProfiler::Frontend m_frontend; | 64 protocol::HeapProfiler::Frontend m_frontend; |
67 protocol::DictionaryValue* m_state; | 65 protocol::DictionaryValue* m_state; |
68 bool m_hasTimer; | 66 bool m_hasTimer; |
| 67 |
| 68 DISALLOW_COPY_AND_ASSIGN(V8HeapProfilerAgentImpl); |
69 }; | 69 }; |
70 | 70 |
71 } // namespace v8_inspector | 71 } // namespace v8_inspector |
72 | 72 |
73 #endif // V8_INSPECTOR_V8HEAPPROFILERAGENTIMPL_H_ | 73 #endif // V8_INSPECTOR_V8HEAPPROFILERAGENTIMPL_H_ |
OLD | NEW |