Commit Graph

69867 Commits

Author SHA1 Message Date
v8-ci-autoroll-builder
e5b8ec490c Update google_benchmark
Rolling v8/third_party/google_benchmark/src: 62937f9..1799e1b

prefix VLOG (#1187) (Dominic Hamon)
https://chromium.googlesource.com/external/github.com/google/benchmark/+/1799e1b

prefix macros to avoid clashes (#1186) (Dominic Hamon)
https://chromium.googlesource.com/external/github.com/google/benchmark/+/6a5bf08

Move flags inside the `benchmark` namespace (#1185) (Dominic Hamon)
https://chromium.googlesource.com/external/github.com/google/benchmark/+/5da5660

TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com,mlippautz@chromium.org

Change-Id: I4e2e782f3ac6d80c2aaacecb3b9825db2d44cef9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2987700
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@{#75375}
2021-06-25 05:51:34 +00:00
Victor Gomes
edce708f87 [bazel] Adds skylib and macos support
No-Try: true
Bug: v8:11234
Change-Id: I4099a231ecc5cfb87d74170b04753a8bec2b5cbf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2985501
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Auto-Submit: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75374}
2021-06-24 19:09:34 +00:00
Peter Kasting
77713fdd71 Fix -Wloop-analysis warnings in V8.
These indicate when a range-based for loop is using an index whose type
(value, pointer, or reference) doesn't match what the loop actually
extracts from the range.  Fix by matching the actual type better.

This shouldn't cause any behavior/performance change, just be slightly
clearer about what's actually happening when reading the code.

Bug: chromium:1223264
Change-Id: Ib8773fbbeb038609c54a52c7cd6ce5bd11fd99ba
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983710
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75373}
2021-06-24 17:40:24 +00:00
Victor Gomes
bd80ad89a1 [macros] Upstream Google3 changes
- Disables FRIEND_TEST
- Removes gtest_prod.h dependency

Change-Id: I614f633749f3197989ac4a0d9d5faa6ec03ed59d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982481
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75372}
2021-06-24 16:36:14 +00:00
Victor Gomes
9a4bcc31e1 [bazel] Support arm 32 bits
No-Try: true
Bug: v8:11234
Change-Id: I4339a3a3f3fcffa7c65a569ea36a56be16b1ae45
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2985340
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75371}
2021-06-24 16:19:13 +00:00
Victor Gomes
1002703c9e [bazel] Support arm64
Bug: v8:11234
No-Try: true
Change-Id: Idc8a0d6a513fd38fafb10ff33121e37a79e3a1f3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2985242
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Auto-Submit: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75370}
2021-06-24 15:58:44 +00:00
Maya Lekova
d11ccc5c3d Migrate PerIsolateAssertScope storage to separate booleans
This CL modifies the underlying storage of PerIsolateAssertScope from
a bitfield to separate booleans. This slightly increases the space taken
by the isolate, but allows for easier access to the individual fields,
which is a prerequisite for implementing assertion scopes in TurboFan.

It also refactors the template PerIsolateAssertScope class to separate
simple C++ scope classes, defined through macros.

Bug: chromium:1218898
Change-Id: Ia5e43352ebba28be6f013376b75f13ec8d5dc972
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2975303
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75369}
2021-06-24 15:13:15 +00:00
Dan Elphick
44e73e0b78 Reland "[base] Move most of src/numbers into base"
This is a reland of 9701d4a420
with a small fix for some code landed in between the dry-run and
submission.

Original change's description:
> [base] Move most of src/numbers into base
>
> Moves all but conversions.*, hash-seed-inl.h and math-random.* into
> base, in preparation for moving the parts of conversions that don't
> access HeapObjects.
>
> Also moves uc16 and uc32 out of commons/globals.h into base/strings.h.
>
> Bug: v8:11917
> Change-Id: Ife359148bb0961a63833aff40d26331454b6afb6
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979595
> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
> Reviewed-by: Clemens Backes <clemensb@chromium.org>
> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
> Auto-Submit: Dan Elphick <delphick@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#75354}

Bug: v8:11917
Change-Id: Ie1ec9032fe56646a7c7303185cecc70fce5694ae
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982607
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75368}
2021-06-24 15:00:27 +00:00
Jakob Kummerow
84da489d08 [wasm-gc] Avoid emitting IR loops for array.new_default
Instead, make the array-allocating builtin initialize the object.
This speeds up later stages of Turbofan graph processing, in particular
live range computation.

Bug: v8:7748
Change-Id: Iba0d682922b444b1d6151eeaee8d939821ebc980
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983457
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75367}
2021-06-24 14:39:53 +00:00
Clemens Backes
9f747b5f56 [wasm] Remove NativeModule::engine_ pointer
There is only one global wasm engine, so we do not need to store the
pointer in the NativeModule. We just use {GetWasmEngine()} instead,
which reads the global pointer.

R=jkummerow@chromium.org

Bug: v8:11879
Change-Id: I66dedd571755774d96621b8d20ff23bdfef8134f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983208
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75366}
2021-06-24 14:38:43 +00:00
Victor Gomes
0b3bb24adc [bazel] Supports android x86
Supports cross-compilation targeting android x86:
bazel build --config=android --android_cpu=x86 --cpu=x86 \
  --host_cpu=k8 :d8

Caveat: one needs to have a cross compiler setup.

No-Try: true
Bug: v8:11234
Change-Id: Ieff72d9c04c8c3db9801c6316bae5c2570265f45
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983211
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75365}
2021-06-24 14:27:03 +00:00
Jakob Kummerow
4722852bc1 [wasm] Don't optimize super-large functions
We've seen Turbofan take excessive amounts of time for very large
functions. As a short-term mitigation, this patch disables optimization
for functions larger than 500KB (in their Wasm binary format).
Functions of such sizes are rare, so most modules should be unaffected
by this patch.

Change-Id: I9d222df5ca51b0fb5d6db7a7e9e3402f5276ff38
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982608
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75364}
2021-06-24 14:11:33 +00:00
Nico Hartmann
8224f4f5d5 [intl] Skip intl test on Android
Bug: v8:11922
Change-Id: I9836b9ab2b8667b2c08f9525a386566117d95598
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982606
Auto-Submit: Nico Hartmann <nicohartmann@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75363}
2021-06-24 13:15:53 +00:00
Nico Hartmann
7434a4810f Revert "[test] Unmark TSAN tests as SLOW/SKIP"
This reverts commit 8f17052ce0.

Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20stress-incremental-marking/3735/overview

Original change's description:
> [test] Unmark TSAN tests as SLOW/SKIP
>
> We allowed more time for tsan testing [1] so unmarking some tests.
>
> [1]: https://chromium-review.googlesource.com/c/v8/v8/+/2979671
>
> Bug: v8:7790, v8:11600, v8:11906
> Change-Id: I026a32abe0380c2d32327aaa8b301ef51f22a5e2
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979602
> Reviewed-by: Mythri Alle <mythria@chromium.org>
> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#75357}

Bug: v8:7790, v8:11600, v8:11906
Change-Id: Ib582d9726aa7e7fe4984549f5b344ff8413cc0c4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983210
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75362}
2021-06-24 13:13:45 +00:00
Maya Lekova
66845820e2 [fastcall] Fix a crash with add_all_sequence
This CL removes an unnecessary CHECK and replaces it with
exception throwing instead.

Bug: chromium:1223107
Change-Id: If99bf289fe3a2ed5cd675ee071e9b39038e38129
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983201
Auto-Submit: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75361}
2021-06-24 12:07:33 +00:00
Santiago Aboy Solanes
1ea33324db [compiler] Mark Cell as NeverEverSerialized
Bug: v8:7790
Change-Id: I5e38137b5c01119e47c98879fe549b629343e7ce
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982341
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75360}
2021-06-24 12:03:27 +00:00
Victor Gomes
e03051ea7a [bazel] Small patches to reconcile with blaze
No-Try: true
Change-Id: Id8c7aa494bda905aef9cc605e206df685de30233
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983534
Auto-Submit: Victor Gomes <victorgomes@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75359}
2021-06-24 12:03:23 +00:00
Santiago Aboy Solanes
32593e105d [compiler] Mark BytecodeArray as NeverEverSerialized
Bug: v8:7790
Change-Id: I7e741b659daa41b4a3144cc4170fff4f488968ba
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982340
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75358}
2021-06-24 11:23:57 +00:00
Santiago Aboy Solanes
8f17052ce0 [test] Unmark TSAN tests as SLOW/SKIP
We allowed more time for tsan testing [1] so unmarking some tests.

[1]: https://chromium-review.googlesource.com/c/v8/v8/+/2979671

Bug: v8:7790, v8:11600, v8:11906
Change-Id: I026a32abe0380c2d32327aaa8b301ef51f22a5e2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979602
Reviewed-by: Mythri Alle <mythria@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75357}
2021-06-24 11:23:53 +00:00
Nico Hartmann
10f6151d7e Revert "[base] Move most of src/numbers into base"
This reverts commit 9701d4a420.

Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac64/40802/overview

Original change's description:
> [base] Move most of src/numbers into base
>
> Moves all but conversions.*, hash-seed-inl.h and math-random.* into
> base, in preparation for moving the parts of conversions that don't
> access HeapObjects.
>
> Also moves uc16 and uc32 out of commons/globals.h into base/strings.h.
>
> Bug: v8:11917
> Change-Id: Ife359148bb0961a63833aff40d26331454b6afb6
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979595
> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
> Reviewed-by: Clemens Backes <clemensb@chromium.org>
> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
> Auto-Submit: Dan Elphick <delphick@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#75354}

Bug: v8:11917
Change-Id: Iacf796c95256016fa74f0a910c5bb1a86baa425a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982605
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75356}
2021-06-24 11:14:24 +00:00
Thibaud Michaud
a7776e30e2 [wasm][interpreter] Fix catch-less try
Because of catch-less try blocks, we have to check the exception stack
one more time so that we don't try to rethrow to an outer try scope if
this is already the outermost one.

R=clemensb@chromium.org

Bug: chromium:1219746
Change-Id: I6ad7e4afec669f04bc10197998db5d6eb38a2205
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983205
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75355}
2021-06-24 11:06:33 +00:00
Dan Elphick
9701d4a420 [base] Move most of src/numbers into base
Moves all but conversions.*, hash-seed-inl.h and math-random.* into
base, in preparation for moving the parts of conversions that don't
access HeapObjects.

Also moves uc16 and uc32 out of commons/globals.h into base/strings.h.

Bug: v8:11917
Change-Id: Ife359148bb0961a63833aff40d26331454b6afb6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979595
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Auto-Submit: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75354}
2021-06-24 11:01:23 +00:00
Mathias Bynens
e9943dae2f Restore consistency between .mailmap and AUTHORS
The lists are to be sorted line by line, which is easier to do than
sorting based on an arbitrarily-positioned substring within each
line.

Change-Id: Ie5e6552e2468545a5800c4bc145cc2b4da1ed4a0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982601
Auto-Submit: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75353}
2021-06-24 08:58:04 +00:00
Ross McIlroy
1d00f7878c [Turboprop] Enabling inlining for Turboprop
Adds support for Turboprop, limiting the amount of bytecode that
can be inlined into a function compared with TurboFan using a
scaling factor, currently set to 1/4.

To enable inlining, we make sure to only emit the tierup check
for the main (non-inlined) function and skip it for any inlined
functions.

BUG=v8:9684

Change-Id: I1399e2b275f797a5d3fd49c89f23296f75439eee
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982337
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75352}
2021-06-24 08:31:04 +00:00
Camillo Bruni
7d3c3cfb1a Reland "[assembler][arm64][arm][ia32] Add more Assembler::CodeComment"
This is a reland of 2588380d2c

Fixes arm compilation.

Original change's description:
> [assembler][arm64][arm][ia32] Add more Assembler::CodeComment
>
> Use more code comments to better document generated assembler code.
> This CL also attaches a CodeComment to FrameScope.
>
> Change-Id: I45afc3e4078dc161316b877fbbd1ae8bcd6e821d
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2964392
> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
> Reviewed-by: Victor Gomes <victorgomes@chromium.org>
> Commit-Queue: Camillo Bruni <cbruni@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#75277}

Change-Id: I150c9166e0d31e4af857f76c567b829d16da87e4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2976651
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75351}
2021-06-24 08:23:03 +00:00
Liu Yu
074de64e2c [wasm][liftoff][mips] Detect NaNs for fuzzing
Port: e699762e06

Bug: v8:11856
Change-Id: Ib832dfcee864b21b4e56498fca54e9ae01c44ae7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983711
Auto-Submit: Liu yu <liuyu@loongson.cn>
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#75350}
2021-06-24 08:04:43 +00:00
Sigurd Schneider
79b1646753 Don't crash on checking meta-data for non-object exceptions
Bug: chromium:1213393
Change-Id: I56817237424bb83aa9e5d06a47187f245c3cae0e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983200
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75349}
2021-06-24 07:49:23 +00:00
Timothy Gu
0f471e8213 Add mailmap entry for timothygu99@gmail.com
Change-Id: I3ec23a8969e311be3afe684df4a545bec0453449
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2971404
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Auto-Submit: Timothy Gu <timothygu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75348}
2021-06-24 07:41:37 +00:00
Lei Zhang
50296372ea Add noexcept to cppgc::BasicPersistent's move assignment operator.
Change-Id: I9dbca09523644934eefb14fdb60f360b28417fa2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983712
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75347}
2021-06-24 07:23:53 +00:00
Mathias Bynens
2912ebc422 Allow COMMON_OWNERS to LGTM .mailmap CLs
Bug: chromium:1213438
Change-Id: I52e381841b888e0f5edc0bad9e0319e840829914
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982600
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Auto-Submit: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75346}
2021-06-24 07:21:03 +00:00
Patrick Thier
1af5bac41b [sparkplug] Batch compilation: Increase initial queue capacity
- Increase initial queue capacity from 4 to 32 to reduce growing/copying
of the queue.
- In addition remove the HandleScopes to reduce overhead.
The only caller (BytecodeBudgetInterruptFromBytecode) already
creates one.

Bug: v8:11790
Change-Id: I33cb9222706f9b349c56a7ea14142a930b8ecbf8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982012
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75345}
2021-06-24 07:14:53 +00:00
v8-ci-autoroll-builder
c539f80eca Update V8 DEPS.
Rolling v8/build: e589a83..9dc1297

Rolling v8/buildtools: 9c143ac..46bcd59

Rolling v8/buildtools/linux64: git_revision:e9b8433248ae2c117644b4e40b33203e7d3da192..git_revision:d924640c25f9d90386716116a53957f24d709042

Rolling v8/buildtools/third_party/libc++abi/trunk: f4328ad..bf260ac

Rolling v8/third_party/aemu-linux-x64: LieFB6bFq-7RUGMVRhbOR3IXo6WdPE7fCzCMv4PnaScC..JZYvEBpGNCDNOK3uLHlpKn_AN6roNsL0YVup96egRSEC

Rolling v8/third_party/depot_tools: 09f358b..cf60c0a

Rolling v8/tools/clang: 8dd9dda..098695c

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

Change-Id: I29cdcfc4ef39ce45c615634b1b1452d776af5604
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983847
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@{#75344}
2021-06-24 03:46:23 +00:00
Zheng Liu
3d640fef63 [riscv64] Fix IsIllegalInstruction function
Check whether the right most 16 bits are all-zero.

Change-Id: I13bb8856888cbabc19c1f9354048f05ff9e4aacb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983839
Reviewed-by: Ji Qiu <qiuji@iscas.ac.cn>
Commit-Queue: Ji Qiu <qiuji@iscas.ac.cn>
Cr-Commit-Position: refs/heads/master@{#75343}
2021-06-24 03:28:53 +00:00
Milad Fa
c1190cf9b7 PPC/s390: [wasm][liftoff][ia32][x64] Detect NaNs for fuzzing
Port e699762e06

Original Commit Message:

    Instrument floating-point operations to set a flag if the result is NaN.
    Does not handle f32x4 and f64x2 results yet.

R=thibaudm@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
BUG=
LOG=N

Change-Id: If81861b65d2a0a98389eebb480127069fd1b5509
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983458
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#75342}
2021-06-23 23:04:43 +00:00
Milad Fa
28b93bed7a S390: check offset of lay during codegen
The immediate offset passed to `lay` might be bigger than the
allowed 20 bits, in which case we need to add it to the base
register manually.

Issue came up after this CL https://crrev.com/c/2904926 when
a related test case started failing as the offset was changed.

Change-Id: I9997bf0ed4e42e32ac52bbd2771bbcb13a328e64
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983164
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#75341}
2021-06-23 21:34:43 +00:00
Timothy Gu
224b659cd4 Install class "name" accessor before methods
https://github.com/tc39/ecma262/pull/1490 changed the spec so that the
"name" property of a class should be installed after "length" but before
"prototype". This CL adapts accordingly.

After this change, there is now no need for the separate code path to
set the "name" accessor at runtime. Delete the relevant runtime code as
well.

Bug: v8:8771
Change-Id: I8f809b45bf209c899cf5df76d0ebf6d9a45a6d4e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2974772
Commit-Queue: Timothy Gu <timothygu@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75340}
2021-06-23 18:05:30 +00:00
Adam Kallai
250a64806c Fix the build on Windows on ARM
SNPrintF function is moved into base/strings.h [1],
so it needs to fix the scope of this function
for Windows on ARM related source as well.

[1] https://chromium-review.googlesource.com/c/v8/v8/+/2972732

Bug: None
Change-Id: Ia9934f17941558b6338f28900f069766507c87b2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982016
Reviewed-by: Dan Elphick <delphick@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75339}
2021-06-23 16:59:20 +00:00
Clemens Backes
c581e790dc Reland "[wasm] Remove WasmInstructionBuffer"
This is a reland of ac6546469d.
Two constants defined in {AssemblerBase} were not defined anywhere,
which is fixed now.

Original change's description:
> [wasm] Remove WasmInstructionBuffer
>
> {WasmInstructionBuffer} was basically a wrapper around {AssemblerBuffer}
> which remembered the last {AssemblerBuffer} on {Grow()}. Since the
> {Assembler} itself already keeps track of the latest {AssemblerBuffer},
> this functionality is mostly redundant. All we need instead is a method
> to retrieve the {AssemblerBuffer} from the {Assembler}.
>
> This CL thus removes {WasmInstructionBuffer} and instead adds
> {AssemblerBase::ReleaseBuffer}.
>
> R=jkummerow@chromium.org, mslekova@chromium.org
> CC=dlehmann@google.com
>
> Bug: v8:11714
> Change-Id: Id07945b67992802a6177bf09e5f5c5be08f657b0
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982013
> Commit-Queue: Clemens Backes <clemensb@chromium.org>
> Reviewed-by: Maya Lekova <mslekova@chromium.org>
> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#75336}

Bug: v8:11714
Change-Id: I8797de1a7a78a93aaef936e46bfd1e73ec2cc9d5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982015
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75338}
2021-06-23 16:38:58 +00:00
Maya Lekova
f8182a8e8a Revert "[wasm] Remove WasmInstructionBuffer"
This reverts commit ac6546469d.

Reason for revert: Breaks ASAN no-inline - https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Clusterfuzz%20Linux64%20ASAN%20no%20inline%20-%20release%20builder/22909/overview

Original change's description:
> [wasm] Remove WasmInstructionBuffer
>
> {WasmInstructionBuffer} was basically a wrapper around {AssemblerBuffer}
> which remembered the last {AssemblerBuffer} on {Grow()}. Since the
> {Assembler} itself already keeps track of the latest {AssemblerBuffer},
> this functionality is mostly redundant. All we need instead is a method
> to retrieve the {AssemblerBuffer} from the {Assembler}.
>
> This CL thus removes {WasmInstructionBuffer} and instead adds
> {AssemblerBase::ReleaseBuffer}.
>
> R=​jkummerow@chromium.org, mslekova@chromium.org
> CC=​dlehmann@google.com
>
> Bug: v8:11714
> Change-Id: Id07945b67992802a6177bf09e5f5c5be08f657b0
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982013
> Commit-Queue: Clemens Backes <clemensb@chromium.org>
> Reviewed-by: Maya Lekova <mslekova@chromium.org>
> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#75336}

Bug: v8:11714
Change-Id: Iff32952f712ab2f0f9a16d91906d0135c084f4df
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982014
Auto-Submit: Maya Lekova <mslekova@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/master@{#75337}
2021-06-23 15:47:16 +00:00
Clemens Backes
ac6546469d [wasm] Remove WasmInstructionBuffer
{WasmInstructionBuffer} was basically a wrapper around {AssemblerBuffer}
which remembered the last {AssemblerBuffer} on {Grow()}. Since the
{Assembler} itself already keeps track of the latest {AssemblerBuffer},
this functionality is mostly redundant. All we need instead is a method
to retrieve the {AssemblerBuffer} from the {Assembler}.

This CL thus removes {WasmInstructionBuffer} and instead adds
{AssemblerBase::ReleaseBuffer}.

R=jkummerow@chromium.org, mslekova@chromium.org
CC=dlehmann@google.com

Bug: v8:11714
Change-Id: Id07945b67992802a6177bf09e5f5c5be08f657b0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982013
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75336}
2021-06-23 15:27:49 +00:00
Thibaud Michaud
e699762e06 [wasm][liftoff][ia32][x64] Detect NaNs for fuzzing
Instrument floating-point operations to set a flag if the result is NaN.
Does not handle f32x4 and f64x2 results yet.

R=clemensb@chromium.org

Bug: v8:11856
Change-Id: I1c3603e2c0c92e71bea8418e85852c01904379af
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979600
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75335}
2021-06-23 15:17:48 +00:00
Clemens Backes
cd41108d82 [wasm] Fix race on isolate shutdown
If we were unlucky and start wrapper compilation exactly after the
isolate started shutting down, we would not have an isolate info any
more in the isolate and would access a nullptr.
This CL fixes that by just returning an invalid operations barrier token
in that case.

R=ahaas@chromium.org

Bug: v8:11878
Change-Id: I6dcb28a21debb12ba812f705cd5c6387c76eda09
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982339
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75334}
2021-06-23 14:24:58 +00:00
Maya Lekova
d0aebc06e0 [fastcall] Support JSArray as arguments
This CL adds support in TurboFan for passing JSArrays as arguments to
fast API callbacks. It also extends the v8::Array class with a
CopyAndConvertArrayToCppBuffer method to allow the embedder to perform
quick conversions of their JSArrays to a C++ buffer. The CL also adds
tests in d8. Design doc:
https://docs.google.com/document/d/1BNKKZNgrGYafx8kqSfNEQqQYY5n4A6mGufss_Vz-h-4/edit#heading=h.c0kgf82jnlpp

Bug: chromium:1052746, chromium:715122
Change-Id: If47ac60d9ebe6462bbf3adff002e2da8e14e8fc8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2940900
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75333}
2021-06-23 14:01:40 +00:00
Milad Fa
70dd5f89e3 S390 [liftoff]: push and pop Simd registers
Detect if Simd is enabled and if so push/pop the entire
128 bit value, if not then only push/pop the double values.

Change-Id: I45d54dcf799a685066559cc3521ef44cd884b788
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979352
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#75332}
2021-06-23 13:03:38 +00:00
Santiago Aboy Solanes
b49e43e34d [compiler] Mark TemplateObjectDescription as NeverEverSerialized
Bug: v8:7790
Change-Id: I617d076a0f2a63bcd0ba5b896b14dee5370bbbc9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982237
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75331}
2021-06-23 12:53:28 +00:00
Michael Lippautz
e8c5de2137 api: Make sure TracedReference never is a zap value
When checks are enabled, ensure that the global handle zap value never
leaks into user code as it indicates that the garbage collector failed
to keep alive an object.

Bug: chromium:1056170
Change-Id: I4836fe49cd6e443d689068af10276ed99b46eb10
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2972729
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75330}
2021-06-23 12:32:48 +00:00
Victor Gomes
00fb203d58 [baseline] Use CodeBuilder:TryBuild to handle on heap compilation
Bug: v8:11872
Change-Id: Ibd26b025fc5eb12d90c3a1c932bd9b8473612016
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2978254
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75329}
2021-06-23 12:14:38 +00:00
Al Muthanna Athamina
151668b935 [infra] Add experimental bot for external code space
Bug: v8:11902
Change-Id: Id7b19d540bf9b4047febb7fcc2193f3c08fb1ca5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979872
Commit-Queue: Almothana Athamneh <almuthanna@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75328}
2021-06-23 11:33:03 +00:00
Santiago Aboy Solanes
78ba02233d [compiler] Mark boilerplate descriptions as NeverEverSerialized
Mark:
 * ArrayBoilerplateDescription
 * ObjectBoilerplateDescription
as NeverEverSerialized, disable their Data classes and remove the
related code.

Bug: v8:7790
Change-Id: I9ac1f27d9d7a0d36a04214422261e157cbbcd4b7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979604
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75327}
2021-06-23 11:20:13 +00:00
Igor Sheludko
939ee79d99 [runtime] Fix spec violation in Object.defineProperties
... which didn't properly handle non-Smi integer indices with
JSTypedArray receivers.

The addition of new JSReceiver::OrdinaryDefineOwnProperty() overload
with LookupIterator::Key caused circular dependency between lookup.h
and js-objects.h, so the LookupIterator::Key was moved out of the
LookupIterator class in order to make it forward-declarable.

Bug: chromium:1209405
Change-Id: I265f0c00f65ab6476c8f1d0ca1264f555d43465f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2972727
Auto-Submit: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75326}
2021-06-23 10:13:03 +00:00