MarshallOfSound

#52791: build: don't build the crowdsourced V8 compile hints producer

Merged
Created: Aug 12, 2026, 12:48:12 PM
Merged: Aug 12, 2026, 2:39:08 PM
4 comments
Target: main

Description of Change

  • Sets produce_v8_compile_hints = false so Blink builds the stub V8CrowdsourcedCompileHintsProducer (the configuration Android already ships) instead of the real one.
  • The real producer picks 0.5% of renderer processes on Windows (v8_compile_hints_producer.cc) and, for the first page in that process, compiles every http(s) classic script from source: an existing V8 code cache is deliberately not consumed and local compile hints are neither consumed nor produced (v8_code_cache.cc), so it can record which functions were compiled to UKM.
  • The consuming half lives in chrome/browser/v8_compile_hints/ and requires OptimizationGuide, and Electron has no UKM backend, so the recorded data is never used; the only observable effect of the producer is a cold-cache load for 1 in 200 renderer processes on Windows.
  • Verified locally on Linux: gn regenerates bindings/buildflags.h with PRODUCE_V8_COMPILE_HINTS=0, v8_compile_hints_producer.o compiles down to the stub, and the build links and runs.

Checklist

Release Notes

Notes: Fixed a 1-in-200 chance per renderer process on Windows of scripts on the first page load being compiled without their V8 code cache.

Backports

42-x-y
Pending
Waiting for a manual backport
43-x-y
Pending
Waiting for a manual backport
44-x-y
Merged
PR Number
#52792
Merged At
Aug 12, 2026, 4:05:35 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