-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
Remove circular dependency in code cache and snapshot building #31074
Labels
build
Issues and PRs related to build files or the CI.
Comments
joyeecheung
changed the title
refactor code cache and snapshot building
Remove circular dependency in code cache and snapshot building
Dec 23, 2019
4 tasks
4 tasks
joyeecheung
added a commit
to joyeecheung/node
that referenced
this issue
Jul 22, 2020
Otherwise the build would fail with `./configure --experimental-quic --ninja` as the list of per-Environment values would not match and the code cache builder would not generate code cache for the quic JS sources. This is more or less a band-aid - a proper fix would be to aggregate these flags into something that can be included by all these different binary targets. See nodejs#31074.
gengjiawen
pushed a commit
that referenced
this issue
Jul 22, 2020
Otherwise the build would fail with `./configure --experimental-quic --ninja` as the list of per-Environment values would not match and the code cache builder would not generate code cache for the quic JS sources. This is more or less a band-aid - a proper fix would be to aggregate these flags into something that can be included by all these different binary targets. See #31074. PR-URL: #34454 Fixes: #34435 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Jiawen Geng <[email protected]>
cjihrig
pushed a commit
that referenced
this issue
Jul 23, 2020
Otherwise the build would fail with `./configure --experimental-quic --ninja` as the list of per-Environment values would not match and the code cache builder would not generate code cache for the quic JS sources. This is more or less a band-aid - a proper fix would be to aggregate these flags into something that can be included by all these different binary targets. See #31074. PR-URL: #34454 Fixes: #34435 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Jiawen Geng <[email protected]>
joyeecheung
added a commit
that referenced
this issue
May 17, 2022
Since V8 code cache encodes indices to the read-only space it is safer to make sure that the code cache is generated in the same heap used to generate the embdded snapshot. This patch merges the code cache builder into the snapshot builder and makes the code cache part of node::SnapshotData that is deserialized into the native module loader during bootstrap. PR-URL: #43023 Fixes: #31074 Refs: #35711 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]>
bengl
pushed a commit
that referenced
this issue
May 30, 2022
Also added comments for the members of SnapshotData and renamed blob to v8_snapshot_blob_data for clarity. PR-URL: #43023 Fixes: #31074 Refs: #35711 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]>
bengl
pushed a commit
that referenced
this issue
May 30, 2022
Since V8 code cache encodes indices to the read-only space it is safer to make sure that the code cache is generated in the same heap used to generate the embdded snapshot. This patch merges the code cache builder into the snapshot builder and makes the code cache part of node::SnapshotData that is deserialized into the native module loader during bootstrap. PR-URL: #43023 Fixes: #31074 Refs: #35711 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]>
joyeecheung
added a commit
that referenced
this issue
Jul 21, 2022
Now that we include the code cache into the embedded snapshot, there is no point in splitting an Environment-independent NativeModuleLoader out of NativeModuleEnv. Merge the two classes for simplicity. PR-URL: #43824 Refs: #31074 Reviewed-By: Chengzhong Wu <[email protected]>
danielleadams
pushed a commit
that referenced
this issue
Jul 26, 2022
Now that we include the code cache into the embedded snapshot, there is no point in splitting an Environment-independent NativeModuleLoader out of NativeModuleEnv. Merge the two classes for simplicity. PR-URL: #43824 Refs: #31074 Reviewed-By: Chengzhong Wu <[email protected]>
Fyko
pushed a commit
to Fyko/node
that referenced
this issue
Sep 15, 2022
Now that we include the code cache into the embedded snapshot, there is no point in splitting an Environment-independent NativeModuleLoader out of NativeModuleEnv. Merge the two classes for simplicity. PR-URL: nodejs#43824 Refs: nodejs#31074 Reviewed-By: Chengzhong Wu <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This issue tracks this TODO in node.gyp (which was originally for the code cache builder, but we also need something similar for the snapshot builder)
node/node.gyp
Lines 1176 to 1181 in db109e8
Removing the current circular dependency in the two-step builds should make this building process less error-prone.
Previous refs:
#27431
#30647
The text was updated successfully, but these errors were encountered: