Ignore:
Timestamp:
Mar 15, 2011, 4:29:56 PM (14 years ago)
Author:
[email protected]
Message:

2011-03-15 Geoffrey Garen <[email protected]>

Reviewed by Oliver Hunt.

Removed a few more deprecatedAppends, and removed HeapRoot<T>
https://bugs.webkit.org/show_bug.cgi?id=56422


Added HeapRootMarker, a privileged class for marking direct heap roots
that are iterated during each garbage collection. This is easier to use
and more reliable than HeapRoot<T>, so I've removed HeapRoot<T>.

  • debugger/Debugger.cpp: (JSC::evaluateInGlobalCallFrame):
  • debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluate):
  • interpreter/CallFrame.h: (JSC::ExecState::exception):
  • jit/JITStubs.cpp: (JSC::DEFINE_STUB_FUNCTION):
  • runtime/Completion.cpp: (JSC::evaluate): exception is no longer a HeapRoot<T>, so no need to call .get() on it.
  • runtime/Heap.cpp: (JSC::Heap::markProtectedObjects): (JSC::Heap::markTempSortVectors): (JSC::Heap::markRoots):
  • runtime/Heap.h: Updated to use HeapRootMarker.
  • runtime/JSCell.h: (JSC::JSCell::MarkStack::append): Added private functions for HeapRootMarker to use.
  • runtime/JSGlobalData.h: exception is no longer a HeapRoot<T>.
  • runtime/MarkStack.h: (JSC::HeapRootMarker::HeapRootMarker): (JSC::HeapRootMarker::mark): Added private functions for HeapRootMarker to use.
  • runtime/SmallStrings.cpp: (JSC::SmallStrings::markChildren): Updated to use HeapRootMarker.
  • runtime/SmallStrings.h: (JSC::SmallStrings::emptyString): (JSC::SmallStrings::singleCharacterString): (JSC::SmallStrings::singleCharacterStrings): Updated to use HeapRootMarker.
  • runtime/WriteBarrier.h: Removed HeapRoot<T>.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/SmallStrings.cpp

    r81071 r81191  
    7575}
    7676
    77 void SmallStrings::markChildren(MarkStack& markStack)
     77void SmallStrings::markChildren(HeapRootMarker& heapRootMarker)
    7878{
    7979    /*
     
    8787     */
    8888
    89     bool isAnyStringMarked = isMarked(m_emptyString.get());
     89    bool isAnyStringMarked = isMarked(m_emptyString);
    9090    for (unsigned i = 0; i < singleCharacterStringCount && !isAnyStringMarked; ++i)
    91         isAnyStringMarked = isMarked(m_singleCharacterStrings[i].get());
     91        isAnyStringMarked = isMarked(m_singleCharacterStrings[i]);
    9292   
    9393    if (!isAnyStringMarked) {
     
    9797   
    9898    if (m_emptyString)
    99         markStack.append(&m_emptyString);
     99        heapRootMarker.mark(&m_emptyString);
    100100    for (unsigned i = 0; i < singleCharacterStringCount; ++i) {
    101101        if (m_singleCharacterStrings[i])
    102             markStack.append(&m_singleCharacterStrings[i]);
     102            heapRootMarker.mark(&m_singleCharacterStrings[i]);
    103103    }
    104104}
Note: See TracChangeset for help on using the changeset viewer.