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

Side by Side Diff: src/runtime/runtime-debug.cc

Issue 2766573003: [debug] introduce precise binary code coverage. (Closed)
Patch Set: fix test 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/objects-inl.h ('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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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/runtime/runtime-utils.h" 5 #include "src/runtime/runtime-utils.h"
6 6
7 #include "src/arguments.h" 7 #include "src/arguments.h"
8 #include "src/compiler.h" 8 #include "src/compiler.h"
9 #include "src/debug/debug-coverage.h" 9 #include "src/debug/debug-coverage.h"
10 #include "src/debug/debug-evaluate.h" 10 #include "src/debug/debug-evaluate.h"
(...skipping 1886 matching lines...) Expand 10 before | Expand all | Expand 10 after
1897 1897
1898 RUNTIME_FUNCTION(Runtime_DebugBreakInOptimizedCode) { 1898 RUNTIME_FUNCTION(Runtime_DebugBreakInOptimizedCode) {
1899 UNIMPLEMENTED(); 1899 UNIMPLEMENTED();
1900 return NULL; 1900 return NULL;
1901 } 1901 }
1902 1902
1903 RUNTIME_FUNCTION(Runtime_DebugCollectCoverage) { 1903 RUNTIME_FUNCTION(Runtime_DebugCollectCoverage) {
1904 HandleScope scope(isolate); 1904 HandleScope scope(isolate);
1905 DCHECK_EQ(0, args.length()); 1905 DCHECK_EQ(0, args.length());
1906 // Collect coverage data. 1906 // Collect coverage data.
1907 std::unique_ptr<Coverage> coverage(Coverage::Collect(isolate, false)); 1907 std::unique_ptr<Coverage> coverage;
1908 if (isolate->is_best_effort_code_coverage()) {
1909 coverage.reset(Coverage::CollectBestEffort(isolate));
1910 } else {
1911 coverage.reset(Coverage::CollectPrecise(isolate));
1912 }
1908 Factory* factory = isolate->factory(); 1913 Factory* factory = isolate->factory();
1909 // Turn the returned data structure into JavaScript. 1914 // Turn the returned data structure into JavaScript.
1910 // Create an array of scripts. 1915 // Create an array of scripts.
1911 int num_scripts = static_cast<int>(coverage->size()); 1916 int num_scripts = static_cast<int>(coverage->size());
1912 // Prepare property keys. 1917 // Prepare property keys.
1913 Handle<FixedArray> scripts_array = factory->NewFixedArray(num_scripts); 1918 Handle<FixedArray> scripts_array = factory->NewFixedArray(num_scripts);
1914 Handle<String> script_string = factory->NewStringFromStaticChars("script"); 1919 Handle<String> script_string = factory->NewStringFromStaticChars("script");
1915 Handle<String> start_string = factory->NewStringFromStaticChars("start"); 1920 Handle<String> start_string = factory->NewStringFromStaticChars("start");
1916 Handle<String> end_string = factory->NewStringFromStaticChars("end"); 1921 Handle<String> end_string = factory->NewStringFromStaticChars("end");
1917 Handle<String> count_string = factory->NewStringFromStaticChars("count"); 1922 Handle<String> count_string = factory->NewStringFromStaticChars("count");
(...skipping 27 matching lines...) Expand all
1945 RUNTIME_FUNCTION(Runtime_DebugTogglePreciseCoverage) { 1950 RUNTIME_FUNCTION(Runtime_DebugTogglePreciseCoverage) {
1946 SealHandleScope shs(isolate); 1951 SealHandleScope shs(isolate);
1947 CONVERT_BOOLEAN_ARG_CHECKED(enable, 0); 1952 CONVERT_BOOLEAN_ARG_CHECKED(enable, 0);
1948 Coverage::SelectMode(isolate, enable ? debug::Coverage::kPreciseCount 1953 Coverage::SelectMode(isolate, enable ? debug::Coverage::kPreciseCount
1949 : debug::Coverage::kBestEffort); 1954 : debug::Coverage::kBestEffort);
1950 return isolate->heap()->undefined_value(); 1955 return isolate->heap()->undefined_value();
1951 } 1956 }
1952 1957
1953 } // namespace internal 1958 } // namespace internal
1954 } // namespace v8 1959 } // namespace v8
OLDNEW
« no previous file with comments | « src/objects-inl.h ('k') | test/cctest/test-debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698