Skip to content
  • fpizlo@apple.com's avatar
    JSC GC is far too conservative about growing the heap size, particularly · f49ce5c9
    fpizlo@apple.com authored
    on desktop platforms
    https://bugs.webkit.org/show_bug.cgi?id=65438
    
    Reviewed by Oliver Hunt.
    
    Source/JavaScriptCore:
    
    The minimum heap size is now 16MB instead of 512KB, provided all of the
    following are true:
    a) ENABLE(LARGE_HEAP) is set, which currently only happens on
       x86 targets, but could reasonably happen on any platform that is
       known to have a decent amount of RAM.
    b) JSGlobalData is initialized with HeapSize = LargeHeap, which
       currently only happens when it's the JSDOMWindowBase in WebCore or
       in the jsc command-line tool.
    
    This is a 4.1% speed-up on SunSpider.
    
    * JavaScriptCore.exp:
    * heap/Heap.cpp:
    (JSC::Heap::Heap):
    (JSC::Heap::collect):
    * heap/Heap.h:
    * jsc.cpp:
    (main):
    * runtime/JSGlobalData.cpp:
    (JSC::JSGlobalData::JSGlobalData):
    (JSC::JSGlobalData::createContextGroup):
    (JSC::JSGlobalData::create):
    (JSC::JSGlobalData::createLeaked):
    (JSC::JSGlobalData::sharedInstance):
    * runtime/JSGlobalData.h:
    * wtf/Platform.h:
    
    Source/WebCore:
    
    No change in behavior, thus no new tests.
    
    Pass the LargeHeap hint to JSGlobalData when creating the JSC runtime
    instance corresponding to non-worker JS code.
    
    * bindings/js/JSDOMWindowBase.cpp:
    (WebCore::JSDOMWindowBase::commonJSGlobalData):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@92224 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    f49ce5c9