Commit Graph

46984 Commits

Author SHA1 Message Date
Jakob Kummerow
cfc6a5c2c6 Reland: [cleanup] Refactor the Factory
There is no good reason to have the meat of most objects' initialization
logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead,
this CL changes the protocol between Heap and Factory to be AllocateRaw,
and all object initialization work after (possibly retried) successful
raw allocation happens in the Factory.

This saves about 20KB of binary size on x64.

Original review: https://chromium-review.googlesource.com/c/v8/v8/+/959533
Originally landed as r52416 / f9a2e24bbc

Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Id072cbe6b3ed30afd339c7e502844b99ca12a647
Reviewed-on: https://chromium-review.googlesource.com/1000540
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52492}
2018-04-09 19:52:22 +00:00
Junliang Yan
66e03c8832 PPC/s390: [wasm] Merge the WasmContext into WasmInstanceObject
Port a6d974fe00

Original Commit Message:

    This change makes lifetime management of WasmCode much simpler.
    By using the WasmInstanceObject as the context for WASM code execution,
    including the pointer to the memory base and indirect function tables,
    this keeps the instance alive when WASM code is on the stack, since
    the instance object is passed as a parameter and spilled onto the stack.
    This is in preparation of sharing the code between instances and
    isolates.

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

Change-Id: I03c3ecff296cca929c69489e769a5dab60b93830
Reviewed-on: https://chromium-review.googlesource.com/1003117
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#52491}
2018-04-09 19:32:17 +00:00
Junliang Yan
5dd33fdbf2 PPC: Fix SwapP/Float32/Double
Loads/Stores are overflowed by huge offsets in 1 test case.

R=joransiu@ca.ibm.com

Change-Id: Ic9bc019e1f281b4ee0cdf1b88d29ea269197c95d
Reviewed-on: https://chromium-review.googlesource.com/1003173
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#52490}
2018-04-09 19:31:12 +00:00
Junliang Yan
b20264754d PPC/s390: [Liftoff] Implement 64-bit bitwise operations
Port 17bb05f54d

Original Commit Message:

    This adds support for i64.and, i64.or and i64.xor.

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

Change-Id: I48ca8f14cb01444c495731c1c310acd1be59a19e
Reviewed-on: https://chromium-review.googlesource.com/1003118
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#52489}
2018-04-09 19:28:42 +00:00
Jao-ke Chin-Lee
be95ec7953 Generalize default Win10 dimensions.
The Win10 GCE images were recently updated from RS1/14393 to RS2/15063.
Allow tasks triggered via mb to find machines on which to run.

Change-Id: I5a61f7d38d80cb441fa32a4bc9c0c7e23fbba75e
Reviewed-on: https://chromium-review.googlesource.com/1000721
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52488}
2018-04-09 18:53:52 +00:00
Michael Achenbach
74543b0016 Revert "[V8] Share windows runtime dlls with src/build"
This reverts commit 59a5682589.

Reason for revert:
https://build.chromium.org/p/client.v8.fyi/builders/Win%20V8%20FYI%20Release%20%28NVIDIA%29/builds/444

Original change's description:
> [V8] Share windows runtime dlls with src/build
> 
> Bug: chromium:653569
> Change-Id: I2fa288d3281c75d3e5d483fb94d29efe454c633b
> Reviewed-on: https://chromium-review.googlesource.com/1000773
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Commit-Queue: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#52464}

TBR=machenbach@chromium.org,yangguo@chromium.org,jgruber@chromium.org

Change-Id: Ie2fd502eb76d162678b3b90f14989ca74410b5a3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:653569
Reviewed-on: https://chromium-review.googlesource.com/1003192
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52487}
2018-04-09 18:40:04 +00:00
Clemens Hammacher
489a5da9c6 Replace MUST_USE_RESULT by V8_WARN_UNUSED_RESULT
MUST_USE_RESULT was deprecated for some time. This removes it and
replaces all uses by the equivalent V8_WARN_UNUSED_RESULT.

R=mstarzinger@chromium.org

Bug: v8:7570
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I86883218638e64eeeb7a5891904319ed0844a004
Reviewed-on: https://chromium-review.googlesource.com/999533
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52486}
2018-04-09 18:37:02 +00:00
Michael Lippautz
49c406d1f1 [heap] Put minor MC behind a build time flag
gn flag: v8_enable_minor_mc

The default is 'true' until infra is updated to be able to build and
test with it using this flag.

Bug: v8:7638
Change-Id: I7946eb9bf4087c528d1a844b156a726a1c0671bf
Reviewed-on: https://chromium-review.googlesource.com/1000777
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52485}
2018-04-09 17:59:12 +00:00
Deepti Gandluri
79a6079201 [wasm] Implement I64Atomic Binary operations on ARM64
Bug: v8:6532
Change-Id: I3840df75b745790aaa7e9dec7188adccc70627ce
Reviewed-on: https://chromium-review.googlesource.com/998838
Reviewed-by: Ben Smith <binji@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Reviewed-by: Martyn Capewell <martyn.capewell@arm.com>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52484}
2018-04-09 17:06:59 +00:00
Clemens Hammacher
231a96bb72 [wasm] Fix deadlock in async compilation
This fixes a deadlock related to throttling: It can happen that all
background tasks detect that they should not produce more work because
of throttling (!CanAcceptWork()). Reducing the number of running
background tasks is done in a later step (OnBackgroundTaskStopped).
If the finisher task finishes all outstanding units between these two
calls, it will not schedule another background compilation task, but
all background compilation tasks will quit, hence compilation will
never finish.

Fixing this should allow us to reenable the 'wasm-finish-compilation'
test: https://crrev.com/c/999632

R=ahaas@chromium.org

Bug: chromium:824681
Change-Id: I967e4d6b2917d369dd49bb80ce4bef552d10b371
Reviewed-on: https://chromium-review.googlesource.com/1002174
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52483}
2018-04-09 16:42:40 +00:00
Clemens Hammacher
a29a6e8e6a [wasm][cleanup] Always enable throttling
Throttling of background compilation tasks is enabled in all paths
anyway (async compilation, parallel compilation). Hence remove the bool
to control that.

R=ahaas@chromium.org

Change-Id: Id5d4de38d22e1eb63c8864f41c219f4dd28429e0
Reviewed-on: https://chromium-review.googlesource.com/1002814
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52482}
2018-04-09 16:32:39 +00:00
Clemens Hammacher
040a0ab4d4 [wasm] Clean up mutexes in CompilationState
CompilationState had three different mutexes, plus two atomic fields.
Not holding the right mutexes at the right time has already led to
failures. Hence, only use a single mutex to protect all shared state of
the CompilationState.

R=ahaas@chromium.org

Bug: chromium:824681
Change-Id: I2c414f3ddb75e82944621590493fadcbbdfb781c
Reviewed-on: https://chromium-review.googlesource.com/1000783
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52481}
2018-04-09 15:45:26 +00:00
Michael Starzinger
4789c93c2a [wasm] Make {WasmCode::trap_handler_index} private.
R=clemensh@chromium.org

Change-Id: Ib399e6beb1f643ed58d46a19fcaa0e9bf44ba2ea
Reviewed-on: https://chromium-review.googlesource.com/998161
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52480}
2018-04-09 15:07:46 +00:00
Sigurd Schneider
7e0aae9bb9 [deoptimizer] Set FP correctly for Builtin Continuation Frames
This CL ensures that the frame pointer register is set to the innermost
frame for builtin continuations. To make this work, this CL contains a
temporary fix for NotifyDeoptimized, which needs to skip these frames
in order to obtain a valid JavaScript context.

Bug: v8:7584, v8:7639
Change-Id: I8ea318e5441950fdf45d909e1f3ee649daf38dca
Reviewed-on: https://chromium-review.googlesource.com/1001899
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52479}
2018-04-09 14:51:41 +00:00
Sigurd Schneider
4fdafecfeb [deoptimizer] Make deopt stress more effective
This CL adds a forced GC point in Deoptimizer::MaterializeHeapObjects,
which will catch problems with deoptimized frames early and improve
reproducibility.

Bug: v8:7584
Change-Id: Idfad584e821b777542cf8fce673a9080c64d5d7b
Reviewed-on: https://chromium-review.googlesource.com/1002655
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52478}
2018-04-09 14:38:51 +00:00
Michael Starzinger
fa7171c541 [wasm] Remove obsolete {weak_exported_functions} field.
R=clemensh@chromium.org

Change-Id: I51e4210334a50ebb9ed7172c112083d6c3d784d9
Reviewed-on: https://chromium-review.googlesource.com/1000776
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52477}
2018-04-09 14:13:52 +00:00
Sigurd Schneider
e6c4e6d1bf [deoptimizer] Store frame height as proper Smi
For BuiltinContinuationFrames we stored the frame-height as a plain
value, which did not cause problems because height (in bytes) always
looks like a Smi to the GC. This CL introduces proper Smi encoding.

Bug: v8:7584
Change-Id: I5e3c41c2e576926bbb2bad7dbe0f277cc017b495
Reviewed-on: https://chromium-review.googlesource.com/1000782
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52476}
2018-04-09 13:52:01 +00:00
Clemens Hammacher
4fe702806d [wasm] Don't pass rvalue references
std::unique_ptr should never be passed by rvalue reference. This is
also not allowed by our style guide. Instead, just pass it by value.

R=ahaas@chromium.org

Bug: v8:7570
Change-Id: I525d3b4fd88e6ea47b22a517714a713dbb711ef8
Reviewed-on: https://chromium-review.googlesource.com/999419
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52475}
2018-04-09 13:49:01 +00:00
Clemens Hammacher
c65fbba613 [wasm][cleanup] Remove unused GlobalHandleAddress
R=ahaas@chromium.org

Bug: v8:7570
Change-Id: Ib21d96e2b91cac118c79f2969c9fb0d9c80701fe
Reviewed-on: https://chromium-review.googlesource.com/1002175
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52474}
2018-04-09 13:02:47 +00:00
jgruber
05ec0c404a [builtins] Remove unused predicate IsOffHeapSafe
Builtins::IsOffHeapSafe is unused now that embedded builtins are
shipped in the snapshot.

A longer explanation: there used to be a difference between
IsOffHeapSafe and IsIsolateIndependent back at an earlier stage when
we still copied off-heap-safe builtins off the heap on isolate startup.
At that point, off-heap builtins didn't need to be isolate-independent,
e.g. they could still contain embedded external references.
Now that embedded builtins are shipped in the snapshot, this
distinction is no longer needed.

Bug: v8:6666
Change-Id: I0be6120b94b01480262f472f0904ea9037941e2a
Reviewed-on: https://chromium-review.googlesource.com/1002652
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52473}
2018-04-09 12:37:57 +00:00
Michael Achenbach
b8950aaf69 [build] Add MB config for more jumbo builders
NOTRY=true
NOTREECHECKS=true
TBR=sergiyb@chromium.org

Bug: v8:7339
Change-Id: Ie408680f3185f58cd023dcfdb14565e49c28ad0c
Reviewed-on: https://chromium-review.googlesource.com/1002559
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52472}
2018-04-09 11:27:47 +00:00
Kim-Anh Tran
6ed7edf68e [wasm] Add prologue to Liftoff-compiled code for tiering
The prologue checks if optimized code exists, and if not, continues
execution of the current function. Otherwise, it jumps to the address
specified in the native module's code_table.

Also-by: clemensh@chromium.org
Change-Id: If3e76de02115f44ab7758590a949c3f0965a11ca
Reviewed-on: https://chromium-review.googlesource.com/985837
Commit-Queue: Kim-Anh Tran <kimanh@google.com>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52471}
2018-04-09 09:35:37 +00:00
Peter Marshall
9160b83211 [runtime] Use the correct generic construct stub based on harmony flags
We hardcoded this accidentally in the original CL for the turbofan case,
instead we need to call JSConstructStubGeneric() which will return the
correct construct stub based on the harmony_restrict_constructor_return
flag.

Bug: chromium:829899
Change-Id: I6776a5daebd57d8881d926ad68595141312a877d
Reviewed-on: https://chromium-review.googlesource.com/1001893
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52470}
2018-04-09 09:29:07 +00:00
Simon Zünd
c6cb81a884 Adds CSA builtin for abstract TypedArray constructor.
Also removes the JS constructor.

R=jgruber@chromium.org

Bug: v8:7624
Change-Id: I33493ab2fafb35f95fb1822d46d3f249568c0a56
Reviewed-on: https://chromium-review.googlesource.com/999534
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52469}
2018-04-09 08:10:55 +00:00
Andreas Haas
1800e9bb36 [wasm][anyref] Add support for js-to-wasm and wasm-to-js wrappers
R=titzer@chromium.org

