[Webkit-unassigned] [Bug 79899] DFG BasicBlocks should not require that their nodes have contiguous indices in the graph

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Feb 29 14:50:34 PST 2012


https://bugs.webkit.org/show_bug.cgi?id=79899





--- Comment #2 from Filip Pizlo <fpizlo at apple.com>  2012-02-29 14:50:24 PST ---
(In reply to comment #1)
> Created an attachment (id=129448)
 --> (https://bugs.webkit.org/attachment.cgi?id=129448&action=review) [details]
> WIP patch
> 
> WIP.
> 
> There seems to be 1~2% performance regression on SunSpider. Will investigate it later.

My guess: the HashMap you added to AbstractState.

My original implementation had a Vector<AbstractValue> indexed by NodeIndex rather than NodeIndex - m_block->begin.  But my original implementation also had loads of regressions, which turned out to be because of a combination of clobberStructures() (that's why I have that m_haveStructures and the hacks to make clobberStructures() walk over fewer things).  In the process, I also changed the Vector to be indexed by NodeIndex offset from block begin, but I have no idea if that change improved performance at all.

You might want to turn on SAMPLING_REGIONS to see what's going on.  That should quickly tell you if you've increased DFG compile time.

But in the long run, we should probably tweak the DFG to run concurrently rather than synchronously.  That will be a glorious hack, and will probably require some thread safety changes elsewhere in the runtime since the DFG parser pokes JS heap objects that are somewhat mutable (like Structure).  But it will reduce the likelihood of us having to worry about regressions from compile times in the future.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list