<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>315311</bug_id>
          
          <creation_ts>2026-05-21 12:09:30 -0700</creation_ts>
          <short_desc>Reduce cost of framework-headers rule invocations</short_desc>
          <delta_ts>2026-05-23 05:44:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>315422</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2213041</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2026-05-21 12:09:30 -0700</bug_when>
    <thetext>The script `postprocess-framework-headers-definitions` is sourced on every invocation. That&apos;s (currently) 107 lines of bash that runs Perl + JSON parsing per invocation to compute TBA versions from branch_config.json.

While this is effectively a no-op for OpenSource builds, this is a non-zero cost for work that repeats unchanged 3,337 times across the build.

This accounts for about 8.5s of wall clock build time, and was made worse by my patch that enabled script sandboxes.

We can avoid this work by computing this constant (per-build) value once and reusing it for subsequent files in the build phase.

We do this for each project, so that we do not break the non-Engineer build that needs to be able to build projects independently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2213042</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2026-05-21 12:09:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/177643527&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2213044</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2026-05-21 12:15:16 -0700</bug_when>
    <thetext>This makes up for the ~8-10s cost of Bug 313032.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2213175</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2026-05-21 21:46:29 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/65458</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2213398</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-05-22 16:37:17 -0700</bug_when>
    <thetext>Committed 313764@main (8671f597bd6c): &lt;https://commits.webkit.org/313764@main&gt;

Reviewed commits have been landed. Closing PR #65458 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2213514</commentid>
    <comment_count>5</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2026-05-23 05:44:25 -0700</bug_when>
    <thetext>Reopened Bugzilla.
REGRESSION(313764@main): &apos;WKJSSerializedNode&apos; is unavailable: not available on tvOS, tracking revert in https://bugs.webkit.org/show_bug.cgi?id=315422.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>