Revert "[layout] Don't allow copying of ConstraintSpace and make RareData const." [chromium/src : main]

0 views
Skip to first unread message

Rubber Stamper (Gerrit)

unread,
Jan 6, 2026, 8:29:32 AM (11 days ago) Jan 6
to Steinar H Gunderson, AyeAye, Chromium LUCI CQ, Kurt Catti-Schmidt, Ian Kilpatrick, AI Code Reviewer, chromium...@chromium.org, chrom...@appspot.gserviceaccount.com, blink-revi...@chromium.org, zol...@webkit.org, blink-...@chromium.org
Attention needed from Ian Kilpatrick and Kurt Catti-Schmidt

Message from Rubber Stamper

The change is not in the configured time window. Rubber Stamper is only allowed to review reverts within 14 day(s). Learn more: go/rubber-stamper-user-guide.

Open in Gerrit

Related details

Attention is currently required from:
  • Ian Kilpatrick
  • Kurt Catti-Schmidt
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I6af130fd203b29d1b6e0c9c57eff129a1a9dca45
Gerrit-Change-Number: 7362199
Gerrit-PatchSet: 1
Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
Gerrit-Reviewer: Ian Kilpatrick <ikilp...@chromium.org>
Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
Gerrit-Reviewer: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
Gerrit-Attention: Ian Kilpatrick <ikilp...@chromium.org>
Gerrit-Comment-Date: Tue, 06 Jan 2026 13:29:19 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Ian Kilpatrick (Gerrit)

unread,
Jan 6, 2026, 1:30:33 PM (11 days ago) Jan 6
to Steinar H Gunderson, AyeAye, Chromium LUCI CQ, Kurt Catti-Schmidt, AI Code Reviewer, chromium...@chromium.org, chrom...@appspot.gserviceaccount.com, blink-revi...@chromium.org, zol...@webkit.org, blink-...@chromium.org
Attention needed from Kurt Catti-Schmidt and Steinar H Gunderson

Ian Kilpatrick added 1 comment

Patchset-level comments
File-level comment, Patchset 1 (Latest):
Ian Kilpatrick . unresolved

Very strange - I see a decrease with the original patch applied:

On a M4 machine

`./out/Release/blink_perf_tests --gtest_filter=StyleCalcPerfTest.Encyclopedia`

`gn args out/Release`

```
is_debug = false
use_remoteexec = true
enable_profiling = true
```

ToT:
```
BlinkStyleGCAllocated: Encyclopedia= 61758 kB
BlinkStyleGCAllocated: Encyclopedia= 61449 kB
BlinkStyleGCAllocated: Encyclopedia= 61460 kB
BlinkStyleGCAllocated: Encyclopedia= 61456 kB
BlinkStyleGCAllocated: Encyclopedia= 61470 kB
```

With Revert:
```
BlinkStyleGCAllocated: Encyclopedia= 69716 kB
BlinkStyleGCAllocated: Encyclopedia= 69770 kB
BlinkStyleGCAllocated: Encyclopedia= 69776 kB
BlinkStyleGCAllocated: Encyclopedia= 69774 kB
BlinkStyleGCAllocated: Encyclopedia= 69767 kB
```

What were you seeing?

Open in Gerrit

Related details

