Commit Graph

74595 Commits

Author SHA1 Message Date
Lu Yahan
7a7cfa6263 [riscv64] Fix codegen error of Simd128_AndNot
should using scratch register to hold intermediate result.

Change-Id: I08e2236fd0a491398ffaa15c4fd9ae3d0e9ef535
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596441
Reviewed-by: ji qiu <qiuji@iscas.ac.cn>
Commit-Queue: Yahan Lu <yahan@iscas.ac.cn>
Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
Cr-Commit-Position: refs/heads/main@{#80103}
2022-04-22 09:08:16 +00:00
Liu Yu
827e523702 [loong64][mips] Remove the Dummy interface descriptor
Port commit 4ae5a813c7

Change-Id: I194b424996d9f2427272fdd0510b6a464c4e07d0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3602233
Auto-Submit: Yu Liu <liuyu@loongson.cn>
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/main@{#80102}
2022-04-22 09:07:06 +00:00
jameslahm
62130792d1 [test] Move cctest/test-concurrent-string to unittests
... /objects/concurrent-string-unittest.

- Add AsciiToTwoByteString to convert ascii string to
two byte string.

Bug: v8:12781
Change-Id: Icc2f745846fa10ec940085eab0ef022d7c277e0a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3600552
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: 王澳 <wangao.james@bytedance.com>
Cr-Commit-Position: refs/heads/main@{#80101}
2022-04-22 08:22:57 +00:00
Liu Yu
130a3099f2 [loong64][mips][osr] Extract extended OSR checks to BaselineOnStackReplacement builtin
Port f8fddd6b13

v8: 12161
Change-Id: Ied27490a457ff1e4fcc9e80057c5d39c4c5c08cc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3601876
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Yu Liu <liuyu@loongson.cn>
Auto-Submit: Yu Liu <liuyu@loongson.cn>
Cr-Commit-Position: refs/heads/main@{#80100}
2022-04-22 07:49:56 +00:00
Leszek Swirski
098f722d90 [maglev] Tag merges to loop phis and call inputs
Bug: v8:7700
Change-Id: I61246df3a13f8beb91979591455b3d63357ed220
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599477
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80099}
2022-04-22 07:29:17 +00:00
v8-ci-autoroll-builder
8c17b6fe0c Update ICU
Rolling v8/third_party/icu: d2858cb..e5b846b

Cherrypick PR 2060 to fix DateIntervalFormat (Frank Tang)
https://chromium.googlesource.com/chromium/deps/icu/+/e5b846b

Enable WASM cross-compilation by using current_cpu correctly (Harry Terkelsen)
https://chromium.googlesource.com/chromium/deps/icu/+/f43d565

Remove obsoleted android_(small|extra) build script (Frank Tang)
https://chromium.googlesource.com/chromium/deps/icu/+/0a50280

R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com,ftang@chromium.org

Change-Id: I5b19727b85316c56e7b19d6b73c4206642de56af
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3600838
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#80098}
2022-04-22 05:58:56 +00:00
v8-ci-autoroll-builder
6e6c1bf63b Update V8 DEPS.
Rolling v8/build: 28bea73..7ee892a

Rolling v8/buildtools/linux64: git_revision:1cdd270be9803dbfcdd0343f6104ad4dc30c38ce..git_revision:0d6d1310d005cb9bace909cb8352e83113c6fc51

Rolling v8/third_party/android_platform: 2760db4..36c1580

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/960c656..43f0426

Rolling v8/third_party/depot_tools: 89ccf4a..5e49eda

Rolling v8/third_party/zlib: a0906c7..563043f

Rolling v8/tools/clang: 4dd2e32..ea2f00c

R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com

Change-Id: I6295d2ca2cc0f8a738a3ade212da52d74d203c67
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3600836
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#80097}
2022-04-22 03:52:35 +00:00
Frank Tang
7a919fe25f [Temporal] Add ZoneDateTime.prototype.offset*
Spec Text:
https://tc39.es/proposal-temporal/#sec-get-temporal.zoneddatetime.prototype.offset
https://tc39.es/proposal-temporal/#sec-get-temporal.zoneddatetime.prototype.offsetnanoseconds

Bug: v8:11544
Change-Id: Ia88d96b038117a8e528ff9d0cdb9a07fb7cbcda5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3385606
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80096}
2022-04-21 20:24:35 +00:00
Camillo Bruni
dd835c01b8 [tools] Move more profiling scripts to tools/profiling
Change-Id: I1ad5d4796168115fe2dc88d073a663c87cab73cb
No-try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596171
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80095}
2022-04-21 20:00:05 +00:00
Joyee Cheung
e9ad915a65 Fix the NearHeapLimitCallback test when single genration is enabled
Normally, taking a heap snapshot in the near heap limit would
result in a full GC, then the overhead of the promotions would
cause another invocation of the heap limit callback and it can
raise the limit in the second call to avoid an OOM, so we test
that the callback can indeed raise the limit this way in this
case. When there is only one generation, however, there would
not be the overhead of promotions so the callback may not be
triggered again during the generation of the heap snapshot.
In that case we only need to check that the callback is called
and it can perform GC-triggering operations jsut fine there.

Bug: v8:12815
Change-Id: If244417624b56bc068aed480fb3391d26c19005a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3600357
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Joyee Cheung <joyee@igalia.com>
Cr-Commit-Position: refs/heads/main@{#80094}
2022-04-21 18:50:15 +00:00
Junliang Yan
9016f05939 ppc64/s390x: fix endianess issue on feedback vector flags
Bug: v8:12161
Change-Id: I65029217e99dd2c59af295b2f02c697415151a59
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3600376
Reviewed-by: Milad Farazmand <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/main@{#80093}
2022-04-21 16:49:56 +00:00
Tobias Tebbi
4e9cb635b5 [test] skip regress/regress-crbug-1239907 on TSAN
Bug: v8:12822
Change-Id: Idc8225640e132d175d2c06b530d77fcda7362b55
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599486
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80092}
2022-04-21 16:35:35 +00:00
jameslahm
ea9870747d [test] Move cctest/concurrent-descriptor-array-unittest to
... unittests/objects/concurrent-descriptor-array-unittest.

Bug: v8:12781
Change-Id: Iad4e99e256745d2874e6b03c2fe1c91b5599ab30
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596443
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: 王澳 <wangao.james@bytedance.com>
Cr-Commit-Position: refs/heads/main@{#80091}
2022-04-21 16:26:18 +00:00
Andreas Haas
d86ef6a309 [bazel] Add missing file
Change-Id: I4ffcf9792501928e9e59d702c5855b288470cff4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599485
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80090}
2022-04-21 16:25:15 +00:00
Leszek Swirski
88976125a6 [maglev] Implement LdaContextSlot
In the simplest way possible.

Bug: v8:7700
Change-Id: I155aaf85192b75c89617820d6f127a2ae04c7d9b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599484
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80089}
2022-04-21 16:06:15 +00:00
Leszek Swirski
3623415eda [maglev] Canonicalise function handle created for compilation unit
Additionally, pass the JSFunctionRef directly for inlined functions'
compilation units.

Bug: v8:7700
Change-Id: Ibdc738c8a9790f8ac45e6a0fd55facdf638562f9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599480
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80088}
2022-04-21 15:53:55 +00:00
Leszek Swirski
da1408abf9 [maglev] Print function name on bailout
Bug: v8:7700
Change-Id: I5155fc665f1214dda390fc6d1476ecf1f137166e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599483
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80087}
2022-04-21 15:51:25 +00:00
jameslahm
058e5fa6a8 [test] Move cctest/test-bit-vector to unittests
... /utils/bit-vector-unittest.

Bug: v8:12781
Change-Id: I26b9c2b8a911b513d65d54476b78a0bbac7aa78f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596445
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: 王澳 <wangao.james@bytedance.com>
Cr-Commit-Position: refs/heads/main@{#80086}
2022-04-21 15:27:09 +00:00
Michael Lippautz
e774f8a110 [heap] Properly publish global handle flags
This reverts commit 2d394acac4.

Concurrrent marking for v8::TracedReference requires a single bit in
global handles to be written concurrently. While no other bits require
concurrent access, initialization still needs to properly publish the
the bitfield. Publishing generally allows all bits to be read on any
thread which is already used for some.

The CL introduces acq/rel semantics on the actual object pointer for
publishing the state.

Bug: chromium:1315498, v8:12600
Change-Id: Ic50c7c0b647b8b609bcd899f6c9f73bee80303da
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596125
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80085}
2022-04-21 14:40:55 +00:00
jameslahm
b8a01ce09f [test] Move cctest/test-compiler to unittests
... /compiler/compiler-unittest.

- Add PrintExtension for adding print function.
- Add WithPrintExtensionMixin to register
PrintExtension.
- Add StreamerThread to run a ScriptStreamingTask
in a separate thread.

Bug: v8:12781
Change-Id: I9d3324f3a8dcf00b5b121db6007c9a3cb2972313
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596442
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: 王澳 <wangao.james@bytedance.com>
Cr-Commit-Position: refs/heads/main@{#80084}
2022-04-21 14:35:16 +00:00
Leszek Swirski
f7cc70de2b [maglev] Fix dead predecessors after EmitUnconditionalDeopt
Fixes the iteration after emitting an unconditional deopt to kill all
Jumps along the way, not just ones preceeding a merge point. This fixes
several issues:

  a) That Jump may be to a not yet created merge point, in which case we
     were getting a nullptr deref.
  b) Not-yet created merge points would not be detected as merge points,
     so we'd skip over them and miss killing the control node before
     them.
  c) We weren't reducing predecessor counts, so even after fixing the
     nullptr deref above, merge states created later would have the wrong
     predecessor count.

Now, we check bytecode targets (including fallthrough for non-returning
bytecodes) on for every bytecode, and skip over both not-yet created
merges, and loop merges that have no predecessors other than the loop
jump itself.

As part of this, the dead predecessor merging is changed; instead of
setting the predecessor to nullptr, we drop the predecessor count by
one, and trim any Phis' input counts.

Bug: v8:7700
Change-Id: I904c82df7c5dd44d7637e07f6750b35e7e219284
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599470
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80083}
2022-04-21 13:02:35 +00:00
Michael Lippautz
91badec697 [api] Deprecate unused GlobalHandles APIs that peek into internals
When moving forward and optimizing internals, these APIs cannot be
trusted anymore as their semantics are tangled to the current
implementation.

Bug: v8:12819
Change-Id: I0e3370724307a420ee42fed8070b55542be9400d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599475
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Auto-Submit: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80082}
2022-04-21 12:55:15 +00:00
Junliang Yan
ea2f804ed4 ppc64: [baseline] implement Prologue
Change-Id: I1ceb1038c91e43299f4f4b35da684566ecbbef7f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596911
Reviewed-by: Milad Farazmand <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/main@{#80081}
2022-04-21 12:51:28 +00:00
Victor Gomes
0d9bac040b [baseline] Log ConcurrentSP compilation
Adds LogFunctionCompilation as a static member of Compiler.
Calls the log function after installing the code on the main thread.

Bug: v8:12054, v8:12818
Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
Change-Id: I664b2c890292a207720efe311b7c55757c7c6470
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599472
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80080}
2022-04-21 12:24:37 +00:00
Omer Katz
3a05e3cb36 [heap] Allow inlining EnsureAllocation
Bug: chromium:1316121, v8:12612
Change-Id: I5b32211f01a97a6aaee52f0285d62a516381f43c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3592954
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80079}
2022-04-21 12:14:46 +00:00
Michael Lippautz
cb92ed0922 [api, heap] Remove resurrecting finalizers
Removes V8-internal support for resurrecting finalizers in the garbage
collector.

The APIs have already been removed in http://crrev.com/c/3596174

Bug: v8:12672
Change-Id: Ia507e74659b61a2c8c08281d7f395aee51e3fe17
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3584115
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80078}
2022-04-21 10:48:57 +00:00
Leszek Swirski
c0a63243e9 [maglev] Start implenting inlining
Add a --maglev-inlining flag, and add some half-baked support for
inlining functions when there is call feedback.

When the flag is enabled and there is call feedback, we create a nested
MaglevGraphBuilder for the current graph, and pause building the graph
of the outer function. We manually set up its prologue to set up its
frame with the arguments pass into the call, build the body with the
nested graph builder. This inner builder knows that it is building an
inlined function, and all Return bytecodes will instead emit a Jump to a
single merge block at the end of the function, where execution of the
outer function can resume.

These inner function basic blocks are wired into the outer graph with
new JumpToInline and JumpFromInline control nodes. The idea is that
subsequent passes will know what the inline function is, and will use
these to manage the function stack (particularly for codegen and
especially deopts).

Bug: v8:7700
Change-Id: I4e9b153f8cf4d06c56e7be6365e7a18b86a773c0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3585958
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Jakob Linke <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80077}
2022-04-21 10:43:35 +00:00
Leszek Swirski
f98e1f4db9 [maglev] BitwiseNot has one input
Bug: v8:7700
Change-Id: Ieecdd66e7e540ad27aaa05cf13f270e42377b15e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599471
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80076}
2022-04-21 10:35:06 +00:00
Leszek Swirski
50304f87ac [csa] Add "Iterate" helper to IteratorBuiltinsAssembler
"Iterate" takes an iterable and a function of TNode<Object>, and
implements the iterator protocol to iterate the iterable, applying the
function to each element.

It handles exceptions thrown during iteration and closes the iterator as
appropriate -- the hope is that if the body of the iteration has no
exception-throwing nodes, TurboFan can dead-code eliminate this close.

In the future, we may want to add an array fast-path to this method;
centralising the implementation means that this fast-path will then be
used by all callers of Iterate.

Change-Id: I9fe2f862b78619fe21ea7cb6469ed7ba93f14a30
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3581770
Reviewed-by: Frank Tang <ftang@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80075}
2022-04-21 10:08:45 +00:00
jameslahm
056f7e526c [test] Move cctest/test-array-list to unittests
... /objects/array-list-unittest.

Bug: v8:12781
Change-Id: I8bf50cd6680b6a875fb7029a6767eebc39ed8b13
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596444
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: 王澳 <wangao.james@bytedance.com>
Cr-Commit-Position: refs/heads/main@{#80074}
2022-04-21 09:49:26 +00:00
Benoît Lizé
63b3d33245 [builtins] Embedded builtins don't depend on RAM on Android
So don't test it.

This was changed in
https://chromium-review.googlesource.com/c/v8/v8/+/3596164, breaking
this test on low-RAM ARM64 Android devices.

Bug: v8:12814
Change-Id: I25caf748607c33f5f632eb5236643ea5e327f867
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596129
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80073}
2022-04-21 08:27:21 +00:00
Michael Lippautz
7a96ceccb8 [heap] Run cleaning of string table in parallel to other cleaning
Bug: v8:12813
Change-Id: I27bbf5190165a0d919f021bbcf089e203dfed83f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3592955
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80072}
2022-04-21 08:10:25 +00:00
Dominik Inführ
d0c147ab10 [heap] NotifyObjectLayoutChange invalidates slots in OLD_TO_SHARED
When an object changes layout, OLD_TO_SHARED slots need to be
invalidated for it as well.

Bug: v8:11708
Change-Id: I28ea181012955fddef986e8f8806a7477307df28
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596175
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80071}
2022-04-21 07:14:05 +00:00
Michael Lippautz
2ae2aa92b1 [api] Remove APIs for resurrecting finalizers
Removes support for specifying weak handles with finalizers that allow
for object resurrection.

This CL removes the public facing APIs. Internal support will be
removed in a follow up.

Bug: v8:12672
Change-Id: Ia6ea269093aaa128caadb7508aca2e5a1254923c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596174
Auto-Submit: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80070}
2022-04-21 07:05:25 +00:00
v8-ci-autoroll-builder
b25adddb90 Update V8 DEPS.
Rolling v8/build: 3dce554..28bea73

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/e356f14..960c656

Rolling v8/third_party/zlib: be2c378..a0906c7

Rolling v8/tools/clang: 7d4922a..4dd2e32

R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com

Change-Id: Ief025d20148a03362b05f27c63741eb7c6ce3188
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3595972
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#80069}
2022-04-21 03:55:05 +00:00
Shu-yu Guo
0e9be2c2c7 Revert "[test] Move tracing cctest to unittests"
This reverts commit a7d6bf9662.

Reason for revert: GN breakage preventing lkgr: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Blink%20Linux/16971/overview

Original change's description:
> [test] Move tracing cctest to unittests
>
> Bug: v8:12781
> Change-Id: Idc50a20f17de3af25372833b28cb16ac9a0e6485
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574552
> Auto-Submit: Leszek Swirski <leszeks@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#80065}

Bug: v8:12781
Change-Id: Icb295f7203cec4aef4bda491d08a39ce0c66fa0b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3597242
Auto-Submit: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#80068}
2022-04-20 22:35:14 +00:00
Shu-yu Guo
9eb426cb2e Fix #if -> #ifdef in platform-unittest.cc to unblock roll
See https://ci.chromium.org/ui/p/chromium/builders/try/linux-chromeos-rel/1172178/overview

Change-Id: I97d25fd36c4b5fce4eb1d86c423443c2395af793
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3598030
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80067}
2022-04-20 20:58:06 +00:00
legendecas
c779a08f7c [builtins] Handle broken promises in AsyncGenerator.prototype.return
As ecma262 normative change https://github.com/tc39/ecma262/pull/2683,
exception thrown on PromiseResolve the broken promises need to be caught
and use it to reject the promise returned by
`AsyncGenerator.prototype.return`.

AsyncGeneratorReturn didn't handle the exception thrown by Await. This
CL add an exception handler around it and pass through the caught
exception to the returned promise and resume the generator by
AsyncGeneratorAwaitResume if the generator is not closed, otherwise
reject the promise by AsyncGeneratorReject and drain the queue.