Bug: v8:7581
Change-Id: Ib100a45ad51ec6b6a0400cfe97fe918089c04ead
Reviewed-on: https://chromium-review.googlesource.com/998095
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52468}
2018-04-09 08:00:55 +00:00
Vlad Tsyrklevich
563c352466 [CFI] Refactor x64 test use of FUNCTION_CAST
Replace direct calls to generated code with calls using GeneratedCode to
match the rest of v8.

BUG=v8:7164

Change-Id: I5d90bcb6e90d99e105be18886d4844b83f611b95
Reviewed-on: https://chromium-review.googlesource.com/1000416
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52467}
2018-04-09 07:54:56 +00:00
jgruber
4e8d4bda9d Skip debug-stepout-scope-part* on tsan/stress
Remaining tests also lead to OOM, skip all of them on tsan stress
modes.

Bug: v8:7626
Change-Id: Ie2c128b9a718c7c34c974e628ba60e5549ea04fc
Reviewed-on: https://chromium-review.googlesource.com/1002552
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52466}
2018-04-09 07:52:15 +00:00
Ulan Degenbaev
12708c93e1 [heap-profiler] Make WeakMap key edge name more descriptive.
Currently a WeakMap key edge shows up as '<id> / WeakMap'. This patch
changes it to '<id> / key <KeyName> in WeakMap'.

Bug: chromium:827713
Change-Id: I0306bacdc331ab69739be88cf29d16a21187625f
Reviewed-on: https://chromium-review.googlesource.com/992035
Reviewed-by: Alexei Filippov <alph@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52465}
2018-04-09 07:32:20 +00:00
Michael Achenbach
59a5682589 [V8] Share windows runtime dlls with src/build
Bug: chromium:653569
Change-Id: I2fa288d3281c75d3e5d483fb94d29efe454c633b
Reviewed-on: https://chromium-review.googlesource.com/1000773
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52464}
2018-04-09 07:31:15 +00:00
Hannes Payer
001814ee90 [heap] Initialize free space memory in the sweeper.
Bug: chromium:829771
Change-Id: Ia3b6221cdc54c5102760665076f1cb2541d16fb4
Reviewed-on: https://chromium-review.googlesource.com/999634
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52463}
2018-04-09 06:38:20 +00:00
v8-autoroll
b7b9ad61ba Update V8 DEPS.
Rolling v8/build: 30e8660..6ae4520

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/5361d68..1e3e74d

TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org

Change-Id: I5055341de21a09bc3dd221b52b8d655221b0c654
Reviewed-on: https://chromium-review.googlesource.com/1001652
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52462}
2018-04-08 03:50:50 +00:00
v8-autoroll
24e117b5fa Update V8 DEPS.
Rolling v8/build: d1cd744..30e8660

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/aaeb23e..5361d68

Rolling v8/tools/clang: cd83d95..d7c36b0

TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org

Change-Id: I2f99649c97e5e83616822d442c60bcbd1ca9e9b9
Reviewed-on: https://chromium-review.googlesource.com/1000489
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52461}
2018-04-07 03:52:27 +00:00
Daniel Clifford
4aa00d1477 Add new CSA routines needed by Torque
Currently these new functions are unused and untested, but will be used once
Torque is checked in. They are split off into this separate CL to ease rollback
of Torque if required.

Change-Id: If2b96f342011592ae7cd88a4f6d9a4f2acc3643e
Reviewed-on: https://chromium-review.googlesource.com/998171
Commit-Queue: Daniel Clifford <danno@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52460}
2018-04-06 20:58:32 +00:00
Eric Holk
9c9e458377 [wasm] Enable remaining cctests with trap handlers
Bug: v8:5277
Change-Id: I47ad0b7dbd9471e350b7aa1b6dd5ad122b97021a
Reviewed-on: https://chromium-review.googlesource.com/990239
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Eric Holk <eholk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52459}
2018-04-06 18:05:49 +00:00
Myles Borins
9ca75fb635 [time] remove High-resolution PrintError
A DCHECK in TimeTicks::HighResolutionNow was replaced with
a warning to stop systems from crashing. This warning broke
parts of the Node.js test-suite on certain systems.

