Commit b4524f21 authored by Camillo Bruni's avatar Camillo Bruni Committed by Chromium LUCI CQ

[blink] Add virtual test suite for V8's off thread finalization

Currently we have little coverage of this new feature and writing
unittests for streaming compilation is not yet supported.

Once successfully shipped, these tests should be removed again.

Bug: 1011762
Change-Id: I52a433e4655003cc5a3ac53d3df0ba2cca241537
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2617820Reviewed-by: default avatarLeszek Swirski <leszeks@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#842456}
parent 63f83476
...@@ -108,6 +108,15 @@ ...@@ -108,6 +108,15 @@
"--disable-blink-features=DecodeLossyWebPImagesToYUV", "--disable-blink-features=DecodeLossyWebPImagesToYUV",
"--disable-blink-features=DecodeJpeg420ImagesToYUV"] "--disable-blink-features=DecodeJpeg420ImagesToYUV"]
}, },
{
"prefix": "v8-off-thread-finalization",
"bases": [
"external/wpt/html/semantics/scripting-1",
"fast/dom",
"http/tests/devtools/isolated-code-cache/"
],
"args": ["--enable-features=V8OffThreadFinalization,SmallScriptStreaming"]
},
{ {
"prefix": "exotic-color-space", "prefix": "exotic-color-space",
"bases": ["images"], "bases": ["images"],
......
Virtual test suite for testing background finalization and streaming
of small scripts.
Tests V8 code cache for javascript resources
--- Trace events related to code caches ------
v8.compileModule Properties:
{
data : {
columnNumber : 1
lineNumber : 1
streamed : <boolean>
url : .../devtools/resources/v8-cache-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compileModule"
}
Text details for v8.compileModule: v8-cache-script.cgi
v8.compileModule Properties:
{
data : {
columnNumber : 1
lineNumber : 1
notStreamedReason : "already used streamed data"
streamed : <boolean>
url : .../devtools/resources/v8-cache-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compileModule"
}
Text details for v8.compileModule: v8-cache-script.cgi
v8.compileModule Properties:
{
data : {
columnNumber : 1
lineNumber : 1
notStreamedReason : "module script"
producedCacheSize : <number>
streamed : <boolean>
url : .../devtools/resources/v8-cache-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compileModule"
}
Text details for v8.compileModule: v8-cache-script.cgi
v8.compileModule Properties:
{
data : {
cacheConsumeOptions : "code"
cacheRejected : false
columnNumber : 1
consumedCacheSize : <number>
lineNumber : 1
notStreamedReason : "already used streamed data"
streamed : <boolean>
url : .../devtools/resources/v8-cache-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compileModule"
}
Text details for v8.compileModule: v8-cache-script.cgi
v8.compileModule Properties:
{
data : {
columnNumber : 1
lineNumber : 1
streamed : <boolean>
url : .../devtools/resources/v8-cache-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compileModule"
}
Text details for v8.compileModule: v8-cache-script.cgi
v8.compileModule Properties:
{
data : {
cacheConsumeOptions : "code"
cacheRejected : false
columnNumber : 1
consumedCacheSize : <number>
lineNumber : 1
notStreamedReason : "already used streamed data"
streamed : <boolean>
url : .../devtools/resources/v8-cache-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compileModule"
}
Text details for v8.compileModule: v8-cache-script.cgi
v8.compileModule Properties:
{
data : {
cacheConsumeOptions : "code"
cacheRejected : false
columnNumber : 1
consumedCacheSize : <number>
lineNumber : 1
notStreamedReason : "script has code-cache available"
streamed : <boolean>
url : .../devtools/resources/v8-cache-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compileModule"
}
Text details for v8.compileModule: v8-cache-script.cgi
-----------------------------------------------
Tests V8 code cache for javascript resources
--- Trace events related to code caches ------
Load [A] 1st time. Produce timestamp. -->
v8.compile Properties:
{
data : {
columnNumber : 0
lineNumber : 0
streamed : <boolean>
url : .../devtools/resources/v8-cache-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compile"
}
Text details for v8.compile: v8-cache-script.cgi:1
Load [A] 2nd time. Produce code cache. -->
v8.compile Properties:
{
data : {
columnNumber : 0
lineNumber : 0
notStreamedReason : "already used streamed data"
streamed : <boolean>
url : .../devtools/resources/v8-cache-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compile"
}
Text details for v8.compile: v8-cache-script.cgi:1
v8.compile Properties:
{
data : {
columnNumber : 0
lineNumber : 0
notStreamedReason : "already used streamed data"
producedCacheSize : <number>
streamed : <boolean>
url : .../devtools/resources/v8-cache-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compile"
}
Text details for v8.compile: v8-cache-script.cgi:1
Load [A] 3rd time. Consume code cache. -->
v8.compile Properties:
{
data : {
cacheConsumeOptions : "code"
cacheRejected : false
columnNumber : 0
consumedCacheSize : <number>
lineNumber : 0
notStreamedReason : "already used streamed data"
streamed : <boolean>
url : .../devtools/resources/v8-cache-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compile"
}
Text details for v8.compile: v8-cache-script.cgi:1
Load [B]. Should not use the cached code. -->
v8.compile Properties:
{
data : {
columnNumber : 0
lineNumber : 0
streamed : <boolean>
url : .../devtools/resources/v8-cache-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compile"
}
Text details for v8.compile: v8-cache-script.cgi:1
Load [A] again from MemoryCache. Should use the cached code. -->
v8.compile Properties:
{
data : {
cacheConsumeOptions : "code"
cacheRejected : false
columnNumber : 0
consumedCacheSize : <number>
lineNumber : 0
notStreamedReason : "already used streamed data"
streamed : <boolean>
url : .../devtools/resources/v8-cache-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compile"
}
Text details for v8.compile: v8-cache-script.cgi:1
Clear [A] from MemoryCache. -->
Load [A] from Disk Cache. -->
v8.compile Properties:
{
data : {
cacheConsumeOptions : "code"
cacheRejected : false
columnNumber : 0
consumedCacheSize : <number>
lineNumber : 0
notStreamedReason : "script has code-cache available"
streamed : <boolean>
url : .../devtools/resources/v8-cache-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compile"
}
Text details for v8.compile: v8-cache-script.cgi:1
-----------------------------------------------
Tests V8 code cache for resources revalidated with 304.
--- Begin trace events related to code cache. ------
1st load. Produce timestamp. -->
v8.compile Properties:
{
data : {
columnNumber : 0
lineNumber : 0
streamed : <boolean>
url : .../devtools/resources/v8-cache-revalidated-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compile"
}
Text details for v8.compile: v8-cache-revalidated-script.cgi:1
2nd load. Produce code cache. -->
v8.compile Properties:
{
data : {
columnNumber : 0
lineNumber : 0
notStreamedReason : "already used streamed data"
streamed : <boolean>
url : .../devtools/resources/v8-cache-revalidated-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compile"
}
Text details for v8.compile: v8-cache-revalidated-script.cgi:1
v8.compile Properties:
{
data : {
columnNumber : 0
lineNumber : 0
notStreamedReason : "already used streamed data"
producedCacheSize : <number>
streamed : <boolean>
url : .../devtools/resources/v8-cache-revalidated-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compile"
}
Text details for v8.compile: v8-cache-revalidated-script.cgi:1
3rd load. Consume code cache. -->
v8.compile Properties:
{
data : {
cacheConsumeOptions : "code"
cacheRejected : false
columnNumber : 0
consumedCacheSize : <number>
lineNumber : 0
notStreamedReason : "already used streamed data"
streamed : <boolean>
url : .../devtools/resources/v8-cache-revalidated-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compile"
}
Text details for v8.compile: v8-cache-revalidated-script.cgi:1
Clear the resource from the MemoryCache. -->
Load the resource with revalidation. The code cache got dropped because its timestamp did not match the one of the request. -->
v8.compile Properties:
{
data : {
columnNumber : 0
lineNumber : 0
streamed : <boolean>
url : .../devtools/resources/v8-cache-revalidated-script.cgi
}
endTime : <number>
startTime : <number>
type : "v8.compile"
}
Text details for v8.compile: v8-cache-revalidated-script.cgi:1
----- End trace events related to code cache. ------
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment