Commit Graph

67575 Commits

Author SHA1 Message Date
Deepti Gandluri
9960f69ffd Stop inlining the SupportsWasmSimd128 function
Change-Id: Id9b69f960887f55d26842ecad57c43367c7ddfcd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704951
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73083}
2021-02-26 23:55:04 +00:00
Frank Tang
8bc2cfb749 Implement GetOptionsObject/CoerceOptionsToObject
Add GetOptionsObject/CoerceOptionsToObject for ECMA402 2021
Change Intl.ListFormat / Intl.DisplayNames and Intl.Segmenter
to use GetOptionsObject and keep old API under CoerceOptionsToObject
based on https://github.com/tc39/ecma402/pull/538/files

Test262 tests need to be changed per
https://github.com/tc39/test262/issues/2950

Bug: v8:11466
Change-Id: I5cb9b7aba0556effc76b4005e95c90db1e59d41f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2705696
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73082}
2021-02-26 22:45:22 +00:00
Michael Lippautz
ae13b85b52 Reland "cppgc: Rework testing GC infrastructure"
This is a reland of eb4536797e

Original change's description:
> cppgc: Rework testing GC infrastructure
>
> Instead of moving the stand-alone logic to the base heap, allows
> specific heaps to override their stand-alone GC behavior. This allows
> CppHeap to reuse the unified heap bottlenecks and visitors for
> testing. This works as long as any v8 references are empty as there is
> no Isolate attached to the heap in this case.
>
> - Reverts parts of https://crrev.com/c/2716291
> - Relands parts of https://crrev.com/c/2718146
>
> In addition, add tests covering v8::CppHeap and cppgc::Heap.
>
> Bug: chromium:1056170
> Change-Id: I47dc88c7f0e4961a1aadd60da9b05bff4dcfb27a
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718612
> Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
> Reviewed-by: Omer Katz <omerkatz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73077}

Bug: chromium:1056170
Change-Id: I415c837a7cf275c636172485dc4101c237a7d76b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2723253
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Auto-Submit: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73081}
2021-02-26 21:29:42 +00:00
Ng Zhi An
7c78ad8026 [wasm-simd] Remove signselect
These were prototyped and not merged into the SIMD proposal.

Bug: v8:10983
Change-Id: I5c30a0e9955ee5602e05d473f0f85be59d124205
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718761
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73080}
2021-02-26 21:27:32 +00:00
Ng Zhi An
1d31814978 [wasm-simd][ia32][x64] Optimize extended add pairwise for AVX
Optimize extadd_pairwise when AVX is supported. If SSE4_1 is available,
we can use the SSE version of the same code sequence. However, there is
a potentially better lowering that only requires SSE2, which has less
instructions, but will only work better if we have rip-relative
constants (otherwise even using ExternalReference it would be 2 moves).

Bug: v8:11086,v8:11349
Change-Id: Iac6f31cf8052161846ff5242b4c18c638c83e0f6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719298
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73079}
2021-02-26 21:21:12 +00:00
Francis McCabe
8380ebb277 Revert "cppgc: Rework testing GC infrastructure"
This reverts commit eb4536797e.

Reason for revert: Breaks MSAN: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/37053

Original change's description:
> cppgc: Rework testing GC infrastructure
>
> Instead of moving the stand-alone logic to the base heap, allows
> specific heaps to override their stand-alone GC behavior. This allows
> CppHeap to reuse the unified heap bottlenecks and visitors for
> testing. This works as long as any v8 references are empty as there is
> no Isolate attached to the heap in this case.
>
> - Reverts parts of https://crrev.com/c/2716291
> - Relands parts of https://crrev.com/c/2718146
>
> In addition, add tests covering v8::CppHeap and cppgc::Heap.
>
> Bug: chromium:1056170
> Change-Id: I47dc88c7f0e4961a1aadd60da9b05bff4dcfb27a
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718612
> Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
> Reviewed-by: Omer Katz <omerkatz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73077}

Bug: chromium:1056170
Change-Id: Ieda44c07d08f837a6632f96b8db6d5bec87dd521
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2723216
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Francis McCabe <fgm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73078}
2021-02-26 18:50:23 +00:00
Michael Lippautz
eb4536797e cppgc: Rework testing GC infrastructure
Instead of moving the stand-alone logic to the base heap, allows
specific heaps to override their stand-alone GC behavior. This allows
CppHeap to reuse the unified heap bottlenecks and visitors for
testing. This works as long as any v8 references are empty as there is
no Isolate attached to the heap in this case.

- Reverts parts of https://crrev.com/c/2716291
- Relands parts of https://crrev.com/c/2718146

In addition, add tests covering v8::CppHeap and cppgc::Heap.

Bug: chromium:1056170
Change-Id: I47dc88c7f0e4961a1aadd60da9b05bff4dcfb27a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718612
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73077}
2021-02-26 18:27:42 +00:00
Milad Fa
3d972a5b6a PPC/s390: [wasm] Rename more "type" to "kind"
Port 52cc7ba9bc

Original Commit Message:

    This renames more fields holding "ValueKind" or methods operating on
    "ValueKind" to contain "kind" instead of "type".
    It also renames "is_reference_type" to "is_reference" on both ValueType
    and ValueKind, as the "_type" prefix is kind of implicit from the
    argument.

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

Change-Id: I3ab73b31b401ed1e9788df33d998b067280cb52c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2723251
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73076}
2021-02-26 17:41:32 +00:00
Ng Zhi An
4e68c65ab3 [wasm-simd][x64] Use kScratchDoubleReg/kScratchReg instead of temp
Drive-by cleanups to merge macro lists which now have the same
instruction selector requirements.

Bug: v8:11384
Change-Id: Id49c43dce897685d5ced19509f390274805739aa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716069
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73075}
2021-02-26 17:12:02 +00:00
Santiago Aboy Solanes
48406979d2 [compiler] Perform GetFieldIndexFor concurrently through Refs
Bug: v8:7790
Change-Id: I8ff80b109381b339864879e8e4e0dc0d5e418262
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2682636
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73074}
2021-02-26 15:18:02 +00:00
pthier
63dc18c09f [csa] Optional data_type out-parameter for GetSharedFunctionInfoCode()
Using an out-parameter for the SFI data type in
GetSharedFunctionInfoCode() avoids loading the CodeKind in
CompileLazy().

Bug: v8:11429
Change-Id: Ib8eccdf6d169cce28a9ff50bb415447b61ad71a9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2715197
Auto-Submit: Patrick Thier <pthier@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73073}
2021-02-26 14:28:52 +00:00
Manos Koukoutos
d61c64b2cf [wasm] Enable loop unrolling
We experimentally globally enable loop unrolling for wasm code. This
might be reverted based on the results of perf bots.

Additional change: Add LoopExitValue to Int64Lowering, plus a small
simplification.

Bug: v8:11298

Change-Id: Iaf2829e80f948d70c5fb6ed7c974db7f59265fa3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718611
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73072}
2021-02-26 13:17:21 +00:00
Clemens Backes
6fe59c0cb6 [no-wasm] Remove wasm tests and fuzzers
Wasm tests and wasm fuzzers should not be compiled (and run) if
v8_enable_webassembly=false.

R=machenbach@chromium.org

Bug: v8:11238
Change-Id: I78bbb1d1d98179cac315411b8c2c2ecaee8ede91
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2721761
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73071}
2021-02-26 12:53:12 +00:00
Clemens Backes
52cc7ba9bc [wasm] Rename more "type" to "kind"
This renames more fields holding "ValueKind" or methods operating on
"ValueKind" to contain "kind" instead of "type".
It also renames "is_reference_type" to "is_reference" on both ValueType
and ValueKind, as the "_type" prefix is kind of implicit from the
argument.

R=manoskouk@chromium.org, jgruber@chromium.org

Bug: v8:11477
Change-Id: I7809f1af6e983aebca96e03fe1fbc6ccaa22db72
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718063
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73070}
2021-02-26 10:48:11 +00:00
Liu Yu
98cbf95368 [mips][wasm-simd] Remove i8x16.mul
Port: 47ffa7a5fa

Bug: v8:6020
Change-Id: I4ae6261828b27f88553781a93d8557b6b685c217
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719811
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@{#73069}
2021-02-26 10:14:31 +00:00
Clemens Backes
19e8abbb56 [wasm] Store full type in the debug side table
In https://crrev.com/c/2707170, Liftoff was changed to only store the
ValueKind instead of the ValueType, because we only need to know kind
for code emission. For debugging though, the whole type is useful.
This CL changes the debug sidetable back to store the full type, and
retrieves this information from the decoder.

R=jkummerow@chromium.org

Bug: v8:11477
Change-Id: I08a512d24cdf0955c95f3b9261d68a02a39b9b4e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2720302
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73068}
2021-02-26 09:10:11 +00:00
LiuYu
dc0a1b4081 [mips] Skip all Simd tests on MIPS like PPC
Simd unsupported in simulator and some machines on mips.

Original Commit Message:

  As of https://crrev.com/c/2629465, Simd tests cannot pass on
  architectures without Simd support. Tests will need to be
  re-enabled once Simd support is fully implemented on PPC.

Port: aaacffa1e0
Change-Id: Ic7451211cbe2bfa13952b994ea440189620579cd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2717158
Auto-Submit: Liu yu <liuyu@loongson.cn>
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#73067}
2021-02-26 04:23:06 +00:00
v8-ci-autoroll-builder
79e36b2a1b Update V8 DEPS.
Rolling v8/build: 67d73b8..be2a0bf

Rolling v8/buildtools: 45fb4c0..fd1ca3e

Rolling v8/third_party/aemu-linux-x64: qI8e328VwkWv64EapCvG3Xj9_hDpKQFuJWeVdUHz7W0C..8c4TvsC0hrCVIdsAVOIoQ3TnOJ3PX5iVaUqg4iQkJP4C

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/a34cee3..9105610

Rolling v8/third_party/depot_tools: fb09de2..7d69005

Rolling v8/tools/clang: 823927c..6a9fd91

TBR=v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: I013a44bd204f5acb8a0af9ec71b7f29945e9dbd1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2721362
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@{#73066}
2021-02-26 03:46:36 +00:00
Omer Katz
cd2248a280 cppgc: Handle ephemerons with Mixin keys.
This was causing DevTools to crush whenever I took a heap snapshot.

Bug: chromium:1056170
Change-Id: Ice7b3039c21a3f902f242299939e92ba0e393c9f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2720307
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73065}
2021-02-26 00:11:22 +00:00
Omer Katz
199359da18 cppgc: Add WasConservativeGC to HeapState
This CL adds WasConservativeGC to HeapState which reports whether the
last GC was finalized conservatively. The state is updated at the end of
marking atomic pause.

Currently the library integration in Blink ignores the stack state when
scheduling a forced GC for testing. That means that we always schedule
another GC after a forced GC.
This causes a crash in web_tests which assume no GC is happening
between forced GCs if the thread is not idle and no new allocations
happen.

Usage CL: https://crrev.com/c/2720201

Drive by: Fix stack state for MarkingVerifier in CppHeap.

Bug: chromium:1056170
Change-Id: I6ad23ed7c1a53fae96425b968bc4b3eb18ce80b7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2720279
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73064}
2021-02-25 22:54:05 +00:00
Ng Zhi An
dc05afd164 [wasm-simd] Remove post-mvp flag from i64x2.all_true tests
Bug: v8:11347
Change-Id: I17859b226e14df63380dd6895bee62b0e8a380b9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719297
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73063}
2021-02-25 21:52:11 +00:00
Milad Fa
79d24d93a8 PPC [simd]: Implement vector insert and extract on Sim
Change-Id: I49d0911fe72f624cd0700e6aafaadb9fdc401f93
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2720466
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73062}
2021-02-25 21:19:53 +00:00
Milad Fa
9c09c7c8cb PPC/s390: [wasm-simd] Remove i8x16.mul
Port 47ffa7a5fa

Original Commit Message:

    This instruction is not in the final SIMD proposal.

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

