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