Commit Graph

62596 Commits

Author SHA1 Message Date
Seth Brenith
7ce4b196ce [diagnostics] Make basic block profiling more configurable
This change adds more granular control to the behavior that was
previously controlled by the single flag --turbo-profiling. With this
change, it becomes possible to:
- output information only about builtins, ignoring functions compiled at
  runtime
- skip the very slow process of writing the schedule and disassembly for
  all builtins, if you only want the block counts and don't need verbose
  output

This change also moves the output step from Shell::OnExit to
Isolate::DumpAndResetStats so that it's more consistent with other
features and works in hosts other than d8.

Bug: v8:10470, v8:9119
Change-Id: I19b1caca3ff27a2e4a6fdc7ad2f8174f8d678b3a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2216717
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#68104}
2020-06-02 15:18:52 +00:00
Jakob Gruber
a70348d0e0 Unify string debug printing
This unifies functionality between release-mode ShortPrint and
debug-mode Print:

- Prefixes and suffixes are now consistent. 'u' for two-byte, '#' for
  internalized, 'c' for cons, '>' for thin.
- Logic was simplified and is now based on 3 functions:
  PrefixForDebugPrint, PrintUC16, SuffixForDebugPrint.
- %DebugPrint no longer interprets strings as 'code markers'.
- The ancient and unused use_verbose_printer flag was removed.

Bug: v8:10581
Change-Id: Iebc6a746a2683f9f5a8ef60579836e7f66a188fa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2224868
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68103}
2020-06-02 15:08:21 +00:00
George Wort
7c0c52861f [turbolizer] Display live range uses
Display UsePositions in the intervals
in live ranges in turbolizer.

Uses are shown as vertical red lines.

Bug: v8:7327
Change-Id: Iab8d08989b9113d1b7d393252de5988e8b25b8de
Notry: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2224215
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68102}
2020-06-02 15:04:11 +00:00
Shu-yu Guo
c342ba8247 Set .name of anonymous functions on the RHS of logical assignment.
https://github.com/tc39/proposal-logical-assignment/pull/24 reached
consensus in June TC39.

Drive-by refactoring of testing for logical assignment ops using
IsInRange.

Bug: v8:10579
Change-Id: I5a203ba552a905cd28f75c5d223998431a1966ce
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2225809
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68101}
2020-06-02 15:00:21 +00:00
Jakob Gruber
6463c0f00c [compiler] Hook in compare op builtins with feedback in generic lowering
If --turbo-nci is enabled, use compare op builtins with feedback
collection during generic lowering.

Bug: v8:8888
Change-Id: I886020e2ee280f65388d9987c70958546f99e0f3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2215821
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68100}
2020-06-02 12:24:47 +00:00
Clemens Backes
d47ab50b54 [liftoff] Use ZoneVectors during compilation
The allocation of heap storage for the vectors shows up in profiles, and
also the destruction of the contained elements.
Since we already have a compilation zone available, we can easily move
the vectors and all contained elements into the zone, where they will be
deallocated together with all other data at once.

R=thibaudm@chromium.org

Bug: v8:10576
Change-Id: I2c3d318f9b19b1b8c2e4e57e7523cd1c79192cc6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2224220
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68099}
2020-06-02 11:24:37 +00:00
Dominik Inführ
37e3cac7c5 [heap] Do not verify slots in concurrent sweeper
Cannot verify whether slots are cleared from a concurrent sweeping task,
the OLD_TO_NEW remembered set is owned by the main thread.

Bug: v8:10562
Change-Id: I0c880f7f96350aa35b44d2966c9621576825374c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2215820
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68098}
2020-06-02 10:55:07 +00:00
Clemens Backes
f843917592 [d8] Improve error message for illegal --trace-path
Unconditionally check for errors (instead of a DCHECK), and print a
better error message (including the file path) if the file cannot be
opened.

R=tebbi@chromium.org
CC=machenbach@chromium.org

Bug: chromium:1087039
Change-Id: Ia5cb76b309e78631ecf9462de6c7cd3eb4bf9e59
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2224226
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68097}
2020-06-02 10:47:07 +00:00
Clemens Backes
5fcb414ac2 [wasm][debug] Support multi-threaded breakpoints
This adds support for multiple isolates sharing the same module but
setting different breakpoints. This is simulated by having a debugger
test that runs in the "--isolates" variant, i.e. two isolates running
the same test at the same time. Both isolates will set and remove
breakpoints.