Change-Id: I7e701fb6a995fb62737e9473cdf76a33c5518cac
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716055
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73061}
2021-02-25 21:00:01 +00:00
Michael Lippautz
98998d1579 cppgc: Fix build dependencies
- cppgc_headers: Do not depend on any internals but merely expose the
  public API interface.
- v8_libbase: Do not depend on v8_headers but merely on
  v8_config_headers as src/base should be independent of general V8.

Bug: chromium:1056170
Change-Id: I06d1a4ea20f243bae8e994deba9d76f07993ed4a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2720303
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73060}
2021-02-25 19:29:21 +00:00
Milad Fa
0eca1c7b25 PPC [simd]: Add vector load, store and splat to Sim
This CL also adds and makes use of the __int128 data type to help
with vector loads and stores.

Change-Id: I0d02eddcedfe17d12eadd214e205b693fa7ebe53
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2720459
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73059}
2021-02-25 18:57:21 +00:00
Ng Zhi An
47ffa7a5fa [wasm-simd] Remove i8x16.mul
This instruction is not in the final SIMD proposal.

Bug: v8:6020
Change-Id: Ifef1b3d58bf660f2d30784f587aed85f327825ec
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716073
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73058}
2021-02-25 18:14:51 +00:00
Ng Zhi An
884968c049 [wasm-simd][x64] Optimize signed compares codegen
Improve SSE codegen similar to suggestions in
https://crrev.com/c/2698066:

- s/movdqa/movaps/
- s/por/orps
- s/pxor/xorps
- s/pand/andps
- use movshdup (SSSE3) insted of shuffle

Bug: v8:11415
Change-Id: I2e76cbbe16267c055e24f258354b77994aed47b8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2713131
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73057}
2021-02-25 17:54:31 +00:00
Ng Zhi An
1cc8772a64 [ia32] Fix movhps definition
Copy paste error leading to wrong definition.

Change-Id: I93c516d11ed4c76ed389afb6e911315a8ce49ef0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716741
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73056}
2021-02-25 17:00:46 +00:00
Ng Zhi An
1dcae4bc7e [wasm-simd][x64] Use movaps in i8x16.swizzle
Bug: v8:11346
Change-Id: I95a82da62feb6c42562f655f954407ad58c4ca33
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718660
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73055}
2021-02-25 16:59:41 +00:00
pthier
12eaa0fe61 [sparkplug][cleanup] Add helper to en-/decode VLQ.
VLQ encoding was implemented in TranslationArray and Sparkplug PC <->
bytecode mapping.
This CL introduces new VLQ helper methods used in both.

Bug: v8:11429
Change-Id: I89d9777eab4ad28f08e5957421b63df07e37f9cc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704674
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73054}
2021-02-25 15:05:01 +00:00
Hannes Payer
17feb9b2f5 Update ENG_REVIEW_OWNERS
Change-Id: Ib1c871098a9f39cd9db445f18a387d42583afe5c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2712758
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73053}
2021-02-25 14:28:32 +00:00
Hannes Payer
3a2836e01b Update include/OWNERS
Change-Id: I0005fe0ed7b9f00fd074161d355da430b85675ac
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2714703
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73052}
2021-02-25 14:27:28 +00:00
Hannes Payer
7c50535517 Update OWNERS in test/*
Change-Id: I86b0d01ed283f97cde2f3d71df68c3a75107c61d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2712906
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73051}
2021-02-25 14:26:24 +00:00
Hannes Payer
05774c1550 Update OWNERS in src/*
Change-Id: Ib54d5abad3e67f74d1930af135778e1f201ba28f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2712964
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73050}
2021-02-25 14:22:51 +00:00
Hannes Payer
a385a75f8c Update COMMON_OWNERS.
Change-Id: I1acfd953b9ea4dd09edd8b9e6e170e94427dfeb9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2712757
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73049}
2021-02-25 14:17:01 +00:00
Santiago Aboy Solanes
e2f0b1ad81 [cleanup] Unify the LocalIsolate/Isolate calls on js-heap-broker
We have several ways of doing the Isolate or LocalIsolate calls. Let's
unify it to have one consistent way of doing it.

Bug: v8:7790
Change-Id: I7d860e918406b07e3b8ab2d46e775a2beb5a4397
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718609
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73048}
2021-02-25 14:15:01 +00:00
Leszek Swirski
9a31804bbe [profiler] Clean up CodeEvent tags
Clean-up and slightly unify the CodeEvent tags:

  * Remove INTERPRETED_FUNCTION_TAG. It was only used for interpreter
    trampoline copies, which are used for
    --interpreted-frames-native-stack.  However, even actual bytecode
    compilation doesn't use INTERPRETED_FUNCTION_TAG, so we can remove
    it for simplicity.

  * The tag used by the above is now the same as for the bytecode
    creation event, i.e. EVAL_TAG, SCRIPT_TAG, FUNCTION_TAG or
    LAZY_COMPILE, depending on whether this was a script, and eval, an
    eager or a lazy compile (respectively.

  * Baseline was also using INTERPRETED_FUNCTION_TAG, so now it does the
    same thing as above.

  * Existing code is now logged as FUNCTION_TAG rather than
    LAZY_COMPILE, because we lost the laziness information.

  * The SCRIPT_TAG is set based on the SharedFunctionInfo flags, not
    the compilation flags, so that eager inner functions are labelled as
    FUNCTION_TAG rather than SCRIPT_TAG.

Bug: v8:11420,v8:11429
Change-Id: I0286002674255ff4ba8f5d865df372a3e2975b16
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2713104
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73047}
2021-02-25 13:57:02 +00:00
Liu Yu
d7be571c17 [mips64][wasm-simd] Retrieve the value of SupportsWasmSimd128()
in builtin

Port: 68105996e0

Bug: v8:11377
Change-Id: Ib60f0b0c0c994791e02ebde6ee8519134a3dd9f1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719806
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@{#73046}
2021-02-25 13:37:11 +00:00
v8-ci-autoroll-builder
0e75ba1739 Update V8 DEPS.
Rolling v8/build: 446bf3e..67d73b8

Rolling v8/buildtools: 4c78ef9..45fb4c0

Rolling v8/buildtools/third_party/libc++abi/trunk: 196ba1a..5fb4080

Rolling v8/buildtools/third_party/libunwind/trunk: a2cc4f8..8d5fb6f

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/81c9d30..a34cee3

Rolling v8/third_party/depot_tools: 5fe664f..fb09de2

Rolling v8/tools/clang: cfd0f62..823927c

TBR=v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: I9815099eca93e82385b8a4a417c4a1cf28802eed
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2717935
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@{#73045}
2021-02-25 13:35:01 +00:00
Santiago Aboy Solanes
0b3f82b5c7 [cleanup] Improve the concurrent SharedMutexes comments and naming
Rename string_access to internalized_string_access and
transition_array_access to full_transition_array_access.

Bug: v8:7790
Change-Id: I225f90d4c0d6ddac1f15796848428bc962a2420f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718145
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73044}
2021-02-25 13:32:47 +00:00
Lutz Vahl
2aad1b6429 Changed version number to 9.1
TBR=hablich@chromium.org, vahl@chromium.org

Change-Id: Ibbae1509e1f546c77d4ef21d42386af44f1005c1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718607
Reviewed-by: Lutz Vahl <vahl@chromium.org>
Commit-Queue: Lutz Vahl <vahl@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73043}
2021-02-25 11:54:10 +00:00
Victor Gomes
91b5439da3 [masm] Consistent LoadNativeContextSlot argument order
Change-Id: I59b26323bd8d2fd35379fb73c799943315d5422b
Bug: v8:11502
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719564
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Victor Gomes <victorgomes@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73042}
2021-02-25 11:16:50 +00:00
Dan Elphick
a9242320f2 [build] Fold v8_wrappers into v8_libbase
Remove most dependencies on v8_wrappers. The remainder all depend on
v8_libbase anyway, so just fold it into that target which removes a gn
check error. Also removes v8_wrappers from the fuzzers where it's not
used.

Bug: v8:7330
Change-Id: I916806b62f8c49cc1d50ef493aa900e30fc623aa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716383
Commit-Queue: Dan Elphick <delphick@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Auto-Submit: Dan Elphick <delphick@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73041}
2021-02-25 10:56:20 +00:00
Frank Emrich
3c9c3015fc [dict-proto] C++ implementation of SwissNameDictionary, pt. 6
This is a reland of
https://chromium-review.googlesource.com/c/v8/v8/+/2715192.

This CL is part of a series that adds the C++ implementation of
SwissNameDictionary, a deterministic property backing store based on
Swiss Tables.

This CL adds the Add, DeleteEntry, Rehash, and Shrink operations, as
well as some helpers required by those.

Bug: v8:11388
Change-Id: I028dbf3215c76e4f40cba420c125ef25223f252e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719561
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Frank Emrich <emrich@google.com>
Cr-Commit-Position: refs/heads/master@{#73040}
2021-02-25 09:41:29 +00:00
Ting Shao
9fa61a9604 [node] Optimize the method Node::OwnedBy(Node const* owner)
Optimize the implementation of this method by removing unnecessary
bitwise OR operation.

Change-Id: Ic16e0d556d7fca6883aed77e592faa2fdd602624
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2709558
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73039}
2021-02-25 08:41:49 +00:00
Michael Achenbach
14558e0254 [test] Disable flaky test
No-Try: true
Bug: v8:11437
Change-Id: I589e9695a00bea632fa4cfa7575d902872b41e2b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719559
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73038}
2021-02-25 08:34:39 +00:00
Liu Yu
d43377259f [mips][Liftoff] Use ValueKind instead of ValueType
Port: 96a0677a22

Bug: v8:11477
Change-Id: I438a5b833a9838ffa53d30785cf627f75997d7fc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719402
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@{#73037}
2021-02-25 06:40:38 +00:00
Manos Koukoutos
47892136e0 [wasm] Do not call CheckForException on every node
Calling CheckForException through the BUILD macro for almost every
invocation of WasmGraphBuilder from graph-builder-interface created
multiple issues:
- It generated an invalid graph with GetExceptionValues, resulting in
  us having to hack CallBuiltin().
- It will generate multiple problems with wasm-gc operations.
- It needlessly slowed down compilation.

Changes:
- Remove BUILD macro, call CheckForException directly only for function
  calls and throws.
- Split CheckForException into a fast inline path and a slow non-inline
  one.
- Move BUILD's DCHECK into CHECK_INTERFACE.
- Add an early exit to Decode().
- Since we do not need the hack anymore, implement CallBuiltin properly.

Change-Id: I38e3c73e0af80894584ce37e2f3bfc90111ac54f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2717304
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73036}
2021-02-25 04:54:49 +00:00
Ng Zhi An
43648c5bac [wasm-simd][arm][liftoff] Implement extended add pairwise
Bug: v8:11086
Change-Id: I214ebd0cc7c3b0379fcd6bc78e131fccf7bfe631
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707776
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73035}
2021-02-24 23:14:08 +00:00
Francis McCabe
c914b7b1cf Revert "[dict-proto] C++ implementation of SwissNameDictionary, pt. 6"
This reverts commit ae153904b8.

Reason for revert: link error in https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20full%20debug/16047/overview

Original change's description:
> [dict-proto] C++ implementation of SwissNameDictionary, pt. 6
>
> This CL is part of a series that adds the C++ implementation of
> SwissNameDictionary, a deterministic property backing store based on
> Swiss Tables.
>
> This CL adds the Add, DeleteEntry, Rehash, and Shrink operations, as
> well as some helpers required by those.
>
> Bug: v8:11388
> Change-Id: I81a181e99e679095c2acc877a293e81b6a581db4
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2715192
> Reviewed-by: Igor Sheludko <ishell@chromium.org>
> Reviewed-by: Marja Hölttä <marja@chromium.org>
> Commit-Queue: Frank Emrich <emrich@google.com>
> Cr-Commit-Position: refs/heads/master@{#73020}

Bug: v8:11388
Change-Id: I7c83ddfab6055b992f1580e03aae0da31d83ba63
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718662
Auto-Submit: Francis McCabe <fgm@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73034}
2021-02-24 23:05:53 +00:00