Skip to content

build: add flag to enable pointer compression

This PR adds support for building node with pointer compression enabled. From some preliminary tests, enabling pointer compression shrinks memory usage by 40%.

See: https://github.com/nodejs/node/issues/26756

Note that building with this flag makes some of our addon tests fail:

=== release test ===
Path: addons/async-hooks-promise/test
Command: out/Release/node /home/matteo/repositories/node/test/addons/async-hooks-promise/test.js
--- CRASHED (Signal: 11) ---
=== release test ===
Path: addons/08_passing_wrapped_objects_around/test
Command: out/Release/node /home/matteo/repositories/node/test/addons/08_passing_wrapped_objects_around/test.js
--- CRASHED (Signal: 11) ---
=== release test ===
Path: addons/new-target/test
Command: out/Release/node /home/matteo/repositories/node/test/addons/new-target/test.js
--- CRASHED (Signal: 11) ---
=== release test ===
Path: addons/make-callback/test
Command: out/Release/node /home/matteo/repositories/node/test/addons/make-callback/test.js
--- CRASHED (Signal: 11) ---
=== release test ===
Path: addons/06_wrapping_c_objects/test
Command: out/Release/node /home/matteo/repositories/node/test/addons/06_wrapping_c_objects/test.js
--- CRASHED (Signal: 11) ---
=== release test ===
Path: addons/07_factory_of_wrapped_objects/test
Command: out/Release/node /home/matteo/repositories/node/test/addons/07_factory_of_wrapped_objects/test.js
--- CRASHED (Signal: 11) ---
=== release test-perf-hooks-timerify ===
Path: addons/non-node-context/test-perf-hooks-timerify
Command: out/Release/node /home/matteo/repositories/node/test/addons/non-node-context/test-perf-hooks-timerify.js
--- CRASHED (Signal: 11) ---
[02:41|% 100|+ 2807|-   7]: Done
Makefile:296: recipe for target 'jstest' failed
make[1]: *** [jstest] Error 1
Makefile:316: recipe for target 'test' failed
make: *** [test] Error 2
Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines

Merge request reports

Loading