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