Commit Graph

45223 Commits

Author SHA1 Message Date
Michal Majewski
50a91fe9ee [test] Fix subtest creation
Update flags before recalculating outcomes.

Bug: v8:6917
Change-Id: I5f54f7d14fd60f7e35a976e5200d3f7f0e74a5b7
Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/876364
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michał Majewski <majeski@google.com>
Cr-Commit-Position: refs/heads/master@{#50731}
2018-01-19 18:37:08 +00:00
Michael Achenbach
ab4b237e48 [test] Skip slow tests on gc fuzzer
TBR=sergiyb@chromium.org
NOTRY=true

Bug: v8:6972
Change-Id: I011302ff740dc65ab6a50545ad6e51a2ee32c1bc
Reviewed-on: https://chromium-review.googlesource.com/876094
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50730}
2018-01-19 18:34:38 +00:00
peterwmwong
c1b89d9f37 [builtins] Re-enable Map and WeakMap constructor fast path.
If an entry may have side effects (non-fast JS Array), restart and add all entries in slow path.

- Move allocating and setting table into AddConstructorEntries.
- Move handling non-object map entries into LoadKeyValue.
- AddConstructorEntry and LoadKeyValue go to a label when adding a map entry may have side effects.

Bug: chromium:798026, chromium:799364
Change-Id: I3c28594fc4a8379a106413e19e6df9e83eeb5278
Reviewed-on: https://chromium-review.googlesource.com/874786
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
Cr-Commit-Position: refs/heads/master@{#50729}
2018-01-19 18:10:48 +00:00
Michal Majewski
61c562b026 [test] Implement gc fuzzer with test processors
Bug: v8:6917
Change-Id: I2a7ecc6897c8ccd6ed862cf2b0b484673ee359f6
Reviewed-on: https://chromium-review.googlesource.com/871310
Commit-Queue: Michał Majewski <majeski@google.com>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50728}
2018-01-19 16:58:49 +00:00
Michael Achenbach
eda125998b [test] Temporarily remove benchmarks from deopt fuzzer
The tests currently time out due to too many deopt points and hence too many
tests generated.

TBR=sergiyb@chromium.org

Bug: v8:6900
Change-Id: I0998097024a4ed9c087728bb5ef288ab17d3371e
Reviewed-on: https://chromium-review.googlesource.com/876322
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50727}
2018-01-19 16:12:58 +00:00
Dan Elphick
08b0ff26c5 Fix Array.of crashing when called with lots of parameters
When the array created would exceed the maximum size for a regular heap
object, instead create it using Runtime::kNewArray directly rather than
via AllocateJSArray.

Bug: chromium:803750
Change-Id: I78cd82edf5a813a2ed69272361e0ca07f864c5ba
Reviewed-on: https://chromium-review.googlesource.com/876011
Commit-Queue: Dan Elphick <delphick@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50726}
2018-01-19 16:11:18 +00:00
Sigurd Schneider
c509d025c7 [turbofan] Inline StringCharCodeAt like Crankshaft did.
This avoids the call to the StringCharCodeAt builtin from
within TurboFan optimized code and instead emits a loop
that does the character load. This (together with previously
reverted CL to the JSCallReducer) almost completely recovers
the performance regression caused when we shipped TurboFan.

Without untrusted code mitigations the benchmark goes from
580ms to roughly 490ms, and with the patch to the JSCallReducer
the time goes down to 280ms, which is very close to what we
had with Crankshaft.

This also renames the LoadFromString helper method in the
EffectControlLinearizer to LoadFromSeqString to make it
clear what it does.

Bug: v8:7326
Change-Id: I6c77209ae01a3eacbd1e8fd40e4ad842eaf1999a
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/876102
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50725}
2018-01-19 15:16:47 +00:00
Michael Lippautz
7015675a44 [object-stats] Allow zooming in histograms
No-try: true
Tbr: cbruni@chromium.org
Bug: v8:7266
Change-Id: I65ad82a8ae7b2b499ba3f2bf9fbec178edf7616a
Reviewed-on: https://chromium-review.googlesource.com/876202
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50724}
2018-01-19 14:37:27 +00:00
Peter Marshall
d84fc353da Reland "[typedarray] Port ConstructByTypedArray to CSA."
This is a reland of a7c91c778c.

Original change's description:
> [typedarray] Port ConstructByTypedArray to CSA.
> 
> This is needed to easily port the constructor dispatcher to CSA.
> 
> Bug: v8:7102
> Change-Id: I9672416495940ca12088a2980a9ecc61364aef9d
> Reviewed-on: https://chromium-review.googlesource.com/785630
> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Commit-Queue: Peter Marshall <petermarshall@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#50671}

Bug: v8:7102
Change-Id: I9d839343d9b95f288f806953455c2c26ca8cab06
Reviewed-on: https://chromium-review.googlesource.com/875031
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50723}
2018-01-19 14:14:56 +00:00
Sigurd Schneider
932dc50fbb [turbofan] Enable Array.p.reduce[Right] for holey arrays
Change-Id: If1a3d08c1fca73234d94db6b527f5d11d10aa6cc
Reviewed-on: https://chromium-review.googlesource.com/867032
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50722}
2018-01-19 13:55:56 +00:00
Michael Achenbach
517221dafd [test] Skip slow test for gc fuzzing
TBR=sergiyb@chromium.org
NOTRY=true

Bug: v8:6972
Change-Id: Iada267047a023cf32e49866dbf46f62311a3445c
Reviewed-on: https://chromium-review.googlesource.com/876123
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50721}
2018-01-19 13:49:26 +00:00
Michael Achenbach
d65b53cf23 [test] Add benchmarks to deopt-fuzzer and remove obsolete configs
This adds the benchmarks suite to the deopt fuzzer and removes the
obsolete deopt configs, which since a while are part of the num-fuzz
configs.

TBR=sergiyb@chromium.org

Bug: v8:6900
Change-Id: I9202e2a66a132eca5940b4444fda97816b034e54
Reviewed-on: https://chromium-review.googlesource.com/876085
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50720}
2018-01-19 13:47:06 +00:00
Andreas Haas
b30330c968 [mips][turbofan] Pass the slot index for the Peek instruction by operand
This is the implementation of crrev.com/c/866721 for mips and mips64.

Drive-by change: I made the slot index calculation on mips the same as
on mips64.

Original description:

At the moment the slot index is encoded in the opcode. This, however,
sets an upper limit the slot index which is lower than what we want to
have (i.e. < 512). With this change we pass the slot index as an
immediate operand, which does not impose limits on the value it
contains.

R=v8-mips-ports@googlegroups.com

Change-Id: I46219b07962eadd174f418cba1ea38b07f9b5e96
Reviewed-on: https://chromium-review.googlesource.com/866723
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com>
Cr-Commit-Position: refs/heads/master@{#50719}
2018-01-19 13:45:16 +00:00
ccyongwang
40eeaefb79 remove SetReference from PersistentValueMapBase.
Bug: v8:5828
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I5aabd10a76cd50fefe0ab50ccf239f562cad1522
Reviewed-on: https://chromium-review.googlesource.com/844038
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50718}
2018-01-19 13:40:51 +00:00
Mathias Bynens
e0e8431d92 [esnext] Implement String.prototype.{trimStart,trimEnd}
Until now, String.prototype.{trimLeft,trimRight} were non-standard
language extensions, required for Web compatibility.

The proposal at https://github.com/tc39/proposal-string-left-right-trim
standardizes this functionality as String.prototype.{trimStart,trimEnd},
and defines String.prototype.{trimLeft,trimRight} as aliases for
backwards compatibility.

This patch implements that proposal behind the --harmony-string-trimming
flag.

Bug: v8:6530
Change-Id: Id21e624c12a79e6b782efb049a48901b9da7db71
Reviewed-on: https://chromium-review.googlesource.com/867044
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50717}
2018-01-19 13:39:46 +00:00
Yang Guo
20ed6786ba Deprecate Makefile.
This is the first step towards getting rid of GYP configs.

R=machenbach@chromium.org

Bug: v8:7335
Change-Id: I688a9ff7a09c7cac67cfef8d74a893f2a6d00a8c
Reviewed-on: https://chromium-review.googlesource.com/876122
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50716}
2018-01-19 13:31:46 +00:00
Michael Achenbach
8124e06993 [test] Prepare rollout of new test-runner features
TBR=sergiyb@chromium.org
NOTRY=true

Bug: v8:6917
Change-Id: Ic4f9d151be887fa5795ebe62dcdd3b849cc176ab
Reviewed-on: https://chromium-review.googlesource.com/875965
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50715}
2018-01-19 13:18:36 +00:00
Michael Lippautz
91618802bf [object-stats] Redo recording of non-existing instance types
- Base recording just on the concept of virtual instance types.
- Re-add dropped types incrementally.

Bug: v8:7266
Change-Id: Ic8209ce8c6067e24536a0c62404e1160f86377db
Reviewed-on: https://chromium-review.googlesource.com/873646
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50714}
2018-01-19 12:20:45 +00:00
Michael Achenbach
cdc6f7e1c6 [test] Add d8_default isolate to fuzzer bundle
TBR=sergiyb@chromium.org
NOTRY=true

Bug: v8:6972
Change-Id: Id1bdaa1fe4cd0a02f1b59eb7b7f4cecda36ded9a
Reviewed-on: https://chromium-review.googlesource.com/876004
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50713}
2018-01-19 11:39:00 +00:00
Mike Stanton
8f8b452fb8 [TurboFan] Enable Array.prototype.some inlining
Along with double holey support.

Bug: v8:1956
Change-Id: Ic7fb233c57cbc3d43a5a6190f5d166686ae86df7
Reviewed-on: https://chromium-review.googlesource.com/874476
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50712}
2018-01-19 11:37:55 +00:00
Michael Achenbach
0ca3078d6f Whitespace change to test fuzzers
TBR=easterbunny

Change-Id: I9f466f6eb0072e6576512d0bb0cead5924a12513
Reviewed-on: https://chromium-review.googlesource.com/875983
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50711}
2018-01-19 11:25:43 +00:00
Michael Achenbach
a751e73725 [test] Add random-gc-stress mode to test runner
TBR=sergiyb@chromium.org

Bug: v8:6972
Change-Id: Ia4225f0a2a102ad6b59d2436d7f32aaee90458e7
Reviewed-on: https://chromium-review.googlesource.com/875962
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50710}
2018-01-19 11:14:15 +00:00
Michael Achenbach
2fe91a91a7 Revert "[turbofan] Inline StringCharCodeAt like Crankshaft did."
This reverts commit 93d67d20ee.

Reason for revert: several layout test failures:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/21062

Original change's description:
> [turbofan] Inline StringCharCodeAt like Crankshaft did.
> 
> This avoids the call to the StringCharCodeAt builtin from
> within TurboFan optimized code and instead emits a loop
> that does the character load. This (together with previously
> reverted CL to the JSCallReducer) almost completely recovers
> the performance regression caused when we shipped TurboFan.
> 
> Without untrusted code mitigations the benchmark goes from
> 580ms to roughly 490ms, and with the patch to the JSCallReducer
> the time goes down to 280ms, which is very close to what we
> had with Crankshaft.
> 
> This also renames the LoadFromString helper method in the
> EffectControlLinearizer to LoadFromSeqString to make it
> clear what it does.
> 
> Bug: v8:7326
> Change-Id: Ibe0ec1847911a234f244bd8dcec6be18b241fda0
> Reviewed-on: https://chromium-review.googlesource.com/873376
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#50702}

TBR=yangguo@chromium.org,bmeurer@chromium.org

Change-Id: I6e909adba82adc46e269ab14426ee24caaca6ff9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7326
Reviewed-on: https://chromium-review.googlesource.com/875963
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50709}
2018-01-19 10:47:46 +00:00
Michael Achenbach
d63c331966 [test] Add more stress options to gc fuzzer
This adds gc stress and scavenge stress to legacy gc fuzzer. Each
flag can be used in separation or combined.

TBR=sergiyb@chromium.org
NOTRY=true

Bug: v8:6972
Change-Id: Id03ef96bd42b77415dd201e7f78b3b42786dd3bc
Reviewed-on: https://chromium-review.googlesource.com/874452
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50708}
2018-01-19 10:34:04 +00:00
Ben L. Titzer
6da9254ccb Reland "[wasm] Fix page size constant + test limits on max pages."
This is a reland of 183bc643b5.

Original change's description:
> [wasm] Fix page size constant + test limits on max pages.
> 
> BUG=chromium:801604
> R=bbudge@chromium.org,titzer@chromium.org
> 
> Change-Id: I5fa57d5f8ea288d7aef7d466cbf11df46c4dcd1d
> Reviewed-on: https://chromium-review.googlesource.com/869468
> Reviewed-by: Ben Titzer <titzer@chromium.org>
> Reviewed-by: Bill Budge <bbudge@chromium.org>
> Commit-Queue: Brad Nelson <bradnelson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#50665}

Bug: chromium:801604
Change-Id: I89943644f5921f8635e62af82bb472c7bfd5e145
Reviewed-on: https://chromium-review.googlesource.com/874696
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50707}
2018-01-19 10:19:32 +00:00
Bill Budge
a9aeaa65e6 [memory] Change OS::Allocate on Windows to not over allocate.
- Changes OS::Allocate to first try an exact size aligned
  allocation, then padded allocations. All padded allocations should
  be trimmed.

Bug: chromium:800511
Change-Id: Iccab2eddbf2a3b08d2b83b95f96c766c9fad7a82
Reviewed-on: https://chromium-review.googlesource.com/875242
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50706}
2018-01-19 10:17:02 +00:00
Yang Guo
2d72051d88 [node] move build path fully into gyp file.
R=machenbach@chromium.org

Bug: v8:6105
Change-Id: Ieb0de4d0ee031d61d7af1a89607bfbcb64151bcb
Reviewed-on: https://chromium-review.googlesource.com/874353
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50705}
2018-01-19 09:58:32 +00:00
Yang Guo
b867d9d57c Update top-level OWNERS.
Change-Id: Ia0d50a989e02e916ff6a65a5d0d6a6fc980c2c80
Reviewed-on: https://chromium-review.googlesource.com/869933
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50704}
2018-01-19 08:37:12 +00:00
Jaroslav Sevcik
476c09886e [turbofan] Fix uint32 mod lowering to pass only 0 or 1 to a branch.
Bug: v8:5267
Change-Id: I7a580b77650452a7cf2151d4faa8c629e18e42d8
Reviewed-on: https://chromium-review.googlesource.com/873915
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50703}
2018-01-19 08:33:21 +00:00
Benedikt Meurer
93d67d20ee [turbofan] Inline StringCharCodeAt like Crankshaft did.
This avoids the call to the StringCharCodeAt builtin from
within TurboFan optimized code and instead emits a loop
that does the character load. This (together with previously
reverted CL to the JSCallReducer) almost completely recovers
the performance regression caused when we shipped TurboFan.

Without untrusted code mitigations the benchmark goes from
580ms to roughly 490ms, and with the patch to the JSCallReducer
the time goes down to 280ms, which is very close to what we
had with Crankshaft.

This also renames the LoadFromString helper method in the
EffectControlLinearizer to LoadFromSeqString to make it
clear what it does.

Bug: v8:7326
Change-Id: Ibe0ec1847911a234f244bd8dcec6be18b241fda0
Reviewed-on: https://chromium-review.googlesource.com/873376
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50702}
2018-01-19 07:35:41 +00:00
v8-autoroll
327a85f71a Update V8 DEPS.
Rolling v8/build: b3a78cd..972ab23

Rolling v8/buildtools: 6fe4a32..437a616

Rolling v8/third_party/android_tools: https://chromium.googlesource.com/android_tools/+log/c78b258..c9f9bbf

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/b4826a5..b4706e7

Rolling v8/tools/clang: 2708887..e80cb0b

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

Change-Id: Ic95248a169651c4730974b310e9a51f590733830
Reviewed-on: https://chromium-review.googlesource.com/874573
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50701}
2018-01-19 05:05:50 +00:00
Sathya Gunasekaran
66caee74e0 [ESNext] Ship optional catch binding
Bug: v8:6889
Change-Id: Id79989b5ea65fa4a622205769e961a6e200641b7
Reviewed-on: https://chromium-review.googlesource.com/874996
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50700}
2018-01-19 00:35:16 +00:00
Malcolm White
982c316403 De/serializes SharedArrayBuffers.
This is the v8 side of changes; blink changes are at https://chromium-review.googlesource.com/c/chromium/src/+/809228

BUG=chromium:716320

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Ia77764aed09dd609bf2304fe3c392a0e8ee16334
Reviewed-on: https://chromium-review.googlesource.com/847337
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Cr-Original-Commit-Position: refs/heads/6.5.123@{#1}
Cr-Original-Branched-From: 2a8e1e4a9470bc3a92c58fde069901497a3f3fed-refs/heads/master@{#50331}
Reviewed-on: https://chromium-review.googlesource.com/854395
Commit-Queue: Malcolm White <malcolmwhite@google.com>
Reviewed-by: Ben Smith <binji@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50699}
2018-01-18 19:55:48 +00:00
Martyn Capewell
db1e370dec [arm64] Remove remaining instances of csp
Remove final csp instances, missed in the earlier patch due to being outside
the arm64 tree.

Bug: v8:6644
Change-Id: I2b5a2716568949740991c368b64c0a06105e4ff2
Reviewed-on: https://chromium-review.googlesource.com/874310
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Martyn Capewell <martyn.capewell@arm.com>
Cr-Commit-Position: refs/heads/master@{#50698}
2018-01-18 18:07:18 +00:00
Michael Achenbach
f2f3a6857e [test] Prepare making stress-marking mode explicit in gc fuzzer
This prepares to add the stress-marking flag on the infra side.

TBR=sergiyb@chromium.org
NOTRY=true

Bug: v8:6972
Change-Id: Ibee30beadb167d06fd7965dfd3cc05fb523158cb
Reviewed-on: https://chromium-review.googlesource.com/874350
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50697}
2018-01-18 17:59:59 +00:00
Clemens Hammacher
1e6d4f16c6 [assembler] [cleanup] Cleanup RelocInfoWriter
Remove an unused constructor and an unused field, and compute a more
tight {kMaxSize}.
Beside being a cleanup, this might sometimes allow us to allocate a
little bit less memory on 32 bit systems.

R=mstarzinger@chromium.org

Change-Id: Ibf8fef231325f1b9047e2c7f4c66430797729fc1
Reviewed-on: https://chromium-review.googlesource.com/873534
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50696}
2018-01-18 17:58:08 +00:00
Clemens Hammacher
478bfc91cd [wasm] Rename index to sig_index in CallIndirectOperand
It took me a while to understand that the {index} is actually a
signature index. This CL changes the name to {sig_index} to make this
more clear.

Drive-by: Fix a CHECK to check the canonical signature index instead of
the original index. This ensures that there is a canonical signature
index in the signature map.
Drive-by^2: Un-templatize a method.

R=titzer@chromium.org

Change-Id: Ifdaec59806c4d5c976170807596503d2874f04e4
Reviewed-on: https://chromium-review.googlesource.com/871190
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50695}
2018-01-18 17:55:38 +00:00
Eric Holk
0484e1f9ca [wasm] add masking for call_indirect
Bug: chromium:798964
Change-Id: I5452775388addb5f4647297d190d88a45eec19bd
Reviewed-on: https://chromium-review.googlesource.com/869134
Commit-Queue: Eric Holk <eholk@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50694}
2018-01-18 17:50:43 +00:00
Ivica Bogosavljevic
a0935c1db0 [GYP]: Fix compilation failure due to missing defines in GYP
Fix 45833d9bb8

The original CL introduced new define V8_ENABLE_ALLOCATION_TIMEOUT
but this change hasn't been ported to GYP. This CL fixed this.

Change-Id: I37f9e958c704f12d5997034f25d216f269cbd25f
Reviewed-on: https://chromium-review.googlesource.com/873913
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50693}
2018-01-18 17:49:39 +00:00
Clemens Hammacher
f78a67782d [Liftoff] Store memory sizes as uint64_t
This prepares a reland of https://crrev.com/c/869468.

Drive-by: Add a static_assert, also to document why
kV8MaxWasmMemoryPages was chosed to be slightly below 2GB.

R=titzer@chromium.org
CC=bradnelson@chromium.org

Bug: v8:6600
Change-Id: I6417bec191803c791fa5b218024ebcfde27e2aea
Reviewed-on: https://chromium-review.googlesource.com/873912
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50692}
2018-01-18 17:39:28 +00:00
peterwmwong
9c5053bf4d [builtins] Re-enable Set and WeakSet constructor fast path.
- Add Map, WeakMap, Set, and WeakSet initial prototype maps to native context.
- Set and WeakSet constructors check whether prototype map differs from initial
  before choosing the fast path.

Bug: chromium:798026
Change-Id: I5f9cc2463f89e17f06a66b565c625fce133d01fb
Reviewed-on: https://chromium-review.googlesource.com/853698
Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50691}
2018-01-18 15:35:47 +00:00
Michael Hablich (vacation)
b3970791e6 Revert "[api] Advance deprecation of v8::Script APIs"
This reverts commit 7dbfec50e3.

Reason for revert: breaks libfuzzer build

Bug: chromium:803330

Original change's description:
> [api] Advance deprecation of v8::Script APIs
> 
> The calls in Chromium were removed in https://crrev.com/c/865160.
> 
> Bug: v8:7269, v8:7273, v8:7274
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
> Change-Id: Id68649c479483679bf97bc66c14ce8dfa3f7d05c
> Reviewed-on: https://chromium-review.googlesource.com/868459
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Commit-Queue: Adam Klein <adamk@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#50663}

TBR=adamk@chromium.org,yangguo@chromium.org

