[webkit-reviews] review denied: [Bug 79899] DFG BasicBlocks should not require that their nodes have contiguous indices in the graph : [Attachment 129614] Patch for review
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Feb 29 19:42:24 PST 2012
Filip Pizlo <fpizlo at apple.com> has denied Yuqiang Xian
<yuqiang.xian at intel.com>'s request for review:
Bug 79899: DFG BasicBlocks should not require that their nodes have contiguous
indices in the graph
https://bugs.webkit.org/show_bug.cgi?id=79899
Attachment 129614: Patch for review
https://bugs.webkit.org/attachment.cgi?id=129614&action=review
------- Additional Comments from Filip Pizlo <fpizlo at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=129614&action=review
This is really awesome. R- but only because I want to make sure we do CSE
right.
> Source/JavaScriptCore/dfg/DFGCSEPhase.cpp:720
>
> void performBlockCSE(BasicBlock& block)
> {
> - m_start = block.begin;
> - NodeIndex end = block.end;
> - for (m_compileIndex = m_start; m_compileIndex < end;
++m_compileIndex)
> + m_start = block[block.startExcludingPhis];
> + for (unsigned i = block.startExcludingPhis; i < block.size(); ++i) {
> + m_compileIndex = block[i];
> performNodeCSE(m_graph[m_compileIndex]);
> + }
> }
>
> NodeIndex m_start;
I'm somewhat surprised that these are the only changes in CSE! CSE has this
whole performance hack where it uses the NodeIndex of the instruction that is a
candidate for elimination, and the NodeIndices of its children, to determine
the range that it will search.
Seems like that relies on NodeIndices of things in a basic block being
monotonically increasing.
Would be better to instead make all of the search things instead break early
when they encounter a NodeIndex at block[i] that matches the NodeIndex in one
of the children of the node from which the search originated.
More information about the webkit-reviews
mailing list