Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatteo Collina <hello@matteocollina.com>2019-11-13 14:18:10 +0300
committerRich Trott <rtrott@gmail.com>2019-12-12 03:34:15 +0300
commit086c7b41b2c6581baa3de5f9c5d57ce1dfda4734 (patch)
tree2a0a4129b9b56d4397160344c65e83aad802d06b /configure.py
parentfb14ed4c38772216807fbede5765094a13621fe9 (diff)
build: add flag to enable pointer compression
The --experimental-enable-pointer-compression is experimental as it breaks ABI compatibility. PR-URL: https://github.com/nodejs/node/pull/30463 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'configure.py')
-rwxr-xr-xconfigure.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/configure.py b/configure.py
index 48624aba92b..a5e5610ba7a 100755
--- a/configure.py
+++ b/configure.py
@@ -346,6 +346,11 @@ parser.add_option('--enable-trace-maps',
dest='trace_maps',
help='Enable the --trace-maps flag in V8 (use at your own risk)')
+parser.add_option('--experimental-enable-pointer-compression',
+ action='store_true',
+ dest='enable_pointer_compression',
+ help='[Experimental] Enable V8 pointer compression (limits max heap to 4GB and breaks ABI compatibility)')
+
parser.add_option('--v8-options',
action='store',
dest='v8_options',
@@ -1192,6 +1197,8 @@ def configure_v8(o):
o['variables']['v8_random_seed'] = 0 # Use a random seed for hash tables.
o['variables']['v8_promise_internal_field_count'] = 1 # Add internal field to promises for async hooks.
o['variables']['v8_use_siphash'] = 0 if options.without_siphash else 1
+ o['variables']['v8_enable_pointer_compression'] = 1 if options.enable_pointer_compression else 0
+ o['variables']['v8_enable_31bit_smis_on_64bit_arch'] = 1 if options.enable_pointer_compression else 0
o['variables']['v8_trace_maps'] = 1 if options.trace_maps else 0
o['variables']['node_use_v8_platform'] = b(not options.without_v8_platform)
o['variables']['node_use_bundled_v8'] = b(not options.without_bundled_v8)