Change-Id: Iaf8ae89da9920c82d162ecb505502d5842d7c9b1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7269, v8:7273, v8:7274
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/873831
Reviewed-by: Michael Hablich (vacation) <hablich@chromium.org>
Commit-Queue: Michael Hablich (vacation) <hablich@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50690}
2018-01-18 14:41:57 +00:00
Clemens Hammacher
431e7c2675 [simulator] [mips64] Sign-extend arguments
On mips64, all arguments must be sign-extended, even unsigned types.

R=mstarzinger@chromium.org
CC=​sreten.kovacevic@mips.com, ivica.bogosavljevic@mips.com

Change-Id: If5229d34e1da684928f54bbcf389bb8e472d7d61
Reviewed-on: https://chromium-review.googlesource.com/868651
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50689}
2018-01-18 14:31:05 +00:00
Marja Hölttä
e4941f76f5 [parser] Follow-up to r50640: add cctest.
This adds a test-preparser cctest corresponding to the regression test added in
https://chromium-review.googlesource.com/865900

BUG=chromium:801772

Change-Id: I33d74e242fd765b91b7c148b9a0af4960a7b05ea
Reviewed-on: https://chromium-review.googlesource.com/870311
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50688}
2018-01-18 14:26:35 +00:00
Martyn Capewell
abe3bcdc3d [arm64] Rename csp to sp
Rename csp to sp and remove support for the stack pointer abstraction and
switching stack pointers.

Bug: v8:6644
Change-Id: I616633aabc1cee9926249fe95ce6c37ed6544fe3
Reviewed-on: https://chromium-review.googlesource.com/870870
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Martyn Capewell <martyn.capewell@arm.com>
Cr-Commit-Position: refs/heads/master@{#50687}
2018-01-18 14:20:40 +00:00
Michael Achenbach
f47c824b8e Revert "[typedarray] Port ConstructByTypedArray to CSA."
This reverts commit a7c91c778c.

Reason for revert: changes a layout test
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/21031

Original change's description:
> [typedarray] Port ConstructByTypedArray to CSA.
> 
> This is needed to easily port the constructor dispatcher to CSA.
> 
> Bug: v8:7102
> Change-Id: I9672416495940ca12088a2980a9ecc61364aef9d
> Reviewed-on: https://chromium-review.googlesource.com/785630
> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Commit-Queue: Peter Marshall <petermarshall@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#50671}

TBR=petermarshall@chromium.org,bmeurer@chromium.org,verwaest@chromium.org

Change-Id: I118a1cb0d873a1d2e159619e5f327f9f6f7974c4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7102
Reviewed-on: https://chromium-review.googlesource.com/873790
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50686}
2018-01-18 14:19:37 +00:00
Clemens Hammacher
af31c67dfe [zone-containers] Clean up ZoneChunkList iterators
Merge all of them to a single implementation, getting rid of all the
duplication.

R=marja@chromium.org

Change-Id: I5201e81ec64f3d7789df5e72bf58c85231cb348c
Reviewed-on: https://chromium-review.googlesource.com/868133
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50685}
2018-01-18 14:11:45 +00:00
Tobias Tebbi
658bd394d4 [turbofan] PersistentMap: Allow hash values larger than 32bit and some cleanup
This works around a bug in the libc++ implementation of bitset
(https://bugs.llvm.org/show_bug.cgi?id=35438) resulting in high
bits outside the bitset leaking through, breaking the ordering
invariant of PersistentMap::iterator. This did not surface so far
because the hash values used in escape analysis so far all only used
32 bits.

Bug: 
Change-Id: I18ce703020bf1fb3e1b412edaa899fa1afe0bba0
Reviewed-on: https://chromium-review.googlesource.com/793613
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50684}
2018-01-18 13:58:15 +00:00
Hannes Payer
8cd72a7182 [heap] Reland register executable MemoryChunks.
Bug: chromium:774108,v8:6792
Change-Id: I4736b86ad5bd5e0777dc7a121023c4ed34d69fb0
Reviewed-on: https://chromium-review.googlesource.com/873170
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50683}
2018-01-18 13:52:05 +00:00
Sigurd Schneider
8432d3815a [turbolizer] Fix scrolling in disassembly view
Bug: v8:7327
Change-Id: Ic33a0d86f055ac5ec3607d8e57d796428f4b9d20
Reviewed-on: https://chromium-review.googlesource.com/873378
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Daniel Clifford <danno@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50682}
2018-01-18 13:47:35 +00:00