node/test/fixtures
Joyee Cheung 62383cd113 module: implement flushCompileCache()
This implements an API for users to intentionally flush the
accumulated compile cache instead of waiting until process
shutdown. It may be useful for application that loads dependencies
first and then either reload itself in other instances, or spawning
other instances that load an overlapping set of its dependencies -
in this case its useful to flush the cache early instead of waiting
until the shutdown of itself.

Currently flushing is triggered by either process
shutdown or user requests. In the future we should simply start the
writes right after module loading on a separate thread, and this method
only blocks until all the pending writes (if any) on the other thread
are finished. In that case, the off-thread writes should finish long
before any attempt of flushing is made so the method would then only
incur a negligible overhead from thread synchronization.

PR-URL: https://github.com/nodejs/node/pull/54971
Fixes: https://github.com/nodejs/node/issues/54770
Fixes: https://github.com/nodejs/node/issues/54465
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2024-09-20 19:05:07 +00:00
..
0-dns
apilinks
b
clustered-server
console lib: add diagnostics_channel events to module loading 2024-06-20 21:25:04 -03:00
copy/kitchen-sink
crypto
cycles
debugger
dotenv src: fix env-file flag to ignore spaces before quotes 2024-07-17 09:22:42 +00:00
errors test: make snapshot comparison more flexible 2024-08-16 14:29:22 +00:00
es-module-loaders module: unflag detect-module 2024-07-20 18:30:46 +00:00
es-module-require-cache
es-module-shadow-realm
es-module-specifiers
es-module-url
es-modules module: report unfinished TLA in ambiguous modules 2024-09-19 10:34:13 +00:00
GH-7131
GH-54265 lib: fix emit warning for debuglog.time when disabled 2024-08-27 16:20:35 +00:00
global
inspector-instrumentation-breakpoint test: add Debugger.setInstrumentationBreakpoint known issue 2024-05-12 22:33:07 +02:00
internal-modules
json-with-directory-name-module
keys test: fix test-tls-client-mindhsize for OpenSSL32 2024-09-11 22:19:12 -07:00
macos-app-sandbox
module-extension-over-directory
module-load-order
module-mocking test_runner: make mock_loader not confuse CJS and ESM resolution 2024-08-06 11:24:24 +02:00
module-require
module-require-symlink
nested-index
node_modules esm: fix hint on invalid module specifier 2023-12-23 20:38:08 +00:00
openssl3-conf
package-main-enoent
packages
permission test: fix improper path to URL conversion 2024-08-24 20:10:11 +00:00
postject-copy
process process: port on-exit-leak-free to core 2024-07-11 17:57:20 +00:00
repl-folder-extensions/foo.js
require-bin
require-empty-main
resolve-paths
run-script cli: ensure --run has proper pwd 2024-09-18 12:18:40 +00:00
sea sea: support sea.getRawAsset() 2024-02-02 15:25:34 +01:00
self_ref_module
snapshot lib: account for cwd access from snapshot serialization cb 2024-02-29 20:55:00 +00:00
source-map lib: decorate async stack trace in source maps 2024-07-18 14:45:43 +00:00
syntax
test-init-index
test-init-native
test-module-loading-globalpaths
test-repl-tab-completion
test-runner test_runner: avoid coverage report partial file names 2024-09-18 18:24:19 +02:00
tools/checkimports
typescript test_runner: support typescript module mocking 2024-09-19 13:36:52 +00:00
uncaught-exceptions
v8
v8-coverage
vm
wasi
watch-mode
workload
wpt test: update DOM events web platform tests 2024-09-18 17:39:56 +02:00
x509-escaping
.empty-hidden-repl-history-file
.empty-repl-history-file
.node_repl_history
a.js
aead-vectors.js
altdocs.md
assert-first-line.js
assert-long-line.js
async-error.js
baz.js
catch-stdout-error.js
child_process_should_emit_error.js
child-process-echo-options.js
child-process-message-and-exit.js
child-process-persistent.js
child-process-spawn-node.js
child-process-stay-alive-forever.js
cjs-module-wrap.js
cjs-module-wrapper.js
cluster-preload-test.js
cluster-preload.js
compile-cache-flush.js module: implement flushCompileCache() 2024-09-20 19:05:07 +00:00
compile-cache-wrapper.js src: add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE 2024-08-28 23:22:57 +00:00
crash.wasm
crash.wat
debugger-repeat-last.js
debugger-util-regression-fixture.js
define-global.js
deprecated-userland-class.js
deprecated-userland-function.js
deprecated-userland-subclass.js
deprecated.js
destroy-stdin.js
disable-warning-worker.js
disable-warning.js
doc_inc_1.md
doc_inc_2.md
doc_with_backticks_in_headings.md
doc_with_yaml.md
document_with_cjs_and_esm_code_snippet.md
document_with_esm_and_cjs_code_snippet.md
document_with_links.md
document_with_special_heading.md
echo-close-check.js
echo.js
elipses.txt
empty-with-bom.txt
empty.cjs
empty.js
empty.json
empty.txt
emptyframe.http2
exit.js
experimental.json
exports-function-with-param.js
external-repl-module.js
failcounter.js
failmustcall1.js
failmustcall2.js
file-to-read-with-bom.txt
file-to-read-without-bom.txt
fixture.ini
foo
gc.js
get-call-site.js lib: add util.getCallSite() API 2024-09-04 19:47:25 +00:00
GH-892-request.js
GH-1899-output.js
google_ssl_hello.bin
guess-hash-seed.js
icu-punycode-toascii.json
inspector-global-function.mjs
inspector-open.js
intrinsic-mutation.js
invalid.json
is-object.js
ispreloading.js
klass-with-fields.js
leakedGlobal.js
linux-perf-logger.js
linux-perf.js
loop.js
mime-whatwg-generated.js
mime-whatwg.js
module-loading-error.node
monkey-patch-run-main.js
net-fd-passing-receiver.js
no-wrapper.js
not-main-module.js
old-repl-history-file-faulty.json
old-repl-history-file-obj.json
openssl_fips_disabled.cnf
openssl_fips_enabled.cnf
order_of_end_tags_5873.md
out-of-bound.wasm
out-of-bound.wat
outside.txt
overwrite-config-preload-module.js
parent-process-nonpersistent-fork.js
parent-process-nonpersistent.js
path-resolve.js
path.js
person-large.jpg
person.jpg
person.jpg.br
person.jpg.gz
pkgexports.mjs
print A.js
print-10-lines.js
print-chars-from-buffer.js
print-chars.js
print-delayed.js
print-error-message.js
print-intrinsic-mutation-name.js
printA.js
printB.js
printC.js
pseudo-multimember-gzip.gz
pseudo-multimember-gzip.z
pss-vectors.json
readfile_pipe_test.txt
recursive-a.cjs
recursive-b.cjs
recvfd.js
registerExt2.test
registerExt.hello.world
registerExt.test
repl-load-multiline-no-trailing-newline.js
repl-load-multiline.js
repl-pretty-stack.js
repl-tab-completion-nested-repls.js
report-oom.js
require-resolve.js
rsa-oaep-test-vectors.js
sample_document.md
sample.png
sea.js src: refactor embedded entrypoint loading 2024-07-05 19:58:35 +00:00
semicolon.js
shared-memory.wasm
shared-memory.wat
should_exit.js
simple.wasm
simple.wat
spawn_closed_stdio.py
spawn-worker-with-copied-env.js test: skip --title check on IBM i 2024-07-22 11:39:04 +00:00
spawn-worker-with-trace-exit.js worker: allow copied NODE_OPTIONS in the env setting 2024-07-05 18:40:03 +00:00
test-error-first-line-offset.js
test-fs-readfile-error.js
test-fs-stat-sync-overflow.js
test-nodetiming-uvmetricsinfo.js src,lib: add performance.uvMetricsInfo 2024-08-30 14:22:28 +00:00
test-resolution-inspect-brk-main.ext
test-resolution-inspect-brk-resolver.js
test-runner-watch.mjs test_runner: fix support watch with run(), add globPatterns option 2024-07-24 13:11:20 +00:00
throws_error1.js
throws_error2.js
throws_error3.js
throws_error4.js
throws_error5.js
throws_error6.js
throws_error7.js
throws_error.js
tls-connect.js Revert "util: move util._extend to eol" 2024-06-14 13:07:58 +00:00
tls-session-ticket.txt
tz-version.txt deps: update timezone to 2024a 2024-02-15 19:46:31 +00:00
url-idna.js
url-searchparams.js
url-setter-tests-additional.js
url-tests-additional.js
utf8_test_text.txt
utf8-bom-shebang-shebang.js
utf8-bom.js
utf8-bom.json
utf8-shebang-bom.js
warnings.js
wasi-preview-1.js test: split wasi tests 2024-02-24 17:55:27 +00:00
worker-data.cjs
worker-data.mjs
worker-from-argv.js
worker-name.js
worker-preload.js
worker-script.mjs
worker-script.ts
x1024.txt
x.txt