diff --git a/common.gypi b/common.gypi index be30169cf58d97..090873a0406ad9 100644 --- a/common.gypi +++ b/common.gypi @@ -70,6 +70,9 @@ # See https://github.com/v8/v8/wiki/Untrusted-code-mitigations 'v8_untrusted_code_mitigations': 0, + # Disable v8 hugepage by default. + 'v8_enable_hugepage%': 0, + # This is more of a V8 dev setting # https://github.com/nodejs/node/pull/22920/files#r222779926 'v8_enable_fast_mksnapshot': 0, diff --git a/configure.py b/configure.py index 47137d8912dd14..1ba6a1e5866c5e 100755 --- a/configure.py +++ b/configure.py @@ -779,6 +779,13 @@ default=True, help='compile V8 with auxiliar functions for native debuggers') +parser.add_argument('--v8-enable-hugepage', + action='store_true', + dest='v8_enable_hugepage', + default=None, + help='Enable V8 transparent hugepage support. This feature is only '+ + 'available on Linux platform.') + parser.add_argument('--node-builtin-modules-path', action='store', dest='node_builtin_modules_path', @@ -1436,7 +1443,9 @@ def configure_v8(o): raise Exception('--enable-d8 is incompatible with --without-bundled-v8.') if options.static_zoslib_gyp: o['variables']['static_zoslib_gyp'] = options.static_zoslib_gyp - + if flavor != 'linux' and options.v8_enable_hugepage: + raise Exception('--v8-enable-hugepage is supported only on linux.') + o['variables']['v8_enable_hugepage'] = 1 if options.v8_enable_hugepage else 0 def configure_openssl(o): variables = o['variables']