- 11 Aug, 2017 8 commits
-
-
Michael Lippautz authored
- Move into v8::internal::heap namespace - Remove card marking ifdefs Bug: Change-Id: Ifd5e5d96c6ab0fea85a3646e5b307583eb13e2c3 Reviewed-on: https://chromium-review.googlesource.com/612066Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47305}
-
Michael Lippautz authored
The removed building blocks have either been completely unused or have already been replaced. Bug: Change-Id: I68a4d5d42b7f1cc3c5f8d0e7ea7146c5a0f59048 Reviewed-on: https://chromium-review.googlesource.com/612163Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47304}
-
Ulan Degenbaev authored
This allows handling transitions arrays in concurrent marking Bug: chromium:694255 Change-Id: I28196fccbf03bfba7d7dada1884813be372ddb54 Reviewed-on: https://chromium-review.googlesource.com/610961 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47303}
-
Benedikt Meurer authored
For Divide operations like r = a / b where r has only truncated uses (i.e. only used in bitwise operations), we used to generate a Float64Div unless we statically knew something about a and b, even if a and b have always been integers so far. Crankshaft was able to generate an integer division here, because Fullcodegen collected feedback independently for inputs and outputs of binary operations. This adds new BinaryOperationFeedback::kSignedSmallInputs, which is used specifically for Divide to state that we have seen only SignedSmall inputs thus far, but the outputs weren't always in the SignedSmall range. The issue was discovered in a WebGL Triangulation library and reported via https://twitter.com/mourner/status/895708603117518848 after Node 8.3.0 was released with I+TF. R=jarin@chromium.org Bug: v8:6698 Change-Id: I830e421a3bf91fc8fa3665cbb706bc13675a6d2b Reviewed-on: https://chromium-review.googlesource.com/612063 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47302}
-
Michael Starzinger authored
This changes the baseline of an inspector test setting breakpoints within an asm.js module while the module is being executed. With the validator it is not supported to switch from active WebAssembly code back to debuggable interpreter code. Hence some previously expected breakpoints no longer fire, the behavior is consistent across all configurations now though. R=yangguo@chromium.org TEST=inspector/debugger/asm-js-breakpoint-during-exec BUG=v8:6166 Change-Id: Ie1bb62fa6df28b10336b4cb5d381d2141eec356c Reviewed-on: https://chromium-review.googlesource.com/608977Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47301}
-
Ulan Degenbaev authored
This reverts commit 3f820ebb. Revert "[heap, runtime] Avoid redundant clearing of slots in a trimmed array." This reverts commit ed76f17b. Reason: canary crashes. Bug: chromium:752750, chromium:694255 TBR: mlippautz@chromium.org Change-Id: I57c533e8a3db5f28e7659c5f326fa343627a3ff7 Reviewed-on: https://chromium-review.googlesource.com/607868Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47300}
-
Maya Lekova authored
This is a reland of edc4ae14 With fixes for crbug.com/752846, crbug.com/752712, crbug.com/752850 Previously landed as: 47a97aa5 / 47113 Previously landed as: 15ef03cb / 47159 Previously landed as: e86c066b / 47235 Previously landed as: edc4ae14 / 47245 TBR=jkummerow@chromium.org, franzih@chromium.org, bmeurer@chromium.org, jgruber@chromium.org, mstarzinger@chromium.org Bug: v8:6559, v8:6557 Change-Id: I956486e90aab36ba95676bd4ec2febebed509fc1 Reviewed-on: https://chromium-review.googlesource.com/609781Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> Commit-Queue: Maya Lekova <mslekova@google.com> Cr-Commit-Position: refs/heads/master@{#47299}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/b6996c4..7c87e0e Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/bd05965..0eeb5ba TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: I23ee429028dc94d66332ad1e624b95e46a459441 Reviewed-on: https://chromium-review.googlesource.com/611661Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#47298}
-
- 10 Aug, 2017 32 commits
-
-
Sathya Gunasekaran authored
Bug: v8:4643 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Id82365d20830e5efd33a8d066f5aab4b999807d7 Reviewed-on: https://chromium-review.googlesource.com/611180Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#47297}
-
Mircea Trofin authored
The compiler patches all call sites with a default code object value. We used to populate a vector with that value. Turns out that avoiding having that vector measurably reduces instantiation time. Bug: Change-Id: I2c843210a2ab24541f370b5493c3cbb555149e1a Reviewed-on: https://chromium-review.googlesource.com/609480 Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Brad Nelson <bradnelson@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47296}
-
Ulan Degenbaev authored
Bug: chromium:694255 TBR: mlippautz@chromium.org No-Tree-Checks: true No-Try: true Change-Id: I720dcc79c4cb8c1cbd7dd6e6de4c6113c363b2f0 Reviewed-on: https://chromium-review.googlesource.com/610561 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47295}
-
Eric Holk authored
Bug: Change-Id: I1ab93d5b2d02d9a4851c2e67d33968a7cafaedd3 Reviewed-on: https://chromium-review.googlesource.com/610892Reviewed-by: Brad Nelson <bradnelson@chromium.org> Commit-Queue: Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#47294}
-
Ulan Degenbaev authored
Bug: chromium:694255 TBR: mlippautz@chromium.org Change-Id: Ie9f2f7bff8ada297b1d078947f073eaf62ac0649 Reviewed-on: https://chromium-review.googlesource.com/610782Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47293}
-
Michael Lippautz authored
Bug: chromium:750084 Change-Id: I3c0059f1e986b5e4400f84f44b7f179e7232eae1 Reviewed-on: https://chromium-review.googlesource.com/610781 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47292}
-
Adam Klein authored
PatternRewriter is an implementation detail of the Parser; as such, there's no need for it to be exposed in parser.h (or even to most of the Parser). This patch is a cleanup that hides all of PatternRewriter in pattern-rewriter.cc, exposing only the few helper methods needed by the rest of Parser in parser.h. Also removed some duplication between the two PatternRewriter initialization functions by adding a constructor, and added a few DCHECKs here and there. Change-Id: I1dbae8dc0172ff16e40585d0e718d206d2075b3a Reviewed-on: https://chromium-review.googlesource.com/609365Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47291}
-
Maya Lekova authored
Add additional tests for Proxy get and has property. Bug: v8:6560, v8:6557 Change-Id: I56360c230b03a16425f4068d8023f90b3164eebb Reviewed-on: https://chromium-review.googlesource.com/607889 Commit-Queue: Maya Lekova <mslekova@google.com> Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#47290}
-
Ulan Degenbaev authored
This partially relands b35a0789. Bug: chromium:752426 Change-Id: Ia6f9853115278109189291bca92e94974cfe35b0 Reviewed-on: https://chromium-review.googlesource.com/610580Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47289}
-
Ulan Degenbaev authored
This patch merges ObjectMarking and MarkingState. The new marking state encapsulates object marking, live byte tracking, and access atomicity. The old ObjectMarking calls are now replaced with calls to marking state. For example: ObjectMarking::WhiteToGrey<kAtomicity>(obj, marking_state(obj) becomes marking_state()->WhiteToGrey(obj) This simplifies custom handling of live bytes and allows to chose atomicity of markbit accesses depending on collector's state. This also decouples marking bitmap from the marking code, which will allows in future to use different data-structure for mark-bits. Bug: chromium:694255 Change-Id: Ifb4bc0144187bac1c08f6bc74a9d5c618fe77740 Reviewed-on: https://chromium-review.googlesource.com/602132 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47288}
-
Ulan Degenbaev authored
Bug: chromium:752461 Change-Id: Ie70a4ed1314e040d0edecece6a1dca7b1fc8d001 Reviewed-on: https://chromium-review.googlesource.com/610083Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47287}
-
Mircea Trofin authored
Bug: Change-Id: Ia8fd50cad1c7d0dd82eeadb22807e301246423a8 Reviewed-on: https://chromium-review.googlesource.com/610309Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47286}
-
Mythri authored
Inline only if there is some additional budget left even after inlining the current candidate. This allows any small functions exposed by this function to be inlined. Earlier we used to check for the limit after inlining the function. Bug: v8:6682 Change-Id: Ia3931751f212e89ca6d9c8500c6b3a909f12d962 Reviewed-on: https://chromium-review.googlesource.com/608970Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#47285}
-
Ross McIlroy authored
Deletes AstGraphBuilder and associated classes now that it is unreachable. The following classes are also removed: - ControlBuilders - JSFrameSpecialization - AstLoopAssignmentAnalysis Also removes flags from compilation-info which are no longer used, and removes the no-deoptimization paths from TypedOptimization, JsTypedLowering, JSIntrinsicLowering and JSBuiltinLowering. BUG=v8:6409 Change-Id: I63986e8e3497bf63c4a27ea8ae827b8a633d4a26 Reviewed-on: https://chromium-review.googlesource.com/583652 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47284}
-
Leszek Swirski authored
Rather than lumping in parsing, bytecode compilation and optimized compilation all into the same VM "compile" state, seperate them out into individual states. Additionally, add support for these states to tickprocessor and profview. Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I5be943e23cae042e32e9ccb24415c67c18658b4b Reviewed-on: https://chromium-review.googlesource.com/608973 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47283}
-
Ben L. Titzer authored
This is a pure renaming CL; no functionality changes. R=mtrofin@chromium.org Bug: Change-Id: I2f8262bdb17b9256d5b66fad56a7e51063f6f0d9 Reviewed-on: https://chromium-review.googlesource.com/610007Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47282}
-
Alexey Kozyatinskiy authored
protocol::HashMap(std::unordered_map)::iterator doesn't provide any guarantees about iteration order. At least Visual C++ from vS 2015 and clang compile for loop inside forEachSession differently. For tests we need stable order of iteration, so let's use std::map instead. R=dgozman@chromium.org Bug: none Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I329cb24cd182baa86c0ea4a526257856718f32b1 Reviewed-on: https://chromium-review.googlesource.com/609489Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47281}
-
Mircea Trofin authored
When lazy-compiling, it is important we reconstitute the ModuleEnv accurately. Besides addressing a bug, this change also does away with the need to relocate memory and globals parameters (in lazy compilation), by using "the right ones" upfront. Bug: chromium:753496 Change-Id: I1412a499f05d02d49319fced1b3047698328f3b5 Reviewed-on: https://chromium-review.googlesource.com/609376Reviewed-by: Brad Nelson <bradnelson@chromium.org> Commit-Queue: Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#47280}
-
Ilija Pavlovic authored
For load and store operations, the code generator for MIPS64 used simple instructions. In this CL, these instructions are substituted with corresponding macro-instructions. TEST=mjsunit/asm/poppler/poppler, mjsunit/asm/sqlite3/sqlite, mjsunit/asm/sqlite3/sqlite-pointer-masking BUG= Change-Id: I1a15be880cd32046b9e5eeea49e5c81ebd2f3138 Reviewed-on: https://chromium-review.googlesource.com/608975Reviewed-by: Miran Karić <Miran.Karic@imgtec.com> Commit-Queue: Miran Karić <Miran.Karic@imgtec.com> Cr-Commit-Position: refs/heads/master@{#47279}
-
Tobias Tebbi authored
Bug: chromium:753616 Change-Id: I0e9495184d83f30b91ba0c813c4222a962ec235e Reviewed-on: https://chromium-review.googlesource.com/610003Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#47278}
-
Ross McIlroy authored
Removes the pathways to use Full-Codegen from compiler.cc. Also removes all paths to optimize using AstGraphBuilder, which relies on Full-codegen. Cleans up ast-numbering, runtime-profiler and some runtime functions to remove now dead code. This makes Full-codegen and AstGraphBuilder dead, but doesn't remove their code yet, that will be done in a followup CL to keep things reviewable. BUG=v8:6409 Change-Id: I3901ff17d960b2bb084cef0cb39fa16cb8419881 Reviewed-on: https://chromium-review.googlesource.com/583328 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47277}
-
Michael Starzinger authored
This is in preparation to the removal of the FullCodeGenerator, we no longer need the ability to stress the underlying implementation. R=rmcilroy@chromium.org BUG=v8:6409 Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: Iad3177d6de4a68b57c12a770b6e85ed7a9710254 Reviewed-on: https://chromium-review.googlesource.com/584747Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47276}
-
Ulan Degenbaev authored
Mutating the descriptor array and the layout descriptor of a map races with the concurrent marking. This patch simply transfers ownership of the descriptor array without mutating the map. Since the old map is not going to be used anymore and there are not transitions from the old map, this should be safe for trimming the descriptor arrays during GC. This patch also adds checks in IC code avoid caching of dummy transitions from the abandoned prototype map. Bug: chromium:752461 Change-Id: I7b44ba7c369199bdb3ff48235226fe504c7eb4a5 Reviewed-on: https://chromium-review.googlesource.com/602210 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#47275}
-
Enrico Bacis authored
The run_test.py tool test selection only expands asterisks at the end of the test name. This CL introduces glob expansion in test selection (asterisks are expanded anywhere in the path). This is useful when tests that belong to the same area have different prefixes. For example wasm cctests have two different prefixes: 'cctest/test-run-wasm*' and 'cctest/test-wasm*'. With this CL it is possible to specify the selector 'cctest/*wasm*' to run them all. R=machenbach@chromium.org Change-Id: I1c7cc5136b21e71f3eaf69fb98d5dfd77d336e2a Reviewed-on: https://chromium-review.googlesource.com/609000Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Enrico Bacis <enricobacis@google.com> Cr-Commit-Position: refs/heads/master@{#47274}
-
jgruber authored
This test started failing on arm64-debug-nosnap builds since we'd have leftover NEVER_EVACUATE code-space pages from Isolate initialization. Ensure that we exhaust all such pages and overflow into LO_SPACE before continuing into the real test, and simply generate dummy code instead of copying a fake CEntryStub. Bug: v8:6690 Change-Id: I3889b5818e2467dcdce3485f1372f3b7383478f4 Reviewed-on: https://chromium-review.googlesource.com/608139Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47273}
-
Benedikt Meurer authored
The heuristic for deciding whether to normalize elements in a JSArray should not depend on the current old generation size, for the sake of predictability. This also wouldn't work when we start inlining this into optimized code, where we'd bake in the max old generation size value at the time of optimization. Bug: v8:6399 Change-Id: Ie30d8855953b8fa97b86b18d9eac6e5de87e5aa9 Reviewed-on: https://chromium-review.googlesource.com/609013Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47272}
-
Peter Marshall authored
Previously we could not support these due to their unique memory layout including off-heap backing store allocations. We now serialize these allocations and then fix-up references to them in the PostProcess step of deserialization. Bug: v8:6691 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ic215049c06e6ee655bd17c11dfab0d8630568a84 Reviewed-on: https://chromium-review.googlesource.com/597709Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#47271}
-
Mythri Alle authored
This reverts commit 48cee973. Reason for revert: Including size of parent function in the inlining budget does not allow even small functions to be inlined into large functions. This causes regressions on some benchmarks: https://bugs.chromium.org/p/chromium/issues/detail?id=747247 Bug:747247 Original change's description: > [Turbofan] Include size of parent function in inlining decisions. > > The size of parent function is not considered when taking decisions > on which functions to inline. This cl, includes the size of the > parent function to the cumulative count. > > Bug: > Change-Id: Ib8f4ec684f8313f7c2e29237580bb3c0403930bd > Reviewed-on: https://chromium-review.googlesource.com/506205 > Commit-Queue: Mythri Alle <mythria@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46789} TBR=mstarzinger@chromium.org,mythria@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: Ic8a5282f4f41474dc1608044a81920cdd794437d Reviewed-on: https://chromium-review.googlesource.com/609780Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#47270}
-
Michael Achenbach authored
TBR=vadimsh@chromium.org Bug: chromium:753739 Change-Id: I8a61609aa68910b47a22e0358ef0acfc7cd5e444 Reviewed-on: https://chromium-review.googlesource.com/609002Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#47269}
-
Alexey Kozyatinskiy authored
Original intention of longScript was to check how hashing works with long script source. Current implementation calculates hash for longString function, it's non reliable since Function.toString is still not specified and can return different line endings on different architectures. TBR=dgozman@chromium.org Bug: none Change-Id: I4c5b6f30c2849a1a2702c74665b86ced731f1b28 Reviewed-on: https://chromium-review.googlesource.com/609486Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47268}
-
Alexey Kozyatinskiy authored
On context destroyed we discard corresponded injected-script and won't be able to wrap async evaluation result, so we can resolve callback with an error right now. R=dgozman@chromium.org Bug: none Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ib62f255297f306ad9f2c96a2a5b80e4b5aa33475 Reviewed-on: https://chromium-review.googlesource.com/604213 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#47267}
-
Jaroslav Sevcik authored
This also changes logging of code address to Code::instruction_start rather than Code::address(). Bug: v8:6239 Change-Id: I4ef975630574e23409123468a3f7fb8fe6ad39e7 Reviewed-on: https://chromium-review.googlesource.com/605887Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47266}
-