2008-09-22 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
- https://bugs.webkit.org/show_bug.cgi?id=20993
Array.push/pop need optimized cases for JSArray
3% or so speedup on DeltaBlue benchmark.
* kjs/ArrayPrototype.cpp:
(JSC::arrayProtoFuncPop): Call JSArray::pop when appropriate.
(JSC::arrayProtoFuncPush): Call JSArray::push when appropriate.
* kjs/JSArray.cpp:
(JSC::JSArray::putSlowCase): Set m_fastAccessCutoff when appropriate, getting
us into the fast code path.
(JSC::JSArray::pop): Added.
(JSC::JSArray::push): Added.
* kjs/JSArray.h: Added push and pop.
* kjs/operations.cpp:
(JSC::throwOutOfMemoryError): Don't inline this. Helps us avoid PIC branches.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36778 268f45cc-cd09-0410-ab3c-d52691b4dbfc
5 files changed