Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 05c4d7bc6de03c2975f98b4c2916c829b064581d
https://github.com/WebKit/WebKit/commit/05c4d7bc6de03c2975f98b4c2916c829b064581d
Author: Yijia Huang <[email protected]>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M Source/JavaScriptCore/dfg/DFGBasicBlock.h
M Source/JavaScriptCore/dfg/DFGGraph.cpp
M Source/JavaScriptCore/dfg/DFGLoopUnrollingPhase.cpp
Log Message:
-----------
[JSC] DFG Loop Unrolling: Track and print clone source for debug assertions
https://bugs.webkit.org/show_bug.cgi?id=291090
rdar://148601073
Reviewed by Yusuke Suzuki.
This patch enhances loop unrolling debugging by adding support for tracking
the original source block (cloneSource) for each cloned basic block in
DFGBasicBlock.
The cloneSource pointer is enabled only under ASSERT_ENABLED to avoid runtime
overhead in release builds.
Additionally, Graph::dumpBlockHeader() now prints the clone source block if
available, improving traceability during debugging and validation of loop
unrolling logic.
After loop unrolling, we might see output like the following, where block 17
is a clone of block 9:
9 24: Block #9 (bc#52):
0 9 24: D@62:<!0:-> LoopHint(MustGen, W:SideState, bc#52, ExitValid)
...
17 24: Block #17<-#9 (bc#52):
0 17 24: D@256:<!0:-> LoopHint(MustGen, W:SideState, bc#52, ExitValid)
...
* Source/JavaScriptCore/dfg/DFGBasicBlock.h:
* Source/JavaScriptCore/dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dumpBlockHeader):
* Source/JavaScriptCore/dfg/DFGLoopUnrollingPhase.cpp:
(JSC::DFG::LoopUnrollingPhase::unrollLoop):
Canonical link: https://commits.webkit.org/293265@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