Commit Graph

52333 Commits

Author SHA1 Message Date
George Wort
883f5f3523 [liftoff][arm] Implement f64 functionality
This implements arithmetic operations on f64, as well as
conditional set for the arm32 port of Liftoff.

Bug: v8:6600
Change-Id: Ia060652e5292ed94da8a0ba656bddbcc13d9f610
Reviewed-on: https://chromium-review.googlesource.com/c/1348349
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57841}
2018-11-26 16:15:40 +00:00
Daniel Clifford
42130fd67a [builtins] Remove obsolete implementation of Array.prototype.slice
In the process, use the correct ArrayPrototype* naming convention for
the slice and splice builtins.

Change-Id: I1f85e5512dbde8f92e7c764aef9f137d0a6693e0
Reviewed-on: https://chromium-review.googlesource.com/c/1350869
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Daniel Clifford <danno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57840}
2018-11-26 16:01:56 +00:00
Mike Stanton
d1b2edbff1 Fix GcStress test failure.
CL "[Cleanup] String::GetChars() should assert against heap allocation"
was missing one DisallowHeapAllocation declaration.

(I had Michi look over the change, as the callstack actually comes from
 the garbage collector. Marja, I put you on TBR).

Thanks all..


TBR=marja@chromium.org

No-tree-checks: true
No-try: true
Bug: v8:8238
Change-Id: I71333124bc4bcef945430fc5242a516b6ed277ff
Reviewed-on: https://chromium-review.googlesource.com/c/1351013
Commit-Queue: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57839}
2018-11-26 15:44:15 +00:00
Clemens Hammacher
6476c47bd9 [wasm][fuzzer] Output table bounds and initializers
For indirect calls, we need to set up the tables correctly. This CL
adds this to the test case generation logic.

R=ahaas@chromium.org

Change-Id: I18a5a8e0659c46daec00d46d02fe50d5d94638d6
Reviewed-on: https://chromium-review.googlesource.com/c/1349985
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57838}
2018-11-26 15:37:00 +00:00
Clemens Hammacher
623f20ff6f [wasm][fuzzer] Fix test generation for indirect calls
Indirect calls rely on fixed signature indexes. Thus make test case
generation output the signatures exactly like they appear in the module.

R=ahaas@chromium.org

Change-Id: I80b088024da759ec87695363aeefb28685e1d704
Reviewed-on: https://chromium-review.googlesource.com/c/1350831
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57837}
2018-11-26 15:33:09 +00:00
Marja Hölttä
e8a1c25f6a [objects.h splitting] Move InstanceType and -Checker
BUG=v8:5402,v8:8238

Change-Id: Idd00fc664da8173612266ba7a976b383bb1f728e
Reviewed-on: https://chromium-review.googlesource.com/c/1349329
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57836}
2018-11-26 15:18:55 +00:00
Ben L. Titzer
99484e23cb [wasm] Intrinsify math imports
This CL adds new Wasm import call kinds that correspond to various
math functions that can be imported from JavaScript, such as trigonometry.
Instead of calling a special import wrapper that converts arguments
to tagged values by boxing, we can now generate calls to little WASM
stubs that contain a single WASM bytecode each.

R=mstarzinger@chromium.org
BUG=v8:8423

Change-Id: I59b1be2dd36d190a8b6c98b88c86cecc0ca7f4a2
Reviewed-on: https://chromium-review.googlesource.com/c/1349279
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57835}
2018-11-26 15:17:51 +00:00
Tobias Tebbi
5d6a735edc Revert "[turbofan] in-block scheduling: schedule non-effect-chain nodes late"
This reverts commit 41ad531f4f.

Reason for revert: https://crbug.com/907498

Original change's description:
> [turbofan] in-block scheduling: schedule non-effect-chain nodes late
> 
> By giving higher priority to processing non-effect-chain nodes, this
> changes the scheduling inside of basic blocks to place nodes before the
> latest possible effect chain node.
> 
> Change-Id: I8b130904a1bb2360b995eb9de4f471a911a4e388
> Reviewed-on: https://chromium-review.googlesource.com/c/1337743
> Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57656}

TBR=mstarzinger@chromium.org,tebbi@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I76e57a25c157beed364455b0f1b55380305ef6c0
Reviewed-on: https://chromium-review.googlesource.com/c/1350989
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57834}
2018-11-26 15:16:46 +00:00
Leszek Swirski
4d15ce3f77 Remove extra no_gc declaration
No-tree-checks: true
No-try: true
Change-Id: I7f2d5806a94f381849e395f590f943eb8b1a0196
Reviewed-on: https://chromium-review.googlesource.com/c/1350994
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57833}
2018-11-26 15:15:40 +00:00
Michael Starzinger
19ddc1f142 [test] Fix jumbo build of test-icache test.
R=leszeks@chromium.org
TEST=cctest/test-icache

No-Tree-Checks: true
Change-Id: Ied26bb04d844a7585444a8bb48e12865133a4e81
Reviewed-on: https://chromium-review.googlesource.com/c/1350990
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57832}
2018-11-26 15:06:07 +00:00
Leszek Swirski
47daa48696 Reland "[parser] Perfect hash for keywords"
This is a reland of ca086a497c

Original change's description:
> [parser] Perfect hash for keywords
> 
> Use gperf to generate a perfect hash table for keyword lookup. Adds a
> python script which munges the output of gperf and adds additional
> cleanup and optimisations.
> 
> Change-Id: I3656a7287dbd0688917893de3a671faef9e4578a
> Reviewed-on: https://chromium-review.googlesource.com/c/1349240
> Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Reviewed-by: Marja Hölttä <marja@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57790}

Change-Id: Ifb53527ba3d0652ea4f5d03740f7c856ad5d91da
Reviewed-on: https://chromium-review.googlesource.com/c/1350121
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57831}
2018-11-26 14:10:24 +00:00
Camillo Bruni
9b8937c9d0 [parser] Clean up parser-base templatized types
Bug: v8:8238
Change-Id: I0f3b8336a63bb4e1859997b7b9f150f1e7b2d988
Reviewed-on: https://chromium-review.googlesource.com/c/1346338
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57830}
2018-11-26 14:06:19 +00:00
Andreas Haas
d86c7e4851 [d8] Make --stress-delay-tasks a d8-specific flag
The flag is only available in d8 and should therefore not be in
flag-definitions.h.

R=clemensh@chromium.org

Bug: v8:8238
Change-Id: Idd69914cea03e736cf3b156b5961d583a7b5352c
Reviewed-on: https://chromium-review.googlesource.com/c/1349244
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57829}
2018-11-26 14:05:14 +00:00
Benedikt Meurer
1bfb02471e [turbofan] Fix types of Promise#catch() and Promise#finally().
We cannot assign a meaningful type to Promise#catch() or
Promise#finally(), since they both return whatever the invocation of
'then' on the receiver returns, and that is monkeypatchable by arbitrary
user JavaScript.

Bug: chromium:908309, v8:7253
Change-Id: Ib15f81c366938a1b1f10be6c6af85c1f3374b898
Reviewed-on: https://chromium-review.googlesource.com/c/1350789
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57828}
2018-11-26 14:04:09 +00:00
Toon Verwaest
9dd8f4e7d8 [parser] Remove forward declarations for dead class DuplicateFinder
Change-Id: Ib584fa4fa38d1f042dc7220f516e35c0619ace45
Reviewed-on: https://chromium-review.googlesource.com/c/1350127
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57827}
2018-11-26 14:03:04 +00:00
Michael Starzinger
4458bef5d4 [test] Improve test-icache by running it iteratively.
R=ulan@chromium.org
BUG=v8:6792,v8:8157

Change-Id: Idf43b4dc74ad7ba89142f2480ed8632adf75f8ec
Reviewed-on: https://chromium-review.googlesource.com/c/1348069
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57826}
2018-11-26 14:01:59 +00:00
Aleksandar Rikalo
75a0133d83 MIPS[64]: Check for stack overflow when pushing arguments in JSConstructStubGeneric.
Addition to d056294.

Bug: chromium:896326
Change-Id: Ie76f6be778e963ad5205a99853f491b164dddf9a
Reviewed-on: https://chromium-review.googlesource.com/c/1349269
Reviewed-by: Predrag Rudic <prudic@wavecomp.com>
Reviewed-by: Sreten Kovacevic <skovacevic@wavecomp.com>
Commit-Queue: Sreten Kovacevic <skovacevic@wavecomp.com>
Cr-Commit-Position: refs/heads/master@{#57825}
2018-11-26 14:00:54 +00:00
Hannes Payer
1abc28e328 [heap] Remove large object tenure limit for now.
Bug: chromium:852420
Change-Id: Ie0a6eeb42b57db2309403acd23e986f73cb33afe
Reviewed-on: https://chromium-review.googlesource.com/c/1350123
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57824}
2018-11-26 13:59:49 +00:00
Jakob Gruber
4a97d53301 [nojit] Remove the ProfileEntryHookStub
The ProfileEntryHookStub is no longer used and can be removed.

Bug: v8:7777, v8:8503
Change-Id: I4ccd75d38cfee3e7963338d5d8213915db9be4a9
Reviewed-on: https://chromium-review.googlesource.com/c/1349191
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57823}
2018-11-26 13:58:43 +00:00
Sigurd Schneider
53dcadfeae [tools] Add script to count lines of code
This script counts lines of code before and after preprocessor expansion.
When running:
  tools/locs.py --build-dir out.gn/repro --smallest --largest --worst
in the v8 directory, it reports:

Processed 1,520 files in 24.62 sec.
src         (  625 files):   365,679 to   53,468,383 ( 146.22x)
third_party (  432 files):   239,081 to    9,502,094 (  39.74x)
gen         (   19 files):    64,040 to    1,415,287 (  22.10x)
total       ( 1520 files): 1,173,349 to  102,831,949 (  87.64x)
test        (  392 files):   489,865 to   37,476,036 (  76.50x)
Largest 3 files after expansion:
   33,495 to      140,401 (   4.19x) gen/torque-generated/builtins-array-from-dsl-gen.cc
  100,014 to      140,111 (   1.40x) ../../test/cctest/gay-precision.cc
  100,014 to      140,110 (   1.40x) ../../test/cctest/gay-shortest.cc
Worst expansion (3 files):
        6 to      100,826 (14403.71x) ../../test/fuzzer/wasm-data-section.cc
        6 to      100,826 (14403.71x) ../../test/fuzzer/wasm-function-sigs-section.cc
        6 to      100,826 (14403.71x) ../../test/fuzzer/wasm-globals-section.cc
Smallest 3 input files:
        0 to            0 (   0.00x) ../../testing/gtest/empty.cc
        1 to            0 (   0.00x) ../../src/x64/simulator-x64.cc
        4 to        4,423 ( 884.60x) ../../buildtools/third_party/libc++/trunk/src/utility.cpp

Notry: true
Change-Id: Ie1da942463d9e6a84338a9bd57d9ddc46d2856dc
Reviewed-on: https://chromium-review.googlesource.com/c/1349571
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57822}
2018-11-26 13:57:39 +00:00
Mike Stanton
92852e9287 [Cleanup] String::GetChars() should assert against heap allocation
R=jkummerow@chromium.org

Bug: v8:8238
Change-Id: Ie28326ebe6c69e194857aed7b5d49cb8e5a40a29
Reviewed-on: https://chromium-review.googlesource.com/c/1349243
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57821}
2018-11-26 13:56:34 +00:00
Jakob Gruber
970fdf3c02 Skip pause-on-oom test in noembed builds
It's been failing for a while, and looks like we reach some arbitrary
heap limit, triggering an early OOM before the debugger hook is set.

Bug: v8:8494
Change-Id: I472dc8955ba2f0eb018ac6e7ca83e4beaaefc318
Reviewed-on: https://chromium-review.googlesource.com/c/1350830
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57820}
2018-11-26 13:55:30 +00:00
Michael Starzinger
28c83375bf [asm.js] Remove dead switch logic helper code.
R=clemensh@chromium.org

Change-Id: I325b10268a9ed9548fd28ecc3e5e2b0959afcdc4
Reviewed-on: https://chromium-review.googlesource.com/c/1350125
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57819}
2018-11-26 13:54:27 +00:00
Toon Verwaest
9ac65ceb2a [parser] Validate patterns non-parenthesized in ValidatePattern
No-Tree-Checks: true
No-Try: true
Change-Id: I8b8651e499c2d862ae9f81a18af11d610214c0cd
Reviewed-on: https://chromium-review.googlesource.com/c/1350118
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57818}
2018-11-26 10:42:05 +00:00
Toon Verwaest
dd0655116a [parser] Delay validating formal parameter initializers
No-Tree-Checks: true
No-Try: true
Change-Id: If9e39eb64db24e7d7dd2ae639d95f750aef04210
Reviewed-on: https://chromium-review.googlesource.com/c/1350119
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57817}
2018-11-26 10:33:13 +00:00
Toon Verwaest
ea82d93113 [parser] Filter property pattern errors in ParseAssignmentExpression
No-Tree-Checks: true
No-Try: true
Change-Id: I88fb20bb78df733fb135d2103b38908926a9d512
Reviewed-on: https://chromium-review.googlesource.com/c/1350115
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57816}
2018-11-26 10:30:53 +00:00
Toon Verwaest
536f62c49a [parser] Relax DCHECK in has_error() case
No-Tree-Checks: true
No-Try: true
Bug: chromium:908231
Change-Id: I1acf33400ad3546974a0ccb5955f8c6966b17dcf
Reviewed-on: https://chromium-review.googlesource.com/c/1350116
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57815}
2018-11-26 10:06:28 +00:00
Marja Hölttä
0453d41885 [iwyu] Include heap-inl.h less.
- Remove heap-inl.h includes from places where it looked unnecessary. (This is a
  non-scientific approach, because it's probably pulled in indirectly anyway.)

- Annotate places which include heap-inl.h because they need heap/ internals.

- ACCESSORS legitimately needs heap-inl.h because of Heap::FromWritableHeapObject.

- Add includes to heap/heap-write-barrier(-inl).h

- A bunch of IWYU fixes discovered when working on this CL (includes which were
  missing because heap-inl.h pulls them in indirectly).

BUG=v8:7490,v8:8238,v8:8499

Change-Id: I00f9a74d430f13d7c080dca77a92b03bcca7ef96
Reviewed-on: https://chromium-review.googlesource.com/c/1349241
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57814}
2018-11-26 09:25:05 +00:00
Toon Verwaest
0b480310ce [parser] Don't rewrite parameters if has_error()
Bug: chromium:908250
Change-Id: I414255f00bf7dcec0cf8b35e314a2b9b78a9116e
Reviewed-on: https://chromium-review.googlesource.com/c/1350117
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57813}
2018-11-26 09:19:05 +00:00
Hannes Payer
2d3a893ae6 [heap] Clear surviving new large objects map after Scavenge.
Bug: chromium:852420
Change-Id: I106b783899cef2f124450f8cc266b3b2ac09b4ae
Reviewed-on: https://chromium-review.googlesource.com/c/1350114
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57812}
2018-11-26 08:58:25 +00:00
Maya Lekova
c8d3d8fb8b Revert "[parser] Perfect hash for keywords"
This reverts commit ca086a497c.

Reason for revert: Seems to be the cause for https://bugs.chromium.org/p/chromium/issues/detail?id=908296

Original change's description:
> [parser] Perfect hash for keywords
> 
> Use gperf to generate a perfect hash table for keyword lookup. Adds a
> python script which munges the output of gperf and adds additional
> cleanup and optimisations.
> 
> Change-Id: I3656a7287dbd0688917893de3a671faef9e4578a
> Reviewed-on: https://chromium-review.googlesource.com/c/1349240
> Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Reviewed-by: Marja Hölttä <marja@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57790}

TBR=marja@chromium.org,leszeks@chromium.org,verwaest@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Ia0cc283f21e9f6793522c46a1fd40ba2d88597fb
Reviewed-on: https://chromium-review.googlesource.com/c/1350113
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57811}
2018-11-26 08:51:57 +00:00
v8-ci-autoroll-builder
f8ec0fd7cc Update V8 DEPS.
Rolling v8/build: b471e77..2339062

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

Change-Id: Id6d0f397d17a6602222e109de565b41ff7451d0b
Reviewed-on: https://chromium-review.googlesource.com/c/1350284
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#57810}
2018-11-26 03:30:09 +00:00
Jakob Kummerow
899bf30462 [ubsan] Port AbstractCode to the new design
Bug: v8:3770
Change-Id: Id515906744a738d5d40dbb6dee15e243623f020c
Reviewed-on: https://chromium-review.googlesource.com/c/1349111
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57809}
2018-11-25 04:45:47 +00:00
v8-ci-autoroll-builder
fd1bc2ba10 Update V8 DEPS.
Rolling v8/build: fa87ce6..b471e77

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