The DebugInfo will keep a separate list of breakpoints per isolate, and
when recompiling a function for debugging it will respect all
breakpoints in all isolates.
In order to ensure consistency if multiple isolates are setting or
removing breakpoints simultaneously, we go back to a more coarse-grained
locking scheme, where the DebugInfo lock is held while re-compiling
Liftoff functions.

While recompilation will install the code in the module-global code
table and jump table (and hence all isolates will use it for future
calls), only the stack of the requesting isolate is rewritten to
immediately use new code. This is OK, because other isolates are not
interested in the new breakpoint(s) anyway.
On {SetBreakpoint}, we always need to rewrite the stack of the
requesting isolate though, even if the breakpoint was set before by
another isolate.

Drive-by: Some fixes in SharedFunctionInfo in order to support setting
breakpoints via the Debug mirror.

R=thibaudm@chromium.org

Bug: v8:10359
Change-Id: If659afb273260fc5e8124b4b617fb4322de473c7
Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel
Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2218059
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68096}
2020-06-02 10:27:17 +00:00
Georg Neis
f3d463923e [turbofan] Fix a typer monotonicity bug
Bug: chromium:1085804
Change-Id: I98f12da97334bd5fd32bd01b1eca56be895dc0a8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2218286
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68095}
2020-06-02 10:23:47 +00:00
Leszek Swirski
e4cc52bfeb [offthread] Don't set marking bit on off-thread large pages
Bug: chromium:1088350
Change-Id: I9dc9f6b323ebe2e751167880acad0eed3584222a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2224227
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68094}
2020-06-02 10:07:47 +00:00
Daniel Bevenius
fcac59ad8a [tools] Add error handling to no_arg_cmd
Currently, it can be little difficult to understand why a command in
lldb-commands.py stops working. For example, at the moment running the
jlh command results in an empty line:

$ lldb --one-line "command script import ../../tools/lldb_commands.py" \
     v8_hello_world
(lldb) br s -f hello-world.cc -l 49
(lldb) jlh script

(lldb)

With this commit this would instead display the following error message:

(lldb) jlh script
Failed to evaluate command
_v8_internal_Print_Object(*(v8::internal::Object**)(*(void*)(script))) :
error: cannot cast from type 'v8::Local<v8::Script>' to pointer type
'void *'

The output is really only two lines but I've wrapped the lines here so
they don't exceed the 72 column width. I'll follow up with a commit to
fix the issue reported.

Change-Id: I634a412b616dad7cadd74dce36418d27c1997777
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2083477
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68093}
2020-06-02 08:01:16 +00:00
jiepan
1f5842ad7a Fix printing order of opcode prefix and space
Leading whitespaces are used to indiate control depth,
opcode prefix should be printed after the whitespaces.

Change-Id: I0a22864d1d5a2e643b15a4c10909c0387922f8e3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2224959
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Jie Pan <jie.pan@intel.com>
Cr-Commit-Position: refs/heads/master@{#68092}
2020-06-02 04:43:55 +00:00
Francis McCabe
cc1b741ef3 Revert "[wasm-simd][liftoff][ia32][x64] Implement bitmask"
This reverts commit d04b5e4755.

Reason for revert: closed the tree with a simd related test failure:
https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64/37487?

Original change's description:
> [wasm-simd][liftoff][ia32][x64] Implement bitmask
> 
> Implements i8x16 i16x8 i32x4 bitmask.
> 
> This was merged into the proposal in
> https://github.com/WebAssembly/simd/pull/201/.
> 
> Bug: v8:9909,v8:10308
> Change-Id: I882f0c2697213cdf593e745112e0897cee252009
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2222607
> Commit-Queue: Zhi An Ng <zhin@chromium.org>
> Reviewed-by: Clemens Backes <clemensb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#68090}

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

Change-Id: I2e090f92d84b8f7d8bbf0725a4f64efaa18f3c65
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:9909, v8:10308
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2223829
Reviewed-by: Francis McCabe <fgm@chromium.org>
Commit-Queue: Francis McCabe <fgm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68091}
2020-06-01 19:26:53 +00:00
Ng Zhi An
d04b5e4755 [wasm-simd][liftoff][ia32][x64] Implement bitmask
Implements i8x16 i16x8 i32x4 bitmask.

