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
Not yet
Release Date
Not yet

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