The warning has been replaced with a comment documenting
this situation and a TODO to ensure we don't lose track
of this code path.

Bug: v8:7617
Bug: chromium:809016
Change-Id: I5e3af8c31817291d264af861514f34e3e1af9af2
Reviewed-on: https://chromium-review.googlesource.com/997153
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Commit-Queue: Myles Borins <mborins@google.com>
Cr-Commit-Position: refs/heads/master@{#52458}
2018-04-06 16:13:45 +00:00
Clemens Hammacher
609c8059b2 Remove redundant WARN_UNUSED_RESULT macro
Replace all uses with V8_WARN_UNUSED_RESULT.
WARN_UNUSED_RESULT was defined in src/base/compiler-specific.h, which
includes include/v8config.h, which already defined
V8_WARN_UNUSED_RESULT.

R=mstarzinger@chromium.org

Bug: v8:7570
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I662072294605036ca5aa0c8fdaa0218ac5d95f23
Reviewed-on: https://chromium-review.googlesource.com/998893
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52457}
2018-04-06 16:06:15 +00:00
Michael Achenbach
1d9b29d5fe [test] Skip flaky test
NOTRY=true
TBR=hablich@chromium.org

Bug: v8:7632
Change-Id: I42e6b3f3585c8a98750ac39de06934174f2a2fa4
Reviewed-on: https://chromium-review.googlesource.com/999417
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52456}
2018-04-06 15:19:34 +00:00
Daniel Clifford
174625c842 Temporarly disable flaky OutOfMemory test
Change-Id: If2a207d97b16bd74c2fd75e2ad9be1ecc921f492
Reviewed-on: https://chromium-review.googlesource.com/998169
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Daniel Clifford <danno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52455}
2018-04-06 15:16:52 +00:00
Leszek Swirski
6bd1d3c280 [objects] Merge SFI outer_scope_info and feedback_metadata
Merge the outer_scope_info and feedback_metadata fields on
SharedFunctionInfo. outer_scope_info is only used during parsing,
and feedback_metadata is only available after compilation, so the
two never exist at the same time. Thus, they can share a field slot.

The exception is un-compiling and re-compiling a function, where we
need the outer_scope_info again. Fortunately, the outer_scope_info
can be re-calculated from the SFI's scope_info.

Bug: v8:7606
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I6b97fefe859e89df75ad870da4a0bfa4b869772a
Reviewed-on: https://chromium-review.googlesource.com/992432
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52454}
2018-04-06 15:06:04 +00:00
jgruber
48d1525daf Skip debug-stepout-scope on tsan/stress
Bug: v8:7626
Change-Id: Ifd6908941b7bc62357c3577bea4a097c45903129
Reviewed-on: https://chromium-review.googlesource.com/998167
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52453}
2018-04-06 15:01:02 +00:00
Alexey Kozyatinskiy
ab61093f68 Reland "[debug] add runtime side effect check for StaCurrentContextSlot"
This is a reland of 0340874be4

Original change's description:
> [debug] add runtime side effect check for StaCurrentContextSlot
> 
> R=yangguo@chromium.org
> 
> Bug: v8:7588
> Change-Id: If78f6dd460c7423923800a98d44520c1bf71663c
> Reviewed-on: https://chromium-review.googlesource.com/996236
> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#52398}

Bug: v8:7588
Change-Id: Ife6b039ea3291103a54ae04c3007fe4610371c3f
Reviewed-on: https://chromium-review.googlesource.com/998801
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52452}
2018-04-06 14:54:43 +00:00
Clemens Hammacher
83fd383b07 [wasm] Simplify background task handling
The maximum number of background tasks to spawn can be computed
right in the constructor of the CompilationState, and is constant
afterwards. Additionally, we ensure to never start more background
tasks than the number of available compilation units.

R=ahaas@chromium.org

Change-Id: I430e9a28a0bd15166ed05d120782f182d10c3e44
Reviewed-on: https://chromium-review.googlesource.com/997652
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52451}
2018-04-06 14:47:21 +00:00
Ben L. Titzer
12e3c96f2a [wasm] Remove WasmToWasm wrapper vestiges
R=mstarzinger@chromium.org

Bug: v8:7424
Change-Id: I5a854d334957c285eebe850024c25d1cdcf71f7f
Reviewed-on: https://chromium-review.googlesource.com/995772
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52450}
2018-04-06 14:45:16 +00:00
Junliang Yan
62896e48da PPC/s390: Reland "[runtime] Remove the construct_stub field of the SFI"
Port b158bfdc2f

Original Commit Message:

    This is a reland of 63ecddc814

    Original change's description:
    > [runtime] Remove the construct_stub field of the SFI
    >
    > Don't dispatch based on the construct_stub field anymore. Rather than
    > read it out and jump to the construct stub, we can switch on the
    > builtin_id.
    >
    > Builtins will always have builtin_id as a Smi, so this signals we need
    > to jump to JSBuiltinsConstructStub. The only exception is for uncompiled
    > functions, which will have kCompileLazy as the builtin_id, but need to
    > jump to the generic stub instead.
    >
    > API function calls will have a FunctionTemplateInfo in the SFI
    > function_data field, and need to go to the builtins stub as well.
    >
    > The final case is everything else, which should go to the generic stub.
    >
    > Bug: v8:7503
    > Change-Id: I14790a5f9784dc0d940bf10a05f5310026e1d482
    > Reviewed-on: https://chromium-review.googlesource.com/980941
    > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    > Commit-Queue: Peter Marshall <petermarshall@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#52345}

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

Change-Id: I53d92ea7326c5a0ffec25eef0972cdeb659848b6
Reviewed-on: https://chromium-review.googlesource.com/998018
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#52449}
2018-04-06 14:26:40 +00:00
Igor Sheludko
e4a72d8b7f [csa] Minor refactoring to prepare for the Object.assign CL.
1) Add exit point parameter to EmitGenericPropertyStore(),
2) carve TryLookupPropertyInSimpleObject() out of TryLookupProperty().

Bug: v8:5988
Change-Id: I6cef48731c27e5bb72dce5eaa0169fbf59787ed7
Reviewed-on: https://chromium-review.googlesource.com/997747
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52448}
2018-04-06 14:25:34 +00:00
v8-autoroll
fb0bc36be2 Update V8 DEPS.
Rolling v8/build: 647f86b..d1cd744

Rolling v8/buildtools: 3748a2a..10d701f

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/b1c9ad5..aaeb23e

Rolling v8/tools/clang: 82ac1c9..cd83d95

TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org

Change-Id: Ib6e4745827cc54412062558c1f7272fc56143518
Reviewed-on: https://chromium-review.googlesource.com/999329
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52447}
2018-04-06 14:22:44 +00:00
Igor Sheludko
f018cebf38 [csa] Fix incorrect usages of SelectTaggedConstant() and drop it.
... in favor of SelectConstant().

Bug: chromium:829679
Change-Id: Ic7cc887254b4f6b29339b06c5782d71f77d3c9a5
Reviewed-on: https://chromium-review.googlesource.com/999601
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52446}
2018-04-06 13:54:02 +00:00
Clemens Hammacher
9136841f58 [wasm] Eliminate nondeterminism if requested
If --wasm-num-compilation-tasks is set to 0, we spawn all background
tasks as foreground tasks. Semantically, they are still treated like
background tasks, but they will execute interleaved with the foreground
tasks. This should not deadlong since all foreground tasks eventually
return to the event loop.

R=ahaas@chromium.org

Bug: chromium:829681
Change-Id: Id57cbb10157c085acd57a3d30a0a43c824a64591
Reviewed-on: https://chromium-review.googlesource.com/999594
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52445}
2018-04-06 13:40:23 +00:00
Sergiy Byelozyorov
87f9c1483c Suppress running find_bad_constructs when testing V8 standalone
R=machenbach@chromium.org

Change-Id: I45a6b7ef7b185c0bc05185672383c682b6e1e798
Reviewed-on: https://chromium-review.googlesource.com/998153
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52444}
2018-04-06 13:24:30 +00:00
Yang Guo
aa3fb5d85c Update tools/node/fetch_deps to new googletest location.
TBR=machenbach@chromium.org

Change-Id: Icbba06aefb728ebc7e2f04fa9992d51e0589a33b
Reviewed-on: https://chromium-review.googlesource.com/999596
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52443}
2018-04-06 13:23:20 +00:00