This was merged into the proposal in
https://github.com/WebAssembly/simd/pull/201/.

Bug: v8:9909,v8:10308
Change-Id: I882f0c2697213cdf593e745112e0897cee252009
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2222607
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68090}
2020-06-01 18:04:21 +00:00
Ng Zhi An
c4be24e3f7 [wasm-simd][liftoff][arm][arm64] Implement all_true
Implement all_true for arm and arm64. Instruction sequence is the same
as TurboFan.

Bug: v8:9909
Change-Id: Ibe57c6ae6f700dfe5bd23a91a243778b6481c5a0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2222606
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68089}
2020-06-01 17:00:34 +00:00
Zhao Jiazhong
b972069f32 [mips][wasm-simd][liftoff] Implement all_true
Port b37995382a
https://crrev.com/c/2220446

Change-Id: I5de86c0aaf0f9262fd9cd63078c75c0013f5c962
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2223886
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#68088}
2020-06-01 13:20:20 +00:00
George Wort
b4226ceb73 [turbolizer] Hide show-hide-ranges on load
Hide the arrow button div for snapping the live range
panel when a new file is loaded.

Bug: v8:7327
Change-Id: I576444f12a0557cc6716eb0214586b54a042a899
Notry: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2224838
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68087}
2020-06-01 11:22:20 +00:00
v8-ci-autoroll-builder
780a495c58 Update V8 DEPS.
Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/adf56e5..1ec2986

Rolling v8/third_party/depot_tools: b41a5ce..9904485

TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: I07c78b9726b5d0d493698b5a8bda8c7352e030e8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2224134
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@{#68086}
2020-05-31 03:41:54 +00:00
Tobias Tebbi
85bc1b0cab [torque] check FixedArray length
Bug: chromium:1086890
Change-Id: I8345f209d8f4e40a57df166664f403a6cf6c6652
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2222346
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Auto-Submit: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68085}
2020-05-30 14:46:49 +00:00
v8-ci-autoroll-builder
82c3aa45ce Update V8 DEPS.
Rolling v8/build: d9a1240..c523c20

Rolling v8/third_party/aemu-linux-x64: FFXalyWh9_tNZ0e_Opz7FT6mJn6JW0S2ULAX3bOp0xIC..V4ZGjQxGJ00ndsSZd9X90QJnY3N7-ZbuPq57Yk7yv74C

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/4627d3a..adf56e5

Rolling v8/third_party/depot_tools: 090475c..b41a5ce

TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: I9ee39ff2e6b99dbf2297c3240a9d725bd4ad260b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2223318
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@{#68084}
2020-05-30 03:44:56 +00:00
Seth Brenith
50af61718d [torque] Improve field types in Script
This is a partial reland of https://crrev.com/c/v8/v8/+/2199640 .

Change-Id: I9e7506ade0938079166e63926e11b67615f909e7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2216239
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#68083}
2020-05-29 23:52:28 +00:00
Ng Zhi An
2fbef5ec25 [wasm-simd][fuzzer] Add extract lanes
Bug: v8:10180
Change-Id: I1757975da92f6ebcb19b938ec16623137e541b21
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219023
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68082}
2020-05-29 23:43:08 +00:00
Milad Farazmand
847ff2532d PPC/s390: [wasm-simd][liftoff][ia32][x64] Implement all_true
Port b37995382a

Original Commit Message:

    Implement all v8x16 v16x8 v32x4 all_true on ia32 and x64. arm and arm64
    bailout for now, will be implemented later.

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

Change-Id: Ie1c3791387b650a9ff802968002832160ee814dd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2222668
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#68081}
2020-05-29 19:13:47 +00:00
Ng Zhi An
5c1b36e6b7 [clang-tidy] Use explicit default
See
https://chromium.googlesource.com/chromium/src/+/HEAD/styleguide/c++/c++-dos-and-donts.md#prefer-to-use.

