v8/test/inspector
Jakob Gruber 3002ff44ee [coverage] Add dedicated FunctionLiteral counters
Prior to this CL, call counts at function scope were taken from the
FeedbackVector::invocation_count field. This had two major drawbacks:
1. for generator functions, these count the number of resumptions
instead of the number of calls; and 2. the invocation count is not
maintained in optimized code.

The solution implemented here is to add a dedicated call counter at
function scope which is incremented exactly once each time the
function is called.

A minor complication is that our coverage output format expects
function-scope counts in the dedicated CoverageFunction object, and
not as a CoverageBlock. Thus function-scope block counts are initially
marked with magic positions, and later recognized and rewritten during
processing.

This CL thus fixes reported generator function call counts and enables
optimizations in block coverage modes (more to come in a follow-up).

Drive-by: Don't report functions with empty source ranges.

Bug: v8:6000,v8:9148,v8:9212
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: Idbe5edb35a595cf12b6649314738ac00efd173b8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613996
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61574}
2019-05-16 12:43:33 +00:00
..
console Revert "[inspector] RemoteObject.description should be empty for primitive type" 2018-05-31 18:52:08 +00:00
cpu-profiler [coverage] Add dedicated FunctionLiteral counters 2019-05-16 12:43:33 +00:00
debugger [wasm] Display wasm globals in the inspector 2019-05-10 18:35:44 +00:00
heap-profiler [heap profiler] Plumb samples through the protocol. 2018-10-23 00:12:01 +00:00
runtime [cleanup] Replace underscore by minus in d8 flags 2019-04-03 12:32:08 +00:00
sessions WIP: [parser] Fix arrow function name inferring 2019-01-08 08:10:03 +00:00
type-profiler [test] Remove dead flags from some tests. 2018-10-15 10:00:12 +00:00
BUILD.gn [cleanup] Improve dependency handling in gn targets 2019-02-15 21:52:32 +00:00
DEPS [inspector] introduce limit for amount of stored async stacks 2016-12-18 17:04:40 +00:00
inspector-test.cc [DevTools] Switch inspector-test.cc to use the CBOR encoded inspector state. 2019-05-15 15:58:12 +00:00
inspector.status [inspector] Add test for getPossibleBreakpoints on embedded code 2019-04-29 07:47:56 +00:00
isolate-data.cc [DevTools] Switch inspector-test.cc to use the CBOR encoded inspector state. 2019-05-15 15:58:12 +00:00
isolate-data.h [DevTools] Switch inspector-test.cc to use the CBOR encoded inspector state. 2019-05-15 15:58:12 +00:00
json-parse-expected.txt [inspector] Refactor protocol-test.js 2017-05-19 00:35:45 +00:00
json-parse.js [inspector] Refactor protocol-test.js 2017-05-19 00:35:45 +00:00
OWNERS Add myself to test/inspector/OWNERS 2019-05-07 20:49:12 +00:00
protocol-test.js [wasm] fix clear context group for wasm 2018-11-06 22:27:17 +00:00
task-runner.cc Cleanup: Use std::atomic<T> instead of base::AtomicNumber<T> in TaskRunner. 2018-07-12 07:22:06 +00:00
task-runner.h [cleanup] Refactor inspector to use default members. 2018-09-18 09:13:59 +00:00
testcfg.py Reland "Reland "[test] refactor testsuite configuration"" 2019-02-06 09:02:09 +00:00