| 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 #include "src/inspector/v8-heap-profiler-agent-impl.h" | 5 #include "src/inspector/v8-heap-profiler-agent-impl.h" |
| 6 | 6 |
| 7 #include "src/inspector/injected-script.h" | 7 #include "src/inspector/injected-script.h" |
| 8 #include "src/inspector/inspected-context.h" |
| 8 #include "src/inspector/protocol/Protocol.h" | 9 #include "src/inspector/protocol/Protocol.h" |
| 9 #include "src/inspector/string-util.h" | 10 #include "src/inspector/string-util.h" |
| 10 #include "src/inspector/v8-debugger.h" | 11 #include "src/inspector/v8-debugger.h" |
| 11 #include "src/inspector/v8-inspector-impl.h" | 12 #include "src/inspector/v8-inspector-impl.h" |
| 12 #include "src/inspector/v8-inspector-session-impl.h" | 13 #include "src/inspector/v8-inspector-session-impl.h" |
| 13 | 14 |
| 14 #include "include/v8-inspector.h" | 15 #include "include/v8-inspector.h" |
| 15 #include "include/v8-profiler.h" | 16 #include "include/v8-profiler.h" |
| 16 #include "include/v8-version.h" | 17 #include "include/v8-version.h" |
| 17 | 18 |
| (...skipping 30 matching lines...) Expand all Loading... |
| 48 | 49 |
| 49 class GlobalObjectNameResolver final | 50 class GlobalObjectNameResolver final |
| 50 : public v8::HeapProfiler::ObjectNameResolver { | 51 : public v8::HeapProfiler::ObjectNameResolver { |
| 51 public: | 52 public: |
| 52 explicit GlobalObjectNameResolver(V8InspectorSessionImpl* session) | 53 explicit GlobalObjectNameResolver(V8InspectorSessionImpl* session) |
| 53 : m_offset(0), m_strings(10000), m_session(session) {} | 54 : m_offset(0), m_strings(10000), m_session(session) {} |
| 54 | 55 |
| 55 const char* GetName(v8::Local<v8::Object> object) override { | 56 const char* GetName(v8::Local<v8::Object> object) override { |
| 56 InspectedContext* context = m_session->inspector()->getContext( | 57 InspectedContext* context = m_session->inspector()->getContext( |
| 57 m_session->contextGroupId(), | 58 m_session->contextGroupId(), |
| 58 V8Debugger::contextId(object->CreationContext())); | 59 InspectedContext::contextId(object->CreationContext())); |
| 59 if (!context) return ""; | 60 if (!context) return ""; |
| 60 String16 name = context->origin(); | 61 String16 name = context->origin(); |
| 61 size_t length = name.length(); | 62 size_t length = name.length(); |
| 62 if (m_offset + length + 1 >= m_strings.size()) return ""; | 63 if (m_offset + length + 1 >= m_strings.size()) return ""; |
| 63 for (size_t i = 0; i < length; ++i) { | 64 for (size_t i = 0; i < length; ++i) { |
| 64 UChar ch = name[i]; | 65 UChar ch = name[i]; |
| 65 m_strings[m_offset + i] = ch > 0xff ? '?' : static_cast<char>(ch); | 66 m_strings[m_offset + i] = ch > 0xff ? '?' : static_cast<char>(ch); |
| 66 } | 67 } |
| 67 m_strings[m_offset + length] = '\0'; | 68 m_strings[m_offset + length] = '\0'; |
| 68 char* result = &*m_strings.begin() + m_offset; | 69 char* result = &*m_strings.begin() + m_offset; |
| (...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 374 if (!v8Profile) | 375 if (!v8Profile) |
| 375 return Response::Error("Cannot access v8 sampled heap profile."); | 376 return Response::Error("Cannot access v8 sampled heap profile."); |
| 376 v8::AllocationProfile::Node* root = v8Profile->GetRootNode(); | 377 v8::AllocationProfile::Node* root = v8Profile->GetRootNode(); |
| 377 *profile = protocol::HeapProfiler::SamplingHeapProfile::create() | 378 *profile = protocol::HeapProfiler::SamplingHeapProfile::create() |
| 378 .setHead(buildSampingHeapProfileNode(root)) | 379 .setHead(buildSampingHeapProfileNode(root)) |
| 379 .build(); | 380 .build(); |
| 380 return Response::OK(); | 381 return Response::OK(); |
| 381 } | 382 } |
| 382 | 383 |
| 383 } // namespace v8_inspector | 384 } // namespace v8_inspector |
| OLD | NEW |