Commit Graph

45413 Commits

Author SHA1 Message Date
Adam Klein
d023c69620 [api] Advance deprecation of String::{Utf8,}Value
The chromium callers were updated in https://crrev.com/c/868287,
while the pdfium callers were updated in
https://pdfium-review.googlesource.com/c/pdfium/+/23058.

As a precaution to avoid a repeat of https://crbug.com/803330,
I've manually built pdfium, along with the additional gn flag
"pdf_enable_xfa = true".

Bug: v8:7269, v8:7282
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I5b8cfb629c2b78627447c940a133d75d7ef7c6e9
Reviewed-on: https://chromium-review.googlesource.com/875252
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50821}
2018-01-24 01:16:44 +00:00
Adam Klein
7278b5afb7 [api] Advance deprecation of v8::Message APIs
The calls in Chromium were removed in https://crrev.com/c/865535.

Bug: v8:7269, v8:7276
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Iae9fadead1167363893b258ba2a21710a1e080a8
Reviewed-on: https://chromium-review.googlesource.com/869146
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50820}
2018-01-24 01:14:44 +00:00
Michael Lippautz
64bf1c4fec [object-stats] Record SFI list on Script
Tbr: ulan@chromium.org
Bug: v8:7266
Change-Id: I3bafffafc662856295fa34de2c77e876e3b2a58e
Reviewed-on: https://chromium-review.googlesource.com/881172
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50819}
2018-01-23 22:25:05 +00:00
Dan Elphick
d5dca89b60 [builtins] Fix Array.of crashes by setting length correctly
Before we can set the length of the created array in CSA, first check
that it's possible and will do what we want. I.e. check
a) that the length is writable
b) the backing store is not copy-on-write and
c) the old length is not greater than the new length (as otherwise later
insertion past the end could restore values from the original
constructor).

If not then fall back on Runtime::kSetProperty.

Bug: chromium:804177
Change-Id: Id0e452f9d160704bbd71e87a075ba4e3983729a7
Reviewed-on: https://chromium-review.googlesource.com/880922
Commit-Queue: Dan Elphick <delphick@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50818}
2018-01-23 21:59:16 +00:00
Eugene Ostroukhov
04a06c9e7c [inspector] Make test byte order independent
Change-Id: If0fdc76170ad29b4d3dadddbb32bc87c307c04af
Reviewed-on: https://chromium-review.googlesource.com/881883
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Commit-Queue: Eugene Ostroukhov <eostroukhov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50817}
2018-01-23 20:24:46 +00:00
Ali Ijaz Sheikh
95249bca1f [heap] allocation step should before limit update
Do a step before selecting the limit for the next step. However, as seen
on crbug.com/795323, while this fix makes us more precise in our
accounting, we do ending up seeing steps more frequently. This ends up
invoking the idle scavenger more frequently. To compensate, we adjust
the idle scavenger step size.

Bug: 
Change-Id: I7bc2b1785a564dee27aa3ce6a5a196efe9eb6283
Reviewed-on: https://chromium-review.googlesource.com/838440
Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50816}
2018-01-23 19:32:05 +00:00
Junliang Yan
c13fd598d7 PPC/s390: [assembler] Unify RelocInfo::NONE32 and NONE64
Port d3a4d15f5e

Original Commit Message:

    This reloc mode is never encoded, so there is no reason to
    differentiate between 32 and 64 bit.
    Both are now replaced by RelocInfo::NONE.

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

Change-Id: I9a5369315cc2c966bffd3862d15f29aea08960e4
Reviewed-on: https://chromium-review.googlesource.com/881463
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#50815}
2018-01-23 19:09:25 +00:00
Sigurd Schneider
a9796a1d27 [turbofan] Fix typer bug in Array.p.reduce[Right]
When finding the initial element in A.p.reduce[Right], we did
exclude holes, but did not reflect this is the type, which still
included the hole. This CL inserts a TypeGuard to ensure that
Turbofan knows the initial element is never the hole.

Bug: chromium:804837
Change-Id: Ia118ddafb8e16dd5c02559fa23216c9b139dd59a
Reviewed-on: https://chromium-review.googlesource.com/880967
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50814}
2018-01-23 17:20:17 +00:00
Jaroslav Sevcik
b71133245c [turbofan] Fix dead loop exit removal.
This delays removing dead loop's loop exits after we iterate all uses of
the loop. That way, we avoid mutating the use collection while iterating
it.

Bug: chromium:803022
Change-Id: I17462dd82c3cb78f2f630e5db81d8ccdcc517d83
Reviewed-on: https://chromium-review.googlesource.com/878329
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50813}
2018-01-23 17:07:57 +00:00
Michael Achenbach
ed93f01462 [test] Prepare roll-out of new test runner to local runs
This adds a tri-state flag --infra-staging and --no-infra-staging, which
can be used to explicitly opt in or out of the staging test runner.

If not specified, a new architecture whitelist will enable roll-out per
arch for manual (none CI) runs.

We'll start whitelisting archs in follow ups.

Bug: v8:7343
Change-Id: I1228e48969fd379f5c231a2b8fad4afc01da94c0
Reviewed-on: https://chromium-review.googlesource.com/881169
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50812}
2018-01-23 16:37:47 +00:00
Michael Achenbach
3fa26f4d1b [test] Roll out new test runner to arm64 bots
TBR=sergiyb@chromium.org

Bug: v8:7343
Change-Id: Id17a931e00eda0bf018b5f1cb1cd6bac516ec26d
Reviewed-on: https://chromium-review.googlesource.com/881482
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50811}
2018-01-23 16:20:47 +00:00
Michal Majewski
432668ed32 [test] Add option to disable analysis phase
Introduce option to run fuzzer processor without analysis phase.
It will be used in fuzzing combined tests.

Bug: v8:6917
Change-Id: Ic96d6b8c5a35c81da80340555bdd75c0d518cb5a
Reviewed-on: https://chromium-review.googlesource.com/880948
Commit-Queue: Michał Majewski <majeski@google.com>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50810}
2018-01-23 16:15:58 +00:00
Sigurd Schneider
f3fdcfc1e1 [turbofan] Move allocations to prevent false positives
This CL moves allocations in array-multiple-receiver-maps.js
to prevent gc fuzzing from cleaning out code objects, which
will mess with assertOptimized in the test.

Bug: v8:7338
Change-Id: I9ee88cf5518307ff12302df2fdaca5258c23b779
Reviewed-on: https://chromium-review.googlesource.com/880957
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50809}
2018-01-23 15:41:06 +00:00
Michael Lippautz
40f6a1333f [object-stats] Visualizer: Reset percentages on update
Otherwise stale values are shown in the UI

No-try: true
Bug: v8:7266
Change-Id: I1aaf15d3b54a8d5754ad4eeb72fb9853585c56eb
Reviewed-on: https://chromium-review.googlesource.com/881442
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50808}
2018-01-23 15:32:34 +00:00
Michael Lippautz
546df30bfc [object-stats] Unpack gzipped trace files on the fly
No-try: true
Bug: v8:7266
Change-Id: I9ca2036a54c55c754cc2bb69dcca6157f88ea0fa
Reviewed-on: https://chromium-review.googlesource.com/880960
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50807}
2018-01-23 15:01:02 +00:00
Ben L. Titzer
b008859d9a [wasm] Remove dead WasmCompiledModule::ResetGCModel()
R=clemensh@chromium.org,mstarzinger@chromium.org

Bug: 
Change-Id: I1bc451f4d6f70f69e91217d3e44cecedcbdf07d4
Reviewed-on: https://chromium-review.googlesource.com/880951
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50806}
2018-01-23 14:42:42 +00:00
Ben L. Titzer
79acf57850 [wasm] Move InstanceFinalizer to wasm-objects.cc
As per TODO, this is its rightful place, which gets the module-compiler
out of the business of doing finalization.

R=mstarzinger@chromium.org,clemensh@chromium.org

Bug: v8:7316
Change-Id: Ie419a1e348f14f2613f62fed7083e19365cd9347
Reviewed-on: https://chromium-review.googlesource.com/880950
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50805}
2018-01-23 14:38:51 +00:00
Leszek Swirski
c869d40d5a [ignition] Single-switch generator bytecode
Currently, yields and awaits inside loops compile to bytecode which
switches to the top of the loop header, and switch again once inside the
loop. This is to make loops reducible.

This replaces this switching logic with a single switch bytecode that
directly jumps to the bytecode being resumed. Among other things, this
allows us to no longer maintain the generator state after the switch at
the top of the function, and avoid having to track loop suspend counts.

TurboFan still needs to have reducible loops, so we now insert loop
header switches during bytecode graph building, for suspends that are
discovered to be inside loops during bytecode analysis. We do, however,
do some environment magic across loop headers since we know that we will
continue switching if and only if we reached that loop header via a
generator resume. This allows us to generate fewer phis and tighten
liveness.

Change-Id: Id2720ce1d6955be9a48178322cc209b3a4b8d385
Reviewed-on: https://chromium-review.googlesource.com/866734
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50804}
2018-01-23 14:27:02 +00:00
Michael Achenbach
51a58ac42b [test] Roll out new test runner to mac bots
TBR=sergiyb@chromium.org

Bug: v8:7343
Change-Id: Id2f60f248b40592607a0bf8f74e1169866e317d7
Reviewed-on: https://chromium-review.googlesource.com/880947
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50803}
2018-01-23 14:23:21 +00:00
Clemens Hammacher
7ff1aa63d9 [wasm] Fix code printing for anonymous functions
Anonymous functions have no index, thus we cannot get their source
position table.
Technically, we are not even allowed to call {index()} on anonymous
functions, as this will DCHECK that {index_} contains a value.

R=mstarzinger@chromium.org

Change-Id: I9a8b07cf836671e080cc1784c1712ecd88778972
Reviewed-on: https://chromium-review.googlesource.com/880921
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50802}
2018-01-23 13:45:41 +00:00
Georg Neis
8bfbe25a7c [compiler] Fix typing of NumberToString operator.
It must be monotone.

R=bmeurer@chromium.org

Bug: v8:7354
Change-Id: I08dcd3333518029eef08c074c2b91b5c20ad699e
Reviewed-on: https://chromium-review.googlesource.com/880982
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50801}
2018-01-23 13:23:00 +00:00
Benedikt Meurer
6bcf57ef22 [builtins] Refactor reaction job allocation in PerformPromiseThen.
Reduce the code duplication overhead in the InternalPerformPromiseThen
helper, which saves quite a bit of space and makes code more concise and
readable.

Bug: v8:7253, v8:7310
Change-Id: I64d11661d7258ced32df564d2e83c5ea45955415
Reviewed-on: https://chromium-review.googlesource.com/880722
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50800}
2018-01-23 12:49:18 +00:00
Michael Starzinger
7900db4f9a [wasm] Fix cloned deserialization of JS-to-WASM wrappers.
This fixes a corner-case where deserialization of a module containing
multiple exported functions of the same signature forgot to properly
unprotect the code-space. Test coverage has been added.

R=clemensh@chromium.org
TEST=mjsunit/wasm/compiled-module-serialization
BUG=chromium:804767

Change-Id: I0082303db19bcc14c4de30f29d604665e281d79d
Reviewed-on: https://chromium-review.googlesource.com/880844
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50799}
2018-01-23 12:38:47 +00:00
Ben L. Titzer
66ce6153df [wasm] Reduce usage of frame->wasm_instance()
As part of the effort to despecialize WASM code, convert many uses of
WasmInstanceObject which were simply indirecting through to either
the compiled module or the shared module data with helpers on
the respective Frame objects.

R=mstarzinger@chromium.org

Bug: 
Change-Id: I05bd1a18b1d81cceef8a80d9f6988e4f5d537e66
Reviewed-on: https://chromium-review.googlesource.com/876125
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50798}
2018-01-23 12:20:07 +00:00
Clemens Hammacher
ecb3afcaed [Liftoff] Fill registers as the right type
When spilling a value to the stack, make sure to fill it as the same
type later. Otherwise, we might load garbage from the stack and violate
the assumption that the upper 32 bits of a 64 bit register are zero if
it currently holds a 32 bit value.

R=titzer@chromium.org

Bug: v8:7353, v8:6600
Change-Id: I7f2b1b31b7f3c13aa152c682cb59400fb5a3ebf0
Reviewed-on: https://chromium-review.googlesource.com/880682
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50797}
2018-01-23 11:45:15 +00:00
Leszek Swirski
daff6e7a0d [ignition] Update interrupt budget on suspend
Now that SuspendGenerator returns, we have to update the interrupt
budget during that return to ensure that generators can be optimized.

Bug: chromium:804796
Change-Id: I8a9fa1c2399da81a3c2a7d8a07a774d5648d1c5e
Reviewed-on: https://chromium-review.googlesource.com/880821
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50796}
2018-01-23 11:40:35 +00:00
Michael Lippautz
dfa36e9fab [object-stats] Add unittest for clashing instance types
Bug: v8:7266
Change-Id: I1436d39281caa9daf33289840d19a4a5e1ba476d
Reviewed-on: https://chromium-review.googlesource.com/880843
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50795}
2018-01-23 11:38:15 +00:00
Benedikt Meurer
79e91f0c14 [builtins] Extend the @@species protector to guard Promises.
Use this in the PromiseThen operation to skip the (expensive) lookup in
the SpeciesConstructor operation. This yields in a nice 3-5% improvement
on the bluebird and wikipedia benchmarks, and paves the way for inlining
certain Promise operations into TurboFan optimized code later.

