Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 90a5bb45b586acd70cc05412713e4b4ba3363ed3
https://github.com/WebKit/WebKit/commit/90a5bb45b586acd70cc05412713e4b4ba3363ed3
Author: Yijia Huang <[email protected]>
Date: 2026-03-17 (Tue, 17 Mar 2026)
Changed paths:
M Source/JavaScriptCore/bytecode/CodeBlock.cpp
M Source/JavaScriptCore/bytecode/CodeBlock.h
M Source/JavaScriptCore/jit/JITOperations.cpp
Log Message:
-----------
[JSC] Fix quick DFG tier-up causing premature jettison on OSR entry failure
https://bugs.webkit.org/show_bug.cgi?id=310074
rdar://172718078
Reviewed by Yusuke Suzuki.
When a Baseline CodeBlock has a valid DFG replacement installed but mid-loop
OSR entry fails, operationOptimize() calls optimizeAfterWarmUp() to schedule
the next retry. With quickDFGTierUp=true the reduced threshold causes retries
to fire much more frequently. Because countOSRExit() is incremented on every
retry, the exit counter reaches the jettison threshold prematurely, triggering
an unnecessary recompile cycle.
This patch introduces optimizeAfterWarmUpIgnoreQuickTierUp(). The
OSR-entry-failure
path uses the Ignore variant so the normal threshold governs retry spacing. All
other call sites keep the quick threshold since they control compilation
trigger timing,
not OSR retry spacing.
Canonical link: https://commits.webkit.org/309439@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications