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