On the micro-benchmark mentioned in the bug (from the findings doc), we
reduce the overall execution time by 25%, which makes sense given that
Promise.prototype.then spends a significant portion of it's time just
figuring out the appropriate constructor.

Bug: v8:7253, v8:7349
Change-Id: Ia1577b59d1b7e4b8dbda83e2186583edab76695a
Reviewed-on: https://chromium-review.googlesource.com/880681
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50794}
2018-01-23 11:32:05 +00:00
Ulan Degenbaev
d5f7d5c487 [wasm] Disable wasm/streaming-error-position for predicatable mode.
The predicatable mode sets --single-threaded flag, which disables
--wasm-async-compilation. The test relies on async compilation.

Change-Id: I49dae829506c69f21f148cc9c9565c136abcda42
Reviewed-on: https://chromium-review.googlesource.com/880842
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50793}
2018-01-23 11:01:54 +00:00
Yang Guo
cdaccc92b8 [test] skip code-coverage-ad-hoc for gc fuzzer.
R=machenbach@chromium.org

Bug: v8:7350
Change-Id: I048ea31afaa6aeb1bee6b9ef91e1afa31324ebcd
Reviewed-on: https://chromium-review.googlesource.com/880624
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50792}
2018-01-23 10:56:13 +00:00
Michael Achenbach
6c389866af [test] Roll out new test runner to windows bots
TBR=sergiyb@chromium.org

Bug: v8:7343
Change-Id: I46d276f16a001651ad36d550df2535fb8b3ba150
Reviewed-on: https://chromium-review.googlesource.com/880584
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50791}
2018-01-23 10:06:36 +00:00
Yang Guo
f9934aa9cf [gyp] move gyp files from src to gypfiles.
Bug: v8:7341
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I90879be3a94745859b7da7c9bb9b6533af11cc2d
Reviewed-on: https://chromium-review.googlesource.com/878221
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50790}
2018-01-23 09:54:36 +00:00
Ulan Degenbaev
15605fe7f7 [wasm] Disable async compilation in single-threaded mode.
Async compilation relies on background tasks, which are not available
in single-threaded mode.

Change-Id: Id47e7f5bd1406a5323d6a770936a23b6839e7936
Reviewed-on: https://chromium-review.googlesource.com/880583
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50789}
2018-01-23 09:43:35 +00:00
Michael Lippautz
c1c7441180 [object-stats] Fix duplicate entries
bug: v8:7266
Change-Id: I8241301c9652e70c88b35ebd057af107a1c05687
Reviewed-on: https://chromium-review.googlesource.com/880622
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50788}
2018-01-23 09:32:05 +00:00
Michael Achenbach
195a74a152 [test] Remove temporary debug output
The extra output on mac was to investigate a bug that's now fixed.

TBR=sergiyb@chromium.org
NOTRY=true

Bug: v8:6927
Change-Id: Iac8074c7e89a987e164f676442da1ed4f93987cc
Reviewed-on: https://chromium-review.googlesource.com/880623
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50787}
2018-01-23 09:23:45 +00:00
Michael Achenbach
bff9d3e4ca [test] Roll out new test runner to remaining linux64 bots
TBR=sergiyb@chromium.org

Bug: v8:7343
Change-Id: Iea94f5b12b48fb6c04fe25b827a30e713fdfb716
Reviewed-on: https://chromium-review.googlesource.com/880582
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50786}
2018-01-23 09:08:01 +00:00
Sigurd Schneider
e2c7eba4ad [turbofan] Refactor handling of framestates in A.p.reduce[Right]
Bug: v8:7340
Change-Id: I7f4df794a57bf5db6a3b611ad76b5ef5c4edba9c
Reviewed-on: https://chromium-review.googlesource.com/878264
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50785}
2018-01-23 09:01:36 +00:00
Michal Majewski
0998eda9a4 [test] Disable reduce result on the main process
Since we're not winning anything by changing the result between
processors on the main process, reduce is noop there and result is
immutable.

Bug: v8:6917
Change-Id: Ieb282e7abd4ab31162aee6b52493a6e1b6a25109
Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/878239
Commit-Queue: Michał Majewski <majeski@google.com>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50784}
2018-01-23 08:58:20 +00:00
Sigurd Schneider
a262b54474 [turbofan] Thread feedback through simplified lowering
Simplified lowering may loose feedback by inserting Checked
conversions for BoundsChecks in case the bounds check gets
optimized away later on.

