Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0fb9b2cf502b80dcf30a9387f4a49bc602d4d474
      
https://github.com/WebKit/WebKit/commit/0fb9b2cf502b80dcf30a9387f4a49bc602d4d474
  Author: Yusuke Suzuki <[email protected]>
  Date:   2026-08-27 (Thu, 27 Aug 2026)

  Changed paths:
    M Source/JavaScriptCore/bytecode/CodeBlock.cpp

  Log Message:
  -----------
  [JSC] Update profile concurrently from GC marker threads
https://bugs.webkit.org/show_bug.cgi?id=322755
rdar://186016244

Reviewed by Yijia Huang.

We are updating profiles at GC end phase since it is also clearing cells
which will be dead after this GC end phase. So this is necessary, but
updating many profiles are costly. We are iterating all live CodeBlocks
and updating them takes long time.

This patch speculatively updates profiles when marking CodeBlock from GC.
So then values get updated and cleared concurrently. We still need to
update the profiles at GC end phase, but it is likely that there are
many empty profiled values remaining if we are not executing this
CodeBlock after GC scan happens, so we can significantly reduce the cost
of sequential execution of profile update.

* Source/JavaScriptCore/bytecode/CodeBlock.cpp:
(JSC::CodeBlock::visitChildren):

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



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

Reply via email to