| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
cc @nodejs/v8 |
Sorry, something went wrong.
|
/cc @nodejs/platform-aix @nodejs/platform-ppc |
Sorry, something went wrong.
There was a problem hiding this comment.
Thanks for the group ping @targos! Yes the AIX/ppc64, Linux/ppc64le, Linux/s390x and the in development RISC-V port etc.are all also 64-bit and based on the information in the descirption this will result in the wrong behavior on those. Also since 32-bit is now the smaller set of plaforms (It's unlikely any new 32-bit ones will appear!) I'd strongly suggest that this is changed to an explicit list of the 64-bit ones as opposed to not in 64-bit ones to set the option off.
Do we have any tests that show this failure at present?
Sorry, something went wrong.
@sxa we do not build with pointer compression enabled anywhere except the unofficial builds (https://github.com/nodejs/unofficial-builds/tree/master/recipes/x64-pointer-compression) and even there we do not run any tests. |
Sorry, something went wrong.
|
Thanks for the review, I have updated the code to test 32bit arches instead. There is no test for this in Node.js, as compiling with v8_enable_pointer_compression=1 on 32bit arches will result in compilation error: I think this is something that can be tested in node-gyp instead since it is about building native modules. |
Sorry, something went wrong.
There was a problem hiding this comment.
Thanks for the updates. Assuming that architecture list is correct (do we really have ia32 and x32 in different places) I'm ok with this change.
Sorry, something went wrong.
Sorry, something went wrong.
There was a problem hiding this comment.
LGTM
Sorry, something went wrong.
|
Create new issues for 2 flaky test failures and kicked off resume |
Sorry, something went wrong.
Sorry, something went wrong.
PR-URL: #40418 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Stewart X Addison <sxa@redhat.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
PR-URL: #40418 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Stewart X Addison <sxa@redhat.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
PR-URL: #40418 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Stewart X Addison <sxa@redhat.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
| Back | FazBrowse Home | New Git URL |
The V8 pointer compression only works for 64bit arches, and the v8_enable_pointer_compression should be forced off when not building for them.
Why this is needed
Node.js only provides one headers tarball, and the same common.gypi and config.gypi file are used for building all architectures.
So for Node.js distributions that have v8_enable_pointer_compression=1, their headers tarball will set v8_enable_pointer_compression=1 in the config.gypi file, and building x86 native modules for those binaries will fail because v8_enable_pointer_compression=1 can not work for 32bit architectures.
The official Node.js distribution will also have this problem if it turned on V8 pointer compression in future.
Force turning off v8_enable_pointer_compression for non-64bit targets can fix it.