Commit Graph

52526 Commits

Author SHA1 Message Date
v8-ci-autoroll-builder
c2ae5e7744 Update V8 DEPS.
Rolling v8/build: f686dfc..9c85c83

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/4feee58..58f2981

Rolling v8/third_party/depot_tools: d87b096..f28ef98

Rolling v8/tools/clang: 558f684..0dea619

Rolling v8/tools/luci-go:infra/tools/luci/isolate/${platform}: https://chrome-infra-packages.appspot.com/infra/tools/luci/isolate/${platform}/+log/git_rev..git_rev

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

Change-Id: I7dc2bba96c14a275fd728e0567890eb0b21ea795
Reviewed-on: https://chromium-review.googlesource.com/c/1362171
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@{#58034}
2018-12-05 03:31:21 +00:00
Junliang Yan
815c3758b7 s390x: add LoadPC to fix compilation error
R=joransiu@ca.ibm.com

Change-Id: Ia8cb93f4d01e252ec6b3b538f795550768db5726
Reviewed-on: https://chromium-review.googlesource.com/c/1362083
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#58033}
2018-12-05 03:30:16 +00:00
Frank Tang
7866cb2687 [Intl] Add regression test for -u-tz- of Intl.DateTimeFormat
The fix need to be cherrypick from ICU.
Fix in https://github.com/unicode-org/icu/pull/286
Adds regression test for 8469.

Bug: v8:8469
Change-Id: If173058dd1113782fcf2ff5a55f962721f46aba5
Reviewed-on: https://chromium-review.googlesource.com/c/1340733
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58032}
2018-12-05 03:02:24 +00:00
Ben Smith
216fb64816 [wasm] Validate memory.init and memory.drop
The memory.init and memory.drop instructions have a data segment index
that can only be validated by knowing the number of data segments. This
information is provided by the new DataCount section.

Bug: v8:7747
Change-Id: Ie04d57584fe028637f6e931ab53d00abc5b998a4
Reviewed-on: https://chromium-review.googlesource.com/c/1355624
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Ben Smith <binji@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58031}
2018-12-04 22:47:59 +00:00
Junliang Yan
a31338aa08 PPC/s390: [nojit] Refactor CallApiCallback calling convention
Port c6b0e12e4e

Original Commit Message:

    This is the first (and major) step towards converting CallApiCallback
    and CallApiGetter stubs into builtins.

    The CallApiCallbackStub was parameterized with the number of arguments
    passed on the stack. This CL converts the compile-time parameter into
    an explicit runtime parameter, and removes all uses of the stub
    parameter.

    (kCallData and kHolder are now passed on the stack).

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

Change-Id: I171fbb7d37525c2087e5dd9d7ff8fb5f959f2a7a
Reviewed-on: https://chromium-review.googlesource.com/c/1362163
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#58030}
2018-12-04 22:25:35 +00:00
Sigurd Schneider
871e3dea50 Revert "Reland "[code-comments] Put code comments into the code object""
This reverts commit ed3d647284.

Reason for revert: 
https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20noi18n%20-%20debug/24178

Original change's description:
> Reland "[code-comments] Put code comments into the code object"
> 
> This is a reland of e774cffe2b
> 
> This reland disables a test as v8:8548 is blocking it, which was
> broken by a recent CL. CQ did not catch this because the merge-base
> CQ used did not yet contain the CL that caused v8:8548.
> 
> Original change's description:
> > [code-comments] Put code comments into the code object
> >
> > Code comments in the snapshot can now be enabled with gn
> > arg 'v8_enable_snapshot_code_comments'
> >
> > Bug: v8:7989
> > Change-Id: I8bd00cafa63132d00d849394c311ba15e6b6daf3
> > Reviewed-on: https://chromium-review.googlesource.com/c/1329173
> > Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
> > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> > Reviewed-by: Michael Stanton <mvstanton@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#58020}
> 
> TBR=mvstanton@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org,tebbi@chromium.org
> 
> Bug: v8:7989, v8:8548
> Change-Id: I464fc897205fefdf2dfc2eadc54d699c4e08a0e9
> Reviewed-on: https://chromium-review.googlesource.com/c/1361166
> Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
> Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58028}

TBR=mvstanton@chromium.org,mstarzinger@chromium.org,sigurds@chromium.org,jgruber@chromium.org

Change-Id: I1075bb09de7cb8dad71e31ff51a4e7bb6a200a8b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7989, v8:8548
Reviewed-on: https://chromium-review.googlesource.com/c/1362043
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58029}
2018-12-04 21:21:37 +00:00
Sigurd Schneider
ed3d647284 Reland "[code-comments] Put code comments into the code object"
This is a reland of e774cffe2b

This reland disables a test as v8:8548 is blocking it, which was
broken by a recent CL. CQ did not catch this because the merge-base
CQ used did not yet contain the CL that caused v8:8548.

Original change's description:
> [code-comments] Put code comments into the code object
>
> Code comments in the snapshot can now be enabled with gn
> arg 'v8_enable_snapshot_code_comments'
>
> Bug: v8:7989
> Change-Id: I8bd00cafa63132d00d849394c311ba15e6b6daf3
> Reviewed-on: https://chromium-review.googlesource.com/c/1329173
> Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Reviewed-by: Michael Stanton <mvstanton@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58020}

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

Bug: v8:7989, v8:8548
Change-Id: I464fc897205fefdf2dfc2eadc54d699c4e08a0e9
Reviewed-on: https://chromium-review.googlesource.com/c/1361166
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58028}
2018-12-04 20:16:14 +00:00
Sergiy Belozorov
737182a08d [tools] Add v8_linux64_shared_compile_rel to CQ
R=machenbach@chromium.org

No-Try: true
No-Tree-Checks: true
Bug: v8:8532
Change-Id: I42ec138c542f6fd48e52422a7064073d71d65216
Reviewed-on: https://chromium-review.googlesource.com/c/1361062
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58027}
2018-12-04 19:26:43 +00:00
tzik
184e8fb80d Avoid nested RunMicrotasks on d8
%RunMicrotasks() call used to cause a nested RunMicrotasks if it's
called from a microtask, and that breaks its invariants.
This CL fixes it by disabling the nested loop.

Change-Id: I2f4a81be0dbf0554abf6eb41b62c25465338f29a
Reviewed-on: https://chromium-review.googlesource.com/c/1358036
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58026}
2018-12-04 19:14:43 +00:00
Junliang Yan
9583858e9e PPC/s390: Reland "[cpu-profiler] Fix stack iterability for fast C calls with no exit frame"
Port 6c8b410261

Original Commit Message:

    This is a reland of d5f4a33eb8
    Landing with test disabled for now.

    Original change's description:
    > [cpu-profiler] Fix stack iterability for fast C calls with no exit frame
    >
    > Before fast C calls, store the current FP and PC on the isolate. When
    > iterating frames in SafeStackFrameIterator, check if these fields are
    > set and start iterating at the calling frame's FP instead of the current
    > FP, which will be in C++ code. We need to do this because c_entry_fp is
    > not set on the Isolate for Fast-C-Calls because we don't build an exit
    > frame.
    >
    > This change makes stack samples that occur within 'Fast-C-Calls'
    > iterable, meaning we can properly attribute ticks within the JS caller.
    >
    > Fast-C-Calls can't call back into JS code, so we can only ever have one
    > such call on the stack at a time, allowing us to store the FP on the
    > isolate rather than the stack.
    >
    > TBR=v8-mips-ports@googlegroups.com
    >
    > Bug: v8:8464, v8:7202
    > Change-Id: I7bf39eba779dad34754d5759d741c421b362a406
    > Reviewed-on: https://chromium-review.googlesource.com/c/1340241
    > Commit-Queue: Peter Marshall <petermarshall@chromium.org>
    > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    > Reviewed-by: Martyn Capewell <martyn.capewell@arm.com>
    > Reviewed-by: Alexei Filippov <alph@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#57896}

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

Change-Id: Ie82eaa08ba6ceeb0c0a5bb4de251540becf1f05e
Reviewed-on: https://chromium-review.googlesource.com/c/1361422
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#58025}
2018-12-04 18:18:02 +00:00
Clemens Hammacher
7768b245d9 Reland "[wasm][liftoff] Optimize one-armed ifs"
This is a reland of c2aaf0a6fa

Original change's description:
> [wasm][liftoff] Optimize one-armed ifs
> 
> Do not implement one-armed ifs by emulating an empty else branch. In
> Liftoff, we can generate better code and save compile time by handling
> this specially. If the merge point at the end of the if is not reached
> by the if-branch, we do not need to generate any merge code.
> 
> R=titzer@chromium.org
> 
> Bug: v8:6600, v8:8423
> Change-Id: Ie8ea69dd7491f225605a8e1b986d275d869aa90b
> Reviewed-on: https://chromium-review.googlesource.com/c/1356508
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Reviewed-by: Ben Titzer <titzer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57968}

Bug: v8:6600, v8:8423
Change-Id: I6d5eea9f860486768779a33bf6bd7b87cbfc2af0
Reviewed-on: https://chromium-review.googlesource.com/c/1361040
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58024}
2018-12-04 16:44:38 +00:00
Clemens Hammacher
1fba4b7cff [wasm] Simplify type checking for merges
Improve readability by avoiding a helper method. Just read from the
stack directly.

R=titzer@chromium.org

Change-Id: I38c944fac45c721f328a2b7bec3a3f4602f05c05
Reviewed-on: https://chromium-review.googlesource.com/c/1360572
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58023}
2018-12-04 16:39:28 +00:00
Mike Stanton
4ab8c906e1 [Cleanup] String::GetChars() should take a DisallowHeapAllocation ref.
Building on https://chromium-review.googlesource.com/c/v8/v8/+/1349243,
which asserted on calls to GetChars() that weren't in a
DisallowHeapAllocation scope, this CL takes a reference to the scope
in order to provide static protection in all builds.


Bug: v8:8238
Change-Id: I481a1dbbd3ae57eb35c5f828c5e242691635be27
Reviewed-on: https://chromium-review.googlesource.com/c/1354038
Reviewed-by: Marja Hölttä <marja@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@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@{#58022}
2018-12-04 16:07:46 +00:00
Leszek Swirski
25d8187023 Revert "[code-comments] Put code comments into the code object"
This reverts commit e774cffe2b.

Reason for revert: Breaks OptimizeForSize tests https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8928056438104852432/+/steps/OptimizeForSize/0/logs/TestCodeAssemblerCode../0

Original change's description:
> [code-comments] Put code comments into the code object
> 
> Code comments in the snapshot can now be enabled with gn
> arg 'v8_enable_snapshot_code_comments'
> 
> Bug: v8:7989
> Change-Id: I8bd00cafa63132d00d849394c311ba15e6b6daf3
> Reviewed-on: https://chromium-review.googlesource.com/c/1329173
> Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Reviewed-by: Michael Stanton <mvstanton@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58020}

TBR=mvstanton@chromium.org,mstarzinger@chromium.org,sigurds@chromium.org,jgruber@chromium.org

Change-Id: Ie336a99218db4def848bd5c8c58dfb66f0e372b2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7989
Reviewed-on: https://chromium-review.googlesource.com/c/1361165
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58021}
2018-12-04 16:04:47 +00:00
Sigurd Schneider
e774cffe2b [code-comments] Put code comments into the code object
Code comments in the snapshot can now be enabled with gn
arg 'v8_enable_snapshot_code_comments'

Bug: v8:7989
Change-Id: I8bd00cafa63132d00d849394c311ba15e6b6daf3
Reviewed-on: https://chromium-review.googlesource.com/c/1329173
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58020}
2018-12-04 15:49:26 +00:00
Peter Marshall
23b7d95665 [cpu-profiler] Enable TickEvents test
The flakiness of this test was fixed by
https://chromium-review.googlesource.com/c/v8/v8/+/1280436 which removed
calls to StartTickSample() and FinishTickSample() from tests as this
causes a race.

Bug: v8:6133, v8:5193
Change-Id: Ia6bcfa75cce64547b00a185343ada803d082a12e
Reviewed-on: https://chromium-review.googlesource.com/c/1361163
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58019}
2018-12-04 15:37:59 +00:00
Peter Marshall
54ded121ce [unwinder] Add bounds checking to the unwinder API
It's possible that we encounter incorrect SP or FP values while
unwinding the stack. One reason is that third-party code like virus
protection may change the stack. If we encounter values for SP or FP
that don't make sense, we should bail out of unwinding and return false.

