Commit Graph

62400 Commits

Author SHA1 Message Date
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
Dominik Inführ
e5c3dd5968 [heap] Finish sweeping in safepoint
Refactor Heap::FinalizeSweeping such that EnsureSweepingCompleted
is executed in a safepoint.

Bug: v8:10315
Change-Id: Iee09765ba5fd35e3e696b018bd616954d609ef72
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2204098
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67827}
2020-05-15 13:29:29 +00:00
Milad Farazmand
b5aa78d0bc PPC: [wasm-simd] Implement simd ReplaceLane
Also modified simd ExtractLane to use the input lane.

Change-Id: Icc40226c1f3e001eb588e8c44570399c19582404
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2199643
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#67826}
2020-05-15 13:26:49 +00:00
Marja Hölttä
780443586a [cleanup] Rename internal fields to match the spec
They're exposed via DevTools.

- [[PromiseStatus]] → [[PromiseState]]
- [[PromiseValue]] → [[PromiseResult]]
- [[GeneratorStatus]] → [[GeneratorState]]

Related CLs:

- Chromium CL temporarily disabling affected tests:
  https://chromium-review.googlesource.com/c/chromium/src/+/2203201
- Chromium CL re-enabling affected tests:
  https://chromium-review.googlesource.com/c/chromium/src/+/2202900

Bug: v8:10506, v8:5416
Change-Id: Id12fb0f2ba2b453139a5d74afff9021108c15f08
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202984
Reviewed-by: Simon Zünd <szuend@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67825}
2020-05-15 13:17:09 +00:00
Richard Stotz
a5038c4228 [wasm][liftoff][x64] Add saturated conversion i32 to f32
Bug: v8:10520
Change-Id: Ief1c2565168529f618fe55feacccc66d8d05376a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2196351
Commit-Queue: Richard Stotz <rstz@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67824}
2020-05-15 13:02:19 +00:00
Georg Neis
349e4ee3fc [turbofan] Make GraphAssembler branching respect typing
GraphAssembler creates Phi nodes and creates additional inputs to them
depending on how many jumps go there. If the typer decorator is active,
it will type the Phi node at creation time. GraphAssembler was not aware
of types (until recently it was not used while the graph is typed) and
did not update the Phi type with each new input. This CL fixes that.

Bug: chromium:1082704
Change-Id: Id94bcda752c7b3dc836eb2b6c6b55b1690185a09
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202978
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67823}
2020-05-15 12:50:11 +00:00
Andreas Haas
6771d3e318 [wasm][liftoff][cleanup] Remove default parameter of GetUnusedRegister
This CL removes the default parameter of GetUnusedRegister to avoid bugs
where the default parameter is used accidentially. With "{}" the default
value of the parameter is easy to write, and also not much more difficult to read.

R=clemensb@chromium.org

Bug: v8:10506
Change-Id: I3debe5eb91578c82abdac81dc6c252435fdf30d6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202991
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67822}
2020-05-15 12:35:29 +00:00
Ulan Degenbaev
3b4bafa5a8 [offthread] Fix a data race in Page::Expand
This is a quick fix that guards the NotifyOldGenerationExpansion call,
which is not thread-safe outside GC.

Bug: v8:10536
Change-Id: Iff42fee24242c2e88e0c814ae41766e97181324a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2204037
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67821}
2020-05-15 12:23:49 +00:00
Lutz Vahl
1b09f6a60f Changed version number to 8.5
Change-Id: I29afdce160a883987495857dd44e14aa8e51e861
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2201141
Reviewed-by: Lutz Vahl <vahl@chromium.org>
Reviewed-by: Michael Hablich <hablich@chromium.org>
Reviewed-by: Liviu Rau <liviurau@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Lutz Vahl <vahl@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67820}
2020-05-15 11:04:29 +00:00
Zhao Jiazhong
c47e1b217d [mips][wasm-simd][liftoff] Implement i64x2 shr_s and shr_u
Port 99a361eec6
https://crrev.com/c/2198456

Change-Id: I5a1b4085de9e41ce122eef12aaaeb3c3c038d27c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2203369
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#67819}
2020-05-15 10:55:49 +00:00
Michael Achenbach
d5f7622136 Add include owners for version changes
NOTRY=true

Change-Id: I3c6ee995634ebd16b9829ca75ae84203ac2c2f35
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202987
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67818}
2020-05-15 10:24:49 +00:00
cjihrig
f23493c9fc Update postmortem metadata generation script
See: https://github.com/nodejs/node/pull/32831
Change-Id: I1e537bf9378156e8c309dbf4e2532257c98ec151
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2191056
Reviewed-by: Joyee Cheung <joyee@igalia.com>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Joyee Cheung <joyee@igalia.com>
Cr-Commit-Position: refs/heads/master@{#67817}
2020-05-15 10:13:49 +00:00
Thibaud Michaud
9694ba868f [wasm][fuzzer] Add static assert to prevent UB
The bool specialization of DataRange::get was removed recently as it is
not used anymore. Add a static assert to ensure that we do not run into
the undefined behavior that this specialization was meant to prevent.

R=clemensb@chromium.org

Change-Id: I43abfe03c6fa4722b1dafc0025eb0bdff5379337
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202979
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67816}
2020-05-15 09:34:49 +00:00
Ng Zhi An
c7928e55ca [wasm-simd] Fix max alignment for load extends
Load extends always load 64-bits. Previously, we were setting the max
alignment to be the size_log_2 of the load_type. For LoadExtends the
load_type indicates what the lane size to be extended is, *NOT* the size
to be loaded.

Bug: chromium:1082848
Change-Id: I0c4115ea6ec916211b03afdb83376ccc05c0c244
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202721
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67815}
2020-05-14 23:16:09 +00:00
Ng Zhi An
c96621243a [clang-tidy] Use auto for readability
This only changes iterator type specifiers and cast expressions.

See
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-auto.html
for more on this warning.

Bug: v8:10488
Change-Id: I1e6747aafb24fd2d9d946e054fb20fbd1d8e5b26
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2191921
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67814}
2020-05-14 22:40:00 +00:00
Ng Zhi An
7afd12e0d8 [clang-tidy] Use auto for readability
This only changes iterator type specifiers and cast expressions.

See
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-auto.html
for more on this warning.

Bug: v8:10488
Change-Id: I26b4f837524c640021e44f39315201173b5867f1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2191348
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67813}
2020-05-14 22:37:29 +00:00
Ross McIlroy
d9828e4553 [Turboprop] Allow removal of multiple unreachable blocks that merge.
The scheduler could schedule unreachable nodes on two basic blocks that
later merge. Update DCHECK in graph-assembler's basic block updater to
only check for the self-containedness of unreachable basic blocks
removed from the schedule after all the blocks have been re-written to
allow for this case.

BUG=chromium:1079446,v8:9684

Change-Id: I91899dbf389e4425542dbd2b1ca95c3f6ad79c05
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2196354
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67812}
2020-05-14 21:22:35 +00:00
Dan Elphick
8686ea8121 [heap] Split out paged-spaces.h
Splits out all of PagedSpace and subclasses into paged-spaces.h. Also
moves CodeObjectRegistry to code-object-registry.h.

Bug: v8:10473, v8:10506
Change-Id: I35fab1e545e958eb32f3e39a5e2ce8fb087c2a53
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2201763
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67811}
2020-05-14 19:25:25 +00:00
Milad Farazmand
b079058b12 PPC/s390: [wasm-simd][liftoff] Implement i64x2 shr_s and shr_u
Port 99a361eec6

Original Commit Message:

    Implementation for x64 and ia32.

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

Change-Id: I2b199a71178a3ebbe488d438b997014303a82d08
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202717
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#67810}
2020-05-14 19:12:05 +00:00
Dominik Inführ
ee68662a33 [heap] Use CAS for incrementing MemoryChunk::live_byte_count_
Experimenting with incrementing live_byte_count_ using a relaxed CAS
operation. If no regression is found, we could get away with background
threads increasing that counter directly, instead of using separate
counters like concurrent markers.

Bug: v8:10315
Change-Id: I2e7a1f941a728f59d6e1fbd686d2eeb01ea4378a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2201765
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67809}
2020-05-14 17:41:55 +00:00