Commit Graph

70092 Commits

Author SHA1 Message Date
v8-ci-autoroll-builder
d0c0d4c36b Update V8 DEPS.
Rolling v8/build: d3674b9..f8a6922

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

Change-Id: If692309f6319c56bba94e58f4c55ba08a7c88a3e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2991853
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@{#75400}
2021-06-27 03:58:11 +00:00
v8-ci-autoroll-builder
2b30f7877a Update V8 DEPS.
Rolling v8/build: 9dc1297..d3674b9

Rolling v8/buildtools: 46bcd59..82a4d60

Rolling v8/buildtools/linux64: git_revision:d924640c25f9d90386716116a53957f24d709042..git_revision:4d207c94eab41f09c9a8505eb47f3d2919e47943

Rolling v8/buildtools/third_party/libc++/trunk: 8fa8794..79a2e92

Rolling v8/third_party/aemu-linux-x64: JZYvEBpGNCDNOK3uLHlpKn_AN6roNsL0YVup96egRSEC..A1XxYDWVeZi3lNSg1lZdcmGtIB2fA0XTIPYdevon60YC

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/a2a4ced..11a2ddf

Rolling v8/third_party/depot_tools: cf60c0a..a73eec2

Rolling v8/tools/clang: 098695c..49e7cd9

Rolling v8/tools/luci-go: git_revision:2adc53281f4a72ecb71e84a8af5acc0fced04cc9..git_revision:8ed83b4afa51020c8900d121bb57624b35882dec

Rolling v8/tools/luci-go: git_revision:2adc53281f4a72ecb71e84a8af5acc0fced04cc9..git_revision:8ed83b4afa51020c8900d121bb57624b35882dec

Rolling v8/tools/luci-go: git_revision:2adc53281f4a72ecb71e84a8af5acc0fced04cc9..git_revision:8ed83b4afa51020c8900d121bb57624b35882dec

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

Change-Id: I9b820d261ef642c5bbd53b331c24e0757389a585
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2989108
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@{#75399}
2021-06-26 04:12:08 +00:00
Milad Fa
0d0a8b3ff9 S390: Skip Simd tests if VEF1 is not available on the host machine
Change-Id: I57c6989ff0ca872b66567c701c2b9bf8ee6e83d9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983069
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75398}
2021-06-25 19:07:01 +00:00
Junliang Yan
e24896559a ppc: [liftoff] implement StoreCallerFrameSlot
Change-Id: I36000eaafd18b9eca8d302d977ad8e2f1205af35
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2989137
Auto-Submit: Junliang Yan <junyan@redhat.com>
Reviewed-by: Milad Fa <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#75397}
2021-06-25 19:01:31 +00:00
Igor Sheludko
2ee47960f4 [ext-code-space][arm64] Prepare for estimating performance
... implications of not having Code pointers in the non-code spaces
anywhere except CodeDataContainer objects.

Tbr: jgruber@chromium.org
Bug: v8:11880
Change-Id: Ide7482bd5a95776de50f8d94adaefb078b611d6e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2987837
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75396}
2021-06-25 17:55:29 +00:00
Igor Sheludko
6da0eb0330 [wasm-gc] Support storing to primitive WasmObject fields in runtime
StoreICs use slow handler for now.

Bug: v8:11804
Change-Id: I008fc9a3639f649b63881f759078e664b16e25e3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2985403
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75395}
2021-06-25 17:05:30 +00:00
Andreas Haas
3a14da45cc [wasm] Remove one of the CompilationMode enums
R=jkummerow@chromium.org

Bug: v8:11879
Change-Id: Ie0f748d78dd62d881dd4e97f9e2be19ef5a7bca9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2987830
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75394}
2021-06-25 16:56:57 +00:00
Clemens Backes
bc2c25422f Revert "[wasm] Initialize compilation progress before compilation units"
This reverts commit 3161106e77.

Reason for revert: Breaks layout tests (missing handle scope): https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Blink%20Linux/12278/overview

Original change's description:
> [wasm] Initialize compilation progress before compilation units
>
> Initializing the compilation progress first, and making it an explicit
> step, allows us to share the wrapper compilation code between async
> compilation and streaming compilation. In the future it will also allow
> us to initialize compilation units based on the compilation progress,
> which will allow us to share more code between async compilation and
> deserialization.
>
> R=​clemensb@chromium.org
>
> Bug: v8:11862
> Change-Id: If8394f3068840f759b8325ba806549dbd208f195
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2978258
> Commit-Queue: Andreas Haas <ahaas@chromium.org>
> Reviewed-by: Clemens Backes <clemensb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#75380}

Bug: v8:11862
Change-Id: I05fa906a86ba8d3226356bcda99786a4a82e6374
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2988416
Auto-Submit: Clemens Backes <clemensb@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@{#75393}
2021-06-25 16:12:29 +00:00
Leszek Swirski
35f774c74b [sparkplug] Add a flag making sparkplug depend on short builtin calls
In case we find that Sparkplug benefits require short builtin calls, add
a --sparkplug-needs-short-builtins flag to make the former depend on the
latter.

Change-Id: I5b23abbd9ad6e0d11d7033497d5755f08c2ab876
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2988753
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75392}
2021-06-25 15:43:57 +00:00
Jakob Kummerow
ee307c747f [bigint] Move toString conversion to src/bigint/
This just moves the existing algorithm, and translates it from
Handle<BigInt> to Digits as underlying data format.

Bug: v8:11515
Change-Id: Ieefee4e953e14f4c574aebab94d825ddb7c31f8c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2975304
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75391}
2021-06-25 15:37:37 +00:00
Milad Fa
3f62253a4b [liftoff] Skip test on platforms without liftoff support
Newly added test under https://crrev.com/c/2987824 needs
to be skipped on unsupported platforms.

Change-Id: Ib5d222c09726cd63328ea894c3e6ea7e1e1bd3e5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2988361
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#75390}
2021-06-25 14:53:17 +00:00
Junliang Yan
c8ec56598a ppc: [liftoff] implement LoadCallerFrameSlot
Change-Id: Iffe01cd3b49aa8b590b4930b3ea94fb52419b83c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2985502
Auto-Submit: Junliang Yan <junyan@redhat.com>
Reviewed-by: Milad Fa <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#75389}
2021-06-25 14:07:34 +00:00
Clemens Backes
11e1a6eb3b [liftoff] Fix cached memory start in debugging code
The cached memory start was not preserved across stack checks in debug
code. This only manifests if the stack check is actually executed, hence
it's tricky to reproduce.

R=ahaas@chromium.org

Bug: chromium:1222648
Change-Id: I8d678305022e3521bd457ad49ebed30d81b05231
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2987824
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75388}
2021-06-25 12:23:24 +00:00
Mythri A
26ebc4f7aa [objects] Fix torque definition of JSFunction
The code and prototype_or_initial_map fields are marked as weak in the
torque definition of JSFunction. Given we don't have any annotations
that generate BodyDescriptors or the C++ class specifying weak there
didn't reflect in the actual C++ implementation.

In the C++ implementation we were treating those as strong pointers
and the rest of the code also expects them as strong pointers and
doesn't actually deal with cleared weak references.

Since JSFunction's header doesn't have any weak references we can just
fallback to JSObject::BodyDescriptor that iterates through all header
fields and the other JSObject fields as strong pointers. This is what
was happening because JSFunction didn't have a body descriptor and
we were falling back to JSObject::BodyDescriptor

So this is a clean up CL to avoid confusion. There shouldn't be
any change in behaviour.

So this CL basically:
1. Drops weak from the torque definition to match with implementation
2. Changes JSFunction::BodyDescriptor to JSObject::BodyDescriptor when
iterating over objects to be consistent with other JSObjects with
strong pointers.

Change-Id: I7c3e49f1759164a0f2517b3d5b8d0e5169b025ff
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2987827
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75387}
2021-06-25 12:22:24 +00:00
Victor Gomes
f9aa571577 [bazel] Remove baseline-osr-inl.h
No-Try: true
Change-Id: I1aee4944bf4b33cb4b1be745bedb88ac63c6d9e3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2987832
Reviewed-by: Patrick Thier <pthier@chromium.org>
Commit-Queue: Patrick Thier <pthier@chromium.org>
Auto-Submit: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75386}
2021-06-25 11:32:08 +00:00
Clemens Backes
16856851db [flags][cleanup] Fix some misspellings of TurboFan
Some flag comments and descriptions contained "Turbofan" instead of
"TurboFan".

R=ahaas@chromium.org

Bug: v8:11879
Change-Id: I7e4c6a8820b6ab31eb2f868641a20004faf7104a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2985401
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75385}
2021-06-25 11:12:09 +00:00
Patrick Thier
e9d76f88cd [sparkplug] Improve OSR for batch compilation
- Remove possibility to pass frame to %BaselineOsr (was unused and adds
overhead to the normal path)
- Arm back edges for OSR of all functions compiled in a batch
- Refactoring

Bug: v8:11790
Change-Id: Ifb1016935296a172914f99e8b2a1742f618a2be0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982609
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75384}
2021-06-25 11:04:44 +00:00
Clemens Backes
81841073e4 [liftoff] Add a few more code comments
Add a code comment for checking the maximum number of steps, and
disambiguate the different types of breakpoints.

R=thibaudm@chromium.org

Change-Id: I9be40461554948a61e81b3f9953cfc4475e52e54
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2985400
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75383}
2021-06-25 10:54:44 +00:00
Clemens Backes
895e00c5bc [liftoff] Enable more code comments in release builds
Most Liftoff code comments are generated by the {NextInstruction}
function. That code was inside an "#ifdef DEBUG" block so far, because
previously code comments were only enabled in debug builds anyway. Now
that we have the separate v8_code_comments gn arg, they can also be
enabled in release builds.
Hence remove the "#if DEBUG" such that code comments are also output in
release mode.

This should not introduce any compile time regressions since both macros
are no-ops in official builds.

R=ahaas@chromium.org

Change-Id: I0bdd11534620072ccf0ff959c7f7d658aa75717b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2985243
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75382}
2021-06-25 10:53:54 +00:00
Victor Gomes
243dad8fbe [torque] Adds strip-v8-root flag
Change-Id: I116a25fe586491f1a3aff6a486e69724d82115ac
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983207
Auto-Submit: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75381}
2021-06-25 09:01:14 +00:00
Andreas Haas
3161106e77 [wasm] Initialize compilation progress before compilation units
Initializing the compilation progress first, and making it an explicit
step, allows us to share the wrapper compilation code between async
compilation and streaming compilation. In the future it will also allow
us to initialize compilation units based on the compilation progress,
which will allow us to share more code between async compilation and
deserialization.

R=clemensb@chromium.org

Bug: v8:11862
Change-Id: If8394f3068840f759b8325ba806549dbd208f195
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2978258
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75380}
2021-06-25 08:54:34 +00:00
Santiago Aboy Solanes
a56a581b45 [compiler] Remove most instances of DisallowHeapAccessIf scope
We would be allowing or disallowing using the local heap rather than
that scope. There's one case that remains in common-operator-reducer.cc.

Bug: v8:7790
Change-Id: Ice0b407aa37b3aa349fc68f4a7c2644156097e3e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983206
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75379}
2021-06-25 08:52:24 +00:00
Clemens Backes
dad15364b1 [liftoff][cleanup] Rename DEBUG_CODE_COMMENT macro
The code used to be only enabled in debug mode. Now that we have a
separate v8_code_comments gn arg, this is not the case any more. Hence
remove the "DEBUG_" prefix from the macro.

R=ahaas@chromium.org

Change-Id: I60215e3b07d6cb0cee5076136834e4bb5a13355b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982345
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75378}
2021-06-25 08:49:34 +00:00
Clemens Backes
2541986a90 [wasm] Denote debug code in disassembly
We were just printing "Liftoff" in the compiler field, whichout a way to
tell if it's Liftoff's debugging code flavour or default Liftoff code.
This CL encodes that in the "compiler" field by selecting between
"TurboFan", "Liftoff", and "Liftoff (debug)".

R=ahaas@chromium.org

Change-Id: Ia0c004eab96c0e10e52e81c4e2863dab423124fe
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2985399
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75377}
2021-06-25 08:37:54 +00:00
John Xu
5c0bf436eb Upstream some scattered Cobalt changes
These changes are found after Cobalt rebased to V8 v8.8. Most changes
are grouped into their own CLs and here are the rest.
- Replace raw printf with PrintF
- Include Starboard as a platform for some implementations
- Add some missing headers. This is probably because Cobalt does
  not compile all of V8 sources so some missing headers are only exposed
  when compiling Cobalt.

Change-Id: Idf1512f57c37c8a63f79b1cf4ffc1da5d08421e2
Bug: v8:10927
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2966197
Auto-Submit: John Xu <johnx@google.com>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: John Xu <johnx@google.com>
Cr-Commit-Position: refs/heads/master@{#75376}
2021-06-25 08:20:54 +00:00
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