Bug: v8:8116, chromium:909957
Change-Id: I630fef3f619382c7035be50b86072be349ed185c
Reviewed-on: https://chromium-review.googlesource.com/c/1358514
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58018}
2018-12-04 15:04:51 +00:00
Tobias Tebbi
9c875d3ea4 Revert "[csa] disable CSA re-scheduling"
This reverts commit 270437fd7a.

Reason for revert: Performance regressions look ok, and we need the change going forward.

Original change's description:
> [csa] disable CSA re-scheduling
> 
> Disable CSA re-scheduling for the branch point, to address performance
> regressions.
> 
> Bug: chromium:907011
> Change-Id: I608ae23c20d8e1dd9a233dcb2d3f4ab4d8a5241e
> Reviewed-on: https://chromium-review.googlesource.com/c/1351009
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57930}

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

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

Bug: chromium:907011
Change-Id: I322f6f3bdd6e833a2a546025995ecdc823961804
Reviewed-on: https://chromium-review.googlesource.com/c/1358513
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58017}
2018-12-04 15:03:46 +00:00
Yang Guo
3d80831d02 [api] deprecate old v8::String::NewFromUtf8
R=delphick@chromium.org

Bug: v8:7281
Change-Id: I4af641218d4646d3cdf3a2776e9bc24141164638
Reviewed-on: https://chromium-review.googlesource.com/c/1357054
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58016}
2018-12-04 14:49:09 +00:00
Yang Guo
e84b92d765 [api] Remove deprecations from before version 7.2
R=delphick@chromium.org

Change-Id: Iad128dc76a8d399bbf18053fc1f32e34fa36c198
Reviewed-on: https://chromium-review.googlesource.com/c/1357056
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58015}
2018-12-04 14:41:12 +00:00
Sergiy Belozorov
bcf79f1cb8 [tools] Add Linux64 - shared bot configs
R=machenbach@chromium.org

Bug: v8:8532
Change-Id: Icbbb7a9de260c8bf29fb13f3f182652b1cb0259a
Reviewed-on: https://chromium-review.googlesource.com/c/1358511
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58014}
2018-12-04 13:59:27 +00:00
Sven Sauleau
9cea188e59 Replace some assertions with their more verbose equivalent
Replaces some DCHECK with their verbose equivalent because it's more
convenient while debugging.

Change-Id: I83c199c389341a68dfccd949e7353ef68ff3b9c2
Reviewed-on: https://chromium-review.googlesource.com/c/1352289
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58013}
2018-12-04 12:19:19 +00:00
Clemens Hammacher
0536ee43db Revert "[wasm][liftoff] Optimize one-armed ifs"
This reverts commit c2aaf0a6fa.

Reason for revert: Benchmarks fail, and ClusterFuzz is not happy (issue 911406, issue 911271)

Original change's description:
> [wasm][liftoff] Optimize one-armed ifs
> 
> Do not implement one-armed ifs by emulating an empty else branch. In
> Liftoff, we can generate better code and save compile time by handling
> this specially. If the merge point at the end of the if is not reached
> by the if-branch, we do not need to generate any merge code.
> 
> R=​titzer@chromium.org
> 
> Bug: v8:6600, v8:8423
> Change-Id: Ie8ea69dd7491f225605a8e1b986d275d869aa90b
> Reviewed-on: https://chromium-review.googlesource.com/c/1356508
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Reviewed-by: Ben Titzer <titzer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57968}

TBR=titzer@chromium.org,clemensh@chromium.org

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

Bug: v8:6600, v8:8423
Change-Id: I5cb3b069f40e34f34da4013e666f6ff293752567
Reviewed-on: https://chromium-review.googlesource.com/c/1360633
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58012}
2018-12-04 11:25:27 +00:00
Clemens Hammacher
541894826b [wasm] Remove dead method and field
R=ahaas@chromium.org

Change-Id: Id8b1dbaf363e7c0b8b0011f5ceb1e77badd622e6
Reviewed-on: https://chromium-review.googlesource.com/c/1360571
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58011}
2018-12-04 10:51:47 +00:00
Camillo Bruni
0d64b2c2ec [parser] Avoid reversing inner PreparseScopeData order
Drive-by-fixes:
- Rename RestoreData to RestoreDataForScope
- Move Scope's private variable declaration to after functions

Change-Id: I349b2fc05cd94d6d7a0745b28b4e66b898b5e147
Reviewed-on: https://chromium-review.googlesource.com/c/1358517
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58010}
2018-12-04 10:39:17 +00:00
Sigurd Schneider
026d47e9d7 [turbofan] Improve TypedOptimization more
This CL improves typed optimization more:
ChangePlainPrimitiveToNumber is only omitted if it is not required.

Change-Id: I5d81537a046c5a5a0c730fcd1e17bbdfda887687
Bug: v8:910562
Reviewed-on: https://chromium-review.googlesource.com/c/1357058
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58009}
2018-12-04 10:16:44 +00:00
Jaroslav Sevcik
a6669bdce7 [constant-tracking] Track constants by default.
It is possible this CL results in various regressions, the idea
is to get some data on where constant tracking helps and where
it regresses.

Bug: v8:8361
Change-Id: I2f291788a8bea03e6eaac9f51564c1da02734d1a
Reviewed-on: https://chromium-review.googlesource.com/c/1347474
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58008}
2018-12-04 10:02:30 +00:00
Michael Achenbach
f3398adf55 [test] Bump shards on slow bot
TBR=sergiyb@chromium.org
NOTRY=true

Change-Id: Ia49bf1d4a096e72c6584297ef5db0eaf85938178
Reviewed-on: https://chromium-review.googlesource.com/c/1360573
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58007}
2018-12-04 08:49:22 +00:00
v8-ci-autoroll-builder
ce76187afc Update V8 DEPS.
Rolling v8/build: 42a08f0..f686dfc

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/6f862e5..4feee58

Rolling v8/third_party/depot_tools: 61ea307..d87b096

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

Change-Id: I35746d4d32d6456ce7bf9320b64efbc2e3f3933a
Reviewed-on: https://chromium-review.googlesource.com/c/1360074
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58006}
2018-12-04 08:41:42 +00:00
Jakob Gruber
c6b0e12e4e [nojit] Refactor CallApiCallback calling convention
This is the first (and major) step towards converting CallApiCallback
and CallApiGetter stubs into builtins.

The CallApiCallbackStub was parameterized with the number of arguments
passed on the stack. This CL converts the compile-time parameter into
an explicit runtime parameter, and removes all uses of the stub
parameter.

Drive-by: The implementation is now mostly consistent across platforms.
Drive-by: Refactor the calling convention to free up two registers
(kCallData and kHolder are now passed on the stack).

Bug: v8:7777
Change-Id: I212dccc2930de89c264a13755918c9fae7842f1f
Reviewed-on: https://chromium-review.googlesource.com/c/1354887
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58005}
2018-12-04 08:38:03 +00:00
Marja Hölttä
f40638d148 [objects.h splitting] Move Dictionary and HashTable related leftovers out of objects-inl.h
For this to work, I had to move PropertyCell out of objects.h too, since
otherwise there would be an inl include cycle which makes the code not compile.

BUG=v8:5402,v8:8238

Change-Id: I3233f86b68c1e2fd32d135fcf0bbba8101af8cb2
Reviewed-on: https://chromium-review.googlesource.com/c/1356510
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58004}
2018-12-04 08:17:30 +00:00
Jakob Kummerow
371ba71f82 [ubsan] Port WeakArrayList to the new design
and also its pure-static subclass PrototypeUsers, whose porting
is a no-op.

Bug: v8:3770
Change-Id: I075806f784a0631058692149e71c45e455e90f73
Reviewed-on: https://chromium-review.googlesource.com/c/1355631
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58003}
2018-12-03 23:35:12 +00:00
Jakob Kummerow
2cae6038c5 [ubsan] Port UncompiledData and PreParsedScopeData
to the new design.

Bug: v8:3770
Change-Id: I8483d47ac77e756395656628a80257e6462de22c
Reviewed-on: https://chromium-review.googlesource.com/c/1355630
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58002}
2018-12-03 21:23:49 +00:00
Junliang Yan
2de45f214c [heap] adjust kMaxRegularHeapObjectSize on ppc64le
This is to address the first issue reported on v8:8453

Page::kPageSize is 524288
MemoryAllocator::GetCommitPageSize() returns 65536 on ppc

ObjectEndOffsetInCodePage() returns 458752
ObjectStartOffsetInCodePage() returns (65536 + 65536) => 131072

Therefore, memory = 327680, which is less than
kMaxRegularHeapObjectSize(507136), which causes the DCHECK to fail.

Bug: v8:8453
Change-Id: I6048192ded4234a6987371ec4d4b2a8553756c25
Reviewed-on: https://chromium-review.googlesource.com/c/1355422
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58001}
2018-12-03 20:46:30 +00:00
Nico Weber
48924ffa0f Make generate_bytecode_builtins_list build-dir-independent.
Bug: chromium:911183
Change-Id: I99552d09e68a6b99e35daf39e15ddf1ef5781baa
Reviewed-on: https://chromium-review.googlesource.com/c/1358701
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58000}
2018-12-03 19:04:22 +00:00
Vasili Skurydzin
366225ad18 s390x, aix, endianness: skip failing js-api test on Aix, s390(x)
architecture.

Bug: v8:8402
Change-Id: I13928b6946b8fa68ccd8d329c8a0856313a10571
Reviewed-on: https://chromium-review.googlesource.com/c/1357159
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#57999}
2018-12-03 18:53:05 +00:00
Joran Siu
0526646d30 s390: Convert CPU Features printf to PrintF
CPU features printout needs to use PrintF macro, in
order for the output to be in correct native encoding.

R=michael_dawson@ca.ibm.com, jyan@ca.ibm.com

Change-Id: If1762e452cdfe8c0ca954676acb20c1e60df8d2f
Reviewed-on: https://chromium-review.googlesource.com/c/1357160
Commit-Queue: Joran Siu <joransiu@ca.ibm.com>
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#57998}
2018-12-03 18:52:00 +00:00
Igor Sheludko
f74dd20208 Fix BigInt builtins and TurboFan support after BigInt header layout change
broken by: [cleanup] Fix kPointerSize usages in src/objects/bigint.*

Bug: v8:8477, v8:8238
Change-Id: If1961ae42e1969d4ee807ea052a9c4cf4f072d0f
Reviewed-on: https://chromium-review.googlesource.com/c/1357046
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57997}
2018-12-03 16:44:09 +00:00
George Wort
bf3cae9ecb [liftoff][arm] Handle trivial case for FloatMax.
Move lhs into dst when lhs == rhs.

Bug: v8:6600, chromium:910223
Change-Id: I5bcb01b57705c52f363a43b2036f0ade0fd451e7
Reviewed-on: https://chromium-review.googlesource.com/c/1357041
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57996}
2018-12-03 14:54:30 +00:00
Clemens Hammacher
558c950454 [Liftoff] Optimize code for returns
Since all other values are not used any more if we return, we don't
need to spill anything (as might happen during {PopToRegister}).
Instead, just load the top stack value into the return register(s).

R=titzer@chromium.org

Bug: v8:6600, v8:8423
Change-Id: Ibfd02d20191459c7b136ab9a48f0cf1a53b3385d
Reviewed-on: https://chromium-review.googlesource.com/c/1358391
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57995}
2018-12-03 14:47:00 +00:00
Toon Verwaest
0ed8017e8a [parser] Further cleanup identifier parsing
Rename ParseIdentifierOrStrictReservedWord to simply ParseIdentifier and
replace the old ParseIdentifier with ParseNonRestrictedIdentifier for the
disallow_restricted_identifier case. It reuses the new ParseIdentifier.

Clients that relied on the is_strict_reserved output parameter can simply check
the token themselves.

Change-Id: I49b096d7ffbfff391483e9c18c9504e5d353e97b
Reviewed-on: https://chromium-review.googlesource.com/c/1357057
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57994}
2018-12-03 12:44:59 +00:00
Toon Verwaest
33c6f1203e [parser] Cleanup property name parsing, introduce token flags
- Rename methods,
- Introduce flags for tokens to lookup IsKeyword and IsPropertyName
- Remove "contextual keyword" leftover code.
- Inline ParsePropertyName into ParsePropertyNameOrPrivatePropertyName
  since public is more likely than private.

Change-Id: Ib7633ef3c46889ecafc7a6c929029845bb8ef15c
Reviewed-on: https://chromium-review.googlesource.com/c/1357052
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57993}
2018-12-03 11:43:33 +00:00
Toon Verwaest
dac7aa0f8c [parser] Cleanup token ranges
Remove IdentifierOrEnum and AwaitOrYield and reduce Callable to exclude enum.

Change-Id: Id80c0c5e7a8d4869ab8d841f3b973ea7c0c844cc
Reviewed-on: https://chromium-review.googlesource.com/c/1357044
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57992}
2018-12-03 10:29:59 +00:00
Toon Verwaest
4679fdd221 [parser] Don't push string literals directly to the FunctionNameInferrer
If they are part of a keyed store they are pushed later using
impl()->PushPropertyName.

Change-Id: I9c104d15722dd59556c04fe3d4b0018c37d0f553
Reviewed-on: https://chromium-review.googlesource.com/c/1357055
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57991}
2018-12-03 10:24:09 +00:00
Stephan Herhut
2394b2683b [regalloc] Speed up state handling
The register allocator spends significant amounts of time on updating
the state of active and inactive live range sets. In many cases, no
update is needed. By precomputing when the next update is due during
state management, we can avoid unnecessary checks. This cuts the time
spent for managing queues in half.

Change-Id: I44074266bed2f09171872a829f115e61608b76c8
Reviewed-on: https://chromium-review.googlesource.com/c/1352308
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Stephan Herhut <herhut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57990}
2018-12-03 10:08:26 +00:00
v8-ci-autoroll-builder
3e9cd32cde Update V8 DEPS.
Rolling v8/build: 8373abc..42a08f0

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

Change-Id: Ia1bc23643a569120a6fb22e912f1b06c8e15679b
Reviewed-on: https://chromium-review.googlesource.com/c/1356913
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@{#57989}
2018-12-03 03:34:01 +00:00
Frank Tang
62915f403e [Intl] Add order check test for Intl.*
Also split out some order check tests.

Bug: v8:5751
Change-Id: I1765d1809b456c43e21d9a379f720a0ea12e794e
Reviewed-on: https://chromium-review.googlesource.com/c/1352283
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57988}
2018-12-02 23:37:49 +00:00
v8-ci-autoroll-builder
98493b9414 Update V8 DEPS.
Rolling v8/build: fe88ff7..8373abc

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

Change-Id: Ib2f4e3846ba51a5ed9d07005ad9d3f8fb0604c74
Reviewed-on: https://chromium-review.googlesource.com/c/1356910
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@{#57987}
2018-12-02 03:30:23 +00:00
Mathias Bynens
e000fa3609 [cctest] Clarify OverrideReadOnlyPropertyOnPrototype setup
The `readonly: true` key-value pair is redundant since it gets
ignored anyhow. This patch removes it.

Also, `configurable: false` is implied when
using `Object.defineProperty` (just like `enumerable: false`
and `writable: false`). Therefore, specifying only `configurable`
but not `enumerable` and `writable` gave the impression that
configurability was somehow the deciding factor for this test.
Instead, the only important data property for this test is
`writable: false`. This patch lists all four data property
attributes explicitly, making it clear that only `writable` has
a “special” value.

Bug: v8:8175, v8:8238
Change-Id: Icfc6262f246712a64cdfcffff7b648f5681a711e
Reviewed-on: https://chromium-review.googlesource.com/c/1357048
Reviewed-by: Caitlin Potter <caitp@igalia.com>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57986}
2018-12-02 02:38:12 +00:00
v8-ci-autoroll-builder
13242e333e Update V8 DEPS.
Rolling v8/build: e066ef7..fe88ff7

Rolling v8/test/wasm-js/data: 2e948dd..76d26bb

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/63d69d7..6f862e5

Rolling v8/third_party/depot_tools: dd53081..61ea307

Rolling v8/tools/clang: 5422fce..558f684

Rolling v8/tools/swarming_client: 157bec8..0e3e1c4

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

Change-Id: I7cfd5de6833e5ad18501f07147c71e61ec392c11
Reviewed-on: https://chromium-review.googlesource.com/c/1356904
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@{#57985}
2018-12-01 03:53:29 +00:00