-
Notifications
You must be signed in to change notification settings - Fork 30.1k
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
deps: update V8 to 6.3 #16271
deps: update V8 to 6.3 #16271
Conversation
I'll work on getting 5479f8b backported upstream tomorrow /cc @nodejs/v8 so this PR can be on their radar CI: https://ci.nodejs.org/job/node-test-pull-request/10799/ |
@MylesBorins I opened a merge request bug at https://bugs.chromium.org/p/v8/issues/detail?id=6960 |
AIX seems broken:
/cc @nodejs/platform-aix |
Windows test failure:
|
Need to dig to figure out the actual reason, but on the face of I can say a missing PR - there were efforts to normalize the windows error codes match with other platforms by adding the signal number to 128. This means a platform specific code change to that effect and a test case to test that. I think only one of them is merged. |
looking at AIX break now. |
ok, looks like the memory reservation performed in VirtualMemory class (until v6.1*) class V8_BASE_EXPORT VirtualMemory {
private:
void* address_; // Start address of the virtual memory.
size_t size_; // Size of the virtual memory.
}; which is now moved to class V8_BASE_EXPORT OS {
void* OS::ReserveAlignedRegion(size_t size, size_t alignment, void* hint, size_t* allocated)
}; that does not have the two variables This code cannot be integrated in its current form. /cc @nodejs/platform-ppc @jbajwa ? |
re: windows failure The test expects /cc @nodejs/platform-windows @refack |
3221225477 == 0xC0000005 == ACCESS_VIOLATION so that's probably a genuine bug. |
A FWIW,
|
Hm, that's a rather obvious bug when you look at it but good job finding it. FWIW, it exists since v4.x. This patch should fix it although I'm not 100% sure why it manifests with V8 6.3 and not with older versions (or maybe it does but only erratically.) diff --git a/deps/v8/src/frames.cc b/deps/v8/src/frames.cc
index 37f5b4d9cf..dd2f6a3cb3 100644
--- a/deps/v8/src/frames.cc
+++ b/deps/v8/src/frames.cc
@@ -1938,9 +1938,11 @@ void JavaScriptFrame::Print(StringStream* accumulator,
if (this->context() != NULL && this->context()->IsContext()) {
context = Context::cast(this->context());
}
- while (context->IsWithContext()) {
- context = context->previous();
- DCHECK(context != NULL);
+ if (context != NULL) {
+ while (context->IsWithContext()) {
+ context = context->previous();
+ DCHECK(context != NULL);
+ }
}
// Print heap-allocated local variables. The code further down does check for nullity, only here it wasn't. |
@bnoordhuis thank you. Do you think someone should create a CL with this patch? I can do it. |
@targos Sorry, I was going to upstream it but I forgot. You are welcome to steal it, no attribution needed. |
6a9311f
to
938f895
Compare
Rebased and updated with a backport of the CL fixing the Windows issue. CI: https://ci.nodejs.org/job/node-test-pull-request/11093/ Edit: |
V8 6.3 ships async iterators cc @nodejs/streams |
PR-URL: #16271 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Myles Borins <myles.borins@gmail.com>
Major V8 updates are usually API/ABI incompatible with previous versions. This commit adapts NODE_MODULE_VERSION for V8 6.3. Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md PR-URL: #16271 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Myles Borins <myles.borins@gmail.com>
It is required by a change in V8. Refs: https://chromium-review.googlesource.com/c/v8/v8/+/598666 PR-URL: #16271 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Myles Borins <myles.borins@gmail.com>
V8 changed the typed array threshold option from a runtime flag to a compile-time option. PR-URL: #16271 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Myles Borins <myles.borins@gmail.com>
V8 has changed their invalid UTF-8 handling. See https://chromium-review.googlesource.com/c/v8/v8/+/671020 for more info PR-URL: #16271 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Myles Borins <myles.borins@gmail.com>
Landed in b52c23b...3d43bce |
It is required by a change in V8. Refs: https://chromium-review.googlesource.com/c/v8/v8/+/598666 PR-URL: nodejs/node#16271 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Myles Borins <myles.borins@gmail.com> (cherry picked from commit a1ed29b)
V8 changed the typed array threshold option from a runtime flag to a compile-time option. PR-URL: nodejs/node#16271 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Myles Borins <myles.borins@gmail.com> (cherry picked from commit 2c75b52) Conflicts: src/node.cc
It is required by a change in V8. Refs: https://chromium-review.googlesource.com/c/v8/v8/+/598666 PR-URL: nodejs/node#16271 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Myles Borins <myles.borins@gmail.com> (cherry picked from commit a1ed29b)
V8 changed the typed array threshold option from a runtime flag to a compile-time option. PR-URL: nodejs/node#16271 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Myles Borins <myles.borins@gmail.com> (cherry picked from commit 2c75b52) Conflicts: src/node.cc
It is required by a change in V8. Refs: https://chromium-review.googlesource.com/c/v8/v8/+/598666 PR-URL: nodejs#16271 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Myles Borins <myles.borins@gmail.com>
Because the earlier the better!
I kept the HACK in the commit message for de0d28b because I'm not sure it's the way we should implement it (
SystemClockTimeMillis
comes from V8 AFAIK).This branch is based on the 6.2 PR. I will update once it is merged.
/cc @nodejs/v8
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passesAffected core subsystem(s)
V8