Ignore:
Timestamp:
Apr 2, 2016, 6:55:26 PM (9 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r198976.
https://bugs.webkit.org/show_bug.cgi?id=156140

"Causes js/regress/array-nonarray-polymorhpic-access.html to
crash." (Requested by ddkilzer on #webkit).

Reverted changeset:

"[JSC] Initialize SSA's live values at tail lazily"
https://bugs.webkit.org/show_bug.cgi?id=156126
http://trac.webkit.org/changeset/198976

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/dfg/DFGInPlaceAbstractState.cpp

    r198976 r198979  
    7575}
    7676
     77static void setLiveValues(HashMap<Node*, AbstractValue>& values, HashSet<Node*>& live)
     78{
     79    values.clear();
     80   
     81    HashSet<Node*>::iterator iter = live.begin();
     82    HashSet<Node*>::iterator end = live.end();
     83    for (; iter != end; ++iter)
     84        values.add(*iter, AbstractValue());
     85}
     86
    7787static void setLiveValues(Vector<BasicBlock::SSAData::NodeAbstractValuePair>& values, HashSet<Node*>& live)
    7888{
     
    154164                continue;
    155165            setLiveValues(block->ssa->valuesAtHead, block->ssa->liveAtHead);
     166            setLiveValues(block->ssa->valuesAtTail, block->ssa->liveAtTail);
    156167        }
    157168    }
     
    193204            changed |= block->valuesAtTail[i].merge(m_variables[i]);
    194205
    195         for (Node* node : block->ssa->liveAtTail) {
    196             auto iterator = block->ssa->valuesAtTail.add(node, AbstractValue()).iterator;
    197             changed |= iterator->value.merge(forNode(node));
     206        HashSet<Node*>::iterator iter = block->ssa->liveAtTail.begin();
     207        HashSet<Node*>::iterator end = block->ssa->liveAtTail.end();
     208        for (; iter != end; ++iter) {
     209            Node* node = *iter;
     210            changed |= block->ssa->valuesAtTail.find(node)->value.merge(forNode(node));
    198211        }
    199212        break;
Note: See TracChangeset for help on using the changeset viewer.