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

Reply via email to