GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||
GeezerVison is showing github.com — src: generate snapshot with --predictable by joyeecheung · Pull Request #48749 · nodejs/node Conversation
Member
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
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
Collaborator
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
richardlau
approved these changes
anonrig
approved these changes
Uh oh!
There was an error while loading. Please reload this page.
Member
Author
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
Member
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
|
There was an error while loading. Please reload this page.
|
It turns out all the flags implied by --predictable need to be ignored in the flag hash computation too: Although I now wonder if |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
697fef6 to
1e6968d
Compare
|
hmm, looks like this is necessary after all or otherwise we get 2 more differences: nodejs/build#3043 (comment) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
1e6968d to
232afe3
Compare
Sorry, something went wrong.
There was an error while loading. Please reload this page.
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
Sorry, something went wrong.
There was an error while loading. Please reload this page.
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
There was an error while loading. Please reload this page.
|
Rebased after #49703 is backported and also moved the flag settings into |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@anonrig @richardlau This has been rebased and updated. Can I get some new LGTM please? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
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 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
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]>
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.