Skip to content
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

(vee-eight-4.9) Upgrade to V8 4.9 lkgr #5494

Closed
wants to merge 34 commits into from

Conversation

ofrobots
Copy link
Contributor

Pull Request check-list

  • Does make -j8 test (UNIX) or vcbuild test nosign (Windows) pass with
    this change (including linting)?
  • Is the commit message formatted according to CONTRIBUTING.md?
  • If this change fixes a bug (or a performance problem), is a regression
    test (or a benchmark) included?
  • Is a documentation update included (if this change modifies
    existing APIs, or introduces new ones)?

Affected core subsystem(s)

deps, src, build

Description of change

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

Also included:

  • Fix for another use of deprecated SetWeak in node_object_wrap.h. This file was missed before because it doesn't get built on normal builds.
  • Fix minor UB in node_buffer.cc

R=@nodejs/v8

Also, a head's up that I will be rebasing the vee-eight-4.9 branch onto the latest master in the next couple of days (after this PR has landed).

CI: https://ci.nodejs.org/job/node-test-pull-request/1781/

ofrobots and others added 30 commits February 8, 2016 12:46
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>
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#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#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>
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>
ofrobots added a commit to ofrobots/node that referenced this pull request Mar 1, 2016
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>
ofrobots added a commit to ofrobots/node that referenced this pull request Mar 1, 2016
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>
ofrobots added a commit to ofrobots/node that referenced this pull request Mar 1, 2016
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>
ofrobots added a commit to ofrobots/node that referenced this pull request Mar 1, 2016
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>
@ofrobots
Copy link
Contributor Author

ofrobots commented Mar 3, 2016

I still need to PR the Makefile fix (f3db2b5) over to master. I will close this issue once I have done that.

As I have opened #5539 to land this branch onto master, this is no need to individually cherry-pick this commit over. Closing.

@ofrobots ofrobots closed this Mar 3, 2016
ofrobots added a commit to ofrobots/node that referenced this pull request Mar 3, 2016
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>
ofrobots added a commit to ofrobots/node that referenced this pull request Mar 3, 2016
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>
ofrobots added a commit to ofrobots/node that referenced this pull request Mar 3, 2016
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>
ofrobots added a commit to ofrobots/node that referenced this pull request Mar 3, 2016
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>
ofrobots added a commit that referenced this pull request Mar 4, 2016
Migrate node_object_wrap.h to the new SetWeak API.

PR-URL: #5494
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
ofrobots added a commit that referenced this pull request Mar 4, 2016
Errors during build-addons were being silently ignored.

PR-URL: #5494
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
ofrobots added a commit that referenced this pull request Mar 4, 2016
Avoid 'delete this' as it can be hazardous and/or dependent on
implementations.

PR-URL: #5494
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
ofrobots added a commit that referenced this pull request Mar 4, 2016
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: #5494
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
@cjihrig cjihrig mentioned this pull request Mar 27, 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.

3 participants