Skip to content
  • mjs's avatar
    Change List to completely avoid going through the GC · 1e8f66ff
    mjs authored
    	allocator. 3.6% performance improvement on JavaScript iBench.
    
            * kjs/internal.cpp:
            (InterpreterImp::mark): Don't mark the empty list.
    
    	For all the methods below I basically lifted the ListImp version
    	up to the List method with minor tweaks.
    
            * kjs/types.cpp:
            (ListIterator::ListIterator):
            (List::List):
            (List::operator=):
            (List::~List):
            (List::mark):
            (List::append):
            (List::prepend):
            (List::appendList):
            (List::prependList):
            (List::removeFirst):
            (List::removeLast):
            (List::remove):
            (List::clear):
            (List::clearInternal):
            (List::copy):
            (List::begin):
            (List::end):
            (List::isEmpty):
            (List::size):
            (List::at):
            (List::operator[]):
            (List::empty):
            (List::erase):
            (List::refAll):
            (List::derefAll):
            (List::swap):
            (List::globalClear):
            * kjs/types.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2748 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    1e8f66ff