Most code comments use lowercase. This CL fixes the few that used
uppercase, for consistency.
R=thibaudm@chromium.org
Change-Id: Ib02c8202f049a968662c91ade2252df24326a943
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2308336
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68962}
They have been replaced with {array,struct}.new_with_rtt.
Also, rework tests that used those instructions.
Bug: v8:7748
Change-Id: I2aaccb1958bf2b8d6cad4969abc612216856393d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307318
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68961}
For debugging code, disable opcode merging. Otherwise, the effect of the
first merged opcode would not be observable when stepping.
R=thibaudm@chromium.org
Bug: v8:10350
Change-Id: Id656c9dee8f9676bf3d7881f3782e5ead76b5e71
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2306802
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68960}
Adds new histogram V8.TimeToSafepoint to measure the time needed to
reach a global safepoint/stop-the-world.
Bug: v8:10315
Change-Id: I77701b26dfd47e04d64c4ecba3c47530ff8b9485
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2308390
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68959}
Split the capacity calculation logic and the allocation logic for
StringTable resizing (both shrinking and enlarging).
This allows us to:
a) Precalculate the new size, without potentially first shrinking then
resizing again,
b) Make the final size calculation more explicit,
b) In the future, maybe allow the allocation to happen outside a lock,
and the rehashing to be inside it, for a concurrent string table.
Change-Id: Ie41773520f2b20d9d244c151a153ed784f17283e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307218
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68958}
We currently still merge opcodes (i.e. i32 comparisons plus a br_if).
This CL adds a test for this, which checks for the current behaviour.
A follow-up CL will fix this and update the expected output accordingly.
R=thibaudm@chromium.org
Bug: v8:10350
Change-Id: I846aa931a3ec1a27043f04e830503d5732ae473e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307232
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68957}
Rolling v8/build: 9862443..e2b8e15
Rolling v8/buildtools: eb3987e..9e12121
Rolling v8/buildtools/linux64: git_revision:d585128cdaf3e6ff7bfd58641965e60c12618eb1..git_revision:3028c6a426a4aaf6da91c4ebafe716ae370225fe
Rolling v8/third_party/aemu-linux-x64: bMBorsHPd-GA42g-lfkvaE5HhiZVCcqkoLNKDzb8ElUC..53Ps2Qo0mizBNjRI9qS90a_RTYhxglcY6H9yccc0ckcC
Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/4ed789b..a30bbb6
Rolling v8/third_party/depot_tools: 642be1d..9949ab7TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com
Change-Id: Ie61a4ce3b8e53a3ece32fc7781fd8dbdf3ca57b4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2309290
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#68953}
I was looking around and couldn't find any tests for select with v128
params. Adding it for completion.
Change-Id: I9e3770e37eaddb23fc99649579b175536c1df844
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2308093
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68951}
This reverts commit d1aee56d1a.
Reason for revert: Trace event is causing telemetry regressions
(crbug.com/1094957).
I got a few days of traces and didn't really find what I was looking for, so I'll find another way to investigate.
Original change's description:
> [Jank]: Add uri trace events
>
> To investigate jank found in UMA sampling profiler.
>
> Bug: chromium:1081433
> Change-Id: I457731380505af5a4d7a0c30d01b4049ffd2b436
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2242037
> Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
> Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#68326}
TBR=leszeks@chromium.org,etiennep@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:1081433, chromium:1094957
Change-Id: I6c9573e9a77a54255c5fadc3cec14d437fd62b45
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2279135
Auto-Submit: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68949}
Also changing the wording of comment under s390
instruction-selector to match PPC.
Change-Id: I8fa77cbf51872792acd0e89915cb11d4759d51f5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2305850
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#68948}
jkummerow made many changes to wasm-compiler.cc and co, and is
more than qualified to be an owner.
R=clemensb@chromium.org
Change-Id: I05cb1b7c73627d4c3fe59f154c1267c7cd44a2d8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307314
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68946}
This adapts the deoptimizer to create a correct stack frame when the JS arguments are reversed.
Change-Id: Ifc216116ce1e5e469316a22deb8679347e847f4f
Bug: v8:10201
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2297382
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68940}
This will allow embedders to actually instantiate the {DefaultJobHandle}
as suggested in the comment. Node currently implements {PostJob()} by
just returning a nullptr. After this change, it can use the new
{NewDefaultJobHandle} function and we can actually start using this API
in v8.
R=adamk@chromium.org
Bug: v8:10723
Change-Id: I4b31a640d0edc7e7207d1df95e683465dfaaaeff
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2304812
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68934}
The CanTailCall check only passes if the return locations are the
same in the caller and the callee. However, stack returns are expected
to be at a different offset depending on the stack space reserved for
parameters.
R=clemensb@chromium.org
Bug: v8:7431
Change-Id: Iaac15fce889d6cd7d1ac88f320a872202281fb5a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2289789
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68933}
This CL introduces a new operator that loads the feedback vector and
checks against maps at runtime, rather than embedding the map directly
in the generated code.
A follow on CL will use this operator when generating code for named
property access.
Bug: v8:10582, v8:9684
Change-Id: I372a01586d3048427760f0cb27619a59afc3f59e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2241518
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68930}
In preparation for AllocationObserver changes, move AllocationObserver
related code into its own file.
Bug: v8:10315
Change-Id: I65d5a51662ff192c7b05d4229d8ca27f4a53aa3e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2304580
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68924}
Exposes initial_async_iterator_prototype the same way that
initial_iterator_prototype is exposed, to let blink implement
async iterables better.
Bug: chromium:1087157
Change-Id: I94f65eedb3aad0bf62cb4808935f320fe4bf4e9c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2300779
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68921}
This CL removes the duplicated code for handling global
state of the app. Increases readability of the app
class.
Bug: v8:10673, v8:10644
Change-Id: I08e0bfdc67e023264fce22a96bfd3ef94644e70c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2302894
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Cr-Commit-Position: refs/heads/master@{#68918}
The AsmParser kept pointers into ZoneVectors, which were accessed even
after those vector might have grown. For regular vectors, this would be
a use-after-free; with ZoneVectors it is technically allowed, since the
old memory stays alive. This will change with
https://crrev.com/c/2302895, which zaps zone memory which is
deallocated. Eventually, we might want to reuse large deallocations in
zone memory, hence this "use after free" needs to be fixed.
This CL fixes the issue by explicitly re-allocating in the zone instead
of using ZoneVectors. This makes sure that the old memory stays alive.
This is kind of a quick-fix, but since asm.js is more or less deprecated
anyway (in favor of Wasm), it's OK if this code does not profit from
future ZoneVector memory re-use optimizations.
Drive-by: Move field initializers to the field declaration.
R=ishell@chromium.org
Bug: v8:10717
Change-Id: I56c1feb49d05080e78a6620273b55b4e18156254
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2304581
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68917}
The {operator==} on {VarState} did not check the spill offset, so when
merging stack states, we forgot to move stack values if both source and
destination were stack slots, but at different offsets.
This CL fixes this by removing the {operator==}, because the semantics
(and use) are not clear, and it's only used in one place anyway.
The equality check was mostly redundant, so inlining it also makes the
code smaller and faster.
R=ahaas@chromium.org
Bug: v8:10702
Change-Id: I6c8b2cfd1002274175c9a17d305692e4631fd7dc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2304574
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68916}