Ignore:
Timestamp:
Nov 11, 2016, 10:21:20 AM (9 years ago)
Author:
Chris Dumez
Message:

Unreviewed, rolling out r208584.

Seems to have regressed Speedometer by 1% on Mac

Reverted changeset:

"We should have a more concise way of determining when we're
varargs calling a function using rest parameters"
https://bugs.webkit.org/show_bug.cgi?id=164258
http://trac.webkit.org/changeset/208584

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/dfg/DFGGraph.h

    r208584 r208592  
    666666        return watchpoints().isWatched(globalObject->havingABadTimeWatchpoint());
    667667    }
    668 
    669     bool isWatchingArrayIteratorProtocolWatchpoint(Node* node)
    670     {
    671         JSGlobalObject* globalObject = globalObjectFor(node->origin.semantic);
    672         InlineWatchpointSet& set = globalObject->arrayIteratorProtocolWatchpoint();
    673         if (watchpoints().isWatched(set))
    674             return true;
    675 
    676         if (set.isStillValid()) {
    677             // Since the global object owns this watchpoint, we make ourselves have a weak pointer to it.
    678             // If the global object got deallocated, it wouldn't fire the watchpoint. It's unlikely the
    679             // global object would get deallocated without this code ever getting thrown away, however,
    680             // it's more sound logically to depend on the global object lifetime weakly.
    681             freeze(globalObject);
    682             watchpoints().addLazily(set);
    683             return true;
    684         }
    685 
    686         return false;
    687     }
    688668   
    689669    Profiler::Compilation* compilation() { return m_plan.compilation.get(); }
     
    924904    Bag<LazyJSValue> m_lazyJSValues;
    925905    Bag<CallDOMGetterData> m_callDOMGetterData;
    926     Bag<BitVector> m_bitVectors;
    927906    Vector<InlineVariableData, 4> m_inlineVariableData;
    928907    HashMap<CodeBlock*, std::unique_ptr<FullBytecodeLiveness>> m_bytecodeLiveness;
Note: See TracChangeset for help on using the changeset viewer.