Ignore:
Timestamp:
Sep 23, 2014, 3:29:35 PM (11 years ago)
Author:
[email protected]
Message:

DebuggerCallFrame::invalidate() should invalidate all DebuggerScope chains.
<https://webkit.org/b/137045>

Reviewed by Geoffrey Garen.

DebuggerCallFrame::invalidate() currently invalidates all DebuggerCallFrames
in the debugger stack, but only invalidates the DebuggerScope chain of the
top most frame. We should also invalidate all the DebuggerScope chains of
the other frames in the debugger stack.

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::invalidate):

  • debugger/DebuggerScope.cpp:

(JSC::DebuggerScope::invalidateChain):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/debugger/DebuggerScope.cpp

    r173517 r173896  
    143143void DebuggerScope::invalidateChain()
    144144{
     145    if (!isValid())
     146        return;
     147
    145148    DebuggerScope* scope = this;
    146149    while (scope) {
    147         ASSERT(scope->isValid());
    148150        DebuggerScope* nextScope = scope->m_next.get();
    149151        scope->m_next.clear();
    150         scope->m_scope.clear();
     152        scope->m_scope.clear(); // This also marks this scope as invalid.
    151153        scope = nextScope;
    152154    }
Note: See TracChangeset for help on using the changeset viewer.