Bug: v8:12770
Change-Id: Ic3cac4ce36a6d8ecfeb5d7d762a37a2e0524831c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3581158
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Chengzhong Wu <legendecas@gmail.com>
Cr-Commit-Position: refs/heads/main@{#80066}
2022-04-20 17:14:14 +00:00
Leszek Swirski
a7d6bf9662 [test] Move tracing cctest to unittests
Bug: v8:12781
Change-Id: Idc50a20f17de3af25372833b28cb16ac9a0e6485
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574552
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80065}
2022-04-20 16:53:44 +00:00
Marja Hölttä
c071cc96b3 [web snapshots] Add a JS API for deserializing Web snapshots
This enables downloading web snapshots with XMLHttpRequest and
deserializing them.

Bug: v8:11525
Change-Id: I498f1e99795d474a1715fce9aa1d8c1a34651c42
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3585961
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80064}
2022-04-20 16:02:20 +00:00
Junliang Yan
3b1c1cab1a ppc64: [baseline] fix register conflict
Change-Id: I55a68f23106d4fed8a8f3ea7fc29c31a1aeba711
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596126
Reviewed-by: Milad Farazmand <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/main@{#80063}
2022-04-20 15:58:45 +00:00
Liu Yu
7aa4cc4bae Reland "[loong64][mips64][fastcall] Enable float support on loong64 and mips64"
Besides, enable float support on simulator.

Port commit 098f31f495
Port commit a6da816119

As defined in
https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html#_procedure_calling_convention
Loongarch calling convention uses GP to pass floating-point
arguments when no FP is available.

Bug: v8:12614, chromium:1052746

Change-Id: I33d4115674604604b2b7e9178a306efb6000222b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3448195
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Yu Liu <liuyu@loongson.cn>
Auto-Submit: Yu Liu <liuyu@loongson.cn>
Cr-Commit-Position: refs/heads/main@{#80062}
2022-04-20 15:56:05 +00:00
Junliang Yan
77306a03a4 ppc64: [baseline] implement AddToInterruptBudgetAndJumpIfNotExceeded
Change-Id: If7588aed75d12a12d5a125f95ccc3db9743e4a00
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596170
Reviewed-by: Milad Farazmand <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/main@{#80061}
2022-04-20 15:52:34 +00:00
Michael Lippautz
d7be7f15e2 [objects] Update comment for zombie state on AllocationSite
Change-Id: Iac90033d689111e8a2384bee357e7f282cc33db7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596168
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80060}
2022-04-20 15:41:23 +00:00
Junliang Yan
c6988630fb ppc64: [baseline] implement baseline descriptor
Change-Id: I57eac5fdeddd49ecf8b45e293fbe9f98f068b86b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3597310
Reviewed-by: Milad Farazmand <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/main@{#80059}
2022-04-20 15:28:08 +00:00
Camillo Bruni
1920426b13 [tools][gcmole] Add run_gcmole.py --help and drop env vars
- Use explicit options when running gmcole.py from run-gcmole.py
- Use gcmole.py-relative paths to find the default V8 root dir for
  maximum convenience when running locally

Change-Id: Iba0da90b99b0321129f1c4099f437c76dabb1186
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3582386
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Auto-Submit: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80058}
2022-04-20 15:26:35 +00:00
Camillo Bruni
6ca0c65c44 [tools][perf] Fix linux-perf-d8.py with relative path args
We do change CWD in the script which breaks relative input paths
to d8 and .js files for instance.

Drive-by-fix:
- Show clear warning if `perf record` failed

Change-Id: Ib900ca6b53307e13be459beba1e96ddfc8ee9b79
No-try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3593784
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80057}
2022-04-20 14:30:04 +00:00
Al Muthanna Athamina
e2f9c45e6d Unify naming convention for tests and filter them in TestLoader for cctest
Bug: v8:12802
Change-Id: I2573ed6b59fe51a135bbec5734ff1b7414316b0a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596163
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Almothana Athamneh <almuthanna@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80056}
2022-04-20 14:19:55 +00:00
Thibaud Michaud
ae9464668b [wasm-relaxed-simd] Add relaxed swizzle in Liftoff on ia32/x64
R=clemensb@chromium.org
CC=gdeepti@chromium.org

Bug: v8:12284
Change-Id: Idddb0b7648b29612fa0308520ca2fc2a3e5647f9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3593218
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80055}
2022-04-20 14:11:55 +00:00
Victor Gomes
fac04fbb76 [maglev] Adds double registers to Nodes
The register allocator might be able to choose between a floating
or general registers.

Bug: v8:7700
Change-Id: Ib74b8c6cd5db12ae34b7f08cd2aeb21ffd3bac33
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596121
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80054}
2022-04-20 14:03:54 +00:00