Skip to content

Upgrade to V8 4.9 in master #5539

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 34 commits into from
Closed

Conversation

ofrobots
Copy link
Contributor

@ofrobots ofrobots commented Mar 3, 2016

V8 4.9 is now stable with launch of Chrome 49 as stable: http://googlechromereleases.blogspot.com/2016/03/stable-channel-update.html

This PR picks up vee-eight-4.9 as a rebase over master. There are no new commits over #5494.

V8 4.9 brings us up to 91% ES6 support including Destructuring, Proxies and Reflect, Default Parameters, Classes & lexical declarations in sloppy mode, sticky flag on Regular Expressions, customizable Object.prototype.toString output and more. For full details, see: http://v8project.blogspot.de/2016/01/v8-release-49.html

R=@nodejs/v8
CI: https://ci.nodejs.org/job/node-test-pull-request/1826/
CI: https://ci.nodejs.org/job/node-test-pull-request/1828/

ofrobots and others added 6 commits March 2, 2016 17:06
Pick up the current branch head for V8 4.9
v8/v8@1ecba0f

PR-URL: nodejs#4722
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
PR-URL: nodejs#4722
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
PR-URL: nodejs#4722
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
- An error message changed for undefined references
- `let` is now allowed in sloppy mode
- ES2015 proxies are shipped and the `Proxy` global is now a function

PR-URL: nodejs#4722
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Proxies support is now complete in V8. The tests needed slight modification to
match the spec implementation.

PR-URL: nodejs#4722
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
PR-URL: nodejs#4722
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
@ofrobots ofrobots added the v8 engine Issues and PRs related to the V8 dependency. label Mar 3, 2016
@ofrobots
Copy link
Contributor Author

ofrobots commented Mar 3, 2016

@nodejs/build: Is there anything I can do to get the CI working? (see here) I am guessing I missed a ticky box somewhere, and I don't know what to do about it now.

@orangemocha
Copy link
Contributor

@ofrobots you need to check the box CERTIFY_SAFE. See nodejs/build#342 (comment) for more information, and sorry for the inconvenience.

@ofrobots
Copy link
Contributor Author

ofrobots commented Mar 3, 2016

@bnoordhuis
Copy link
Member

Rubberstamp LGTM. Some of the commit log status lines are overlong but most can probably be fixed with a s/usage/use/.

targos and others added 18 commits March 3, 2016 11:18
PR-URL: nodejs#4722
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
PR-URL: nodejs#4722
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
PR-URL: nodejs#5159
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs#5159
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs#5159
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs#5159
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs#5159
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs#5159
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs#5159
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs#5159
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs#5159
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs#5159
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs#5159
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs#5204
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
PR-URL: nodejs#5204
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
Dynamic checks that CallbackInfo holds an ArrayBuffer handle can be
converted into compiler enforced checks. Removed unused code, and
other minor cleanup.

PR-URL: nodejs#5204
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
Old style SetWeak is now deprecated, and weakness now works like
phantom references. This means we no longer have a reference to the
object in the weak callback. We use a kInternalFields style weak
callback which provides us with the contents of 2 internal fields
where we can squirrel away the native buffer pointer.

We can no longer neuter the buffer in the weak callback, but that
should be unnecessary as the object is going to be GC'd during the
current gc cycle.

PR-URL: nodejs#5204
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
Cleanup how node_contextify keeps weak references in order to prepare
for new style phantom weakness API. We didn't need to keep a weak
reference to the context's global proxy, as the context holds it.

PR-URL: nodejs#5392
Reviewed-By: Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
ofrobots and others added 10 commits March 3, 2016 11:19
Simplify how node_contextify was keeping a weak reference to the
sandbox object in order to prepare for new style phantom weakness V8
API. It is simpler (and more robust) for the context to hold a
reference to the sandbox in an embedder data field. Doing otherwise
meant that the sandbox could become weak while the context was still
alive. This wasn't a problem because we would make the reference
strong at that point.

Since the sandbox must live at least as long as the context, it
would be better for the context to hold onto the sandbox.

PR-URL: nodejs#5392
Reviewed-By: Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs#5392
Reviewed-By: Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs#5392
Reviewed-By: Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
V8 String::NewExternal is deprecated in 4.9. Migrate string_bytes.cc to
the alternatives.

PR-URL: nodejs#5462
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Migrate node_object_wrap.h to the new SetWeak API.

PR-URL: nodejs#5494
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
Errors during build-addons were being silently ignored.

PR-URL: nodejs#5494
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
Avoid 'delete this' as it can be hazardous and/or dependent on
implementations.

PR-URL: nodejs#5494
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
Pick up the latest known good release from the V8 4.9 branch: 4.9.385.27.
V8 Commits: v8/v8@4.9.385.18...4.9.385.27

PR-URL: nodejs#5494
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
PR-URL: nodejs#5159
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs#4722
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
@ofrobots
Copy link
Contributor Author

ofrobots commented Mar 3, 2016

Fixed the overlong commit log status lines.

@bnoordhuis
Copy link
Member

LGTM

@ofrobots
Copy link
Contributor Author

ofrobots commented Mar 4, 2016

Landed as 8938355...ad0ce57.

@ofrobots ofrobots closed this Mar 4, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v8 engine Issues and PRs related to the V8 dependency.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants