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

Side by Side Diff: src/api.cc

Issue 2700743002: [inspector] extend protocol for code coverage. (Closed)
Patch Set: small fix Created 3 years, 10 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 | « no previous file | src/d8.cc » ('j') | src/inspector/js_protocol.json » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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/api.h" 5 #include "src/api.h"
6 6
7 #include <string.h> // For memcpy, strlen. 7 #include <string.h> // For memcpy, strlen.
8 #ifdef V8_USE_ADDRESS_SANITIZER 8 #ifdef V8_USE_ADDRESS_SANITIZER
9 #include <sanitizer/asan_interface.h> 9 #include <sanitizer/asan_interface.h>
10 #endif // V8_USE_ADDRESS_SANITIZER 10 #endif // V8_USE_ADDRESS_SANITIZER
(...skipping 9541 matching lines...) Expand 10 before | Expand all | Expand 10 after
9552 return ToApiHandle<String>(name); 9552 return ToApiHandle<String>(name);
9553 } else { 9553 } else {
9554 // We do not expect this to fail. Change this if it does. 9554 // We do not expect this to fail. Change this if it does.
9555 i::Handle<i::String> cons = isolate->factory()->NewConsString( 9555 i::Handle<i::String> cons = isolate->factory()->NewConsString(
9556 isolate->factory()->InternalizeUtf8String(entry->name_prefix()), 9556 isolate->factory()->InternalizeUtf8String(entry->name_prefix()),
9557 name).ToHandleChecked(); 9557 name).ToHandleChecked();
9558 return ToApiHandle<String>(cons); 9558 return ToApiHandle<String>(cons);
9559 } 9559 }
9560 } 9560 }
9561 9561
9562 debug::Coverage::Range::Range(i::CoverageRange* range, 9562 debug::Coverage::FunctionData::FunctionData(i::CoverageFunction* function,
9563 Local<debug::Script> script) 9563 Local<debug::Script> script)
9564 : range_(range), script_(script) { 9564 : function_(function) {
9565 i::Handle<i::Script> i_script = v8::Utils::OpenHandle(*script); 9565 i::Handle<i::Script> i_script = v8::Utils::OpenHandle(*script);
9566 i::Script::PositionInfo start; 9566 i::Script::PositionInfo start;
9567 i::Script::PositionInfo end; 9567 i::Script::PositionInfo end;
9568 i::Script::GetPositionInfo(i_script, range->start, &start, 9568 i::Script::GetPositionInfo(i_script, function->start, &start,
9569 i::Script::WITH_OFFSET); 9569 i::Script::WITH_OFFSET);
9570 i::Script::GetPositionInfo(i_script, range->end, &end, 9570 i::Script::GetPositionInfo(i_script, function->end, &end,
9571 i::Script::WITH_OFFSET); 9571 i::Script::WITH_OFFSET);
9572 start_ = Location(start.line, start.column); 9572 start_ = Location(start.line, start.column);
9573 end_ = Location(end.line, end.column); 9573 end_ = Location(end.line, end.column);
9574 } 9574 }
9575 9575
9576 uint32_t debug::Coverage::Range::Count() { return range_->count; } 9576 uint32_t debug::Coverage::FunctionData::Count() { return function_->count; }
9577 9577
9578 size_t debug::Coverage::Range::NestedCount() { return range_->inner.size(); } 9578 MaybeLocal<String> debug::Coverage::FunctionData::Name() {
9579 9579 return ToApiHandle<String>(function_->name);
9580 debug::Coverage::Range debug::Coverage::Range::GetNested(size_t i) {
9581 return Range(&range_->inner[i], script_);
9582 } 9580 }
9583 9581
9584 MaybeLocal<String> debug::Coverage::Range::Name() { 9582 Local<debug::Script> debug::Coverage::ScriptData::GetScript() {
9585 return ToApiHandle<String>(range_->name); 9583 return ToApiHandle<debug::Script>(script_->script);
9584 }
9585
9586 size_t debug::Coverage::ScriptData::FunctionCount() {
9587 return script_->functions.size();
9588 }
9589
9590 debug::Coverage::FunctionData debug::Coverage::ScriptData::GetFunctionData(
9591 size_t i) {
9592 return FunctionData(&script_->functions.at(i), GetScript());
9586 } 9593 }
9587 9594
9588 debug::Coverage::~Coverage() { delete coverage_; } 9595 debug::Coverage::~Coverage() { delete coverage_; }
9589 9596
9590 size_t debug::Coverage::ScriptCount() { return coverage_->size(); } 9597 size_t debug::Coverage::ScriptCount() { return coverage_->size(); }
9591 9598
9592 Local<debug::Script> debug::Coverage::GetScript(size_t i) { 9599 debug::Coverage::ScriptData debug::Coverage::GetScriptData(size_t i) {
9593 return ToApiHandle<debug::Script>(coverage_->at(i).script); 9600 return ScriptData(&coverage_->at(i));
9594 }
9595
9596 debug::Coverage::Range debug::Coverage::GetRange(size_t i) {
9597 return Range(&coverage_->at(i).toplevel, GetScript(i));
9598 } 9601 }
9599 9602
9600 debug::Coverage debug::Coverage::Collect(Isolate* isolate) { 9603 debug::Coverage debug::Coverage::Collect(Isolate* isolate) {
9601 return Coverage(i::Coverage::Collect(reinterpret_cast<i::Isolate*>(isolate))); 9604 return Coverage(i::Coverage::Collect(reinterpret_cast<i::Isolate*>(isolate)));
9602 } 9605 }
9603 9606
9604 void debug::Coverage::TogglePrecise(Isolate* isolate, bool enable) { 9607 void debug::Coverage::TogglePrecise(Isolate* isolate, bool enable) {
9605 i::Coverage::TogglePrecise(reinterpret_cast<i::Isolate*>(isolate), enable); 9608 i::Coverage::TogglePrecise(reinterpret_cast<i::Isolate*>(isolate), enable);
9606 } 9609 }
9607 9610
(...skipping 665 matching lines...) Expand 10 before | Expand all | Expand 10 after
10273 Address callback_address = 10276 Address callback_address =
10274 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); 10277 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback));
10275 VMState<EXTERNAL> state(isolate); 10278 VMState<EXTERNAL> state(isolate);
10276 ExternalCallbackScope call_scope(isolate, callback_address); 10279 ExternalCallbackScope call_scope(isolate, callback_address);
10277 callback(info); 10280 callback(info);
10278 } 10281 }
10279 10282
10280 10283
10281 } // namespace internal 10284 } // namespace internal
10282 } // namespace v8 10285 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/d8.cc » ('j') | src/inspector/js_protocol.json » ('J')

Powered by Google App Engine
This is Rietveld 408576698