Bug: v8:7127
Change-Id: I254a29ba4e578d653d1dee2d70582ce0a4b57789
Reviewed-on: https://chromium-review.googlesource.com/878743
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50783}
2018-01-23 08:57:15 +00:00
Sigurd Schneider
7b0e02bc77 [turbofan] Thread feedback through common operator reducer
The common operator reducer was loosing feedback information
when replacing DeoptimizeIf/Unless with DeoptimizeUnless/If nodes.

Bug: v8:7127
Change-Id: I5d6f253ca9dfec04f4e7c8d1485f0ca668a8db95
Reviewed-on: https://chromium-review.googlesource.com/878781
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50782}
2018-01-23 08:54:05 +00:00
Sigurd Schneider
d2681aa448 [turbofan] Widen fast-path of Array.p.reduce[Right]
This allows mixing of smi/object values and adds
support for holey double arrays.

Bug: v8:7340
Change-Id: I7e3a2b0aaa205b7af8c3af615fb9c9a965178b3f
Reviewed-on: https://chromium-review.googlesource.com/878123
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50781}
2018-01-23 08:46:45 +00:00
Sigurd Schneider
9fac6dcb03 [tubofan] Fix performance bug in Array.p.reduce[Right]
This change allows turbofan to store the index variable in
a Word32 integer; my last change caused the index to be
promoted to float64.

Change-Id: Ia60d16461991ae941229f45d393e924d0dca5bbe
Reviewed-on: https://chromium-review.googlesource.com/878160
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50780}
2018-01-23 08:32:50 +00:00
Michael Achenbach
937d161eae [test] Rollout new test runner to linux64 bots
Bug: v8:7343
Change-Id: Ic0b89e2376fc927303a5285cc5b47a1ad4694047
Reviewed-on: https://chromium-review.googlesource.com/878642
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50779}
2018-01-23 07:32:40 +00:00
Georg Neis
f893ee89ea [test] Add JSTest benchmark for array literal spread.
R=bmeurer@chromium.org

Bug: v8:5940
Change-Id: I8ce536f6f82225e8b05ef05a45eb3487360b14a2
Reviewed-on: https://chromium-review.googlesource.com/878126
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50778}
2018-01-23 05:39:30 +00:00
Mike Stanton
0cffbb6639 Update to OWNERS in src/compiler
* Set gdeepti@ as a compiler backend owner.
* Set sigurds@ as a compiler owner.

Change-Id: I0ceb300b6452a36a7f945e92193a3946604c4e51
Reviewed-on: https://chromium-review.googlesource.com/878542
Reviewed-by: Ben Titzer <titzer@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Brad Nelson <bradnelson@chromium.org>
Commit-Queue: Brad Nelson <bradnelson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50777}
2018-01-22 21:22:19 +00:00
Michal Majewski
4b98b79751 [test] Added missing variant generator for unittests
Bug: v8:6917
Change-Id: Ic34afb25b74520303cd9ace987fc18e1535e4147
Reviewed-on: https://chromium-review.googlesource.com/879146
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50776}
2018-01-22 20:23:37 +00:00
Ali Ijaz Sheikh
a2a5a49525 [profiler] specially mark allocations during deopt
Deoptimization may materialize values on the heap, which may get sampled
by the heap profiler. Such samples have imprecise stack. Indicate this.

BUG=v8:7314

Change-Id: I21ab079c36fc0492b05b546cc1d6a8e6c042aeb8
Reviewed-on: https://chromium-review.googlesource.com/877119
Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50775}
2018-01-22 20:05:07 +00:00
Junliang Yan
37cb3f5e6a PPC/s390: [ignition] Make SuspendGenerator return
Port 5cef3ddd5f

Original Commit Message:

    Instead of requiring the pattern that a SuspendGenerator must be
    followed by a Return, make SuspendGenerator return directly. This can,
    in the future, simplify some of the reasoning around generator suspends.

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

Change-Id: Ic967164b40433ed64df5996560490b13d6159a94
Reviewed-on: https://chromium-review.googlesource.com/879223
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#50774}
2018-01-22 19:59:36 +00:00
Michael Lippautz
cddf3e3f07 [object-stats] Add contexts and scope info
Bug: v8:7266
Change-Id: Ibc8df4219ea990c3e1bf7a586356689080ab9eb9
Reviewed-on: https://chromium-review.googlesource.com/879182
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50773}
2018-01-22 18:54:07 +00:00
Eric Holk
7d2be718c6 [compiler] Add kRetpoline support for ia32
This is based on https://crrev.com/c/867063.

R=titzer@chromium.org

Bug: chromium:798964
Change-Id: I3b019040da90acd9541b4ec5c88d07ae81007120
Reviewed-on: https://chromium-review.googlesource.com/876989
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Eric Holk <eholk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50772}
2018-01-22 18:48:12 +00:00