Bug: v8:10488
Change-Id: I1e971f57831bbf901c79ff4894a951b8dbe615e6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219410
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68080}
2020-05-29 17:40:08 +00:00
Bill Budge
34ab998f83 [torque] Fix NumberParseFloat regression.
- Changes javascript builtins to use explicit parameters rather than
  variadic, where possible.

tbr=tebbi@chromium.org

Bug: chromium:1085370
Change-Id: I84f01684729b32a9d27df3d021e72c34cc3a8aaf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2215225
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68079}
2020-05-29 17:31:27 +00:00
Milad Farazmand
7a80c7e14b S390: Use load immediate instead of add immediate
Change-Id: I33412dcf08106d717d11ee37d29b2a3c1d608727
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219280
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#68078}
2020-05-29 17:29:57 +00:00
Ng Zhi An
b37995382a [wasm-simd][liftoff][ia32][x64] Implement all_true
Implement all v8x16 v16x8 v32x4 all_true on ia32 and x64. arm and arm64
bailout for now, will be implemented later.

Bug: v8:9909
Change-Id: Icea38c00e33b387191e000b64100251525d8f8da
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2220446
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68077}
2020-05-29 17:26:07 +00:00
Ng Zhi An
91322bbeff [wasm-simd][liftoff][arm64][arm] Implement anytrue
Implementation for for arm and arm64. For arm64, differ from TurboFan
implementation slightly, we don't need to the lane formats to match up,
V4S will work for all the anytrues, this makes the code slightly simpler
(no need to take the vector format as argument).

Bug: v8:9909
Change-Id: I2f40b56e816200f0f29ca151a8d6652e973350bb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2216933
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68076}
2020-05-29 17:04:37 +00:00
Seth Brenith
15f90b0a8d [torque] Improve field types in StackFrameInfo
This is a partial reland of https://crrev.com/c/v8/v8/+/2199640 .

Change-Id: I528e43b8f6c5159148c16f1e2985efce2f1c2ec6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2216307
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#68075}
2020-05-29 16:22:19 +00:00
Anton Bikineev
61f5e380de cppgc: Implement simple support for 4GB heap reservation
This CL is an initial attempt to reuse BoundedPageAllocator for cppgc.
The caged 4GB heap is needed for:
- fast implementation of the generational barrier;
- potential pointer compression project for Oilpan.

Bug: chromium:1029379
Change-Id: Idfb0ab92c988e2045d4a0e9746bedf841d66e282
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2215818
Commit-Queue: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68074}
2020-05-29 15:01:59 +00:00
Milad Farazmand
3e72573ca8 s390: [wasm-simd] Implement vbperm simulation
Change-Id: Ied5f36130aae65631ccb05c3bbef4ca9ab88fbc8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219275
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#68073}
2020-05-29 13:45:39 +00:00
Victor Gomes
0a25442140 [runtime] Refactor ToPropertyDescriptorFastPath to use Handle<Map>
Change-Id: I8d0b270c2cba54f9e4246997cc907daf15dfbbb0
Bug: chromium:1086798
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2222340
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68072}
2020-05-29 13:12:59 +00:00
Manos Koukoutos
79db180b50 [wasm][unittests] Add unittest to catch bug found by fuzzer
Bug: v8:7748, chronium:1080444
Change-Id: I8d7e3cb8b3ea06001794fdda44faaff8e509e1b6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219930
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68071}
2020-05-29 12:41:59 +00:00
Thibaud Michaud
67805eab46 [wasm][interpreter] Fix multi-value stack height issue
Unreachable code may consume values from an empty stack as needed, known
as stack polymorphism. After consuming the values, the stack height
should still be 0, which was incorrectly handled by multi-value blocks.

R=ahaas@chromium.org

Bug: chromium:1085507
Change-Id: Ibf5f2d05bec0fbe029cfa66ee2d07540a370934a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2218033
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68070}
2020-05-29 10:35:04 +00:00
Leszek Swirski
69529052ec [d8] Add --streaming-compile flag for streamer tests
Adds a --streaming-compile flag to d8 so that we can test the streaming/
background compilation (e.g. for performance testing).

This differs from the --stress-background-compile flag in two main ways:

    1) It's not a stress test, so it doesn't run a main-thread compile
       for verification, and
    2) It uses the "proper" API, and (like Chromium) pumps the message
       loop while waiting for compilation to complete, so e.g. GC idle
       tasks can run.

Change-Id: I1ea1badf39d25076d95c8d19f173510da277541f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219937
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68069}
2020-05-29 10:13:03 +00:00
Zhao Jiazhong
3cf5a45247 [mips][wasm-simd][liftoff] Implement int-float/float-int conversion, s8x16.swizzle, anytrue.
port 0f624aaec1
https://crrev.com/c/2208686

port 839e9695ca
https://crrev.com/c/2208610

port 51847be86e
https://crrev.com/c/2216930

Change-Id: I11046631b575a521d11c17ea5c418bfc7d900e8a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219749
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#68068}
2020-05-29 09:56:04 +00:00
Thibaud Michaud
18ffc9fa04 [wasm] Do not conflate single threaded and predictable mode
We currently try to compile more deterministically in single threaded
mode, which unexpectedly degrades performance due to repeated publishing
of single compilation units. We should only pay this cost in predictable
mode.

R=clemensb@chromium.org

Change-Id: I7eb06a0849d3001b99d057adec9850810a1d6a63
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2218288
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68067}
2020-05-29 09:20:14 +00:00
Dominik Inführ
bcd85d34e0 Reset last_stack_frame_info_id to 0 when reaching kSmiMaxValue
Avoid crash when id isn't a valid Smi value anymore.

Bug: v8:10543
Change-Id: Id1be497cf5b8e8c01b97cc5d76f38f73927c6cea
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2214831
Reviewed-by: Simon Zünd <szuend@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68066}
2020-05-29 07:46:40 +00:00
Tobias Tebbi
8877b26810 [torque] avoid using nullptr_t for BottomOffset
This avoids a warning by clang-tidy's modernize-use-nullptr.

Bug: v8:10488
Change-Id: I2820c7e5223101c5e3f7122d2a6a3526d36851e7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2218063
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68065}
2020-05-29 06:51:19 +00:00
v8-ci-autoroll-builder
b34aced82e Update V8 DEPS.
Rolling v8/build: 8275366..d9a1240

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/616e38c..4627d3a

Rolling v8/third_party/depot_tools: 4504fd5..090475c

TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: I41328cbe1a49145fe66452ce0c513244396a805a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2222023
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@{#68064}
2020-05-29 03:51:19 +00:00
Ng Zhi An
3e828fd291 Reland "[wasm-simd] Fix extract lane unsigned extend"
This is a reland of dfdef88547

Original change's description:
> [wasm-simd] Fix extract lane unsigned extend
> 
> The interpreter is missing a static cast when extracting lanes smaller
> than int32_t and doing an unsigned extend. The array in Simd128 is
> signed, so a direct cast to uint32_t will be a signed extension. The fix
> is to, in the unsigned case, cast to unsigned (of the appropriate size)
> first, then cast to uint32_t.
> 
> Change-Id: Ifabb5b9690f08ad505ac94b84908db0970581818
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2216721
> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
> Commit-Queue: Zhi An Ng <zhin@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#68029}

Change-Id: Ica7974a2f1f2a4f07b54cc68f9abcf5e121a9262
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219414
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68063}
2020-05-28 23:24:50 +00:00
Bill Budge
109de46851 Reland "[Promise.any] Re-ship Promise.any"
This reverts commit e1b29ce738.

Reason for revert: The blink_web_tests have been failing for a long time, without turning the bots red. Reverting the revert.

Original change's description:
> Revert "[Promise.any] Re-ship Promise.any"
> 
> This reverts commit 560a681f34.
> 
> Reason for revert: Suspected cause of Blink web_test failures:
> https://ci.chromium.org/p/v8/builders/ci/V8%20Blink%20Linux/4945
> 
> Original change's description:
> > [Promise.any] Re-ship Promise.any
> > 
> > The previous attempt failed because it uncovered an unrelated bug
> > (v8:10560). There are no known problems.
> > 
> > Bug: v8:9808
> > Change-Id: I360917c45d95ba39c8bea80114ea02bc5e1f83ee
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219936
> > Commit-Queue: Marja Hölttä <marja@chromium.org>
> > Reviewed-by: Shu-yu Guo <syg@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#68048}
> 
> TBR=marja@chromium.org,syg@chromium.org
> 
> Change-Id: I0c60e1c230932a8d06bbdd193e8de792e5f54055
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: v8:9808
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2220325
> Reviewed-by: Bill Budge <bbudge@chromium.org>
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#68055}

