WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
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
Details
Formatted Diff
Diff
Patch
(4.57 KB, patch)
2013-10-18 22:59 PDT
,
Nadav Rotem
no flags
Details
Formatted Diff
Diff
Patch
(4.33 KB, patch)
2013-10-18 23:15 PDT
,
Nadav Rotem
no flags
Details
Formatted Diff
Diff
Patch
(4.33 KB, patch)
2013-10-19 12:37 PDT
,
Nadav Rotem
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Nadav Rotem
Comment 1
2013-10-18 22:44:52 PDT
Created
attachment 214637
[details]
Patch
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
Created
attachment 214638
[details]
Patch
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
Created
attachment 214640
[details]
Patch
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
Created
attachment 214659
[details]
Patch
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.
Top of Page
Format For Printing
XML
Clone This Bug