[webkit-changes] [WebKit/WebKit] 93b6b1: [JSC] Do not propagate ValueProfile and ArrayProfi...
Yusuke Suzuki
noreply at github.com
Thu Sep 14 19:20:22 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 93b6b134be51831a67d1458153152718987738c9
https://github.com/WebKit/WebKit/commit/93b6b134be51831a67d1458153152718987738c9
Author: Yusuke Suzuki <ysuzuki at apple.com>
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
More information about the webkit-changes
mailing list