• ggaren's avatar
    JavaScriptCore: · 879ab75a
    ggaren authored
            Reviewed by Darin Adler.
            
            http://bugs.webkit.org/show_bug.cgi?id=15835
    
            Switched List implementation from a custom heap allocator to an inline
            Vector, for a disappointing .5% SunSpider speedup.
            
            Also renamed List::slice to List::getSlice because "get" is the 
            conventional prefix for functions returning a value through an out 
            parameter.
    
            * kjs/array_object.cpp:
            (KJS::ArrayProtoFunc::callAsFunction): Removed some redundant function
            calls and memory accesses.
    
            * kjs/bool_object.cpp:
            (BooleanObjectImp::construct): Removed questionable use of iterator.
    
            * kjs/list.cpp:
            * kjs/list.h: New List class, implemented in terms of Vector. Two 
            interesting differences:
                1. The inline capacity is 8, not 5. Many of the Lists constructed 
                during a SunSpider run are larger than 5; almost none are larger
                than 8.
    
                2. The growth factor is 4, not 2. Since we can guarantee that Lists
                aren't long-lived, we can grow them more aggressively, to avoid
                excessive copying.
    
            * kjs/regexp_object.cpp:
            (RegExpObjectImp::construct): Removed redundant function calls.
    
            * kjs/string_object.cpp:
            (KJS::StringObjectImp::construct): Removed questionable use of iterator.
    
            * wtf/Vector.h:
            (WTF::::uncheckedAppend): Added a fast, unchecked version of append.
    
    WebCore:
    
            Reviewed by Darin Adler.
            
            http://bugs.webkit.org/show_bug.cgi?id=15835
    
            Small adaptations to new KJS::List class.
    
            * bindings/js/kjs_window.cpp:
            (KJS::WindowFunc::callAsFunction):
            (KJS::ScheduledAction::ScheduledAction):
    
    WebKit:
    
            Reviewed by Darin Adler.
            
            http://bugs.webkit.org/show_bug.cgi?id=15835
    
            Small adaptations to new KJS::List class.
    
            * ForwardingHeaders/kjs/value.h: Added.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27448 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    879ab75a
array_instance.cpp 18.9 KB