Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(89)

Side by Side Diff: src/inspector/v8-profiler-agent-impl.cc

Issue 2733783002: [debug] change coverage API to use offset instead of line/column. (Closed)
Patch Set: rebase Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/inspector/js_protocol.json ('k') | test/cctest/test-debug.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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-profiler-agent-impl.h" 5 #include "src/inspector/v8-profiler-agent-impl.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "src/base/atomicops.h" 9 #include "src/base/atomicops.h"
10 #include "src/inspector/protocol/Protocol.h" 10 #include "src/inspector/protocol/Protocol.h"
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 std::unique_ptr<protocol::Array<protocol::Profiler::FunctionCoverage>> 300 std::unique_ptr<protocol::Array<protocol::Profiler::FunctionCoverage>>
301 functions = 301 functions =
302 protocol::Array<protocol::Profiler::FunctionCoverage>::create(); 302 protocol::Array<protocol::Profiler::FunctionCoverage>::create();
303 for (size_t j = 0; j < script_data.FunctionCount(); j++) { 303 for (size_t j = 0; j < script_data.FunctionCount(); j++) {
304 v8::debug::Coverage::FunctionData function_data = 304 v8::debug::Coverage::FunctionData function_data =
305 script_data.GetFunctionData(j); 305 script_data.GetFunctionData(j);
306 std::unique_ptr<protocol::Array<protocol::Profiler::CoverageRange>> 306 std::unique_ptr<protocol::Array<protocol::Profiler::CoverageRange>>
307 ranges = protocol::Array<protocol::Profiler::CoverageRange>::create(); 307 ranges = protocol::Array<protocol::Profiler::CoverageRange>::create();
308 // At this point we only have per-function coverage data, so there is 308 // At this point we only have per-function coverage data, so there is
309 // only one range per function. 309 // only one range per function.
310 ranges->addItem( 310 v8::debug::Location start =
311 protocol::Profiler::CoverageRange::create() 311 script->GetSourceLocation(function_data.StartOffset());
312 .setStartLineNumber(function_data.Start().GetLineNumber()) 312 v8::debug::Location end =
313 .setStartColumnNumber(function_data.Start().GetColumnNumber()) 313 script->GetSourceLocation(function_data.EndOffset());
314 .setEndLineNumber(function_data.End().GetLineNumber()) 314 ranges->addItem(protocol::Profiler::CoverageRange::create()
315 .setEndColumnNumber(function_data.End().GetColumnNumber()) 315 .setStartLineNumber(start.GetLineNumber())
316 .setCount(function_data.Count()) 316 .setStartColumnNumber(start.GetColumnNumber())
317 .build()); 317 .setEndLineNumber(end.GetLineNumber())
318 .setEndColumnNumber(end.GetColumnNumber())
319 .setStartOffset(function_data.StartOffset())
320 .setEndOffset(function_data.EndOffset())
321 .setCount(function_data.Count())
322 .build());
318 functions->addItem( 323 functions->addItem(
319 protocol::Profiler::FunctionCoverage::create() 324 protocol::Profiler::FunctionCoverage::create()
320 .setFunctionName(toProtocolString( 325 .setFunctionName(toProtocolString(
321 function_data.Name().FromMaybe(v8::Local<v8::String>()))) 326 function_data.Name().FromMaybe(v8::Local<v8::String>())))
322 .setRanges(std::move(ranges)) 327 .setRanges(std::move(ranges))
323 .build()); 328 .build());
324 } 329 }
325 String16 url; 330 String16 url;
326 v8::Local<v8::String> name; 331 v8::Local<v8::String> name;
327 if (script->Name().ToLocal(&name) || script->SourceURL().ToLocal(&name)) { 332 if (script->Name().ToLocal(&name) || script->SourceURL().ToLocal(&name)) {
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 return m_profiler; 402 return m_profiler;
398 } 403 }
399 404
400 bool V8ProfilerAgentImpl::idleFinished() { 405 bool V8ProfilerAgentImpl::idleFinished() {
401 m_idle = false; 406 m_idle = false;
402 if (m_profiler) m_profiler->SetIdle(m_idle); 407 if (m_profiler) m_profiler->SetIdle(m_idle);
403 return m_profiler; 408 return m_profiler;
404 } 409 }
405 410
406 } // namespace v8_inspector 411 } // namespace v8_inspector
OLDNEW
« no previous file with comments | « src/inspector/js_protocol.json ('k') | test/cctest/test-debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698