Commit Graph

62519 Commits

Author SHA1 Message Date
Ng Zhi An
671c2fda2f [wasm-simd] Test for offsets in load extend tests
Bug: v8:9886
Change-Id: I22af3c19ef6371d31f0f95c58730ceb3e7effafa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2207653
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67877}
2020-05-18 23:46:25 +00:00
Hannes Payer
1f0befcac7 [heap] Adding fragmentation tracing to Minor Mark-Compact.
Change-Id: I70328a944b78591d106d752197b096cb86c32573
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2206735
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67876}
2020-05-18 21:48:15 +00:00
Ng Zhi An
9d1dda7e97 [wasm-simd][arm] Improve codegen for any_true
The codegen uses a bunch of vpmax to try and keep set bits around. The
datatype for vpmax does not need to change for each instruction, since
vpmax U32 will persist set bits just as well. This simplifies the
instruction sequences for S1x8 and S1x16 anytrue.

I added a test to check a special case when a f64x2 contains -0.0 (top
bit set). A previous attempt to optimize codegen used floating point
compare, which does not distinguish between 0.0 and -0.0. So -0.0 will
compare equals to 0.0, and incorrect return 0 for anytrue.

Change-Id: I66013796af08a666009e6b2d774ea7ee7bdfe1ad
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2203113
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67875}
2020-05-18 18:08:15 +00:00
Milad Farazmand
a43287f123 PPC/s390: [wasm-simd][liftoff][arm][arm64] Implement i8x16 shr
Port 99e4ef48e1

Original Commit Message:

    Only for arm and arm64 now. The ia32 and x64 ones are more complicated
    and will be included in subsequent changes.

R=zhin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N

Change-Id: I3bcdae0d47d2e024cfb6e80ba460306ec5e2d434
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2205884
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#67874}
2020-05-18 17:57:44 +00:00
Ng Zhi An
f5336b3d85 Reland "[wasm-simd][liftoff][ia32][x64] Implement i8x16 shr"
This is a reland of edf90ee828

The fix here is to call GetUnusedRegister with {}, in
liftoff-assembler-ia32.h emit_i8x16_shri_u.

Original change's description:
> [wasm-simd][liftoff][ia32][x64] Implement i8x16 shr
>
> The code sequence is the same as TurboFan, only wrapped in a template to
> share the implementation.
>
> Bug: v8:9909
> Change-Id: I9c1b37bbfafe91d1bd8edd7f9dafd86ff1c07623
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202723
> Commit-Queue: Zhi An Ng <zhin@chromium.org>
> Reviewed-by: Clemens Backes <clemensb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#67842}

Bug: v8:9909
Change-Id: Id56a612cd6580c68a5129e71d7a0e7b29d64b368
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2204080
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67873}
2020-05-18 17:21:24 +00:00
Ng Zhi An
59e2e119d9 [clang-tidy] Make deleted constructor public
Making them private was a way to hide the constructor, we can
explicitly delete them, which give a better compilation error message as
well.

Also see: https://stackoverflow.com/q/55205874

Bug: v8:10488
Change-Id: I8a116637608fcc6a93d6fc4f5ee014d2db863669
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2204156
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67872}
2020-05-18 16:58:44 +00:00
Manos Koukoutos
4f3b9ddd8c [wasm][refactor] Improve SsaEnv implementation
- Add a default, move, and copy constructor for SsaEnv and use them
  when possible.
- Bring the Split method signature in line with Steal and
  Unimplemented.

Changes: 
Change-Id: I626142fbd1c1ed15c1852b9bfc8b39a0e936b839
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2204278
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67871}
2020-05-18 16:49:44 +00:00
Dan Elphick
b50d91960c [heap] Move remaining MemoryAllocator functions
Moves several functions missed in
https://chromium-review.googlesource.com/c/v8/v8/+/2203206.

