Contact emails

[email protected]

Spec

https://people.mozilla.org/~jorendorff/es6-draft.html sections 9.2.13, 
14.1.6, 14.1.21, (and others)

Summary

The plan is to implement parsing and baseline code generation for rest 
parameters in non-arrow functions. Work in progress patch[1] 
<https://codereview.chromium.org/816913003/> has been written already.

Motivation
Aside from the fact that rest parameters have been in the harmony draft and 
are already shipped in browsers, there are some key benefits as far as V8 
is concerned, and some general developer syntax sugar perks. In particular, 
it can help avoid kBadValueContextForArgumentsValue bailouts when 
attempting to optimize a function which performs an operation such as `var 
params = [].slice.call(arguments, 1)`.

Implementing a baseline implementation of rest parameters is a good start 
for other similar features which build on top of this, including optional 
parameters, and support for the spread operator (and destructuring 
assignment with rest elements).

There is an entry in the feature dashboard[2] 
<https://www.chromestatus.com/features/5937087912083456> and an associated 
launchbug[3] <https://code.google.com/p/v8/issues/detail?id=2159>

Compatibility Risk

Firefox has shipped this feature, and it is available in the IE preview 
release. According to draft changelogs[4] 
<http://wiki.ecmascript.org/doku.php?id=harmony:older_es6_drafts>, this 
feature has been essentially unchanged since 2011 (rev 1).


Ongoing technical constraints
Code for supporting rest parameters is fairly minimal, and does not 
introduce much in the way of complexity.

Will this feature be supported on all six Blink platforms (Windows, Mac, 
Linux, Chrome OS, Android, and Android WebView)?
Yes.

Requesting approval to ship?

No.


*[1] Patch *https://codereview.chromium.org/816913003/

*[2] Dashboard entry *https://www.chromestatus.com/features/5937087912083456

[3] OWP launch tracking bug 
https://code.google.com/p/v8/issues/detail?id=2159

*[4] Draft changelogs* 
http://wiki.ecmascript.org/doku.php?id=harmony:older_es6_drafts, 
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts

-- 
-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to