Fix major JavaScript memory leak. run-plt says cvs-base improved
authormjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 15 Aug 2002 00:59:18 +0000 (00:59 +0000)
committermjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 15 Aug 2002 00:59:18 +0000 (00:59 +0000)
commitfd987b5387e89c4beed101abdf0d556700c43ffd
tree6cf15f245143f7ca7716811f0ed251051c71560f
parentba873c4fba92e457b9437a0b592859f35bf183ae
    Fix major JavaScript memory leak. run-plt says cvs-base improved
by 2% and cvs-js-performance improved by 7%. However, this was
within the possible noise level in each case.

The fix was to store ValueImp *'s in the array instead of Value
objects, since the Value wrapper will keep a ref and make the
object immortal.

* kjs/array_object.cpp:
        (ArrayInstanceImp::ArrayInstanceImp):
        (ArrayInstanceImp::get):
        (ArrayInstanceImp::put):
        (ArrayInstanceImp::hasProperty):
        (ArrayInstanceImp::deleteProperty):
        (ArrayInstanceImp::setLength):
        (ArrayInstanceImp::mark):
        * kjs/array_object.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JavaScriptCore/ChangeLog
JavaScriptCore/ChangeLog-2002-12-03
JavaScriptCore/ChangeLog-2003-10-25
JavaScriptCore/kjs/array_object.cpp
JavaScriptCore/kjs/array_object.h