• oliver@apple.com's avatar
    fourthTier: Small strings shouldn't get GC'd · 7e5973d7
    oliver@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=117897
    
    Source/JavaScriptCore:
    
    Reviewed by Mark Hahnenberg.
    
    Kill off the code needed to allocate them lazily and finalize them.
    
    * dfg/DFGSpeculativeJIT.cpp:
    (JSC::DFG::SpeculativeJIT::compileGetByValOnString):
    * heap/Heap.cpp:
    (JSC::Heap::collect):
    * runtime/JSString.h:
    (JSC::jsSingleCharacterString):
    (JSC::jsSingleCharacterSubstring):
    (JSC::jsString):
    (JSC::jsSubstring8):
    (JSC::jsSubstring):
    (JSC::jsOwnedString):
    * runtime/NumberPrototype.cpp:
    (JSC::integerValueToString):
    * runtime/SmallStrings.cpp:
    (JSC):
    (JSC::SmallStrings::initializeCommonStrings):
    (JSC::SmallStrings::visitStrongReferences):
    * runtime/SmallStrings.h:
    (JSC::SmallStrings::singleCharacterString):
    (SmallStrings):
    
    LayoutTests:
    
    Reviewed by Mark Hahnenberg.
    
    This test speeds up by 5%.
    
    * fast/js/regress/script-tests/string-get-by-val.js: Added.
    (foo):
    * fast/js/regress/string-get-by-val-expected.txt: Added.
    * fast/js/regress/string-get-by-val.html: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153240 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    7e5973d7