• mjs's avatar
    Reviewed by Darin and Geoff. · ddd250dd
    mjs authored
            - move most of Window's data members into a separate private object, to avoid needing
            to use the oversize allocator for it
            
            It was the only remaining JSObject subclass to use the oversize
            allocator on 32-bit platforms, and having oversize objects around
            makes garbage collection slower so this would hurt performance
            with many tabs/windows open.
            
            No significant effect on JS iBench.
    
            * bindings/js/kjs_events.cpp:
            (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener):
            (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener):
            (KJS::JSEventListener::JSEventListener):
            (KJS::JSEventListener::~JSEventListener):
            (KJS::JSLazyEventListener::parseCode):
            * bindings/js/kjs_window.cpp:
            (KJS::WindowPrivate::WindowPrivate):
            (KJS::Window::Window):
            (KJS::Window::~Window):
            (KJS::Window::location):
            (KJS::Window::selection):
            (KJS::Window::locationbar):
            (KJS::Window::menubar):
            (KJS::Window::personalbar):
            (KJS::Window::statusbar):
            (KJS::Window::toolbar):
            (KJS::Window::scrollbars):
            (KJS::Window::mark):
            (KJS::Window::getValueProperty):
            (KJS::Window::findJSEventListener):
            (KJS::Window::findJSUnprotectedEventListener):
            (KJS::Window::clearHelperObjectProperties):
            (KJS::Window::clear):
            (KJS::Window::setCurrentEvent):
            (KJS::Window::setReturnValueSlot):
            (KJS::Window::clearAllTimeouts):
            (KJS::Window::installTimeout):
            (KJS::Window::pauseTimeouts):
            (KJS::Window::resumeTimeouts):
            (KJS::Window::clearTimeout):
            (KJS::Window::timerFired):
            (KJS::Window::disconnectFrame):
            (KJS::Window::jsEventListeners):
            (KJS::Window::jsHTMLEventListeners):
            (KJS::Window::jsUnprotectedEventListeners):
            (KJS::Window::jsUnprotectedHTMLEventListeners):
            * bindings/js/kjs_window.h:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    ddd250dd
kjs_events.cpp 21.2 KB