- 18 Jul, 2017 18 commits
-
-
Alexey Kozyatinskiy authored
Nop bytecodes are required only for break locations in debugger. Since nop bytecode doesn't change program state we can remove all of them. There are at least two changes which this CL produce: - we don't provide break position when we load local variable (still provide when load variable from global), - we don't provide break position for statements without actual break positions (e.g. "a;") - these expressions should be super rare and user always can set breakpoint before or after this statement. More details in one pager: https://docs.google.com/a/google.com/document/d/1JXlQpfMa9vRojbE272b6GMBbrfh6m_00135iAUOJEz8/edit?usp=sharing Bug: v8:6425 Change-Id: I4aee73d497a84f7b5d89caa6dda6d3060567dfda Reviewed-on: https://chromium-review.googlesource.com/543161Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46742}
-
Ross McIlroy authored
BUG=v8:6609 Change-Id: If4c3520fba0653e23e6d34bf344fb00cdbfc6082 Reviewed-on: https://chromium-review.googlesource.com/575049Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46741}
-
Alexey Kozyatinskiy authored
R=dgozman@chromium.org,machenbach@chromium.org Bug: none Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: Iccbcd55defe4f8c3ad68519ead300197e15d5d6f Reviewed-on: https://chromium-review.googlesource.com/574635 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46740}
-
clemensh authored
Revert of [api] Fix compilation error for `UNIMPLEMENTED()` method (patchset #1 id:1 of https://codereview.chromium.org/2929993003/ ) Reason for revert: not needed any more, and contradicts our cleanup efforts: https://chromium-review.googlesource.com/c/507287/ Original issue's description: > [api] Fix compilation error for `UNIMPLEMENTED()` method > > Return `nullptr` from `ArrayBuffer::Allocator::Reserve` because > apparently not doing so results in compile errors for some people. > > BUG= > > Ref: https://github.com/nodejs/node/issues/13392 > Review-Url: https://codereview.chromium.org/2929993003 > Cr-Commit-Position: refs/heads/master@{#45886} > Committed: https://chromium.googlesource.com/v8/v8/+/f14d1b62313329f421f12cae429673c1b13018f9 R=franzih@chromium.org,addaleax@gmail.com Review-Url: https://codereview.chromium.org/2946933002 Cr-Commit-Position: refs/heads/master@{#46739}
-
Camillo Bruni authored
- use asm_tester instead of data variable name - directly expose Variable and Label for convenience Change-Id: I211fe07e236f96067037ca00c1435c1491121e6b Reviewed-on: https://chromium-review.googlesource.com/574914 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#46738}
-
Michael Lippautz authored
This will allow us to concurrently allocate buckets during iteration. Bug: chromium:738865 Change-Id: I88bd1ac152d1ef8b40395f0ba3e55a7c3e82f75d Reviewed-on: https://chromium-review.googlesource.com/575990 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46737}
-
Michael Achenbach authored
TBR=ishell@chromium.org NOTRY=true NOTREECHECKS=true Bug: chromium:726584 Change-Id: I204cf0e8cff403af98b2a7f156f242d67dbdaf35 Reviewed-on: https://chromium-review.googlesource.com/575929 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46736}
-
Clemens Hammacher authored
This allows to reuse the class e.g. in the baseline compiler. R=titzer@chromium.org Change-Id: I7251af16e8c74f267834a9cefb676edf3c9f3a07 Reviewed-on: https://chromium-review.googlesource.com/570020Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46735}
-
Camillo Bruni authored
Change-Id: I50ae9d96545f63bdb5ca27a23ea3a04c8764678a Reviewed-on: https://chromium-review.googlesource.com/574533Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46734}
-
Clemens Hammacher authored
This CL replaces some Handles which can be empty by MaybeHandle. This documents that they can be empty, and forces a check before using them. R=ahaas@chromium.org Change-Id: Iefb9ae76617c45d2304b0a620dc082ab9c7b0585 Reviewed-on: https://chromium-review.googlesource.com/574593Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46733}
-
Yang Guo authored
See https://goo.gl/6aN8xA Bug: v8:6593 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ic8b0b57195d01d41591397d5d45de3f0f3ebc3d9 Reviewed-on: https://chromium-review.googlesource.com/574527Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#46732}
-
Ross McIlroy authored
Moves the creation of shared function infos and the scripts shared function info array (for top-level code) to be in the FinalizeUnoptimizedCompilation step when not compiling with Full-codegen. This is needed in order to avoid accessing the heap between parse and compile. BUG=v8:5203 Change-Id: I4063bb91608fa5a0c3d3564767786776a0e4dd03 Reviewed-on: https://chromium-review.googlesource.com/571812 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46731}
-
Ben Noordhuis authored
en_US_POSIX is ICU's fallback locale on POSIX platforms for when it cannot detect a default locale. Consider it equivalent to en-US. I won't claim this is the best possible fix but it makes the following tests pass again for me locally: intl/break-iterator/default-locale intl/break-iterator/wellformed-unsupported-locale intl/collator/default-locale intl/collator/wellformed-unsupported-locale intl/date-format/default-locale intl/date-format/wellformed-unsupported-locale intl/number-format/default-locale intl/number-format/wellformed-unsupported-locale R=jgruber@chromium.org Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I0e8029f4ffaf5fd3ca72a1cc5db2878891744864 Reviewed-on: https://chromium-review.googlesource.com/567981 Commit-Queue: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#46730}
-
Clemens Hammacher authored
This refactoring makes some parameters const, and does not rely on the fact that inputs are passed via NodeVector. Both changes are needed for an upcoming refactoring of the wasm decoder. R=bbudge@chromium.org Change-Id: Ifbd6185ae9ea5a0ef526c2fd695e13e3f14475f4 Reviewed-on: https://chromium-review.googlesource.com/571004Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46729}
-
Clemens Hammacher authored
Signature maps should only be updated, but never copied. We had a bug because we accidentally updated a copy of the map. This refactoring prevents any such bugs in the future, and fixes more occurences where we accidentally copied structs containing a signature map (the move-only constraint also extends to all structs containing a signature map). Drive-by: Make InstanceBuilder::NeedsWrappers const. R=titzer@chromium.org Bug: chromium:741750 Change-Id: Id919203d8c4078e608a1163e5c790c97d06a9753 Reviewed-on: https://chromium-review.googlesource.com/571791Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46728}
-
jgruber authored
This reinstates the old behavior of Error.captureStackTrace prior to 4feafee9. Like the builtin Error constructors, captureStackTrace now formats the stack trace lazily once it is accessed. Bug: v8:5962 Change-Id: I03821b73d26b7b40809a1fea98f9c820bfa05d6b Reviewed-on: https://chromium-review.googlesource.com/574530Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#46727}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/63efa35..1808a90 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/af47a93..44b022b TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: Icf22a76859f0897d97ca68de61850cef1a607f26 Reviewed-on: https://chromium-review.googlesource.com/575868Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#46726}
-
Adam Klein authored
Change-Id: I091a1f4a1f2292b37a56520d0a5c46ac5781b459 Reviewed-on: https://chromium-review.googlesource.com/575515Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#46725}
-
- 17 Jul, 2017 22 commits
-
-
Sathya Gunasekaran authored
NOTREECHECKS=true Bug: Change-Id: I6c4d76be9f032d1149a5128c90995b7302c9d9b5 Reviewed-on: https://chromium-review.googlesource.com/574697 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#46724}
-
Sathya Gunasekaran authored
Previously, ➜ v8 (master)
✔ ./out.gn/x64.optdebug/d8 V8 version 6.1.0 (candidate) d8> var x = undefined undefined d8> var [a] = x (d8):1: TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined var [a] = x ^ TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined at (d8):1:11 Now, ➜ v8 (fix-iterator)✔ ./out.gn/x64.optdebug/d8 V8 version 6.1.0 (candidate) d8> var x = undefined undefined d8> var [a] = x (d8):1: TypeError: x is not iterable var [a] = x ^ TypeError: x is not iterable at (d8):1:11 Bug: v8:6599, v8:6513 Change-Id: I71287a19166af0289e8f7708b8f41ad003ae87ae Reviewed-on: https://chromium-review.googlesource.com/571175 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#46723} -
Sathya Gunasekaran authored
Also, add a couple of macros to handle error cases. R=adamk@chromium.org Bug: chromium:744292 Change-Id: I5dcb19ce67ec1aa4318d68d973d304cb07a65b80 Reviewed-on: https://chromium-review.googlesource.com/575394 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#46722}
-
Sathya Gunasekaran authored
This was previously used by our js builtins but they no longer exist. This has been exposed to API which means we can't remove it just yet. Moving to CPP for now to save binary size. Bug: v8:5343 Change-Id: I2a3e5a4169310b2ba13ce13f0386336e9733d71f Reviewed-on: https://chromium-review.googlesource.com/575024Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#46721}
-
Ulan Degenbaev authored
Now the concurrent marker skips the weak fields of AllocationSites. BUG=chromium:694255 Change-Id: If920b6a14fa12c3a90ab0d283e22988ccbd48c0e Reviewed-on: https://chromium-review.googlesource.com/574907 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46720}
-
Benedikt Meurer authored
This reverts commit a72b2f88. Reason for revert: Breaks https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20debug/builds/7093 Original change's description: > [arm] Restrict grouping pushes before a TailCall to registers only > > We optimize parallel moves performed before a TailCall by grouping adjacent > pushes. This way, we may use a single instruction to push multiple registers at > once. However, we also have support for pushing immediates and stack slots for > which the benefit is questionnable therefore this patch removes support for > them. > > Concerning immediate pushes, it looks like a mistake since we do not have > support for this case in `AssembleMove` so this patch removes it. Furthermore, > if we add a test for this case, we see that a `push ip` instruction is > generated, effectively pushing whatever was in `ip` at the time instead of > pushing a constant. > > Concerning stack slot pushes, we generate a more or less equivalent sequence of > instructions. > > Finally, grouping floating point pushes is not used anywhere so this patch > removes support for this also. > > Bug: v8:6553 > Change-Id: I9b820d33361fc442dd813f66e1f96cda41009110 > Reviewed-on: https://chromium-review.googlesource.com/567191 > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> > Cr-Commit-Position: refs/heads/master@{#46718} TBR=danno@chromium.org,jarin@chromium.org,pierre.langlois@arm.com,bmeurer@chromium.org Change-Id: Ib9db9e6e4f033aeea32741e04b1b884429acc800 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6553 Reviewed-on: https://chromium-review.googlesource.com/574908Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#46719}
-
Pierre Langlois authored
We optimize parallel moves performed before a TailCall by grouping adjacent pushes. This way, we may use a single instruction to push multiple registers at once. However, we also have support for pushing immediates and stack slots for which the benefit is questionnable therefore this patch removes support for them. Concerning immediate pushes, it looks like a mistake since we do not have support for this case in `AssembleMove` so this patch removes it. Furthermore, if we add a test for this case, we see that a `push ip` instruction is generated, effectively pushing whatever was in `ip` at the time instead of pushing a constant. Concerning stack slot pushes, we generate a more or less equivalent sequence of instructions. Finally, grouping floating point pushes is not used anywhere so this patch removes support for this also. Bug: v8:6553 Change-Id: I9b820d33361fc442dd813f66e1f96cda41009110 Reviewed-on: https://chromium-review.googlesource.com/567191Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#46718}
-
Michael Lippautz authored
Bug: chromium:738865 Change-Id: Ic30a3e1012771d2e37b0e10aa59ab348a40bac10 Reviewed-on: https://chromium-review.googlesource.com/574714Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46717}
-
Ulan Degenbaev authored
Now the concurrent marker pushes these objects in the bailout worklist so that the main thread can perform wrapper tracing. BUG=chromium:694255 Change-Id: I64f194334458fbabf16a63a8ae570456cb5fee19 Reviewed-on: https://chromium-review.googlesource.com/574603 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46716}
-
Michael Lippautz authored
Bug: chromium:738865 Change-Id: I4c8aa8c90ba401200222d95d6395c022fc023a71 Reviewed-on: https://chromium-review.googlesource.com/574535 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46715}
-
Ross McIlroy authored
BUG=chromium:743622 Change-Id: Ic29a39d5976425eda2358c7e5ace0efa1b78a718 Reviewed-on: https://chromium-review.googlesource.com/574604Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46714}
-
Mircea Trofin authored
Added a flag, process_size, to collect the maximum memory size used by a test run. Bug: Change-Id: I5d659ff03bfcf7ab4a868aafbda3303ffcb9fa78 Reviewed-on: https://chromium-review.googlesource.com/542415 Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46713}
-
Ben Noordhuis authored
Add a default clause to the switch statement in debug::GetBuiltin() and abort if it is reached. Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I8895497b64ccd3b8eb23d281b8bca4405a5c3959 Reviewed-on: https://chromium-review.googlesource.com/574172Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Ben Noordhuis <info@bnoordhuis.nl> Cr-Commit-Position: refs/heads/master@{#46712}
-
Andreas Haas authored
This is the ia32 implementation of the CL https://codereview.chromium.org/2763593002 Original message: [wasm][arm] Add an additional stack check for functions with big frames. Stack overflow checks are typically implemented as part of the TurboFan graph of a function. This means that the stack check code is executed after frame construction. When a frame is too big, though, there may not be enough space on the stack anymore to throw the stack overflow exception after frame construction. With this CL we do an additional stack check before frame construction for functions with big frames. As discussed offline with mstarzinger, I do this change currently only for WebAssembly. This CL contains only the changes for arm. I will do the other platforms in separate CLs. Bug:v8:6318 R=neis@chromium.org, titzer@chromium.org Change-Id: Ibeedc5c4c4571cffd3a9c58016ddc44b64e2bf02 Reviewed-on: https://chromium-review.googlesource.com/568305 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#46711}
-
Michael Starzinger authored
This makes sure Runtime_ArrayBufferNeuter fails gracefully on array buffers that are non-neuterable. Note that this runtime function is whitelisted on ClusterFuzz and otherwise only used for testing. R=cbruni@chromium.org BUG=chromium:743215,v8:6534 Change-Id: I5069e615468f8789bf4fd87bb1e093a18bfd0347 Reviewed-on: https://chromium-review.googlesource.com/574168Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46710}
-
Yang Guo authored
R=petermarshall@chromium.org Change-Id: If181ed625015105f8bbabf29a9db3cfcf090b80a Reviewed-on: https://chromium-review.googlesource.com/574235Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#46709}
-
Michael Lippautz authored
Bug: chromium:738865 Change-Id: Icc3e292ded7f4097ef266d8db80f273a412a8b92 Reviewed-on: https://chromium-review.googlesource.com/565718 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46708}
-
Ivica Bogosavljevic authored
InstructionSelector::VisitInt32Mul TEST=cctest/test-run-machops/RunInt32MulAndInt32AddP,mjsunit/asm/int32mod-constant Bug: Change-Id: Iaccfc0d0c981e7c7e2f8b06ff3812fe60d1f85d3 Reviewed-on: https://chromium-review.googlesource.com/574367Reviewed-by: Miran Karić <Miran.Karic@imgtec.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com> Cr-Commit-Position: refs/heads/master@{#46707}
-
Daniel Clifford authored
Bug=chromium:740784 LOG=N Change-Id: I61fe1b07426d0b1e5131687c9ce99a8dbfa09781 Reviewed-on: https://chromium-review.googlesource.com/574175 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#46706}
-
Michael Starzinger authored
This removes a special case for {IfSuccess} control projections from the effect-control linearizer that is no longer needed now that such control projections only appear in pairs. R=jarin@chromium.org Change-Id: I4d872ad301d09e7424b249fb7c4eb70353a9d3ff Reviewed-on: https://chromium-review.googlesource.com/574228Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46705}
-
Clemens Hammacher authored
This replaces four heap allocations by one stack allocated value. R=mstarzinger@chromium.org Change-Id: I7d00968d7bddadb51d7c7b1f3bc5253e54c8a3f9 Reviewed-on: https://chromium-review.googlesource.com/574025 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46704}
-
Ulan Degenbaev authored
If the incremental marker discovers more marking work and the concurrent marking tasks have already exited, then new concurrent marking tasks are scheduled to help the main thread marker. BUG=chromium:694255 Change-Id: I559af62790e6034b23a412d3308ba8b6ae3d27c9 Reviewed-on: https://chromium-review.googlesource.com/574170Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46703}
-