Uh oh!
There was an error while loading. Please reload this page.
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/ |
targos
commented
Oct 19, 2017
@MylesBorins I opened a merge request bug at https://bugs.chromium.org/p/v8/issues/detail?id=6960 |
targos
commented
Oct 19, 2017
targos
commented
Oct 19, 2017
AIX seems broken: /cc @nodejs/platform-aix |
targos
commented
Oct 19, 2017
Windows test failure: |
gireeshpunathil
commented
Oct 19, 2017
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. |
gireeshpunathil
commented
Oct 19, 2017
looking at AIX break now. |
gireeshpunathil
commented
Oct 19, 2017
ok, looks like the memory reservation performed in VirtualMemory class (until v6.1*) classV8_BASE_EXPORTVirtualMemory {
private:
void*address_; // Start address of the virtual memory.size_tsize_; // Size of the virtual memory.
};which is now moved to classV8_BASE_EXPORTOS {
void*OS::ReserveAlignedRegion(size_tsize, size_talignment, 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 ? |
gireeshpunathil
commented
Oct 19, 2017
re: windows failure The test expects /cc @nodejs/platform-windows @refack |
bnoordhuis
commented
Oct 19, 2017
3221225477 == 0xC0000005 == ACCESS_VIOLATION so that's probably a genuine bug. |
bzoz
commented
Oct 19, 2017
A FWIW, |
bnoordhuis
commented
Oct 19, 2017
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. |
targos
commented
Oct 23, 2017
@bnoordhuis thank you. Do you think someone should create a CL with this patch? I can do it. |
bnoordhuis
commented
Oct 23, 2017
@targos Sorry, I was going to upstream it but I forgot. You are welcome to steal it, no attribution needed. |
6a9311f to
938f895CompareRebased and updated with a backport of the CL fixing the Windows issue. CI: https://ci.nodejs.org/job/node-test-pull-request/11093/ Edit: |
benjamingr
commented
Oct 30, 2017
V8 6.3 ships async iterators cc @nodejs/streams |
Original commit message: [api] Intercept DefineProperty after Descriptor query Analog to other interceptors, intercept the DefineProperty call only after obtaining the property descriptor. This behavior allows us to mirror calls on a sandboxed object as it is needed in Node. See for example nodejs#13265 Bug: Change-Id: I73b8f8908d13473939b37fb6727858d0bee6bda3 Reviewed-on: https://chromium-review.googlesource.com/725295 Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#48683} PR-URL: nodejs#16294 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
Original commit message: [platform] Add TaskRunner to the platform API With the existing platform API it is not possible to post foreground tasks from background tasks. This is, however, required to implement asynchronous compilation for WebAssembly. With this CL we add the concept of a TaskRunner to the platform API. The TaskRunner contains all data needed to post a foreground task and can be used both from a foreground task and a background task. Eventually the TaskRunner should replace the existing API. In addition, this CL contains a default implementation of the TaskRunner. This implementation has tempory workaround for platforms which do not provide a TaskRunner implementation yet. This default implementation should be deleted again when all platforms provide a TaskRunner implementation. R=rmcilroy@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I6ea4a1c9da1eb9a19e8ce8f2163000dbc2598802 Reviewed-on: https://chromium-review.googlesource.com/741588 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{nodejs#49041} Refs: v8/v8@c690f54 PR-URL: nodejs#17134Fixes: nodejs/node-v8#24 Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
Original commit message: [platform] Return task runners as shared_ptr At the moment, task runners are returned as unique_ptr. This is inconvenient, however. In all implementations I did, the platform holds a shared pointer of the task runner and wraps it in a wrapper class just to return it as a unique_ptr. With this CL the platform API is changed to return a shared_ptr directly. R=rmcilroy@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ide278db855199ea239ad0ae14d97fd17349dac8c Reviewed-on: https://chromium-review.googlesource.com/768867 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{nodejs#49366} Refs: v8/v8@98c40a4 PR-URL: nodejs#17134Fixes: nodejs/node-v8#24 Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
targos
commented
Dec 6, 2017
Final rebase. Ready to land. CI: https://ci.nodejs.org/job/node-test-pull-request/11907/ |
addaleax
commented
Dec 6, 2017
CI looks good, a couple ARM infrastructure failures but that’s it. I think anybody who has the time can land this now :) |
PR-URL: #16271 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Myles Borins <myles.borins@gmail.com>
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>
targos
commented
Dec 6, 2017
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
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 (
SystemClockTimeMilliscomes 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