• mjs's avatar
    Change ActivationImp to be allocated via the garbage collector · 0e6b4f09
    mjs authored
    	again instead of on the stack. This fixes the following four
    	regressions but sadly it causes a 6% performance hit. It's
    	probably possibly to reduce the hit a bit by being smarter about
    	inlining and the way the marking list variant is implemented, but
    	I'll look into that later.
    
    	- fixed 3111500 - REGRESSION: crash in "KJS::ScopeChain::mark()" on www.posci.com
    	- fixed 3111145 - REGRESSION: reproducible crash in KJS hashtable lookup at time.com
    	- fixed 3110897 - REGRESSION: javascript crasher on http://bmwgallery.tripod.com/
    	- fixed 3109987 - REGRESSION: Reproducible crash in KJS ObjectImp at live365.com
    
    	Also:
    
    	- improved DEBUG_COLLECTOR mode a bit by never giving memory back
    	to the system.
    
            * kjs/collector.cpp:
            * kjs/context.h:
            * kjs/function.cpp:
            (ActivationImp::ActivationImp):
            (ActivationImp::mark):
            (ActivationImp::createArgumentsObject):
            * kjs/function.h:
            * kjs/internal.cpp:
            (ContextImp::ContextImp):
            (ContextImp::mark):
            * kjs/list.cpp:
            * kjs/list.h:
            * kjs/value.cpp:
            (Value::Value):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    0e6b4f09
ChangeLog 80.3 KB