Change-Id: Ie8d912df3b6c2cdb4688fca4070e58734ed412f1
Reviewed-on: https://chromium-review.googlesource.com/c/1350269
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#57808}
2018-11-25 03:39:59 +00:00
Jakob Kummerow
8bb236d7c9 [ubsan] Port FixedArray{,Base} to the new design
Removing the temporarily duplicated classes FixedArrayPtr and
FixedArrayBasePtr.

Bug: v8:3770
Change-Id: I056ad74ff69593e9f134ef5c976766812c4d9275
Reviewed-on: https://chromium-review.googlesource.com/c/1345913
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57807}
2018-11-25 03:08:14 +00:00
Sigurd Schneider
b6815b28e3 Revert "Reland "[heap] Improve embedder tracing during incremental marking""
This reverts commit 81b5f713c8.

Revert "[heap] Cleanup embedder tracing APIs"

This reverts commit ce02d86bf2.

Tbr: mlippautz@chromium.org
Change-Id: I5900ac3c070c93b869c9173316a466d39287713a
Reviewed-on: https://chromium-review.googlesource.com/c/1350111
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57806}
2018-11-24 23:08:49 +00:00
Clemens Hammacher
037eb4f1a3 Reland "[iwyu] Add missing includes"
This is a reland of e8a22a7065

Original change's description:
> [iwyu] Add missing includes
>
> This fixes a presubmit error:
> https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Presubmit/454
>
> It also adds another missing include.
>
> R=machenbach@chromium.org
> CC=caitp@igalia.com
>
> Bug: v8:7490
> Change-Id: I915a5bf431073410a67ff08471fd5e6974e31aa1
> No-Try: true
> No-Tree-Checks: true
> Reviewed-on: https://chromium-review.googlesource.com/c/1346111
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57671}

TBR=clemensh@chromium.org
NOTRY=true
NOTREECHECKS=true

Bug: v8:7490
Change-Id: Id327a36cc5a727e734ea1bb6faf43e592ee2f21c
Reviewed-on: https://chromium-review.googlesource.com/c/1350129
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57805}
2018-11-24 18:16:56 +00:00
Jakob Kummerow
2bec913886 [ubsan] Port BytecodeArray to the new design
Bug: v8:3770
Change-Id: If5328a4c63d8efe0ce7a0c5a744666c79c02e1ee
Reviewed-on: https://chromium-review.googlesource.com/c/1345912
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57804}
2018-11-24 10:30:42 +00:00
Jakob Kummerow
4ff869ed3c [ubsan] Port ByteArray and subclasses to the new design
Bug: v8:3770
Change-Id: I49d4fdc1cac6c4bde81fbe0bf76341be12711109
Reviewed-on: https://chromium-review.googlesource.com/c/1345911
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57803}
2018-11-24 09:29:14 +00:00
v8-ci-autoroll-builder
5b928e40e7 Update V8 DEPS.
Rolling v8/build: cd7b727..fa87ce6

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/4ed4737..17079a5

Rolling v8/third_party/depot_tools: 25c4fce..6c18a1a

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

Change-Id: I2b67323a005e4dea8f3fe5bd36dd5b94c4d4f744
Reviewed-on: https://chromium-review.googlesource.com/c/1349732
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#57802}
2018-11-24 03:30:57 +00:00
Jakob Kummerow
32c7ab30b9 [ubsan] Port FixedDoubleArray and FixedTypedArray*
to the new design.

Bug: v8:3770
Change-Id: I3cd0a66eefefedc98a641494302fc79d897a153a
Reviewed-on: https://chromium-review.googlesource.com/c/1345910
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57801}
2018-11-24 03:18:53 +00:00
Jakob Kummerow
1e04936701 [ubsan] Port remaining FixedArray subclasses to new design
Bug: v8:3770
Change-Id: I06f7fb1b2915d1c87162cb464d0ed34d08516e24
Reviewed-on: https://chromium-review.googlesource.com/c/1345909
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57800}
2018-11-24 02:05:20 +00:00
Jakob Kummerow
2ad4a36c2f [ubsan] Port OrderedHashTable and subclasses to the new design
Bug: v8:3770
Change-Id: I0bac3cc2a0a2c7e6c1cf18e7db00bdffd2d9f7a1
Reviewed-on: https://chromium-review.googlesource.com/c/1345328
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57799}
2018-11-24 01:03:03 +00:00
Caitlin Potter
8a9cbdacad Reland "[builtins] Implement Object.fromEntries"
This is a reland of a5336471f2

Original change's description:
> [builtins] Implement Object.fromEntries
> 
> Adds the Object.fromEntries() method behind
> --harmony-object-from-entries.
> 
> 
> Includes an initial implementation of the new experimental builtin
> Object.fromEntries implemented by Daniel Clifford, and
> has been modified by Caitlin Potter to support a fast case to skip
> the iterator protocol when it can be done unobservably in common cases.
> 
> There are some incidental changes: A number of CSA macros have been
> updated to use TNodes, and some Context arguments have been
> re-arranged to be implicit in Torque.
> 
> 
> There are also a number of mjsunit tests written mirroring and
> expanding on the test262 tests.
> 
> BUG=v8:8021
> 
> Change-Id: I1c12bee8a2f98c6297b77d5d723910a5e3b630cc
> Co-authored-by: Daniel Clifford <danno@chromium.org>
> Co-authored-by: Caitlin Potter <caitp@igalia.com>
> Reviewed-on: https://chromium-review.googlesource.com/c/1337585
> Commit-Queue: Daniel Clifford <danno@chromium.org>
> Reviewed-by: Daniel Clifford <danno@chromium.org>
> Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57667}

Bug: v8:8021
Change-Id: I706e2d87bfc2f688e833c1b7d40ca82f5d80f5a2
Reviewed-on: https://chromium-review.googlesource.com/c/1346630
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Cr-Commit-Position: refs/heads/master@{#57798}
2018-11-23 23:43:44 +00:00
Toon Verwaest
2418d22a37 Revert "[zone] Keep one page when we Zone::Reset for reuse"
This reverts commit 8c359f64e2.

Reason for revert: Tentative revert for ASAN breakage

Original change's description:
> [zone] Keep one page when we Zone::Reset for reuse
> 
> Change-Id: I50c6124d3da5b35d4156c066f38d10d2dc966567
> Reviewed-on: https://chromium-review.googlesource.com/c/1349246
> Reviewed-by: Igor Sheludko <ishell@chromium.org>
> Commit-Queue: Toon Verwaest <verwaest@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57793}

TBR=ishell@chromium.org,verwaest@chromium.org

Change-Id: Iff319b5f0ad1a65b1171d219a02a4a75d33910bd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/1349248
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57797}
2018-11-23 20:44:15 +00:00
Toon Verwaest
4ae9ae50cc [parser] Inline ParseAndClassifyIdentifier, it's smaller
Change-Id: I78dfc1ae0ec7bc47c14d2d525d2f20516e13effa
Reviewed-on: https://chromium-review.googlesource.com/c/1349247
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57796}
2018-11-23 18:00:26 +00:00
Michael Lippautz
ce02d86bf2 [heap] Cleanup embedder tracing APIs
Provide processing scope that makes it impossible to maintain locally
cached wrappers that could get invalidated in Blink and yield in
crashers.

Bug: chromium:843903, v8:8238
Change-Id: I7ba1905f6c77a97bcc61ac42f921dcac4772471f
Reviewed-on: https://chromium-review.googlesource.com/c/1349276
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57795}
2018-11-23 17:40:39 +00:00
Toon Verwaest
b792240658 [parser] Move recording of strict eval arguments to clients
Change-Id: Icbda182a894ce6508efbfa3bdb17ba3adce360c7
Reviewed-on: https://chromium-review.googlesource.com/c/1349573
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57794}
2018-11-23 17:28:28 +00:00
Toon Verwaest
8c359f64e2 [zone] Keep one page when we Zone::Reset for reuse
Change-Id: I50c6124d3da5b35d4156c066f38d10d2dc966567
Reviewed-on: https://chromium-review.googlesource.com/c/1349246
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57793}
2018-11-23 17:20:58 +00:00
Toon Verwaest
e167ad823e [parser] Reduce reliance on ExpressionClassifier to detect pattern errors
Rather check expressions used as patterns directly. Check parentheses by
tagging parenthesized expressions as parenthesized.

This allows us to drop UnexpectedPatternToken and makes it clear why a specific
token is unexpected (because it's invalid in a binding pattern).

This also more uniformly restores messages like "Invalid destructuring
assignment target".

Change-Id: Idd98e9116c85de4c2304cf1fef1baa097b67149d
Reviewed-on: https://chromium-review.googlesource.com/c/1349572
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57792}
2018-11-23 16:59:47 +00:00