1. 26 Aug, 2011 1 commit
    • commit-queue@webkit.org's avatar
      Unzip initialization lists and constructors in JSCell hierarchy (2/7) · 403bfdfa
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=66957
      
      Patch by Mark Hahnenberg <mhahnenberg@apple.com> on 2011-08-26
      Reviewed by Darin Adler.
      
      Completed the second level of the refactoring to add finishCreation()
      methods to all classes within the JSCell hierarchy with non-trivial
      constructor bodies.
      
      * runtime/Executable.h:
      (JSC::ExecutableBase::ExecutableBase):
      (JSC::ExecutableBase::create):
      (JSC::NativeExecutable::create):
      (JSC::NativeExecutable::finishCreation):
      (JSC::NativeExecutable::NativeExecutable):
      (JSC::ScriptExecutable::ScriptExecutable):
      (JSC::ScriptExecutable::finishCreation):
      * runtime/GetterSetter.h:
      (JSC::GetterSetter::GetterSetter):
      (JSC::GetterSetter::create):
      * runtime/JSAPIValueWrapper.h:
      (JSC::JSAPIValueWrapper::create):
      (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
      * runtime/JSObject.h:
      (JSC::JSNonFinalObject::JSNonFinalObject):
      (JSC::JSNonFinalObject::finishCreation):
      (JSC::JSFinalObject::create):
      (JSC::JSFinalObject::finishCreation):
      (JSC::JSFinalObject::JSFinalObject):
      (JSC::JSObject::JSObject):
      * runtime/JSPropertyNameIterator.cpp:
      (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
      (JSC::JSPropertyNameIterator::create):
      * runtime/JSPropertyNameIterator.h:
      (JSC::JSPropertyNameIterator::create):
      * runtime/RegExp.cpp:
      (JSC::RegExp::RegExp):
      (JSC::RegExp::createWithoutCaching):
      * runtime/ScopeChain.h:
      (JSC::ScopeChainNode::ScopeChainNode):
      (JSC::ScopeChainNode::create):
      * runtime/Structure.cpp:
      (JSC::Structure::Structure):
      * runtime/Structure.h:
      (JSC::Structure::create):
      (JSC::Structure::finishCreation):
      (JSC::Structure::createStructure):
      * runtime/StructureChain.cpp:
      (JSC::StructureChain::StructureChain):
      * runtime/StructureChain.h:
      (JSC::StructureChain::create):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@93920 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      403bfdfa
  2. 25 Aug, 2011 1 commit
    • commit-queue@webkit.org's avatar
      Unzip initialization lists and constructors in JSCell hierarchy (1/7) · 214ac02e
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=66827
      
      Patch by Mark Hahnenberg <mhahnenberg@apple.com> on 2011-08-25
      Reviewed by Geoffrey Garen.
      
      Added finishCreation() methods to all immediately subclasses of JSCell with
      non-empty constructors.  Part of a larger refactoring to "unzip" initialization
      lists and constructor bodies.  Also renamed JSCell's constructorBody() method
      to finishCreation().
      
      * runtime/Executable.h:
      (JSC::ExecutableBase::ExecutableBase):
      (JSC::ExecutableBase::constructorBody):
      * runtime/GetterSetter.h:
      (JSC::GetterSetter::GetterSetter):
      * runtime/JSAPIValueWrapper.h:
      (JSC::JSAPIValueWrapper::constructorBody):
      (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
      * runtime/JSCell.h:
      (JSC::JSCell::JSCell::JSCell):
      (JSC::JSCell::JSCell::constructorBody):
      * runtime/JSObject.h:
      (JSC::JSObject::constructorBody):
      (JSC::JSObject::JSObject):
      * runtime/JSPropertyNameIterator.h:
      (JSC::JSPropertyNameIterator::constructorBody):
      * runtime/JSString.h:
      (JSC::RopeBuilder::JSString):
      (JSC::RopeBuilder::constructorBody):
      * runtime/RegExp.cpp:
      (JSC::RegExp::RegExp):
      (JSC::RegExp::constructorBody):
      * runtime/RegExp.h:
      * runtime/ScopeChain.h:
      (JSC::ScopeChainNode::ScopeChainNode):
      (JSC::ScopeChainNode::constructorBody):
      * runtime/Structure.cpp:
      (JSC::Structure::Structure):
      * runtime/StructureChain.cpp:
      (JSC::StructureChain::StructureChain):
      * runtime/StructureChain.h:
      (JSC::StructureChain::create):
      (JSC::StructureChain::constructorBody):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@93835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      214ac02e
  3. 14 May, 2011 2 commits
    • oliver@apple.com's avatar
      2011-05-13 Oliver Hunt <oliver@apple.com> · 4103716d
      oliver@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Make GC validation more aggressive
              https://bugs.webkit.org/show_bug.cgi?id=60802
      
              This patch makes the checks performed under GC_VALIDATION
              much more aggressive, and adds the checks to more places
              in order to allow us to catch GC bugs much closer to the
              point of failure.
      
              * JavaScriptCore.exp:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * debugger/DebuggerActivation.cpp:
              (JSC::DebuggerActivation::visitChildren):
              * heap/MarkedBlock.cpp:
              (JSC::MarkedBlock::MarkedBlock):
              * heap/MarkedSpace.cpp:
              * runtime/Arguments.cpp:
              (JSC::Arguments::visitChildren):
              * runtime/Executable.cpp:
              (JSC::EvalExecutable::visitChildren):
              (JSC::ProgramExecutable::visitChildren):
              (JSC::FunctionExecutable::visitChildren):
              * runtime/Executable.h:
              * runtime/GetterSetter.cpp:
              (JSC::GetterSetter::visitChildren):
              * runtime/GetterSetter.h:
              * runtime/JSAPIValueWrapper.h:
              (JSC::JSAPIValueWrapper::createStructure):
              (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::visitChildren):
              * runtime/JSArray.cpp:
              (JSC::JSArray::visitChildren):
              * runtime/JSCell.cpp:
              (JSC::slowValidateCell):
              * runtime/JSCell.h:
              (JSC::JSCell::JSCell::unvalidatedStructure):
              (JSC::JSCell::JSCell::JSCell):
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::visitChildren):
              * runtime/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::visitChildren):
              (JSC::slowValidateCell):
              * runtime/JSONObject.h:
              * runtime/JSObject.cpp:
              (JSC::JSObject::visitChildren):
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::visitChildren):
              * runtime/JSPropertyNameIterator.h:
              * runtime/JSStaticScopeObject.cpp:
              (JSC::JSStaticScopeObject::visitChildren):
              * runtime/JSString.h:
              (JSC::RopeBuilder::JSString):
              * runtime/JSWrapperObject.cpp:
              (JSC::JSWrapperObject::visitChildren):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::NativeErrorConstructor::visitChildren):
              * runtime/PropertyMapHashTable.h:
              (JSC::PropertyMapEntry::PropertyMapEntry):
              * runtime/RegExpObject.cpp:
              (JSC::RegExpObject::visitChildren):
              * runtime/ScopeChain.cpp:
              (JSC::ScopeChainNode::visitChildren):
              * runtime/ScopeChain.h:
              (JSC::ScopeChainNode::ScopeChainNode):
              * runtime/Structure.cpp:
              (JSC::Structure::Structure):
              (JSC::Structure::addPropertyTransition):
              (JSC::Structure::visitChildren):
              * runtime/Structure.h:
              (JSC::JSCell::classInfo):
              * runtime/StructureChain.cpp:
              (JSC::StructureChain::visitChildren):
              * runtime/StructureChain.h:
              * runtime/WriteBarrier.h:
              (JSC::validateCell):
              (JSC::JSCell):
              (JSC::JSGlobalObject):
              (JSC::WriteBarrierBase::set):
              (JSC::WriteBarrierBase::setMayBeNull):
              (JSC::WriteBarrierBase::setEarlyValue):
              (JSC::WriteBarrierBase::get):
              (JSC::WriteBarrierBase::operator*):
              (JSC::WriteBarrierBase::operator->):
              (JSC::WriteBarrierBase::unvalidatedGet):
              (JSC::WriteBarrier::WriteBarrier):
              * wtf/Assertions.h:
      2011-05-13  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Make GC validation more aggressive
              https://bugs.webkit.org/show_bug.cgi?id=60802
      
              This makes GC_VALIDATION much more aggressive in webcore,
              adding logic to every visitChildren method to ensure that
              the structure still has correct flags.
      
              Additionally every function generated for the dom bindings
              makes use of the new GC_VALIDATION object assertions to further
              ensure that the object appears to be sensible.
      
              * bindings/js/JSAttrCustom.cpp:
              (WebCore::JSAttr::visitChildren):
              * bindings/js/JSAudioContextCustom.cpp:
              (WebCore::JSAudioContext::visitChildren):
              * bindings/js/JSCSSRuleCustom.cpp:
              (WebCore::JSCSSRule::visitChildren):
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::JSCSSStyleDeclaration::visitChildren):
              * bindings/js/JSCanvasRenderingContextCustom.cpp:
              (WebCore::JSCanvasRenderingContext::visitChildren):
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::visitChildren):
              (WebCore::JSDOMGlobalObject::setInjectedScript):
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::visitChildren):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::visitChildren):
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSEventListener::JSEventListener):
              * bindings/js/JSEventListener.h:
              (WebCore::JSEventListener::jsFunction):
              * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
              (WebCore::JSJavaScriptAudioNode::visitChildren):
              * bindings/js/JSMessageChannelCustom.cpp:
              (WebCore::JSMessageChannel::visitChildren):
              * bindings/js/JSMessagePortCustom.cpp:
              (WebCore::JSMessagePort::visitChildren):
              * bindings/js/JSNamedNodeMapCustom.cpp:
              (WebCore::JSNamedNodeMap::visitChildren):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::JSNode::visitChildren):
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::JSNodeFilter::visitChildren):
              * bindings/js/JSNodeIteratorCustom.cpp:
              (WebCore::JSNodeIterator::visitChildren):
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              (WebCore::JSSVGElementInstance::visitChildren):
              * bindings/js/JSSharedWorkerCustom.cpp:
              (WebCore::JSSharedWorker::visitChildren):
              * bindings/js/JSStyleSheetCustom.cpp:
              (WebCore::JSStyleSheet::visitChildren):
              * bindings/js/JSTreeWalkerCustom.cpp:
              (WebCore::JSTreeWalker::visitChildren):
              * bindings/js/JSWebGLRenderingContextCustom.cpp:
              (WebCore::JSWebGLRenderingContext::visitChildren):
              * bindings/js/JSWorkerContextCustom.cpp:
              (WebCore::JSWorkerContext::visitChildren):
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              (WebCore::JSXMLHttpRequest::visitChildren):
              * bindings/js/JSXPathResultCustom.cpp:
              (WebCore::JSXPathResult::visitChildren):
              * bindings/scripts/CodeGeneratorJS.pm:
      2011-05-13  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Make GC validation more aggressive
              https://bugs.webkit.org/show_bug.cgi?id=60802
      
              Add GC_VALIDATION calls to all the JSNPObject methods.
      
              * WebProcess/Plugins/Netscape/JSNPObject.cpp:
              (WebKit::JSNPObject::invalidate):
              (WebKit::JSNPObject::callMethod):
              (WebKit::JSNPObject::callObject):
              (WebKit::JSNPObject::callConstructor):
              (WebKit::JSNPObject::getCallData):
              (WebKit::JSNPObject::getConstructData):
              (WebKit::JSNPObject::getOwnPropertySlot):
              (WebKit::JSNPObject::getOwnPropertyDescriptor):
              (WebKit::JSNPObject::put):
              (WebKit::JSNPObject::getOwnPropertyNames):
              (WebKit::JSNPObject::propertyGetter):
              (WebKit::JSNPObject::methodGetter):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4103716d
    • ossy@webkit.org's avatar
      Unreviewed, rolling out r86469 and r86471, because they made hundreds tests crash on Qt. · 8c10d800
      ossy@webkit.org authored
      Make GC validation more aggressive
      https://bugs.webkit.org/show_bug.cgi?id=60802
      
      Source/JavaScriptCore:
      
      * JavaScriptCore.exp:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * debugger/DebuggerActivation.cpp:
      (JSC::DebuggerActivation::visitChildren):
      * heap/MarkedBlock.cpp:
      (JSC::MarkedBlock::MarkedBlock):
      * heap/MarkedSpace.cpp:
      * runtime/Arguments.cpp:
      (JSC::Arguments::visitChildren):
      * runtime/Executable.cpp:
      (JSC::EvalExecutable::visitChildren):
      (JSC::ProgramExecutable::visitChildren):
      (JSC::FunctionExecutable::visitChildren):
      * runtime/Executable.h:
      (JSC::ProgramExecutable::createStructure):
      (JSC::FunctionExecutable::createStructure):
      * runtime/GetterSetter.cpp:
      (JSC::GetterSetter::visitChildren):
      * runtime/GetterSetter.h:
      (JSC::GetterSetter::createStructure):
      * runtime/JSAPIValueWrapper.h:
      (JSC::JSAPIValueWrapper::createStructure):
      * runtime/JSActivation.cpp:
      (JSC::JSActivation::visitChildren):
      * runtime/JSArray.cpp:
      (JSC::JSArray::visitChildren):
      * runtime/JSCell.cpp:
      * runtime/JSCell.h:
      (JSC::JSCell::JSCell::JSCell):
      * runtime/JSFunction.cpp:
      (JSC::JSFunction::visitChildren):
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::visitChildren):
      * runtime/JSONObject.h:
      (JSC::JSONObject::createStructure):
      * runtime/JSObject.cpp:
      (JSC::JSObject::visitChildren):
      * runtime/JSPropertyNameIterator.cpp:
      (JSC::JSPropertyNameIterator::visitChildren):
      * runtime/JSPropertyNameIterator.h:
      * runtime/JSStaticScopeObject.cpp:
      (JSC::JSStaticScopeObject::visitChildren):
      * runtime/JSString.h:
      (JSC::RopeBuilder::createStructure):
      * runtime/JSWrapperObject.cpp:
      (JSC::JSWrapperObject::visitChildren):
      * runtime/NativeErrorConstructor.cpp:
      (JSC::NativeErrorConstructor::visitChildren):
      * runtime/PropertyMapHashTable.h:
      (JSC::PropertyMapEntry::PropertyMapEntry):
      * runtime/RegExpObject.cpp:
      (JSC::RegExpObject::visitChildren):
      * runtime/ScopeChain.cpp:
      (JSC::ScopeChainNode::visitChildren):
      * runtime/ScopeChain.h:
      (JSC::ScopeChainNode::ScopeChainNode):
      * runtime/Structure.cpp:
      (JSC::Structure::Structure):
      (JSC::Structure::addPropertyTransition):
      (JSC::Structure::visitChildren):
      * runtime/Structure.h:
      (JSC::Structure::createStructure):
      (JSC::JSCell::classInfo):
      * runtime/StructureChain.cpp:
      (JSC::StructureChain::visitChildren):
      * runtime/StructureChain.h:
      * runtime/WriteBarrier.h:
      (JSC::WriteBarrierBase::set):
      (JSC::WriteBarrierBase::get):
      (JSC::WriteBarrierBase::operator*):
      (JSC::WriteBarrierBase::operator->):
      (JSC::WriteBarrier::WriteBarrier):
      * wtf/Assertions.h:
      
      Source/WebCore:
      
      * bindings/js/JSAttrCustom.cpp:
      (WebCore::JSAttr::visitChildren):
      * bindings/js/JSAudioContextCustom.cpp:
      (WebCore::JSAudioContext::visitChildren):
      * bindings/js/JSCSSRuleCustom.cpp:
      (WebCore::JSCSSRule::visitChildren):
      * bindings/js/JSCSSStyleDeclarationCustom.cpp:
      (WebCore::JSCSSStyleDeclaration::visitChildren):
      * bindings/js/JSCanvasRenderingContextCustom.cpp:
      (WebCore::JSCanvasRenderingContext::visitChildren):
      * bindings/js/JSDOMGlobalObject.cpp:
      (WebCore::JSDOMGlobalObject::visitChildren):
      (WebCore::JSDOMGlobalObject::setInjectedScript):
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::visitChildren):
      * bindings/js/JSDOMWindowShell.cpp:
      (WebCore::JSDOMWindowShell::visitChildren):
      * bindings/js/JSEventListener.cpp:
      (WebCore::JSEventListener::JSEventListener):
      * bindings/js/JSEventListener.h:
      (WebCore::JSEventListener::jsFunction):
      * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
      (WebCore::JSJavaScriptAudioNode::visitChildren):
      * bindings/js/JSMessageChannelCustom.cpp:
      (WebCore::JSMessageChannel::visitChildren):
      * bindings/js/JSMessagePortCustom.cpp:
      (WebCore::JSMessagePort::visitChildren):
      * bindings/js/JSNamedNodeMapCustom.cpp:
      (WebCore::JSNamedNodeMap::visitChildren):
      * bindings/js/JSNodeCustom.cpp:
      (WebCore::JSNode::visitChildren):
      * bindings/js/JSNodeFilterCustom.cpp:
      (WebCore::JSNodeFilter::visitChildren):
      * bindings/js/JSNodeIteratorCustom.cpp:
      (WebCore::JSNodeIterator::visitChildren):
      * bindings/js/JSSVGElementInstanceCustom.cpp:
      (WebCore::JSSVGElementInstance::visitChildren):
      * bindings/js/JSSharedWorkerCustom.cpp:
      (WebCore::JSSharedWorker::visitChildren):
      * bindings/js/JSStyleSheetCustom.cpp:
      (WebCore::JSStyleSheet::visitChildren):
      * bindings/js/JSTreeWalkerCustom.cpp:
      (WebCore::JSTreeWalker::visitChildren):
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      (WebCore::JSWebGLRenderingContext::visitChildren):
      * bindings/js/JSWorkerContextCustom.cpp:
      (WebCore::JSWorkerContext::visitChildren):
      * bindings/js/JSXMLHttpRequestCustom.cpp:
      (WebCore::JSXMLHttpRequest::visitChildren):
      * bindings/js/JSXPathResultCustom.cpp:
      (WebCore::JSXPathResult::visitChildren):
      * bindings/scripts/CodeGeneratorJS.pm:
      
      Source/WebKit2:
      
      * WebProcess/Plugins/Netscape/JSNPObject.cpp:
      (WebKit::JSNPObject::invalidate):
      (WebKit::JSNPObject::callMethod):
      (WebKit::JSNPObject::callObject):
      (WebKit::JSNPObject::callConstructor):
      (WebKit::JSNPObject::getCallData):
      (WebKit::JSNPObject::getConstructData):
      (WebKit::JSNPObject::getOwnPropertySlot):
      (WebKit::JSNPObject::getOwnPropertyDescriptor):
      (WebKit::JSNPObject::put):
      (WebKit::JSNPObject::getOwnPropertyNames):
      (WebKit::JSNPObject::propertyGetter):
      (WebKit::JSNPObject::methodGetter):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86482 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c10d800
  4. 13 May, 2011 1 commit
    • oliver@apple.com's avatar
      2011-05-13 Oliver Hunt <oliver@apple.com> · d369c8cd
      oliver@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Make GC validation more aggressive
              https://bugs.webkit.org/show_bug.cgi?id=60802
      
              This patch makes the checks performed under GC_VALIDATION
              much more aggressive, and adds the checks to more places
              in order to allow us to catch GC bugs much closer to the
              point of failure.
      
              * JavaScriptCore.exp:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * debugger/DebuggerActivation.cpp:
              (JSC::DebuggerActivation::visitChildren):
              * heap/MarkedBlock.cpp:
              (JSC::MarkedBlock::MarkedBlock):
              * heap/MarkedSpace.cpp:
              * runtime/Arguments.cpp:
              (JSC::Arguments::visitChildren):
              * runtime/Executable.cpp:
              (JSC::EvalExecutable::visitChildren):
              (JSC::ProgramExecutable::visitChildren):
              (JSC::FunctionExecutable::visitChildren):
              * runtime/Executable.h:
              * runtime/GetterSetter.cpp:
              (JSC::GetterSetter::visitChildren):
              * runtime/GetterSetter.h:
              * runtime/JSAPIValueWrapper.h:
              (JSC::JSAPIValueWrapper::createStructure):
              (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::visitChildren):
              * runtime/JSArray.cpp:
              (JSC::JSArray::visitChildren):
              * runtime/JSCell.cpp:
              (JSC::slowValidateCell):
              * runtime/JSCell.h:
              (JSC::JSCell::JSCell::unvalidatedStructure):
              (JSC::JSCell::JSCell::JSCell):
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::visitChildren):
              * runtime/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::visitChildren):
              (JSC::slowValidateCell):
              * runtime/JSONObject.h:
              * runtime/JSObject.cpp:
              (JSC::JSObject::visitChildren):
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::visitChildren):
              * runtime/JSPropertyNameIterator.h:
              * runtime/JSStaticScopeObject.cpp:
              (JSC::JSStaticScopeObject::visitChildren):
              * runtime/JSString.h:
              (JSC::RopeBuilder::JSString):
              * runtime/JSWrapperObject.cpp:
              (JSC::JSWrapperObject::visitChildren):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::NativeErrorConstructor::visitChildren):
              * runtime/PropertyMapHashTable.h:
              (JSC::PropertyMapEntry::PropertyMapEntry):
              * runtime/RegExpObject.cpp:
              (JSC::RegExpObject::visitChildren):
              * runtime/ScopeChain.cpp:
              (JSC::ScopeChainNode::visitChildren):
              * runtime/ScopeChain.h:
              (JSC::ScopeChainNode::ScopeChainNode):
              * runtime/Structure.cpp:
              (JSC::Structure::Structure):
              (JSC::Structure::addPropertyTransition):
              (JSC::Structure::visitChildren):
              * runtime/Structure.h:
              (JSC::JSCell::classInfo):
              * runtime/StructureChain.cpp:
              (JSC::StructureChain::visitChildren):
              * runtime/StructureChain.h:
              * runtime/WriteBarrier.h:
              (JSC::validateCell):
              (JSC::JSCell):
              (JSC::JSGlobalObject):
              (JSC::WriteBarrierBase::set):
              (JSC::WriteBarrierBase::setMayBeNull):
              (JSC::WriteBarrierBase::setEarlyValue):
              (JSC::WriteBarrierBase::get):
              (JSC::WriteBarrierBase::operator*):
              (JSC::WriteBarrierBase::operator->):
              (JSC::WriteBarrierBase::unvalidatedGet):
              (JSC::WriteBarrier::WriteBarrier):
              * wtf/Assertions.h:
      2011-05-13  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Make GC validation more aggressive
              https://bugs.webkit.org/show_bug.cgi?id=60802
      
              This makes GC_VALIDATION much more aggressive in webcore,
              adding logic to every visitChildren method to ensure that
              the structure still has correct flags.
      
              Additionally every function generated for the dom bindings
              makes use of the new GC_VALIDATION object assertions to further
              ensure that the object appears to be sensible.
      
              * bindings/js/JSAttrCustom.cpp:
              (WebCore::JSAttr::visitChildren):
              * bindings/js/JSAudioContextCustom.cpp:
              (WebCore::JSAudioContext::visitChildren):
              * bindings/js/JSCSSRuleCustom.cpp:
              (WebCore::JSCSSRule::visitChildren):
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::JSCSSStyleDeclaration::visitChildren):
              * bindings/js/JSCanvasRenderingContextCustom.cpp:
              (WebCore::JSCanvasRenderingContext::visitChildren):
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::visitChildren):
              (WebCore::JSDOMGlobalObject::setInjectedScript):
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::visitChildren):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::visitChildren):
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSEventListener::JSEventListener):
              * bindings/js/JSEventListener.h:
              (WebCore::JSEventListener::jsFunction):
              * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
              (WebCore::JSJavaScriptAudioNode::visitChildren):
              * bindings/js/JSMessageChannelCustom.cpp:
              (WebCore::JSMessageChannel::visitChildren):
              * bindings/js/JSMessagePortCustom.cpp:
              (WebCore::JSMessagePort::visitChildren):
              * bindings/js/JSNamedNodeMapCustom.cpp:
              (WebCore::JSNamedNodeMap::visitChildren):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::JSNode::visitChildren):
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::JSNodeFilter::visitChildren):
              * bindings/js/JSNodeIteratorCustom.cpp:
              (WebCore::JSNodeIterator::visitChildren):
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              (WebCore::JSSVGElementInstance::visitChildren):
              * bindings/js/JSSharedWorkerCustom.cpp:
              (WebCore::JSSharedWorker::visitChildren):
              * bindings/js/JSStyleSheetCustom.cpp:
              (WebCore::JSStyleSheet::visitChildren):
              * bindings/js/JSTreeWalkerCustom.cpp:
              (WebCore::JSTreeWalker::visitChildren):
              * bindings/js/JSWebGLRenderingContextCustom.cpp:
              (WebCore::JSWebGLRenderingContext::visitChildren):
              * bindings/js/JSWorkerContextCustom.cpp:
              (WebCore::JSWorkerContext::visitChildren):
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              (WebCore::JSXMLHttpRequest::visitChildren):
              * bindings/js/JSXPathResultCustom.cpp:
              (WebCore::JSXPathResult::visitChildren):
              * bindings/scripts/CodeGeneratorJS.pm:
      2011-05-13  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Make GC validation more aggressive
              https://bugs.webkit.org/show_bug.cgi?id=60802
      
              Add GC_VALIDATION calls to all the JSNPObject methods.
      
              * WebProcess/Plugins/Netscape/JSNPObject.cpp:
              (WebKit::JSNPObject::invalidate):
              (WebKit::JSNPObject::callMethod):
              (WebKit::JSNPObject::callObject):
              (WebKit::JSNPObject::callConstructor):
              (WebKit::JSNPObject::getCallData):
              (WebKit::JSNPObject::getConstructData):
              (WebKit::JSNPObject::getOwnPropertySlot):
              (WebKit::JSNPObject::getOwnPropertyDescriptor):
              (WebKit::JSNPObject::put):
              (WebKit::JSNPObject::getOwnPropertyNames):
              (WebKit::JSNPObject::propertyGetter):
              (WebKit::JSNPObject::methodGetter):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d369c8cd
  5. 21 Apr, 2011 1 commit
    • oliver@apple.com's avatar
      2011-04-21 Oliver Hunt <oliver@apple.com> · 433d02f9
      oliver@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Start moving to a general visitor pattern for GC traversal
              https://bugs.webkit.org/show_bug.cgi?id=59141
      
              This is just a rename:
                  markChildren -> visitChildren
                  markAggregate -> visitAggregate
                  markStack -> visitor
                  MarkStack -> typedef'd to SlotVisitor
      
              * API/JSCallbackObject.h:
              (JSC::JSCallbackObjectData::visitChildren):
              (JSC::JSCallbackObjectData::JSPrivatePropertyMap::visitChildren):
              (JSC::JSCallbackObject::visitChildren):
              * JavaScriptCore.exp:
              * bytecode/CodeBlock.cpp:
              (JSC::CodeBlock::visitStructures):
              (JSC::EvalCodeCache::visitAggregate):
              (JSC::CodeBlock::visitAggregate):
              * bytecode/CodeBlock.h:
              * bytecode/EvalCodeCache.h:
              * bytecode/Instruction.h:
              (JSC::PolymorphicAccessStructureList::visitAggregate):
              * bytecode/StructureStubInfo.cpp:
              (JSC::StructureStubInfo::visitAggregate):
              * bytecode/StructureStubInfo.h:
              * debugger/DebuggerActivation.cpp:
              (JSC::DebuggerActivation::visitChildren):
              * debugger/DebuggerActivation.h:
              * heap/HandleHeap.cpp:
              (JSC::WeakHandleOwner::isReachableFromOpaqueRoots):
              (JSC::HandleHeap::markStrongHandles):
              (JSC::HandleHeap::markWeakHandles):
              * heap/HandleHeap.h:
              * heap/HandleStack.cpp:
              (JSC::HandleStack::mark):
              * heap/HandleStack.h:
              * heap/Heap.cpp:
              (JSC::Heap::markProtectedObjects):
              (JSC::Heap::markTempSortVectors):
              (JSC::Heap::markRoots):
              * heap/Heap.h:
              * heap/MarkStack.cpp:
              (JSC::MarkStack::visitChildren):
              (JSC::MarkStack::drain):
              * heap/MarkStack.h:
              (JSC::HeapRootVisitor::HeapRootVisitor):
              (JSC::HeapRootVisitor::mark):
              (JSC::HeapRootVisitor::visitor):
              * heap/MarkedSpace.h:
              * runtime/ArgList.cpp:
              (JSC::MarkedArgumentBuffer::markLists):
              * runtime/ArgList.h:
              * runtime/Arguments.cpp:
              (JSC::Arguments::visitChildren):
              * runtime/Arguments.h:
              * runtime/Executable.cpp:
              (JSC::EvalExecutable::visitChildren):
              (JSC::ProgramExecutable::visitChildren):
              (JSC::FunctionExecutable::visitChildren):
              * runtime/Executable.h:
              * runtime/GetterSetter.cpp:
              (JSC::GetterSetter::visitChildren):
              * runtime/GetterSetter.h:
              (JSC::GetterSetter::createStructure):
              * runtime/JSAPIValueWrapper.h:
              (JSC::JSAPIValueWrapper::createStructure):
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::visitChildren):
              * runtime/JSActivation.h:
              * runtime/JSArray.cpp:
              (JSC::JSArray::visitChildren):
              * runtime/JSArray.h:
              (JSC::JSArray::visitDirect):
              * runtime/JSCell.h:
              (JSC::JSCell::JSCell::visitChildren):
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::visitChildren):
              * runtime/JSFunction.h:
              * runtime/JSGlobalObject.cpp:
              (JSC::visitIfNeeded):
              (JSC::JSGlobalObject::visitChildren):
              * runtime/JSGlobalObject.h:
              * runtime/JSONObject.cpp:
              * runtime/JSObject.cpp:
              (JSC::JSObject::visitChildren):
              * runtime/JSObject.h:
              (JSC::JSObject::visitDirect):
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::visitChildren):
              * runtime/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::createStructure):
              * runtime/JSStaticScopeObject.cpp:
              (JSC::JSStaticScopeObject::visitChildren):
              * runtime/JSStaticScopeObject.h:
              * runtime/JSTypeInfo.h:
              (JSC::TypeInfo::TypeInfo):
              (JSC::TypeInfo::overridesVisitChildren):
              * runtime/JSWrapperObject.cpp:
              (JSC::JSWrapperObject::visitChildren):
              * runtime/JSWrapperObject.h:
              * runtime/JSZombie.h:
              (JSC::JSZombie::visitChildren):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::NativeErrorConstructor::visitChildren):
              * runtime/NativeErrorConstructor.h:
              * runtime/RegExpObject.cpp:
              (JSC::RegExpObject::visitChildren):
              * runtime/RegExpObject.h:
              * runtime/ScopeChain.cpp:
              (JSC::ScopeChainNode::visitChildren):
              * runtime/ScopeChain.h:
              * runtime/SmallStrings.cpp:
              (JSC::SmallStrings::visitChildren):
              * runtime/SmallStrings.h:
              * runtime/Structure.cpp:
              (JSC::Structure::Structure):
              (JSC::Structure::visitChildren):
              * runtime/Structure.h:
              * runtime/StructureChain.cpp:
              (JSC::StructureChain::visitChildren):
              * runtime/StructureChain.h:
              (JSC::StructureChain::createStructure):
      2011-04-21  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Start moving to a general visitor pattern for GC traversal
              https://bugs.webkit.org/show_bug.cgi?id=59141
      
              This is just a rename:
                  markChildren -> visitChildren
                  markAggregate -> visitAggregate
                  markStack -> visitor
                  MarkStack -> typedef'd to SlotVisitor
      
              * UserObjectImp.cpp:
              (UserObjectImp::visitChildren):
      2011-04-21  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Start moving to a general visitor pattern for GC traversal
              https://bugs.webkit.org/show_bug.cgi?id=59141
      
              This is just a rename:
                  markChildren -> visitChildren
                  markAggregate -> visitAggregate
                  markStack -> visitor
                  MarkStack -> typedef'd to SlotVisitor
      
              * bindings/js/JSAttrCustom.cpp:
              (WebCore::JSAttr::visitChildren):
              * bindings/js/JSAudioConstructor.cpp:
              (WebCore::constructAudio):
              * bindings/js/JSCSSRuleCustom.cpp:
              (WebCore::JSCSSRule::visitChildren):
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::JSCSSStyleDeclaration::visitChildren):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::visitActiveObjectsForContext):
              (WebCore::markDOMObjectWrapper):
              * bindings/js/JSDOMBinding.h:
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::visitChildren):
              * bindings/js/JSDOMGlobalObject.h:
              * bindings/js/JSDOMImplementationCustom.cpp:
              (WebCore::JSDOMImplementation::visitChildren):
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::visitChildren):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::visitChildren):
              * bindings/js/JSDOMWindowShell.h:
              * bindings/js/JSDocumentCustom.cpp:
              (WebCore::JSDocument::visitChildren):
              * bindings/js/JSElementCustom.cpp:
              (WebCore::JSElement::visitChildren):
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSEventListener::markJSFunction):
              * bindings/js/JSEventListener.h:
              * bindings/js/JSHTMLCanvasElementCustom.cpp:
              (WebCore::JSHTMLCanvasElement::visitChildren):
              * bindings/js/JSHTMLLinkElementCustom.cpp:
              (WebCore::JSHTMLLinkElement::visitChildren):
              * bindings/js/JSHTMLStyleElementCustom.cpp:
              (WebCore::JSHTMLStyleElement::visitChildren):
              * bindings/js/JSImageConstructor.cpp:
              (WebCore::constructImage):
              * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
              (WebCore::JSJavaScriptAudioNode::visitChildren):
              * bindings/js/JSMessageChannelCustom.cpp:
              (WebCore::JSMessageChannel::visitChildren):
              * bindings/js/JSMessagePortCustom.cpp:
              (WebCore::JSMessagePort::visitChildren):
              * bindings/js/JSNamedNodeMapCustom.cpp:
              (WebCore::JSNamedNodeMapOwner::isReachableFromOpaqueRoots):
              (WebCore::JSNamedNodeMap::visitChildren):
              * bindings/js/JSNavigatorCustom.cpp:
              (WebCore::JSNavigator::visitChildren):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::isObservable):
              (WebCore::isReachableFromDOM):
              (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
              (WebCore::JSNode::visitChildren):
              * bindings/js/JSNodeCustom.h:
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
              * bindings/js/JSNodeFilterCondition.h:
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::JSNodeFilter::visitChildren):
              * bindings/js/JSNodeIteratorCustom.cpp:
              (WebCore::JSNodeIterator::visitChildren):
              * bindings/js/JSNodeListCustom.cpp:
              (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
              * bindings/js/JSProcessingInstructionCustom.cpp:
              (WebCore::JSProcessingInstruction::visitChildren):
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              (WebCore::JSSVGElementInstance::visitChildren):
              * bindings/js/JSSharedWorkerCustom.cpp:
              (WebCore::JSSharedWorker::visitChildren):
              * bindings/js/JSStyleSheetCustom.cpp:
              (WebCore::JSStyleSheet::visitChildren):
              * bindings/js/JSTreeWalkerCustom.cpp:
              (WebCore::JSTreeWalker::visitChildren):
              * bindings/js/JSWebGLRenderingContextCustom.cpp:
              (WebCore::JSWebGLRenderingContext::visitChildren):
              * bindings/js/JSWebKitAnimationListCustom.cpp:
              (WebCore::JSWebKitAnimationList::visitChildren):
              * bindings/js/JSWorkerContextCustom.cpp:
              (WebCore::JSWorkerContext::visitChildren):
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              (WebCore::JSXMLHttpRequest::visitChildren):
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              (WebCore::JSXMLHttpRequestUpload::visitChildren):
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtRuntimeObject::visitChildren):
              (JSC::Bindings::QtInstance::markAggregate):
              * bridge/qt/qt_instance.h:
              * bridge/qt/qt_pixmapruntime.cpp:
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
              * bridge/qt/qt_runtime.h:
              * dom/EventListener.h:
              (WebCore::EventListener::visitJSFunction):
              * dom/EventTarget.h:
              (WebCore::EventTarget::visitJSEventListeners):
              * dom/Node.h:
              * dom/NodeFilterCondition.h:
              (WebCore::NodeFilterCondition::visitAggregate):
              * page/DOMWindow.h:
              * workers/WorkerContext.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84556 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      433d02f9
  6. 15 Apr, 2011 2 commits
  7. 13 Apr, 2011 1 commit
    • oliver@apple.com's avatar
      2011-04-13 Oliver Hunt <oliver@apple.com> · bb8da910
      oliver@apple.com authored
              Reviewed by Geoff Garen.
      
              GC allocate Structure
              https://bugs.webkit.org/show_bug.cgi?id=58483
      
              Additional structures are allocated beyond the expected threshold
              so we preflight the test to get them allocated.
      
              * fast/dom/gc-10.html:
      2011-04-13  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoff Garen.
      
              GC allocate Structure
              https://bugs.webkit.org/show_bug.cgi?id=58483
      
              Turn Structure into a GC allocated object.  Most of this patch
              is the mechanical change of replacing variations on RefPtr<Structure>
              with either Structure* (for arguments and locals), WriteBarrier<Structure>
              for the few cases where Structures are held by GC allocated objects
              and Strong<Structure> for the root structure objects in GlobalData.
      
              * API/JSCallbackConstructor.cpp:
              (JSC::JSCallbackConstructor::JSCallbackConstructor):
              * API/JSCallbackConstructor.h:
              (JSC::JSCallbackConstructor::createStructure):
              * API/JSCallbackFunction.h:
              (JSC::JSCallbackFunction::createStructure):
              * API/JSCallbackObject.h:
              (JSC::JSCallbackObject::createStructure):
              * API/JSCallbackObjectFunctions.h:
              (JSC::::JSCallbackObject):
              * API/JSContextRef.cpp:
              * JavaScriptCore.JSVALUE32_64only.exp:
              * JavaScriptCore.JSVALUE64only.exp:
              * JavaScriptCore.exp:
              * bytecode/CodeBlock.cpp:
              (JSC::CodeBlock::~CodeBlock):
              (JSC::CodeBlock::markStructures):
              (JSC::CodeBlock::markAggregate):
              * bytecode/CodeBlock.h:
              (JSC::MethodCallLinkInfo::setSeen):
              (JSC::GlobalResolveInfo::GlobalResolveInfo):
              * bytecode/Instruction.h:
              (JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set):
              (JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
              (JSC::PolymorphicAccessStructureList::markAggregate):
              (JSC::Instruction::Instruction):
              * bytecode/StructureStubInfo.cpp:
              (JSC::StructureStubInfo::deref):
              (JSC::StructureStubInfo::markAggregate):
              * bytecode/StructureStubInfo.h:
              (JSC::StructureStubInfo::initGetByIdSelf):
              (JSC::StructureStubInfo::initGetByIdProto):
              (JSC::StructureStubInfo::initGetByIdChain):
              (JSC::StructureStubInfo::initPutByIdTransition):
              (JSC::StructureStubInfo::initPutByIdReplace):
              * debugger/DebuggerActivation.cpp:
              (JSC::DebuggerActivation::DebuggerActivation):
              * debugger/DebuggerActivation.h:
              (JSC::DebuggerActivation::createStructure):
              * heap/Handle.h:
              * heap/MarkStack.cpp:
              (JSC::MarkStack::markChildren):
              (JSC::MarkStack::drain):
              * heap/MarkedBlock.cpp:
              (JSC::MarkedBlock::MarkedBlock):
              (JSC::MarkedBlock::sweep):
              * heap/Strong.h:
              (JSC::Strong::Strong):
              (JSC::Strong::set):
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::resolveGlobal):
              (JSC::Interpreter::resolveGlobalDynamic):
              (JSC::Interpreter::tryCachePutByID):
              (JSC::Interpreter::uncachePutByID):
              (JSC::Interpreter::tryCacheGetByID):
              (JSC::Interpreter::uncacheGetByID):
              (JSC::Interpreter::privateExecute):
              * jit/JIT.h:
              * jit/JITPropertyAccess.cpp:
              (JSC::JIT::privateCompilePutByIdTransition):
              (JSC::JIT::patchMethodCallProto):
              (JSC::JIT::privateCompileGetByIdProto):
              (JSC::JIT::privateCompileGetByIdSelfList):
              (JSC::JIT::privateCompileGetByIdProtoList):
              (JSC::JIT::privateCompileGetByIdChainList):
              (JSC::JIT::privateCompileGetByIdChain):
              * jit/JITPropertyAccess32_64.cpp:
              (JSC::JIT::privateCompilePutByIdTransition):
              (JSC::JIT::patchMethodCallProto):
              (JSC::JIT::privateCompileGetByIdProto):
              (JSC::JIT::privateCompileGetByIdSelfList):
              (JSC::JIT::privateCompileGetByIdProtoList):
              (JSC::JIT::privateCompileGetByIdChainList):
              (JSC::JIT::privateCompileGetByIdChain):
              * jit/JITStubs.cpp:
              (JSC::JITThunks::tryCachePutByID):
              (JSC::JITThunks::tryCacheGetByID):
              (JSC::DEFINE_STUB_FUNCTION):
              (JSC::getPolymorphicAccessStructureListSlot):
              * jit/JSInterfaceJIT.h:
              (JSC::JSInterfaceJIT::storePtrWithWriteBarrier):
              * jsc.cpp:
              (cleanupGlobalData):
              * runtime/Arguments.h:
              (JSC::Arguments::createStructure):
              (JSC::Arguments::Arguments):
              (JSC::JSActivation::copyRegisters):
              * runtime/ArrayConstructor.cpp:
              (JSC::ArrayConstructor::ArrayConstructor):
              (JSC::constructArrayWithSizeQuirk):
              * runtime/ArrayConstructor.h:
              * runtime/ArrayPrototype.cpp:
              (JSC::ArrayPrototype::ArrayPrototype):
              (JSC::arrayProtoFuncSplice):
              * runtime/ArrayPrototype.h:
              (JSC::ArrayPrototype::createStructure):
              * runtime/BatchedTransitionOptimizer.h:
              (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
              * runtime/BooleanConstructor.cpp:
              (JSC::BooleanConstructor::BooleanConstructor):
              * runtime/BooleanConstructor.h:
              * runtime/BooleanObject.cpp:
              (JSC::BooleanObject::BooleanObject):
              * runtime/BooleanObject.h:
              (JSC::BooleanObject::createStructure):
              * runtime/BooleanPrototype.cpp:
              (JSC::BooleanPrototype::BooleanPrototype):
              * runtime/BooleanPrototype.h:
              * runtime/DateConstructor.cpp:
              (JSC::DateConstructor::DateConstructor):
              * runtime/DateConstructor.h:
              * runtime/DateInstance.cpp:
              (JSC::DateInstance::DateInstance):
              * runtime/DateInstance.h:
              (JSC::DateInstance::createStructure):
              * runtime/DatePrototype.cpp:
              (JSC::DatePrototype::DatePrototype):
              * runtime/DatePrototype.h:
              (JSC::DatePrototype::createStructure):
              * runtime/Error.cpp:
              (JSC::StrictModeTypeErrorFunction::StrictModeTypeErrorFunction):
              * runtime/ErrorConstructor.cpp:
              (JSC::ErrorConstructor::ErrorConstructor):
              * runtime/ErrorConstructor.h:
              * runtime/ErrorInstance.cpp:
              (JSC::ErrorInstance::ErrorInstance):
              (JSC::ErrorInstance::create):
              * runtime/ErrorInstance.h:
              (JSC::ErrorInstance::createStructure):
              * runtime/ErrorPrototype.cpp:
              (JSC::ErrorPrototype::ErrorPrototype):
              * runtime/ErrorPrototype.h:
              * runtime/ExceptionHelpers.cpp:
              (JSC::InterruptedExecutionError::InterruptedExecutionError):
              (JSC::TerminatedExecutionError::TerminatedExecutionError):
              * runtime/Executable.cpp:
              * runtime/Executable.h:
              (JSC::ExecutableBase::ExecutableBase):
              (JSC::ExecutableBase::createStructure):
              (JSC::NativeExecutable::createStructure):
              (JSC::NativeExecutable::NativeExecutable):
              (JSC::ScriptExecutable::ScriptExecutable):
              (JSC::EvalExecutable::createStructure):
              (JSC::ProgramExecutable::createStructure):
              (JSC::FunctionExecutable::createStructure):
              * runtime/FunctionConstructor.cpp:
              (JSC::FunctionConstructor::FunctionConstructor):
              * runtime/FunctionConstructor.h:
              * runtime/FunctionPrototype.cpp:
              (JSC::FunctionPrototype::FunctionPrototype):
              * runtime/FunctionPrototype.h:
              (JSC::FunctionPrototype::createStructure):
              * runtime/GetterSetter.h:
              (JSC::GetterSetter::GetterSetter):
              (JSC::GetterSetter::createStructure):
              * runtime/InitializeThreading.cpp:
              (JSC::initializeThreadingOnce):
              * runtime/InternalFunction.cpp:
              (JSC::InternalFunction::InternalFunction):
              * runtime/InternalFunction.h:
              (JSC::InternalFunction::createStructure):
              * runtime/JSAPIValueWrapper.h:
              (JSC::JSAPIValueWrapper::createStructure):
              (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::JSActivation):
              * runtime/JSActivation.h:
              (JSC::JSActivation::createStructure):
              * runtime/JSArray.cpp:
              (JSC::JSArray::JSArray):
              * runtime/JSArray.h:
              (JSC::JSArray::createStructure):
              * runtime/JSByteArray.cpp:
              (JSC::JSByteArray::JSByteArray):
              (JSC::JSByteArray::createStructure):
              * runtime/JSByteArray.h:
              (JSC::JSByteArray::JSByteArray):
              * runtime/JSCell.cpp:
              (JSC::isZombie):
              * runtime/JSCell.h:
              (JSC::JSCell::JSCell::JSCell):
              (JSC::JSCell::JSCell::addressOfStructure):
              (JSC::JSCell::JSCell::structure):
              (JSC::JSCell::JSCell::markChildren):
              (JSC::JSCell::JSValue::isZombie):
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::JSFunction):
              * runtime/JSFunction.h:
              (JSC::JSFunction::createStructure):
              * runtime/JSGlobalData.cpp:
              (JSC::JSGlobalData::storeVPtrs):
              (JSC::JSGlobalData::JSGlobalData):
              (JSC::JSGlobalData::clearBuiltinStructures):
              (JSC::JSGlobalData::createLeaked):
              * runtime/JSGlobalData.h:
              (JSC::allocateGlobalHandle):
              * runtime/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::reset):
              (JSC::JSGlobalObject::markChildren):
              (JSC::JSGlobalObject::copyGlobalsFrom):
              * runtime/JSGlobalObject.h:
              (JSC::JSGlobalObject::JSGlobalObject):
              (JSC::JSGlobalObject::createStructure):
              (JSC::Structure::prototypeChain):
              (JSC::Structure::isValid):
              (JSC::constructEmptyArray):
              * runtime/JSNotAnObject.h:
              (JSC::JSNotAnObject::JSNotAnObject):
              (JSC::JSNotAnObject::createStructure):
              * runtime/JSONObject.cpp:
              (JSC::JSONObject::JSONObject):
              * runtime/JSONObject.h:
              (JSC::JSONObject::createStructure):
              * runtime/JSObject.cpp:
              (JSC::JSObject::defineGetter):
              (JSC::JSObject::defineSetter):
              (JSC::JSObject::seal):
              (JSC::JSObject::freeze):
              (JSC::JSObject::preventExtensions):
              (JSC::JSObject::removeDirect):
              (JSC::JSObject::createInheritorID):
              * runtime/JSObject.h:
              (JSC::JSObject::createStructure):
              (JSC::JSObject::JSObject):
              (JSC::JSNonFinalObject::createStructure):
              (JSC::JSNonFinalObject::JSNonFinalObject):
              (JSC::JSFinalObject::create):
              (JSC::JSFinalObject::createStructure):
              (JSC::JSFinalObject::JSFinalObject):
              (JSC::constructEmptyObject):
              (JSC::createEmptyObjectStructure):
              (JSC::JSObject::~JSObject):
              (JSC::JSObject::setPrototype):
              (JSC::JSObject::setStructure):
              (JSC::JSObject::inheritorID):
              (JSC::JSObject::putDirectInternal):
              (JSC::JSObject::transitionTo):
              (JSC::JSObject::markChildrenDirect):
              * runtime/JSObjectWithGlobalObject.cpp:
              (JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject):
              * runtime/JSObjectWithGlobalObject.h:
              (JSC::JSObjectWithGlobalObject::createStructure):
              (JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject):
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
              (JSC::JSPropertyNameIterator::create):
              (JSC::JSPropertyNameIterator::get):
              * runtime/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::createStructure):
              (JSC::JSPropertyNameIterator::setCachedStructure):
              (JSC::Structure::setEnumerationCache):
              * runtime/JSStaticScopeObject.h:
              (JSC::JSStaticScopeObject::JSStaticScopeObject):
              (JSC::JSStaticScopeObject::createStructure):
              * runtime/JSString.h:
              (JSC::RopeBuilder::JSString):
              (JSC::RopeBuilder::createStructure):
              * runtime/JSType.h:
              * runtime/JSTypeInfo.h:
              (JSC::TypeInfo::TypeInfo):
              * runtime/JSValue.h:
              * runtime/JSVariableObject.h:
              (JSC::JSVariableObject::createStructure):
              (JSC::JSVariableObject::JSVariableObject):
              (JSC::JSVariableObject::copyRegisterArray):
              * runtime/JSWrapperObject.h:
              (JSC::JSWrapperObject::createStructure):
              (JSC::JSWrapperObject::JSWrapperObject):
              * runtime/JSZombie.cpp:
              * runtime/JSZombie.h:
              (JSC::JSZombie::JSZombie):
              (JSC::JSZombie::createStructure):
              * runtime/MathObject.cpp:
              (JSC::MathObject::MathObject):
              * runtime/MathObject.h:
              (JSC::MathObject::createStructure):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::NativeErrorConstructor::NativeErrorConstructor):
              (JSC::NativeErrorConstructor::markChildren):
              * runtime/NativeErrorConstructor.h:
              (JSC::NativeErrorConstructor::createStructure):
              * runtime/NativeErrorPrototype.cpp:
              (JSC::NativeErrorPrototype::NativeErrorPrototype):
              * runtime/NativeErrorPrototype.h:
              * runtime/NumberConstructor.cpp:
              (JSC::NumberConstructor::NumberConstructor):
              * runtime/NumberConstructor.h:
              (JSC::NumberConstructor::createStructure):
              * runtime/NumberObject.cpp:
              (JSC::NumberObject::NumberObject):
              * runtime/NumberObject.h:
              (JSC::NumberObject::createStructure):
              * runtime/NumberPrototype.cpp:
              (JSC::NumberPrototype::NumberPrototype):
              * runtime/NumberPrototype.h:
              * runtime/ObjectConstructor.cpp:
              (JSC::ObjectConstructor::ObjectConstructor):
              * runtime/ObjectConstructor.h:
              (JSC::ObjectConstructor::createStructure):
              * runtime/ObjectPrototype.cpp:
              (JSC::ObjectPrototype::ObjectPrototype):
              * runtime/ObjectPrototype.h:
              * runtime/PropertyMapHashTable.h:
              (JSC::PropertyTable::PropertyTable):
              * runtime/RegExpConstructor.cpp:
              (JSC::RegExpConstructor::RegExpConstructor):
              (JSC::RegExpMatchesArray::RegExpMatchesArray):
              * runtime/RegExpConstructor.h:
              (JSC::RegExpConstructor::createStructure):
              * runtime/RegExpObject.cpp:
              (JSC::RegExpObject::RegExpObject):
              * runtime/RegExpObject.h:
              (JSC::RegExpObject::createStructure):
              * runtime/RegExpPrototype.cpp:
              (JSC::RegExpPrototype::RegExpPrototype):
              * runtime/RegExpPrototype.h:
              * runtime/ScopeChain.h:
              (JSC::ScopeChainNode::ScopeChainNode):
              (JSC::ScopeChainNode::createStructure):
              * runtime/StrictEvalActivation.cpp:
              (JSC::StrictEvalActivation::StrictEvalActivation):
              * runtime/StringConstructor.cpp:
              (JSC::StringConstructor::StringConstructor):
              * runtime/StringConstructor.h:
              * runtime/StringObject.cpp:
              (JSC::StringObject::StringObject):
              * runtime/StringObject.h:
              (JSC::StringObject::createStructure):
              * runtime/StringObjectThatMasqueradesAsUndefined.h:
              (JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):
              (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
              * runtime/StringPrototype.cpp:
              (JSC::StringPrototype::StringPrototype):
              * runtime/StringPrototype.h:
              (JSC::StringPrototype::createStructure):
              * runtime/Structure.cpp:
              (JSC::StructureTransitionTable::remove):
              (JSC::StructureTransitionTable::add):
              (JSC::Structure::Structure):
              (JSC::Structure::~Structure):
              (JSC::Structure::materializePropertyMap):
              (JSC::Structure::addPropertyTransitionToExistingStructure):
              (JSC::Structure::addPropertyTransition):
              (JSC::Structure::removePropertyTransition):
              (JSC::Structure::changePrototypeTransition):
              (JSC::Structure::despecifyFunctionTransition):
              (JSC::Structure::getterSetterTransition):
              (JSC::Structure::toDictionaryTransition):
              (JSC::Structure::toCacheableDictionaryTransition):
              (JSC::Structure::toUncacheableDictionaryTransition):
              (JSC::Structure::sealTransition):
              (JSC::Structure::freezeTransition):
              (JSC::Structure::preventExtensionsTransition):
              (JSC::Structure::flattenDictionaryStructure):
              (JSC::Structure::copyPropertyTable):
              (JSC::Structure::put):
              (JSC::Structure::markChildren):
              * runtime/Structure.h:
              (JSC::Structure::create):
              (JSC::Structure::setPrototypeWithoutTransition):
              (JSC::Structure::createStructure):
              (JSC::JSCell::createDummyStructure):
              (JSC::StructureTransitionTable::WeakGCMapFinalizerCallback::keyForFinalizer):
              * runtime/StructureChain.cpp:
              (JSC::StructureChain::StructureChain):
              (JSC::StructureChain::markChildren):
              * runtime/StructureChain.h:
              (JSC::StructureChain::create):
              (JSC::StructureChain::head):
              (JSC::StructureChain::createStructure):
              * runtime/StructureTransitionTable.h:
              (JSC::StructureTransitionTable::WeakGCMapFinalizerCallback::finalizerContextFor):
              (JSC::StructureTransitionTable::~StructureTransitionTable):
              (JSC::StructureTransitionTable::slot):
              (JSC::StructureTransitionTable::setMap):
              (JSC::StructureTransitionTable::singleTransition):
              (JSC::StructureTransitionTable::clearSingleTransition):
              (JSC::StructureTransitionTable::setSingleTransition):
              * runtime/WeakGCMap.h:
              (JSC::DefaultWeakGCMapFinalizerCallback::finalizerContextFor):
              (JSC::DefaultWeakGCMapFinalizerCallback::keyForFinalizer):
              (JSC::WeakGCMap::contains):
              (JSC::WeakGCMap::find):
              (JSC::WeakGCMap::remove):
              (JSC::WeakGCMap::add):
              (JSC::WeakGCMap::set):
              (JSC::WeakGCMap::finalize):
              * runtime/WriteBarrier.h:
              (JSC::writeBarrier):
              (JSC::WriteBarrierBase::set):
              (JSC::WriteBarrierBase::operator*):
              (JSC::WriteBarrierBase::operator->):
              (JSC::WriteBarrierBase::setWithoutWriteBarrier):
      2011-04-13  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoff Garen.
      
              GC allocate Structure
              https://bugs.webkit.org/show_bug.cgi?id=58483
      
              Fix up JSG to correctly mark Structure, et al.
      
              * JSRun.cpp:
              (JSGlueGlobalObject::JSGlueGlobalObject):
              * JSRun.h:
              * JSUtils.cpp:
              (JSObjectKJSValue):
              * UserObjectImp.cpp:
              (UserObjectImp::UserObjectImp):
              * UserObjectImp.h:
              (UserObjectImp::createStructure):
      2011-04-13  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoff Garen.
      
              GC allocate Structure
              https://bugs.webkit.org/show_bug.cgi?id=58483
      
              Update WebCore for Structure being a GC allocated object
      
              * WebCore.exp.in:
              * bindings/js/JSAudioConstructor.h:
              (WebCore::JSAudioConstructor::createStructure):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::cacheDOMStructure):
              * bindings/js/JSDOMBinding.h:
              (WebCore::DOMObjectWithGlobalPointer::createStructure):
              (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
              (WebCore::DOMConstructorObject::createStructure):
              (WebCore::DOMConstructorObject::DOMConstructorObject):
              (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
              (WebCore::JSDOMGlobalObject::markChildren):
              * bindings/js/JSDOMGlobalObject.h:
              (WebCore::JSDOMGlobalObject::createStructure):
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::JSDOMWindowBase::JSDOMWindowBase):
              * bindings/js/JSDOMWindowBase.h:
              (WebCore::JSDOMWindowBase::createStructure):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::JSDOMWindowShell):
              (WebCore::JSDOMWindowShell::setWindow):
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::createStructure):
              * bindings/js/JSDOMWrapper.h:
              (WebCore::DOMObject::DOMObject):
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSEventListener::JSEventListener):
              * bindings/js/JSImageConstructor.h:
              (WebCore::JSImageConstructor::createStructure):
              * bindings/js/JSImageDataCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSOptionConstructor.h:
              (WebCore::JSOptionConstructor::createStructure):
              * bindings/js/JSWorkerContextBase.cpp:
              (WebCore::JSWorkerContextBase::JSWorkerContextBase):
              * bindings/js/JSWorkerContextBase.h:
              (WebCore::JSWorkerContextBase::createStructure):
              * bindings/js/ScriptCachedFrameData.h:
              * bindings/js/SerializedScriptValue.h:
              * bindings/js/WorkerScriptController.cpp:
              (WebCore::WorkerScriptController::initScript):
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/c/CRuntimeObject.h:
              (JSC::Bindings::CRuntimeObject::createStructure):
              * bridge/c/c_instance.cpp:
              (JSC::Bindings::CRuntimeMethod::createStructure):
              * bridge/jni/jsc/JavaInstanceJSC.cpp:
              (JavaRuntimeMethod::createStructure):
              * bridge/jni/jsc/JavaRuntimeObject.h:
              (JSC::Bindings::JavaRuntimeObject::createStructure):
              * bridge/objc/ObjCRuntimeObject.h:
              (JSC::Bindings::ObjCRuntimeObject::createStructure):
              * bridge/objc/objc_instance.mm:
              (ObjCRuntimeMethod::createStructure):
              * bridge/objc/objc_runtime.h:
              (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
              * bridge/runtime_array.cpp:
              (JSC::RuntimeArray::RuntimeArray):
              * bridge/runtime_array.h:
              (JSC::RuntimeArray::createStructure):
              * bridge/runtime_method.cpp:
              (JSC::RuntimeMethod::RuntimeMethod):
              * bridge/runtime_method.h:
              (JSC::RuntimeMethod::createStructure):
              * bridge/runtime_object.cpp:
              (JSC::Bindings::RuntimeObject::RuntimeObject):
              * bridge/runtime_object.h:
              (JSC::Bindings::RuntimeObject::createStructure):
              * history/HistoryItem.h:
      2011-04-13  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoff Garen.
      
              GC allocate Structure
              https://bugs.webkit.org/show_bug.cgi?id=58483
      
              Update WebKit for the world of GC allocated Structure
      
              * Plugins/Hosted/NetscapePluginInstanceProxy.h:
              * Plugins/Hosted/ProxyInstance.mm:
              (WebKit::ProxyRuntimeMethod::createStructure):
              * Plugins/Hosted/ProxyRuntimeObject.h:
              (WebKit::ProxyRuntimeObject::createStructure):
      2011-04-13  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoff Garen.
      
              GC allocate Structure
              https://bugs.webkit.org/show_bug.cgi?id=58483
      
              Update WK2 for the world of GC allocated Structure
      
              * WebProcess/Plugins/Netscape/JSNPMethod.h:
              (WebKit::JSNPMethod::createStructure):
              * WebProcess/Plugins/Netscape/JSNPObject.h:
              (WebKit::JSNPObject::createStructure):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb8da910
  8. 05 Apr, 2011 1 commit
    • oliver@apple.com's avatar
      2011-04-05 Oliver Hunt <oliver@apple.com> · 3d9bc52b
      oliver@apple.com authored
              Reviewed by Gavin Barraclough.
      
              Make caches window show more info about non-jsobject GC values
              https://bugs.webkit.org/show_bug.cgi?id=57874
      
              Add ClassInfo to the various internal JS types that currently
              don't have any, and make the text for caches window show the
              classname for non-JSObject instances.
      
              * runtime/Executable.cpp:
              * runtime/Executable.h:
              (JSC::ExecutableBase::createStructure):
              (JSC::NativeExecutable::createStructure):
              (JSC::NativeExecutable::NativeExecutable):
              (JSC::EvalExecutable::createStructure):
              (JSC::ProgramExecutable::createStructure):
              (JSC::FunctionExecutable::createStructure):
              * runtime/Heap.cpp:
              (JSC::TypeCounter::typeName):
              * runtime/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              * runtime/JSGlobalData.h:
              * runtime/ScopeChain.cpp:
              * runtime/ScopeChain.h:
              (JSC::ScopeChainNode::createStructure):
              * runtime/StructureChain.cpp:
              * runtime/StructureChain.h:
              (JSC::StructureChain::createStructure):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@82971 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3d9bc52b
  9. 04 Apr, 2011 1 commit
    • oliver@apple.com's avatar
      2011-04-01 Oliver Hunt <oliver@apple.com> · 59144210
      oliver@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Make StructureChain GC allocated
              https://bugs.webkit.org/show_bug.cgi?id=56695
      
              Make StructureChain GC allocated, and make the various owners
              mark it correctly.
      
              * JavaScriptCore.exp:
              * bytecode/CodeBlock.cpp:
              (JSC::CodeBlock::dump):
              (JSC::CodeBlock::derefStructures):
              (JSC::CodeBlock::refStructures):
              (JSC::CodeBlock::markAggregate):
              * bytecode/Instruction.h:
              (JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set):
              (JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
              (JSC::PolymorphicAccessStructureList::derefStructures):
              (JSC::PolymorphicAccessStructureList::markAggregate):
              (JSC::Instruction::Instruction):
              * bytecode/StructureStubInfo.cpp:
              (JSC::StructureStubInfo::deref):
              (JSC::StructureStubInfo::markAggregate):
              * bytecode/StructureStubInfo.h:
              (JSC::StructureStubInfo::initGetByIdChain):
              (JSC::StructureStubInfo::initPutByIdTransition):
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
              (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
              * collector/handles/Handle.h:
              (JSC::HandleConverter::operator->):
              (JSC::HandleConverter::operator*):
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::privateExecute):
              * jit/JITOpcodes.cpp:
              (JSC::JIT::emit_op_jneq_ptr):
              * jit/JITOpcodes32_64.cpp:
              (JSC::JIT::emit_op_jneq_ptr):
              * jit/JITPropertyAccess.cpp:
              (JSC::JIT::privateCompileGetByIdChainList):
              * jit/JITPropertyAccess32_64.cpp:
              (JSC::JIT::privateCompileGetByIdChainList):
              * jit/JITStubs.cpp:
              (JSC::JITThunks::tryCachePutByID):
              (JSC::JITThunks::tryCacheGetByID):
              (JSC::getPolymorphicAccessStructureListSlot):
              (JSC::DEFINE_STUB_FUNCTION):
              * runtime/JSCell.h:
              * runtime/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              * runtime/JSGlobalData.h:
              * runtime/JSGlobalObject.cpp:
              (JSC::markIfNeeded):
              * runtime/JSGlobalObject.h:
              (JSC::Structure::prototypeChain):
              * runtime/JSObject.h:
              (JSC::JSObject::putDirectInternal):
              (JSC::JSObject::markChildrenDirect):
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::create):
              (JSC::JSPropertyNameIterator::get):
              (JSC::JSPropertyNameIterator::markChildren):
              * runtime/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::setCachedPrototypeChain):
              * runtime/JSZombie.cpp:
              (JSC::JSZombie::leakedZombieStructure):
              * runtime/JSZombie.h:
              * runtime/MarkStack.h:
              (JSC::MarkStack::append):
              * runtime/MarkedBlock.cpp:
              (JSC::MarkedBlock::sweep):
              * runtime/Structure.cpp:
              (JSC::Structure::addPropertyTransition):
              * runtime/Structure.h:
              (JSC::Structure::markAggregate):
              * runtime/StructureChain.cpp:
              (JSC::StructureChain::StructureChain):
              (JSC::StructureChain::~StructureChain):
              (JSC::StructureChain::markChildren):
              * runtime/StructureChain.h:
              (JSC::StructureChain::create):
              (JSC::StructureChain::createStructure):
              * runtime/WriteBarrier.h:
              (JSC::WriteBarrierBase::get):
              (JSC::WriteBarrierBase::operator*):
              (JSC::WriteBarrierBase::operator->):
      2011-04-01  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Make StructureChain GC allocated
              https://bugs.webkit.org/show_bug.cgi?id=56695
      
              Update for new Structure marking function
      
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::markChildren):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@82849 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59144210
  10. 30 Mar, 2011 2 commits
    • oliver@apple.com's avatar
      Rollout r82500 · 9d5d1b0f
      oliver@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@82519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d5d1b0f
    • oliver@apple.com's avatar
      2011-03-30 Oliver Hunt <oliver@apple.com> · 887a036f
      oliver@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Make StructureChain GC allocated
              https://bugs.webkit.org/show_bug.cgi?id=56695
      
              Make StructureChain GC allocated, and make the various owners
              mark it correctly.
      
              * bytecode/CodeBlock.cpp:
              (JSC::CodeBlock::dump):
              (JSC::CodeBlock::derefStructures):
              (JSC::CodeBlock::refStructures):
              (JSC::CodeBlock::markAggregate):
              * bytecode/Instruction.h:
              (JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set):
              (JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
              (JSC::PolymorphicAccessStructureList::derefStructures):
              (JSC::PolymorphicAccessStructureList::markAggregate):
              (JSC::Instruction::Instruction):
              * bytecode/StructureStubInfo.cpp:
              (JSC::StructureStubInfo::deref):
              (JSC::StructureStubInfo::markAggregate):
              * bytecode/StructureStubInfo.h:
              (JSC::StructureStubInfo::initGetByIdChain):
              (JSC::StructureStubInfo::initPutByIdTransition):
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
              (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::privateExecute):
              * jit/JITOpcodes.cpp:
              (JSC::JIT::emit_op_jneq_ptr):
              * jit/JITOpcodes32_64.cpp:
              (JSC::JIT::emit_op_jneq_ptr):
              * jit/JITPropertyAccess.cpp:
              (JSC::JIT::privateCompileGetByIdChainList):
              * jit/JITPropertyAccess32_64.cpp:
              (JSC::JIT::privateCompileGetByIdChainList):
              * jit/JITStubs.cpp:
              (JSC::getPolymorphicAccessStructureListSlot):
              (JSC::DEFINE_STUB_FUNCTION):
              * runtime/JSCell.h:
              * runtime/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              * runtime/JSGlobalData.h:
              * runtime/JSGlobalObject.cpp:
              (JSC::markIfNeeded):
              * runtime/JSGlobalObject.h:
              (JSC::Structure::prototypeChain):
              * runtime/JSObject.h:
              (JSC::JSObject::markChildrenDirect):
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::create):
              (JSC::JSPropertyNameIterator::get):
              (JSC::JSPropertyNameIterator::markChildren):
              * runtime/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::setCachedPrototypeChain):
              * runtime/MarkStack.h:
              (JSC::MarkStack::append):
              * runtime/Structure.h:
              (JSC::Structure::cachedPrototypeChainSlot):
              * runtime/StructureChain.cpp:
              (JSC::StructureChain::StructureChain):
              * runtime/StructureChain.h:
              (JSC::StructureChain::create):
              (JSC::StructureChain::createStructure):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@82500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      887a036f
  11. 06 Feb, 2011 1 commit
    • rniwa@webkit.org's avatar
      2011-02-06 Ryosuke Niwa <rniwa@webkit.org> · a7dd30af
      rniwa@webkit.org authored
              Reviewed by Darin Adler.
      
              OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
              https://bugs.webkit.org/show_bug.cgi?id=52867
      
              * DumpRenderTree/chromium/ImageDiff.cpp:
              (Image::craeteFromStdin): Call adoptArrayPtr.
      2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Darin Adler.
      
              OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
              https://bugs.webkit.org/show_bug.cgi?id=52867
      
              Removed LOOSE_OWN_ARRAY_PTR and OwnArrayPtr<T>::set. Replaced all calls to OwnArrayPtr::set
              and loose instantiation of OwnArrayPtr by calls to operator= and adoptArrayPtr. Also removed
              OwnArrayPtrCommon.h since PassOwnArrayPtr.h needs to include OwnArrayPtr.h and there is
              no point in putting deleteOwnedArrayPtr into a separate header.
              
              Note: if this patch breaks build, the code is either instiantiating OwnArrayPtr
              without calling adoptArrayPtr or calling set on ArrayOwnPtr instead of operator=.
      
              No tests are added since this is a refactoring.
      
              * API/JSStringRefCF.cpp:
              (JSStringCreateWithCFString): Calls adoptArrayPtr.
              * GNUmakefile.am: Removed OwnArrayPtrCommon.h
              * JavaScriptCore.vcproj/WTF/WTF.vcproj: Ditto.
              * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
              * runtime/Arguments.cpp:
              (JSC::Arguments::deleteProperty): Calls adoptArrayPtr.
              * runtime/Arguments.h:
              (JSC::Arguments::copyRegisters): Ditto.
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::JSPropertyNameIterator): Ditto.
              * runtime/JSVariableObject.h:
              (JSC::JSVariableObject::setRegisters): Calls operator= instead of set.
              * runtime/StructureChain.cpp:
              (JSC::StructureChain::StructureChain): Ditto.
              * wtf/CMakeLists.txt:
              * wtf/DateMath.h:
              (JSC::GregorianDateTime::GregorianDateTime): No longer instnatiates OwnArrayPtr
              with a null pointer.
              * wtf/OwnArrayPtr.h:
              * wtf/OwnArrayPtrCommon.h: Removed.
              * wtf/PassOwnArrayPtr.h: No longer includes OwnArrayCommon.h
              (WTF::deleteOwnedArrayPtr): Moved from OwnArrayPtrCommon.h
      2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Darin Adler.
      
              OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
              https://bugs.webkit.org/show_bug.cgi?id=52867
      
              * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed.
      2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Darin Adler.
      
              OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
              https://bugs.webkit.org/show_bug.cgi?id=52867
      
              * WebHistory.cpp:
              (WebHistory::orderedLastVisitedDays): Calls adoptArrayPtr.
              * WebPreferences.cpp:
              (WebPreferences::copyWebKitPreferencesToCFPreferences): Ditto.
      2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Darin Adler.
      
              OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
              https://bugs.webkit.org/show_bug.cgi?id=52867
      
              * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed.
              * bindings/v8/NPV8Object.cpp:
              (WebCore::createValueListFromVariantArgs): Returns PassOwnArrayPtr<v8::Handle<v8::Value>> instead of
              v8::Handle<v8::Value>*.
              (_NPN_Invoke): Calls createValueListFromVariantArgs.
              (_NPN_InvokeDefault): createValueListFromVariantArgs.
              (_NPN_Construct): createValueListFromVariantArgs.
              * bindings/v8/ScriptFunctionCall.cpp:
              (WebCore::ScriptFunctionCall::call): Calls adoptArrayPtr.
              (WebCore::ScriptFunctionCall::construct): Ditto.
              (WebCore::ScriptCallback::call):
              * bindings/v8/V8DOMWindowShell.cpp:
              (WebCore::V8DOMWindowShell::createNewContext): Ditto.
              * bindings/v8/V8NPObject.cpp:
              (WebCore::npObjectInvokeImpl): Ditto
              * bindings/v8/V8NodeFilterCondition.cpp:
              (WebCore::V8NodeFilterCondition::acceptNode): Ditto,
              * html/HTMLAreaElement.cpp:
              (WebCore::HTMLAreaElement::parseMappedAttribute): Calls newCoordsArray.
              * html/HTMLFrameSetElement.cpp:
              (WebCore::HTMLFrameSetElement::parseMappedAttribute): Calls newLengthArray.
              * html/canvas/WebGLRenderingContext.cpp:
              (WebCore::WebGLRenderingContext::getAttachedShaders): Calls adoptArraYptr.
              (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Ditto.
              (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache): Dito.
              * platform/Length.cpp:
              (WebCore::newCoordsArray): Returns PassOwnArrayPtr<Length> instead of Length*.
              (WebCore::newLengthArray): Returns PassOwnArrayPtr<Length> instead of Length*.
              * platform/Length.h: Prototype changes.
              * platform/graphics/ANGLEWebKitBridge.cpp:
              (WebCore::ANGLEWebKitBridge::validateShaderSource): Calls adoptArrayPtr.
              * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
              (WebCore::getDirtyRects): Ditto.
              * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
              (WebCore::ComplexTextController::getNormalizedTextRun): Ditto.
              * platform/graphics/chromium/HarfbuzzSkia.cpp:
              (WebCore::glyphsToAdvances): Ditto.
              (WebCore::canRender): Ditto.
              * platform/graphics/gpu/Texture.cpp:
              (WebCore::Texture::updateSubRect): Ditto.
              * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
              (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Ditto.
              * platform/graphics/skia/PlatformContextSkia.cpp:
              (WebCore::PlatformContextSkia::readbackHardwareToSoftware): Ditto.
              * platform/graphics/wince/SharedBitmap.cpp:
              (WebCore::SharedBitmap::to16bit): Ditto.
              * platform/win/ContextMenuWin.cpp:
              (WebCore::ContextMenu::getContextMenuItems): Ditto.
              * platform/win/LoggingWin.cpp:
              (WebCore::initializeWithUserDefault): Ditto.
              * plugins/win/PluginPackageWin.cpp:
              (WebCore::PluginPackage::fetchInfo): Ditto.
      2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Darin Adler.
      
              OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
              https://bugs.webkit.org/show_bug.cgi?id=52867
      
              * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
              (WebKit::NetscapePluginModule::getPluginInfo): Calls adoptArrayPtr.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a7dd30af
  12. 01 Jan, 2011 1 commit
    • abarth@webkit.org's avatar
      Move JavaScriptCore to Source · 76da8fc1
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=51604
      
      Reviewed by Eric Seidel.
      
      Update references to JavaScriptCore to point to the new location.
      
      * Android.mk:
      * CMakeLists.txt:
      * DerivedSources.pro:
      * GNUmakefile.am:
      * Makefile:
      * WebKit.pri:
      * WebKit.pro:
      * wscript:
      
      Tools: 
      
      Update references to JavaScriptCore to point to the new location.
      
      * BuildSlaveSupport/build.webkit.org-config/master.cfg:
      * DumpRenderTree/qt/DumpRenderTree.pro:
      * DumpRenderTree/qt/ImageDiff.pro:
      * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
      * DumpRenderTree/wscript:
      * Scripts/build-jsc:
      * Scripts/build-webkit:
      * Scripts/do-file-rename:
      * Scripts/do-webcore-rename:
      * Scripts/run-javascriptcore-tests:
      * Scripts/update-javascriptcore-test-results:
      * Scripts/webkitdirs.pm:
      * Scripts/webkitpy/common/config/build_unittest.py:
      * Scripts/webkitpy/style/checker.py:
      * Scripts/webkitpy/style/checker_unittest.py:
      * Scripts/webkitpy/style/checkers/cpp_unittest.py:
      * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro:
      * WebKitTestRunner/qt/WebKitTestRunner.pro:
      * wx/build/settings.py:
      
      WebCore: 
      
      Update references to JavaScriptCore.
      
      * Android.derived.jscbindings.mk:
      * Android.v8bindings.mk:
      * CMakeLists.txt:
      * WebCore.gyp/WebCore.gyp:
      * WebCore.pro:
        - These changes are subtle and might not be 100% correct.
      * move-js-headers.sh:
      
      WebKit/chromium: 
      
      * WebKit.gyp:
        - Point to JavaScriptCore in its new location.
      
      WebKit/gtk: 
      
      * GNUmakefile.am:
      * docs/GNUmakefile.am:
        - Point to JavaScriptCore in its new location.
      
      WebKit/qt: 
      
      * WebKit_pch.h:
      * docs/qtwebkit.qdocconf:
        - Point to JavaScriptCore in its new location.
      
      WebKit/win: 
      
      * WebKit.vcproj/WebKit.sln:
        - Point to JavaScriptCore in its new location.
      
      WebKit/wx: 
      
      * bindings/python/wscript:
      * wscript:
        - Point to JavaScriptCore in its new location.
      
      WebKit2: 
      
      * WebKit2.pro:
        - Point to JavaScriptCore in its new location.
      
      Websites/bugs.webkit.org: 
      
      * PrettyPatch/PrettyPatch.rb:
        - Remove reference to JavaScriptCore as a source directory.
      
      Websites/webkit.org: 
      
      * coding/assertion-guidelines.html:
        - Update documentation to point to the new location of
          JavaScriptCore.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74855 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76da8fc1
  13. 16 Oct, 2009 4 commits
    • ggaren@apple.com's avatar
      Rolled back in r49717 with the build maybe working now? · 5236be27
      ggaren@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49734 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5236be27
    • mrowe@apple.com's avatar
      Roll out r49717 as it broke the build. · b190d919
      mrowe@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b190d919
    • ggaren@apple.com's avatar
      Fast for-in enumeration: Cache JSPropertyNameIterator; cache JSStrings · 3806e0fa
      ggaren@apple.com authored
      in JSPropertyNameIterator; inline more code.
      
      Patch by Geoffrey Garen <ggaren@apple.com> on 2009-10-16
      Reviewed by Oliver Hunt.
      
      1.024x as fast on SunSpider (fasta: 1.43x as fast).
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dump):
      * bytecode/Opcode.h:
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::emitGetPropertyNames):
      (JSC::BytecodeGenerator::emitNextPropertyName):
      * bytecompiler/BytecodeGenerator.h: Added a few extra operands to
      op_get_pnames and op_next_pname so that we can track iteration state
      in the register file instead of in the JSPropertyNameIterator. (To be
      cacheable, the JSPropertyNameIterator must be stateless.)
      
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::tryCachePutByID):
      (JSC::Interpreter::tryCacheGetByID): Updated for rename to
      "normalizePrototypeChain" and removal of "isCacheable". 
      
      (JSC::Interpreter::privateExecute): Updated for in-RegisterFile
      iteration state tracking.
      
      * jit/JIT.cpp:
      (JSC::JIT::privateCompileMainPass):
      * jit/JIT.h:
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_get_pnames): Updated for in-RegisterFile
      iteration state tracking.
      
      (JSC::JIT::emit_op_next_pname): Inlined code generation for op_next_pname.
      
      * jit/JITStubs.cpp:
      (JSC::JITThunks::tryCachePutByID):
      (JSC::JITThunks::tryCacheGetByID): Updated for rename to
      "normalizePrototypeChain" and removal of "isCacheable". 
      
      (JSC::DEFINE_STUB_FUNCTION):
      * jit/JITStubs.h:
      (JSC::): Added has_property and to_object stubs. Removed op_next_pname
      stub, since has_property is all we need anymore.
      
      * parser/Nodes.cpp:
      (JSC::ForInNode::emitBytecode): Updated for in-RegisterFile
      iteration state tracking.
      
      * runtime/JSCell.h:
      * runtime/JSObject.cpp:
      (JSC::JSObject::getPropertyNames): Don't do caching at this layer
      anymore, since we don't create a JSPropertyNameIterator at this layer.
      
      * runtime/JSPropertyNameIterator.cpp:
      (JSC::JSPropertyNameIterator::create): Do do caching at this layer.
      (JSC::JSPropertyNameIterator::get):  Updated for in-RegisterFile
      iteration state tracking.
      (JSC::JSPropertyNameIterator::markChildren): Mark our JSStrings.
      
      * runtime/JSPropertyNameIterator.h:
      (JSC::JSPropertyNameIterator::size):
      (JSC::JSPropertyNameIterator::setCachedStructure):
      (JSC::JSPropertyNameIterator::cachedStructure):
      (JSC::JSPropertyNameIterator::setCachedPrototypeChain):
      (JSC::JSPropertyNameIterator::cachedPrototypeChain):
      (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
      (JSC::Structure::setEnumerationCache): Don't store iteration state in
      a JSPropertyNameIterator. Do cache a JSPropertyNameIterator in a
      Structure.
      
      * runtime/JSValue.h:
      (JSC::asCell):
      * runtime/MarkStack.h: Make those mischievous #include gods happy.
      
      * runtime/ObjectConstructor.cpp:
      
      * runtime/Operations.h:
      (JSC::normalizePrototypeChain): Renamed countPrototypeChainEntriesAndCheckForProxies
      to normalizePrototypeChain, since it changes dictionary prototypes to
      non-dictionary objects.
      
      * runtime/PropertyNameArray.cpp:
      (JSC::PropertyNameArray::add):
      * runtime/PropertyNameArray.h:
      (JSC::PropertyNameArrayData::PropertyNameArrayData):
      (JSC::PropertyNameArray::data):
      (JSC::PropertyNameArray::size):
      (JSC::PropertyNameArray::begin):
      (JSC::PropertyNameArray::end): Simplified some code here to help with
      current and future refactoring.
      
      * runtime/Protect.h:
      * runtime/Structure.cpp:
      (JSC::Structure::~Structure):
      (JSC::Structure::addPropertyWithoutTransition):
      (JSC::Structure::removePropertyWithoutTransition): No need to clear
      the enumeration cache with adding / removing properties without
      transition. It is an error to add / remove properties without transition
      once an object has been observed, and we can ASSERT to catch that.
      
      * runtime/Structure.h:
      (JSC::Structure::enumerationCache): Changed the enumeration cache to
      hold a JSPropertyNameIterator.
      
      * runtime/StructureChain.cpp:
      * runtime/StructureChain.h:
      (JSC::StructureChain::head): Removed StructureChain::isCacheable because
      it was wrong-headed in two ways: (1) It gave up when a prototype was a
      dictionary, but instead we want un-dictionary heavily accessed
      prototypes; (2) It folded a test for hasDefaultGetPropertyNames() into
      a generic test for "cacheable-ness", but hasDefaultGetPropertyNames()
      is only releavant to for-in caching.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49717 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3806e0fa
    • oliver@apple.com's avatar
      Make typeinfo flags default to false · ac0ff4bd
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=30372
      
      Reviewed by Gavin Barraclough.
      
      Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
      flag.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49694 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ac0ff4bd
  14. 21 Sep, 2009 2 commits
  15. 20 Sep, 2009 1 commit
    • oliver@apple.com's avatar
      SNES is too slow · 6ee84c93
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=29534
      
      Reviewed by Maciej Stachowiak.
      
      The problem was that the emulator used multiple classes with
      more properties than our dictionary cutoff allowed, this resulted
      in more or less all critical logic inside the emulator requiring
      uncached property access.
      
      Rather than simply bumping the dictionary cutoff, this patch
      recognises that there are two ways to create a "dictionary"
      structure.  Either by adding a large number of properties, or
      by removing a property.  In the case of adding properties we
      know all the existing properties will maintain their existing
      offsets, so we could cache access to those properties, if we
      know they won't be removed.
      
      To make this possible, this patch adds the logic required to
      distinguish a dictionary created by addition from one created
      by removal.  With this logic in place we can now cache access
      to objects with large numbers of properties.
      
      SNES performance improved by more than 6x.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6ee84c93
  16. 11 Sep, 2009 1 commit
  17. 23 Jun, 2009 1 commit
  18. 25 Feb, 2009 1 commit
    • ggaren@apple.com's avatar
      JavaScriptCore: · c8bc3c87
      ggaren@apple.com authored
      2009-02-25  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Maciej Stachowiak.
              
              Fixed <rdar://problem/6611174> REGRESSION (r36701): Unable to select
              messages on hotmail (24052)
              
              The bug was that for-in enumeration used a cached prototype chain without
              validating that it was up-to-date.
              
              This led me to refactor prototype chain caching so it was easier to work
              with and harder to get wrong.
              
              After a bit of inlining, this patch is performance-neutral on SunSpider
              and the v8 benchmarks.
      
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::tryCachePutByID):
              (JSC::Interpreter::tryCacheGetByID):
              * jit/JITStubs.cpp:
              (JSC::JITStubs::tryCachePutByID):
              (JSC::JITStubs::tryCacheGetByID):
              (JSC::JITStubs::cti_op_get_by_id_proto_list): Use the new refactored goodness. See
              lines beginning with "-" and smile.
      
              * runtime/JSGlobalObject.h:
              (JSC::Structure::prototypeForLookup): A shout out to const.
      
              * runtime/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::next): We can use a pointer comparison to
              see if our cached structure chain is equal to the object's structure chain,
              since in the case of a cache hit, we share references to the same structure
              chain.
      
              * runtime/Operations.h:
              (JSC::countPrototypeChainEntriesAndCheckForProxies): Use the new refactored
              goodness.
      
              * runtime/PropertyNameArray.h:
              (JSC::PropertyNameArray::PropertyNameArray):
              (JSC::PropertyNameArray::setShouldCache):
              (JSC::PropertyNameArray::shouldCache): Renamed "cacheable" to "shouldCache"
              to communicate that the client is specifying a recommendation, not a
              capability.
              
              * runtime/Structure.cpp:
              (JSC::Structure::Structure): No need to initialize a RefPtr.
              (JSC::Structure::getEnumerablePropertyNames): Moved some code into helper
              functions.
      
              (JSC::Structure::prototypeChain): New centralized accessor for a prototype
              chain. Revalidates on every access, since the objects in the prototype
              chain may have mutated.
      
              (JSC::Structure::isValid): Helper function for revalidating a cached
              prototype chain.
      
              (JSC::Structure::getEnumerableNamesFromPropertyTable):
              (JSC::Structure::getEnumerableNamesFromClassInfoTable): Factored out of
              getEnumerablePropertyNames.
      
              * runtime/Structure.h:
      
              * runtime/StructureChain.cpp:
              (JSC::StructureChain::StructureChain):
              * runtime/StructureChain.h:
              (JSC::StructureChain::create): No need for structureChainsAreEqual, since
              we use pointer equality now. Refactored StructureChain to make a little
              more sense and eliminate special cases for null prototypes.
      
      LayoutTests:
      
      2009-02-24  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Maciej Stachowiak.
              
              Added a test for <rdar://problem/6611174> REGRESSION (r36701): Unable to
              select messages on hotmail (24052)
      
              * fast/js/for-in-cached-expected.txt: Added.
              * fast/js/for-in-cached.html: Added.
              * fast/js/resources/for-in-cached.js: Added.
              (forIn):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c8bc3c87
  19. 19 Jan, 2009 1 commit
    • weinig@apple.com's avatar
      JavaScriptCore: · 92fdaefb
      weinig@apple.com authored
      2009-01-19  Sam Weinig  <sam@webkit.org>
      
              Rubber-stamped by Gavin Barraclough.
      
              Remove temporary operator-> from JSValuePtr.
      
              * API/JSCallbackFunction.cpp:
              (JSC::JSCallbackFunction::call):
              * API/JSCallbackObjectFunctions.h:
              (JSC::::call):
              (JSC::::toNumber):
              (JSC::::toString):
              * API/JSObjectRef.cpp:
              (JSObjectSetPrototype):
              * API/JSValueRef.cpp:
              (JSValueGetType):
              (JSValueIsUndefined):
              (JSValueIsNull):
              (JSValueIsBoolean):
              (JSValueIsNumber):
              (JSValueIsString):
              (JSValueIsObject):
              (JSValueIsObjectOfClass):
              (JSValueToBoolean):
              (JSValueToNumber):
              (JSValueToStringCopy):
              (JSValueToObject):
              * bytecode/CodeBlock.cpp:
              (JSC::valueToSourceString):
              (JSC::CodeBlock::mark):
              * bytecode/CodeBlock.h:
              (JSC::CodeBlock::isKnownNotImmediate):
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::BytecodeGenerator::emitEqualityOp):
              (JSC::keyForImmediateSwitch):
              * interpreter/Interpreter.cpp:
              (JSC::jsLess):
              (JSC::jsLessEq):
              (JSC::jsAddSlowCase):
              (JSC::jsAdd):
              (JSC::jsTypeStringForValue):
              (JSC::jsIsObjectType):
              (JSC::jsIsFunctionType):
              (JSC::isNotObject):
              (JSC::Interpreter::callEval):
              (JSC::Interpreter::throwException):
              (JSC::cachePrototypeChain):
              (JSC::Interpreter::tryCachePutByID):
              (JSC::countPrototypeChainEntriesAndCheckForProxies):
              (JSC::Interpreter::tryCacheGetByID):
              (JSC::Interpreter::privateExecute):
              (JSC::Interpreter::tryCTICachePutByID):
              (JSC::Interpreter::tryCTICacheGetByID):
              (JSC::Interpreter::cti_op_convert_this):
              (JSC::Interpreter::cti_op_add):
              (JSC::Interpreter::cti_op_pre_inc):
              (JSC::Interpreter::cti_op_put_by_id_generic):
              (JSC::Interpreter::cti_op_get_by_id_generic):
              (JSC::Interpreter::cti_op_put_by_id):
              (JSC::Interpreter::cti_op_put_by_id_second):
              (JSC::Interpreter::cti_op_put_by_id_fail):
              (JSC::Interpreter::cti_op_get_by_id):
              (JSC::Interpreter::cti_op_get_by_id_second):
              (JSC::Interpreter::cti_op_get_by_id_self_fail):
              (JSC::Interpreter::cti_op_get_by_id_proto_list):
              (JSC::Interpreter::cti_op_get_by_id_proto_list_full):
              (JSC::Interpreter::cti_op_get_by_id_proto_fail):
              (JSC::Interpreter::cti_op_get_by_id_array_fail):
              (JSC::Interpreter::cti_op_get_by_id_string_fail):
              (JSC::Interpreter::cti_op_instanceof):
              (JSC::Interpreter::cti_op_del_by_id):
              (JSC::Interpreter::cti_op_mul):
              (JSC::Interpreter::cti_op_call_JSFunction):
              (JSC::Interpreter::cti_op_call_NotJSFunction):
              (JSC::Interpreter::cti_op_construct_JSConstruct):
              (JSC::Interpreter::cti_op_construct_NotJSConstruct):
              (JSC::Interpreter::cti_op_get_by_val):
              (JSC::Interpreter::cti_op_get_by_val_byte_array):
              (JSC::Interpreter::cti_op_sub):
              (JSC::Interpreter::cti_op_put_by_val):
              (JSC::Interpreter::cti_op_put_by_val_array):
              (JSC::Interpreter::cti_op_put_by_val_byte_array):
              (JSC::Interpreter::cti_op_loop_if_true):
              (JSC::Interpreter::cti_op_negate):
              (JSC::Interpreter::cti_op_div):
              (JSC::Interpreter::cti_op_pre_dec):
              (JSC::Interpreter::cti_op_not):
              (JSC::Interpreter::cti_op_jtrue):
              (JSC::Interpreter::cti_op_post_inc):
              (JSC::Interpreter::cti_op_lshift):
              (JSC::Interpreter::cti_op_bitand):
              (JSC::Interpreter::cti_op_rshift):
              (JSC::Interpreter::cti_op_bitnot):
              (JSC::Interpreter::cti_op_mod):
              (JSC::Interpreter::cti_op_post_dec):
              (JSC::Interpreter::cti_op_urshift):
              (JSC::Interpreter::cti_op_bitxor):
              (JSC::Interpreter::cti_op_bitor):
              (JSC::Interpreter::cti_op_push_scope):
              (JSC::Interpreter::cti_op_is_undefined):
              (JSC::Interpreter::cti_op_is_boolean):
              (JSC::Interpreter::cti_op_is_number):
              (JSC::Interpreter::cti_op_to_jsnumber):
              (JSC::Interpreter::cti_op_in):
              (JSC::Interpreter::cti_op_put_by_index):
              (JSC::Interpreter::cti_op_switch_imm):
              (JSC::Interpreter::cti_op_switch_char):
              (JSC::Interpreter::cti_op_switch_string):
              (JSC::Interpreter::cti_op_del_by_val):
              (JSC::Interpreter::cti_op_put_getter):
              (JSC::Interpreter::cti_op_put_setter):
              (JSC::Interpreter::cti_op_new_error):
              * interpreter/Interpreter.h:
              (JSC::Interpreter::isJSArray):
              (JSC::Interpreter::isJSString):
              (JSC::Interpreter::isJSByteArray):
              * interpreter/Register.h:
              (JSC::Register::marked):
              (JSC::Register::mark):
              * jit/JITInlineMethods.h:
              (JSC::JIT::getConstantOperandImmediateInt):
              (JSC::JIT::isOperandConstantImmediateInt):
              * jsc.cpp:
              (functionPrint):
              (functionDebug):
              (functionRun):
              (functionLoad):
              (runWithScripts):
              (runInteractive):
              * parser/Nodes.cpp:
              (JSC::processClauseList):
              * profiler/ProfileGenerator.cpp:
              (JSC::ProfileGenerator::addParentForConsoleStart):
              * profiler/Profiler.cpp:
              (JSC::Profiler::createCallIdentifier):
              * runtime/ArrayConstructor.cpp:
              (JSC::constructArrayWithSizeQuirk):
              * runtime/ArrayPrototype.cpp:
              (JSC::arrayProtoFuncToString):
              (JSC::arrayProtoFuncToLocaleString):
              (JSC::arrayProtoFuncJoin):
              (JSC::arrayProtoFuncConcat):
              (JSC::arrayProtoFuncPop):
              (JSC::arrayProtoFuncPush):
              (JSC::arrayProtoFuncReverse):
              (JSC::arrayProtoFuncShift):
              (JSC::arrayProtoFuncSlice):
              (JSC::arrayProtoFuncSort):
              (JSC::arrayProtoFuncSplice):
              (JSC::arrayProtoFuncUnShift):
              (JSC::arrayProtoFuncFilter):
              (JSC::arrayProtoFuncMap):
              (JSC::arrayProtoFuncEvery):
              (JSC::arrayProtoFuncForEach):
              (JSC::arrayProtoFuncSome):
              (JSC::arrayProtoFuncIndexOf):
              (JSC::arrayProtoFuncLastIndexOf):
              * runtime/BooleanConstructor.cpp:
              (JSC::constructBoolean):
              (JSC::callBooleanConstructor):
              * runtime/BooleanPrototype.cpp:
              (JSC::booleanProtoFuncToString):
              (JSC::booleanProtoFuncValueOf):
              * runtime/Collector.cpp:
              (JSC::Heap::protect):
              (JSC::Heap::unprotect):
              (JSC::Heap::heap):
              (JSC::Heap::collect):
              (JSC::typeName):
              * runtime/Completion.cpp:
              (JSC::evaluate):
              * runtime/DateConstructor.cpp:
              (JSC::constructDate):
              (JSC::dateParse):
              (JSC::dateUTC):
              * runtime/DateInstance.h:
              (JSC::DateInstance::internalNumber):
              * runtime/DatePrototype.cpp:
              (JSC::formatLocaleDate):
              (JSC::fillStructuresUsingTimeArgs):
              (JSC::fillStructuresUsingDateArgs):
              (JSC::dateProtoFuncToString):
              (JSC::dateProtoFuncToUTCString):
              (JSC::dateProtoFuncToDateString):
              (JSC::dateProtoFuncToTimeString):
              (JSC::dateProtoFuncToLocaleString):
              (JSC::dateProtoFuncToLocaleDateString):
              (JSC::dateProtoFuncToLocaleTimeString):
              (JSC::dateProtoFuncGetTime):
              (JSC::dateProtoFuncGetFullYear):
              (JSC::dateProtoFuncGetUTCFullYear):
              (JSC::dateProtoFuncToGMTString):
              (JSC::dateProtoFuncGetMonth):
              (JSC::dateProtoFuncGetUTCMonth):
              (JSC::dateProtoFuncGetDate):
              (JSC::dateProtoFuncGetUTCDate):
              (JSC::dateProtoFuncGetDay):
              (JSC::dateProtoFuncGetUTCDay):
              (JSC::dateProtoFuncGetHours):
              (JSC::dateProtoFuncGetUTCHours):
              (JSC::dateProtoFuncGetMinutes):
              (JSC::dateProtoFuncGetUTCMinutes):
              (JSC::dateProtoFuncGetSeconds):
              (JSC::dateProtoFuncGetUTCSeconds):
              (JSC::dateProtoFuncGetMilliSeconds):
              (JSC::dateProtoFuncGetUTCMilliseconds):
              (JSC::dateProtoFuncGetTimezoneOffset):
              (JSC::dateProtoFuncSetTime):
              (JSC::setNewValueFromTimeArgs):
              (JSC::setNewValueFromDateArgs):
              (JSC::dateProtoFuncSetYear):
              (JSC::dateProtoFuncGetYear):
              * runtime/ErrorConstructor.cpp:
              (JSC::constructError):
              * runtime/ErrorPrototype.cpp:
              (JSC::errorProtoFuncToString):
              * runtime/ExceptionHelpers.cpp:
              (JSC::createError):
              (JSC::createErrorMessage):
              * runtime/FunctionConstructor.cpp:
              (JSC::constructFunction):
              * runtime/FunctionPrototype.cpp:
              (JSC::functionProtoFuncToString):
              (JSC::functionProtoFuncApply):
              (JSC::functionProtoFuncCall):
              * runtime/GetterSetter.cpp:
              (JSC::GetterSetter::toObject):
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::getOwnPropertySlot):
              * runtime/JSArray.cpp:
              (JSC::JSArray::put):
              (JSC::JSArray::mark):
              (JSC::JSArray::sort):
              (JSC::AVLTreeAbstractorForArrayCompare::compare_key_key):
              (JSC::JSArray::compactForSorting):
              * runtime/JSByteArray.h:
              (JSC::JSByteArray::setIndex):
              * runtime/JSCell.h:
              (JSC::asCell):
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::call):
              (JSC::JSFunction::construct):
              * runtime/JSGlobalObject.cpp:
              (JSC::markIfNeeded):
              (JSC::lastInPrototypeChain):
              * runtime/JSGlobalObjectFunctions.cpp:
              (JSC::encode):
              (JSC::decode):
              (JSC::globalFuncEval):
              (JSC::globalFuncParseInt):
              (JSC::globalFuncParseFloat):
              (JSC::globalFuncIsNaN):
              (JSC::globalFuncIsFinite):
              (JSC::globalFuncEscape):
              (JSC::globalFuncUnescape):
              (JSC::globalFuncJSCPrint):
              * runtime/JSImmediate.cpp:
              (JSC::JSImmediate::toThisObject):
              (JSC::JSImmediate::toObject):
              (JSC::JSImmediate::prototype):
              (JSC::JSImmediate::toString):
              * runtime/JSImmediate.h:
              * runtime/JSObject.cpp:
              (JSC::JSObject::mark):
              (JSC::JSObject::put):
              (JSC::callDefaultValueFunction):
              (JSC::JSObject::getPrimitiveNumber):
              (JSC::JSObject::defineGetter):
              (JSC::JSObject::defineSetter):
              (JSC::JSObject::lookupGetter):
              (JSC::JSObject::lookupSetter):
              (JSC::JSObject::hasInstance):
              (JSC::JSObject::toNumber):
              (JSC::JSObject::toString):
              * runtime/JSObject.h:
              (JSC::JSObject::JSObject):
              (JSC::JSObject::inlineGetOwnPropertySlot):
              (JSC::JSObject::getOwnPropertySlotForWrite):
              (JSC::JSObject::getPropertySlot):
              (JSC::JSValuePtr::get):
              * runtime/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::create):
              * runtime/JSString.cpp:
              (JSC::JSString::getOwnPropertySlot):
              * runtime/JSValue.h:
              * runtime/JSWrapperObject.cpp:
              (JSC::JSWrapperObject::mark):
              * runtime/JSWrapperObject.h:
              (JSC::JSWrapperObject::setInternalValue):
              * runtime/MathObject.cpp:
              (JSC::mathProtoFuncAbs):
              (JSC::mathProtoFuncACos):
              (JSC::mathProtoFuncASin):
              (JSC::mathProtoFuncATan):
              (JSC::mathProtoFuncATan2):
              (JSC::mathProtoFuncCeil):
              (JSC::mathProtoFuncCos):
              (JSC::mathProtoFuncExp):
              (JSC::mathProtoFuncFloor):
              (JSC::mathProtoFuncLog):
              (JSC::mathProtoFuncMax):
              (JSC::mathProtoFuncMin):
              (JSC::mathProtoFuncPow):
              (JSC::mathProtoFuncRound):
              (JSC::mathProtoFuncSin):
              (JSC::mathProtoFuncSqrt):
              (JSC::mathProtoFuncTan):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::NativeErrorConstructor::NativeErrorConstructor):
              (JSC::NativeErrorConstructor::construct):
              * runtime/NumberConstructor.cpp:
              (JSC::constructWithNumberConstructor):
              (JSC::callNumberConstructor):
              * runtime/NumberPrototype.cpp:
              (JSC::numberProtoFuncToString):
              (JSC::numberProtoFuncToLocaleString):
              (JSC::numberProtoFuncValueOf):
              (JSC::numberProtoFuncToFixed):
              (JSC::numberProtoFuncToExponential):
              (JSC::numberProtoFuncToPrecision):
              * runtime/ObjectConstructor.cpp:
              (JSC::constructObject):
              * runtime/ObjectPrototype.cpp:
              (JSC::objectProtoFuncValueOf):
              (JSC::objectProtoFuncHasOwnProperty):
              (JSC::objectProtoFuncIsPrototypeOf):
              (JSC::objectProtoFuncDefineGetter):
              (JSC::objectProtoFuncDefineSetter):
              (JSC::objectProtoFuncLookupGetter):
              (JSC::objectProtoFuncLookupSetter):
              (JSC::objectProtoFuncPropertyIsEnumerable):
              (JSC::objectProtoFuncToLocaleString):
              (JSC::objectProtoFuncToString):
              * runtime/Operations.h:
              (JSC::JSValuePtr::equalSlowCaseInline):
              (JSC::JSValuePtr::strictEqual):
              (JSC::JSValuePtr::strictEqualSlowCaseInline):
              * runtime/Protect.h:
              (JSC::gcProtect):
              (JSC::gcUnprotect):
              * runtime/RegExpConstructor.cpp:
              (JSC::setRegExpConstructorInput):
              (JSC::setRegExpConstructorMultiline):
              (JSC::constructRegExp):
              * runtime/RegExpObject.cpp:
              (JSC::setRegExpObjectLastIndex):
              (JSC::RegExpObject::match):
              * runtime/RegExpPrototype.cpp:
              (JSC::regExpProtoFuncTest):
              (JSC::regExpProtoFuncExec):
              (JSC::regExpProtoFuncCompile):
              (JSC::regExpProtoFuncToString):
              * runtime/StringConstructor.cpp:
              (JSC::stringFromCharCodeSlowCase):
              (JSC::stringFromCharCode):
              (JSC::constructWithStringConstructor):
              (JSC::callStringConstructor):
              * runtime/StringPrototype.cpp:
              (JSC::stringProtoFuncReplace):
              (JSC::stringProtoFuncToString):
              (JSC::stringProtoFuncCharAt):
              (JSC::stringProtoFuncCharCodeAt):
              (JSC::stringProtoFuncConcat):
              (JSC::stringProtoFuncIndexOf):
              (JSC::stringProtoFuncLastIndexOf):
              (JSC::stringProtoFuncMatch):
              (JSC::stringProtoFuncSearch):
              (JSC::stringProtoFuncSlice):
              (JSC::stringProtoFuncSplit):
              (JSC::stringProtoFuncSubstr):
              (JSC::stringProtoFuncSubstring):
              (JSC::stringProtoFuncToLowerCase):
              (JSC::stringProtoFuncToUpperCase):
              (JSC::stringProtoFuncLocaleCompare):
              (JSC::stringProtoFuncBig):
              (JSC::stringProtoFuncSmall):
              (JSC::stringProtoFuncBlink):
              (JSC::stringProtoFuncBold):
              (JSC::stringProtoFuncFixed):
              (JSC::stringProtoFuncItalics):
              (JSC::stringProtoFuncStrike):
              (JSC::stringProtoFuncSub):
              (JSC::stringProtoFuncSup):
              (JSC::stringProtoFuncFontcolor):
              (JSC::stringProtoFuncFontsize):
              (JSC::stringProtoFuncAnchor):
              (JSC::stringProtoFuncLink):
              * runtime/Structure.cpp:
              (JSC::Structure::Structure):
              (JSC::Structure::getEnumerablePropertyNames):
              (JSC::Structure::createCachedPrototypeChain):
              * runtime/Structure.h:
              (JSC::Structure::mark):
              * runtime/StructureChain.cpp:
              (JSC::StructureChain::StructureChain):
      
      JavaScriptGlue:
      
      2009-01-19  Sam Weinig  <sam@webkit.org>
      
              Rubber-stamped by Gavin Barraclough.
      
              Remove temporary operator-> from JSValuePtr.
      
              * JSUtils.cpp:
              (KJSValueToJSObject):
              (KJSValueToCFTypeInternal):
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSObjectCopyPropertyNames):
              (JSValueWrapper::JSObjectCopyProperty):
              (JSValueWrapper::JSObjectSetProperty):
              (JSValueWrapper::JSObjectCallFunction):
              (JSValueWrapper::JSObjectMark):
              * UserObjectImp.cpp:
              (UserObjectImp::getOwnPropertySlot):
      
      WebCore:
      
      2009-01-19  Sam Weinig  <sam@webkit.org>
      
              Rubber-stamped by Gavin Barraclough.
      
              Remove temporary operator-> from JSValuePtr.
      
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSAudioConstructor.cpp:
              (WebCore::constructAudio):
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              (WebCore::toHTMLCanvasStyle):
              (WebCore::JSCanvasRenderingContext2D::setFillColor):
              (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
              (WebCore::JSCanvasRenderingContext2D::strokeRect):
              (WebCore::JSCanvasRenderingContext2D::drawImage):
              (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
              (WebCore::JSCanvasRenderingContext2D::setShadow):
              (WebCore::JSCanvasRenderingContext2D::createPattern):
              (WebCore::JSCanvasRenderingContext2D::putImageData):
              (WebCore::JSCanvasRenderingContext2D::fillText):
              (WebCore::JSCanvasRenderingContext2D::strokeText):
              * bindings/js/JSClipboardCustom.cpp:
              (WebCore::JSClipboard::clearData):
              (WebCore::JSClipboard::getData):
              (WebCore::JSClipboard::setData):
              (WebCore::JSClipboard::setDragImage):
              * bindings/js/JSCustomPositionCallback.cpp:
              (WebCore::JSCustomPositionCallback::handleEvent):
              * bindings/js/JSCustomPositionErrorCallback.cpp:
              (WebCore::JSCustomPositionErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              (WebCore::JSCustomSQLStatementCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              (WebCore::JSCustomSQLTransactionCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
              * bindings/js/JSCustomVoidCallback.cpp:
              (WebCore::JSCustomVoidCallback::handleEvent):
              (WebCore::toVoidCallback):
              * bindings/js/JSCustomXPathNSResolver.cpp:
              (WebCore::JSCustomXPathNSResolver::create):
              (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              (WebCore::JSDOMApplicationCache::hasItem):
              (WebCore::JSDOMApplicationCache::add):
              (WebCore::JSDOMApplicationCache::remove):
              (WebCore::JSDOMApplicationCache::addEventListener):
              (WebCore::JSDOMApplicationCache::removeEventListener):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::valueToStringWithNullCheck):
              (WebCore::valueToStringWithUndefinedOrNullCheck):
              (WebCore::reportException):
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::findJSEventListener):
              (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
              (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
              (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
              * bindings/js/JSDOMStringListCustom.cpp:
              (WebCore::JSDOMStringList::item):
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::JSDOMWindowBase::getOwnPropertySlot):
              (windowProtoFuncOpen):
              (WebCore::toJSDOMWindow):
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::setLocation):
              (WebCore::JSDOMWindow::postMessage):
              (WebCore::setTimeoutOrInterval):
              (WebCore::JSDOMWindow::clearTimeout):
              (WebCore::JSDOMWindow::clearInterval):
              (WebCore::JSDOMWindow::atob):
              (WebCore::JSDOMWindow::btoa):
              (WebCore::JSDOMWindow::addEventListener):
              (WebCore::JSDOMWindow::removeEventListener):
              (WebCore::toDOMWindow):
              * bindings/js/JSDatabaseCustom.cpp:
              (WebCore::JSDatabase::changeVersion):
              (WebCore::JSDatabase::transaction):
              * bindings/js/JSDocumentCustom.cpp:
              (WebCore::JSDocument::setLocation):
              * bindings/js/JSElementCustom.cpp:
              (WebCore::JSElement::setAttribute):
              (WebCore::JSElement::setAttributeNS):
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSAbstractEventListener::handleEvent):
              (WebCore::JSLazyEventListener::parseCode):
              * bindings/js/JSEventTargetNodeCustom.cpp:
              (WebCore::JSEventTargetNode::addEventListener):
              (WebCore::JSEventTargetNode::removeEventListener):
              * bindings/js/JSGeolocationCustom.cpp:
              (WebCore::createPositionOptions):
              (WebCore::JSGeolocation::getCurrentPosition):
              (WebCore::JSGeolocation::watchPosition):
              * bindings/js/JSHTMLCollectionCustom.cpp:
              (WebCore::callHTMLCollection):
              (WebCore::JSHTMLCollection::canGetItemsForName):
              (WebCore::JSHTMLCollection::item):
              (WebCore::JSHTMLCollection::namedItem):
              * bindings/js/JSHTMLDocumentCustom.cpp:
              (WebCore::JSHTMLDocument::open):
              (WebCore::writeHelper):
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              (WebCore::JSHTMLOptionsCollection::setLength):
              (WebCore::JSHTMLOptionsCollection::add):
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              (WebCore::JSHTMLSelectElement::remove):
              (WebCore::selectIndexSetter):
              * bindings/js/JSImageConstructor.cpp:
              (WebCore::constructImage):
              * bindings/js/JSInspectedObjectWrapper.cpp:
              (WebCore::JSInspectedObjectWrapper::wrap):
              (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              (WebCore::JSInspectorCallbackWrapper::wrap):
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              (WebCore::JSJavaScriptCallFrame::evaluate):
              * bindings/js/JSLocationCustom.cpp:
              (WebCore::JSLocation::setHref):
              (WebCore::JSLocation::setProtocol):
              (WebCore::JSLocation::setHost):
              (WebCore::JSLocation::setHostname):
              (WebCore::JSLocation::setPort):
              (WebCore::JSLocation::setPathname):
              (WebCore::JSLocation::setSearch):
              (WebCore::JSLocation::setHash):
              (WebCore::JSLocation::replace):
              (WebCore::JSLocation::assign):
              * bindings/js/JSMessageChannelConstructor.cpp:
              (WebCore::JSMessageChannelConstructor::mark):
              * bindings/js/JSMessagePortCustom.cpp:
              (WebCore::JSMessagePort::startConversation):
              (WebCore::JSMessagePort::addEventListener):
              (WebCore::JSMessagePort::removeEventListener):
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::mark):
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/JSNodeFilterCondition.h:
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::toNodeFilter):
              * bindings/js/JSNodeListCustom.cpp:
              (WebCore::callNodeList):
              * bindings/js/JSOptionConstructor.cpp:
              (WebCore::constructHTMLOptionElement):
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              (WebCore::JSQuarantinedObjectWrapper::asWrapper):
              (WebCore::JSQuarantinedObjectWrapper::construct):
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              (WebCore::JSSQLResultSetRowList::item):
              * bindings/js/JSSQLTransactionCustom.cpp:
              (WebCore::JSSQLTransaction::executeSql):
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              (WebCore::JSSVGElementInstance::addEventListener):
              (WebCore::JSSVGElementInstance::removeEventListener):
              * bindings/js/JSSVGLengthCustom.cpp:
              (WebCore::JSSVGLength::convertToSpecifiedUnits):
              * bindings/js/JSSVGMatrixCustom.cpp:
              (WebCore::JSSVGMatrix::translate):
              (WebCore::JSSVGMatrix::scale):
              (WebCore::JSSVGMatrix::scaleNonUniform):
              (WebCore::JSSVGMatrix::rotate):
              (WebCore::JSSVGMatrix::rotateFromVector):
              (WebCore::JSSVGMatrix::skewX):
              (WebCore::JSSVGMatrix::skewY):
              * bindings/js/JSSVGPathSegListCustom.cpp:
              (WebCore::JSSVGPathSegList::getItem):
              (WebCore::JSSVGPathSegList::insertItemBefore):
              (WebCore::JSSVGPathSegList::replaceItem):
              (WebCore::JSSVGPathSegList::removeItem):
              * bindings/js/JSSVGPointListCustom.cpp:
              (WebCore::JSSVGPointList::getItem):
              (WebCore::JSSVGPointList::insertItemBefore):
              (WebCore::JSSVGPointList::replaceItem):
              (WebCore::JSSVGPointList::removeItem):
              * bindings/js/JSSVGTransformListCustom.cpp:
              (WebCore::JSSVGTransformList::getItem):
              (WebCore::JSSVGTransformList::insertItemBefore):
              (WebCore::JSSVGTransformList::replaceItem):
              (WebCore::JSSVGTransformList::removeItem):
              * bindings/js/JSStorageCustom.cpp:
              (WebCore::JSStorage::deleteProperty):
              (WebCore::JSStorage::customPut):
              * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
              (WebCore::constructWebKitCSSMatrix):
              * bindings/js/JSWorkerConstructor.cpp:
              (WebCore::constructWorker):
              * bindings/js/JSWorkerContextCustom.cpp:
              (WebCore::JSWorkerContext::addEventListener):
              (WebCore::JSWorkerContext::removeEventListener):
              * bindings/js/JSWorkerCustom.cpp:
              (WebCore::JSWorker::addEventListener):
              (WebCore::JSWorker::removeEventListener):
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              (WebCore::JSXMLHttpRequest::open):
              (WebCore::JSXMLHttpRequest::setRequestHeader):
              (WebCore::JSXMLHttpRequest::send):
              (WebCore::JSXMLHttpRequest::getResponseHeader):
              (WebCore::JSXMLHttpRequest::overrideMimeType):
              (WebCore::JSXMLHttpRequest::addEventListener):
              (WebCore::JSXMLHttpRequest::removeEventListener):
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              (WebCore::JSXMLHttpRequestUpload::addEventListener):
              (WebCore::JSXMLHttpRequestUpload::removeEventListener):
              * bindings/js/JSXSLTProcessorCustom.cpp:
              (WebCore::JSXSLTProcessor::importStylesheet):
              (WebCore::JSXSLTProcessor::transformToFragment):
              (WebCore::JSXSLTProcessor::transformToDocument):
              (WebCore::JSXSLTProcessor::setParameter):
              (WebCore::JSXSLTProcessor::getParameter):
              (WebCore::JSXSLTProcessor::removeParameter):
              * bindings/js/ScheduledAction.cpp:
              (WebCore::ScheduledAction::executeFunctionInContext):
              * bindings/js/ScriptCallStack.cpp:
              (WebCore::ScriptCallStack::initialize):
              * bindings/js/ScriptController.cpp:
              (WebCore::ScriptController::createScriptObjectForPluginElement):
              * bindings/js/ScriptValue.cpp:
              (WebCore::ScriptValue::getString):
              (WebCore::ScriptValue::isNull):
              (WebCore::ScriptValue::isUndefined):
              * bindings/objc/WebScriptObject.mm:
              (-[WebScriptObject callWebScriptMethod:withArguments:]):
              (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              (_NPN_InvokeDefault):
              (_NPN_Invoke):
              (_NPN_HasMethod):
              (_NPN_Construct):
              * bridge/c/c_utility.cpp:
              (JSC::Bindings::convertValueToNPVariant):
              * bridge/jni/jni_instance.cpp:
              (JavaInstance::invokeMethod):
              * bridge/jni/jni_jsobject.mm:
              (JavaJSObject::call):
              (JavaJSObject::convertValueToJObject):
              * bridge/jni/jni_runtime.cpp:
              (JavaField::dispatchValueFromInstance):
              (JavaField::valueFromInstance):
              (JavaField::dispatchSetValueToInstance):
              (JavaField::setValueToInstance):
              * bridge/jni/jni_utility.cpp:
              (JSC::Bindings::convertArrayInstanceToJavaArray):
              (JSC::Bindings::convertValueToJValue):
              * bridge/objc/objc_runtime.mm:
              (JSC::Bindings::callObjCFallbackObject):
              * bridge/objc/objc_utility.mm:
              (JSC::Bindings::convertValueToObjcValue):
              * bridge/runtime_method.cpp:
              (JSC::callRuntimeMethod):
              * bridge/runtime_object.cpp:
              (JSC::RuntimeObjectImp::getOwnPropertySlot):
              (JSC::callRuntimeConstructor):
      
      WebKit/mac:
      
      2009-01-19  Sam Weinig  <sam@webkit.org>
      
              Rubber-stamped by Gavin Barraclough.
      
              Remove temporary operator-> from JSValuePtr.
      
              * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
              (WebKit::NetscapePluginInstanceProxy::invoke):
              (WebKit::NetscapePluginInstanceProxy::hasMethod):
              (WebKit::NetscapePluginInstanceProxy::marshalValue):
              * WebView/WebFrame.mm:
              (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
              * WebView/WebView.mm:
              (aeDescFromJSValue):
      
      WebKit/win:
      
      2009-01-19  Sam Weinig  <sam@webkit.org>
      
              Rubber-stamped by Gavin Barraclough.
      
              Remove temporary operator-> from JSValuePtr.
      
              * WebScriptCallFrame.cpp:
              (WebScriptCallFrame::jsValueToString):
              * WebView.cpp:
              (WebView::stringByEvaluatingJavaScriptFromString):
      
      WebKit/wx:
      
      2009-01-19  Sam Weinig  <sam@webkit.org>
      
              Rubber-stamped by Gavin Barraclough.
      
              Remove temporary operator-> from JSValuePtr.
      
              * WebFrame.cpp:
              (wxWebFrame::RunScript):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      92fdaefb
  20. 15 Nov, 2008 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · a9778f97
      darin@apple.com authored
      2008-11-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Geoff Garen.
      
              - do the long-planned StructureID -> Structure rename
      
              * API/JSCallbackConstructor.cpp:
              (JSC::JSCallbackConstructor::JSCallbackConstructor):
              * API/JSCallbackConstructor.h:
              (JSC::JSCallbackConstructor::createStructure):
              * API/JSCallbackFunction.h:
              (JSC::JSCallbackFunction::createStructure):
              * API/JSCallbackObject.h:
              (JSC::JSCallbackObject::createStructure):
              * API/JSCallbackObjectFunctions.h:
              (JSC::::JSCallbackObject):
              * API/JSValueRef.cpp:
              (JSValueIsInstanceOfConstructor):
              * GNUmakefile.am:
              * JavaScriptCore.exp:
              * JavaScriptCore.pri:
              * JavaScriptCore.scons:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * VM/CTI.cpp:
              (JSC::CTI::compileBinaryArithOp):
              (JSC::CTI::privateCompileMainPass):
              (JSC::CTI::privateCompileGetByIdSelf):
              (JSC::CTI::privateCompileGetByIdProto):
              (JSC::CTI::privateCompileGetByIdChain):
              (JSC::CTI::privateCompilePutByIdReplace):
              (JSC::transitionWillNeedStorageRealloc):
              (JSC::CTI::privateCompilePutByIdTransition):
              (JSC::CTI::patchGetByIdSelf):
              (JSC::CTI::patchPutByIdReplace):
              * VM/CTI.h:
              (JSC::CTI::compileGetByIdSelf):
              (JSC::CTI::compileGetByIdProto):
              (JSC::CTI::compileGetByIdChain):
              (JSC::CTI::compilePutByIdReplace):
              (JSC::CTI::compilePutByIdTransition):
              * VM/CodeBlock.cpp:
              (JSC::CodeBlock::printStructure):
              (JSC::CodeBlock::printStructures):
              (JSC::CodeBlock::dump):
              (JSC::CodeBlock::~CodeBlock):
              (JSC::CodeBlock::derefStructures):
              (JSC::CodeBlock::refStructures):
              * VM/CodeBlock.h:
              * VM/Instruction.h:
              (JSC::Instruction::Instruction):
              (JSC::Instruction::):
              * VM/Machine.cpp:
              (JSC::jsTypeStringForValue):
              (JSC::jsIsObjectType):
              (JSC::BytecodeInterpreter::resolveGlobal):
              (JSC::BytecodeInterpreter::BytecodeInterpreter):
              (JSC::cachePrototypeChain):
              (JSC::BytecodeInterpreter::tryCachePutByID):
              (JSC::BytecodeInterpreter::uncachePutByID):
              (JSC::BytecodeInterpreter::tryCacheGetByID):
              (JSC::BytecodeInterpreter::uncacheGetByID):
              (JSC::BytecodeInterpreter::privateExecute):
              (JSC::BytecodeInterpreter::tryCTICachePutByID):
              (JSC::BytecodeInterpreter::tryCTICacheGetByID):
              (JSC::BytecodeInterpreter::cti_op_instanceof):
              (JSC::BytecodeInterpreter::cti_op_construct_JSConstruct):
              (JSC::BytecodeInterpreter::cti_op_resolve_global):
              (JSC::BytecodeInterpreter::cti_op_is_undefined):
              * runtime/Arguments.h:
              (JSC::Arguments::createStructure):
              * runtime/ArrayConstructor.cpp:
              (JSC::ArrayConstructor::ArrayConstructor):
              * runtime/ArrayConstructor.h:
              * runtime/ArrayPrototype.cpp:
              (JSC::ArrayPrototype::ArrayPrototype):
              * runtime/ArrayPrototype.h:
              * runtime/BatchedTransitionOptimizer.h:
              (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
              (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
              * runtime/BooleanConstructor.cpp:
              (JSC::BooleanConstructor::BooleanConstructor):
              * runtime/BooleanConstructor.h:
              * runtime/BooleanObject.cpp:
              (JSC::BooleanObject::BooleanObject):
              * runtime/BooleanObject.h:
              * runtime/BooleanPrototype.cpp:
              (JSC::BooleanPrototype::BooleanPrototype):
              * runtime/BooleanPrototype.h:
              * runtime/DateConstructor.cpp:
              (JSC::DateConstructor::DateConstructor):
              * runtime/DateConstructor.h:
              * runtime/DateInstance.cpp:
              (JSC::DateInstance::DateInstance):
              * runtime/DateInstance.h:
              * runtime/DatePrototype.cpp:
              (JSC::DatePrototype::DatePrototype):
              * runtime/DatePrototype.h:
              (JSC::DatePrototype::createStructure):
              * runtime/ErrorConstructor.cpp:
              (JSC::ErrorConstructor::ErrorConstructor):
              * runtime/ErrorConstructor.h:
              * runtime/ErrorInstance.cpp:
              (JSC::ErrorInstance::ErrorInstance):
              * runtime/ErrorInstance.h:
              * runtime/ErrorPrototype.cpp:
              (JSC::ErrorPrototype::ErrorPrototype):
              * runtime/ErrorPrototype.h:
              * runtime/FunctionConstructor.cpp:
              (JSC::FunctionConstructor::FunctionConstructor):
              * runtime/FunctionConstructor.h:
              * runtime/FunctionPrototype.cpp:
              (JSC::FunctionPrototype::FunctionPrototype):
              (JSC::FunctionPrototype::addFunctionProperties):
              * runtime/FunctionPrototype.h:
              (JSC::FunctionPrototype::createStructure):
              * runtime/GlobalEvalFunction.cpp:
              (JSC::GlobalEvalFunction::GlobalEvalFunction):
              * runtime/GlobalEvalFunction.h:
              * runtime/Identifier.h:
              * runtime/InternalFunction.cpp:
              (JSC::InternalFunction::InternalFunction):
              * runtime/InternalFunction.h:
              (JSC::InternalFunction::createStructure):
              (JSC::InternalFunction::InternalFunction):
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::JSActivation):
              * runtime/JSActivation.h:
              (JSC::JSActivation::createStructure):
              * runtime/JSArray.cpp:
              (JSC::JSArray::JSArray):
              * runtime/JSArray.h:
              (JSC::JSArray::createStructure):
              * runtime/JSCell.h:
              (JSC::JSCell::JSCell):
              (JSC::JSCell::isObject):
              (JSC::JSCell::isString):
              (JSC::JSCell::structure):
              (JSC::JSValue::needsThisConversion):
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::construct):
              * runtime/JSFunction.h:
              (JSC::JSFunction::JSFunction):
              (JSC::JSFunction::createStructure):
              * runtime/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              (JSC::JSGlobalData::createLeaked):
              * runtime/JSGlobalData.h:
              * runtime/JSGlobalObject.cpp:
              (JSC::markIfNeeded):
              (JSC::JSGlobalObject::reset):
              * runtime/JSGlobalObject.h:
              (JSC::JSGlobalObject::JSGlobalObject):
              (JSC::JSGlobalObject::argumentsStructure):
              (JSC::JSGlobalObject::arrayStructure):
              (JSC::JSGlobalObject::booleanObjectStructure):
              (JSC::JSGlobalObject::callbackConstructorStructure):
              (JSC::JSGlobalObject::callbackFunctionStructure):
              (JSC::JSGlobalObject::callbackObjectStructure):
              (JSC::JSGlobalObject::dateStructure):
              (JSC::JSGlobalObject::emptyObjectStructure):
              (JSC::JSGlobalObject::errorStructure):
              (JSC::JSGlobalObject::functionStructure):
              (JSC::JSGlobalObject::numberObjectStructure):
              (JSC::JSGlobalObject::prototypeFunctionStructure):
              (JSC::JSGlobalObject::regExpMatchesArrayStructure):
              (JSC::JSGlobalObject::regExpStructure):
              (JSC::JSGlobalObject::stringObjectStructure):
              (JSC::JSGlobalObject::createStructure):
              (JSC::Structure::prototypeForLookup):
              * runtime/JSNotAnObject.h:
              (JSC::JSNotAnObject::createStructure):
              * runtime/JSNumberCell.h:
              (JSC::JSNumberCell::createStructure):
              (JSC::JSNumberCell::JSNumberCell):
              * runtime/JSObject.cpp:
              (JSC::JSObject::mark):
              (JSC::JSObject::put):
              (JSC::JSObject::deleteProperty):
              (JSC::JSObject::defineGetter):
              (JSC::JSObject::defineSetter):
              (JSC::JSObject::getPropertyAttributes):
              (JSC::JSObject::getPropertyNames):
              (JSC::JSObject::removeDirect):
              (JSC::JSObject::createInheritorID):
              * runtime/JSObject.h:
              (JSC::JSObject::getDirect):
              (JSC::JSObject::getDirectLocation):
              (JSC::JSObject::hasCustomProperties):
              (JSC::JSObject::hasGetterSetterProperties):
              (JSC::JSObject::createStructure):
              (JSC::JSObject::JSObject):
              (JSC::JSObject::~JSObject):
              (JSC::JSObject::prototype):
              (JSC::JSObject::setPrototype):
              (JSC::JSObject::setStructure):
              (JSC::JSObject::inheritorID):
              (JSC::JSObject::inlineGetOwnPropertySlot):
              (JSC::JSObject::getOwnPropertySlotForWrite):
              (JSC::JSCell::fastGetOwnPropertySlot):
              (JSC::JSObject::putDirect):
              (JSC::JSObject::putDirectWithoutTransition):
              (JSC::JSObject::transitionTo):
              * runtime/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::next):
              * runtime/JSStaticScopeObject.h:
              (JSC::JSStaticScopeObject::JSStaticScopeObject):
              (JSC::JSStaticScopeObject::createStructure):
              * runtime/JSString.h:
              (JSC::JSString::JSString):
              (JSC::JSString::createStructure):
              * runtime/JSVariableObject.h:
              (JSC::JSVariableObject::JSVariableObject):
              * runtime/JSWrapperObject.h:
              (JSC::JSWrapperObject::JSWrapperObject):
              * runtime/MathObject.cpp:
              (JSC::MathObject::MathObject):
              * runtime/MathObject.h:
              (JSC::MathObject::createStructure):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::NativeErrorConstructor::NativeErrorConstructor):
              * runtime/NativeErrorConstructor.h:
              * runtime/NativeErrorPrototype.cpp:
              (JSC::NativeErrorPrototype::NativeErrorPrototype):
              * runtime/NativeErrorPrototype.h:
              * runtime/NumberConstructor.cpp:
              (JSC::NumberConstructor::NumberConstructor):
              * runtime/NumberConstructor.h:
              (JSC::NumberConstructor::createStructure):
              * runtime/NumberObject.cpp:
              (JSC::NumberObject::NumberObject):
              * runtime/NumberObject.h:
              * runtime/NumberPrototype.cpp:
              (JSC::NumberPrototype::NumberPrototype):
              * runtime/NumberPrototype.h:
              * runtime/ObjectConstructor.cpp:
              (JSC::ObjectConstructor::ObjectConstructor):
              * runtime/ObjectConstructor.h:
              * runtime/ObjectPrototype.cpp:
              (JSC::ObjectPrototype::ObjectPrototype):
              * runtime/ObjectPrototype.h:
              * runtime/Operations.h:
              (JSC::equalSlowCaseInline):
              * runtime/PropertyNameArray.h:
              (JSC::PropertyNameArrayData::setCachedStructure):
              (JSC::PropertyNameArrayData::cachedStructure):
              (JSC::PropertyNameArrayData::setCachedPrototypeChain):
              (JSC::PropertyNameArrayData::cachedPrototypeChain):
              (JSC::PropertyNameArrayData::PropertyNameArrayData):
              * runtime/PrototypeFunction.cpp:
              (JSC::PrototypeFunction::PrototypeFunction):
              * runtime/PrototypeFunction.h:
              * runtime/RegExpConstructor.cpp:
              (JSC::RegExpConstructor::RegExpConstructor):
              * runtime/RegExpConstructor.h:
              (JSC::RegExpConstructor::createStructure):
              * runtime/RegExpObject.cpp:
              (JSC::RegExpObject::RegExpObject):
              * runtime/RegExpObject.h:
              (JSC::RegExpObject::createStructure):
              * runtime/RegExpPrototype.cpp:
              (JSC::RegExpPrototype::RegExpPrototype):
              * runtime/RegExpPrototype.h:
              * runtime/StringConstructor.cpp:
              (JSC::StringConstructor::StringConstructor):
              * runtime/StringConstructor.h:
              * runtime/StringObject.cpp:
              (JSC::StringObject::StringObject):
              * runtime/StringObject.h:
              (JSC::StringObject::createStructure):
              * runtime/StringObjectThatMasqueradesAsUndefined.h:
              (JSC::StringObjectThatMasqueradesAsUndefined::create):
              (JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):
              (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
              * runtime/StringPrototype.cpp:
              (JSC::StringPrototype::StringPrototype):
              * runtime/StringPrototype.h:
              * runtime/Structure.cpp: Copied from JavaScriptCore/runtime/StructureID.cpp.
              (JSC::Structure::dumpStatistics):
              (JSC::Structure::Structure):
              (JSC::Structure::~Structure):
              (JSC::Structure::startIgnoringLeaks):
              (JSC::Structure::stopIgnoringLeaks):
              (JSC::Structure::materializePropertyMap):
              (JSC::Structure::getEnumerablePropertyNames):
              (JSC::Structure::clearEnumerationCache):
              (JSC::Structure::growPropertyStorageCapacity):
              (JSC::Structure::addPropertyTransitionToExistingStructure):
              (JSC::Structure::addPropertyTransition):
              (JSC::Structure::removePropertyTransition):
              (JSC::Structure::changePrototypeTransition):
              (JSC::Structure::getterSetterTransition):
              (JSC::Structure::toDictionaryTransition):
              (JSC::Structure::fromDictionaryTransition):
              (JSC::Structure::addPropertyWithoutTransition):
              (JSC::Structure::removePropertyWithoutTransition):
              (JSC::Structure::createCachedPrototypeChain):
              (JSC::Structure::checkConsistency):
              (JSC::Structure::copyPropertyTable):
              (JSC::Structure::get):
              (JSC::Structure::put):
              (JSC::Structure::remove):
              (JSC::Structure::insertIntoPropertyMapHashTable):
              (JSC::Structure::createPropertyMapHashTable):
              (JSC::Structure::expandPropertyMapHashTable):
              (JSC::Structure::rehashPropertyMapHashTable):
              (JSC::Structure::getEnumerablePropertyNamesInternal):
              * runtime/Structure.h: Copied from JavaScriptCore/runtime/StructureID.h.
              (JSC::Structure::create):
              (JSC::Structure::previousID):
              (JSC::Structure::setCachedPrototypeChain):
              (JSC::Structure::cachedPrototypeChain):
              (JSC::Structure::):
              (JSC::Structure::get):
              * runtime/StructureChain.cpp: Copied from JavaScriptCore/runtime/StructureIDChain.cpp.
              (JSC::StructureChain::StructureChain):
              (JSC::structureChainsAreEqual):
              * runtime/StructureChain.h: Copied from JavaScriptCore/runtime/StructureIDChain.h.
              (JSC::StructureChain::create):
              (JSC::StructureChain::head):
              * runtime/StructureID.cpp: Removed.
              * runtime/StructureID.h: Removed.
              * runtime/StructureIDChain.cpp: Removed.
              * runtime/StructureIDChain.h: Removed.
              * runtime/StructureIDTransitionTable.h: Removed.
              * runtime/StructureTransitionTable.h: Copied from JavaScriptCore/runtime/StructureIDTransitionTable.h.
      
      JavaScriptGlue:
      
      2008-11-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Geoff Garen.
      
              - do the long-planned StructureID -> Structure rename
      
              * JSRun.cpp:
              (JSGlueGlobalObject::JSGlueGlobalObject):
              (JSRun::JSRun):
              * JSRun.h:
              (JSGlueGlobalObject::userObjectStructure):
              * JSUtils.cpp:
              (getThreadGlobalObject):
              * UserObjectImp.cpp:
              (UserObjectImp::UserObjectImp):
              * UserObjectImp.h:
              (UserObjectImp::createStructure):
      
      WebCore:
      
      2008-11-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Geoff Garen.
      
              - do the long-planned StructureID -> Structure rename
      
              * ForwardingHeaders/runtime/Structure.h: Copied from WebCore/ForwardingHeaders/runtime/StructureID.h.
              * ForwardingHeaders/runtime/StructureID.h: Removed.
              * bindings/js/JSAudioConstructor.cpp:
              (WebCore::JSAudioConstructor::JSAudioConstructor):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::getCachedDOMStructure):
              (WebCore::cacheDOMStructure):
              * bindings/js/JSDOMBinding.h:
              (WebCore::DOMObject::DOMObject):
              (WebCore::getDOMStructure):
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
              * bindings/js/JSDOMGlobalObject.h:
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::JSDOMWindowBase::JSDOMWindowBase):
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::JSDOMWindowShell):
              (WebCore::JSDOMWindowShell::setWindow):
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::createStructure):
              * bindings/js/JSDedicatedWorkerConstructor.cpp:
              (WebCore::JSDedicatedWorkerConstructor::JSDedicatedWorkerConstructor):
              * bindings/js/JSHTMLAllCollection.h:
              (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
              (WebCore::JSHTMLAllCollection::createStructure):
              * bindings/js/JSImageConstructor.cpp:
              (WebCore::JSImageConstructor::JSImageConstructor):
              * bindings/js/JSInspectedObjectWrapper.cpp:
              (WebCore::JSInspectedObjectWrapper::wrap):
              (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
              * bindings/js/JSInspectedObjectWrapper.h:
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              (WebCore::leakInspectorCallbackWrapperStructure):
              (WebCore::JSInspectorCallbackWrapper::wrap):
              (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
              * bindings/js/JSInspectorCallbackWrapper.h:
              * bindings/js/JSMessageChannelConstructor.cpp:
              (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
              * bindings/js/JSNamedNodesCollection.h:
              (WebCore::JSNamedNodesCollection::createStructure):
              * bindings/js/JSOptionConstructor.cpp:
              (WebCore::JSOptionConstructor::JSOptionConstructor):
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
              * bindings/js/JSQuarantinedObjectWrapper.h:
              (WebCore::JSQuarantinedObjectWrapper::createStructure):
              * bindings/js/JSRGBColor.h:
              (WebCore::JSRGBColor::createStructure):
              * bindings/js/JSWorkerContext.cpp:
              (WebCore::createJSWorkerContextStructure):
              (WebCore::JSWorkerContext::JSWorkerContext):
              (WebCore::JSWorkerContext::createPrototype):
              * bindings/js/JSWorkerContext.h:
              (WebCore::JSWorkerContext::createStructure):
              (WebCore::JSWorkerContextPrototype::JSWorkerContextPrototype):
              (WebCore::JSWorkerContextPrototype::createStructure):
              * bindings/js/JSXMLHttpRequestConstructor.cpp:
              (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
              * bindings/js/JSXSLTProcessorConstructor.cpp:
              (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/objc/objc_runtime.h:
              (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::QtConnectionObject::execute):
              * bridge/qt/qt_runtime.h:
              (JSC::Bindings::QtRuntimeMethod::createStructure):
              * bridge/runtime_array.h:
              (JSC::RuntimeArray::createStructure):
              * bridge/runtime_method.h:
              (JSC::RuntimeMethod::createStructure):
              * bridge/runtime_object.cpp:
              (JSC::RuntimeObjectImp::RuntimeObjectImp):
              * bridge/runtime_object.h:
              (JSC::RuntimeObjectImp::createStructure):
      
      WebKitTools:
      
      2008-11-15  Darin Adler  <darin@apple.com>
      
              Rubber stamped by Geoff Garen.
      
              - do the long-planned StructureID -> Structure rename
      
              * Scripts/check-for-global-initializers: Update name of StructureID.o.
              * Scripts/do-webcore-rename: Renaming script that I used.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38440 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a9778f97
  21. 31 Oct, 2008 1 commit
  22. 07 Sep, 2008 1 commit
    • cwzwarich@webkit.org's avatar
      2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca> · 3f782f6a
      cwzwarich@webkit.org authored
              Reviewed by Maciej Stachowiak.
      
              Bug 20704: Replace the KJS namespace
              <https://bugs.webkit.org/show_bug.cgi?id=20704>
      
              Rename the KJS namespace to JSC. There are still some uses of KJS in
              preprocessor macros and comments, but these will also be changed some
              time in the near future. There are also some uses in the names of JNI
              functions, but I will check if these are safe to change as well.
      
              JavaScriptCore:
      
              * API/APICast.h:
              (toJS):
              (toRef):
              (toGlobalRef):
              * API/JSBase.cpp:
              * API/JSCallbackConstructor.cpp:
              * API/JSCallbackConstructor.h:
              * API/JSCallbackFunction.cpp:
              * API/JSCallbackFunction.h:
              * API/JSCallbackObject.cpp:
              * API/JSCallbackObject.h:
              * API/JSCallbackObjectFunctions.h:
              * API/JSClassRef.cpp:
              (OpaqueJSClass::staticValues):
              (OpaqueJSClass::staticFunctions):
              * API/JSClassRef.h:
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              * API/JSProfilerPrivate.cpp:
              * API/JSStringRef.cpp:
              * API/JSValueRef.cpp:
              (JSValueGetType):
              * API/OpaqueJSString.cpp:
              * API/OpaqueJSString.h:
              * JavaScriptCore.Debug.exp:
              * JavaScriptCore.base.exp:
              * VM/CTI.cpp:
              (JSC::):
              * VM/CTI.h:
              * VM/CodeBlock.cpp:
              * VM/CodeBlock.h:
              * VM/CodeGenerator.cpp:
              * VM/CodeGenerator.h:
              * VM/ExceptionHelpers.cpp:
              * VM/ExceptionHelpers.h:
              * VM/Instruction.h:
              * VM/JSPropertyNameIterator.cpp:
              * VM/JSPropertyNameIterator.h:
              * VM/LabelID.h:
              * VM/Machine.cpp:
              * VM/Machine.h:
              * VM/Opcode.cpp:
              * VM/Opcode.h:
              * VM/Register.h:
              (WTF::):
              * VM/RegisterFile.cpp:
              * VM/RegisterFile.h:
              * VM/RegisterID.h:
              (WTF::):
              * VM/SamplingTool.cpp:
              * VM/SamplingTool.h:
              * VM/SegmentedVector.h:
              * kjs/ArgList.cpp:
              * kjs/ArgList.h:
              * kjs/Arguments.cpp:
              * kjs/Arguments.h:
              * kjs/ArrayConstructor.cpp:
              * kjs/ArrayConstructor.h:
              * kjs/ArrayPrototype.cpp:
              * kjs/ArrayPrototype.h:
              * kjs/BatchedTransitionOptimizer.h:
              * kjs/BooleanConstructor.cpp:
              * kjs/BooleanConstructor.h:
              * kjs/BooleanObject.cpp:
              * kjs/BooleanObject.h:
              * kjs/BooleanPrototype.cpp:
              * kjs/BooleanPrototype.h:
              * kjs/CallData.cpp:
              * kjs/CallData.h:
              * kjs/ClassInfo.h:
              * kjs/CommonIdentifiers.cpp:
              * kjs/CommonIdentifiers.h:
              * kjs/ConstructData.cpp:
              * kjs/ConstructData.h:
              * kjs/DateConstructor.cpp:
              * kjs/DateConstructor.h:
              * kjs/DateInstance.cpp:
              (JSC::DateInstance::msToGregorianDateTime):
              * kjs/DateInstance.h:
              * kjs/DateMath.cpp:
              * kjs/DateMath.h:
              * kjs/DatePrototype.cpp:
              * kjs/DatePrototype.h:
              * kjs/DebuggerCallFrame.cpp:
              * kjs/DebuggerCallFrame.h:
              * kjs/Error.cpp:
              * kjs/Error.h:
              * kjs/ErrorConstructor.cpp:
              * kjs/ErrorConstructor.h:
              * kjs/ErrorInstance.cpp:
              * kjs/ErrorInstance.h:
              * kjs/ErrorPrototype.cpp:
              * kjs/ErrorPrototype.h:
              * kjs/ExecState.cpp:
              * kjs/ExecState.h:
              * kjs/FunctionConstructor.cpp:
              * kjs/FunctionConstructor.h:
              * kjs/FunctionPrototype.cpp:
              * kjs/FunctionPrototype.h:
              * kjs/GetterSetter.cpp:
              * kjs/GetterSetter.h:
              * kjs/GlobalEvalFunction.cpp:
              * kjs/GlobalEvalFunction.h:
              * kjs/IndexToNameMap.cpp:
              * kjs/IndexToNameMap.h:
              * kjs/InitializeThreading.cpp:
              * kjs/InitializeThreading.h:
              * kjs/InternalFunction.cpp:
              * kjs/InternalFunction.h:
              (JSC::InternalFunction::InternalFunction):
              * kjs/JSActivation.cpp:
              * kjs/JSActivation.h:
              * kjs/JSArray.cpp:
              * kjs/JSArray.h:
              * kjs/JSCell.cpp:
              * kjs/JSCell.h:
              * kjs/JSFunction.cpp:
              * kjs/JSFunction.h:
              (JSC::JSFunction::JSFunction):
              * kjs/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              * kjs/JSGlobalData.h:
              * kjs/JSGlobalObject.cpp:
              * kjs/JSGlobalObject.h:
              * kjs/JSGlobalObjectFunctions.cpp:
              * kjs/JSGlobalObjectFunctions.h:
              * kjs/JSImmediate.cpp:
              * kjs/JSImmediate.h:
              * kjs/JSLock.cpp:
              * kjs/JSLock.h:
              * kjs/JSNotAnObject.cpp:
              * kjs/JSNotAnObject.h:
              * kjs/JSNumberCell.cpp:
              * kjs/JSNumberCell.h:
              * kjs/JSObject.cpp:
              * kjs/JSObject.h:
              * kjs/JSStaticScopeObject.cpp:
              * kjs/JSStaticScopeObject.h:
              * kjs/JSString.cpp:
              * kjs/JSString.h:
              * kjs/JSType.h:
              * kjs/JSValue.cpp:
              * kjs/JSValue.h:
              * kjs/JSVariableObject.cpp:
              * kjs/JSVariableObject.h:
              * kjs/JSWrapperObject.cpp:
              * kjs/JSWrapperObject.h:
              * kjs/LabelStack.cpp:
              * kjs/LabelStack.h:
              * kjs/MathObject.cpp:
              * kjs/MathObject.h:
              * kjs/NativeErrorConstructor.cpp:
              * kjs/NativeErrorConstructor.h:
              * kjs/NativeErrorPrototype.cpp:
              * kjs/NativeErrorPrototype.h:
              * kjs/NodeInfo.h:
              * kjs/NumberConstructor.cpp:
              * kjs/NumberConstructor.h:
              * kjs/NumberObject.cpp:
              * kjs/NumberObject.h:
              * kjs/NumberPrototype.cpp:
              * kjs/NumberPrototype.h:
              * kjs/ObjectConstructor.cpp:
              * kjs/ObjectConstructor.h:
              * kjs/ObjectPrototype.cpp:
              * kjs/ObjectPrototype.h:
              * kjs/Parser.cpp:
              * kjs/Parser.h:
              * kjs/PropertyMap.cpp:
              (JSC::PropertyMapStatisticsExitLogger::~PropertyMapStatisticsExitLogger):
              * kjs/PropertyMap.h:
              * kjs/PropertyNameArray.cpp:
              * kjs/PropertyNameArray.h:
              * kjs/PropertySlot.cpp:
              * kjs/PropertySlot.h:
              * kjs/PrototypeFunction.cpp:
              * kjs/PrototypeFunction.h:
              * kjs/PutPropertySlot.h:
              * kjs/RegExpConstructor.cpp:
              * kjs/RegExpConstructor.h:
              * kjs/RegExpObject.cpp:
              * kjs/RegExpObject.h:
              * kjs/RegExpPrototype.cpp:
              * kjs/RegExpPrototype.h:
              * kjs/ScopeChain.cpp:
              * kjs/ScopeChain.h:
              * kjs/ScopeChainMark.h:
              * kjs/Shell.cpp:
              (jscmain):
              * kjs/SmallStrings.cpp:
              * kjs/SmallStrings.h:
              * kjs/SourceProvider.h:
              * kjs/SourceRange.h:
              * kjs/StringConstructor.cpp:
              * kjs/StringConstructor.h:
              * kjs/StringObject.cpp:
              * kjs/StringObject.h:
              * kjs/StringObjectThatMasqueradesAsUndefined.h:
              * kjs/StringPrototype.cpp:
              * kjs/StringPrototype.h:
              * kjs/StructureID.cpp:
              * kjs/StructureID.h:
              * kjs/SymbolTable.h:
              * kjs/collector.cpp:
              * kjs/collector.h:
              * kjs/completion.h:
              * kjs/create_hash_table:
              * kjs/debugger.cpp:
              * kjs/debugger.h:
              * kjs/dtoa.cpp:
              * kjs/dtoa.h:
              * kjs/grammar.y:
              * kjs/identifier.cpp:
              * kjs/identifier.h:
              (JSC::Identifier::equal):
              * kjs/interpreter.cpp:
              * kjs/interpreter.h:
              * kjs/lexer.cpp:
              (JSC::Lexer::Lexer):
              (JSC::Lexer::clear):
              (JSC::Lexer::makeIdentifier):
              * kjs/lexer.h:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/nodes2string.cpp:
              * kjs/operations.cpp:
              * kjs/operations.h:
              * kjs/protect.h:
              * kjs/regexp.cpp:
              * kjs/regexp.h:
              * kjs/ustring.cpp:
              * kjs/ustring.h:
              (JSC::operator!=):
              (JSC::IdentifierRepHash::hash):
              (WTF::):
              * masm/MacroAssembler.h:
              * masm/MacroAssemblerWin.cpp:
              * masm/X86Assembler.h:
              * pcre/pcre_exec.cpp:
              * profiler/CallIdentifier.h:
              (WTF::):
              * profiler/HeavyProfile.cpp:
              * profiler/HeavyProfile.h:
              * profiler/Profile.cpp:
              * profiler/Profile.h:
              * profiler/ProfileGenerator.cpp:
              * profiler/ProfileGenerator.h:
              * profiler/ProfileNode.cpp:
              * profiler/ProfileNode.h:
              * profiler/Profiler.cpp:
              * profiler/Profiler.h:
              * profiler/TreeProfile.cpp:
              * profiler/TreeProfile.h:
              * wrec/WREC.cpp:
              * wrec/WREC.h:
              * wtf/AVLTree.h:
      
              WebCore:
      
              * WebCore.base.exp:
              * bindings/js/GCController.cpp:
              * bindings/js/JSAttrCustom.cpp:
              * bindings/js/JSAudioConstructor.cpp:
              * bindings/js/JSAudioConstructor.h:
              (WebCore::JSAudioConstructor::classInfo):
              * bindings/js/JSCSSRuleCustom.cpp:
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              * bindings/js/JSCSSValueCustom.cpp:
              * bindings/js/JSCanvasPixelArrayCustom.cpp:
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              * bindings/js/JSClipboardCustom.cpp:
              * bindings/js/JSConsoleCustom.cpp:
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              (WebCore::JSCustomSQLStatementCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementCallback.h:
              (WebCore::JSCustomSQLStatementCallback::create):
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementErrorCallback.h:
              (WebCore::JSCustomSQLStatementErrorCallback::create):
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              (WebCore::JSCustomSQLTransactionCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionCallback.h:
              (WebCore::JSCustomSQLTransactionCallback::create):
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionErrorCallback.h:
              (WebCore::JSCustomSQLTransactionErrorCallback::create):
              * bindings/js/JSCustomVoidCallback.cpp:
              (WebCore::JSCustomVoidCallback::handleEvent):
              * bindings/js/JSCustomVoidCallback.h:
              (WebCore::JSCustomVoidCallback::create):
              * bindings/js/JSCustomXPathNSResolver.cpp:
              (WebCore::JSCustomXPathNSResolver::create):
              * bindings/js/JSCustomXPathNSResolver.h:
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              (WebCore::JSDOMApplicationCache::dispatchEvent):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::jsOwnedStringOrNull):
              * bindings/js/JSDOMBinding.h:
              (WebCore::DOMObject::DOMObject):
              (WebCore::cacheDOMObject):
              (WebCore::cacheSVGDOMObject):
              (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
              (WebCore::toJS):
              * bindings/js/JSDOMWindowBase.cpp:
              * bindings/js/JSDOMWindowBase.h:
              (WebCore::JSDOMWindowBase::classInfo):
              (WebCore::JSDOMWindowBase::d):
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::getPropertyAttributes):
              * bindings/js/JSDOMWindowCustom.h:
              (WebCore::asJSDOMWindow):
              (WebCore::JSDOMWindow::customGetOwnPropertySlot):
              (WebCore::JSDOMWindow::customPut):
              (WebCore::JSDOMWindowBase::allowsAccessFrom):
              (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::getPropertyAttributes):
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::classInfo):
              * bindings/js/JSDatabaseCustom.cpp:
              * bindings/js/JSDocumentCustom.cpp:
              * bindings/js/JSDocumentFragmentCustom.cpp:
              * bindings/js/JSElementCustom.cpp:
              * bindings/js/JSEventCustom.cpp:
              * bindings/js/JSEventListener.cpp:
              * bindings/js/JSEventListener.h:
              (WebCore::JSUnprotectedEventListener::create):
              (WebCore::JSEventListener::create):
              * bindings/js/JSEventTargetBase.cpp:
              * bindings/js/JSEventTargetBase.h:
              (WebCore::JSEventTargetBase::getValueProperty):
              (WebCore::JSEventTargetBase::putValueProperty):
              (WebCore::JSEventTargetBase::getOwnPropertySlot):
              (WebCore::JSEventTargetBase::put):
              (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
              (WebCore::JSEventTargetPrototype::self):
              (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
              (WebCore::JSEventTargetPrototype::classInfo):
              * bindings/js/JSEventTargetNode.cpp:
              * bindings/js/JSEventTargetNode.h:
              (WebCore::JSEventTargetNode::getOwnPropertySlot):
              (WebCore::JSEventTargetNode::getValueProperty):
              (WebCore::JSEventTargetNode::put):
              (WebCore::JSEventTargetNode::putValueProperty):
              * bindings/js/JSHTMLAllCollection.h:
              (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
              (WebCore::JSHTMLAllCollection::toBoolean):
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              * bindings/js/JSHTMLCollectionCustom.cpp:
              * bindings/js/JSHTMLDocumentCustom.cpp:
              * bindings/js/JSHTMLElementCustom.cpp:
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              * bindings/js/JSHTMLFormElementCustom.cpp:
              * bindings/js/JSHTMLFrameElementCustom.cpp:
              * bindings/js/JSHTMLFrameSetElementCustom.cpp:
              * bindings/js/JSHTMLIFrameElementCustom.cpp:
              * bindings/js/JSHTMLInputElementBase.cpp:
              (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
              (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
              * bindings/js/JSHTMLInputElementBase.h:
              (WebCore::JSHTMLInputElementBase::classInfo):
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              * bindings/js/JSHTMLOptionElementConstructor.cpp:
              * bindings/js/JSHTMLOptionElementConstructor.h:
              (WebCore::JSHTMLOptionElementConstructor::classInfo):
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              (WebCore::selectIndexSetter):
              (WebCore::JSHTMLSelectElement::indexSetter):
              * bindings/js/JSHTMLSelectElementCustom.h:
              * bindings/js/JSHistoryCustom.cpp:
              * bindings/js/JSImageConstructor.cpp:
              * bindings/js/JSImageConstructor.h:
              (WebCore::JSImageConstructor::classInfo):
              * bindings/js/JSInspectedObjectWrapper.cpp:
              * bindings/js/JSInspectedObjectWrapper.h:
              (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
              (WebCore::JSInspectedObjectWrapper::classInfo):
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              * bindings/js/JSInspectorCallbackWrapper.h:
              (WebCore::JSInspectorCallbackWrapper::classInfo):
              (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              * bindings/js/JSLocationCustom.cpp:
              * bindings/js/JSMimeTypeArrayCustom.cpp:
              * bindings/js/JSNSResolver.cpp:
              * bindings/js/JSNSResolver.h:
              (WebCore::JSNSResolver::create):
              * bindings/js/JSNamedNodeMapCustom.cpp:
              * bindings/js/JSNamedNodesCollection.cpp:
              (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
              * bindings/js/JSNamedNodesCollection.h:
              (WebCore::JSNamedNodesCollection::classInfo):
              * bindings/js/JSNavigatorCustom.cpp:
              * bindings/js/JSNodeCustom.cpp:
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/JSNodeFilterCondition.h:
              (WebCore::JSNodeFilterCondition::create):
              * bindings/js/JSNodeFilterCustom.cpp:
              * bindings/js/JSNodeIteratorCustom.cpp:
              * bindings/js/JSNodeListCustom.cpp:
              * bindings/js/JSPluginArrayCustom.cpp:
              * bindings/js/JSPluginCustom.cpp:
              * bindings/js/JSPluginElementFunctions.cpp:
              (WebCore::getRuntimeObject):
              * bindings/js/JSPluginElementFunctions.h:
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              (WebCore::JSQuarantinedObjectWrapper::construct):
              (WebCore::JSQuarantinedObjectWrapper::call):
              * bindings/js/JSQuarantinedObjectWrapper.h:
              (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
              (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
              (WebCore::JSQuarantinedObjectWrapper::className):
              * bindings/js/JSRGBColor.cpp:
              * bindings/js/JSRGBColor.h:
              (WebCore::JSRGBColor::classInfo):
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              * bindings/js/JSSQLTransactionCustom.cpp:
              * bindings/js/JSSVGLazyEventListener.cpp:
              * bindings/js/JSSVGLazyEventListener.h:
              * bindings/js/JSSVGLengthCustom.cpp:
              * bindings/js/JSSVGMatrixCustom.cpp:
              (WebCore::JSSVGMatrix::inverse):
              (WebCore::JSSVGMatrix::rotateFromVector):
              * bindings/js/JSSVGPathSegCustom.cpp:
              * bindings/js/JSSVGPathSegListCustom.cpp:
              (WebCore::JSSVGPathSegList::initialize):
              (WebCore::JSSVGPathSegList::getItem):
              (WebCore::JSSVGPathSegList::insertItemBefore):
              (WebCore::JSSVGPathSegList::replaceItem):
              (WebCore::JSSVGPathSegList::removeItem):
              (WebCore::JSSVGPathSegList::appendItem):
              * bindings/js/JSSVGPointListCustom.cpp:
              * bindings/js/JSSVGTransformListCustom.cpp:
              * bindings/js/JSStorageCustom.cpp:
              * bindings/js/JSStyleSheetCustom.cpp:
              * bindings/js/JSStyleSheetListCustom.cpp:
              * bindings/js/JSTextCustom.cpp:
              * bindings/js/JSTreeWalkerCustom.cpp:
              * bindings/js/JSXMLHttpRequestConstructor.cpp:
              * bindings/js/JSXMLHttpRequestConstructor.h:
              (WebCore::JSXMLHttpRequestConstructor::classInfo):
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              * bindings/js/JSXSLTProcessorConstructor.cpp:
              * bindings/js/JSXSLTProcessorConstructor.h:
              (WebCore::JSXSLTProcessorConstructor::classInfo):
              * bindings/js/JSXSLTProcessorCustom.cpp:
              * bindings/js/ScheduledAction.cpp:
              * bindings/js/ScheduledAction.h:
              * bindings/js/ScriptController.cpp:
              (WebCore::ScriptController::attachDebugger):
              (WebCore::ScriptController::windowScriptNPObject):
              * bindings/js/ScriptController.h:
              * bindings/js/ScriptControllerGtk.cpp:
              (WebCore::ScriptController::createScriptInstanceForWidget):
              * bindings/js/ScriptControllerMac.mm:
              (WebCore::ScriptController::createScriptInstanceForWidget):
              (WebCore::ScriptController::windowScriptObject):
              (WebCore::ScriptController::clearPlatformScriptObjects):
              (WebCore::updateRenderingForBindings):
              (WebCore::ScriptController::initJavaJSBindings):
              * bindings/js/ScriptControllerQt.cpp:
              (WebCore::ScriptController::createScriptInstanceForWidget):
              * bindings/js/ScriptControllerWin.cpp:
              (WebCore::ScriptController::createScriptInstanceForWidget):
              * bindings/js/ScriptControllerWx.cpp:
              (WebCore::ScriptController::createScriptInstanceForWidget):
              * bindings/js/StringSourceProvider.h:
              (WebCore::StringSourceProvider::getRange):
              * bindings/objc/DOM.mm:
              (-[DOMNode JSC::Bindings::]):
              * bindings/objc/DOMInternal.h:
              * bindings/objc/DOMInternal.mm:
              (-[WebScriptObject _initializeScriptDOMNodeImp]):
              * bindings/objc/DOMUtility.mm:
              (JSC::createDOMWrapper):
              (WebCore::createDOMWrapper):
              * bindings/objc/WebScriptObject.mm:
              (WebCore::createJSWrapper):
              (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
              * bindings/objc/WebScriptObjectPrivate.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              * bridge/NP_jsobject.h:
              * bridge/c/c_class.cpp:
              * bridge/c/c_class.h:
              * bridge/c/c_instance.cpp:
              * bridge/c/c_instance.h:
              * bridge/c/c_runtime.cpp:
              * bridge/c/c_runtime.h:
              * bridge/c/c_utility.cpp:
              * bridge/c/c_utility.h:
              * bridge/jni/jni_class.cpp:
              * bridge/jni/jni_class.h:
              * bridge/jni/jni_instance.cpp:
              * bridge/jni/jni_instance.h:
              * bridge/jni/jni_jsobject.h:
              * bridge/jni/jni_jsobject.mm:
              (JavaJSObject::call):
              (JavaJSObject::convertJObjectToValue):
              * bridge/jni/jni_objc.mm:
              (JSC::Bindings::dispatchJNICall):
              * bridge/jni/jni_runtime.cpp:
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              * bridge/jni/jni_utility.h:
              * bridge/npruntime.cpp:
              (_NPN_GetStringIdentifier):
              * bridge/objc/WebScriptObject.h:
              * bridge/objc/objc_class.h:
              * bridge/objc/objc_class.mm:
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              * bridge/objc/objc_runtime.h:
              * bridge/objc/objc_runtime.mm:
              * bridge/objc/objc_utility.h:
              * bridge/objc/objc_utility.mm:
              * bridge/qt/qt_class.cpp:
              * bridge/qt/qt_class.h:
              * bridge/qt/qt_instance.cpp:
              * bridge/qt/qt_instance.h:
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::convertQVariantToValue):
              (JSC::Bindings::):
              * bridge/qt/qt_runtime.h:
              * bridge/runtime.cpp:
              * bridge/runtime.h:
              * bridge/runtime_array.cpp:
              * bridge/runtime_array.h:
              * bridge/runtime_method.cpp:
              * bridge/runtime_method.h:
              * bridge/runtime_object.cpp:
              * bridge/runtime_object.h:
              * bridge/runtime_root.cpp:
              (JSC::Bindings::RootObject::invalidate):
              (JSC::Bindings::RootObject::gcProtect):
              (JSC::Bindings::RootObject::gcUnprotect):
              * bridge/runtime_root.h:
              * bridge/testbindings.cpp:
              * bridge/testbindings.mm:
              * bridge/testqtbindings.cpp:
              * dom/Document.cpp:
              (WebCore::Document::~Document):
              * dom/NSResolver.h:
              * dom/Node.cpp:
              (WebCore::Node::setDocument):
              (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
              (WebCore::resolveNamespacesForSelector):
              (WebCore::Node::querySelector):
              (WebCore::Node::querySelectorAll):
              * dom/Node.h:
              * dom/NodeFilter.cpp:
              * dom/NodeFilter.h:
              * dom/NodeFilterCondition.cpp:
              * dom/NodeFilterCondition.h:
              * dom/NodeIterator.cpp:
              * dom/NodeIterator.h:
              * dom/Traversal.cpp:
              * dom/Traversal.h:
              * dom/TreeWalker.cpp:
              * dom/TreeWalker.h:
              * dom/make_names.pl:
              * history/CachedPage.cpp:
              * history/CachedPage.h:
              * html/HTMLPlugInElement.cpp:
              (WebCore::HTMLPlugInElement::getInstance):
              * html/HTMLPlugInElement.h:
              * loader/FrameLoader.cpp:
              * loader/FrameLoader.h:
              * loader/icon/IconDatabase.cpp:
              (WebCore::iconDatabase):
              * page/Console.cpp:
              * page/Console.h:
              * page/InspectorController.cpp:
              (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
              (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
              (WebCore::InspectorResource::setXMLHttpRequestProperties):
              (WebCore::InspectorResource::sourceString):
              (WebCore::getResourceDocumentNode):
              (WebCore::search):
              (WebCore::InspectorController::focusNode):
              (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
              (WebCore::InspectorController::addDatabaseScriptResource):
              (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
              * page/InspectorController.h:
              (WebCore::InspectorController::profiles):
              * page/JavaScriptCallFrame.cpp:
              (WebCore::JavaScriptCallFrame::scopeChain):
              * page/JavaScriptCallFrame.h:
              (WebCore::JavaScriptCallFrame::create):
              (WebCore::JavaScriptCallFrame::update):
              * page/JavaScriptDebugListener.h:
              * page/JavaScriptDebugServer.cpp:
              (WebCore::dispatchDidParseSource):
              * page/JavaScriptDebugServer.h:
              * page/JavaScriptProfile.cpp:
              * page/JavaScriptProfile.h:
              * page/JavaScriptProfileNode.cpp:
              (WebCore::getTotalTime):
              (WebCore::getSelfTime):
              (WebCore::getTotalPercent):
              (WebCore::getSelfPercent):
              (WebCore::getNumberOfCalls):
              (WebCore::getChildren):
              (WebCore::getVisible):
              * page/JavaScriptProfileNode.h:
              * page/Page.cpp:
              (WebCore::Page::setDebuggerForAllPages):
              (WebCore::Page::setDebugger):
              * page/Page.h:
              (WebCore::Page::debugger):
              * page/mac/FrameMac.mm:
              * platform/KURL.h:
              (WebCore::KURL::operator JSC::UString):
              * platform/text/AtomicString.cpp:
              (WebCore::AtomicString::add):
              (WebCore::AtomicString::find):
              * platform/text/AtomicString.h:
              (WebCore::AtomicString::AtomicString):
              * platform/text/PlatformString.h:
              * platform/text/String.cpp:
              (WebCore::charactersToDouble):
              * platform/win/BString.cpp:
              * platform/win/BString.h:
              * plugins/MimeTypeArray.h:
              * plugins/Plugin.h:
              * plugins/PluginArray.h:
              * plugins/PluginView.cpp:
              (WebCore::PluginView::start):
              (WebCore::PluginView::performRequest):
              (WebCore::PluginView::bindingInstance):
              * plugins/PluginView.h:
              * plugins/gtk/PluginViewGtk.cpp:
              (WebCore::PluginView::paint):
              (WebCore::PluginView::handleKeyboardEvent):
              (WebCore::PluginView::handleMouseEvent):
              (WebCore::PluginView::setNPWindowRect):
              (WebCore::PluginView::stop):
              (WebCore::PluginView::init):
              * plugins/qt/PluginViewQt.cpp:
              (WebCore::PluginView::setNPWindowRect):
              (WebCore::PluginView::stop):
              (WebCore::PluginView::init):
              * plugins/win/PluginViewWin.cpp:
              (WebCore::PluginView::dispatchNPEvent):
              (WebCore::PluginView::handleKeyboardEvent):
              (WebCore::PluginView::handleMouseEvent):
              (WebCore::PluginView::setNPWindowRect):
              (WebCore::PluginView::stop):
              * storage/Database.cpp:
              (WebCore::Database::Database):
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::responseText):
              (WebCore::XMLHttpRequest::loadRequestAsynchronously):
              (WebCore::XMLHttpRequest::clearResponse):
              (WebCore::XMLHttpRequest::dropProtection):
              (WebCore::XMLHttpRequest::didFinishLoading):
              (WebCore::XMLHttpRequest::didReceiveData):
              * xml/XMLHttpRequest.h:
      
              WebKit/gtk:
      
              * webkit/webkitprivate.cpp:
              (webkit_init):
      
              WebKit/mac:
      
              * Misc/WebCoreStatistics.mm:
              * Plugins/WebBaseNetscapePluginStream.mm:
              (-[WebBaseNetscapePluginStream wantsAllStreams]):
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
              (-[WebBaseNetscapePluginView setWindowIfNecessary]):
              (-[WebBaseNetscapePluginView start]):
              (-[WebBaseNetscapePluginView createPluginScriptableObject]):
              (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
              (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
              (-[WebBaseNetscapePluginView loadPluginRequest:]):
              (-[WebBaseNetscapePluginView _printedPluginBitmap]):
              * Plugins/WebPluginController.mm:
              (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
              (-[WebPluginController startAllPlugins]):
              (-[WebPluginController stopAllPlugins]):
              (-[WebPluginController addPlugin:]):
              (-[WebPluginController destroyPlugin:]):
              (-[WebPluginController destroyAllPlugins]):
              * WebView/WebFrame.mm:
              * WebView/WebScriptDebugDelegate.mm:
              * WebView/WebScriptDebugger.h:
              * WebView/WebScriptDebugger.mm:
              * WebView/WebView.mm:
              (-[WebViewPrivate init]):
      
              WebKit/qt:
              
              * Api/qwebframe.cpp:
              (QWebFrame::addToJavaScriptWindowObject):
              (QWebFrame::evaluateJavaScript):
      
              WebKit/win:
      
              * WebCoreStatistics.cpp:
              * WebJavaScriptCollector.cpp:
              * WebScriptCallFrame.cpp:
              (WebScriptCallFrame::jsValueToString):
              * WebScriptCallFrame.h:
              (WebScriptCallFrame::state):
              * WebView.cpp:
              (WebView::WebView):
              (WebView::stringByEvaluatingJavaScriptFromString):
      
              WebKit/wx:
      
              * WebFrame.cpp:
              (wxWebFrame::RunScript):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36263 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f782f6a
  23. 02 Sep, 2008 1 commit
    • ggaren@apple.com's avatar
      JavaScriptCore: · 8d8ff6a5
      ggaren@apple.com authored
      2008-09-02  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Sam Weinig.
              
              Implemented the rest of Darin's review comments for the 09-01 inline
              caching patch.
              
              SunSpider says 0.5% faster, but that seems like noise.
      
              * JavaScriptCore.xcodeproj/project.pbxproj: Put PutPropertySlot into
              its own file, and added BatchedTransitionOptimizer.
      
              * VM/CodeBlock.cpp:
              (KJS::CodeBlock::~CodeBlock): Use array indexing instead of a pointer
              iterator.
      
              * VM/CodeGenerator.cpp:
              (KJS::CodeGenerator::CodeGenerator): Used BatchedTransitionOptimizer to
              make batched put and remove for declared variables fast, without forever
              pessimizing the global object. Removed the old getDirect/removeDirect hack
              that tried to do the same in a more limited way.
      
              * VM/CodeGenerator.h: Moved IdentifierRepHash to the KJS namespace since
              it doesn't specialize anything in WTF.
      
              * VM/Machine.cpp:
              (KJS::Machine::Machine): Nixed the DummyConstruct tag because it was
              confusingly named.
      
              (KJS::Machine::execute):  Used BatchedTransitionOptimizer, as above. Fixed
              up some comments.
      
              (KJS::cachePrototypeChain): Cast to JSObject*, since it's more specific.
      
              (KJS::Machine::tryCachePutByID): Use isNull() instead of comparing to
              jsNull(), since isNull() leaves more options open for the future.
              (KJS::Machine::tryCacheGetByID): ditto
              (KJS::Machine::privateExecute): ditto
      
              * VM/SamplingTool.cpp:
              (KJS::SamplingTool::dump): Use C++-style cast, to match our style
              guidelines.
      
              * kjs/BatchedTransitionOptimizer.h: Added. New class that allows host
              code to add a batch of properties to an object in an efficient way.
      
              * kjs/JSActivation.cpp: Use isNull(), as above.
      
              * kjs/JSArray.cpp: Get rid of DummyConstruct tag, as above.
              * kjs/JSArray.h:
      
              * kjs/JSGlobalData.cpp: Nixed two unused StructureIDs.
              * kjs/JSGlobalData.h:
      
              * kjs/JSImmediate.cpp: Use isNull(), as above.
      
              * kjs/JSObject.cpp:
              (KJS::JSObject::mark): Moved mark tracing code elsewhere, to make this
              function more readable.
      
              (KJS::JSObject::put): Use isNull(), as above.
      
              (KJS::JSObject::createInheritorID): Return a raw pointer, since the
              object is owned by a data member, not necessarily the caller.
              * kjs/JSObject.h:
      
              * kjs/JSString.cpp: Use isNull(), as above.
      
              * kjs/PropertyMap.h: Updated to use PropertySlot::invalidOffset.
      
              * kjs/PropertySlot.h: Changed KJS_INVALID_OFFSET to WTF::notFound
              because C macros are so 80's.
      
              * kjs/PutPropertySlot.h: Added. Split out of PropertySlot.h. Also renamed
              PutPropertySlot::SlotType to PutPropertySlot::Type, and slotBase to base,
              since "slot" was redundant.
      
              * kjs/StructureID.cpp: Added a new transition *away* from dictionary
              status, to support BatchedTransitionOptimizer.
      
              (KJS::StructureIDChain::StructureIDChain): No need to store m_size as
              a data member, so keep it in a local, which might be faster.
              * kjs/StructureID.h:
      
              * kjs/SymbolTable.h: Moved IdentifierRepHash to KJS namespace, as above.
              * kjs/ustring.h:
      
      JavaScriptGlue:
      
      2008-09-02  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Sam Weinig.
              
              Implemented the rest of Darin's review comments for the 09-01 inline
              caching patch.
              
              * ForwardingHeaders/kjs/PutPropertySlot.h: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8d8ff6a5
  24. 18 Jan, 2008 1 commit
  25. 17 Jan, 2008 1 commit
    • ggaren@apple.com's avatar
      Reviewed by Darin Adler. · 2799e68c
      ggaren@apple.com authored
              Fixed: lots of WebCore leaks reported when quitting Safari
              
              If we're quitting with a GC still scheduled, do the GC before quitting.
              That way, WebCore's leak counters won't count objects that were
              scheduled for GC.
      
              * bindings/js/GCController.cpp:
              (WebCore::GCController::~GCController):
              (WebCore::GCController::garbageCollectNow):
              * bindings/js/GCController.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2799e68c
  26. 11 Jan, 2008 1 commit
    • ggaren@apple.com's avatar
      JavaScriptCore: · 6e4309e9
      ggaren@apple.com authored
              Reviewed by John Sullivan.
      
              Fixed some world leak reports:
              * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
              Interpreter after running cvs-base suite
      
              * <rdar://problem/5669423> PLT complains about world leak if browser
              window is open when PLT starts
              
              * kjs/collector.h: Added the ability to distinguish between global
              objects and GC-protected global objects, since we only consider the
              latter to be world leaks.
              * kjs/collector.cpp:
      
      WebCore:
      
              Reviewed by John Sullivan.
      
              Fixed some world leak reports:
              * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
              Interpreter after running cvs-base suite
      
              * <rdar://problem/5669423> PLT complains about world leak if browser
              window is open when PLT starts
              
              These were both bugs in the reporting mechanism, so I took the
              opportunity to do some house cleaning there.
      
              Stupid class, I kill you:
              * bridge/JavaScriptStatistics.cpp: Removed.
              * bridge/JavaScriptStatistics.h: Removed.
      
              * bindings/js/GCController.h: Adopted the only useful features of
              JavaScriptStatistics, since they were GC-related.
              * bindings/js/GCController.cpp:
      
      WebKit/mac:
      
              Reviewed by John Sullivan.
      
              Fixed some world leak reports:
              * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
              Interpreter after running cvs-base suite
      
              * <rdar://problem/5669423> PLT complains about world leak if browser
              window is open when PLT starts
              
              These were both bugs in the reporting mechanism, so I took the
              opportunity to do some house cleaning there.
      
              * Misc/WebCoreStatistics.h: Did a little renaming, to match
              JavaScriptCore better. I kept the methods with the old names around,
              though, because old versions of Safari need them.
      
              * Misc/WebCoreStatistics.mm: Removed dependence on
              WebCore::JavaScriptStatistics, which is gone now. 
              
              These two methods are now distinct, for the sake of world leak reporting:
              (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
              (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
      
      WebKit/win:
      
              Reviewed by John Sullivan.
      
              Updated for transition away from JavaScriptStatistics, which is gone now.
      
              * WebJavaScriptCollector.cpp:
              (WebJavaScriptCollector::collect):
              (WebJavaScriptCollector::collectOnAlternateThread):
              (WebJavaScriptCollector::objectCount):
      
      WebKitTools:
      
              Reviewed by John Sullivan.
      
              * DumpRenderTree/mac/GCControllerMac.mm:
              (GCController::collectOnAlternateThread): Updated for name change.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e4309e9
  27. 20 Jul, 2007 2 commits
    • ggaren's avatar
      Suggested by Darin Adler. · 211b0918
      ggaren authored
              
              Slight tweak to my last commit: changed gcController() to return a 
              reference instead of a pointer.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24495 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      211b0918
    • ggaren's avatar
      Reviewed by Darin Adler. · 4434b147
      ggaren authored
              
              Fixed http://bugs.webkit.org/show_bug.cgi?id=12900 Page tear-down 
              forces garbage collection once per frame
      
              Also fixed <rdar://problem/5286989> GC on window close does not always 
              bring the JS object count down to 0
              
              Implemented a 0-delay GC timer in WebCore. Instead of forcing GC
              immediately, code that thinks it has created a lot of garbage starts
              the timer. This has two advantages: 
      
              1) Multiple GCs can coalesce. In my pathological test case, this 
              improves performance by an order of magnitude. 
              
              2) Conservative marking is less likely to keep alive important dead
              objects, like the window object, because the stack is small and free of
              JS processing when the timer fires.
      
              Added GCController.h/.cpp, sometimes blindly:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * WebCoreSources.bkl:
      
              Added singleton that implements GC on a 0-delay timer:
              * bindings/js/GCController.h: Added.
              * bindings/js/GCController.cpp: Added.
              
              Changed Collector::collect() calls below to call to the singleton:
              * bindings/js/kjs_proxy.cpp:
              (WebCore::KJSProxy::~KJSProxy):
              * bindings/js/kjs_window.cpp:
              (KJS::Window::clear):
              * history/CachedPage.cpp:
              (WebCore::CachedPage::clear):
              
              * page/Frame.cpp:
              (WebCore::Frame::~Frame): Removed previous slightly hackish attempt to
              avoid conservative marking of the window object.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4434b147
  28. 09 Jun, 2007 1 commit
    • weinig's avatar
      LayoutTests: · 0d78994a
      weinig authored
              Reviewed by Oliver.
      
              Update test for http://bugs.webkit.org/show_bug.cgi?id=14044
              Autogenerate the JS bindings for HTMLCollection.
      
              * tables/mozilla/bugs/bug53690-1-expected.txt: Now throws Undefined Error instead of Null Error
      
      WebCore:
      
              Reviewed by Oliver.
      
              Patch for http://bugs.webkit.org/show_bug.cgi?id=14044
              Autogenerate the JS bindings for HTMLCollection
      
              - also moves JSHTMLAllCollection into it's own file.
      
              * DerivedSources.make:
              * WebCore.pro:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSHTMLAllCollection.h: Added.
              (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
              (WebCore::JSHTMLAllCollection::toBoolean):
              (WebCore::JSHTMLAllCollection::masqueradeAsUndefined):
              * bindings/js/JSHTMLCollectionCustom.cpp: Added.
              (WebCore::getNamedItems):
              (WebCore::JSHTMLCollection::callAsFunction):
              (WebCore::JSHTMLCollection::implementsCall):
              (WebCore::JSHTMLCollection::canGetItemsForName):
              (WebCore::JSHTMLCollection::nameGetter):
              (WebCore::JSHTMLCollection::item):
              (WebCore::JSHTMLCollection::namedItem):
              (WebCore::toJS):
              * bindings/js/JSHTMLDocumentCustom.cpp:
              (WebCore::JSHTMLDocument::nameGetter):
              (WebCore::JSHTMLDocument::all):
              * bindings/js/JSXMLHttpRequest.cpp:
              * bindings/js/kjs_html.cpp:
              (WebCore::ImageConstructorImp::ImageConstructorImp):
              (WebCore::ImageConstructorImp::construct):
              * bindings/js/kjs_html.h:
              (WebCore::ImageConstructorImp::implementsConstruct):
              * bindings/js/kjs_window.cpp:
              (KJS::Window::namedItemGetter):
              * bindings/objc/DOMUtility.mm:
              (KJS::createDOMWrapper):
              * bindings/scripts/CodeGeneratorJS.pm:
              * html/HTMLCollection.cpp:
              (WebCore::HTMLCollection::tags):
              * html/HTMLCollection.h:
              (WebCore::HTMLCollection::collectionType):
              * html/HTMLCollection.idl:
              * html/HTMLOptionsCollection.idl:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@22080 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0d78994a
  29. 11 May, 2007 1 commit
    • darin's avatar
      LayoutTests: · 55ae73e3
      darin authored
              Reviewed by Mitz.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=7452
                <rdar://problem/3211749> line breaks ignored after <wbr> in <pre> block (affects livejournal.com)
      
              * fast/text/wbr-pre-expected.checksum: Added.
              * fast/text/wbr-pre-expected.png: Added.
              * fast/text/wbr-pre-expected.txt: Added.
              * fast/text/wbr-pre.html: Added.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=10657
                <rdar://problem/4274588> <wbr> tags are ignored
      
              * fast/text/wbr-expected.checksum: Added.
              * fast/text/wbr-expected.png: Added.
              * fast/text/wbr-expected.txt: Added.
              * fast/text/wbr.html: Added.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=12689
                <wbr> :before/:after content causes line break
      
              * fast/css-generated-content/wbr-with-before-content-expected.checksum: Added.
              * fast/css-generated-content/wbr-with-before-content-expected.png: Added.
              * fast/css-generated-content/wbr-with-before-content-expected.txt: Added.
              * fast/css-generated-content/wbr-with-before-content.html: Added.
      
              - test for <rdar://problem/5127366> DOM tree isn't correct when parsing with <wbr>
      
              * fast/invalid/021-expected.txt: Updated result.
              * fast/parser/parse-wbr-expected.txt: Added.
              * fast/parser/parse-wbr.html: Added.
      
      WebCore:
      
              Reviewed by Mitz.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=7452
                <rdar://problem/3211749> line breaks ignored after <wbr> in <pre> block (affects livejournal.com)
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=10657
                <rdar://problem/4274588> <wbr> tags are ignored
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12689
                <wbr> :before/:after content causes line break
      
              - fix <rdar://problem/5127366> DOM tree isn't correct when parsing with <wbr>
      
              Test: fast/text/wbr-pre.html
              Test: fast/text/wbr.html
              Test: fast/css-generated-content/wbr-with-before-content.html
              Test: fast/parser/parse-wbr.html
      
              * html/HTMLElement.h:
              * html/HTMLElement.cpp:
              (WebCore::HTMLElement::endTagRequirement): Use the same end tag requirement for a <wbr>
              element as for a <br> element, TagStatusForbidden.
              (WebCore::HTMLElement::tagPriority): Use the same priority for a <wbr> element as for a
              <br> element, 0.
              (WebCore::HTMLElement::createRenderer): Added. Create a RenderWordBreak to trigger the
              new rendering code paths.
      
              * rendering/RenderFlow.h: Add a virtual isWordBreak so we can detect RenderWordBreak.
      
              * rendering/RenderWordBreak.h: Added.
              * rendering/RenderWordBreak.cpp: Added.
      
              * WebCore.pro: Added new files.
              * WebCore.xcodeproj/project.pbxproj: Added new files.
              * WebCoreSources.bkl: Added new files.
      
              * rendering/RenderBlock.cpp: (WebCore::RenderBlock::calcInlinePrefWidths): Reset the
              line when we hit a <wbr>.
              * rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): Add a line break when
              we hit a <wbr>.
      
              * dom/Node.cpp: (Node::createRendererIfNeeded): Fix a null check for the case where
              createRenderer returns 0 even though rendererIsNeeded returned true. I can't reproduce
              it on demand, but while running layout tests I hit this once. Since there was already
              a null check here, I rearranged it so it guards all the code that uses the renderer.
              Later we might want to figure out under exactly what circumstances rendererIsNeeded
              will return true but createRenderer return 0 and consider eliminating them.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21405 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55ae73e3
  30. 26 Feb, 2007 1 commit
    • mjs's avatar
      JavaScriptCore: · d2948ef7
      mjs authored
              Reviewed by Lars.
              
              - <rdar://problem/5021698> Disable experimental SVG features (12883)
      
              * wtf/Platform.h: Add ENABLE() macro similar to HAVE() and USE(), to
              allow nicer handling of optional WebKit features.
      
      WebCore:
      
              Reviewed by Lars.
      
              - fixed <rdar://problem/5021698> Disable experimental SVG features (12883)
              
              I added an ENABLE_SVG_EXPERIMENTAL_FEATURES define to guard all use of the experimental
              features, and used it to guard relevant tag names, elements, JS bindings and renderers.
              
              I also converted all the existing optional feature defines to
              ENABLE_FOO instead of FOO_SUPPORT since that is the more standard
              way to do it in open source projects and works with the handy new
              ENABLE() macro.
      
              * CMakeLists.txt:
              * DerivedSources.make:
              * Projects/gdk/webcore-gdk.bkl:
              * WebCore.pro:
              * WebCore.vcproj/WebCore/WebCore.vcproj:
              * WebCore.vcproj/WebCore/build-generated-files.sh:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSCustomXPathNSResolver.cpp:
              * bindings/js/JSCustomXPathNSResolver.h:
              * bindings/js/JSSVGElementWrapperFactory.cpp:
              * bindings/js/JSSVGElementWrapperFactory.h:
              * bindings/js/JSSVGMatrixCustom.cpp:
              * bindings/js/JSSVGPODTypeWrapper.h:
              * bindings/js/JSSVGPathSegCustom.cpp:
              * bindings/js/JSSVGPathSegListCustom.cpp:
              * bindings/js/JSSVGPointListCustom.cpp:
              * bindings/js/JSXSLTProcessor.cpp:
              * bindings/js/JSXSLTProcessor.h:
              * bindings/js/kjs_binding.cpp:
              (KJS::setDOMException):
              * bindings/js/kjs_css.cpp:
              (KJS::toJS):
              * bindings/js/kjs_dom.cpp:
              (KJS::toJS):
              * bindings/js/kjs_html.cpp:
              (KJS::HTMLElementFunction::callAsFunction):
              * bindings/js/kjs_proxy.cpp:
              * bindings/js/kjs_proxy.h:
              * bindings/js/kjs_window.cpp:
              (KJS::Window::getValueProperty):
              * bindings/objc/DOM.mm:
              (WebCore::createElementClassMap):
              (+[DOMNode _nodeWith:WebCore::]):
              * bindings/objc/DOMCSS.mm:
              (+[DOMCSSValue _CSSValueWith:WebCore::]):
              * bindings/objc/DOMCustomXPathNSResolver.h:
              * bindings/objc/DOMCustomXPathNSResolver.mm:
              * bindings/objc/DOMEvents.mm:
              (+[DOMEvent _eventWith:WebCore::]):
              * bindings/objc/DOMInternal.h:
              * bindings/objc/DOMSVGPathSegInternal.mm:
              * bindings/objc/DOMXPath.mm:
              * bindings/objc/ExceptionHandlers.mm:
              (WebCore::raiseDOMException):
              * bindings/objc/PublicDOMInterfaces.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bindings/scripts/CodeGeneratorObjC.pm:
              * config.h:
              * css/CSSGrammar.y:
              * css/CSSStyleDeclaration.cpp:
              (WebCore::propertyID):
              * css/StyleBase.h:
              * css/cssparser.cpp:
              (WebCore::CSSParser::parseValue):
              * css/cssparser.h:
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::loadDefaultStyle):
              (WebCore::CSSStyleSelector::initForStyleResolve):
              (WebCore::checkPseudoState):
              (WebCore::CSSStyleSelector::adjustRenderStyle):
              (WebCore::CSSStyleSelector::applyProperty):
              * css/cssstyleselector.h:
              * dom/DOMImplementation.cpp:
              (WebCore::DOMImplementation::hasFeature):
              (WebCore::DOMImplementation::createDocument):
              * dom/Document.cpp:
              (WebCore::Document::Document):
              (WebCore::Document::~Document):
              (WebCore::Document::createElement):
              (WebCore::Document::implicitClose):
              (WebCore::Document::recalcStyleSelector):
              (WebCore::Document::createEvent):
              * dom/Document.h:
              * dom/Document.idl:
              * dom/Event.cpp:
              * dom/Event.h:
              * dom/EventTarget.cpp:
              * dom/EventTarget.h:
              * dom/MappedAttributeEntry.h:
              (WebCore::):
              * dom/Node.cpp:
              (WebCore::Node::createRendererIfNeeded):
              (WebCore::Node::shadowAncestorNode):
              * dom/Node.h:
              * dom/ProcessingInstruction.cpp:
              (WebCore::ProcessingInstruction::ProcessingInstruction):
              (WebCore::ProcessingInstruction::checkStyleSheet):
              (WebCore::ProcessingInstruction::setCSSStyleSheet):
              * dom/ProcessingInstruction.h:
              * dom/Text.cpp:
              (WebCore::Text::createRenderer):
              * dom/XMLTokenizer.cpp:
              (WebCore::XMLTokenizer::startElementNs):
              (WebCore::XMLTokenizer::endElementNs):
              (WebCore::XMLTokenizer::processingInstruction):
              (WebCore::XMLTokenizer::end):
              (WebCore::XMLTokenizer::insertErrorMessageBlock):
              * dom/XMLTokenizer.h:
              * html/HTMLEmbedElement.cpp:
              * html/HTMLEmbedElement.h:
              * html/HTMLObjectElement.cpp:
              * html/HTMLObjectElement.h:
              * ksvg2/css/SVGCSSParser.cpp:
              * ksvg2/css/SVGCSSStyleSelector.cpp:
              * ksvg2/css/SVGRenderStyle.cpp:
              * ksvg2/css/SVGRenderStyle.h:
              * ksvg2/css/SVGRenderStyleDefs.cpp:
              * ksvg2/css/SVGRenderStyleDefs.h:
              * ksvg2/events/JSSVGLazyEventListener.cpp:
              * ksvg2/events/JSSVGLazyEventListener.h:
              * ksvg2/events/SVGZoomEvent.cpp:
              * ksvg2/events/SVGZoomEvent.h:
              * ksvg2/misc/KCanvasRenderingStyle.cpp:
              * ksvg2/misc/KCanvasRenderingStyle.h:
              * ksvg2/misc/PointerEventsHitRules.cpp:
              * ksvg2/misc/PointerEventsHitRules.h:
              * ksvg2/misc/SVGDocumentExtensions.cpp:
              * ksvg2/misc/SVGDocumentExtensions.h:
              * ksvg2/misc/SVGImageLoader.cpp:
              * ksvg2/misc/SVGImageLoader.h:
              * ksvg2/misc/SVGTimer.cpp:
              * ksvg2/misc/SVGTimer.h:
              * ksvg2/misc/TimeScheduler.cpp:
              * ksvg2/misc/TimeScheduler.h:
              * ksvg2/scripts/make_names.pl:
              * ksvg2/svg/ColorDistance.cpp:
              * ksvg2/svg/ColorDistance.h:
              * ksvg2/svg/GradientAttributes.h:
              * ksvg2/svg/LinearGradientAttributes.h:
              * ksvg2/svg/PatternAttributes.h:
              * ksvg2/svg/RadialGradientAttributes.h:
              * ksvg2/svg/SVGAElement.cpp:
              * ksvg2/svg/SVGAElement.h:
              * ksvg2/svg/SVGAngle.cpp:
              * ksvg2/svg/SVGAngle.h:
              * ksvg2/svg/SVGAnimateColorElement.cpp:
              * ksvg2/svg/SVGAnimateColorElement.h:
              * ksvg2/svg/SVGAnimateElement.cpp:
              * ksvg2/svg/SVGAnimateElement.h:
              * ksvg2/svg/SVGAnimateElement.idl:
              * ksvg2/svg/SVGAnimateMotionElement.cpp:
              * ksvg2/svg/SVGAnimateMotionElement.h:
              * ksvg2/svg/SVGAnimateTransformElement.cpp:
              * ksvg2/svg/SVGAnimateTransformElement.h:
              * ksvg2/svg/SVGAnimateTransformElement.idl:
              * ksvg2/svg/SVGAnimatedPathData.cpp:
              * ksvg2/svg/SVGAnimatedPathData.h:
              * ksvg2/svg/SVGAnimatedPoints.cpp:
              * ksvg2/svg/SVGAnimatedPoints.h:
              * ksvg2/svg/SVGAnimatedTemplate.h:
              * ksvg2/svg/SVGAnimationElement.cpp:
              * ksvg2/svg/SVGAnimationElement.h:
              * ksvg2/svg/SVGCircleElement.cpp:
              * ksvg2/svg/SVGCircleElement.h:
              * ksvg2/svg/SVGClipPathElement.cpp:
              * ksvg2/svg/SVGClipPathElement.h:
              * ksvg2/svg/SVGColor.cpp:
              * ksvg2/svg/SVGColor.h:
              * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
              * ksvg2/svg/SVGComponentTransferFunctionElement.h:
              * ksvg2/svg/SVGCursorElement.cpp:
              * ksvg2/svg/SVGCursorElement.h:
              * ksvg2/svg/SVGDefsElement.cpp:
              * ksvg2/svg/SVGDefsElement.h:
              * ksvg2/svg/SVGDescElement.cpp:
              * ksvg2/svg/SVGDescElement.h:
              * ksvg2/svg/SVGDocument.cpp:
              * ksvg2/svg/SVGDocument.h:
              * ksvg2/svg/SVGElement.cpp:
              (WebCore::SVGElement::dispatchEvent):
              * ksvg2/svg/SVGElement.h:
              * ksvg2/svg/SVGElementInstance.cpp:
              * ksvg2/svg/SVGElementInstance.h:
              * ksvg2/svg/SVGElementInstance.idl:
              * ksvg2/svg/SVGElementInstanceList.cpp:
              * ksvg2/svg/SVGElementInstanceList.h:
              * ksvg2/svg/SVGElementInstanceList.idl:
              * ksvg2/svg/SVGEllipseElement.cpp:
              * ksvg2/svg/SVGEllipseElement.h:
              * ksvg2/svg/SVGException.h:
              * ksvg2/svg/SVGExternalResourcesRequired.cpp:
              * ksvg2/svg/SVGExternalResourcesRequired.h:
              * ksvg2/svg/SVGFEBlendElement.cpp:
              * ksvg2/svg/SVGFEBlendElement.h:
              * ksvg2/svg/SVGFEBlendElement.idl:
              * ksvg2/svg/SVGFEColorMatrixElement.cpp:
              * ksvg2/svg/SVGFEColorMatrixElement.h:
              * ksvg2/svg/SVGFEColorMatrixElement.idl:
              * ksvg2/svg/SVGFEComponentTransferElement.cpp:
              * ksvg2/svg/SVGFEComponentTransferElement.h:
              * ksvg2/svg/SVGFEComponentTransferElement.idl:
              * ksvg2/svg/SVGFECompositeElement.cpp:
              * ksvg2/svg/SVGFECompositeElement.h:
              * ksvg2/svg/SVGFECompositeElement.idl:
              * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
              * ksvg2/svg/SVGFEDiffuseLightingElement.h:
              * ksvg2/svg/SVGFEDiffuseLightingElement.idl:
              * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
              * ksvg2/svg/SVGFEDisplacementMapElement.h:
              * ksvg2/svg/SVGFEDisplacementMapElement.idl:
              * ksvg2/svg/SVGFEDistantLightElement.cpp:
              * ksvg2/svg/SVGFEDistantLightElement.h:
              * ksvg2/svg/SVGFEDistantLightElement.idl:
              * ksvg2/svg/SVGFEFloodElement.cpp:
              * ksvg2/svg/SVGFEFloodElement.h:
              * ksvg2/svg/SVGFEFloodElement.idl:
              * ksvg2/svg/SVGFEFuncAElement.cpp:
              * ksvg2/svg/SVGFEFuncAElement.h:
              * ksvg2/svg/SVGFEFuncAElement.idl:
              * ksvg2/svg/SVGFEFuncBElement.cpp:
              * ksvg2/svg/SVGFEFuncBElement.h:
              * ksvg2/svg/SVGFEFuncBElement.idl:
              * ksvg2/svg/SVGFEFuncGElement.cpp:
              * ksvg2/svg/SVGFEFuncGElement.h:
              * ksvg2/svg/SVGFEFuncGElement.idl:
              * ksvg2/svg/SVGFEFuncRElement.cpp:
              * ksvg2/svg/SVGFEFuncRElement.h:
              * ksvg2/svg/SVGFEFuncRElement.idl:
              * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
              * ksvg2/svg/SVGFEGaussianBlurElement.h:
              * ksvg2/svg/SVGFEGaussianBlurElement.idl:
              * ksvg2/svg/SVGFEImageElement.cpp:
              * ksvg2/svg/SVGFEImageElement.h:
              * ksvg2/svg/SVGFEImageElement.idl:
              * ksvg2/svg/SVGFELightElement.cpp:
              * ksvg2/svg/SVGFELightElement.h:
              * ksvg2/svg/SVGFEMergeElement.cpp:
              * ksvg2/svg/SVGFEMergeElement.h:
              * ksvg2/svg/SVGFEMergeElement.idl:
              * ksvg2/svg/SVGFEMergeNodeElement.cpp:
              * ksvg2/svg/SVGFEMergeNodeElement.h:
              * ksvg2/svg/SVGFEMergeNodeElement.idl:
              * ksvg2/svg/SVGFEOffsetElement.cpp:
              * ksvg2/svg/SVGFEOffsetElement.h:
              * ksvg2/svg/SVGFEOffsetElement.idl:
              * ksvg2/svg/SVGFEPointLightElement.cpp:
              * ksvg2/svg/SVGFEPointLightElement.h:
              * ksvg2/svg/SVGFEPointLightElement.idl:
              * ksvg2/svg/SVGFESpecularLightingElement.cpp:
              * ksvg2/svg/SVGFESpecularLightingElement.h:
              * ksvg2/svg/SVGFESpecularLightingElement.idl:
              * ksvg2/svg/SVGFESpotLightElement.cpp:
              * ksvg2/svg/SVGFESpotLightElement.h:
              * ksvg2/svg/SVGFESpotLightElement.idl:
              * ksvg2/svg/SVGFETileElement.cpp:
              * ksvg2/svg/SVGFETileElement.h:
              * ksvg2/svg/SVGFETileElement.idl:
              * ksvg2/svg/SVGFETurbulenceElement.cpp:
              * ksvg2/svg/SVGFETurbulenceElement.h:
              * ksvg2/svg/SVGFETurbulenceElement.idl:
              * ksvg2/svg/SVGFilterElement.cpp:
              * ksvg2/svg/SVGFilterElement.h:
              * ksvg2/svg/SVGFilterElement.idl:
              * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
              * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
              * ksvg2/svg/SVGFitToViewBox.cpp:
              * ksvg2/svg/SVGFitToViewBox.h:
              * ksvg2/svg/SVGForeignObjectElement.cpp:
              * ksvg2/svg/SVGForeignObjectElement.h:
              * ksvg2/svg/SVGForeignObjectElement.idl:
              * ksvg2/svg/SVGGElement.cpp:
              * ksvg2/svg/SVGGElement.h:
              * ksvg2/svg/SVGGradientElement.cpp:
              * ksvg2/svg/SVGGradientElement.h:
              * ksvg2/svg/SVGImageElement.cpp:
              * ksvg2/svg/SVGImageElement.h:
              * ksvg2/svg/SVGLangSpace.cpp:
              * ksvg2/svg/SVGLangSpace.h:
              * ksvg2/svg/SVGLength.cpp:
              * ksvg2/svg/SVGLength.h:
              * ksvg2/svg/SVGLengthList.cpp:
              * ksvg2/svg/SVGLengthList.h:
              * ksvg2/svg/SVGLineElement.cpp:
              * ksvg2/svg/SVGLineElement.h:
              * ksvg2/svg/SVGLinearGradientElement.cpp:
              * ksvg2/svg/SVGLinearGradientElement.h:
              * ksvg2/svg/SVGList.h:
              * ksvg2/svg/SVGListTraits.h:
              * ksvg2/svg/SVGLocatable.cpp:
              (WebCore::SVGLocatable::nearestViewportElement):
              (WebCore::SVGLocatable::farthestViewportElement):
              * ksvg2/svg/SVGLocatable.h:
              * ksvg2/svg/SVGMPathElement.cpp:
              * ksvg2/svg/SVGMPathElement.h:
              * ksvg2/svg/SVGMarkerElement.cpp:
              * ksvg2/svg/SVGMarkerElement.h:
              * ksvg2/svg/SVGMaskElement.cpp:
              * ksvg2/svg/SVGMaskElement.h:
              * ksvg2/svg/SVGMetadataElement.cpp:
              * ksvg2/svg/SVGMetadataElement.h:
              * ksvg2/svg/SVGNumberList.cpp:
              * ksvg2/svg/SVGNumberList.h:
              * ksvg2/svg/SVGPaint.cpp:
              * ksvg2/svg/SVGPaint.h:
              * ksvg2/svg/SVGParserUtilities.cpp:
              * ksvg2/svg/SVGParserUtilities.h:
              * ksvg2/svg/SVGPathElement.cpp:
              * ksvg2/svg/SVGPathElement.h:
              * ksvg2/svg/SVGPathSeg.h:
              * ksvg2/svg/SVGPathSegArc.cpp:
              * ksvg2/svg/SVGPathSegArc.h:
              * ksvg2/svg/SVGPathSegClosePath.cpp:
              * ksvg2/svg/SVGPathSegClosePath.h:
              * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
              * ksvg2/svg/SVGPathSegCurvetoCubic.h:
              * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
              * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
              * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
              * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
              * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
              * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
              * ksvg2/svg/SVGPathSegLineto.cpp:
              * ksvg2/svg/SVGPathSegLineto.h:
              * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
              * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
              * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
              * ksvg2/svg/SVGPathSegLinetoVertical.h:
              * ksvg2/svg/SVGPathSegList.cpp:
              * ksvg2/svg/SVGPathSegList.h:
              * ksvg2/svg/SVGPathSegMoveto.cpp:
              * ksvg2/svg/SVGPathSegMoveto.h:
              * ksvg2/svg/SVGPatternElement.cpp:
              * ksvg2/svg/SVGPatternElement.h:
              * ksvg2/svg/SVGPointList.cpp:
              * ksvg2/svg/SVGPointList.h:
              * ksvg2/svg/SVGPolyElement.cpp:
              * ksvg2/svg/SVGPolyElement.h:
              * ksvg2/svg/SVGPolygonElement.cpp:
              * ksvg2/svg/SVGPolygonElement.h:
              * ksvg2/svg/SVGPolylineElement.cpp:
              * ksvg2/svg/SVGPolylineElement.h:
              * ksvg2/svg/SVGPreserveAspectRatio.cpp:
              * ksvg2/svg/SVGPreserveAspectRatio.h:
              * ksvg2/svg/SVGRadialGradientElement.cpp:
              * ksvg2/svg/SVGRadialGradientElement.h:
              * ksvg2/svg/SVGRectElement.cpp:
              * ksvg2/svg/SVGRectElement.h:
              * ksvg2/svg/SVGRenderingIntent.h:
              * ksvg2/svg/SVGSVGElement.cpp:
              * ksvg2/svg/SVGSVGElement.h:
              * ksvg2/svg/SVGScriptElement.cpp:
              * ksvg2/svg/SVGScriptElement.h:
              * ksvg2/svg/SVGSetElement.cpp:
              * ksvg2/svg/SVGSetElement.h:
              * ksvg2/svg/SVGStopElement.cpp:
              * ksvg2/svg/SVGStopElement.h:
              * ksvg2/svg/SVGStringList.cpp:
              * ksvg2/svg/SVGStringList.h:
              * ksvg2/svg/SVGStylable.cpp:
              * ksvg2/svg/SVGStylable.h:
              * ksvg2/svg/SVGStyleElement.cpp:
              * ksvg2/svg/SVGStyleElement.h:
              * ksvg2/svg/SVGStyledElement.cpp:
              (WebCore::SVGStyledElement::notifyAttributeChange):
              * ksvg2/svg/SVGStyledElement.h:
              * ksvg2/svg/SVGStyledLocatableElement.cpp:
              * ksvg2/svg/SVGStyledLocatableElement.h:
              * ksvg2/svg/SVGStyledTransformableElement.cpp:
              * ksvg2/svg/SVGStyledTransformableElement.h:
              * ksvg2/svg/SVGSwitchElement.cpp:
              * ksvg2/svg/SVGSwitchElement.h:
              * ksvg2/svg/SVGSymbolElement.cpp:
              * ksvg2/svg/SVGSymbolElement.h:
              * ksvg2/svg/SVGTRefElement.cpp:
              * ksvg2/svg/SVGTRefElement.h:
              * ksvg2/svg/SVGTSpanElement.cpp:
              * ksvg2/svg/SVGTSpanElement.h:
              * ksvg2/svg/SVGTests.cpp:
              * ksvg2/svg/SVGTests.h:
              * ksvg2/svg/SVGTextContentElement.cpp:
              * ksvg2/svg/SVGTextContentElement.h:
              * ksvg2/svg/SVGTextElement.cpp:
              * ksvg2/svg/SVGTextElement.h:
              * ksvg2/svg/SVGTextPositioningElement.cpp:
              * ksvg2/svg/SVGTextPositioningElement.h:
              * ksvg2/svg/SVGTitleElement.cpp:
              * ksvg2/svg/SVGTitleElement.h:
              * ksvg2/svg/SVGTransform.cpp:
              * ksvg2/svg/SVGTransform.h:
              * ksvg2/svg/SVGTransformDistance.cpp:
              * ksvg2/svg/SVGTransformDistance.h:
              * ksvg2/svg/SVGTransformList.cpp:
              * ksvg2/svg/SVGTransformList.h:
              * ksvg2/svg/SVGTransformable.cpp:
              * ksvg2/svg/SVGTransformable.h:
              * ksvg2/svg/SVGURIReference.cpp:
              * ksvg2/svg/SVGURIReference.h:
              * ksvg2/svg/SVGUnitTypes.h:
              * ksvg2/svg/SVGUseElement.cpp:
              * ksvg2/svg/SVGUseElement.h:
              * ksvg2/svg/SVGUseElement.idl:
              * ksvg2/svg/SVGViewElement.cpp:
              * ksvg2/svg/SVGViewElement.h:
              * ksvg2/svg/SVGZoomAndPan.cpp:
              * ksvg2/svg/SVGZoomAndPan.h:
              * ksvg2/svg/svgtags.in:
              * loader/Cache.cpp:
              (WebCore::createResource):
              (WebCore::Cache::getStatistics):
              * loader/Cache.h:
              * loader/CachedImage.cpp:
              (WebCore::CachedImage::createImage):
              * loader/CachedResource.h:
              (WebCore::CachedResource::):
              * loader/CachedResourceClient.h:
              * loader/CachedXBLDocument.cpp:
              * loader/CachedXBLDocument.h:
              * loader/CachedXSLStyleSheet.cpp:
              * loader/CachedXSLStyleSheet.h:
              * loader/DocLoader.cpp:
              * loader/DocLoader.h:
              * page/DOMWindow.idl:
              * page/EventHandler.cpp:
              (WebCore::EventHandler::handleMouseMoveEvent):
              (WebCore::selectCursor):
              * page/Frame.cpp:
              (WebCore::Frame::Frame):
              * page/PageState.cpp:
              (WebCore::PageState::PageState):
              (WebCore::PageState::restore):
              * platform/MimeTypeRegistry.cpp:
              (WebCore::initialiseSupportedNonImageMimeTypes):
              * platform/graphics/FloatPoint3D.cpp:
              * platform/graphics/FloatPoint3D.h:
              * platform/graphics/ImageBuffer.cpp:
              (WebCore::ImageBuffer::renderSubtreeToImage):
              * platform/graphics/svg/SVGImage.cpp:
              * platform/graphics/svg/SVGImage.h:
              * platform/graphics/svg/SVGImageEmptyClients.h:
              * platform/graphics/svg/SVGPaintServer.cpp:
              * platform/graphics/svg/SVGPaintServer.h:
              * platform/graphics/svg/SVGPaintServerGradient.cpp:
              * platform/graphics/svg/SVGPaintServerGradient.h:
              * platform/graphics/svg/SVGPaintServerLinearGradient.cpp:
              * platform/graphics/svg/SVGPaintServerLinearGradient.h:
              * platform/graphics/svg/SVGPaintServerPattern.cpp:
              * platform/graphics/svg/SVGPaintServerPattern.h:
              * platform/graphics/svg/SVGPaintServerRadialGradient.cpp:
              * platform/graphics/svg/SVGPaintServerRadialGradient.h:
              * platform/graphics/svg/SVGPaintServerSolid.cpp:
              * platform/graphics/svg/SVGPaintServerSolid.h:
              * platform/graphics/svg/SVGResource.cpp:
              * platform/graphics/svg/SVGResource.h:
              * platform/graphics/svg/SVGResourceClipper.cpp:
              * platform/graphics/svg/SVGResourceClipper.h:
              * platform/graphics/svg/SVGResourceFilter.cpp:
              * platform/graphics/svg/SVGResourceFilter.h:
              * platform/graphics/svg/SVGResourceMarker.cpp:
              * platform/graphics/svg/SVGResourceMarker.h:
              * platform/graphics/svg/SVGResourceMasker.cpp:
              * platform/graphics/svg/SVGResourceMasker.h:
              * platform/graphics/svg/cg/CgSupport.cpp:
              * platform/graphics/svg/cg/CgSupport.h:
              * platform/graphics/svg/cg/RenderPathCg.cpp:
              * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
              * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
              * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
              * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
              * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
              * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
              * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
              * platform/graphics/svg/filters/SVGDistantLightSource.h:
              * platform/graphics/svg/filters/SVGFEBlend.cpp:
              * platform/graphics/svg/filters/SVGFEBlend.h:
              * platform/graphics/svg/filters/SVGFEColorMatrix.cpp:
              * platform/graphics/svg/filters/SVGFEColorMatrix.h:
              * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp:
              * platform/graphics/svg/filters/SVGFEComponentTransfer.h:
              * platform/graphics/svg/filters/SVGFEComposite.cpp:
              * platform/graphics/svg/filters/SVGFEComposite.h:
              * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp:
              * platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
              * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp:
              * platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
              * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp:
              * platform/graphics/svg/filters/SVGFEDisplacementMap.h:
              * platform/graphics/svg/filters/SVGFEFlood.cpp:
              * platform/graphics/svg/filters/SVGFEFlood.h:
              * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp:
              * platform/graphics/svg/filters/SVGFEGaussianBlur.h:
              * platform/graphics/svg/filters/SVGFEImage.cpp:
              * platform/graphics/svg/filters/SVGFEImage.h:
              * platform/graphics/svg/filters/SVGFEMerge.cpp:
              * platform/graphics/svg/filters/SVGFEMerge.h:
              * platform/graphics/svg/filters/SVGFEMorphology.cpp:
              * platform/graphics/svg/filters/SVGFEMorphology.h:
              * platform/graphics/svg/filters/SVGFEOffset.cpp:
              * platform/graphics/svg/filters/SVGFEOffset.h:
              * platform/graphics/svg/filters/SVGFESpecularLighting.cpp:
              * platform/graphics/svg/filters/SVGFESpecularLighting.h:
              * platform/graphics/svg/filters/SVGFETile.h:
              * platform/graphics/svg/filters/SVGFETurbulence.cpp:
              * platform/graphics/svg/filters/SVGFETurbulence.h:
              * platform/graphics/svg/filters/SVGFilterEffect.cpp:
              * platform/graphics/svg/filters/SVGFilterEffect.h:
              * platform/graphics/svg/filters/SVGLightSource.cpp:
              * platform/graphics/svg/filters/SVGLightSource.h:
              * platform/graphics/svg/filters/SVGPointLightSource.h:
              * platform/graphics/svg/filters/SVGSpotLightSource.h:
              * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm:
              * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
              * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm:
              * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm:
              * platform/graphics/svg/filters/cg/SVGFETileCg.mm:
              * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm:
              * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
              * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
              * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
              * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
              * rendering/HitTestResult.cpp:
              (WebCore::HitTestResult::absoluteImageURL):
              (WebCore::HitTestResult::absoluteLinkURL):
              (WebCore::HitTestResult::isLiveLink):
              * rendering/RenderForeignObject.cpp:
              * rendering/RenderForeignObject.h:
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::isTransparent):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::containingBlock):
              * rendering/RenderObject.h:
              * rendering/RenderPath.cpp:
              * rendering/RenderPath.h:
              * rendering/RenderSVGBlock.cpp:
              * rendering/RenderSVGBlock.h:
              * rendering/RenderSVGContainer.cpp:
              * rendering/RenderSVGContainer.h:
              * rendering/RenderSVGGradientStop.cpp:
              * rendering/RenderSVGGradientStop.h:
              * rendering/RenderSVGHiddenContainer.cpp:
              * rendering/RenderSVGHiddenContainer.h:
              * rendering/RenderSVGImage.cpp:
              * rendering/RenderSVGImage.h:
              * rendering/RenderSVGInline.cpp:
              * rendering/RenderSVGInline.h:
              * rendering/RenderSVGInlineText.cpp:
              * rendering/RenderSVGInlineText.h:
              * rendering/RenderSVGTSpan.cpp:
              * rendering/RenderSVGTSpan.h:
              * rendering/RenderSVGText.cpp:
              * rendering/RenderSVGText.h:
              * rendering/RenderStyle.cpp:
              (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
              (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData):
              (WebCore::StyleRareNonInheritedData::operator==):
              (WebCore::RenderStyle::RenderStyle):
              (WebCore::RenderStyle::inheritFrom):
              (WebCore::RenderStyle::operator==):
              (WebCore::RenderStyle::inheritedNotEqual):
              (WebCore::RenderStyle::diff):
              * rendering/RenderStyle.h:
              * rendering/RenderText.cpp:
              (WebCore::RenderText::setStyle):
              (WebCore::RenderText::setTextInternal):
              * rendering/RenderTreeAsText.cpp:
              (WebCore::write):
              (WebCore::externalRepresentation):
              * rendering/SVGInlineFlowBox.cpp:
              * rendering/SVGInlineFlowBox.h:
              * rendering/SVGRenderTreeAsText.cpp:
              * rendering/SVGRenderTreeAsText.h:
              * rendering/SVGRootInlineBox.cpp:
              * rendering/SVGRootInlineBox.h:
              * rendering/bidi.cpp:
              (WebCore::shouldPreserveNewline):
              (WebCore::RenderBlock::findNextLineBreak):
              * webcore-base.bkl:
              * xml/NativeXPathNSResolver.cpp:
              * xml/NativeXPathNSResolver.h:
              * xml/XPathEvaluator.cpp:
              * xml/XPathEvaluator.h:
              * xml/XPathExpression.cpp:
              * xml/XPathExpression.h:
              * xml/XPathExpressionNode.cpp:
              * xml/XPathExpressionNode.h:
              * xml/XPathFunctions.cpp:
              * xml/XPathFunctions.h:
              * xml/XPathGrammar.y:
              * xml/XPathNSResolver.cpp:
              * xml/XPathNSResolver.h:
              * xml/XPathNamespace.cpp:
              * xml/XPathNamespace.h:
              * xml/XPathParser.cpp:
              * xml/XPathParser.h:
              * xml/XPathPath.cpp:
              * xml/XPathPath.h:
              * xml/XPathPredicate.cpp:
              * xml/XPathPredicate.h:
              * xml/XPathResult.cpp:
              * xml/XPathResult.h:
              * xml/XPathStep.cpp:
              * xml/XPathStep.h:
              * xml/XPathUtil.cpp:
              * xml/XPathUtil.h:
              * xml/XPathValue.cpp:
              * xml/XPathValue.h:
              * xml/XPathVariableReference.cpp:
              * xml/XPathVariableReference.h:
              * xml/XSLImportRule.cpp:
              * xml/XSLImportRule.h:
              * xml/XSLStyleSheet.cpp:
              * xml/XSLStyleSheet.h:
              * xml/XSLTProcessor.cpp:
              * xml/XSLTProcessor.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19855 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d2948ef7
  31. 02 Feb, 2007 1 commit
    • zimmermann's avatar
      Reviewed by Eric & Maciej. · 22fd803e
      zimmermann authored
      Fix serveral <use> issues:
      - When events are dispatch to a referenced element, the actual event.target
      has to be set to the corresponding SVGElementInstance object
      
      - Node::shadowAncestorNode() should _not_ return the shadowParentNode for SVG elements
      This is only needed for the HTML forms concept and breaks event dispatching for SVG shadow tree elements.
      
      - Add SVGElementInstance as possible EventTarget in bindings/js/kjs_dom.cpp
      (Now event.target returns the actual SVGElementInstance object for a shadow tree element)
      
      Fixes: http://bugs.webkit.org/show_bug.cgi?id=12502 (Reproducible crash when browsing SVG map.)
      Fixes: http://bugs.webkit.org/show_bug.cgi?id=12511 (<use> has event dispatching issues)
      
      Added test: svg/custom/use-event-handler-on-use-element.svg
      Added test: svg/custom/use-event-handler-on-referenced-element.svg
      Added test: svg/custom/use-elementInstance-event-target.svg
      Added test: svg/custom/use-elementInstance-methods.svg
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22fd803e
  32. 30 Jan, 2007 1 commit
    • darin's avatar
      Reviewed by Maciej. · 7ae06264
      darin authored
              * dom/EventTarget.h:
              * dom/EventTarget.cpp: (WebCore::EventTarget::toNode):
              Use EventTargetNode instead of Node. Removed unneeded includes.
              Make EventTarget's destructor protected to make it clear that you
              should never delete one.
      
              * dom/EventTargetNode.h:
              (WebCore::EventTargetNode::toNode):
              Tweaked formatting. Updated for change to return value.
      
              * platform/graphics/BitmapImage.h: Updated comment for clarity.
              Marked FrameData Noncopyable.
      
              * platform/graphics/Image.h: Tweaked formatting.
      
              * platform/graphics/ImageAnimationObserver.h:
              Make ImageAnimationObserver's destructor protected to make it clear that you
              should never delete one.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19271 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7ae06264