0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-21 21:19:50 +01:00

build: add --without-node-code-cache configure option

So that it's possible to build without code cache (in particular,
without building mkcodecache) for testing.

PR-URL: https://github.com/nodejs/node/pull/30647
Refs: https://github.com/nodejs/node/issues/28845
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
Joyee Cheung 2019-11-26 13:03:22 +08:00
parent cc3f2b386c
commit 6fd2898601
No known key found for this signature in database
GPG Key ID: 92B78A53C8303B8D
3 changed files with 16 additions and 8 deletions

View File

@ -455,6 +455,11 @@ parser.add_option('--without-node-snapshot',
dest='without_node_snapshot',
help='Turn off V8 snapshot integration. Currently experimental.')
parser.add_option('--without-node-code-cache',
action='store_true',
dest='without_node_code_cache',
help='Turn off V8 Code cache integration.')
intl_optgroup.add_option('--download',
action='store',
dest='download_list',
@ -980,6 +985,12 @@ def configure_node(o):
else:
o['variables']['node_use_node_snapshot'] = 'false'
if not options.without_node_code_cache:
# TODO(refack): fix this when implementing embedded code-cache when cross-compiling.
o['variables']['node_use_node_code_cache'] = b(not cross_compiling)
else:
o['variables']['node_use_node_code_cache'] = 'false'
if target_arch == 'arm':
configure_arm(o)
elif target_arch in ('mips', 'mipsel', 'mips64el'):
@ -1100,9 +1111,7 @@ def configure_node(o):
o['variables']['debug_nghttp2'] = 'false'
o['variables']['node_no_browser_globals'] = b(options.no_browser_globals)
# TODO(refack): fix this when implementing embedded code-cache when cross-compiling.
if o['variables']['want_separate_host_toolset'] == 0:
o['variables']['node_code_cache'] = 'yes' # For testing
o['variables']['node_shared'] = b(options.shared)
node_module_version = getmoduleversion.get_version()

View File

@ -436,7 +436,7 @@
},
},
}],
['want_separate_host_toolset==0', {
['node_use_node_code_cache=="true"', {
'dependencies': [
'mkcodecache',
],

View File

@ -33,6 +33,8 @@ const loadedModules = process.moduleLoadList
// are all compiled without cache and we are doing the bookkeeping right.
if (!process.features.cached_builtins) {
console.log('The binary is not configured with code cache');
assert(!process.config.variables.node_use_node_code_cache);
if (isMainThread) {
assert.deepStrictEqual(compiledWithCache, new Set());
for (const key of loadedModules) {
@ -46,10 +48,7 @@ if (!process.features.cached_builtins) {
assert.notDeepStrictEqual(compiledWithCache, new Set());
}
} else { // Native compiled
assert.strictEqual(
process.config.variables.node_code_cache,
'yes'
);
assert(process.config.variables.node_use_node_code_cache);
if (!isMainThread) {
for (const key of [ 'internal/bootstrap/pre_execution' ]) {