Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 347de29970599c886ec99b6a825eaf5bfacc92ac
https://github.com/WebKit/WebKit/commit/347de29970599c886ec99b6a825eaf5bfacc92ac
Author: Yijia Huang <[email protected]>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M Source/JavaScriptCore/dfg/DFGLoopUnrollingPhase.cpp
M Source/JavaScriptCore/runtime/OptionsList.h
M Source/WTF/wtf/NaturalLoops.h
Log Message:
-----------
[JSC] Add option to disallow loop unrolling for non-innermost loops
https://bugs.webkit.org/show_bug.cgi?id=290427
rdar://147881147
Reviewed by Yusuke Suzuki.
This patch introduces a new option, `disallowLoopUnrollingForNonInnermostLoops`,
to control whether the DFG should unroll loops that contain inner loops.
By default, loop unrolling is disallowed for loops that are not innermost,
to avoid complexity and potential inefficiency when dealing with nested loops.
This behavior can now be toggled via
`Options::disallowLoopUnrollingForNonInnermostLoops`.
NaturalLoops infrastructure is updated to track both outer and inner loop
relationships.
A loop is considered "innermost" if no other loop is nested inside it.
* Source/JavaScriptCore/dfg/DFGLoopUnrollingPhase.cpp:
(JSC::DFG::LoopUnrollingPhase::shouldUnrollLoop):
* Source/WTF/wtf/NaturalLoops.h:
(WTF::NaturalLoop::NaturalLoop):
(WTF::NaturalLoop::isInnerMostLoop const):
(WTF::NaturalLoops::NaturalLoops):
Canonical link: https://commits.webkit.org/292744@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes