Remove m_subclassData from JSArray, move the attribute to subclass as needed
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: https://svn.webkit.org/repository/webkit/trunk@114539
268f45cc-cd09-0410-ab3c-
d52691b4dbfc