8c33e289b5
Now that function counts are based on dedicated call counters instead of FeedbackVector::invocation_count, we can enable optimizations for block coverage modes. This significantly speeds up V8 with enabled coverage: Before this CL, the web-tooling-benchmark regressed by 70% (block count coverage vs. no coverage). With this CL, the regression is reduced to 40%. Bug: v8:6000,v8:9148 Change-Id: I6bb538bd66f32f016c66c1d1996bce3b25958232 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1615241 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61582}
1032 lines
29 KiB
Plaintext
1032 lines
29 KiB
Plaintext
Test collecting code coverage data with Profiler.collectCoverage.
|
|
|
|
Running test: testPreciseCountBaseline
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
]
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
]
|
|
}
|
|
}
|
|
|
|
Running test: testPreciseCountCoverage
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : {
|
|
description : 8
|
|
type : number
|
|
value : 8
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
[0] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 221
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
[1] : {
|
|
functionName : fib
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 15
|
|
endOffset : 73
|
|
startOffset : 1
|
|
}
|
|
[1] : {
|
|
count : 8
|
|
endOffset : 41
|
|
startOffset : 32
|
|
}
|
|
[2] : {
|
|
count : 7
|
|
endOffset : 72
|
|
startOffset : 41
|
|
}
|
|
]
|
|
}
|
|
[2] : {
|
|
functionName : is_optimized
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 0
|
|
endOffset : 175
|
|
startOffset : 74
|
|
}
|
|
]
|
|
}
|
|
[3] : {
|
|
functionName : iife
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 208
|
|
startOffset : 177
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url : testPreciseCountCoverage
|
|
}
|
|
[1] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 38
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
]
|
|
}
|
|
}
|
|
|
|
Running test: testPreciseCountCoverageIncremental
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : {
|
|
description : 8
|
|
type : number
|
|
value : 8
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
[0] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 221
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
[1] : {
|
|
functionName : fib
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 15
|
|
endOffset : 73
|
|
startOffset : 1
|
|
}
|
|
[1] : {
|
|
count : 8
|
|
endOffset : 41
|
|
startOffset : 32
|
|
}
|
|
[2] : {
|
|
count : 7
|
|
endOffset : 72
|
|
startOffset : 41
|
|
}
|
|
]
|
|
}
|
|
[2] : {
|
|
functionName : is_optimized
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 0
|
|
endOffset : 175
|
|
startOffset : 74
|
|
}
|
|
]
|
|
}
|
|
[3] : {
|
|
functionName : iife
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 208
|
|
startOffset : 177
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url : testPreciseCountCoverageIncremental
|
|
}
|
|
]
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : {
|
|
type : string
|
|
value : unoptimized
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : {
|
|
description : 10946
|
|
type : number
|
|
value : 10946
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : {
|
|
type : string
|
|
value : optimized
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
[0] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName : fib
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 21891
|
|
endOffset : 73
|
|
startOffset : 1
|
|
}
|
|
[1] : {
|
|
count : 10946
|
|
endOffset : 41
|
|
startOffset : 32
|
|
}
|
|
[2] : {
|
|
count : 10945
|
|
endOffset : 72
|
|
startOffset : 41
|
|
}
|
|
]
|
|
}
|
|
[1] : {
|
|
functionName : is_optimized
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 2
|
|
endOffset : 175
|
|
startOffset : 74
|
|
}
|
|
[1] : {
|
|
count : 1
|
|
endOffset : 156
|
|
startOffset : 143
|
|
}
|
|
[2] : {
|
|
count : 1
|
|
endOffset : 172
|
|
startOffset : 157
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url : testPreciseCountCoverageIncremental
|
|
}
|
|
[1] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 2
|
|
endOffset : 17
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
[2] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 7
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
Running test: testPreciseCoverageFail
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : {
|
|
description : 8
|
|
type : number
|
|
value : 8
|
|
}
|
|
}
|
|
}
|
|
{
|
|
error : {
|
|
code : -32000
|
|
message : Precise coverage has not been started.
|
|
}
|
|
id : <messageId>
|
|
}
|
|
|
|
Running test: testBestEffortCoverage
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : {
|
|
description : 8
|
|
type : number
|
|
value : 8
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
]
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
]
|
|
}
|
|
}
|
|
|
|
Running test: testBestEffortCoverageWithPreciseBinaryEnabled
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : {
|
|
description : 8
|
|
type : number
|
|
value : 8
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
[0] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 221
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
[1] : {
|
|
functionName : fib
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 73
|
|
startOffset : 1
|
|
}
|
|
]
|
|
}
|
|
[2] : {
|
|
functionName : is_optimized
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 0
|
|
endOffset : 175
|
|
startOffset : 74
|
|
}
|
|
]
|
|
}
|
|
[3] : {
|
|
functionName : iife
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 208
|
|
startOffset : 177
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url : testBestEffortCoverageWithPreciseBinaryEnabled
|
|
}
|
|
[1] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 38
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
[0] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 221
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
[1] : {
|
|
functionName : fib
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 73
|
|
startOffset : 1
|
|
}
|
|
]
|
|
}
|
|
[2] : {
|
|
functionName : is_optimized
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 0
|
|
endOffset : 175
|
|
startOffset : 74
|
|
}
|
|
]
|
|
}
|
|
[3] : {
|
|
functionName : iife
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 208
|
|
startOffset : 177
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url : testBestEffortCoverageWithPreciseBinaryEnabled
|
|
}
|
|
[1] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 38
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
Running test: testBestEffortCoverageWithPreciseCountEnabled
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : {
|
|
description : 8
|
|
type : number
|
|
value : 8
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
[0] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 221
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
[1] : {
|
|
functionName : fib
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 73
|
|
startOffset : 1
|
|
}
|
|
]
|
|
}
|
|
[2] : {
|
|
functionName : is_optimized
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 0
|
|
endOffset : 175
|
|
startOffset : 74
|
|
}
|
|
]
|
|
}
|
|
[3] : {
|
|
functionName : iife
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 208
|
|
startOffset : 177
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url : testBestEffortCoverageWithPreciseCountEnabled
|
|
}
|
|
[1] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 38
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
[0] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 221
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
[1] : {
|
|
functionName : fib
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 73
|
|
startOffset : 1
|
|
}
|
|
]
|
|
}
|
|
[2] : {
|
|
functionName : is_optimized
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 0
|
|
endOffset : 175
|
|
startOffset : 74
|
|
}
|
|
]
|
|
}
|
|
[3] : {
|
|
functionName : iife
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 208
|
|
startOffset : 177
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url : testBestEffortCoverageWithPreciseCountEnabled
|
|
}
|
|
[1] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 38
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
Running test: testEnablePreciseCountCoverageAtPause
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : {
|
|
type : undefined
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
[0] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 38
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
Running test: testPreciseBinaryCoverage
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : {
|
|
description : 8
|
|
type : number
|
|
value : 8
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
[0] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 221
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
[1] : {
|
|
functionName : fib
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 73
|
|
startOffset : 1
|
|
}
|
|
]
|
|
}
|
|
[2] : {
|
|
functionName : is_optimized
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 0
|
|
endOffset : 175
|
|
startOffset : 74
|
|
}
|
|
]
|
|
}
|
|
[3] : {
|
|
functionName : iife
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 208
|
|
startOffset : 177
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url : testPreciseBinaryCoverage
|
|
}
|
|
]
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : {
|
|
type : string
|
|
value : unoptimized
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : {
|
|
description : 10946
|
|
type : number
|
|
value : 10946
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : {
|
|
type : string
|
|
value : optimized
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
[0] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName : is_optimized
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 175
|
|
startOffset : 74
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url : testPreciseBinaryCoverage
|
|
}
|
|
[1] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 17
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
[2] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 7
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
Running test: testPreciseEmptyScriptCoverageEntries
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
]
|
|
}
|
|
}
|
|
|
|
Running test: testPreciseCountCoveragePartial
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : {
|
|
type : undefined
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
[0] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 238
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
[1] : {
|
|
functionName : outer
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 224
|
|
startOffset : 10
|
|
}
|
|
]
|
|
}
|
|
[2] : {
|
|
functionName : nested_0
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 176
|
|
startOffset : 31
|
|
}
|
|
]
|
|
}
|
|
[3] : {
|
|
functionName : nested_1
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 172
|
|
startOffset : 64
|
|
}
|
|
]
|
|
}
|
|
[4] : {
|
|
functionName : nested_2
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 166
|
|
startOffset : 99
|
|
}
|
|
]
|
|
}
|
|
[5] : {
|
|
functionName : nested_3
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 158
|
|
startOffset : 136
|
|
}
|
|
]
|
|
}
|
|
[6] : {
|
|
functionName : nested_4
|
|
isBlockCoverage : false
|
|
ranges : [
|
|
[0] : {
|
|
count : 0
|
|
endOffset : 201
|
|
startOffset : 179
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url : testPreciseCountCoveragePartial
|
|
}
|
|
]
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
result : [
|
|
[0] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName : nested_1
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 172
|
|
startOffset : 64
|
|
}
|
|
]
|
|
}
|
|
[1] : {
|
|
functionName : nested_2
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 0
|
|
endOffset : 166
|
|
startOffset : 99
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url : testPreciseCountCoveragePartial
|
|
}
|
|
[1] : {
|
|
functions : [
|
|
[0] : {
|
|
functionName :
|
|
isBlockCoverage : true
|
|
ranges : [
|
|
[0] : {
|
|
count : 1
|
|
endOffset : 3
|
|
startOffset : 0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
}
|