• benjamin@webkit.org's avatar
    Remove m_subclassData from JSArray, move the attribute to subclass as needed · 01a43ea1
    benjamin@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=84249
    
    Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-18
    Reviewed by Geoffrey Garen.
    
    Source/JavaScriptCore: 
    
    JSArray's m_subclassData is only used by WebCore's RuntimeArray. This patch moves
    the attribute to RuntimeArray to avoid allocating memory for the pointer in the common
    case.
    
    This gives ~1% improvement in JSArray creation microbenchmark thanks to fewer allocations
    of CopiedSpace.
    
    * jit/JITInlineMethods.h:
    (JSC::JIT::emitAllocateJSArray):
    * runtime/JSArray.cpp:
    (JSC::JSArray::JSArray):
    * runtime/JSArray.h:
    
    Source/WebCore: 
    
    * bridge/runtime_array.cpp:
    (JSC::RuntimeArray::RuntimeArray):
    (JSC::RuntimeArray::finishCreation):
    * bridge/runtime_array.h:
    (JSC::RuntimeArray::getLength):
    (JSC::RuntimeArray::getConcreteArray):
    (RuntimeArray):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    01a43ea1
JSArray.cpp 73.2 KB