Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 347de29970599c886ec99b6a825eaf5bfacc92ac
      
https://github.com/WebKit/WebKit/commit/347de29970599c886ec99b6a825eaf5bfacc92ac
  Author: Yijia Huang <yijia_hu...@apple.com>
  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
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to