Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cda9486754462a7344ad56205ace79a0c9480655
      
https://github.com/WebKit/WebKit/commit/cda9486754462a7344ad56205ace79a0c9480655
  Author: Vassili Bykov <[email protected]>
  Date:   2026-01-13 (Tue, 13 Jan 2026)

  Changed paths:
    M Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
    M Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp
    M Source/JavaScriptCore/interpreter/Interpreter.cpp
    M Source/JavaScriptCore/runtime/JSBoundFunction.cpp
    M Source/JavaScriptCore/runtime/JSBoundFunction.h
    M Source/JavaScriptCore/runtime/JSBoundFunctionInlines.h
    M Source/JavaScriptCore/runtime/JSObjectInlines.h

  Log Message:
  -----------
  [JSC] JSC::getCallDataInline has fragile include dependency on unified sources
rdar://167876001
https://bugs.webkit.org/show_bug.cgi?id=305233

Reviewed by Mark Lam and Keith Miller.

The inline function JSC::getCallDataInline() in JSObjectInlines.h calls the 
inline
function JSFunction::getCallDataInline() from JSFunctionInlines.h. That requires
JSFunctionInlines.h to be included at that point. However, there is no explicit 
include to
guarantee this. The code builds because the header happens to be included 
earlier by other
files into the unified sources. This is fragile, and I encountered a failure 
building on
Sonoma with an old toolchain.

This patch includes JSFunctionInlines.h into JSObjectInlines.h to make it 
self-sufficient.
That creates an include cycle causing unresolved forward references. The cycle 
is broken
by removing the inclusion of JSCellButterfly.h from JSBoundFunction.h and 
moving it and
the JSBoundFunction::forEachBoundArg() inlined function that depends on it into
JSBoundFunctionInlines.h. JSBoundFunctionInlines.h is included as needed.

Covered by existing tests.

Canonical link: https://commits.webkit.org/305548@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to