-
Notifications
You must be signed in to change notification settings - Fork 29.6k
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.7 #19989
deps: update V8 to 6.7 #19989
Conversation
@nodejs/v8 do you guys know if there are any plans to expose the value of a bigint assuming it fits in an int64 or similar? |
@devsnek : No plans currently, but we're open to suggestions if there is demand for such an API :-) |
@jakobkummerow i was just looking at integrating bigint into our napi after we bump to 6.7 (https://gist.github.com/devsnek/34c3243a650ef5f4419a16961bca5cd8) and it seems like a bit of an inconsistency to not have some sort of method to see what the value of a bigint is. (https://gist.github.com/devsnek/34c3243a650ef5f4419a16961bca5cd8#file-napi_bigint-diff-L145) i'm probably not the best person to come up with a solution to that problem as i'm no c++ guru, but i personally do have a use case for passing 64bit integers between c++ and js. |
@devsnek : it's an intentional omission/postponing -- we didn't want to introduce some random API that we didn't have a use case for. I absolutely agree that for working with BigInts via the C++ API, more methods are needed, and I'd be happy to collaborate on a reasonable design for V8 6.8. We should probably take that discussion elsewhere though. |
What's going on with 731b4adf42fb65c53c1964037fb6f227b269b9b4 ? It seems bigger than the commit it is reverting anyway. |
Re earlier discussion: anyone who has opinions on what V8's BigInt API should look like, please chime in at crbug.com/v8/7712. |
/cc @nodejs/platform-freebsd @nodejs/platform-macos We have a compiler issue with clang. Can someone please have a look? FreeBSD error:
macOS error:
|
ping |
@targos those errors are likely related to an older version of clang being used in our OSX/FreeBSD servers. I was able to build without problem on my machine (Mac OS 10.13.4). Therefore we need to either:
I'll try to reproduce this issue in a FreeBSD box and figure out which clang version fixes this issue. /cc @nodejs/v8 @nodejs/build |
FWIW I was able to reproduce this error on Ubuntu 16.04 with clang 3.8. Also a reference to why I think this is a clang version issue: https://stackoverflow.com/a/28338265/2956796 |
Upstream bug: https://bugs.chromium.org/p/v8/issues/detail?id=7743 I'll try to open a CL fixing it by the end of the day |
CI-run with fix applied: https://ci.nodejs.org/job/node-test-commit-osx/nodes=osx1010/18396/ |
Fix landed upstream. Should we try to backport it to 6.7 or should we float it? |
Thanks for your help @mmarchini ! |
I would say no due to the relative non-existence of them in code, and anyone who is using those globals is running with harmony since you can't really polyfill bigint. I would personally consider this extenuating circumstances but I understand if it would be semver-major anyway. |
+1 to not considering the BigInt global addition semver-major. I think I can do that, or guide somebody else do address this. What’s the time frame? Does it have to happen before the ETA date (May 29)? It looks like for now it’s just a deprecation. An issue with this might be the interaction with addons. I’m not aware of addons using the old API, but I wouldn’t be surprised if there are. The new API seems to assume a monolithic embedder (like Chromium), but in Node’s case we cannot provide information about objects created by userland addons. I’ll try to figure out what we can do here. (@ChALkeR I know Gzemnid is JS-focused, but would it be possible to see if |
The bug in V8 that meant we couldn't instrument Node 10 was fixed and Node 10.4.0 shipped with a newer version of V8. This is the original bug report in Node: nodejs/node#20516 This is the PR that fixed it in Node: nodejs/node#19989
The bug in V8 that meant we couldn't instrument Node 10 was fixed and Node 10.4.0 shipped with a newer version of V8. This is the original bug report in Node: nodejs/node#20516 This is the PR that fixed it in Node: nodejs/node#19989 Closes elastic#448
Refs: nodejs/node-v8#46 PR-URL: nodejs/node#19989 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matheus Marchini <matheus@sthima.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Myles Borins <myles.borins@gmail.com> (cherry picked from commit fbe6b85)
The bug in V8 that meant we couldn't instrument Node 10 was fixed and Node 10.4.0 shipped with a newer version of V8. This is the original bug report in Node: nodejs/node#20516 This is the PR that fixed it in Node: nodejs/node#19989 Closes #448
Refs: nodejs#19989 Fixes: nodejs#55446 PR-URL: nodejs#55450 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
ETA: May 29th.
There are still 2 known issues to fix (help would be appreciated):
v8::HeapProfiler::SetWrapperClassInfoProvider
is deprecated/cc @nodejs/v8-update
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes