Files
Victor Gomes 9de0d9c878 [maglev] Remove --maglev-object-tracking
Remove the experimental --maglev-object-tracking flag (and
--trace-maglev-object-tracking) along with virtual object mutation
tracking, snapshotting, cloning, and control-flow merging in Maglev
graph building. Preserve IsFieldConstant (vobj::FieldConstness::
kConstAfterInit) for folding constant fields on
VirtualJSArrayIteratorShape.

M4 Pinpoint benchmarks (150 repeats each) show that
--maglev-object-tracking provides negligible benefit in Maglev-only
mode and is neutral/noisy under Turbolev (which has its own dedicated
post-inlining escape analysis pass, TurbolevEscapeAnalysis) while
introducing significant complexity and sub-benchmark regressions:
- JS3 (--no-turbofan vs --no-turbofan --maglev-object-tracking):
  https://pinpoint-dot-chromeperf.appspot.com/job/10eab4f9990000
  (+0.27% Total/Score, p=0.0002; +0.38% Total/Average)
- JS3 (--turbolev vs --turbolev --maglev-object-tracking):
  https://pinpoint-dot-chromeperf.appspot.com/job/124a247e990000
  (+0.10% Total/Score, p=0.2135 [noise]; +0.02% Total/Average,
  p=0.8673 [noise], with -6.16% Score / -12.12% Worst regression on
  doxbee-promise and -3.01% Score / -9.06% First regression on
  js-tokens)
- SP3 (--no-turbofan vs --no-turbofan --maglev-object-tracking):
  https://pinpoint-dot-chromeperf.appspot.com/job/121545ae990000
  (+0.09% Score, p=0.0084)
- SP3 (--turbolev vs --turbolev --maglev-object-tracking):
  https://pinpoint-dot-chromeperf.appspot.com/job/12769e16990000
  (+0.02% Score, p=0.3416 [noise])

Removing the virtual object snapshotting, merging, and tracking
overhead in this CL also improves JS3 code-load and startup
benchmarks (M4 Pinpoint, 150 repeats each):
- JS3 (--no-turbofan):
  https://pinpoint-dot-chromeperf.appspot.com/job/13d1e316990000
  (+0.14% Total/Score, p=0.0212; first-inspector-code-load +1.89%
  Score / +2.64% Worst, multi-inspector-code-load +1.35% Score /
  +1.93% Worst, octane-code-load +0.75% Score, babylonjs-startup-es6
  +0.38% Score)
- JS3 (--turbolev):
  https://pinpoint-dot-chromeperf.appspot.com/job/11c76518990000
  (-0.03% Total/Score, p=0.9263 [noise]; first-inspector-code-load
  +1.59% Score / +2.14% Worst, multi-inspector-code-load +1.19%
  Score / +1.68% Worst, octane-code-load +0.50% Average,
  babylonjs-startup-es6 +0.35% Score)
- SP3 (--no-turbofan):
  https://pinpoint-dot-chromeperf.appspot.com/job/120d2365990000
  (-0.04% Score, p=0.1507 [noise])
- SP3 (--turbolev):
  https://pinpoint-dot-chromeperf.appspot.com/job/15be49b1990000
  (+0.04% Score, p=0.1009 [noise])

Bug: 582696367
Fixed: 577666671
Change-Id: Ia9d483f9c2a188102eea6510b47656be346c183a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8727069
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/main@{#111769}
2026-11-06 08:14:51 -08:00
..
2022-06-01 09:09:18 +00:00
2022-03-25 12:14:26 +00:00