Skip to content

Commit

Permalink
build: add --without-node-code-cache configure option
Browse files Browse the repository at this point in the history
So that it's possible to build without code cache (in particular,
without building mkcodecache) for testing.
  • Loading branch information
joyeecheung committed Nov 26, 2019
1 parent 9fbad51 commit f593a94
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 8 deletions.
15 changes: 12 additions & 3 deletions configure.py
Expand Up @@ -455,6 +455,11 @@
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',
Expand Down Expand Up @@ -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'):
Expand Down Expand Up @@ -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()

Expand Down
2 changes: 1 addition & 1 deletion node.gyp
Expand Up @@ -432,7 +432,7 @@
},
},
}],
['want_separate_host_toolset==0', {
['node_use_node_code_cache=="true"', {
'dependencies': [
'mkcodecache',
],
Expand Down
7 changes: 3 additions & 4 deletions test/parallel/test-code-cache.js
Expand Up @@ -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) {
Expand All @@ -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' ]) {
Expand Down

0 comments on commit f593a94

Please sign in to comment.