Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 93b6b134be51831a67d1458153152718987738c9
      
https://github.com/WebKit/WebKit/commit/93b6b134be51831a67d1458153152718987738c9
  Author: Yusuke Suzuki <[email protected]>
  Date:   2023-09-14 (Thu, 14 Sep 2023)

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

  Log Message:
  -----------
  [JSC] Do not propagate ValueProfile and ArrayProfile in builtin code
https://bugs.webkit.org/show_bug.cgi?id=261583
rdar://115529687

Reviewed by Alexey Shvayka.

Builtin JS code is used in too much different context. As a result, some of 
code pollute this profile (like, using ArrayStorage!),
and all subsequent code hits this polluted profile unfortunately. Because we 
are propagating this to UnlinkedCodeBlock, then we
will hit this pollution throughout the subsequent runs. In this patch, we stop 
propagating collected profiles into UnlinkedCodeBlock
when it is builtin code.

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

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to