Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(721)

Issue 2887153004: PPC/s390: [turbofan] Avoid allocating rest parameters for spread calls. (Closed)

Created:
3 years, 7 months ago by JaideepBajwa
Modified:
3 years, 7 months ago
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/heads/master
Project:
v8
Visibility:
Public.

Description

PPC/s390: [turbofan] Avoid allocating rest parameters for spread calls. Port bfa319e5d3f902e504c00af5607117d1eb5d6273 Original Commit Message: We already had an optimization to turn Function.prototype.apply with arguments object, i.e. function foo() { return bar.apply(this, arguments); } into a special operator JSCallForwardVarargs, which avoids the allocation and deconstruction of the arguments object, but just passes along the incoming parameters. We can do the same for rest parameters and spread calls/constructs, i.e. class A extends B { constructor(...args) { super(...args); } } or function foo(...args) { return bar(1, 2, 3, ...args); } where we basically pass along the parameters (plus maybe additional statically known parameters). For this, we introduce a new JSConstructForwardVarargs operator and generalize the CallForwardVarargs builtins that are backing this. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:6407, v8:6278, v8:6344 LOG=N Review-Url: https://codereview.chromium.org/2887153004 Cr-Commit-Position: refs/heads/master@{#45402} Committed: https://chromium.googlesource.com/v8/v8/+/f4da43618c18c0c0f6b3a4b488f822f8d40b04ab

Patch Set 1 #

Patch Set 2 : minor fix #

Unified diffs Side-by-side diffs Delta from patch set Stats (+80 lines, -66 lines) Patch
M src/builtins/ppc/builtins-ppc.cc View 1 2 chunks +28 lines, -32 lines 0 comments Download
M src/builtins/s390/builtins-s390.cc View 1 2 chunks +28 lines, -32 lines 0 comments Download
M src/ppc/interface-descriptors-ppc.cc View 1 chunk +12 lines, -1 line 0 comments Download
M src/s390/interface-descriptors-s390.cc View 1 chunk +12 lines, -1 line 0 comments Download

Messages

Total messages: 7 (3 generated)
JaideepBajwa
ptal
3 years, 7 months ago (2017-05-18 18:43:20 UTC) #1
john.yan
lgtm
3 years, 7 months ago (2017-05-18 18:44:23 UTC) #2
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2887153004/20001
3 years, 7 months ago (2017-05-18 18:44:55 UTC) #4
commit-bot: I haz the power
3 years, 7 months ago (2017-05-18 19:21:13 UTC) #7
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://chromium.googlesource.com/v8/v8/+/f4da43618c18c0c0f6b3a4b488f822f8d40...

Powered by Google App Engine
This is Rietveld 408576698