Bug 85269

Summary: DFG should be able to compute dominators
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ossy
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 87082    
Bug Blocks:    
Attachments:
Description Flags
the patch oliver: review+

Description Filip Pizlo 2012-05-01 00:35:46 PDT
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 Filip Pizlo 2012-05-01 00:40:25 PDT
Created attachment 139599 [details]
the patch
Comment 2 Oliver Hunt 2012-05-01 10:41:42 PDT
Comment on attachment 139599 [details]
the patch

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 Filip Pizlo 2012-05-01 15:50:21 PDT
Landed with Oliver's suggestions in http://trac.webkit.org/changeset/115754
Comment 4 Filip Pizlo 2012-05-21 17:50:37 PDT
Merged in http://trac.webkit.org/changeset/117861
Comment 5 Csaba Osztrogon√°c 2012-05-21 23:02:48 PDT
- 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 Filip Pizlo 2012-05-21 23:48:26 PDT
(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 Filip Pizlo 2012-05-21 23:54:25 PDT
(In reply to comment #2)
> (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?

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