Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib: fix nits in lib/internal/bootstrap/cache.js #24581

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 31 additions & 33 deletions lib/internal/bootstrap/cache.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,10 @@
// This is only exposed for internal build steps and testing purposes.
// We create new copies of the source and the code cache
// so the resources eventually used to compile builtin modules
// cannot be tampered with even with --expose-internals
// cannot be tampered with even with --expose-internals.

const {
NativeModule
} = require('internal/bootstrap/loaders');
const {
getSource,
compileCodeCache
} = internalBinding('native_module');
const { NativeModule } = require('internal/bootstrap/loaders');
const { getSource, compileCodeCache } = internalBinding('native_module');
const { hasTracing } = process.binding('config');

const source = getSource();
Expand All @@ -20,52 +15,55 @@ const depsModule = Object.keys(source).filter(
);

// Modules with source code compiled in js2c that
// cannot be compiled with the code cache
// cannot be compiled with the code cache.
const cannotUseCache = [
'config',
'sys', // deprecated
'sys', // Deprecated.
'internal/v8_prof_polyfill',
'internal/v8_prof_processor',

'internal/per_context',

'internal/test/binding',
// TODO(joyeecheung): update the C++ side so that
// the code cache is also used when compiling these
// two files.
// the code cache is also used when compiling these two files.
'internal/bootstrap/loaders',
'internal/bootstrap/node'
].concat(depsModule);

// Skip modules that cannot be required when they are not
// built into the binary.
if (process.config.variables.v8_enable_inspector !== 1) {
cannotUseCache.push('inspector');
cannotUseCache.push('internal/util/inspector');
cannotUseCache.push(
'inspector',
'internal/util/inspector',
);
}
if (!hasTracing) {
cannotUseCache.push('trace_events');
}
if (!process.versions.openssl) {
cannotUseCache.push('crypto');
cannotUseCache.push('https');
cannotUseCache.push('http2');
cannotUseCache.push('tls');
cannotUseCache.push('_tls_common');
cannotUseCache.push('_tls_wrap');
cannotUseCache.push('internal/crypto/certificate');
cannotUseCache.push('internal/crypto/cipher');
cannotUseCache.push('internal/crypto/diffiehellman');
cannotUseCache.push('internal/crypto/hash');
cannotUseCache.push('internal/crypto/keygen');
cannotUseCache.push('internal/crypto/pbkdf2');
cannotUseCache.push('internal/crypto/random');
cannotUseCache.push('internal/crypto/scrypt');
cannotUseCache.push('internal/crypto/sig');
cannotUseCache.push('internal/crypto/util');
cannotUseCache.push('internal/http2/core');
cannotUseCache.push('internal/http2/compat');
cannotUseCache.push('internal/streams/lazy_transform');
cannotUseCache.push(
'crypto',
'https',
'http2',
'tls',
'_tls_common',
'_tls_wrap',
'internal/crypto/certificate',
'internal/crypto/cipher',
'internal/crypto/diffiehellman',
'internal/crypto/hash',
'internal/crypto/keygen',
'internal/crypto/pbkdf2',
'internal/crypto/random',
'internal/crypto/scrypt',
'internal/crypto/sig',
'internal/crypto/util',
'internal/http2/core',
'internal/http2/compat',
'internal/streams/lazy_transform',
);
}

module.exports = {
Expand Down