-
-
Couldn't load subscription status.
- Fork 33.6k
[WIP] Update V8 to 5.2 #7824
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
[WIP] Update V8 to 5.2 #7824
Conversation
|
In which next node version it is possible to see that's new shiny V8? 🤔 |
|
@bricss Probably not until v7.0.0, unless the ABI incompatibility issues can be smoothed over before August. |
|
Noting some errors. freebsdsmartos 64V8 bug: https://bugs.chromium.org/p/v8/issues/detail?id=5227 smartos 32
|
|
v8 CI run - https://ci.nodejs.org/job/node-test-commit-v8-linux/228/. To check for PPC, s390, should be ok there. |
|
nice job |
|
@targos I independently ran into the the ICU transliteration issue. Here's the fix I put together with help from @srl295: ofrobots@fcd0595. We should reconcile the two fixes. |
deps: edit v8 gitignore to allow trace event copy deps: update v8 trace event to 54b8455be9505c2cb0cf5c26bb86739c236471aa
V8 needs it for case conversion. Ref: https://codereview.chromium.org/1812673005
The location of various gypfiles has changed in V8 5.2.
The next major release will make it a fatal error to use non-primitive values in function templates and object templates. Print a warning that includes the C and JS stack trace to tell people to upgrade their add-ons. The C stack trace is only printed on platforms that support it (the BSDs, OS X and Linux+glibc.) The warning can be disabled with the new `--nowarn_template_set` flag. Refs: nodejs#6216 PR-URL: nodejs#6277 Reviewed-By: James M Snell <[email protected]>
Original commit message:
S390:Update inline asm constraint in test-platform
The GetStackPointer() routine in test-platform uses an inline
assembly code to store the current stack pointer value into a static
variable sp_addr. The existing asm code for S390 uses an ST/STG
instruction, with the memory operand associated with the general ('=g')
constraint to sp_addr.
On GCC 4.8.5, the GCC compiler got confused and treated sp_addr as
an integer operand instead of memory operand, resulting in a store
being emitted that writes to an invalid meory location.
Given the specific store instructions being inlined here, we should
restict the sp_addr operand to explicitly be a memory operand using '=m'
instead of '=g'.
[email protected],[email protected],[email protected],[email protected]
BUG=
Review-Url: https://codereview.chromium.org/2158523002
Cr-Commit-Position: refs/heads/master@{nodejs#37809}
Fixes: nodejs#7659
PR-URL: nodejs#7771
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Ali Ijaz Sheikh <[email protected]>
|
@ofrobots thanks, it's done. |
|
I made an attempt to fix the compiling issues. smartos-64freebsdEdit: V8 bug ? https://bugs.chromium.org/p/chromium/issues/detail?id=605349 |
|
While playing with this branch in one of my projects, I found a bug: async function test() {
await 1;
throw new Error('bad');
}
test().catch(function(e){
e.stack;
});This code fails at a check: The bug is fixed in V8's master branch but not in 5.2 or 5.3. |
|
I am hoping we can get V8 5.4 in Node |
|
Yes let's please coordinate. @ofrobots is there a separate issue tracking this? |
| "converters": "none", | ||
| "stringprep": "locales", | ||
| "translit": "none", | ||
| "translit": "locales", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah - "locales" may not be quite right here in fact. It's more complex which is why I'd like a separate issue tracking this (translit enablement for v8) For now, I'd actually remove the translit line altogether from this file.
|
I commented on some outdated diffs for discussion.
What I'd like to see is a separate PR that enables transliteration support if to the v8 version requires it. This could go in prior to v8 going in and would make node.js always build ICU the right way. Related here is 7de59ef#diff-eda374a7b1c3fccd439785b07caa1372 from @jasnell ’s #7355 which also enabled some additional ICU code and data, but for a core feature and not for a v8 requirement. |
|
The V8 crash bug mentioned above makes debugging challenging in bigger projects. Programming errors and typos in async functions, e.g. something that normally prints error If possible, it'd be nice to see the fix backported. |
|
More specifically I keep seeing the crash in this situation: If I comment out [1] then the app doesn't crash anymore. But then you don't know what the problem is. This looks like a variation of the test case @targos already posted. |
|
meta: given that v5 is EOL and there will be no further releases in that line, I'm going to go ahead and remove the dont-land-on-v5.x label and likely delete it. |
|
This (and a bug 5174 fix in 5.2) appear to be going nowhere? Could be better to skip 5.2 and go straight to 5.3? It has been out for a month now, and there will soon be a 5.4... |
|
@Kovensky I plan to skip directly to 5.4 when the branch is cut. |
|
Closing (superseded by #8317) |
Checklist
make -j4 test(UNIX), orvcbuild test nosign(Windows) passesAffected core subsystem(s)
v8
Description of change
This is almost ready, but I am still waiting for https://bugs.chromium.org/p/v8/issues/detail?id=5174 to be fixed in the 5.2 branch.
I'm creating the PR now to start a CI run.
CI: https://ci.nodejs.org/job/node-test-pull-request/3370/CI: https://ci.nodejs.org/job/node-test-pull-request/3383/CI: https://ci.nodejs.org/job/node-test-pull-request/3420/