Bug: v8:10473, v8:10506
Change-Id: I882410cefe496054b71db24a65133224dc52f23c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2207144
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@{#67870}
2020-05-18 15:02:31 +00:00
Maya Lekova
9e2f3f864e [gcmole] Handlify test-api.cc
Bug: v8:9994
Change-Id: I662182a252c2aab053f6c821bf281f613316700a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2207143
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Auto-Submit: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67869}
2020-05-18 15:00:01 +00:00
Richard Stotz
72ae7f48cc [wasm][liftoff][ia32] Add saturated conversion float->int32
Bug: v8:10520
Change-Id: If24a2d74b6e1837b4c29383e4c537e872404e0a4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2201764
Commit-Queue: Richard Stotz <rstz@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67868}
2020-05-18 14:51:21 +00:00
Maya Lekova
273f9abdb1 [gcmole] Whitelist entry for frames.cc
Enhance gcmole --verbose printing with the GC suspect.

Bug: v8:9986
Change-Id: Ia1454d4edec334eabb31a764583e4ee559f0fe07
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2207174
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67867}
2020-05-18 14:06:20 +00:00
Richard Stotz
003b2622d9 [wasm][liftoff][x64] Add saturated conversion float->int64
Bug: v8:10520
Change-Id: Iad8d35e58b766a9e4d3013f90fd4d7fb68708fa7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2201577
Commit-Queue: Richard Stotz <rstz@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67866}
2020-05-18 14:02:50 +00:00
Clemens Backes
e0246541ed [wasm][debug] Add more tests for async compilation
Asynchronicity can be tricky, in particular if the debugger is enabled
while wasm compilation is happening.
We seem to have open issues in streaming compilation there. As a first
step, which CL adds more tests for async compilation (non-streaming).

R=thibaudm@chromium.org

Bug: v8:10531
Change-Id: Idf16790a91aad437ceb981485512a2f52b791bac
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2206736
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67865}
2020-05-18 13:49:50 +00:00
Jakob Gruber
7845967af3 Reland "[nci] Add Construct_WithFeedback builtin"
This is a reland of 69f42d408a

Original change's description:
> [nci] Add Construct_WithFeedback builtin
>
> This builtin essentially acts like InterpreterAssembler::Construct. It
> collects full feedback, then tail-calls either the array constructor
> or the construct builtin.
>
> For now, it is only used in generic lowering, if the --turbo-nci flag
> is passed. One of the next steps will be to measure performance impact
> of feedback collection. If minimal, we may want to enable it
> unconditionally in generic lowering.
>
> Bug: v8:8888
> Change-Id: I8a460a2b5954c26fa72658045a8423c5eee6b611
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2198775
> Commit-Queue: Jakob Gruber <jgruber@chromium.org>
> Reviewed-by: Georg Neis <neis@chromium.org>
> Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
> Auto-Submit: Jakob Gruber <jgruber@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#67850}

Tbr: neis@chromium.org
Bug: v8:8888
Change-Id: Ib1a81da998c848d63c0119b3a4e90fc917b15e94
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2206738
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67864}
2020-05-18 12:57:35 +00:00
Richard Stotz
19e3eb8fd9 [wasm][liftoff][mips64] changed default position in switch-case
Bug: v8:10520
Change-Id: Id06c35f8004519cd778af12ad67aaee2d506609a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2207135
Commit-Queue: Richard Stotz <rstz@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67863}
2020-05-18 12:56:30 +00:00
Omer Katz
c9ee831541 cppgc: Dynamically trace previously in-construction objects
Bug: chromium:1056170
Change-Id: I8f1fbf1f9995fbd3f89564542209b828bf7118ad
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2190428
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67862}
2020-05-18 12:48:00 +00:00
Santiago Aboy Solanes
88958ea929 [cleanup] TNodify ExtendPropertiesBackingStore
There are some 'mode' still pending removal.

Bug: v8:9708, v8:10506, v8:6949
Change-Id: Ie1dc0397241bf046ac9737666e700b98018b2ff5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202906
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67861}
2020-05-18 11:11:50 +00:00
Jakob Gruber
fe3e17d483 Revert "[nci] Add Construct_WithFeedback builtin"
This reverts commit 69f42d408a.

Reason for revert: The last PS introduced a bug https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20fyi/15897.

Original change's description:
> [nci] Add Construct_WithFeedback builtin
> 
> This builtin essentially acts like InterpreterAssembler::Construct. It
> collects full feedback, then tail-calls either the array constructor
> or the construct builtin.
> 
> For now, it is only used in generic lowering, if the --turbo-nci flag
> is passed. One of the next steps will be to measure performance impact
> of feedback collection. If minimal, we may want to enable it
> unconditionally in generic lowering.
> 
> Bug: v8:8888
> Change-Id: I8a460a2b5954c26fa72658045a8423c5eee6b611
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2198775
> Commit-Queue: Jakob Gruber <jgruber@chromium.org>
> Reviewed-by: Georg Neis <neis@chromium.org>
> Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
> Auto-Submit: Jakob Gruber <jgruber@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#67850}

TBR=neis@chromium.org,jgruber@chromium.org,tebbi@chromium.org

Change-Id: I3af168373978d773385b9eda9bc1e243e3cbea09
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8888
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2206737
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67860}
2020-05-18 10:57:12 +00:00
Jakob Gruber
7f25263c4b [csa] Remove unused ReceiverMode for CodeStubArguments
... and other unused methods.

Bug: v8:9708
Change-Id: Ie3658878024fcddcd5503c6462e5ad873eba19b0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2206733
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Auto-Submit: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67859}
2020-05-18 10:51:39 +00:00
Richard Stotz
9282c90732 [wasm][liftoff][x64] Add saturated conversion float->int32
Bug: v8:10520
Change-Id: I0b4867d9b705058536b0f4640a9a87059db3aca7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2201576
Commit-Queue: Richard Stotz <rstz@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67858}
2020-05-18 10:36:21 +00:00
Dan Elphick
dfabc70a99 [heap] Split out memory-allocator.h
Splits out MemoryAllocator and CodeRangeAddressHint into
memory-allocator.h

Bug: v8:10473, v8:10506
Change-Id: I0855f23dd0374ddd68493ee05af7a3a00c84660d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2203206
Auto-Submit: Dan Elphick <delphick@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67857}
2020-05-18 10:08:30 +00:00
Thibaud Michaud
821d97627c [wasm][fuzzer] Fuzz multi-value blocks
R=ahaas@chromium.org

Bug: v8:10408
Change-Id: I1ca62c1cdf3025dcd0df7cdbe6735cc3491c48e1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2201578
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67856}
2020-05-18 09:48:49 +00:00
Clemens Backes
a0687c7131 [utils] Synchronize across StdoutStream instances
We constantly fight against scrambled output with --print-wasm-code and
other flags. Passing --single-threaded only partially mitigates this,
because there could still be multiple isolates (e.g. Workers), and we
sometimes failed to really execute in a single thread if that flag was
set.
Hence this CL solves the problem in a more fundamental way: Whenever a
{StdoutStream} is constructed, it implicitly takes a global recursive
mutex. The recursive mutex is needed because we still have some printing
methods that don't take a stream as parameter, and instead create their
own instance of {StdoutStream}, which should not crash of course.

The overhead of taking a mutex should be acceptable, since output to
stdout mostly happens if special tracing flags have been passed, and is
slow anyway.

This CL ensures that the {StdoutStream} is used at least for
--print-code, --print-wasm-code, and --trace-turbo-graph.
More flags can later be ported on demand.

The {JSHeapBroker} class was modified to not contain a {StdoutStream},
but instead create one on demand.

R=mlippautz@chromium.org, tebbi@chromium.org
CC=ahaas@chromium.org

Bug: v8:10506
Change-Id: Ib9cf8d76aa79553b4215bb7775e6d47a8179aafa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2201767
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67855}
2020-05-18 09:40:50 +00:00
Jakob Kummerow
f87539b4a8 [cleanup] Replace some "default:" with explicit cases
When the intention is to handle every case, *and* when we can be
reasonably sure that no invalid enum values will occur (e.g. from
reading untrusted data), then we shouldn't have a "default:" case
in a switch statement so that the compiler will warn us when a
case is missing.

Bug: v8:10506
Change-Id: Iefdebd54802611e7ec3479afa3c4e6506f97a095
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2204284
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67854}
2020-05-18 09:30:00 +00:00
Ulan Degenbaev
4f9b30b014 [heap] Make PagedSpace::Expand thread-safe
This moves page post-processinng into NotifyOldGenerationExpansion
and introduces a new CanExpandOldGenerationBackground.

Bug: v8:10536
Change-Id: I54761226487434955f8a0dadf7c4dbb31c7955e7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2204283
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67853}
2020-05-18 09:23:45 +00:00
Santiago Aboy Solanes
66dd6bdb41 [CSA][cleanup] Turn {} allocation sites into base::nullopt
Bug: v8:10506
Change-Id: I171a587176f4a1a3c98d407e8b6a3b63bbf1ad6a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202993
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67852}
2020-05-18 09:22:39 +00:00
Santiago Aboy Solanes
402247f3b3 [CSA][cleanup] Remove ParameterMode from ExtractFastJSArray builtin
To do this:
 * Create specialized ParameterToTagged versions of Smi and IntPtT
 * Unify and generalize ExtractFixedArray

Bug: v8:9708, v8:10506
Change-Id: Ic23c6f4bb250076f12d6e8622ebc0b4d4cbeaac8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202982
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67851}
2020-05-18 09:10:50 +00:00
Jakob Gruber
69f42d408a [nci] Add Construct_WithFeedback builtin
This builtin essentially acts like InterpreterAssembler::Construct. It
collects full feedback, then tail-calls either the array constructor
or the construct builtin.

For now, it is only used in generic lowering, if the --turbo-nci flag
is passed. One of the next steps will be to measure performance impact
of feedback collection. If minimal, we may want to enable it
unconditionally in generic lowering.

Bug: v8:8888
Change-Id: I8a460a2b5954c26fa72658045a8423c5eee6b611
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2198775
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Auto-Submit: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67850}
2020-05-18 09:02:00 +00:00
Zhao Jiazhong
e3a7b2177e [mips][wasm-simd][liftoff] Implement i32x4, i16x8, i8x16 shr
Port 0ba8b7165a
https://crrev.com/c/2202356

Port 67a337b5b6
https://crrev.com/c/2202718

Port 99e4ef48e1
https://crrev.com/c/2202722

Change-Id: I435c9859b9ef341682814bb989fe91ba8cae3d86
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2203896
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#67849}
2020-05-18 07:40:41 +00:00
Clemens Backes
f47c6a5ace [wasm] Print debug side table together with code
For debugging (either with --print-wasm-code, or inspecting the current
code object in a debugger) it's helpful to also see the debug side
table, if available.

This CL adds print support for that, and uses it when printing wasm
code, and after generating a new debug side table.

R=thibaudm@chromium.org

Bug: v8:10359
Change-Id: I700b6eacb80f015212115e91b94c513e88c04288
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202902
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67848}
2020-05-18 07:33:44 +00:00
Manos Koukoutos
5ccf1bf955 [wasm][refactor] Make SigEnv a ZoneObject
Also, change its 'locals' field to a ZoneVector.
This is needed for 'let' as per [wasm-gc].

Bug: v8:7748
Change-Id: I9e6ca7f7e483b4bc13b64643107297be31af0e35
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202995
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67847}
2020-05-18 07:24:39 +00:00
Peter Marshall
5699fab94f [cpu-profiler] Rename RecordTickSample to SymbolizeTickSample
Makes it clearer what this does. Added comments to explain it.

