#53134: perf: boot every Node.js-hosting process from the Node snapshot / code cache
Backport of #52873
See that PR for details. The node patches it touches conflicted in their index/context lines and javascript_environment.cc / node_service.cc had picked up neighbouring changes on this branch; the node patch files were regenerated against this branch's patch series and the two source conflicts resolved to match main. It also carries https://chromium-review.googlesource.com/c/v8/v8/+/8188320 as a V8 cherry-pick: with the Node builtins consuming or producing a code cache, ScriptCompiler::CreateCodeCache() on their external-string sources left the strings with a null resource_data_ handle under V8_ENABLE_SANDBOX and the next startsWith() on them aborted (async-hooks/test-pipewrap and test-querywrap in the Node suite); main got that fix with the 153.0.8001.0 roll.
Notes: Improved startup time of utilityProcess.fork(), child_process.fork() / ELECTRON_RUN_AS_NODE child processes and Node.js-enabled renderers.
Backport Information
Semver Impact
Semantic Versioning helps users understand the impact of updates:
- Major (X.y.z): Breaking changes that may require code modifications
- Minor (x.Y.z): New features that maintain backward compatibility
- Patch (x.y.Z): Bug fixes that don't change the API
- None: Changes that don't affect using facing parts of Electron