Index: src/runtime/runtime-debug.cc |
diff --git a/src/runtime/runtime-debug.cc b/src/runtime/runtime-debug.cc |
index 22985aa731ad73d108b71eca4f40bca5781f3213..a2338b4ff521eea370f5db6853da03ce7f5d6a6a 100644 |
--- a/src/runtime/runtime-debug.cc |
+++ b/src/runtime/runtime-debug.cc |
@@ -1895,8 +1895,7 @@ RUNTIME_FUNCTION(Runtime_DebugBreakInOptimizedCode) { |
} |
namespace { |
-Handle<JSObject> CreateRangeObject(Isolate* isolate, |
- const Coverage::Range* range, |
+Handle<JSObject> CreateRangeObject(Isolate* isolate, const CoverageRange* range, |
Handle<String> inner_string, |
Handle<String> start_string, |
Handle<String> end_string, |
@@ -1910,13 +1909,7 @@ Handle<JSObject> CreateRangeObject(Isolate* isolate, |
factory->NewNumberFromInt(range->end), NONE); |
JSObject::AddProperty(range_obj, count_string, |
factory->NewNumberFromUint(range->count), NONE); |
- Handle<String> name = factory->anonymous_string(); |
- if (!range->name.empty()) { |
- Vector<const uc16> name_vector(range->name.data(), |
- static_cast<int>(range->name.size())); |
- name = factory->NewStringFromTwoByte(name_vector).ToHandleChecked(); |
- } |
- JSObject::AddProperty(range_obj, factory->name_string(), name, NONE); |
+ JSObject::AddProperty(range_obj, factory->name_string(), range->name, NONE); |
if (!range->inner.empty()) { |
int size = static_cast<int>(range->inner.size()); |
Handle<FixedArray> inner_array = factory->NewFixedArray(size); |
@@ -1937,11 +1930,11 @@ Handle<JSObject> CreateRangeObject(Isolate* isolate, |
RUNTIME_FUNCTION(Runtime_DebugCollectCoverage) { |
HandleScope scope(isolate); |
// Collect coverage data. |
- std::vector<Coverage::ScriptData> script_data = Coverage::Collect(isolate); |
+ std::unique_ptr<Coverage> coverage(Coverage::Collect(isolate)); |
Factory* factory = isolate->factory(); |
// Turn the returned data structure into JavaScript. |
// Create an array of scripts. |
- int num_scripts = static_cast<int>(script_data.size()); |
+ int num_scripts = static_cast<int>(coverage->size()); |
// Prepare property keys. |
Handle<FixedArray> scripts_array = factory->NewFixedArray(num_scripts); |
Handle<String> script_string = factory->NewStringFromStaticChars("script"); |
@@ -1952,7 +1945,7 @@ RUNTIME_FUNCTION(Runtime_DebugCollectCoverage) { |
Handle<String> end_string = factory->NewStringFromStaticChars("end"); |
Handle<String> count_string = factory->NewStringFromStaticChars("count"); |
for (int i = 0; i < num_scripts; i++) { |
- const auto& data = script_data[i]; |
+ const auto& data = coverage->at(i); |
HandleScope inner_scope(isolate); |
Handle<JSObject> script_obj = factory->NewJSObjectWithNullProto(); |
Handle<JSObject> wrapper = Script::GetWrapper(data.script); |
@@ -1969,11 +1962,7 @@ RUNTIME_FUNCTION(Runtime_DebugCollectCoverage) { |
RUNTIME_FUNCTION(Runtime_DebugTogglePreciseCoverage) { |
SealHandleScope shs(isolate); |
CONVERT_BOOLEAN_ARG_CHECKED(enable, 0); |
- if (enable) { |
- Coverage::EnablePrecise(isolate); |
- } else { |
- Coverage::DisablePrecise(isolate); |
- } |
+ Coverage::TogglePrecise(isolate, enable); |
return isolate->heap()->undefined_value(); |
} |