[finch] Remove the three-argument version of BASE_FEATURE from features_generated.cc. [chromium/src : main]

0 views
Skip to first unread message

Alexei Svitkine (Gerrit)

unread,
Jul 2, 2026, 11:44:47 AM (6 days ago) Jul 2
to Julia Hansbrough, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org
Attention needed from Julia Hansbrough

Alexei Svitkine voted Code-Review+1

Code-Review+1
Open in Gerrit

Related details

Attention is currently required from:
  • Julia Hansbrough
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement 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: I3d64928b61bb231e09519a59237da5698c03465a
Gerrit-Change-Number: 8033062
Gerrit-PatchSet: 1
Gerrit-Owner: Julia Hansbrough <flowe...@google.com>
Gerrit-Reviewer: Alexei Svitkine <asvi...@chromium.org>
Gerrit-Reviewer: Julia Hansbrough <flowe...@google.com>
Gerrit-Attention: Julia Hansbrough <flowe...@google.com>
Gerrit-Comment-Date: Thu, 02 Jul 2026 15:44:38 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Alexei Svitkine (Gerrit)

unread,
Jul 2, 2026, 2:54:21 PM (6 days ago) Jul 2
to Julia Hansbrough, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org
Attention needed from Julia Hansbrough

Alexei Svitkine added 1 comment

Patchset-level comments
File-level comment, Patchset 1 (Latest):
Alexei Svitkine . unresolved

Hmm, this is showing as a binary size increase, which is surprising to me. I thought the 2-arg macro would generate the same code as the 3-arg one.

Open in Gerrit

Related details

Attention is currently required from:
  • Julia Hansbrough
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement 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: I3d64928b61bb231e09519a59237da5698c03465a
    Gerrit-Change-Number: 8033062
    Gerrit-PatchSet: 1
    Gerrit-Owner: Julia Hansbrough <flowe...@google.com>
    Gerrit-Reviewer: Alexei Svitkine <asvi...@chromium.org>
    Gerrit-Reviewer: Julia Hansbrough <flowe...@google.com>
    Gerrit-Attention: Julia Hansbrough <flowe...@google.com>
    Gerrit-Comment-Date: Thu, 02 Jul 2026 18:54:13 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Julia Hansbrough (Gerrit)

    unread,
    6:43 PM (4 hours ago) 6:43 PM
    to Alexei Svitkine, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org
    Attention needed from Alexei Svitkine

    Julia Hansbrough added 1 comment

    Patchset-level comments
    Alexei Svitkine . unresolved

    Hmm, this is showing as a binary size increase, which is surprising to me. I thought the 2-arg macro would generate the same code as the 3-arg one.

    Julia Hansbrough

    Finally had a chance to look into this!

    Full disclosure: I used Gemini to help me root-cause this. I've checked its logic & checked against my own build (& the writeup here is my own), but feel free to speak up if I've missed something:

    It looks like the issue here is a change introduced in crrev.com/6903879: while using StringStorage to derive a feature name does save us one character's worth of .rodata, but emitting that helper lambda for each Feature *adds* to `.text` (and the accompanying symbol table entry, etc).

    Back when that CL went in, not many things were using the two-argument macro, and the migrations over since then have been piecewise, and thus (presumably) too small of changes to get dinged by the binary size checker. But changing so many Features *all at once* I think is what's causing the problem here.

    Replacing `StringStorage` with the `string_view(#feature).substr(1).data()` seems to achieve the same functionality without making the binary size checker unhappy. So, perhaps we can simply merge it with this change? Please take a look and let me know (leaving this comment unresolved until I've got a +1 from you).

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Alexei Svitkine
    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: I3d64928b61bb231e09519a59237da5698c03465a
    Gerrit-Change-Number: 8033062
    Gerrit-PatchSet: 2
    Gerrit-Owner: Julia Hansbrough <flowe...@google.com>
    Gerrit-Reviewer: Alexei Svitkine <asvi...@chromium.org>
    Gerrit-Reviewer: Julia Hansbrough <flowe...@google.com>
    Gerrit-Attention: Alexei Svitkine <asvi...@chromium.org>
    Gerrit-Comment-Date: Wed, 08 Jul 2026 22:42:52 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Alexei Svitkine <asvi...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy
    Reply all
    Reply to author
    Forward
    0 new messages