From 18118b280b3d1a12d24ae060aba0eead053b127e Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Wed, 9 Jan 2019 02:09:52 +0100 Subject: [PATCH 1/2] worker: set `--experimental-worker` always This is similar to https://github.com/nodejs/node/pull/25361 in functionality, but allows avoiding some backporting pain for v11.x. Refs: https://github.com/nodejs/node/pull/25361 --- src/node_options.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/node_options.h b/src/node_options.h index 40eae6f7f8f358..0b02733929682e 100644 --- a/src/node_options.h +++ b/src/node_options.h @@ -95,7 +95,7 @@ class EnvironmentOptions : public Options { bool experimental_modules = false; bool experimental_repl_await = false; bool experimental_vm_modules = false; - bool experimental_worker = false; + bool experimental_worker = true; bool expose_internals = false; std::string http_parser = #ifdef NODE_EXPERIMENTAL_HTTP_DEFAULT From 29a697fdf8ea7e0142fa0768977ac56bcdb77b74 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Sun, 6 Jan 2019 01:52:16 +0100 Subject: [PATCH 2/2] worker: partially remove `--experimental-worker` flag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a trimmed-down version of 63d4cae009e11412 that avoids backporting pain for v11.x. The remainder of the original commit can be cherry-picked later, once other PRs have been backported first. --- Having an experimental feature behind a flag makes change if we are expecting significant breaking changes to its API. Since the Worker API has been essentially stable since its initial introduction, and no noticeable doubt about possibly not keeping the feature around has been voiced, removing the flag and thereby reducing the barrier to experimentation, and consequently receiving feedback on the implementation, seems like a good idea. Refs: https://github.com/nodejs/node/pull/25361 Reviewed-By: Rich Trott Reviewed-By: Yuta Hiroto Reviewed-By: Shingo Inoue Reviewed-By: James M Snell Reviewed-By: Colin Ihrig Reviewed-By: Benjamin Gruenbaum Reviewed-By: Tiancheng "Timothy" Gu Reviewed-By: Tobias Nießen Reviewed-By: Masashi Hirano Reviewed-By: Weijia Wang Reviewed-By: Gireesh Punathil Reviewed-By: Michael Dawson --- benchmark/misc/startup.js | 2 +- benchmark/worker/echo.js | 2 +- doc/api/cli.md | 8 -------- doc/api/worker_threads.md | 2 +- doc/node.1 | 3 --- test/abort/test-addon-uv-handle-leak.js | 3 +-- test/addons/hello-world/test-worker.js | 1 - test/addons/worker-addon/test.js | 2 -- test/parallel/test-async-wrap-missing-method.js | 1 - test/parallel/test-heapdump-worker.js | 2 +- test/parallel/test-module-cjs-helpers.js | 2 +- test/parallel/test-trace-events-api-worker-disabled.js | 1 - .../test-trace-events-dynamic-enable-workers-disabled.js | 1 - test/parallel/test-trace-events-worker-metadata.js | 4 +--- test/parallel/test-v8-coverage.js | 1 - test/parallel/test-worker-cleanup-handles.js | 1 - test/parallel/test-worker-debug.js | 5 ++--- test/parallel/test-worker-dns-terminate.js | 1 - test/parallel/test-worker-esmodule.js | 2 +- test/parallel/test-worker-exit-code.js | 1 - test/parallel/test-worker-invalid-workerdata.js | 1 - test/parallel/test-worker-memory.js | 1 - .../test-worker-message-channel-sharedarraybuffer.js | 2 +- test/parallel/test-worker-message-channel.js | 1 - test/parallel/test-worker-message-port-arraybuffer.js | 1 - test/parallel/test-worker-message-port-drain.js | 1 - .../test-worker-message-port-message-port-transferring.js | 1 - test/parallel/test-worker-message-port-transfer-closed.js | 1 - test/parallel/test-worker-message-port-transfer-self.js | 1 - test/parallel/test-worker-message-port-transfer-target.js | 1 - test/parallel/test-worker-message-port-wasm-module.js | 1 - test/parallel/test-worker-message-port-wasm-threads.js | 2 +- test/parallel/test-worker-message-port.js | 1 - .../test-worker-messageport-transfer-terminate.js | 1 - test/parallel/test-worker-nexttick-terminate.js | 1 - test/parallel/test-worker-onmessage-not-a-function.js | 1 - test/parallel/test-worker-onmessage.js | 1 - test/parallel/test-worker-parent-port-ref.js | 1 - test/parallel/test-worker-relative-path-double-dot.js | 1 - test/parallel/test-worker-relative-path.js | 1 - test/parallel/test-worker-stdio.js | 1 - test/parallel/test-worker-syntax-error-file.js | 1 - test/parallel/test-worker-syntax-error.js | 1 - test/parallel/test-worker-type-check.js | 1 - test/parallel/test-worker-uncaught-exception-async.js | 1 - test/parallel/test-worker-uncaught-exception.js | 1 - test/parallel/test-worker-unsupported-path.js | 1 - test/parallel/test-worker-unsupported-things.js | 1 - test/parallel/test-worker-workerdata-sharedarraybuffer.js | 2 +- test/parallel/test-worker.js | 1 - test/wpt/test-console.js | 2 +- test/wpt/test-url.js | 2 +- tools/test.py | 1 - 53 files changed, 15 insertions(+), 68 deletions(-) diff --git a/benchmark/misc/startup.js b/benchmark/misc/startup.js index 1350cd291e2b18..c1c893b0011abd 100644 --- a/benchmark/misc/startup.js +++ b/benchmark/misc/startup.js @@ -10,7 +10,7 @@ const bench = common.createBenchmark(main, { script: ['benchmark/fixtures/require-cachable', 'test/fixtures/semicolon'], mode: ['process', 'worker'] }, { - flags: ['--expose-internals', '--experimental-worker'] // for workers + flags: ['--expose-internals'] }); function spawnProcess(script) { diff --git a/benchmark/worker/echo.js b/benchmark/worker/echo.js index 32c4bddf7d5f77..3e729d0e26fa04 100644 --- a/benchmark/worker/echo.js +++ b/benchmark/worker/echo.js @@ -7,7 +7,7 @@ const bench = common.createBenchmark(main, { payload: ['string', 'object'], sendsPerBroadcast: [1, 10], n: [1e5] -}, { flags: ['--experimental-worker'] }); +}); const workerPath = path.resolve(__dirname, '..', 'fixtures', 'echo.worker.js'); diff --git a/doc/api/cli.md b/doc/api/cli.md index 7e0ef03a5830ef..c2c8a59ced2033 100644 --- a/doc/api/cli.md +++ b/doc/api/cli.md @@ -104,13 +104,6 @@ added: v9.6.0 Enable experimental ES Module support in the `vm` module. -### `--experimental-worker` - - -Enable experimental worker threads using the `worker_threads` module. - ### `--force-fips`