MarshallOfSound

#51856: build: do not require the Electron builtins profile in instrumented builds

Merged
Created: Jun 2, 2026, 9:14:36 PM
Merged: Jun 2, 2026, 9:44:43 PM
3 comments
Target: main

The Generate PGO Profiles workflow's instrumented builds fail on every platform since the PGO consumption change reached the branch (e.g. run 26859098350 on 42-x-y):

../../electron/build/pgo_profiles/electron-v8-builtins.profile,
needed by gen/v8/embedded.S, missing and no known rule to make it

pgo-instrument.gn imports release.gn, which now pins v8_builtins_profiling_log_file to the downloaded Electron builtins profile. Release build jobs download that file explicitly, but generation build jobs don't — and shouldn't: the instrumented build is how the first profile gets made, so generation has to work from a tree with no Electron profiles present. The June 1 generation runs only succeeded because they ran before the consumption change landed on their branches.

Reset the arg to V8's stock resolution for instrumented builds, mirroring the reset pgo-builtins-instrument.gn already does for the d8 profiling build. Builtin block layout doesn't affect C++ counter semantics, so collection fidelity is unchanged.

The 42-x-y / 43-x-y generation workflows need a re-run once the backports land.

Notes: none

Backports

42-x-y
Merged
PR Number
#51858
Merged At
Jun 2, 2026, 9:52:33 PM
Released In
v42.3.3
Release Date
Jun 3, 2026, 2:18:37 PM
43-x-y
Merged
PR Number
#51857
Merged At
Jun 2, 2026, 9:52:29 PM
Released In
v43.0.0-beta.1
Release Date
Jun 4, 2026, 3:31:55 PM

Semver Impact

Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.

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