- 16 Mar, 2018 24 commits
-
-
Sigurd Schneider authored
Bug: v8:7340, v8:7250 Change-Id: I7bc40c204678995a5ed9b0675b4f838c5e8e6c4a Reviewed-on: https://chromium-review.googlesource.com/966066Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#51997}
-
sreten.kovacevic authored
Implement methods for calling C functions in Liftoff on MIPS and MIPS64. Bug: v8:6600 Change-Id: I43f43dc3d1e13f15dc8359ce7a8a8b2273f0ff62 Reviewed-on: https://chromium-review.googlesource.com/966282Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com> Cr-Commit-Position: refs/heads/master@{#51996}
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: Icc3882377c8e40411d556bf7165eed061f600f18 Reviewed-on: https://chromium-review.googlesource.com/965064Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51995}
-
Georg Neis authored
This avoids a deopt loop. Bug: v8:7254 Change-Id: I9ab1dfc754c5ad63c451a9e2276aa1d7eb4c27b1 Reviewed-on: https://chromium-review.googlesource.com/966065Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#51994}
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: Ia495e09bdd0c529685de8ed77f6016d58b68f0d6 Reviewed-on: https://chromium-review.googlesource.com/965983 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51993}
-
Marja Hölttä authored
BUG=v8:7308,v8:7567 Change-Id: I031c11817686570c8fa5fa772691cd90c54d9ab2 Reviewed-on: https://chromium-review.googlesource.com/966029Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#51992}
-
Sigurd Schneider authored
This also adds ObjectIsInteger and NumberIsInteger operators. Bug: v8:7340, v8:7250 Change-Id: I8067276d12c8532931f90e6397f8435362c2f9af Reviewed-on: https://chromium-review.googlesource.com/951602Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#51991}
-
Clemens Hammacher authored
Add OWNERS files for the Liftoff mips implementation, to allow for shorter delays on reviews. R=titzer@chromium.org CC=ivica.bogosavljevic@mips.com, sreten.kovacevic@mips.com NOTRY=true Bug: v8:6600 Change-Id: Ied7d2fad8dfe3eeca3b708b6a6a11f3b37aa1dc0 Reviewed-on: https://chromium-review.googlesource.com/966342Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51990}
-
Sathya Gunasekaran authored
Bug: v8:7317 Change-Id: I5b3072c84cf8d97c8ebfeb274d0f1134046666c9 Reviewed-on: https://chromium-review.googlesource.com/965063 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#51989}
-
Sathya Gunasekaran authored
Bug: v8:7317 Change-Id: I2182edc5169c622280a104036ff07507acc01fb9 Reviewed-on: https://chromium-review.googlesource.com/965982Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#51988}
-
Camillo Bruni authored
This CL ads a StartPosition and EndPosition accessors on SFI and ScopeInfo to facilitate future refactoring. In a future CL the start and end position are no longer stored directly on SFIs. This CL will temporarily increase memory since the position info is duplicated on the SFI and the ScopeInfo. Drive-by-fix: Clean up some constants in ScopeInfo Bug: v8:7066 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I1a8c5dd4e2156c007e04d92e72e478b915516e0d Reviewed-on: https://chromium-review.googlesource.com/955629Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#51987}
-
Clemens Hammacher authored
Emit shorter code and avoid use of a register if the root array is available. R=mstarzinger@chromium.org Bug: v8:6600 Change-Id: I20613af154c8dcc6dc22a81c77fd2faded2dad1e Reviewed-on: https://chromium-review.googlesource.com/965061Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51986}
-
Clemens Hammacher authored
There was a bug in spilling i64 constants, in that the half stack slot *above* should have been filled with the high word instead of the one *below*. Instead of just fixing this, this CL optimizes spilling x64 constants to the stack by emitting shorter and faster code, especially if the constant fits in 31 bits (which is the majority of cases). R=titzer@chromium.org Bug: v8:7565,v8:6600 Change-Id: Id75ddafe82615930a84333a0c49bd515ccbcc093 Reviewed-on: https://chromium-review.googlesource.com/965062Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51985}
-
Ivica Bogosavljevic authored
Rewrite overflow instructions in order to allow branch poisoning. Change-Id: I5f97808c7eac08927243780a0ae0c48f6de0c45b Reviewed-on: https://chromium-review.googlesource.com/964321 Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Reviewed-by: Sreten Kovacevic <sreten.kovacevic@mips.com> Cr-Commit-Position: refs/heads/master@{#51984}
-
Ilija Pavlovic authored
Enumerated constants CODE_AGE_MARKER_NOP and CODE_AGE_MARKER_NOP were defined for using in code aging. Support for code aging is removed with following: 8bf15bf1 Reland "[Compiler] Remove code aging support.". After this, mentioned constants are not used anymore in MIPS implementation and therefore they can be removed. TEST= BUG= Change-Id: Ica2b3ceeb94a8fc1110760beff159e82024d3ed3 Reviewed-on: https://chromium-review.googlesource.com/966183 Commit-Queue: Ilija Pavlović <ilija.pavlovic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#51983}
-
Sigurd Schneider authored
Bug: v8:7516 Change-Id: I0a43197527e3fd4f14862fb782029e9325ae2a00 Reviewed-on: https://chromium-review.googlesource.com/966103 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51982}
-
Clemens Hammacher authored
i64.mul is supported by all platforms, remove obsolete checks. R=ahaas@chromium.org,sreten.kovacevic@mips.com Change-Id: Ief64fd2a5bc53f09e6404259a3f9aeea2ad1ac6a Reviewed-on: https://chromium-review.googlesource.com/964821Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Sreten Kovacevic <sreten.kovacevic@mips.com> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51981}
-
Sigurd Schneider authored
This also introduces two new simplified operators, NumberIsFinite and ObjectIsFiniteNumber; the latter handles all values, and the former is a fast-path of the fast-path that is inserted by typed optimization if we know the input has Type::Number. Bug: v8:7340, v8:7250 Change-Id: I1b4812c01bf470bbff40fb3da6e11da543a22cd2 Reviewed-on: https://chromium-review.googlesource.com/951244 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51980}
-
Stephan Herhut authored
The streaming compilation pipeline did not parse the names section and this is also not longer needed for getting function or local names. However, the module name still needs to be set eagerly. Change-Id: I1ac12e98b970ea0781302dc44ee684510bdf2d69 Reviewed-on: https://chromium-review.googlesource.com/962452Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Stephan Herhut <herhut@chromium.org> Cr-Commit-Position: refs/heads/master@{#51979}
-
Michael Achenbach authored
NOTRY=true TBR=sergiyb@chromium.org Bug: chromium:822593 Change-Id: I7f3fe4f5798a4269f1900c80a4c3999122917201 Reviewed-on: https://chromium-review.googlesource.com/966141 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51978}
-
jgruber authored
Bug: v8:7487, v8:7486 Change-Id: I236af86639b9cec88e91af5659478206578da9e9 Reviewed-on: https://chromium-review.googlesource.com/964325Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51977}
-
Michael Achenbach authored
NOTRY=true TBR=sergiyb@chromium.org Bug: chromium:822593 Change-Id: I65427ed95da8d71ed690581aae3549e77003d264 Reviewed-on: https://chromium-review.googlesource.com/966102Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51976}
-
Benedikt Meurer authored
A value of type OtherSeqString can change its type to OtherNonSeqString via inplace internalization (and redirection via a ThinString). This can lead to out of bounds memory accesses and generally correctness bugs, as seen with crbug.com/822284. This change might affect performance in some cases, and we'll need to evaluate whether it's worth spending cycles on adding another mechanism that leverages the sequential string information in a safe way on a case by case basis. Bug: chromium:822284 Change-Id: I0de77ec089a774236555f38c365f7548f454edfe Reviewed-on: https://chromium-review.googlesource.com/966021Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#51975}
-
Michael Achenbach authored
NOTRY=true Bug: chromium:822593 Change-Id: I36da13125cda8df978706a3959d9d2b66073d6eb Reviewed-on: https://chromium-review.googlesource.com/966082Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51974}
-
- 15 Mar, 2018 16 commits
-
-
Benedikt Meurer authored
This introduces a new JSCreateTypedArray operator, backed by a dedicated CreateTypedArray builtin, and adds support to lowering new TypedArray calls to this operator. This way we avoid the overhead of going through the generic construct stub machinery for hot code. This not only recovers the performance regression on the typed array constructor benchmarks, but even improves slightly beyond what we had in 6.6. We might in the future try to fully inline the TypedArray constructor into optimized code for certain cases. Bug: chromium:820726, v8:7503, v8:7518 Change-Id: Ied465924d5695db576d533792f1db68456b9b5ea Reviewed-on: https://chromium-review.googlesource.com/959010 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#51973}
-
Clemens Hammacher authored
Prevent d8 from exiting while wasm background compilation is still going on. This prevents the need to use the testRunner to execute webassembly tests in d8. R=yangguo@chromium.org CC=ahaas@chromium.org Change-Id: I86fb7ce260fc56ee87040742f77b0ff86b8fbd53 Reviewed-on: https://chromium-review.googlesource.com/964221Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51972}
-
Eric Holk authored
Bug: chromium:821368 Change-Id: I4e7032d76a0ac0e291b9dab2f7bcb58ce84827cf Reviewed-on: https://chromium-review.googlesource.com/963601Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#51971}
-
Benedikt Meurer authored
TurboFan assumed that the output of NumberToString is always a sequential string, since that's what we put into the number to string table. However we might eventually morph these strings into ThinStrings when we need to internalize them, in which case the type in TurboFan will be wrong, and we read out of bounds. Also-By: tebbi@chromium.org Bug: chromium:822284 Change-Id: I5aebe73028b95849fff72bba262c517677112353 Reviewed-on: https://chromium-review.googlesource.com/964523 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#51970}
-
Erik Luo authored
Adds a flag onto InterceptorInfo to mark an interceptor's getter, query, and enumerator callbacks as side-effect-free. Bug: v8:7515 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Iafc5d2fa554d6d9a38604e179ea5b884c3b77af0 Reviewed-on: https://chromium-review.googlesource.com/957870 Commit-Queue: Erik Luo <luoe@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#51969}
-
Ben L. Titzer authored
R=clemensh@chromium.org Change-Id: I97cadf40e441c5d19a1ea9b03a5d2f04505f04c5 Reviewed-on: https://chromium-review.googlesource.com/964365Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51968}
-
🥙 Mathias Bynens authoredProposal repo: https://tc39.github.io/proposal-flatMap/ Bug: v8:7220 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I61661fc6d5c39d084ce5c96a9e150e5c26799e2d Also-By: bmeurer@chromium.org Reviewed-on: https://chromium-review.googlesource.com/957043 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51967}
-
jgruber authored
These checks are critical even in release mode. They won't impact runtime performance since this happens at snapshot-time. TBR=yangguo@chromium.org Bug: v8:6666 Change-Id: I342d9f80c6b882363da00630385686ac6a02cf5d Reviewed-on: https://chromium-review.googlesource.com/964524 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51966}
-
Benedikt Meurer authored
This is a reland of d504203e Original change's description: > [turbofan] Consistently use String feedback for JSAdd. > > Currently we didn't always consistently use the String feedback on > JSAdd, but only if JSTypedLowering would already figure out statically > that one of the inputs is already a String. That leads to some odd > performance cliffs, as highlighted in the referenced bug. > > This CL fixes the JSTypedLowering::ReduceJSAdd to always bake in the > String feedback. This improves the relevant performance tests from the > bug from > > console.timeEnd: Runtime join3, 967.512000 > console.timeEnd: Runtime join, 1004.599000 > console.timeEnd: Runtime join3, 1124.764000 > console.timeEnd: Runtime join, 966.164000 > console.timeEnd: Runtime join3, 1145.296000 > console.timeEnd: Runtime join, 966.176000 > console.timeEnd: Runtime join3, 1145.272000 > console.timeEnd: Runtime join, 931.266000 > > to > > console.timeEnd: Runtime join3, 903.050000 > console.timeEnd: Runtime join, 856.509000 > console.timeEnd: Runtime join3, 945.144000 > console.timeEnd: Runtime join, 840.038000 > console.timeEnd: Runtime join3, 927.965000 > console.timeEnd: Runtime join, 841.263000 > console.timeEnd: Runtime join3, 929.342000 > console.timeEnd: Runtime join, 858.143000 > > which corresponds to an 8-18% improvement. > > Bug: v8:7415 > Change-Id: I62e008298e4ee0864885b37817c91d055acf2a09 > Reviewed-on: https://chromium-review.googlesource.com/936643 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#51551} Bug: v8:7415 Change-Id: Idbc889dc070f764dacf3bf535e41d0e66ab09bea Reviewed-on: https://chromium-review.googlesource.com/964421Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51965}
-
Sathya Gunasekaran authored
Given the following input, const config = { min: Math.min(1, 2), func: myfunc(), } Previously, the error was, ➜ ./out.gn/x64.release/d8 _test.js _test.js:3: ReferenceError: myfunc is not defined min: Math.min(1, 2), ^ ReferenceError: myfunc is not defined at _test.js:3:13 Now, the error is, ➜ ./out.gn/x64.release/d8 _test.js _test.js:4: ReferenceError: myfunc is not defined func: myfunc(), ^ ReferenceError: myfunc is not defined at _test.js:4:9 Bug: v8:7507 Change-Id: Ia65b445fdbc1369ecce80f4fc2040e500c807d40 Reviewed-on: https://chromium-review.googlesource.com/964182Reviewed-by: Mathias Bynens <mathias@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#51964}
-
Benedikt Meurer authored
This makes the moves from constants to the poisoning register explicit so that the register allocator does not have to burn a register on it. Bug: chromium:798964, chromium:820726, v8:7503, v8:7518 Change-Id: Ifc8f9a2f685405dd38fec583bb0e20c3f0320903 Reviewed-on: https://chromium-review.googlesource.com/964202Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51963}
-
Jakob Gruber authored
This reverts commit f1b1ec70. Reason for revert: Tentative revert for https://logs.chromium.org/v/?s=chromium%2Fbb%2Fclient.v8.fyi%2FV8-Blink_Mac%2F13696%2F%2B%2Frecipes%2Fsteps%2Fwebkit_unit_tests%2F0%2Fstdout Original change's description: > [builtins] Remove off-heap builtins from the snapshot > > This CL is the final major step towards shipping off-heap-safe builtins > embedded into the binary. > > Prior to snapshot serialization, we now: > * create the embedded blob containing off-heap instruction streams, > * use that to generate embedded.cc (containing embedded binary data), > * replace off-heap-safe builtins with trampolines, > * and serialize those into the final snapshot. > > The new RelocInfo::OFF_HEAP_TARGET kind is used to fix up trampoline > targets on deserialization. > > Bug: v8:6666 > Change-Id: Ib07aea9e3bd7ecdec42291c1388b3a7453ea96ce > Reviewed-on: https://chromium-review.googlesource.com/950775 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#51960} TBR=yangguo@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org Change-Id: I58dd4bf9a99d37416855b48807150e1dd9ecd9e8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6666 Reviewed-on: https://chromium-review.googlesource.com/964363Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51962}
-
Hannes Payer authored
Change-Id: I57da95525e09820ed1a1697cc4eb1e39ecb7c7cc Reviewed-on: https://chromium-review.googlesource.com/964282Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51961}
-
jgruber authored
This CL is the final major step towards shipping off-heap-safe builtins embedded into the binary. Prior to snapshot serialization, we now: * create the embedded blob containing off-heap instruction streams, * use that to generate embedded.cc (containing embedded binary data), * replace off-heap-safe builtins with trampolines, * and serialize those into the final snapshot. The new RelocInfo::OFF_HEAP_TARGET kind is used to fix up trampoline targets on deserialization. Bug: v8:6666 Change-Id: Ib07aea9e3bd7ecdec42291c1388b3a7453ea96ce Reviewed-on: https://chromium-review.googlesource.com/950775 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#51960}
-
Ben L. Titzer authored
- Rename WasmCode::owner() to WasmCode::native_module() and - Make {shared} field of WasmCompiledModule no-longer const, since it had a setter masquerading under the {OnWasmModuleDeserialization()}. - Refactor and simplify the flow of "owner" in module-compiler.cc R=mstarzinger@chromium.org Change-Id: If9ee371124678fbbc845fc4e93279bf14f8f7ce8 Reviewed-on: https://chromium-review.googlesource.com/964263Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51959}
-
Sathya Gunasekaran authored
Bug: v8:7317 Change-Id: I44713155597549a148bdab7a6f16641cc3918a66 Reviewed-on: https://chromium-review.googlesource.com/962147 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#51958}
-