TBR=bbudge@chromium.org,marja@chromium.org,syg@chromium.org

# Not skipping CQ checks because this is a reland.

Bug: v8:9808
Change-Id: I9d60a5476ec9b027038e0935fa26265cf5122573
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2220330
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68062}
2020-05-28 21:44:25 +00:00
Ng Zhi An
1d551d47e8 [wasm-simd][liftoff][arm][arm64] i32x4<->f32x4 conversions
Bug: v8:9909
Change-Id: Ie69e1656f2bc93dbd4b77f9dd943f07169146fdb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219013
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68061}
2020-05-28 21:02:35 +00:00
Ng Zhi An
5c038c153d [wasm-simd][liftoff][arm][arm64] Implement load splat
Bug: v8:9909
Change-Id: I620eb89b1ec0387aed1b491f819b52043cbeb5d1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2211225
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68060}
2020-05-28 20:51:55 +00:00
Michael Lippautz
3d53d7acad cppgc: Rely on per-heap platform objects
Split platform into a process-global initialization part and per-heap
platform objects.

These platform objects still contain allocators and executors. With
per-heap platforms GetForegroundTaskRunner() returns by definition the
correct runner.

In future, when initialized throuhg V8, an adapter can be used to
translate between the different platforms, avoiding the needed for V8
embedders to provide additional information.

Bug: chromium:1056170
Change-Id: I11bdd15e945687cfbdf38cae4137facb02559e0a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2218030
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68059}
2020-05-28 20:29:55 +00:00
v8-ci-autoroll-builder
58e1b25a6a Update V8 DEPS.
Rolling v8/build: 99ffd3c..8275366

Rolling v8/third_party/aemu-linux-x64: 4xEEbuyLmLA-dGdzewQlaM2km7fPUiGEEdIQJhIK8v4C..FFXalyWh9_tNZ0e_Opz7FT6mJn6JW0S2ULAX3bOp0xIC

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/ae2ed9f..616e38c

Rolling v8/third_party/depot_tools: 8f6bfe3..4504fd5

Rolling v8/third_party/googletest/src: a09ea70..011959a

Rolling v8/third_party/zlib: 94df8b7..f5eca0d

Rolling v8/tools/clang: e34638c..8b9091f

Rolling v8/tools/swarming_client: 7e86362..90c5e17

TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: I8f6a76975cb22d68963f5bf2ebbeef9b33a5c959
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219819
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@{#68058}
2020-05-28 19:20:06 +00:00
Milad Farazmand
138b49c299 [wasm-simd] Fix endianness issue on BitMask interpreter
Change-Id: I92223e6b42a3ab80d0f0a4dab4dc20d7d7f1a6ca
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2220329
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#68057}
2020-05-28 19:00:53 +00:00
Ng Zhi An
9e2608a041 [clang-tidy] Add override to overridden destructors
See
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-override.html
for more on this warning.

Bug: v8:10488
Change-Id: I791966d7971baaa60ec9ac1a765f6fc7529ccac7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219408
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68056}
2020-05-28 18:24:03 +00:00
Bill Budge
e1b29ce738 Revert "[Promise.any] Re-ship Promise.any"
This reverts commit 560a681f34.

Reason for revert: Suspected cause of Blink web_test failures:
https://ci.chromium.org/p/v8/builders/ci/V8%20Blink%20Linux/4945

Original change's description:
> [Promise.any] Re-ship Promise.any
> 
> The previous attempt failed because it uncovered an unrelated bug
> (v8:10560). There are no known problems.
> 
> Bug: v8:9808
> Change-Id: I360917c45d95ba39c8bea80114ea02bc5e1f83ee
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219936
> Commit-Queue: Marja Hölttä <marja@chromium.org>
> Reviewed-by: Shu-yu Guo <syg@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#68048}

TBR=marja@chromium.org,syg@chromium.org

Change-Id: I0c60e1c230932a8d06bbdd193e8de792e5f54055
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:9808
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2220325
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68055}
2020-05-28 17:56:09 +00:00