RESOLVED FIXED 123056
DFG dominators: document and rename stuff.
https://bugs.webkit.org/show_bug.cgi?id=123056
Summary DFG dominators: document and rename stuff.
Nadav Rotem
Reported 2013-10-18 22:42:42 PDT
DFG dominators: Fix a bug and document.
Attachments
Patch (4.59 KB, patch)
2013-10-18 22:44 PDT, Nadav Rotem
no flags
Patch (4.57 KB, patch)
2013-10-18 22:59 PDT, Nadav Rotem
no flags
Patch (4.33 KB, patch)
2013-10-18 23:15 PDT, Nadav Rotem
no flags
Patch (4.33 KB, patch)
2013-10-19 12:37 PDT, Nadav Rotem
no flags
Nadav Rotem
Comment 1 2013-10-18 22:44:52 PDT
Filip Pizlo
Comment 2 2013-10-18 22:49:52 PDT
Comment on attachment 214637 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=214637&action=review > Source/JavaScriptCore/dfg/DFGDominators.cpp:90 > - changed = false; > + // Prune dominators in all non entry blocks: backward scan. It looks like you're no longer setting changed = false in between the forward and backward scan. Is that right?
Nadav Rotem
Comment 3 2013-10-18 22:55:57 PDT
No. "changed = false" needs to be there.
Nadav Rotem
Comment 4 2013-10-18 22:59:21 PDT
Filip Pizlo
Comment 5 2013-10-18 23:06:21 PDT
Comment on attachment 214638 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=214638&action=review > Source/JavaScriptCore/dfg/DFGDominators.cpp:107 > + m_scratch.clearAll(); > + > + // Find the intersection of dom(preds). > m_scratch.set(m_results[block->predecessors[0]->index]); I'm actually not sure I understand the difference. FastBitVector::set(const FastBitVector&) is a memcpy(). Hence, the clearAll() call appears to be a no-op. I agree with the way you restructured the code, though. It seems that the best thing to do is to drop the clearAll() call and rename set() to something like copyFrom(), to make it clear that it's a copy rather than a bitwise '|=' .
Nadav Rotem
Comment 6 2013-10-18 23:15:13 PDT
Nadav Rotem
Comment 7 2013-10-18 23:17:28 PDT
oops. I assumed that set is a |=. Okay I will rename it in another commit. I want to commit this change and start implementing a better scan: reverse post order. Do you think that we should invest time in implementing the Cooper-Harvey-Kennedy algorithm ?
Filip Pizlo
Comment 8 2013-10-19 10:23:49 PDT
(In reply to comment #7) > oops. I assumed that set is a |=. Okay I will rename it in another commit. I want to commit this change and start implementing a better scan: reverse post order. > > Do you think that we should invest time in implementing the Cooper-Harvey-Kennedy algorithm ? That one also gives immediate dominators, right? I think this would be cool. I vaguely recall encountering a few situations where having idom's would have been useful.
Nadav Rotem
Comment 9 2013-10-19 12:37:48 PDT
Nadav Rotem
Comment 10 2013-10-19 12:38:37 PDT
In the last patch I fixed the ChangeLog description.
WebKit Commit Bot
Comment 11 2013-10-19 13:09:57 PDT
Comment on attachment 214659 [details] Patch Clearing flags on attachment: 214659 Committed r157675: <http://trac.webkit.org/changeset/157675>
WebKit Commit Bot
Comment 12 2013-10-19 13:10:00 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.