Attention is currently required from:
  • Kurt Catti-Schmidt
  • Steinar H Gunderson
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I6af130fd203b29d1b6e0c9c57eff129a1a9dca45
    Gerrit-Change-Number: 7362199
    Gerrit-PatchSet: 1
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
    Gerrit-Reviewer: Ian Kilpatrick <ikilp...@chromium.org>
    Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Comment-Date: Tue, 06 Jan 2026 18:30:23 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Steinar H Gunderson (Gerrit)

    unread,
    Jan 6, 2026, 1:35:37 PM (11 days ago) Jan 6
    to AyeAye, Chromium LUCI CQ, Kurt Catti-Schmidt, Ian Kilpatrick, AI Code Reviewer, chromium...@chromium.org, chrom...@appspot.gserviceaccount.com, blink-revi...@chromium.org, zol...@webkit.org, blink-...@chromium.org
    Attention needed from Ian Kilpatrick and Kurt Catti-Schmidt

    Steinar H Gunderson added 1 comment

    Patchset-level comments
    Ian Kilpatrick . unresolved

    Very strange - I see a decrease with the original patch applied:

    On a M4 machine

    `./out/Release/blink_perf_tests --gtest_filter=StyleCalcPerfTest.Encyclopedia`

    `gn args out/Release`

    ```
    is_debug = false
    use_remoteexec = true
    enable_profiling = true
    ```

    ToT:
    ```
    BlinkStyleGCAllocated: Encyclopedia= 61758 kB
    BlinkStyleGCAllocated: Encyclopedia= 61449 kB
    BlinkStyleGCAllocated: Encyclopedia= 61460 kB
    BlinkStyleGCAllocated: Encyclopedia= 61456 kB
    BlinkStyleGCAllocated: Encyclopedia= 61470 kB
    ```

    With Revert:
    ```
    BlinkStyleGCAllocated: Encyclopedia= 69716 kB
    BlinkStyleGCAllocated: Encyclopedia= 69770 kB
    BlinkStyleGCAllocated: Encyclopedia= 69776 kB
    BlinkStyleGCAllocated: Encyclopedia= 69774 kB
    BlinkStyleGCAllocated: Encyclopedia= 69767 kB
    ```

    What were you seeing?

    Steinar H Gunderson

    A change from 19472 to 95428 kB. Most other tests are either 5–6 or 15 MB, FWIW. These are the flags I'm using:

    ```
    use_remoteexec = true
    use_siso = false
    is_official_build = true
    chrome_pgo_phase = 0
    dcheck_always_on = false
    symbol_level = 1
    blink_symbol_level = 2
    treat_warnings_as_errors = false
    ```

    These Oilpan counters are sometimes weird; we do ask for a complete GC before counting, but there are anomalies sometimes anyway. But 69 MB sounds like a _lot_ in any case, and if there's supposed to be no functional change, why are they dropping by 8 MB (!!) on macOS?

    What are you seeing on the other ones? Note that you'll need to run them one at a time to get isolation; I typically do

    ```
    for X in Video Extension News ECommerce Social1 Social2 Encyclopedia Sports Search; do echo -n "$X: "; ./out/Release/blink_perf_tnews --gtest_filter=\*.$X 2>&1 | grep GCAlloc ;done
    ```

    You can find some recent measurements in https://chromium-review.googlesource.com/c/chromium/src/+/7254563 .

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Ian Kilpatrick
    • Kurt Catti-Schmidt
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I6af130fd203b29d1b6e0c9c57eff129a1a9dca45
    Gerrit-Change-Number: 7362199
    Gerrit-PatchSet: 1
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
    Gerrit-Reviewer: Ian Kilpatrick <ikilp...@chromium.org>
    Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
    Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-Attention: Ian Kilpatrick <ikilp...@chromium.org>
    Gerrit-Comment-Date: Tue, 06 Jan 2026 18:35:19 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Ian Kilpatrick <ikilp...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Ian Kilpatrick (Gerrit)

    unread,
    Jan 6, 2026, 1:55:10 PM (11 days ago) Jan 6
    to Steinar H Gunderson, AyeAye, Chromium LUCI CQ, Kurt Catti-Schmidt, AI Code Reviewer, chromium...@chromium.org, chrom...@appspot.gserviceaccount.com, blink-revi...@chromium.org, zol...@webkit.org, blink-...@chromium.org
    Attention needed from Kurt Catti-Schmidt and Steinar H Gunderson

    Ian Kilpatrick added 1 comment

    Patchset-level comments
    Ian Kilpatrick

    No significant change with the other subtests - just Encyclopedia.

    ToT:
    ```
    Video: *RESULT BlinkStyleGCAllocated: Video= 13947 kB
    Extension: *RESULT BlinkStyleGCAllocated: Extension= 27554 kB
    News: *RESULT BlinkStyleGCAllocated: News= 7174 kB
    ECommerce: *RESULT BlinkStyleGCAllocated: ECommerce= 3872 kB
    Social1: *RESULT BlinkStyleGCAllocated: Social1= 7219 kB
    Social2: *RESULT BlinkStyleGCAllocated: Social2= 2565 kB
    Encyclopedia: *RESULT BlinkStyleGCAllocated: Encyclopedia= 61442 kB
    Sports: *RESULT BlinkStyleGCAllocated: Sports= 18133 kB
    Search: *RESULT BlinkStyleGCAllocated: Search= 3342 kB
    ```

    With Revert:
    ```
    Video: *RESULT BlinkStyleGCAllocated: Video= 13947 kB
    Extension: *RESULT BlinkStyleGCAllocated: Extension= 27558 kB
    News: *RESULT BlinkStyleGCAllocated: News= 7174 kB
    ECommerce: *RESULT BlinkStyleGCAllocated: ECommerce= 3892 kB
    Social1: *RESULT BlinkStyleGCAllocated: Social1= 7221 kB
    Social2: *RESULT BlinkStyleGCAllocated: Social2= 2562 kB
    Encyclopedia: *RESULT BlinkStyleGCAllocated: Encyclopedia= 69766 kB
    Sports: *RESULT BlinkStyleGCAllocated: Sports= 18135 kB
    Search: *RESULT BlinkStyleGCAllocated: Search= 3342 kB
    ```

    "There should be no behaviour change"

    By this I typically mean there should be no web-developer exposed behaviour change (no bug fixes, implementation changes, etc).

    why are they dropping by 8 MB (!!) on macOS?

    The change which would be doing this is the removal of the copy of the RareData in the `ConstraintSpace` constructor, e.g. `MakeGarbageCollected<RareData>(*other.rare_data_)`

    I wonder if the deletion of the operator= switch the exclusion_space_ to using the copy instead of move ctor (can you try https://chromium-review.googlesource.com/c/chromium/src/+/7403005 locally and see if that affects it?).

    GCAlloc just measures the bytes allocated not the actual used memory right (e.g. additional fragmentation memory wise should affect this result?)

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Kurt Catti-Schmidt
    • Steinar H Gunderson
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I6af130fd203b29d1b6e0c9c57eff129a1a9dca45
    Gerrit-Change-Number: 7362199
    Gerrit-PatchSet: 1
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
    Gerrit-Reviewer: Ian Kilpatrick <ikilp...@chromium.org>
    Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
    Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Comment-Date: Tue, 06 Jan 2026 18:54:59 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Ian Kilpatrick <ikilp...@chromium.org>
    Comment-In-Reply-To: Steinar H Gunderson <se...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Steinar H Gunderson (Gerrit)

    unread,
    Jan 6, 2026, 2:24:01 PM (11 days ago) Jan 6
    to AyeAye, Chromium LUCI CQ, Kurt Catti-Schmidt, Ian Kilpatrick, AI Code Reviewer, chromium...@chromium.org, chrom...@appspot.gserviceaccount.com, blink-revi...@chromium.org, zol...@webkit.org, blink-...@chromium.org
    Attention needed from Ian Kilpatrick and Kurt Catti-Schmidt

    Steinar H Gunderson added 1 comment

    Patchset-level comments
    Steinar H Gunderson

    OK, so most of the others are in the same ballpark across platforms, thankfully. It's only Encylopedia (a Wikipedia page) that's off the charts big on macOS.

    I wonder if the deletion of the operator= switch the exclusion_space_ to using the copy instead of move ctor (can you try https://chromium-review.googlesource.com/c/chromium/src/+/7403005 locally and see if that affects it?).

    No change; just some noise to the tune of +/- 100 kB.

    GCAlloc just measures the bytes allocated not the actual used memory right (e.g. additional fragmentation memory wise should affect this result?)

    I believe so, but my understanding of Oilpan internals are limited. I just use the values they give me :-) It _is_ possible that this is some sort of measurement mirage, but if so, it's the first time I've seen something so large.

    In support of the “the measurement is off” theory, the max RSS of the benchmark increases from ~180 MB to ~195 MB with the revert.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Ian Kilpatrick
    • Kurt Catti-Schmidt
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I6af130fd203b29d1b6e0c9c57eff129a1a9dca45
    Gerrit-Change-Number: 7362199
    Gerrit-PatchSet: 1
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
    Gerrit-Reviewer: Ian Kilpatrick <ikilp...@chromium.org>
    Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
    Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-Attention: Ian Kilpatrick <ikilp...@chromium.org>
    Gerrit-Comment-Date: Tue, 06 Jan 2026 19:23:40 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Ian Kilpatrick (Gerrit)

    unread,
    Jan 6, 2026, 3:39:13 PM (11 days ago) Jan 6
    to Steinar H Gunderson, Michael Lippautz, AyeAye, Chromium LUCI CQ, Kurt Catti-Schmidt, AI Code Reviewer, chromium...@chromium.org, chrom...@appspot.gserviceaccount.com, blink-revi...@chromium.org, zol...@webkit.org, blink-...@chromium.org
    Attention needed from Kurt Catti-Schmidt and Steinar H Gunderson

    Ian Kilpatrick added 1 comment

    Patchset-level comments
    Ian Kilpatrick

    The RareData patch did progress system_health.memory_desktop on a subbenchmark that is heavy on RareData, see:
    https://chrome-perf.corp.goog/u/?rev=1561489

    By my reading of how gc_allocated_bytes is caclulated - it might be sensitive to if/when various parts of GC run.

    E.g. `StatsCollector::NotifyMarkingCompleted` resets the counter when marking is completed, (presumably just the the alive bytes).

    Reading the values only looks valid(?) if `StatsCollector::NotifySafePointForTesting` is called?

    cc/ Michael - we are trying to understand the behaviour of `blink::ProcessHeap::TotalAllocatedObjectSize` within:
    https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/style_perftest.cc;l=181-241;drc=f1b6d6ff322093d1e36b55345d9bc13a1b4e435c

    Whats the safest way to read this value?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Kurt Catti-Schmidt
    • Steinar H Gunderson
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I6af130fd203b29d1b6e0c9c57eff129a1a9dca45
    Gerrit-Change-Number: 7362199
    Gerrit-PatchSet: 1
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
    Gerrit-Reviewer: Ian Kilpatrick <ikilp...@chromium.org>
    Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
    Gerrit-CC: Michael Lippautz <mlip...@chromium.org>
    Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Comment-Date: Tue, 06 Jan 2026 20:39:04 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Steinar H Gunderson (Gerrit)

    unread,
    Jan 6, 2026, 3:42:23 PM (11 days ago) Jan 6
    to Michael Lippautz, AyeAye, Chromium LUCI CQ, Kurt Catti-Schmidt, Ian Kilpatrick, AI Code Reviewer, chromium...@chromium.org, chrom...@appspot.gserviceaccount.com, blink-revi...@chromium.org, zol...@webkit.org, blink-...@chromium.org
    Attention needed from Ian Kilpatrick and Kurt Catti-Schmidt

    Steinar H Gunderson added 1 comment

    Patchset-level comments
    Steinar H Gunderson

    FWIW, we call ThreadState::Current()->CollectAllGarbageForTesting() before the measure point, but we don't _afterwards_ (since we want to have some idea of how much garbage we're actually creating). We're not calling NotifySafePointForTesting(), though; perhaps we should do that?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Ian Kilpatrick
    • Kurt Catti-Schmidt
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I6af130fd203b29d1b6e0c9c57eff129a1a9dca45
    Gerrit-Change-Number: 7362199
    Gerrit-PatchSet: 1
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
    Gerrit-Reviewer: Ian Kilpatrick <ikilp...@chromium.org>
    Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
    Gerrit-CC: Michael Lippautz <mlip...@chromium.org>
    Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-Attention: Ian Kilpatrick <ikilp...@chromium.org>
    Gerrit-Comment-Date: Tue, 06 Jan 2026 20:42:03 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Steinar H Gunderson (Gerrit)

    unread,
    Jan 16, 2026, 10:06:48 AM (yesterday) Jan 16
    to Code Review Nudger, Michael Lippautz, AyeAye, Chromium LUCI CQ, Kurt Catti-Schmidt, Ian Kilpatrick, AI Code Reviewer, chromium...@chromium.org, chrom...@appspot.gserviceaccount.com, blink-revi...@chromium.org, zol...@webkit.org, blink-...@chromium.org
    Attention needed from Ian Kilpatrick and Kurt Catti-Schmidt

    Steinar H Gunderson added 1 comment

    Patchset-level comments
    Steinar H Gunderson . resolved

    I hacked up the counter to simply never subtract on GCs or deallocations (so it just counts the number of allocated bytes ever instead), and the picture is still the same: The amount of memory for Encyclopedia goes from 137914 kB to 167627 kB, i.e., a rather large increase. (That's a lot of garbage, in any case!) Extension is also a megabyte or two, the rest are minor.

    Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
    Gerrit-CC: Michael Lippautz <mlip...@chromium.org>
    Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-Attention: Ian Kilpatrick <ikilp...@chromium.org>
    Gerrit-Comment-Date: Fri, 16 Jan 2026 15:06:30 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Steinar H Gunderson (Gerrit)

    unread,
    Jan 16, 2026, 10:18:33 AM (yesterday) Jan 16
    to Code Review Nudger, Michael Lippautz, AyeAye, Chromium LUCI CQ, Kurt Catti-Schmidt, Ian Kilpatrick, AI Code Reviewer, chromium...@chromium.org, chrom...@appspot.gserviceaccount.com, blink-revi...@chromium.org, zol...@webkit.org, blink-...@chromium.org
    Attention needed from Ian Kilpatrick and Kurt Catti-Schmidt

    Steinar H Gunderson added 1 comment

    Patchset-level comments
    Steinar H Gunderson . resolved

    I hacked up the counter to simply never subtract on GCs or deallocations (so it just counts the number of allocated bytes ever instead), and the picture is still the same: The amount of memory for Encyclopedia goes from 137914 kB to 167627 kB, i.e., a rather large increase. (That's a lot of garbage, in any case!) Extension is also a megabyte or two, the rest are minor.

    Steinar H Gunderson

    And if I add a forced GC right before measuring instead, I get 17180 kB both before and after. So this change doesn't allocate more permanent memory, but it does seem to me to make more garbage.

    Gerrit-Comment-Date: Fri, 16 Jan 2026 15:18:18 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Ian Kilpatrick (Gerrit)

    unread,
    Jan 16, 2026, 7:05:37 PM (20 hours ago) Jan 16
    to Steinar H Gunderson, Michael Lippautz, Code Review Nudger, AyeAye, Chromium LUCI CQ, Kurt Catti-Schmidt, AI Code Reviewer, chromium...@chromium.org, chrom...@appspot.gserviceaccount.com, blink-revi...@chromium.org, zol...@webkit.org, blink-...@chromium.org
    Attention needed from Kurt Catti-Schmidt, Michael Lippautz and Steinar H Gunderson

    Ian Kilpatrick added 2 comments

    Patchset-level comments
    Ian Kilpatrick . resolved

    +r Michael to make sure he sees this.

    Steinar H Gunderson . resolved

    I hacked up the counter to simply never subtract on GCs or deallocations (so it just counts the number of allocated bytes ever instead), and the picture is still the same: The amount of memory for Encyclopedia goes from 137914 kB to 167627 kB, i.e., a rather large increase. (That's a lot of garbage, in any case!) Extension is also a megabyte or two, the rest are minor.

    Steinar H Gunderson

    And if I add a forced GC right before measuring instead, I get 17180 kB both before and after. So this change doesn't allocate more permanent memory, but it does seem to me to make more garbage.

    Ian Kilpatrick

    I think there is a sneaky GC happening which is affecting the results.

    E.g. I added a:

    ```
    --- a/third_party/blink/renderer/core/css/style_perftest.cc
    +++ b/third_party/blink/renderer/core/css/style_perftest.cc
    @@ -180,6 +180,8 @@ static StylePerfResult MeasureStyleForDumpedPage(
    // only (e.g. --gtest_filter=StyleCalcPerfTest.Video).
    ThreadState::Current()->CollectAllGarbageForTesting();

    + HeapAllocator::EnterGCForbiddenScope();
    +
    size_t orig_gc_allocated_bytes =
    blink::ProcessHeap::TotalAllocatedObjectSize();
    size_t orig_partition_allocated_bytes =
    ```

    To prevent GC just after the `CollectAllGarbageForTesting` and got:

    ToT:
    ```
    Video: *RESULT BlinkStyleGCAllocated: Video= 20662 kB
    Extension: *RESULT BlinkStyleGCAllocated: Extension= 97298 kB
    News: *RESULT BlinkStyleGCAllocated: News= 17557 kB
    ECommerce: *RESULT BlinkStyleGCAllocated: ECommerce= 10727 kB
    Social1: *RESULT BlinkStyleGCAllocated: Social1= 14551 kB
    Social2: *RESULT BlinkStyleGCAllocated: Social2= 8393 kB
    Encyclopedia: *RESULT BlinkStyleGCAllocated: Encyclopedia= 121215 kB
    Sports: *RESULT BlinkStyleGCAllocated: Sports= 23942 kB
    Search: *RESULT BlinkStyleGCAllocated: Search= 8600 kB
    ```

    With revert:
    ```
    Video: *RESULT BlinkStyleGCAllocated: Video= 20659 kB
    Extension: *RESULT BlinkStyleGCAllocated: Extension= 99941 kB
    News: *RESULT BlinkStyleGCAllocated: News= 17557 kB
    ECommerce: *RESULT BlinkStyleGCAllocated: ECommerce= 10728 kB
    Social1: *RESULT BlinkStyleGCAllocated: Social1= 14680 kB
    Social2: *RESULT BlinkStyleGCAllocated: Social2= 8393 kB
    Encyclopedia: *RESULT BlinkStyleGCAllocated: Encyclopedia= 131281 kB
    Sports: *RESULT BlinkStyleGCAllocated: Sports= 24052 kB
    Search: *RESULT BlinkStyleGCAllocated: Search= 8714 kB
    ```

    (revert is worse in all cases).

    Without the `EnterGCForbiddenScope` I currently get:

    ToT:
    ```
    Video: *RESULT BlinkStyleGCAllocated: Video= 13882 kB
    Extension: *RESULT BlinkStyleGCAllocated: Extension= 27529 kB
    News: *RESULT BlinkStyleGCAllocated: News= 7126 kB
    ECommerce: *RESULT BlinkStyleGCAllocated: ECommerce= 3847 kB
    Social1: *RESULT BlinkStyleGCAllocated: Social1= 7184 kB
    Social2: *RESULT BlinkStyleGCAllocated: Social2= 2548 kB
    Encyclopedia: *RESULT BlinkStyleGCAllocated: Encyclopedia= 60773 kB
    Sports: *RESULT BlinkStyleGCAllocated: Sports= 18047 kB
    Search: *RESULT BlinkStyleGCAllocated: Search= 3330 kB
    ```

    With revert:
    ```
    Video: *RESULT BlinkStyleGCAllocated: Video= 13882 kB
    Extension: *RESULT BlinkStyleGCAllocated: Extension= 27530 kB
    News: *RESULT BlinkStyleGCAllocated: News= 7126 kB
    ECommerce: *RESULT BlinkStyleGCAllocated: ECommerce= 3847 kB
    Social1: *RESULT BlinkStyleGCAllocated: Social1= 7188 kB
    Social2: *RESULT BlinkStyleGCAllocated: Social2= 2547 kB
    Encyclopedia: *RESULT BlinkStyleGCAllocated: Encyclopedia= 70048 kB
    Sports: *RESULT BlinkStyleGCAllocated: Sports= 18048 kB
    Search: *RESULT BlinkStyleGCAllocated: Search= 3339 kB
    ```

    So the GC is definitely doing *something* while the test is being run.

    I also spun up a linux cloudtop to see if I could reproduce and got similar regression with the revert (I can post numbers later tonight).

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Kurt Catti-Schmidt
    • Michael Lippautz
    • Steinar H Gunderson
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I6af130fd203b29d1b6e0c9c57eff129a1a9dca45
    Gerrit-Change-Number: 7362199
    Gerrit-PatchSet: 1
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
    Gerrit-Reviewer: Ian Kilpatrick <ikilp...@chromium.org>
    Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
    Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
    Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
    Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
    Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Comment-Date: Sat, 17 Jan 2026 00:05:27 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Ian Kilpatrick (Gerrit)

    unread,
    Jan 16, 2026, 11:35:11 PM (15 hours ago) Jan 16
    to Steinar H Gunderson, Michael Lippautz, Code Review Nudger, AyeAye, Chromium LUCI CQ, Kurt Catti-Schmidt, AI Code Reviewer, chromium...@chromium.org, chrom...@appspot.gserviceaccount.com, blink-revi...@chromium.org, zol...@webkit.org, blink-...@chromium.org
    Attention needed from Kurt Catti-Schmidt, Michael Lippautz and Steinar H Gunderson

    Ian Kilpatrick added 1 comment

    Patchset-level comments
    Ian Kilpatrick

    Linux cloudtop

    ToT:
    ```
    Video: *RESULT BlinkStyleGCAllocated: Video= 13896 kB
    Extension: *RESULT BlinkStyleGCAllocated: Extension= 27108 kB
    News: *RESULT BlinkStyleGCAllocated: News= 7117 kB
    ECommerce: *RESULT BlinkStyleGCAllocated: ECommerce= 3777 kB
    Social1: *RESULT BlinkStyleGCAllocated: Social1= 7135 kB
    Social2: *RESULT BlinkStyleGCAllocated: Social2= 2546 kB
    Encyclopedia: *RESULT BlinkStyleGCAllocated: Encyclopedia= 73224 kB
    Sports: *RESULT BlinkStyleGCAllocated: Sports= 18012 kB
    Search: *RESULT BlinkStyleGCAllocated: Search= 3315 kB
    ```

    With revert:
    ```
    Video: *RESULT BlinkStyleGCAllocated: Video= 13895 kB
    Extension: *RESULT BlinkStyleGCAllocated: Extension= 27110 kB
    News: *RESULT BlinkStyleGCAllocated: News= 7117 kB
    ECommerce: *RESULT BlinkStyleGCAllocated: ECommerce= 3777 kB
    Social1: *RESULT BlinkStyleGCAllocated: Social1= 7138 kB
    Social2: *RESULT BlinkStyleGCAllocated: Social2= 2546 kB
    Encyclopedia: *RESULT BlinkStyleGCAllocated: Encyclopedia= 83174 kB
    Sports: *RESULT BlinkStyleGCAllocated: Sports= 18004 kB
    Search: *RESULT BlinkStyleGCAllocated: Search= 3320 kB
    ```

    Gerrit-Comment-Date: Sat, 17 Jan 2026 04:35:00 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Ian Kilpatrick <ikilp...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy
    Reply all
    Reply to author
    Forward
    0 new messages