Bug 85269 - DFG should be able to compute dominators
: DFG should be able to compute dominators
Status: RESOLVED FIXED
: WebKit
JavaScriptCore
: 528+ (Nightly build)
: All All
: P2 Normal
Assigned To:
:
:
: 87082
:
  Show dependency treegraph
 
Reported: 2012-05-01 00:35 PST by
Modified: 2012-05-21 23:54 PST (History)


Attachments
the patch (25.46 KB, patch)
2012-05-01 00:40 PST, Filip Pizlo
oliver: review+
Review Patch | Details | Formatted Diff | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2012-05-01 00:35:46 PST
This is starting to be essential because of the need to optimize create_arguments, create_activation, among others. The point is that if these opcodes appear on paths that dominate the exit, then we should hoist them and have them execute unconditionally.
------- Comment #1 From 2012-05-01 00:40:25 PST -------
Created an attachment (id=139599) [details]
the patch
------- Comment #2 From 2012-05-01 10:41:42 PST -------
(From update of attachment 139599 [details])
View in context: https://bugs.webkit.org/attachment.cgi?id=139599&action=review

r=me, but i'd prefer it if you made the m_array member of FastBitVector an OwnArrayPtr

> Source/WTF/wtf/FastBitVector.h:163
> +    uint32_t* m_array;

Can't you use an OwnArrayPtr here, and save the manual management of this array's lifetime?
------- Comment #3 From 2012-05-01 15:50:21 PST -------
Landed with Oliver's suggestions in http://trac.webkit.org/changeset/115754
------- Comment #4 From 2012-05-21 17:50:37 PST -------
Merged in http://trac.webkit.org/changeset/117861
------- Comment #5 From 2012-05-21 23:02:48 PST -------
- It broke the 32 bit build, so I fixed it - http://trac.webkit.org/changeset/117905
- It made almost all tests crash on Qt, new bug report on it: https://bugs.webkit.org/show_bug.cgi?id=87082 - Could you check it, please?
------- Comment #6 From 2012-05-21 23:48:26 PST -------
(In reply to comment #5)
> - It broke the 32 bit build, so I fixed it - http://trac.webkit.org/changeset/117905
> - It made almost all tests crash on Qt, new bug report on it: https://bugs.webkit.org/show_bug.cgi?id=87082 - Could you check it, please?

Looking!
------- Comment #7 From 2012-05-21 23:54:25 PST -------
(In reply to comment #2)
> (From update of attachment 139599 [details] [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=139599&action=review
> 
> r=me, but i'd prefer it if you made the m_array member of FastBitVector an OwnArrayPtr
> 
> > Source/WTF/wtf/FastBitVector.h:163
> > +    uint32_t* m_array;
> 
> Can't you use an OwnArrayPtr here, and save the manual management of this array's lifetime?

No, I can't, because OwnArrayPtr uses delete[].