Change-Id: I90b0686f8a607cea32c482591b924e9103f7f445
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2205693
Commit-Queue: Simon Zünd <szuend@chromium.org>
Auto-Submit: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67846}
2020-05-18 07:13:59 +00:00
Manos Koukoutos
a4d295ad76 [wasm] Refactor/cleanup DecodeLocals, read_value_type
Changes:
Cleanup:
- Make sure read_value_type has the same interface as other
  read_* functions, i.e., returns the decoded value and writes
  the consumed length into a pointer.
- DecodeLocals is now an instance method.
- DecodeLocals should fail when given a wrong number of locals.
  Add tests to catch that.
- Fix a buggy test.

Refactoring in preparation of introducing the 'let'
instruction as per [wasm-gc]:
- DecodeLocals does not consume any input and can start from any pc.
- DecodeLocals gives the option of not appending the decoded
  locals to local_types_.
- Separate locals initialization from signature.

Bug: v8:7748
Change-Id: Iaaff87fdb9abe0ddd716484ea3fa87779d2d1a2f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202992
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67845}
2020-05-18 06:41:09 +00:00
Milad Farazmand
ed7f102e91 PPC/s390: [wasm-simd][liftoff] Implement i16x8 shr
Port 67a337b5b6

Original Commit Message:

    Implement for x64, ia32, arm64, and arm.

R=zhin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N

Change-Id: I8b512992a3cc583f31f433db037fabf65714628a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2204542
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#67844}
2020-05-15 21:56:04 +00:00
Zhi An Ng
db1ab4fa89 Revert "[wasm-simd][liftoff][ia32][x64] Implement i8x16 shr"
This reverts commit edf90ee828.

Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20debug%20builder/36129?

Original change's description:
> [wasm-simd][liftoff][ia32][x64] Implement i8x16 shr
> 
> The code sequence is the same as TurboFan, only wrapped in a template to
> share the implementation.
> 
> Bug: v8:9909
> Change-Id: I9c1b37bbfafe91d1bd8edd7f9dafd86ff1c07623
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202723
> Commit-Queue: Zhi An Ng <zhin@chromium.org>
> Reviewed-by: Clemens Backes <clemensb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#67842}

TBR=clemensb@chromium.org,zhin@chromium.org

Change-Id: I04b9993040fa8a1dd69a4fa892a35273682d3efa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:9909
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2204550
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67843}
2020-05-15 21:20:16 +00:00
Ng Zhi An
edf90ee828 [wasm-simd][liftoff][ia32][x64] Implement i8x16 shr
The code sequence is the same as TurboFan, only wrapped in a template to
share the implementation.

Bug: v8:9909
Change-Id: I9c1b37bbfafe91d1bd8edd7f9dafd86ff1c07623
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202723
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67842}
2020-05-15 21:12:44 +00:00
Michael Lippautz
1d26770085 cppgc: Add composite object tracing to Visitor
This allows embedding objects in each other and recursively trace
through them.

Bug: chromium:1056170
Change-Id: I4e4ae4c1669109c01003cb6b69797cf271a74033
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2198977
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67841}
2020-05-15 21:09:15 +00:00
Ng Zhi An
99e4ef48e1 [wasm-simd][liftoff][arm][arm64] Implement i8x16 shr
Only for arm and arm64 now. The ia32 and x64 ones are more complicated
and will be included in subsequent changes.

Bug: v8:9909
Change-Id: I6597efbccd780e12234f8674e09e60bb3f803630
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202722
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67840}
2020-05-15 21:00:04 +00:00
Milad Farazmand
013ad9e23d PPC/s390: [wasm-simd][liftoff] Implement i32x4 shr_s shr_u
Port 0ba8b7165a

Original Commit Message:

    Implemented for x64, ia32, arm64, arm.

R=zhin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N

Change-Id: I45caa3fbf643e3caa7b452383155fa32d3ca399e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2204333
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#67839}
2020-05-15 19:11:34 +00:00
Jakob Kummerow
509866f778 [cleanup][wasm] Use explicit types instead of "auto"
in function-body-decoder-impl.h.

Bug: v8:10506
Change-Id: If31aa9e35cc34f6c1c191bd487b1b01727e01dc1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2204204
Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67838}
2020-05-15 18:31:12 +00:00
Andreas Haas
0b5f3c70a3 [d8][wasm] Don't enable streaming compilation without async compilation
The --wasm-test-streaming flag enabled streaming compilation after a
check that streaming compilation is not enabled if async compilation is
not enabled. This caused a later check to trigger. With this CL
streaming compilation does not get enabled by --wasm-test-streaming if
async compilation is not enabled.

R=clemensb@chromium.org

Bug: chromium:1082990
Change-Id: Ibe12389beae6a3335d3c8b6039fcea450f25d281
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202985
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67837}
2020-05-15 18:11:22 +00:00
Ng Zhi An
67a337b5b6 [wasm-simd][liftoff] Implement i16x8 shr
Implement for x64, ia32, arm64, and arm.

Bug: v8:9909
Change-Id: Ia9499b211e915f8763b4f593824099391dca7e1f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202718
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67836}
2020-05-15 17:47:03 +00:00
Ng Zhi An
0ba8b7165a [wasm-simd][liftoff] Implement i32x4 shr_s shr_u
Implemented for x64, ia32, arm64, arm.

Bug: v8:9909
Change-Id: Ib1479525d44c29b2ba02de31d655da2cde21d9fc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202356
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67835}
2020-05-15 17:13:52 +00:00
Ng Zhi An
40414ce148 [wasm-simd][liftoff] Implement i64x2 shr_s and shr_u
Implementation for arm64 and arm.

Bug: v8:9909
Change-Id: Icbded4f6fddb19526ec3f646a3f4157fb94d3695
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2198358
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67834}
2020-05-15 16:57:42 +00:00
Dan Elphick
04eef1868f [cleanup] Delete dead SlotsBuffer functions
Removes dead functions related to long removed SlotsBuffer class.

Bug: v8:10506
Change-Id: I79d6e77d2305e19048b62e2bc584fe986affd111
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202908
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@{#67833}
2020-05-15 15:28:12 +00:00
Bill Budge
4436f5e95b [torque] Port builtins/builtins-function-gen to Torque
- Ports FastFunctionPrototypeBind and FunctionPrototypeHasInstance
  to torque.

Bug: v8:9891
Change-Id: Iaebaf3c6025907a1b7310c4e08200b4855c7ca6b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2188929
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67832}
2020-05-15 14:45:27 +00:00
Dan Elphick
a3d5ad8384 [heap] Split out new-spaces.h
Splits out all of SemiSpace, NewSpaces and related classes into
paged-spaces.h.

Bug: v8:10473, v8:10506
Change-Id: I97ecceaf5df41263cc8ea75ff0018442bfeffa66
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202903
Auto-Submit: Dan Elphick <delphick@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67831}
2020-05-15 14:44:22 +00:00
Almothana Athamneh
f81996e2d6 Migrate v8_linux64_msan_rel to next-gen format
This CL splits the v8_linux64_msan_rel
to an intitial buidler and a triggered
builder with changing the name to a
new format (master side).

Bug: v8:10445
Change-Id: I42a975a30a5210c96acb27b18fc1ac7de7c0ecd1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202990
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Almothana Athamneh <almuthanna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67830}
2020-05-15 14:13:12 +00:00
Marja Hölttä
e140e73e0c [Promise.any] Initialize the "errors" array lazily
Bug: v8:9808
Change-Id: Ia2d883e95d96d67f4b4860af1782735ac0aa6979
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2193075
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Auto-Submit: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67829}
2020-05-15 13:56:12 +00:00
Tobias Tebbi
6ca9eec5d6 [torque] allow casting from MaybeObject
Bug: v8:7793
Change-Id: Ief280b44f4fe74e2b38fc649e4d61b5e4146234a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2204097
Auto-Submit: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67828}
2020-05-15 13:45:09 +00:00