src: generate snapshot with --predictable#48749
src: generate snapshot with --predictable#48749nodejs-github-bot merged 1 commit intonodejs:mainfrom
Conversation
|
Review requested:
|
Original commit message:
Ignore --predictable when computing flag list hashes
This allows reproducible code cache generation.
Refs: nodejs#48749
Change-Id: Ib4693de60ddff1fe41d95c10980f763463db3f95
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4681766
Reviewed-by: Leszek Swirski <[email protected]>
Commit-Queue: Joyee Cheung <[email protected]>
Cr-Commit-Position: refs/heads/main@{#88943}
Refs: v8/v8@b33bf2d
|
It turns out all the flags implied by --predictable need to be ignored in the flag hash computation too: Although I now wonder if |
Original commit message:
Ignore --predictable when computing flag list hashes
This allows reproducible code cache generation.
Refs: nodejs#48749
Change-Id: Ib4693de60ddff1fe41d95c10980f763463db3f95
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4681766
Reviewed-by: Leszek Swirski <[email protected]>
Commit-Queue: Joyee Cheung <[email protected]>
Cr-Commit-Position: refs/heads/main@{#88943}
Refs: v8/v8@b33bf2d
697fef6 to
1e6968d
Compare
|
hmm, looks like this is necessary after all or otherwise we get 2 more differences: nodejs/build#3043 (comment) |
Original commit message:
Ignore --predictable when computing flag list hashes
This allows reproducible code cache generation.
Refs: nodejs#48749
Change-Id: Ib4693de60ddff1fe41d95c10980f763463db3f95
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4681766
Reviewed-by: Leszek Swirski <[email protected]>
Commit-Queue: Joyee Cheung <[email protected]>
Cr-Commit-Position: refs/heads/main@{#88943}
Refs: v8/v8@b33bf2d
1e6968d to
232afe3
Compare
232afe3 to
df94eb0
Compare
Original commit message:
Ignore --predictable when computing flag list hashes
This allows reproducible code cache generation.
Refs: nodejs#48749
Change-Id: Ib4693de60ddff1fe41d95c10980f763463db3f95
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4681766
Reviewed-by: Leszek Swirski <[email protected]>
Commit-Queue: Joyee Cheung <[email protected]>
Cr-Commit-Position: refs/heads/main@{#88943}
Refs: v8/v8@b33bf2d
df94eb0 to
4cfdafb
Compare
Original commit message:
Ignore --predictable when computing flag list hashes
This allows reproducible code cache generation.
Refs: #48749
Change-Id: Ib4693de60ddff1fe41d95c10980f763463db3f95
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4681766
Reviewed-by: Leszek Swirski <[email protected]>
Commit-Queue: Joyee Cheung <[email protected]>
Cr-Commit-Position: refs/heads/main@{#88943}
Refs: v8/v8@b33bf2d
PR-URL: #49703
Refs: v8/v8@de9a5de
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
To improve determinism of snapshot generation, add --predictable to the V8 flags used to initialize a process launched to generate snapshot. Also add a kGeneratePredictableSnapshot flag to ProcessInitializationFlags for this and moves the configuration of these flags into node::InitializeOncePerProcess() so that it can be shared by embedders.
4cfdafb to
d95be40
Compare
|
Rebased after #49703 is backported and also moved the flag settings into |
|
@anonrig @richardlau This has been rebased and updated. Can I get some new LGTM please? |
Original commit message:
Ignore --predictable when computing flag list hashes
This allows reproducible code cache generation.
Refs: #48749
Change-Id: Ib4693de60ddff1fe41d95c10980f763463db3f95
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4681766
Reviewed-by: Leszek Swirski <[email protected]>
Commit-Queue: Joyee Cheung <[email protected]>
Cr-Commit-Position: refs/heads/main@{#88943}
Refs: v8/v8@b33bf2d
PR-URL: #49703
Refs: v8/v8@de9a5de
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Original commit message:
Ignore --predictable when computing flag list hashes
This allows reproducible code cache generation.
Refs: #48749
Change-Id: Ib4693de60ddff1fe41d95c10980f763463db3f95
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4681766
Reviewed-by: Leszek Swirski <[email protected]>
Commit-Queue: Joyee Cheung <[email protected]>
Cr-Commit-Position: refs/heads/main@{#88943}
Refs: v8/v8@b33bf2d
PR-URL: #49703
Refs: v8/v8@de9a5de
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
|
Landed in 387e292 |
Original commit message:
Ignore --predictable when computing flag list hashes
This allows reproducible code cache generation.
Refs: nodejs#48749
Change-Id: Ib4693de60ddff1fe41d95c10980f763463db3f95
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4681766
Reviewed-by: Leszek Swirski <[email protected]>
Commit-Queue: Joyee Cheung <[email protected]>
Cr-Commit-Position: refs/heads/main@{#88943}
Refs: v8/v8@b33bf2d
PR-URL: nodejs#49703
Refs: v8/v8@de9a5de
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
To improve determinism of snapshot generation, add --predictable to the V8 flags used to initialize a process launched to generate snapshot. Also add a kGeneratePredictableSnapshot flag to ProcessInitializationFlags for this and moves the configuration of these flags into node::InitializeOncePerProcess() so that it can be shared by embedders. PR-URL: nodejs#48749 Refs: nodejs/build#3043 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]>
To improve determinism of snapshot generation, add --predictable to the V8 flags used to initialize a process launched to generate snapshot. Also add a kGeneratePredictableSnapshot flag to ProcessInitializationFlags for this and moves the configuration of these flags into node::InitializeOncePerProcess() so that it can be shared by embedders. PR-URL: #48749 Refs: nodejs/build#3043 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]>
* chore: bump node in DEPS to v20.10.0 * chore: update feat_initialize_asar_support.patch no code changes; patch just needed an update due to nearby upstream changes Xref: nodejs/node#49986 * chore: update pass_all_globals_through_require.patch no manual changes; patch applied with fuzz Xref: nodejs/node#49657 * chore: update refactor_allow_embedder_overriding_of_internal_fs_calls Xref: nodejs/node#49912 no code changes; patch just needed an update due to nearby upstream changes * chore: update chore_allow_the_node_entrypoint_to_be_a_builtin_module.patch Xref: nodejs/node#49986 minor manual changes needed to sync with upstream change * update fix_expose_the_built-in_electron_module_via_the_esm_loader.patch Xref: nodejs/node#50096 Xref: nodejs/node#50314 in lib/internal/modules/esm/load.js, update the code that checks for `format === 'electron'`. I'd like 👀 on this Xref: nodejs/node#49657 add braces in lib/internal/modules/esm/translators.js to sync with upstream * fix: lazyload fs in esm loaders to apply asar patches * nodejs/node#50127 * nodejs/node#50096 * esm: jsdoc for modules code nodejs/node#49523 * test: set test-cli-node-options as flaky nodejs/node#50296 * deps: update c-ares to 1.20.1 nodejs/node#50082 * esm: bypass CommonJS loader under --default-type=module nodejs/node#49986 * deps: update uvwasi to 0.0.19 nodejs/node#49908 * lib,test: do not hardcode Buffer.kMaxLength nodejs/node#49876 * crypto: account for disabled SharedArrayBuffer nodejs/node#50034 * test: fix edge snapshot stack traces nodejs/node#49659 * src: generate snapshot with --predictable nodejs/node#48749 * chore: fixup patch indices * fs: throw errors from sync branches instead of separate implementations nodejs/node#49913 * crypto: ensure valid point on elliptic curve in SubtleCrypto.importKey nodejs/node#50234 * esm: detect ESM syntax in ambiguous JavaScrip nodejs/node#50096 * fixup! test: fix edge snapshot stack traces * esm: unflag extensionless ES module JavaScript and Wasm in module scope nodejs/node#49974 * [tagged-ptr] Arrowify objects https://chromium-review.googlesource.com/c/v8/v8/+/4705331 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <[email protected]> Co-authored-by: Shelley Vohr <[email protected]>
To improve determinism of snapshot generation, add --predictable to the V8 flags used to initialize a process launched to generate snapshot. Also add a kGeneratePredictableSnapshot flag to ProcessInitializationFlags for this and moves the configuration of these flags into node::InitializeOncePerProcess() so that it can be shared by embedders. PR-URL: nodejs#48749 Refs: nodejs/build#3043 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]>
To improve determinism of snapshot generation, add --predictable to the V8 flags used to initialize a process launched to generate snapshot. Also add a kGeneratePredictableSnapshot flag to ProcessInitializationFlags for this and moves the configuration of these flags into node::InitializeOncePerProcess() so that it can be shared by embedders.
Refs: nodejs/build#3043