1. 30 Aug, 2012 1 commit
    • ggaren@apple.com's avatar
      Use one object instead of two for closures, eliminating ScopeChainNode · b11e7874
      ggaren@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=95501
      
      Reviewed by Filip Pizlo.
      
      ../JavaScriptCore: 
      
      This patch removes ScopeChainNode, and moves all the data and related
      functions that used to be in ScopeChainNode into JSScope.
      
      Most of this patch is mechanical changes to use a JSScope* where we used
      to use a ScopeChainNode*. I've only specifically commented about items
      that were non-mechanical.
      
      * runtime/Completion.cpp:
      (JSC::evaluate):
      * runtime/Completion.h: Don't require an explicit scope chain argument
      when evaluating code. Clients never wanted anything other than the
      global scope, and other arbitrary scopes probably wouldn't work
      correctly, anyway.
      
      * runtime/JSScope.cpp:
      * runtime/JSScope.h:
      (JSC::JSScope::JSScope): JSScope now requires the data we used to pass to
      ScopeChainNode, so it can link itself into the scope chain correctly.
      
      * runtime/JSWithScope.h:
      (JSC::JSWithScope::create):
      (JSC::JSWithScope::JSWithScope): JSWithScope gets an extra constructor
      for specifically supplying your own scope chain. The DOM needs this
      interface for setting up the scope chain for certain event handlers.
      Other clients always just push the JSWithScope to the head of the current
      scope chain.
      
      ../WebCore: 
      
      Mechanical changes to update for JSC interface changes.
      
      ../WebKit/mac: 
      
      Mechanical change to update for JSC interface change.
      
      ../WebKit/qt: 
      
      Mechanical change to update for JSC interface change.
      
      * Api/qwebelement.cpp:
      (QWebElement::evaluateJavaScript):
      
      ../WebKit2: 
      
      Mechanical changes to update for JSC interface change.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b11e7874
  2. 29 Mar, 2012 1 commit
    • caio.oliveira@openbossa.org's avatar
      HashMap<>::add should return a more descriptive object · 4c11ee05
      caio.oliveira@openbossa.org authored
      https://bugs.webkit.org/show_bug.cgi?id=71063
      
      Reviewed by Ryosuke Niwa.
      
      Source/JavaScriptCore:
      
      Update code to use AddResult instead of a pair. Note that since WeakGCMap wraps
      the iterator type, there's a need for its own AddResult type -- instantiated from
      HashTableAddResult template class.
      
      * API/JSCallbackObject.h:
      (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
      * API/JSClassRef.cpp:
      (OpaqueJSClass::contextData):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::addVar):
      (JSC::BytecodeGenerator::addGlobalVar):
      (JSC::BytecodeGenerator::addConstant):
      (JSC::BytecodeGenerator::addConstantValue):
      (JSC::BytecodeGenerator::emitLoad):
      (JSC::BytecodeGenerator::addStringConstant):
      (JSC::BytecodeGenerator::emitLazyNewFunction):
      * bytecompiler/NodesCodegen.cpp:
      (JSC::PropertyListNode::emitBytecode):
      * debugger/Debugger.cpp:
      * dfg/DFGAssemblyHelpers.cpp:
      (JSC::DFG::AssemblyHelpers::decodedCodeMapFor):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::cellConstant):
      (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
      * jit/JITStubs.cpp:
      (JSC::JITThunks::ctiStub):
      (JSC::JITThunks::hostFunctionStub):
      * parser/Parser.cpp:
      (JSC::::parseStrictObjectLiteral):
      * parser/Parser.h:
      (JSC::Scope::declareParameter):
      * runtime/Identifier.cpp:
      (JSC::Identifier::add):
      (JSC::Identifier::add8):
      (JSC::Identifier::addSlowCase):
      * runtime/Identifier.h:
      (JSC::Identifier::add):
      (JSC::IdentifierTable::add):
      * runtime/JSArray.cpp:
      (JSC::SparseArrayValueMap::add):
      (JSC::SparseArrayValueMap::put):
      (JSC::SparseArrayValueMap::putDirect):
      (JSC::JSArray::enterDictionaryMode):
      (JSC::JSArray::defineOwnNumericProperty):
      * runtime/JSArray.h:
      (SparseArrayValueMap):
      * runtime/PropertyNameArray.cpp:
      (JSC::PropertyNameArray::add):
      * runtime/StringRecursionChecker.h:
      (JSC::StringRecursionChecker::performCheck):
      * runtime/Structure.cpp:
      (JSC::StructureTransitionTable::add):
      * runtime/WeakGCMap.h:
      (WeakGCMap):
      (JSC::WeakGCMap::add):
      (JSC::WeakGCMap::set):
      * tools/ProfileTreeNode.h:
      (JSC::ProfileTreeNode::sampleChild):
      
      Source/WebCore:
      
      Update code to use AddResult instead of a pair. No new tests, just a refactoring.
      
      * Modules/webdatabase/SQLTransactionCoordinator.cpp:
      (WebCore::SQLTransactionCoordinator::acquireLock):
      * Modules/webdatabase/chromium/QuotaTracker.cpp:
      (WebCore::QuotaTracker::updateDatabaseSize):
      * bindings/js/DOMObjectHashTableMap.h:
      (WebCore::DOMObjectHashTableMap::get):
      * bindings/js/JSDOMBinding.cpp:
      (WebCore::cacheDOMStructure):
      * bindings/js/JSDOMBinding.h:
      (WebCore::cacheWrapper):
      * bindings/js/JSDOMGlobalObject.h:
      (WebCore::getDOMConstructor):
      * bindings/js/PageScriptDebugServer.cpp:
      (WebCore::PageScriptDebugServer::addListener):
      * bindings/js/ScriptDebugServer.cpp:
      (WebCore::ScriptDebugServer::setBreakpoint):
      * bindings/js/SerializedScriptValue.cpp:
      (WebCore::CloneSerializer::startObjectInternal):
      (WebCore::CloneSerializer::write):
      * bindings/v8/NPV8Object.cpp:
      (WebCore::npCreateV8ScriptObject):
      * bridge/IdentifierRep.cpp:
      (WebCore::IdentifierRep::get):
      * bridge/NP_jsobject.cpp:
      (ObjectMap::add):
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::logUnimplementedPropertyID):
      * css/CSSFontFaceSource.cpp:
      (WebCore::CSSFontFaceSource::getFontData):
      * css/CSSFontSelector.cpp:
      (WebCore::CSSFontSelector::addFontFaceRule):
      (WebCore::CSSFontSelector::getFontData):
      * css/CSSSegmentedFontFace.cpp:
      (WebCore::CSSSegmentedFontFace::getFontData):
      * css/CSSStyleApplyProperty.cpp:
      (WebCore::ApplyPropertyCounter::applyInheritValue):
      (WebCore::ApplyPropertyCounter::applyValue):
      * css/CSSStyleSelector.cpp:
      (WebCore::CSSStyleSelector::appendAuthorStylesheets):
      (WebCore::CSSStyleSelector::collectMatchingRulesForList):
      * css/CSSValuePool.cpp:
      (WebCore::CSSValuePool::createIdentifierValue):
      (WebCore::CSSValuePool::createColorValue):
      (WebCore::CSSValuePool::createValue):
      (WebCore::CSSValuePool::createFontFamilyValue):
      (WebCore::CSSValuePool::createFontFaceValue):
      * dom/CheckedRadioButtons.cpp:
      (WebCore::RadioButtonGroup::add):
      (WebCore::CheckedRadioButtons::addButton):
      * dom/ChildListMutationScope.cpp:
      (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
      * dom/Document.cpp:
      (WebCore::Document::windowNamedItems):
      (WebCore::Document::documentNamedItems):
      (WebCore::Document::getCSSCanvasElement):
      (WebCore::Document::getItems):
      * dom/DocumentEventQueue.cpp:
      (WebCore::DocumentEventQueue::enqueueEvent):
      (WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
      (WebCore::DocumentEventQueue::pendingEventTimerFired):
      * dom/DocumentOrderedMap.cpp:
      (WebCore::DocumentOrderedMap::add):
      * dom/EventListenerMap.cpp:
      (WebCore::EventListenerMap::add):
      * dom/Node.cpp:
      (WebCore::Node::dumpStatistics):
      (WebCore::Node::getElementsByTagName):
      (WebCore::Node::getElementsByTagNameNS):
      (WebCore::Node::getElementsByName):
      (WebCore::Node::getElementsByClassName):
      (WebCore::Node::collectMatchingObserversForMutation):
      * dom/QualifiedName.cpp:
      (WebCore::QualifiedName::init):
      * dom/SpaceSplitString.cpp:
      (WebCore::SpaceSplitStringData::create):
      * dom/StyledElement.cpp:
      (WebCore::StyledElement::updateAttributeStyle):
      * html/HTMLCollection.cpp:
      (WebCore::HTMLCollection::append):
      * inspector/DOMPatchSupport.cpp:
      (WebCore::DOMPatchSupport::diff):
      * inspector/InspectorCSSAgent.cpp:
      (WebCore::SelectorProfile::commitSelector):
      * inspector/InspectorDOMAgent.cpp:
      (WebCore::InspectorDOMAgent::performSearch):
      * inspector/InspectorDebuggerAgent.cpp:
      (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
      * inspector/InspectorValues.h:
      (WebCore::InspectorObject::setValue):
      (WebCore::InspectorObject::setObject):
      (WebCore::InspectorObject::setArray):
      * loader/appcache/ApplicationCacheGroup.cpp:
      (WebCore::ApplicationCacheGroup::addEntry):
      * loader/appcache/ApplicationCacheStorage.cpp:
      (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
      * page/EventHandler.cpp:
      (WebCore::EventHandler::handleTouchEvent):
      * page/PageGroup.cpp:
      (WebCore::PageGroup::pageGroup):
      (WebCore::PageGroup::addVisitedLink):
      (WebCore::PageGroup::addUserScriptToWorld):
      (WebCore::PageGroup::addUserStyleSheetToWorld):
      * page/SecurityPolicy.cpp:
      (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
      * page/TouchAdjustment.cpp:
      (WebCore::TouchAdjustment::compileSubtargetList):
      * platform/cf/BinaryPropertyList.cpp:
      (WebCore::BinaryPropertyListPlan::writeInteger):
      (WebCore::BinaryPropertyListPlan::writeString):
      (WebCore::BinaryPropertyListPlan::writeIntegerArray):
      * platform/graphics/blackberry/LayerTiler.cpp:
      (WebCore::LayerTiler::addTileJob):
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::GraphicsLayerCA::findOrMakeClone):
      * platform/graphics/ca/mac/TileCache.mm:
      (WebCore::TileCache::revalidateTiles):
      * platform/graphics/ca/win/LayerChangesFlusher.cpp:
      (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
      * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
      (WebCore::getDerivedFontData):
      * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
      (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
      * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
      (WebCore::initializeATSUStyle):
      * platform/graphics/mac/SimpleFontDataCoreText.cpp:
      (WebCore::SimpleFontData::getCFStringAttributes):
      * platform/graphics/mac/SimpleFontDataMac.mm:
      (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
      * platform/graphics/wince/FontPlatformData.cpp:
      (WebCore::FixedSizeFontData::create):
      * platform/gtk/RenderThemeGtk3.cpp:
      (WebCore::getStyleContext):
      * platform/mac/ThreadCheck.mm:
      (WebCoreReportThreadViolation):
      * platform/network/HTTPHeaderMap.cpp:
      (WebCore::HTTPHeaderMap::add):
      * platform/network/HTTPHeaderMap.h:
      (HTTPHeaderMap):
      * platform/network/ResourceRequestBase.cpp:
      (WebCore::ResourceRequestBase::addHTTPHeaderField):
      * plugins/PluginDatabase.cpp:
      (WebCore::PluginDatabase::add):
      (WebCore::PluginDatabase::loadPersistentMetadataCache):
      * plugins/win/PluginDatabaseWin.cpp:
      (WebCore::PluginDatabase::getPluginPathsInDirectories):
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::addPercentHeightDescendant):
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::setLogicalWidthForTextRun):
      * rendering/RenderNamedFlowThread.cpp:
      (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
      * rendering/RenderRegion.cpp:
      (WebCore::RenderRegion::setRenderBoxRegionInfo):
      * rendering/svg/RenderSVGResourceGradient.cpp:
      (WebCore::RenderSVGResourceGradient::applyResource):
      * rendering/svg/RenderSVGResourcePattern.cpp:
      (WebCore::RenderSVGResourcePattern::applyResource):
      * storage/StorageMap.cpp:
      (WebCore::StorageMap::setItem):
      (WebCore::StorageMap::importItem):
      * svg/SVGDocumentExtensions.cpp:
      (WebCore::SVGDocumentExtensions::addPendingResource):
      * xml/XMLHttpRequest.cpp:
      (WebCore::XMLHttpRequest::setRequestHeaderInternal):
      * xml/XPathFunctions.cpp:
      (WebCore::XPath::FunId::evaluate):
      * xml/XPathPath.cpp:
      (WebCore::XPath::LocationPath::evaluate):
      * xml/XPathPredicate.cpp:
      (WebCore::XPath::Union::evaluate):
      
      Source/WebKit/chromium:
      
      Update code to use AddResult instead of a pair.
      
      * src/WebHTTPLoadInfo.cpp:
      (WebKit::addHeader):
      * src/WebURLResponse.cpp:
      (WebKit::WebURLResponse::addHTTPHeaderField):
      
      Source/WebKit/mac:
      
      Update code to use AddResult instead of a pair.
      
      * Plugins/Hosted/NetscapePluginHostManager.mm:
      (WebKit::NetscapePluginHostManager::hostForPlugin):
      * Plugins/Hosted/ProxyInstance.mm:
      (WebKit::ProxyInstance::methodsNamed):
      (WebKit::ProxyInstance::fieldNamed):
      * WebCoreSupport/WebNotificationClient.mm:
      (WebNotificationClient::show):
      
      Source/WebKit/win:
      
      Update code to use AddResult instead of a pair.
      
      * WebKitCOMAPI.cpp:
      (classFactory):
      
      Source/WebKit2:
      
      Update code to use AddResult instead of a pair.
      
      * Platform/CoreIPC/ArgumentCoders.h:
      * Platform/CoreIPC/Connection.cpp:
      (CoreIPC::Connection::SyncMessageState::getOrCreate):
      * Shared/MutableDictionary.cpp:
      (WebKit::MutableDictionary::add):
      (WebKit::MutableDictionary::set):
      * Shared/UserMessageCoders.h:
      (WebKit::UserMessageDecoder::baseDecode):
      * Shared/mac/CommandLineMac.cpp:
      (WebKit::CommandLine::parse):
      * UIProcess/API/mac/WKPrintingView.mm:
      (pageDidDrawToPDF):
      * UIProcess/API/mac/WKView.mm:
      (-[WKView validateUserInterfaceItem:]):
      * UIProcess/WebProcessProxy.cpp:
      (WebKit::WebProcessProxy::addBackForwardItem):
      * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
      (WebKit::InjectedBundleNodeHandle::getOrCreate):
      * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
      (WebKit::InjectedBundleRangeHandle::getOrCreate):
      * WebProcess/Notifications/WebNotificationManager.cpp:
      (WebKit::WebNotificationManager::show):
      * WebProcess/WebProcess.cpp:
      (WebKit::WebProcess::createWebPage):
      (WebKit::WebProcess::webPageGroup):
      
      Source/WTF:
      
      Make HashTable<>::add() and derivate functions return an AddResult struct instead
      of a pair. This struct contains contains 'iterator' and 'isNewEntry' members, that are
      more readable at callsites than previous 'first' and 'second'.
      
      * wtf/HashCountedSet.h:
      (HashCountedSet):
      (WTF::::add):
      * wtf/HashMap.h:
      (HashMap):
      (WTF):
      (WTF::::set):
      * wtf/HashSet.h:
      (HashSet):
      (WTF::::add):
      (WTF):
      * wtf/HashTable.h:
      (WTF::HashTableAddResult::HashTableAddResult):
      (HashTableAddResult):
      (WTF):
      (HashTable):
      (WTF::HashTable::add):
      (WTF::::add):
      (WTF::::addPassingHashCode):
      * wtf/ListHashSet.h:
      (ListHashSet):
      (WTF::::add):
      (WTF::::insertBefore):
      * wtf/RefPtrHashMap.h:
      (WTF):
      (WTF::::set):
      * wtf/Spectrum.h:
      (WTF::Spectrum::add):
      * wtf/WTFThreadData.cpp:
      (JSC::IdentifierTable::add):
      * wtf/WTFThreadData.h:
      (IdentifierTable):
      * wtf/text/AtomicString.cpp:
      (WTF::addToStringTable):
      (WTF::AtomicString::addSlowCase):
      
      Tools:
      
      Update code to use AddResult instead of a pair.
      
      * DumpRenderTree/mac/LayoutTestControllerMac.mm:
      (LayoutTestController::evaluateScriptInIsolatedWorld):
      * DumpRenderTree/win/LayoutTestControllerWin.cpp:
      (LayoutTestController::evaluateScriptInIsolatedWorld):
      * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
      (WTR::LayoutTestController::evaluateScriptInIsolatedWorld):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112555 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c11ee05
  3. 14 Mar, 2011 1 commit
    • oliver@apple.com's avatar
      2011-03-11 Oliver Hunt <oliver@apple.com> · 9d4f0eca
      oliver@apple.com authored
              Reviewed by Gavin Barraclough.
      
              Ensure all values are correctly tagged in the registerfile
              https://bugs.webkit.org/show_bug.cgi?id=56214
      
              This patch makes sure that all JSCell pointers written to
              the registerfile are correctly tagged as JSCells, and replaces
              raw int usage with the immediate representation.
      
              For performance, register pressure, and general saneness reasons
              I've added abstractions for reading and writing the tag
              and payload of integer registers directly for the JSVALUE64
              encoding.
      
              * interpreter/Register.h:
              (JSC::Register::withInt):
              (JSC::Register::withCallee):
              (JSC::Register::operator=):
              (JSC::Register::i):
              (JSC::Register::activation):
              (JSC::Register::function):
              (JSC::Register::propertyNameIterator):
              (JSC::Register::scopeChain):
              * jit/JIT.h:
              * jit/JITCall.cpp:
              (JSC::JIT::compileOpCallInitializeCallFrame):
              (JSC::JIT::compileOpCallVarargs):
              (JSC::JIT::compileOpCall):
              * jit/JITCall32_64.cpp:
              (JSC::JIT::compileOpCallInitializeCallFrame):
              (JSC::JIT::compileOpCallVarargs):
              (JSC::JIT::compileOpCall):
              (JSC::JIT::compileOpCallSlowCase):
              * jit/JITInlineMethods.h:
              (JSC::JIT::emitPutToCallFrameHeader):
              (JSC::JIT::emitPutCellToCallFrameHeader):
              (JSC::JIT::emitPutIntToCallFrameHeader):
              * jit/JITOpcodes.cpp:
              (JSC::JIT::privateCompileCTINativeCall):
              (JSC::JIT::emit_op_get_pnames):
              (JSC::JIT::emit_op_next_pname):
              (JSC::JIT::emit_op_load_varargs):
              (JSC::JIT::emitSlow_op_load_varargs):
              * jit/JITOpcodes32_64.cpp:
              (JSC::JIT::privateCompileCTINativeCall):
              (JSC::JIT::emit_op_get_pnames):
              (JSC::JIT::emit_op_next_pname):
              * jit/JSInterfaceJIT.h:
              (JSC::JSInterfaceJIT::intPayloadFor):
              (JSC::JSInterfaceJIT::intTagFor):
              * jit/SpecializedThunkJIT.h:
              (JSC::SpecializedThunkJIT::returnJSValue):
              (JSC::SpecializedThunkJIT::returnDouble):
              (JSC::SpecializedThunkJIT::returnInt32):
              (JSC::SpecializedThunkJIT::returnJSCell):
      2011-03-11  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Gavin Barraclough.
      
              Ensure all values are correctly tagged in the registerfile
              https://bugs.webkit.org/show_bug.cgi?id=56214
      
              Make sure everything builds still.
      
              * bridge/c/c_class.cpp:
              * bridge/c/c_runtime.cpp:
              * bridge/jni/JavaMethod.cpp:
              * plugins/PluginViewNone.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@81040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d4f0eca
  4. 12 Mar, 2011 2 commits
    • loislo@chromium.org's avatar
      2011-03-12 Sheriff Bot <webkit.review.bot@gmail.com> · 03e7251c
      loislo@chromium.org authored
              Unreviewed, rolling out r80919.
              http://trac.webkit.org/changeset/80919
              https://bugs.webkit.org/show_bug.cgi?id=56251
      
              all windows bots failed to compile this change (Requested by
              loislo on #webkit).
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * bytecode/StructureStubInfo.cpp:
              * interpreter/Register.h:
              (JSC::Register::withInt):
              (JSC::Register::withCallee):
              (JSC::Register::operator=):
              (JSC::Register::i):
              (JSC::Register::activation):
              (JSC::Register::function):
              (JSC::Register::propertyNameIterator):
              (JSC::Register::scopeChain):
              * jit/JIT.h:
              * jit/JITCall.cpp:
              (JSC::JIT::compileOpCallInitializeCallFrame):
              (JSC::JIT::compileOpCallVarargs):
              (JSC::JIT::compileOpCall):
              * jit/JITCall32_64.cpp:
              (JSC::JIT::compileOpCallInitializeCallFrame):
              (JSC::JIT::compileOpCallVarargs):
              (JSC::JIT::compileOpCall):
              (JSC::JIT::compileOpCallSlowCase):
              * jit/JITInlineMethods.h:
              (JSC::JIT::emitPutToCallFrameHeader):
              * jit/JITOpcodes.cpp:
              (JSC::JIT::privateCompileCTINativeCall):
              (JSC::JIT::emit_op_get_pnames):
              (JSC::JIT::emit_op_next_pname):
              (JSC::JIT::emit_op_load_varargs):
              (JSC::JIT::emitSlow_op_load_varargs):
              * jit/JITOpcodes32_64.cpp:
              (JSC::JIT::privateCompileCTINativeCall):
              (JSC::JIT::emit_op_get_pnames):
              (JSC::JIT::emit_op_next_pname):
              * jit/JSInterfaceJIT.h:
              (JSC::JSInterfaceJIT::payloadFor):
              * jit/SpecializedThunkJIT.h:
              (JSC::SpecializedThunkJIT::returnJSValue):
              (JSC::SpecializedThunkJIT::returnDouble):
              (JSC::SpecializedThunkJIT::returnInt32):
              (JSC::SpecializedThunkJIT::returnJSCell):
              * runtime/ArgList.cpp:
              * runtime/DateConversion.cpp:
              * runtime/GCActivityCallbackCF.cpp:
              * runtime/Identifier.cpp:
              * runtime/JSActivation.h:
              (JSC::asActivation):
              * runtime/JSLock.cpp:
              * runtime/JSNumberCell.cpp:
              * runtime/JSObject.h:
              * runtime/JSPropertyNameIterator.h:
              * runtime/JSValue.h:
              * runtime/JSZombie.cpp:
              * runtime/MarkedBlock.cpp:
              * runtime/MarkedSpace.cpp:
              * runtime/PropertyNameArray.cpp:
              * runtime/ScopeChain.h:
              (JSC::ExecState::globalThisValue):
              * wtf/DateMath.cpp:
      2011-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r80919.
              http://trac.webkit.org/changeset/80919
              https://bugs.webkit.org/show_bug.cgi?id=56251
      
              all windows bots failed to compile this change (Requested by
              loislo on #webkit).
      
              * bridge/c/c_class.cpp:
              * bridge/c/c_runtime.cpp:
              * bridge/jni/JavaMethod.cpp:
              * plugins/PluginViewNone.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@80938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03e7251c
    • oliver@apple.com's avatar
      2011-03-11 Oliver Hunt <oliver@apple.com> · 88d8cfa7
      oliver@apple.com authored
              Reviewed by Gavin Barraclough.
      
              Ensure all values are correctly tagged in the registerfile
              https://bugs.webkit.org/show_bug.cgi?id=56214
      
              This patch makes sure that all JSCell pointers written to
              the registerfile are correctly tagged as JSCells, and replaces
              raw int usage with the immediate representation.
      
              For performance, register pressure, and general saneness reasons
              I've added abstractions for reading and writing the tag
              and payload of integer registers directly for the JSVALUE64
              encoding.
      
              * interpreter/Register.h:
              (JSC::Register::withInt):
              (JSC::Register::withCallee):
              (JSC::Register::operator=):
              (JSC::Register::i):
              (JSC::Register::activation):
              (JSC::Register::function):
              (JSC::Register::propertyNameIterator):
              (JSC::Register::scopeChain):
              * jit/JIT.h:
              * jit/JITCall.cpp:
              (JSC::JIT::compileOpCallInitializeCallFrame):
              (JSC::JIT::compileOpCallVarargs):
              (JSC::JIT::compileOpCall):
              * jit/JITCall32_64.cpp:
              (JSC::JIT::compileOpCallInitializeCallFrame):
              (JSC::JIT::compileOpCallVarargs):
              (JSC::JIT::compileOpCall):
              (JSC::JIT::compileOpCallSlowCase):
              * jit/JITInlineMethods.h:
              (JSC::JIT::emitPutToCallFrameHeader):
              (JSC::JIT::emitPutCellToCallFrameHeader):
              (JSC::JIT::emitPutIntToCallFrameHeader):
              * jit/JITOpcodes.cpp:
              (JSC::JIT::privateCompileCTINativeCall):
              (JSC::JIT::emit_op_get_pnames):
              (JSC::JIT::emit_op_next_pname):
              (JSC::JIT::emit_op_load_varargs):
              (JSC::JIT::emitSlow_op_load_varargs):
              * jit/JITOpcodes32_64.cpp:
              (JSC::JIT::privateCompileCTINativeCall):
              (JSC::JIT::emit_op_get_pnames):
              (JSC::JIT::emit_op_next_pname):
              * jit/JSInterfaceJIT.h:
              (JSC::JSInterfaceJIT::intPayloadFor):
              (JSC::JSInterfaceJIT::intTagFor):
              * jit/SpecializedThunkJIT.h:
              (JSC::SpecializedThunkJIT::returnJSValue):
              (JSC::SpecializedThunkJIT::returnDouble):
              (JSC::SpecializedThunkJIT::returnInt32):
              (JSC::SpecializedThunkJIT::returnJSCell):
      2011-03-11  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Gavin Barraclough.
      
              Ensure all values are correctly tagged in the registerfile
              https://bugs.webkit.org/show_bug.cgi?id=56214
      
              Make sure everything builds still.
      
              * bridge/c/c_class.cpp:
              * bridge/c/c_runtime.cpp:
              * bridge/jni/JavaMethod.cpp:
              * plugins/PluginViewNone.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@80919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      88d8cfa7
  5. 28 Feb, 2011 1 commit
    • oliver@apple.com's avatar
      2011-02-28 Oliver Hunt <oliver@apple.com> · 97cdbd4c
      oliver@apple.com authored
              Reviewed by Gavin Barraclough.
      
              Make ScopeChainNode GC allocated
              https://bugs.webkit.org/show_bug.cgi?id=55283
      
              Simplify lifetime and other issues with the scopechain
              by making it gc allocated.  This allows us to simplify
              function exit and unwinding, as well as making the
              current iterative refcounting go away.
      
              * JavaScriptCore.exp:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
              * bytecode/CodeBlock.cpp:
              (JSC::CodeBlock::createActivation):
              * bytecode/StructureStubInfo.cpp:
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::BytecodeGenerator::generate):
              (JSC::BytecodeGenerator::BytecodeGenerator):
              (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
              (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
              * bytecompiler/BytecodeGenerator.h:
              * debugger/Debugger.cpp:
              (JSC::Recompiler::operator()):
              * debugger/DebuggerCallFrame.h:
              (JSC::DebuggerCallFrame::scopeChain):
              * interpreter/CachedCall.h:
              (JSC::CachedCall::CachedCall):
              * interpreter/CallFrame.h:
              * interpreter/Interpreter.cpp:
              (JSC::depth):
              (JSC::Interpreter::unwindCallFrame):
              (JSC::Interpreter::throwException):
              (JSC::Interpreter::execute):
              (JSC::Interpreter::executeCall):
              (JSC::Interpreter::executeConstruct):
              (JSC::Interpreter::privateExecute):
              * jit/JITCall.cpp:
              (JSC::JIT::compileOpCallInitializeCallFrame):
              (JSC::JIT::compileOpCall):
              * jit/JITCall32_64.cpp:
              (JSC::JIT::compileOpCallInitializeCallFrame):
              (JSC::JIT::emit_op_ret):
              (JSC::JIT::emit_op_ret_object_or_this):
              (JSC::JIT::compileOpCall):
              * jit/JITOpcodes.cpp:
              (JSC::JIT::emit_op_end):
              (JSC::JIT::emit_op_ret):
              (JSC::JIT::emit_op_ret_object_or_this):
              * jit/JITOpcodes32_64.cpp:
              (JSC::JIT::emit_op_end):
              * jit/JITStubs.cpp:
              (JSC::DEFINE_STUB_FUNCTION):
              * jit/JITStubs.h:
              * runtime/ArgList.cpp:
              * runtime/Completion.cpp:
              (JSC::evaluate):
              * runtime/Completion.h:
              * runtime/DateConversion.cpp:
              * runtime/Executable.cpp:
              (JSC::EvalExecutable::compileInternal):
              (JSC::ProgramExecutable::compileInternal):
              (JSC::FunctionExecutable::compileForCallInternal):
              (JSC::FunctionExecutable::compileForConstructInternal):
              * runtime/FunctionConstructor.cpp:
              (JSC::constructFunction):
              * runtime/GCActivityCallbackCF.cpp:
              * runtime/Identifier.cpp:
              * runtime/JSCell.h:
              * runtime/JSChunk.cpp: Added.
              * runtime/JSChunk.h: Added.
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::JSFunction):
              (JSC::JSFunction::markChildren):
              (JSC::JSFunction::getCallData):
              (JSC::JSFunction::getOwnPropertySlot):
              (JSC::JSFunction::getConstructData):
              * runtime/JSFunction.h:
              (JSC::JSFunction::scope):
              (JSC::JSFunction::setScope):
              * runtime/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              * runtime/JSGlobalData.h:
              * runtime/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::init):
              (JSC::JSGlobalObject::markChildren):
              * runtime/JSGlobalObject.h:
              (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
              (JSC::JSGlobalObject::globalScopeChain):
              * runtime/JSGlobalObjectFunctions.cpp:
              (JSC::globalFuncEval):
              * runtime/JSLock.cpp:
              * runtime/JSNumberCell.cpp:
              * runtime/JSZombie.cpp:
              * runtime/MarkedBlock.cpp:
              * runtime/MarkedSpace.cpp:
              * runtime/PropertyNameArray.cpp:
              * runtime/ScopeChain.cpp:
              (JSC::ScopeChainNode::print):
              (JSC::ScopeChainNode::localDepth):
              (JSC::ScopeChainNode::markChildren):
              * runtime/ScopeChain.h:
              (JSC::ScopeChainNode::ScopeChainNode):
              (JSC::ScopeChainNode::createStructure):
              (JSC::ScopeChainNode::push):
              (JSC::ScopeChainNode::pop):
              (JSC::ScopeChainIterator::ScopeChainIterator):
              (JSC::ScopeChainIterator::operator*):
              (JSC::ScopeChainIterator::operator->):
              (JSC::ScopeChainIterator::operator++):
              (JSC::ScopeChainNode::begin):
              (JSC::ScopeChainNode::end):
              (JSC::ExecState::globalData):
              (JSC::ExecState::lexicalGlobalObject):
              (JSC::ExecState::globalThisValue):
              * runtime/ScopeChainMark.h:
              * wtf/DateMath.cpp:
      2011-02-28  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Gavin Barraclough.
      
              Make ScopeChainNode GC allocated
              https://bugs.webkit.org/show_bug.cgi?id=55283
      
              Update WebCore to deal with the absence of the ScopeChain
              class.
      
              * ForwardingHeaders/runtime/ScopeChain.h: Added.
              * bindings/js/JSHTMLElementCustom.cpp:
              (WebCore::JSHTMLElement::pushEventHandlerScope):
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              (WebCore::JSJavaScriptCallFrame::scopeChain):
              (WebCore::JSJavaScriptCallFrame::scopeType):
              * bindings/js/JSLazyEventListener.cpp:
              (WebCore::JSLazyEventListener::initializeJSFunction):
              * bindings/js/JSMainThreadExecState.h:
              (WebCore::JSMainThreadExecState::evaluate):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::JSNode::pushEventHandlerScope):
              * bindings/js/JavaScriptCallFrame.cpp:
              (WebCore::JavaScriptCallFrame::scopeChain):
              * bindings/js/JavaScriptCallFrame.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/c/c_class.cpp:
              * bridge/c/c_runtime.cpp:
              * bridge/jni/JNIBridge.cpp:
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::QtConnectionObject::execute):
              * plugins/PluginViewNone.cpp:
      2011-02-28  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Gavin Barraclough.
      
              Make ScopeChainNode GC allocated
              https://bugs.webkit.org/show_bug.cgi?id=55283
      
              More updates for the absence of the ScopeChain class
      
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptCallFrame scopeChain]):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@79904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      97cdbd4c
  6. 02 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
  7. 11 Aug, 2010 1 commit
    • barraclough@apple.com's avatar
      Bug 43817 - Remove UString::Rep · ee2085b2
      barraclough@apple.com authored
      UString::Rep has for a long time been replaced by UStringImpl (Rep
      remaining as a typedef).  UStringImpl has since been removed too
      (unified with StringImpl). Remove Rep, rename rep() to impl() and
      m_rep to m_impl.  Also add impl() method to Identifier, and rename
      its UString member from _ustring to m_string.
      
      Rubber stamped by Sam Weinig
      
      JavaScriptCore: 
      
      * API/JSCallbackObject.h:
      (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
      (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
      (JSC::JSCallbackObjectData::JSPrivatePropertyMap::deletePrivateProperty):
      * API/JSCallbackObjectFunctions.h:
      (JSC::::getOwnPropertySlot):
      (JSC::::put):
      (JSC::::deleteProperty):
      (JSC::::getOwnPropertyNames):
      (JSC::::staticValueGetter):
      (JSC::::staticFunctionGetter):
      * API/JSClassRef.cpp:
      (tryCreateStringFromUTF8):
      (OpaqueJSClass::OpaqueJSClass):
      (OpaqueJSClass::~OpaqueJSClass):
      (OpaqueJSClassContextData::OpaqueJSClassContextData):
      * API/JSClassRef.h:
      * API/OpaqueJSString.cpp:
      (OpaqueJSString::ustring):
      * bytecode/EvalCodeCache.h:
      (JSC::EvalCodeCache::get):
      * bytecode/JumpTable.h:
      (JSC::StringJumpTable::offsetForValue):
      (JSC::StringJumpTable::ctiForValue):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::addVar):
      (JSC::BytecodeGenerator::addGlobalVar):
      (JSC::BytecodeGenerator::BytecodeGenerator):
      (JSC::BytecodeGenerator::addParameter):
      (JSC::BytecodeGenerator::registerFor):
      (JSC::BytecodeGenerator::willResolveToArguments):
      (JSC::BytecodeGenerator::uncheckedRegisterForArguments):
      (JSC::BytecodeGenerator::constRegisterFor):
      (JSC::BytecodeGenerator::isLocal):
      (JSC::BytecodeGenerator::isLocalConstant):
      (JSC::BytecodeGenerator::addConstant):
      (JSC::BytecodeGenerator::emitLoad):
      (JSC::BytecodeGenerator::findScopedProperty):
      (JSC::keyForCharacterSwitch):
      (JSC::prepareJumpTableForStringSwitch):
      * bytecompiler/BytecodeGenerator.h:
      * bytecompiler/NodesCodegen.cpp:
      (JSC::processClauseList):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::privateExecute):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * parser/JSParser.cpp:
      (JSC::JSParser::parseStrictObjectLiteral):
      * pcre/pcre_exec.cpp:
      (Histogram::add):
      * profiler/CallIdentifier.h:
      (JSC::CallIdentifier::Hash::hash):
      * profiler/Profile.cpp:
      * profiler/ProfileNode.cpp:
      (JSC::ProfileNode::debugPrintDataSampleStyle):
      * profiler/ProfileNode.h:
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncToString):
      * runtime/Identifier.cpp:
      (JSC::Identifier::equal):
      (JSC::IdentifierCStringTranslator::hash):
      (JSC::IdentifierCStringTranslator::equal):
      (JSC::IdentifierCStringTranslator::translate):
      (JSC::Identifier::add):
      (JSC::IdentifierUCharBufferTranslator::hash):
      (JSC::IdentifierUCharBufferTranslator::equal):
      (JSC::IdentifierUCharBufferTranslator::translate):
      (JSC::Identifier::addSlowCase):
      * runtime/Identifier.h:
      (JSC::Identifier::Identifier):
      (JSC::Identifier::ustring):
      (JSC::Identifier::impl):
      (JSC::Identifier::data):
      (JSC::Identifier::size):
      (JSC::Identifier::ascii):
      (JSC::Identifier::isNull):
      (JSC::Identifier::isEmpty):
      (JSC::Identifier::toUInt32):
      (JSC::Identifier::toStrictUInt32):
      (JSC::Identifier::toArrayIndex):
      (JSC::Identifier::toDouble):
      (JSC::Identifier::equal):
      (JSC::Identifier::add):
      * runtime/InitializeThreading.cpp:
      (JSC::initializeThreadingOnce):
      * runtime/InternalFunction.cpp:
      (JSC::InternalFunction::displayName):
      * runtime/JSFunction.cpp:
      (JSC::JSFunction::displayName):
      * runtime/JSGlobalObject.h:
      (JSC::JSGlobalObject::addStaticGlobals):
      * runtime/JSStaticScopeObject.h:
      (JSC::JSStaticScopeObject::JSStaticScopeObject):
      * runtime/JSString.h:
      (JSC::):
      (JSC::RopeBuilder::appendStringInConstruct):
      (JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
      (JSC::jsSingleCharacterSubstring):
      (JSC::jsSubstring):
      * runtime/JSVariableObject.cpp:
      (JSC::JSVariableObject::deleteProperty):
      (JSC::JSVariableObject::symbolTableGet):
      * runtime/JSVariableObject.h:
      (JSC::JSVariableObject::symbolTableGet):
      (JSC::JSVariableObject::symbolTablePut):
      (JSC::JSVariableObject::symbolTablePutWithAttributes):
      * runtime/Lookup.cpp:
      (JSC::HashTable::createTable):
      (JSC::HashTable::deleteTable):
      * runtime/Lookup.h:
      (JSC::HashEntry::initialize):
      (JSC::HashEntry::setKey):
      (JSC::HashEntry::key):
      (JSC::HashTable::entry):
      * runtime/PropertyMapHashTable.h:
      (JSC::PropertyMapEntry::PropertyMapEntry):
      * runtime/PropertyNameArray.cpp:
      (JSC::PropertyNameArray::add):
      * runtime/PropertyNameArray.h:
      (JSC::PropertyNameArray::add):
      (JSC::PropertyNameArray::addKnownUnique):
      * runtime/RegExp.cpp:
      (JSC::RegExp::match):
      * runtime/RegExpCache.cpp:
      (JSC::RegExpCache::create):
      * runtime/RegExpKey.h:
      (JSC::RegExpKey::RegExpKey):
      * runtime/SmallStrings.cpp:
      (JSC::SmallStringsStorage::rep):
      (JSC::SmallStrings::singleCharacterStringRep):
      * runtime/SmallStrings.h:
      * runtime/StringPrototype.cpp:
      (JSC::jsSpliceSubstringsWithSeparators):
      (JSC::stringProtoFuncMatch):
      (JSC::stringProtoFuncSearch):
      * runtime/Structure.cpp:
      (JSC::Structure::~Structure):
      (JSC::Structure::despecifyDictionaryFunction):
      (JSC::Structure::addPropertyTransitionToExistingStructure):
      (JSC::Structure::addPropertyTransition):
      (JSC::Structure::copyPropertyTable):
      (JSC::Structure::get):
      (JSC::Structure::despecifyFunction):
      (JSC::Structure::put):
      (JSC::Structure::hasTransition):
      (JSC::Structure::remove):
      (JSC::Structure::checkConsistency):
      * runtime/Structure.h:
      (JSC::Structure::get):
      (JSC::Structure::hasTransition):
      * runtime/StructureTransitionTable.h:
      * runtime/SymbolTable.h:
      * runtime/UString.cpp:
      (JSC::UString::UString):
      (JSC::UString::toStrictUInt32):
      (JSC::UString::substr):
      * runtime/UString.h:
      (JSC::UString::UString):
      (JSC::UString::adopt):
      (JSC::UString::data):
      (JSC::UString::size):
      (JSC::UString::isNull):
      (JSC::UString::isEmpty):
      (JSC::UString::impl):
      (JSC::UString::cost):
      (JSC::operator==):
      (JSC::codePointCompare):
      (JSC::IdentifierRepHash::hash):
      (WTF::):
      
      WebCore: 
      
      * bindings/js/JSDOMBinding.cpp:
      (WebCore::findAtomicString):
      * bindings/js/JSDOMBinding.h:
      (WebCore::ustringToString):
      (WebCore::identifierToString):
      (WebCore::ustringToAtomicString):
      (WebCore::identifierToAtomicString):
      * bindings/js/SerializedScriptValue.h:
      (WebCore::SerializedScriptValueData::SerializedScriptValueData):
      * bridge/IdentifierRep.cpp:
      (WebCore::IdentifierRep::get):
      * bridge/c/c_class.cpp:
      (JSC::Bindings::CClass::methodsNamed):
      (JSC::Bindings::CClass::fieldNamed):
      * bridge/jni/jsc/JavaClassJSC.cpp:
      (JavaClass::JavaClass):
      (JavaClass::methodsNamed):
      (JavaClass::fieldNamed):
      * bridge/jni/jsc/JavaStringJSC.h:
      (JSC::Bindings::JavaStringImpl::~JavaStringImpl):
      (JSC::Bindings::JavaStringImpl::init):
      (JSC::Bindings::JavaStringImpl::UTF8String):
      (JSC::Bindings::JavaStringImpl::uchars):
      (JSC::Bindings::JavaStringImpl::length):
      (JSC::Bindings::JavaStringImpl::uString):
      * bridge/jsc/BridgeJSC.h:
      
      WebKit/mac: 
      
      * Plugins/Hosted/ProxyInstance.mm:
      (WebKit::ProxyInstance::methodsNamed):
      (WebKit::ProxyInstance::fieldNamed):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee2085b2
  8. 11 Mar, 2010 1 commit
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=35991 · 77b7fcaf
      barraclough@apple.com authored
      Would be faster to not use a thread specific to implement StringImpl::empty()
      
      Reviewed by Darin Adler, Geoffrey Garen, Maciej Stachowiak.
      
      JavaScriptCore: 
      
      Change JSC::UStringImpl's implementation of empty() match to match StringImpl's new implementation
      (use a static defined within the empty() method), and change the interface to match too (return
      a pointer not a reference). 
      
      ~0% performance impact (possible minor progression from moving empty() from .h to .cpp).
      
      * JavaScriptCore.exp:
      * runtime/Identifier.cpp:
      (JSC::Identifier::add):
      (JSC::Identifier::addSlowCase):
      * runtime/PropertyNameArray.cpp:
      (JSC::PropertyNameArray::add):
      * runtime/UString.cpp:
      (JSC::initializeUString):
      (JSC::UString::UString):
      * runtime/UStringImpl.cpp:
      (JSC::UStringImpl::empty):
      (JSC::UStringImpl::create):
      * runtime/UStringImpl.h:
      (JSC::UStringImpl::adopt):
      (JSC::UStringImpl::createUninitialized):
      (JSC::UStringImpl::tryCreateUninitialized):
      
      WebCore: 
      
      Copy JavaScriptCore in making 'static' strings threadsafe, make the empty string a static,
      shared by all threads.
      
      ~2% progression on Dromaeo DOM core & JS lib tests.
      
      * platform/ThreadGlobalData.cpp:
      (WebCore::ThreadGlobalData::ThreadGlobalData):
      (WebCore::ThreadGlobalData::~ThreadGlobalData):
      * platform/ThreadGlobalData.h:
      (WebCore::ThreadGlobalData::eventNames):
      * platform/text/StringImpl.cpp:
      (WebCore::StringImpl::StringImpl):
      (WebCore::StringImpl::empty):
      * platform/text/StringImpl.h:
      (WebCore::StringImpl::deref):
      (WebCore::StringImpl::hasOneRef):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      77b7fcaf
  9. 09 Mar, 2010 1 commit
    • barraclough@apple.com's avatar
      This caused a performance regression, by breaking the code · 448a8d3d
      barraclough@apple.com authored
      generator's logic to calculate the skip level for resolving
      variables (traced by rdar:7683350)  Reverting for now.
      
      Reviewed by NOBODY (reverting r54510).
      
      * parser/Grammar.y:
      * parser/NodeConstructors.h:
      (JSC::ContinueNode::ContinueNode):
      (JSC::BreakNode::BreakNode):
      (JSC::ForInNode::ForInNode):
      * runtime/CommonIdentifiers.cpp:
      (JSC::CommonIdentifiers::CommonIdentifiers):
      * runtime/CommonIdentifiers.h:
      * runtime/FunctionPrototype.cpp:
      (JSC::FunctionPrototype::FunctionPrototype):
      * runtime/Identifier.cpp:
      (JSC::Identifier::add):
      * runtime/PropertyNameArray.cpp:
      (JSC::PropertyNameArray::add):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55751 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      448a8d3d
  10. 08 Feb, 2010 1 commit
    • barraclough@apple.com's avatar
      Use an empty identifier instead of a null identifier for parse · 419c15b2
      barraclough@apple.com authored
      tokens without an identifier.
      
      Reviewed by Sam Weinig.
      
      This helps encapsulate the null UStringImpl within UString.
      
      * parser/Grammar.y:
      * parser/NodeConstructors.h:
      (JSC::ContinueNode::ContinueNode):
      (JSC::BreakNode::BreakNode):
      (JSC::ForInNode::ForInNode):
      * runtime/CommonIdentifiers.cpp:
      (JSC::CommonIdentifiers::CommonIdentifiers):
      * runtime/CommonIdentifiers.h:
      * runtime/FunctionPrototype.cpp:
      (JSC::FunctionPrototype::FunctionPrototype):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54510 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      419c15b2
  11. 06 Feb, 2010 1 commit
    • barraclough@apple.com's avatar
      Change UStringImpl::create to CRASH if the string cannot be allocated, · e37590bc
      barraclough@apple.com authored
      rather than returning a null string (which will behave like a zero-length
      string if used).
      
      Reviewed by Geoff Garen.
      
      Also move createRep function from UString to become new overloaded
      UStringImpl::create methods.  In doing so, bring their behaviour closer to
      being in line with WebCore::StringImpl, in removing the behaviour that they
      can be used to produce null UStrings (ASSERT the char* provided is non-null).
      This behaviour of converting null C-strings to null UStrings is inefficient
      (cmompared to just using UString::null()), incompatible with WebCore::StringImpl's
      behaviour, and may generate unexpected behaviour, since in many cases a null
      UString can be used like an empty string.
      
      With these changes UStringImpl need not have a concept of null impls, we can
      start transitioning this to become an implementation detail of UString, that
      internally it chooses to use a null-object rather than an actually zero impl
      pointer.
      
      * JavaScriptCore.exp:
      * debugger/Debugger.cpp:
      (JSC::Debugger::recompileAllJSFunctions):
      * debugger/DebuggerCallFrame.cpp:
      (JSC::DebuggerCallFrame::calculatedFunctionName):
      * parser/Parser.cpp:
      (JSC::Parser::parse):
      * profiler/Profile.cpp:
      (JSC::Profile::Profile):
      * profiler/ProfileGenerator.cpp:
      (JSC::ProfileGenerator::stopProfiling):
      * runtime/Error.cpp:
      (JSC::Error::create):
      (JSC::throwError):
      * runtime/ExceptionHelpers.cpp:
      (JSC::createError):
      * runtime/Identifier.cpp:
      (JSC::Identifier::add):
      * runtime/PropertyNameArray.cpp:
      (JSC::PropertyNameArray::add):
      * runtime/UString.cpp:
      (JSC::initializeUString):
      (JSC::UString::UString):
      (JSC::UString::operator=):
      * runtime/UString.h:
      (JSC::UString::isNull):
      (JSC::UString::null):
      (JSC::UString::rep):
      (JSC::UString::UString):
      * runtime/UStringImpl.cpp:
      (JSC::UStringImpl::create):
      * runtime/UStringImpl.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e37590bc
  12. 04 Jan, 2010 1 commit
    • barraclough@apple.com's avatar
      Rubber stamped by Geoff Garen. · 8c8035b0
      barraclough@apple.com authored
      Add an 'isIdentifier' to UStringImpl, use this where appropriate
      (where previously 'identifierTable' was being tested).
      
      * API/JSClassRef.cpp:
      (OpaqueJSClass::~OpaqueJSClass):
      (OpaqueJSClassContextData::OpaqueJSClassContextData):
      * runtime/Identifier.cpp:
      (JSC::Identifier::addSlowCase):
      * runtime/Identifier.h:
      (JSC::Identifier::add):
      * runtime/PropertyNameArray.cpp:
      (JSC::PropertyNameArray::add):
      * runtime/UStringImpl.h:
      (JSC::UStringImpl::isIdentifier):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c8035b0
  13. 17 Oct, 2009 3 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
  14. 09 Oct, 2009 1 commit
    • ggaren@apple.com's avatar
      Migrated some code that didn't belong out of Structure. · a850b060
      ggaren@apple.com authored
              
      Patch by Geoffrey Garen <ggaren@apple.com> on 2009-10-09
      Reviewed by Sam Weinig.
      
      SunSpider says maybe 1.03x faster.
      
      * runtime/JSCell.h: Nixed Structure::markAggregate, and made marking of
      a Structure's prototype the direct responsility of the object using it.
      (Giving Structure a mark function was misleading because it implied that
      all live structures get marked during GC, when they don't.)
              
      * runtime/JSGlobalObject.cpp:
      (JSC::markIfNeeded):
      (JSC::JSGlobalObject::markChildren): Added code to mark prototypes stored
      on the global object. Maybe this wasn't necessary, but now we don't have
      to wonder.
      
      * runtime/JSObject.cpp:
      (JSC::JSObject::getPropertyNames):
      (JSC::JSObject::getOwnPropertyNames):
      (JSC::JSObject::getEnumerableNamesFromClassInfoTable):
      * runtime/JSObject.h:
      (JSC::JSObject::markChildrenDirect):
      * runtime/PropertyNameArray.h:
      * runtime/Structure.cpp:
      * runtime/Structure.h:
      (JSC::Structure::setEnumerationCache):
      (JSC::Structure::enumerationCache): Moved property name gathering code
      from Structure to JSObject because having a Structure iterate its JSObject
      was a layering violation. A JSObject is implemented using a Structure; not
      the other way around.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49398 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a850b060
  15. 09 Jan, 2009 1 commit
  16. 04 Nov, 2008 1 commit
    • cwzwarich@webkit.org's avatar
      2008-11-03 Cameron Zwarich <zwarich@apple.com> · b91210c0
      cwzwarich@webkit.org authored
              Rubber-stamped by Maciej Stachowiak.
      
              Move more files into the runtime subdirectory of JavaScriptCore.
      
              JavaScriptCore:
      
              * API/JSBase.cpp:
              * API/JSCallbackConstructor.cpp:
              * API/JSCallbackFunction.cpp:
              * API/JSClassRef.cpp:
              * API/OpaqueJSString.cpp:
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * kjs/AllInOneFile.cpp:
              * kjs/ArgList.cpp: Removed.
              * kjs/ArgList.h: Removed.
              * kjs/Arguments.cpp: Removed.
              * kjs/Arguments.h: Removed.
              * kjs/BatchedTransitionOptimizer.h: Removed.
              * kjs/CollectorHeapIterator.h: Removed.
              * kjs/CommonIdentifiers.cpp: Removed.
              * kjs/CommonIdentifiers.h: Removed.
              * kjs/ExecState.cpp: Removed.
              * kjs/ExecState.h: Removed.
              * kjs/GetterSetter.cpp: Removed.
              * kjs/GetterSetter.h: Removed.
              * kjs/InitializeThreading.cpp: Removed.
              * kjs/InitializeThreading.h: Removed.
              * kjs/JSActivation.cpp: Removed.
              * kjs/JSActivation.h: Removed.
              * kjs/JSGlobalData.cpp: Removed.
              * kjs/JSGlobalData.h: Removed.
              * kjs/JSLock.cpp: Removed.
              * kjs/JSLock.h: Removed.
              * kjs/JSStaticScopeObject.cpp: Removed.
              * kjs/JSStaticScopeObject.h: Removed.
              * kjs/JSType.h: Removed.
              * kjs/PropertyNameArray.cpp: Removed.
              * kjs/PropertyNameArray.h: Removed.
              * kjs/ScopeChain.cpp: Removed.
              * kjs/ScopeChain.h: Removed.
              * kjs/ScopeChainMark.h: Removed.
              * kjs/SymbolTable.h: Removed.
              * kjs/Tracing.d: Removed.
              * kjs/Tracing.h: Removed.
              * runtime/ArgList.cpp: Copied from kjs/ArgList.cpp.
              * runtime/ArgList.h: Copied from kjs/ArgList.h.
              * runtime/Arguments.cpp: Copied from kjs/Arguments.cpp.
              * runtime/Arguments.h: Copied from kjs/Arguments.h.
              * runtime/BatchedTransitionOptimizer.h: Copied from kjs/BatchedTransitionOptimizer.h.
              * runtime/CollectorHeapIterator.h: Copied from kjs/CollectorHeapIterator.h.
              * runtime/CommonIdentifiers.cpp: Copied from kjs/CommonIdentifiers.cpp.
              * runtime/CommonIdentifiers.h: Copied from kjs/CommonIdentifiers.h.
              * runtime/ExecState.cpp: Copied from kjs/ExecState.cpp.
              * runtime/ExecState.h: Copied from kjs/ExecState.h.
              * runtime/GetterSetter.cpp: Copied from kjs/GetterSetter.cpp.
              * runtime/GetterSetter.h: Copied from kjs/GetterSetter.h.
              * runtime/InitializeThreading.cpp: Copied from kjs/InitializeThreading.cpp.
              * runtime/InitializeThreading.h: Copied from kjs/InitializeThreading.h.
              * runtime/JSActivation.cpp: Copied from kjs/JSActivation.cpp.
              * runtime/JSActivation.h: Copied from kjs/JSActivation.h.
              * runtime/JSGlobalData.cpp: Copied from kjs/JSGlobalData.cpp.
              * runtime/JSGlobalData.h: Copied from kjs/JSGlobalData.h.
              * runtime/JSLock.cpp: Copied from kjs/JSLock.cpp.
              * runtime/JSLock.h: Copied from kjs/JSLock.h.
              * runtime/JSStaticScopeObject.cpp: Copied from kjs/JSStaticScopeObject.cpp.
              * runtime/JSStaticScopeObject.h: Copied from kjs/JSStaticScopeObject.h.
              * runtime/JSType.h: Copied from kjs/JSType.h.
              * runtime/PropertyNameArray.cpp: Copied from kjs/PropertyNameArray.cpp.
              * runtime/PropertyNameArray.h: Copied from kjs/PropertyNameArray.h.
              * runtime/ScopeChain.cpp: Copied from kjs/ScopeChain.cpp.
              * runtime/ScopeChain.h: Copied from kjs/ScopeChain.h.
              * runtime/ScopeChainMark.h: Copied from kjs/ScopeChainMark.h.
              * runtime/SymbolTable.h: Copied from kjs/SymbolTable.h.
              * runtime/Tracing.d: Copied from kjs/Tracing.d.
              * runtime/Tracing.h: Copied from kjs/Tracing.h.
      
              WebCore:
      
              * ForwardingHeaders/kjs/ArgList.h: Removed.
              * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
              * ForwardingHeaders/kjs/ExecState.h: Removed.
              * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
              * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
              * ForwardingHeaders/kjs/JSLock.h: Removed.
              * ForwardingHeaders/kjs/SymbolTable.h: Removed.
              * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
              * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
              * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
              * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
              * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
              * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
              * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
              * bindings/js/GCController.cpp:
              * bindings/js/JSCustomPositionCallback.cpp:
              * bindings/js/JSCustomPositionErrorCallback.cpp:
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              * bindings/js/JSCustomVoidCallback.cpp:
              * bindings/js/JSCustomXPathNSResolver.cpp:
              * bindings/js/JSDOMWindowBase.cpp:
              * bindings/js/JSEventCustom.cpp:
              * bindings/js/JSEventListener.cpp:
              * bindings/js/JSNodeFilterCondition.cpp:
              * bindings/js/ScheduledAction.cpp:
              * bindings/js/ScriptController.cpp:
              * bindings/js/ScriptControllerMac.mm:
              * bindings/objc/WebScriptObject.mm:
              * bridge/NP_jsobject.cpp:
              * bridge/c/c_class.cpp:
              * bridge/c/c_instance.cpp:
              * bridge/c/c_runtime.cpp:
              * bridge/c/c_utility.cpp:
              * bridge/jni/jni_class.cpp:
              * bridge/jni/jni_instance.cpp:
              * bridge/jni/jni_jsobject.mm:
              * bridge/jni/jni_objc.mm:
              * bridge/jni/jni_runtime.cpp:
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              * bridge/npruntime.cpp:
              * bridge/objc/objc_instance.mm:
              * bridge/objc/objc_runtime.mm:
              * bridge/objc/objc_utility.mm:
              * bridge/runtime.cpp:
              * dom/Document.cpp:
              * dom/Node.cpp:
              * dom/NodeFilter.cpp:
              * dom/NodeIterator.cpp:
              * dom/TreeWalker.cpp:
              * history/CachedPage.cpp:
              * inspector/InspectorController.cpp:
              * inspector/JavaScriptCallFrame.cpp:
              * inspector/JavaScriptCallFrame.h:
              * inspector/JavaScriptDebugServer.cpp:
              * inspector/JavaScriptProfileNode.cpp:
              * loader/FrameLoader.cpp:
              * loader/icon/IconDatabase.cpp:
              * page/Console.cpp:
              * page/Page.cpp:
              * page/mac/FrameMac.mm:
              * plugins/PluginView.cpp:
              * plugins/gtk/PluginViewGtk.cpp:
              * plugins/qt/PluginViewQt.cpp:
              * plugins/win/PluginViewWin.cpp:
              * storage/Database.cpp:
              * xml/XMLHttpRequest.cpp:
      
              WebKit/gtk:
      
              * webkit/webkitprivate.cpp:
      
              WebKit/mac:
      
              * ForwardingHeaders/kjs/JSLock.h: Removed.
              * ForwardingHeaders/kjs/SymbolTable.h: Removed.
              * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
              * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
              * Misc/WebCoreStatistics.mm:
              * Plugins/WebBaseNetscapePluginStream.mm:
              * Plugins/WebBaseNetscapePluginView.mm:
              * Plugins/WebPluginController.mm:
              * WebView/WebFrame.mm:
              * WebView/WebScriptDebugDelegate.mm:
              * WebView/WebView.mm:
      
              WebKit/qt:
      
              * Api/qwebpage.cpp:
      
              WebKit/win:
      
              * WebJavaScriptCollector.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b91210c0
  17. 20 Sep, 2008 3 commits
    • weinig@apple.com's avatar
      2008-09-19 Sam Weinig <sam@webkit.org> · 18b17a64
      weinig@apple.com authored
              Roll r36694 back in.  It did not cause the crash.
      
              * JavaScriptCore.exp:
              * VM/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::~JSPropertyNameIterator):
              (JSC::JSPropertyNameIterator::invalidate):
              * VM/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
              (JSC::JSPropertyNameIterator::create):
              * kjs/JSObject.cpp:
              (JSC::JSObject::getPropertyNames):
              * kjs/PropertyMap.cpp:
              (JSC::PropertyMap::getEnumerablePropertyNames):
              * kjs/PropertyMap.h:
              * kjs/PropertyNameArray.cpp:
              (JSC::PropertyNameArray::add):
              * kjs/PropertyNameArray.h:
              (JSC::PropertyNameArrayData::create):
              (JSC::PropertyNameArrayData::propertyNameVector):
              (JSC::PropertyNameArrayData::setCachedPrototypeChain):
              (JSC::PropertyNameArrayData::cachedPrototypeChain):
              (JSC::PropertyNameArrayData::begin):
              (JSC::PropertyNameArrayData::end):
              (JSC::PropertyNameArrayData::PropertyNameArrayData):
              (JSC::PropertyNameArray::PropertyNameArray):
              (JSC::PropertyNameArray::addKnownUnique):
              (JSC::PropertyNameArray::size):
              (JSC::PropertyNameArray::operator[]):
              (JSC::PropertyNameArray::begin):
              (JSC::PropertyNameArray::end):
              (JSC::PropertyNameArray::setData):
              (JSC::PropertyNameArray::data):
              (JSC::PropertyNameArray::releaseData):
              * kjs/StructureID.cpp:
              (JSC::structureIDChainsAreEqual):
              (JSC::StructureID::getEnumerablePropertyNames):
              (JSC::StructureID::clearEnumerationCache):
              (JSC::StructureID::createCachedPrototypeChain):
              * kjs/StructureID.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36701 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      18b17a64
    • weinig@apple.com's avatar
      2008-09-19 Sam Weinig <sam@webkit.org> · da05197a
      weinig@apple.com authored
              Roll out r36694.
      
              * JavaScriptCore.exp:
              * VM/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::~JSPropertyNameIterator):
              (JSC::JSPropertyNameIterator::invalidate):
              * VM/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
              (JSC::JSPropertyNameIterator::create):
              * kjs/JSObject.cpp:
              (JSC::JSObject::getPropertyNames):
              * kjs/PropertyMap.cpp:
              (JSC::PropertyMap::getEnumerablePropertyNames):
              * kjs/PropertyMap.h:
              * kjs/PropertyNameArray.cpp:
              (JSC::PropertyNameArray::add):
              * kjs/PropertyNameArray.h:
              (JSC::PropertyNameArray::PropertyNameArray):
              (JSC::PropertyNameArray::addKnownUnique):
              (JSC::PropertyNameArray::begin):
              (JSC::PropertyNameArray::end):
              (JSC::PropertyNameArray::size):
              (JSC::PropertyNameArray::operator[]):
              (JSC::PropertyNameArray::releaseIdentifiers):
              * kjs/StructureID.cpp:
              (JSC::StructureID::getEnumerablePropertyNames):
              * kjs/StructureID.h:
              (JSC::StructureID::clearEnumerationCache):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      da05197a
    • weinig@apple.com's avatar
      2008-09-19 Sam Weinig <sam@webkit.org> · ba6fae8a
      weinig@apple.com authored
              Reviewed by Darin Adler.
      
              Patch for https://bugs.webkit.org/show_bug.cgi?id=20928
              Speed up JS property enumeration by caching entire PropertyNameArray
      
              1.3% speedup on Sunspider, 30% on string-fasta.
      
              * JavaScriptCore.exp:
              * VM/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::~JSPropertyNameIterator):
              (JSC::JSPropertyNameIterator::invalidate):
              * VM/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
              (JSC::JSPropertyNameIterator::create):
              * kjs/JSObject.cpp:
              (JSC::JSObject::getPropertyNames):
              * kjs/PropertyMap.cpp:
              (JSC::PropertyMap::getEnumerablePropertyNames):
              * kjs/PropertyMap.h:
              * kjs/PropertyNameArray.cpp:
              (JSC::PropertyNameArray::add):
              * kjs/PropertyNameArray.h:
              (JSC::PropertyNameArrayData::create):
              (JSC::PropertyNameArrayData::propertyNameVector):
              (JSC::PropertyNameArrayData::setCachedPrototypeChain):
              (JSC::PropertyNameArrayData::cachedPrototypeChain):
              (JSC::PropertyNameArrayData::begin):
              (JSC::PropertyNameArrayData::end):
              (JSC::PropertyNameArrayData::PropertyNameArrayData):
              (JSC::PropertyNameArray::PropertyNameArray):
              (JSC::PropertyNameArray::addKnownUnique):
              (JSC::PropertyNameArray::size):
              (JSC::PropertyNameArray::operator[]):
              (JSC::PropertyNameArray::begin):
              (JSC::PropertyNameArray::end):
              (JSC::PropertyNameArray::setData):
              (JSC::PropertyNameArray::data):
              (JSC::PropertyNameArray::releaseData):
              * kjs/ScopeChain.cpp:
              (JSC::ScopeChainNode::print):
              * kjs/StructureID.cpp:
              (JSC::structureIDChainsAreEqual):
              (JSC::StructureID::getEnumerablePropertyNames):
              (JSC::StructureID::clearEnumerationCache):
              (JSC::StructureID::createCachedPrototypeChain):
              * kjs/StructureID.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36694 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba6fae8a
  18. 08 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
  19. 29 Jul, 2008 1 commit
  20. 07 Jul, 2008 1 commit
    • weinig@apple.com's avatar
      JavaScriptCore: · 2947a916
      weinig@apple.com authored
      2008-07-06  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Cameron Zwarich.
      
              Second step in broad cleanup effort.
      
              [ File list elided ]
      
      WebCore:
      
      2008-07-06  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Cameron Zwarich.
      
              Add #include for kjs/protect.h.
      
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::loadRequestAsynchronously):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2947a916
  21. 16 Jun, 2008 1 commit
  22. 28 Apr, 2008 2 commits
    • darin@apple.com's avatar
      2008-04-28 Darin Adler <darin@apple.com> · 2a76ff1b
      darin@apple.com authored
              Reviewed by Mitz.
      
              - fix assertion hit every time you view www.apple.com
      
              * kjs/PropertyNameArray.cpp:
              (KJS::PropertyNameArray::add): Changed assertion to allow null and empty strings.
              Now to find out why we have a property named "" and if that's a bug!
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2a76ff1b
    • darin@apple.com's avatar
      JavaScriptCore: · 3beb3006
      darin@apple.com authored
      2008-04-25  Darin Adler  <darin@apple.com>
      
              Reviewed by Maciej.
      
              - fix <rdar://problem/5657459> REGRESSION: JavaScriptCore no longer builds with
                GCC 4.2 due to pointer aliasing warnings
      
              Fix this by removing the HashTable optimizations that allowed us to share a back end
              implementation between hash tables with integers, pointers, RefPtr, and String objects
              as keys. The way it worked was incompatible with strict aliasing.
      
              This increases code size. On Mac OS X we'll have to regenerate .order files to avoid
              slowing down Safari startup times.
      
              This creates a slight slowdown in SunSpider, mitigated by the following four speedups:
      
              - speed up array put slightly by moving a branch (was already done for get)
      
              - speed up symbol table access by adding a function named inlineGet to HashMap
                and using that in symbolTableGet/Put
      
              - speed up PropertyNameArray creation by reducing the amount of reference count
                churn and uniqueness checking when adding names and not doing any allocation at
                all when building small arrays
      
              - speed up conversion of strings to floating point numbers by eliminating the
                malloc/free of the buffer for the ASCII copy of the string; a way to make
                things even faster would be to change strtod to take a UTF-16 string
      
              Note that there is considerable unused complexity now in HashSet/Map/Table to support
              "storage types", which is no longer used. Will do in a separate patch.
      
              * API/JSCallbackObjectFunctions.h:
              (KJS::JSCallbackObject<Base>::getPropertyNames): Removed explicit cast to Identifier to
              take advantage of the new PropertyNameArray::add overload and avoid reference count churn.
              * API/JSObjectRef.cpp:
              (JSPropertyNameAccumulatorAddName): Ditto.
              * JavaScriptCore.exp: Updated PropertyNameArray::add entry point name.
      
              * kjs/JSVariableObject.cpp: Removed now-unneeded IdentifierRepHashTraits::nullRepPtr
              definition (see below).
              (KJS::JSVariableObject::getPropertyNames): Removed explicit cast to Identifier.
      
              * kjs/JSVariableObject.h:
              (KJS::JSVariableObject::symbolTableGet): Use inlineGet for speed. Also changed to do
              early exit instead of nesting the body inside an if.
              (KJS::JSVariableObject::symbolTablePut): Ditto.
      
              * kjs/PropertyNameArray.cpp:
              (KJS::PropertyNameArray::add): Changed implementation to take a raw pointer instead of
              a reference to an identifier. Do uniqueness checking by searching the vector when the
              vector is short, only building the set once the vector is large enough.
      
              * kjs/PropertyNameArray.h: Added an overload of add for a raw pointer, and made the old
              add function call that one. Added an addKnownUnique function for use when the new
              name is known to be different from any other in the array. Changed the vector to have
              an inline capacity of 20.
      
              * kjs/SymbolTable.h: Changed IdentifierRepHash to inherit from the default hash for
              a RefPtr so we don't have to define so much. Added an overload of the hash function for
              a raw pointer as required by the new RefPtrHashMap. Got rid of the now-unneeded
              IdentifierRepHashTraits -- the default traits now work fine. Added a definition of
              empthValueIsZero to SymbolTableIndexHashTraits; not having it was incorrect, but harmless.
      
              * kjs/array_instance.cpp:
              (KJS::ArrayInstance::put): Move the maxArrayIndex check inside the branch that checks
              the index against the length, as done in the get function.
      
              * kjs/function.cpp:
              (KJS::globalFuncKJSPrint): Changed to use the new getCString instead of cstring.
      
              * kjs/internal.cpp: Removed printInfo debugging function, a client of cstring.
              If we need a debugging function we can easily make a better one and we haven't
              used this one in a long time.
              * kjs/internal.h: Ditto.
      
              * kjs/object.cpp:
              (KJS::JSObject::getPropertyNames): Removed explicit cast to Identifier.
              * kjs/property_map.cpp:
              (KJS::PropertyMap::getEnumerablePropertyNames): Ditto. Also added a special case for
              the case where the propertyNames array is empty -- in that case we know we're adding
              a set of names that are non-overlapping so we can use addKnownUnique.
              * kjs/ustring.cpp:
              (KJS::UString::getCString): Replaces cstring. Puts the C string into a CStringBuffer,
              which is a char Vector with an inline capacity. Also returns a boolean to indicate if
              the converion was lossy, which eliminates the need for a separate is8Bit call.
              (KJS::UString::toDouble): Changed to call getCString instead of cstring.
              * kjs/ustring.h: Ditto.
      
              * wtf/HashFunctions.h: Overload the hash and equal functions for RefPtr's default
              hash to take raw pointers. This works with the changes to RefPtrHashMap to avoid
              introducing refcount churn.
      
              * wtf/HashMap.h: Removed special code to convert the deleted value to the empty value
              when writing a new value into the map. This is now handled elsewhere.
              (WTF::HashMap::get): Removed code that checks for an empty hash table before calling
              HashTable::lookup; it's slightly more efficient to do this check inside lookup.
      
              * wtf/HashTable.h:
              (WTF::HashTable::isDeletedBucket): Changed to use isDeletedValue instead of using
              deletedValue and the equality operator.
              (WTF::HashTable::deleteBucket): Changed to use constructDeletedValue instead of
              using deletedValue and the assignment operator.
              (WTF::HashTable::checkKey): Added. Factors out the check for values that are empty
              or deleted keys that's used in various functions below.
              (WTF::HashTable::lookup): Changed to use checkKey, check for a 0 table, and also
              made public for use by RefPtrHashMap.
              (WTF::HashTable::lookupForWriting): Changed to use checkKey.
              (WTF::HashTable::fullLookupForWriting): Changed to use checkKey.
              (WTF::HashTable::add): Changed to use checkKey, and call initializeBucket on a
              deleted bucket before putting a new entry into it.
              (WTF::HashTable::addPassingHashCode): Ditto.
              (WTF::HashTable::deallocateTable): Check isDeletedBucket before calling ~ValueType.
      
              * wtf/HashTraits.h: Got ridd of all the HashTraits specialization for the integer
              types, since GeneicHashTraitsBase already deals with integers separately. Put the
              deleted value support into GenericHashTraitsBase. Changed FloatHashTraits to
              inherit from GenericHashTraits, and define construct/isDeletedValue rather than
              deletedValue. Removed the ref and deref functions from RefPtr's HashTraits, and
              defined construct/isDeletedValue. Eliminated DeletedValueAssigner. Changed
              PairHashTraits to define construct/isDeletedValue, and also merged
              PairBaseHashTraits in with PairHashTraits. Got rid of all specialization of
              HashKeyStorageTraits. We'll remove that, and the needsRef data member, later.
      
              * wtf/RefPtr.h: Added HashTableDeletedValueType, an enum type with a single value,
              HashTableDeletedValue. Used that type to make a new constructor to construct
              deleted values and also added an isHashTableDeletedValue function.
      
              * wtf/RefPtrHashMap.h: Added RefPtrHashMapRawKeyTranslator and used it to implement
              the raw pointer functions. This is a way to continue to avoid refcount thrash. We
              can't use the old way because it depended on the underlying map using a non-RefPtr
              type.
              (WTF::HashMap::find): Use find with RefPtrHashMapRawKeyTranslator.
              (WTF::HashMap::contains): Use contains with RefPtrHashMapRawKeyTranslator.
              (WTF::HashMap::inlineAdd): Use add with RefPtrHashMapRawKeyTranslator.
              (WTF::HashMap::get): Removed code that checks for an empty hash table before calling
              HashTable::lookup; it's slightly more efficient to do this check inside lookup.
              (WTF::HashMap::inlineGet): Added. Just like get, but marked inline for use in the
              symbol table code.
      
      WebCore:
      
      2008-04-25  Darin Adler  <darin@apple.com>
      
              Reviewed by Maciej.
      
              - update for compatibility with HashTable that no longer has optimization to share
                implementation between hash tables with integers, pointers, RefPtr, and String
                objects as keys
      
              * bindings/js/JSSVGPODTypeWrapper.h:
              (WebCore::PODTypeReadWriteHashInfo::PODTypeReadWriteHashInfo): Added constructor
              for HashTableDeletedValue.
              (WebCore::PODTypeReadWriteHashInfo::isHashTableDeletedValue): Added.
              (WebCore::PODTypeReadWriteHashInfoTraits::constructDeletedValue): Added.
              (WebCore::PODTypeReadWriteHashInfoTraits::isDeletedValue): Added.
      
              * dom/Document.cpp: Made changedDocuments internal to the file rather than a
              static data member of Document.
              (WebCore::FormElementKey::ref): Removed unneeded check for deleted value -- this
              will never be called on a deleted element.
              (WebCore::FormElementKey::deref): Ditto.
      
              * dom/Document.h: Added HashTableDeletedValue constructor and isHashTableDeletedValue
              to FormElementKey. Changed FormElementKeyHashTraits to use construct/isDeletedValue.
              Got rid of the changedDocuments data member. Changed iconURL to be an inline that
              returns a const String&.
      
              * dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to use
              construct/isDeletedValue.
      
              * page/mac/AXObjectCacheMac.mm:
              (WebCore::AXObjectCache::getAXID): Call isDeletedValue instead of deletedValue.
      
              * platform/SecurityOriginHash.h: Added overload so that SecurityOriginHash can work
              with raw pointers as well as RefPt (helpful with the new RefPtrHashMap). Eliminated
              SecurityOriginTraits, since we can now use the default traits. Changed the value of
              safeToCompareToEmptyOrDeleted to false, since it's not safe to compare a deleted
              value using this hash function. I don't think it was safe before either; I'm not sure
              why it didn't cause a problem before.
      
              * platform/cf/SchedulePair.h: Removed SchedulePairTraits -- custom traits are no
              longer needed.
      
              * platform/graphics/FontCache.cpp:
              (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): Added constructor
              for HashTableDeletedValue.
              (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue): Added.
              (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): Added.
              (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue): Added.
              (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue): Added.
              (WebCore::FontDataCacheKeyTraits::constructDeletedValue): Added.
              (WebCore::FontDataCacheKeyTraits::isDeletedValue): Added.
      
              * platform/graphics/IntSizeHash.h: Changed HashTraits<IntSize> to use
              construct/isDeletedValue.
      
              * platform/graphics/mac/FontPlatformData.h:
              (WebCore::FontPlatformData::FontPlatformData): Added constructor for
              HashTableDeletedValue.
              (WebCore::FontPlatformData::isHashTableDeletedValue): Added.
              (WebCore::FontPlatformData::hashTableDeletedFontValue): Added.
      
              * platform/text/PlatformString.h:
              (WebCore::String::swap): Added. Avoids any refcount churn when swapping two strings.
              (WebCore::String::String): Added constructor for HashTableDeletedValue.
              (WebCore::String::isHashTableDeletedValue): Added.
              (WebCore::swap): Added. Avoids any refcount churn when swapping two strings.
      
              * platform/text/StringHash.h: Changed specialization of HashTraits for
              WebCore::String to use the deleted value now defined in that class and removed
              the code to do ref/deref. Removed HashKeyStorageTraits specializations.
              
              * platform/win/COMPtr.h: Changed specialization of HashTraits for
              COMPtr to use the deleted value now defined in that class and removed
              the code to do ref/deref. Removed HashKeyStorageTraits specializations.
              (COMPtr::COMPtr): Added constructor for HashTableDeletedValue.
              (COMPtr::isHashTableDeletedValue): Added.
              (COMPtr::query): Removed inline keyword not needed since functions defined in the
              class definition are automatically marked inline.
              (COMPtr::hashTableDeletedValue): Added.
      
              * storage/DatabaseTracker.h: Removed now-unneeded SecurityOriginTraits.
              * storage/LocalStorage.h: Ditto.
              * storage/OriginQuotaManager.h: Ditto.
              * storage/SessionStorage.h: Ditto.
      
              * svg/SVGAnimatedTemplate.h:
              (WebCore::SVGAnimatedTypeWrapperKey::SVGAnimatedTypeWrapperKey): Added constructor
              for HashTableDeletedValue.
              (WebCore::SVGAnimatedTypeWrapperKey::isHashTableDeletedValue): Added.
              (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::constructDeletedValue): Added.
              (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::isDeletedValue): Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32609 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3beb3006
  23. 27 Nov, 2007 1 commit
    • andersca@apple.com's avatar
      Reviewed by Adam. · fad5ca4e
      andersca@apple.com authored
              Make PropertyNameArray and ScopeChain COMEnumVariant friendly.
              
              * kjs/PropertyNameArray.cpp:
              (KJS::PropertyNameArray::swap):
              Implement PropertyNameArray::swap.
              
              * kjs/PropertyNameArray.h:
              Add ValueType typedef. Replace PropertyNameArrayIterator with 
              PropertyNameArray::const_iterator.
              
              * kjs/nodes.cpp:
              (KJS::ForInNode::execute):
              * kjs/scope_chain.cpp:
              (KJS::ScopeChain::print):
              Update for changes to PropertyNameArray.
              
              * kjs/scope_chain.h:
              Add const_iterator and ValueType typedef.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28079 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fad5ca4e
  24. 26 Sep, 2007 1 commit
    • ddkilzer's avatar
      JavaScriptCore: · c8eccecd
      ddkilzer authored
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * COPYING.LIB:
              * bindings/testbindings.cpp:
              * kjs/AllInOneFile.cpp:
              * kjs/DateMath.cpp:
              * kjs/PropertyNameArray.cpp:
              * kjs/PropertyNameArray.h:
              * kjs/config.h:
      
      WebCore:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * LICENSE-LGPL-2:
              * LICENSE-LGPL-2.1:
              * WebCorePrefix.h:
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              * bindings/js/JSDOMWindowCustom.cpp:
              * bindings/js/JSDocumentCustom.cpp:
              * bindings/js/JSHTMLCollectionCustom.cpp:
              * bindings/js/JSHTMLElementWrapperFactory.cpp:
              * bindings/js/JSHTMLElementWrapperFactory.h:
              * bindings/js/JSHTMLInputElementBase.cpp:
              * bindings/js/JSHTMLInputElementBase.h:
              * bindings/js/JSHTMLOptionElementConstructor.cpp:
              * bindings/js/JSHTMLOptionElementConstructor.h:
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              * bindings/js/JSNodeFilterCondition.cpp:
              * bindings/js/JSNodeFilterCondition.h:
              * bindings/js/JSNodeIteratorCustom.cpp:
              * bindings/js/JSSVGElementWrapperFactory.cpp:
              * bindings/js/JSSVGElementWrapperFactory.h:
              * bindings/js/JSSVGMatrixCustom.cpp:
              * bindings/js/JSSVGPathSegCustom.cpp:
              * bindings/js/JSSVGPathSegListCustom.cpp:
              * bindings/js/JSSVGPointListCustom.cpp:
              * bindings/js/JSTreeWalkerCustom.cpp:
              * bindings/js/JSXMLHttpRequest.cpp:
              * bindings/js/JSXMLHttpRequest.h:
              * bindings/js/kjs_binding.cpp:
              * bindings/js/kjs_binding.h:
              * bindings/js/kjs_css.cpp:
              * bindings/js/kjs_css.h:
              * bindings/js/kjs_dom.cpp:
              * bindings/js/kjs_dom.h:
              * bindings/js/kjs_events.cpp:
              * bindings/js/kjs_events.h:
              * bindings/js/kjs_html.cpp:
              * bindings/js/kjs_html.h:
              * bindings/js/kjs_navigator.cpp:
              * bindings/js/kjs_navigator.h:
              * bindings/js/kjs_proxy.cpp:
              * bindings/js/kjs_proxy.h:
              * bindings/js/kjs_window.cpp:
              * bindings/js/kjs_window.h:
              * bindings/objc/DOMImplementationFront.cpp:
              * bindings/objc/DOMImplementationFront.h:
              * bindings/scripts/CodeGenerator.pm:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bindings/scripts/CodeGeneratorObjC.pm:
              * bindings/scripts/IDLParser.pm:
              * bindings/scripts/IDLStructure.pm:
              * bindings/scripts/generate-bindings.pl:
              * config.h:
              * css/CSSBorderImageValue.cpp:
              * css/CSSBorderImageValue.h:
              * css/CSSCharsetRule.cpp:
              * css/CSSCharsetRule.h:
              * css/CSSCharsetRule.idl:
              * css/CSSComputedStyleDeclaration.cpp:
              * css/CSSComputedStyleDeclaration.h:
              * css/CSSCursorImageValue.cpp:
              * css/CSSCursorImageValue.h:
              * css/CSSFontFaceRule.cpp:
              * css/CSSFontFaceRule.h:
              * css/CSSFontFaceRule.idl:
              * css/CSSGrammar.y:
              * css/CSSHelper.cpp:
              * css/CSSHelper.h:
              * css/CSSImageValue.cpp:
              * css/CSSImageValue.h:
              * css/CSSImportRule.cpp:
              * css/CSSImportRule.h:
              * css/CSSImportRule.idl:
              * css/CSSInheritedValue.cpp:
              * css/CSSInheritedValue.h:
              * css/CSSInitialValue.cpp:
              * css/CSSInitialValue.h:
              * css/CSSMediaRule.cpp:
              * css/CSSMediaRule.h:
              * css/CSSMediaRule.idl:
              * css/CSSMutableStyleDeclaration.cpp:
              * css/CSSMutableStyleDeclaration.h:
              * css/CSSNamespace.h:
              * css/CSSPageRule.cpp:
              * css/CSSPageRule.h:
              * css/CSSPageRule.idl:
              * css/CSSParser.cpp:
              * css/CSSParser.h:
              * css/CSSPrimitiveValue.cpp:
              * css/CSSPrimitiveValue.h:
              * css/CSSPrimitiveValue.idl:
              * css/CSSProperty.cpp:
              * css/CSSProperty.h:
              * css/CSSQuirkPrimitiveValue.h:
              * css/CSSRule.cpp:
              * css/CSSRule.h:
              * css/CSSRule.idl:
              * css/CSSRuleList.cpp:
              * css/CSSRuleList.h:
              * css/CSSSelector.cpp:
              * css/CSSSelector.h:
              * css/CSSStyleDeclaration.cpp:
              * css/CSSStyleDeclaration.h:
              * css/CSSStyleDeclaration.idl:
              * css/CSSStyleRule.cpp:
              * css/CSSStyleRule.h:
              * css/CSSStyleRule.idl:
              * css/CSSStyleSelector.cpp:
              * css/CSSStyleSelector.h:
              * css/CSSStyleSheet.cpp:
              * css/CSSStyleSheet.h:
              * css/CSSStyleSheet.idl:
              * css/CSSUnknownRule.h:
              * css/CSSUnknownRule.idl:
              * css/CSSValue.h:
              * css/CSSValue.idl:
              * css/CSSValueList.cpp:
              * css/CSSValueList.h:
              * css/Counter.h:
              * css/Counter.idl:
              * css/DashboardRegion.h:
              * css/FontFamilyValue.cpp:
              * css/FontFamilyValue.h:
              * css/FontValue.cpp:
              * css/FontValue.h:
              * css/MediaFeatureNames.cpp:
              * css/MediaFeatureNames.h:
              * css/MediaList.cpp:
              * css/MediaList.h:
              * css/Pair.h:
              * css/RGBColor.idl:
              * css/Rect.h:
              * css/Rect.idl:
              * css/ShadowValue.cpp:
              * css/ShadowValue.h:
              * css/StyleBase.cpp:
              * css/StyleBase.h:
              * css/StyleList.cpp:
              * css/StyleList.h:
              * css/StyleSheet.cpp:
              * css/StyleSheet.h:
              * css/StyleSheet.idl:
              * css/StyleSheetList.cpp:
              * css/StyleSheetList.h:
              * css/StyleSheetList.idl:
              * css/html4.css:
              * css/make-css-file-arrays.pl:
              * css/makegrammar.pl:
              * css/makeprop.pl:
              * css/maketokenizer:
              * css/makevalues.pl:
              * css/quirks.css:
              * dom/AtomicStringList.h:
              * dom/Attr.cpp:
              * dom/Attr.h:
              * dom/Attr.idl:
              * dom/Attribute.cpp:
              * dom/Attribute.h:
              * dom/BeforeUnloadEvent.cpp:
              * dom/BeforeUnloadEvent.h:
              * dom/CDATASection.cpp:
              * dom/CDATASection.h:
              * dom/CDATASection.idl:
              * dom/CSSMappedAttributeDeclaration.cpp:
              * dom/CSSMappedAttributeDeclaration.h:
              * dom/CharacterData.cpp:
              * dom/CharacterData.h:
              * dom/CharacterData.idl:
              * dom/ChildNodeList.cpp:
              * dom/ChildNodeList.h:
              * dom/Clipboard.h:
              * dom/ClipboardEvent.cpp:
              * dom/ClipboardEvent.h:
              * dom/Comment.cpp:
              * dom/Comment.h:
              * dom/Comment.idl:
              * dom/ContainerNode.cpp:
              * dom/ContainerNode.h:
              * dom/DOMImplementation.cpp:
              * dom/DOMImplementation.h:
              * dom/DOMImplementation.idl:
              * dom/DocPtr.h:
              * dom/Document.cpp:
              * dom/Document.h:
              * dom/Document.idl:
              * dom/DocumentFragment.cpp:
              * dom/DocumentFragment.h:
              * dom/DocumentFragment.idl:
              * dom/DocumentMarker.h:
              * dom/DocumentType.cpp:
              * dom/DocumentType.h:
              * dom/DocumentType.idl:
              * dom/EditingText.cpp:
              * dom/EditingText.h:
              * dom/Element.cpp:
              * dom/Element.h:
              * dom/Element.idl:
              * dom/Entity.cpp:
              * dom/Entity.h:
              * dom/Entity.idl:
              * dom/EntityReference.cpp:
              * dom/EntityReference.h:
              * dom/EntityReference.idl:
              * dom/Event.cpp:
              * dom/Event.h:
              * dom/Event.idl:
              * dom/EventListener.h:
              * dom/EventListener.idl:
              * dom/EventNames.cpp:
              * dom/EventNames.h:
              * dom/EventTarget.idl:
              * dom/EventTargetNode.cpp:
              * dom/EventTargetNode.h:
              * dom/ExceptionCode.h:
              * dom/KeyboardEvent.cpp:
              * dom/KeyboardEvent.h:
              * dom/KeyboardEvent.idl:
              * dom/MappedAttribute.cpp:
              * dom/MappedAttribute.h:
              * dom/MappedAttributeEntry.h:
              * dom/MouseEvent.cpp:
              * dom/MouseEvent.h:
              * dom/MouseEvent.idl:
              * dom/MouseRelatedEvent.cpp:
              * dom/MouseRelatedEvent.h:
              * dom/MutationEvent.cpp:
              * dom/MutationEvent.h:
              * dom/MutationEvent.idl:
              * dom/NameNodeList.cpp:
              * dom/NameNodeList.h:
              * dom/NamedAttrMap.cpp:
              * dom/NamedAttrMap.h:
              * dom/NamedMappedAttrMap.cpp:
              * dom/NamedMappedAttrMap.h:
              * dom/NamedNodeMap.h:
              * dom/NamedNodeMap.idl:
              * dom/Node.cpp:
              * dom/Node.h:
              * dom/Node.idl:
              * dom/NodeFilter.cpp:
              * dom/NodeFilter.h:
              * dom/NodeFilter.idl:
              * dom/NodeFilterCondition.cpp:
              * dom/NodeFilterCondition.h:
              * dom/NodeIterator.cpp:
              * dom/NodeIterator.h:
              * dom/NodeIterator.idl:
              * dom/NodeList.cpp:
              * dom/NodeList.h:
              * dom/NodeList.idl:
              * dom/Notation.cpp:
              * dom/Notation.h:
              * dom/Notation.idl:
              * dom/ProcessingInstruction.cpp:
              * dom/ProcessingInstruction.h:
              * dom/ProcessingInstruction.idl:
              * dom/QualifiedName.cpp:
              * dom/QualifiedName.h:
              * dom/Range.cpp:
              * dom/Range.h:
              * dom/Range.idl:
              * dom/RangeException.h:
              * dom/RangeException.idl:
              * dom/RegisteredEventListener.cpp:
              * dom/RegisteredEventListener.h:
              * dom/StyleElement.cpp:
              * dom/StyleElement.h:
              * dom/StyledElement.cpp:
              * dom/StyledElement.h:
              * dom/Text.cpp:
              * dom/Text.h:
              * dom/Text.idl:
              * dom/Tokenizer.h:
              * dom/Traversal.cpp:
              * dom/Traversal.h:
              * dom/TreeWalker.cpp:
              * dom/TreeWalker.h:
              * dom/TreeWalker.idl:
              * dom/UIEvent.cpp:
              * dom/UIEvent.h:
              * dom/UIEvent.idl:
              * dom/UIEventWithKeyState.cpp:
              * dom/UIEventWithKeyState.h:
              * dom/WheelEvent.cpp:
              * dom/WheelEvent.h:
              * dom/WheelEvent.idl:
              * dom/XMLTokenizer.cpp:
              * dom/XMLTokenizer.h:
              * html/FormDataList.cpp:
              * html/FormDataList.h:
              * html/HTMLAnchorElement.cpp:
              * html/HTMLAnchorElement.h:
              * html/HTMLAnchorElement.idl:
              * html/HTMLAppletElement.cpp:
              * html/HTMLAppletElement.h:
              * html/HTMLAppletElement.idl:
              * html/HTMLAreaElement.cpp:
              * html/HTMLAreaElement.h:
              * html/HTMLAreaElement.idl:
              * html/HTMLBRElement.cpp:
              * html/HTMLBRElement.h:
              * html/HTMLBRElement.idl:
              * html/HTMLBaseElement.cpp:
              * html/HTMLBaseElement.h:
              * html/HTMLBaseElement.idl:
              * html/HTMLBaseFontElement.cpp:
              * html/HTMLBaseFontElement.h:
              * html/HTMLBaseFontElement.idl:
              * html/HTMLBlockquoteElement.cpp:
              * html/HTMLBlockquoteElement.h:
              * html/HTMLBlockquoteElement.idl:
              * html/HTMLBodyElement.cpp:
              * html/HTMLBodyElement.h:
              * html/HTMLBodyElement.idl:
              * html/HTMLButtonElement.cpp:
              * html/HTMLButtonElement.h:
              * html/HTMLButtonElement.idl:
              * html/HTMLCollection.cpp:
              * html/HTMLCollection.h:
              * html/HTMLCollection.idl:
              * html/HTMLDListElement.cpp:
              * html/HTMLDListElement.h:
              * html/HTMLDListElement.idl:
              * html/HTMLDirectoryElement.cpp:
              * html/HTMLDirectoryElement.h:
              * html/HTMLDirectoryElement.idl:
              * html/HTMLDivElement.cpp:
              * html/HTMLDivElement.h:
              * html/HTMLDivElement.idl:
              * html/HTMLDocument.cpp:
              * html/HTMLDocument.h:
              * html/HTMLDocument.idl:
              * html/HTMLElement.cpp:
              * html/HTMLElement.h:
              * html/HTMLElement.idl:
              * html/HTMLElementFactory.cpp:
              * html/HTMLElementFactory.h:
              * html/HTMLEmbedElement.cpp:
              * html/HTMLEmbedElement.h:
              * html/HTMLEmbedElement.idl:
              * html/HTMLEntityNames.gperf:
              * html/HTMLFieldSetElement.cpp:
              * html/HTMLFieldSetElement.h:
              * html/HTMLFieldSetElement.idl:
              * html/HTMLFontElement.cpp:
              * html/HTMLFontElement.h:
              * html/HTMLFontElement.idl:
              * html/HTMLFormCollection.cpp:
              * html/HTMLFormCollection.h:
              * html/HTMLFormElement.cpp:
              * html/HTMLFormElement.h:
              * html/HTMLFormElement.idl:
              * html/HTMLFrameElement.cpp:
              * html/HTMLFrameElement.h:
              * html/HTMLFrameElement.idl:
              * html/HTMLFrameElementBase.cpp:
              * html/HTMLFrameElementBase.h:
              * html/HTMLFrameOwnerElement.cpp:
              * html/HTMLFrameOwnerElement.h:
              * html/HTMLFrameSetElement.cpp:
              * html/HTMLFrameSetElement.h:
              * html/HTMLFrameSetElement.idl:
              * html/HTMLGenericFormElement.cpp:
              * html/HTMLGenericFormElement.h:
              * html/HTMLHRElement.cpp:
              * html/HTMLHRElement.h:
              * html/HTMLHRElement.idl:
              * html/HTMLHeadElement.cpp:
              * html/HTMLHeadElement.h:
              * html/HTMLHeadElement.idl:
              * html/HTMLHeadingElement.cpp:
              * html/HTMLHeadingElement.h:
              * html/HTMLHeadingElement.idl:
              * html/HTMLHtmlElement.cpp:
              * html/HTMLHtmlElement.h:
              * html/HTMLHtmlElement.idl:
              * html/HTMLIFrameElement.cpp:
              * html/HTMLIFrameElement.h:
              * html/HTMLIFrameElement.idl:
              * html/HTMLImageElement.cpp:
              * html/HTMLImageElement.h:
              * html/HTMLImageElement.idl:
              * html/HTMLImageLoader.cpp:
              * html/HTMLImageLoader.h:
              * html/HTMLInputElement.cpp:
              * html/HTMLInputElement.h:
              * html/HTMLInputElement.idl:
              * html/HTMLIsIndexElement.cpp:
              * html/HTMLIsIndexElement.h:
              * html/HTMLIsIndexElement.idl:
              * html/HTMLKeygenElement.cpp:
              * html/HTMLKeygenElement.h:
              * html/HTMLLIElement.cpp:
              * html/HTMLLIElement.h:
              * html/HTMLLIElement.idl:
              * html/HTMLLabelElement.cpp:
              * html/HTMLLabelElement.h:
              * html/HTMLLabelElement.idl:
              * html/HTMLLegendElement.cpp:
              * html/HTMLLegendElement.h:
              * html/HTMLLegendElement.idl:
              * html/HTMLLinkElement.cpp:
              * html/HTMLLinkElement.h:
              * html/HTMLLinkElement.idl:
              * html/HTMLMapElement.cpp:
              * html/HTMLMapElement.h:
              * html/HTMLMapElement.idl:
              * html/HTMLMarqueeElement.cpp:
              * html/HTMLMarqueeElement.h:
              * html/HTMLMarqueeElement.idl:
              * html/HTMLMenuElement.cpp:
              * html/HTMLMenuElement.h:
              * html/HTMLMenuElement.idl:
              * html/HTMLMetaElement.cpp:
              * html/HTMLMetaElement.h:
              * html/HTMLMetaElement.idl:
              * html/HTMLModElement.cpp:
              * html/HTMLModElement.h:
              * html/HTMLModElement.idl:
              * html/HTMLNameCollection.cpp:
              * html/HTMLNameCollection.h:
              * html/HTMLOListElement.cpp:
              * html/HTMLOListElement.h:
              * html/HTMLOListElement.idl:
              * html/HTMLObjectElement.cpp:
              * html/HTMLObjectElement.h:
              * html/HTMLObjectElement.idl:
              * html/HTMLOptGroupElement.cpp:
              * html/HTMLOptGroupElement.h:
              * html/HTMLOptGroupElement.idl:
              * html/HTMLOptionElement.cpp:
              * html/HTMLOptionElement.h:
              * html/HTMLOptionElement.idl:
              * html/HTMLOptionsCollection.cpp:
              * html/HTMLOptionsCollection.h:
              * html/HTMLOptionsCollection.idl:
              * html/HTMLParagraphElement.cpp:
              * html/HTMLParagraphElement.h:
              * html/HTMLParagraphElement.idl:
              * html/HTMLParamElement.cpp:
              * html/HTMLParamElement.h:
              * html/HTMLParamElement.idl:
              * html/HTMLParser.cpp:
              * html/HTMLParser.h:
              * html/HTMLPlugInElement.cpp:
              * html/HTMLPlugInElement.h:
              * html/HTMLPreElement.cpp:
              * html/HTMLPreElement.h:
              * html/HTMLPreElement.idl:
              * html/HTMLQuoteElement.cpp:
              * html/HTMLQuoteElement.h:
              * html/HTMLQuoteElement.idl:
              * html/HTMLScriptElement.cpp:
              * html/HTMLScriptElement.h:
              * html/HTMLScriptElement.idl:
              * html/HTMLSelectElement.cpp:
              * html/HTMLSelectElement.h:
              * html/HTMLSelectElement.idl:
              * html/HTMLStyleElement.cpp:
              * html/HTMLStyleElement.h:
              * html/HTMLStyleElement.idl:
              * html/HTMLTableCaptionElement.cpp:
              * html/HTMLTableCaptionElement.h:
              * html/HTMLTableCaptionElement.idl:
              * html/HTMLTableCellElement.cpp:
              * html/HTMLTableCellElement.h:
              * html/HTMLTableCellElement.idl:
              * html/HTMLTableColElement.cpp:
              * html/HTMLTableColElement.h:
              * html/HTMLTableColElement.idl:
              * html/HTMLTableElement.cpp:
              * html/HTMLTableElement.h:
              * html/HTMLTableElement.idl:
              * html/HTMLTablePartElement.cpp:
              * html/HTMLTablePartElement.h:
              * html/HTMLTableRowElement.cpp:
              * html/HTMLTableRowElement.h:
              * html/HTMLTableRowElement.idl:
              * html/HTMLTableSectionElement.cpp:
              * html/HTMLTableSectionElement.h:
              * html/HTMLTableSectionElement.idl:
              * html/HTMLTextAreaElement.cpp:
              * html/HTMLTextAreaElement.h:
              * html/HTMLTextAreaElement.idl:
              * html/HTMLTitleElement.cpp:
              * html/HTMLTitleElement.h:
              * html/HTMLTitleElement.idl:
              * html/HTMLTokenizer.cpp:
              * html/HTMLTokenizer.h:
              * html/HTMLUListElement.cpp:
              * html/HTMLUListElement.h:
              * html/HTMLUListElement.idl:
              * 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/cssmakeprops:
              * ksvg2/scripts/cssmakevalues:
              * 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/SVGAngle.idl:
              * ksvg2/svg/SVGAnimateColorElement.cpp:
              * ksvg2/svg/SVGAnimateColorElement.h:
              * ksvg2/svg/SVGAnimateElement.cpp:
              * ksvg2/svg/SVGAnimateElement.h:
              * ksvg2/svg/SVGAnimateMotionElement.cpp:
              * ksvg2/svg/SVGAnimateMotionElement.h:
              * ksvg2/svg/SVGAnimateTransformElement.cpp:
              * ksvg2/svg/SVGAnimateTransformElement.h:
              * 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/SVGColor.idl:
              * 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/SVGDocument.idl:
              * ksvg2/svg/SVGElement.cpp:
              * ksvg2/svg/SVGElement.h:
              * ksvg2/svg/SVGElement.idl:
              * ksvg2/svg/SVGElementInstance.cpp:
              * ksvg2/svg/SVGElementInstance.h:
              * ksvg2/svg/SVGElementInstanceList.cpp:
              * ksvg2/svg/SVGElementInstanceList.h:
              * 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/SVGFEColorMatrixElement.cpp:
              * ksvg2/svg/SVGFEColorMatrixElement.h:
              * ksvg2/svg/SVGFEComponentTransferElement.cpp:
              * ksvg2/svg/SVGFEComponentTransferElement.h:
              * ksvg2/svg/SVGFECompositeElement.cpp:
              * ksvg2/svg/SVGFECompositeElement.h:
              * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
              * ksvg2/svg/SVGFEDiffuseLightingElement.h:
              * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
              * ksvg2/svg/SVGFEDisplacementMapElement.h:
              * ksvg2/svg/SVGFEDistantLightElement.cpp:
              * ksvg2/svg/SVGFEDistantLightElement.h:
              * ksvg2/svg/SVGFEFloodElement.cpp:
              * ksvg2/svg/SVGFEFloodElement.h:
              * ksvg2/svg/SVGFEFuncAElement.cpp:
              * ksvg2/svg/SVGFEFuncAElement.h:
              * ksvg2/svg/SVGFEFuncBElement.cpp:
              * ksvg2/svg/SVGFEFuncBElement.h:
              * ksvg2/svg/SVGFEFuncGElement.cpp:
              * ksvg2/svg/SVGFEFuncGElement.h:
              * ksvg2/svg/SVGFEFuncRElement.cpp:
              * ksvg2/svg/SVGFEFuncRElement.h:
              * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
              * ksvg2/svg/SVGFEGaussianBlurElement.h:
              * ksvg2/svg/SVGFEImageElement.cpp:
              * ksvg2/svg/SVGFEImageElement.h:
              * ksvg2/svg/SVGFELightElement.cpp:
              * ksvg2/svg/SVGFELightElement.h:
              * ksvg2/svg/SVGFEMergeElement.cpp:
              * ksvg2/svg/SVGFEMergeElement.h:
              * ksvg2/svg/SVGFEMergeNodeElement.cpp:
              * ksvg2/svg/SVGFEMergeNodeElement.h:
              * ksvg2/svg/SVGFEOffsetElement.cpp:
              * ksvg2/svg/SVGFEOffsetElement.h:
              * ksvg2/svg/SVGFEPointLightElement.cpp:
              * ksvg2/svg/SVGFEPointLightElement.h:
              * ksvg2/svg/SVGFESpecularLightingElement.cpp:
              * ksvg2/svg/SVGFESpecularLightingElement.h:
              * ksvg2/svg/SVGFESpotLightElement.cpp:
              * ksvg2/svg/SVGFESpotLightElement.h:
              * ksvg2/svg/SVGFETileElement.cpp:
              * ksvg2/svg/SVGFETileElement.h:
              * ksvg2/svg/SVGFETurbulenceElement.cpp:
              * ksvg2/svg/SVGFETurbulenceElement.h:
              * ksvg2/svg/SVGFilterElement.cpp:
              * ksvg2/svg/SVGFilterElement.h:
              * 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/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/SVGLength.idl:
              * 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:
              * 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/SVGMatrix.idl:
              * ksvg2/svg/SVGMetadataElement.cpp:
              * ksvg2/svg/SVGMetadataElement.h:
              * ksvg2/svg/SVGMetadataElement.idl:
              * ksvg2/svg/SVGNumber.idl:
              * 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/SVGPoint.idl:
              * 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/SVGRect.idl:
              * ksvg2/svg/SVGRectElement.cpp:
              * ksvg2/svg/SVGRectElement.h:
              * ksvg2/svg/SVGRenderingIntent.h:
              * ksvg2/svg/SVGSVGElement.cpp:
              * ksvg2/svg/SVGSVGElement.h:
              * ksvg2/svg/SVGSVGElement.idl:
              * 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:
              * 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/SVGTransform.idl:
              * 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/SVGViewElement.cpp:
              * ksvg2/svg/SVGViewElement.h:
              * ksvg2/svg/SVGZoomAndPan.cpp:
              * ksvg2/svg/SVGZoomAndPan.h:
              * loader/Cache.cpp:
              * loader/Cache.h:
              * loader/CachedCSSStyleSheet.cpp:
              * loader/CachedCSSStyleSheet.h:
              * loader/CachedImage.cpp:
              * loader/CachedImage.h:
              * loader/CachedResource.cpp:
              * loader/CachedResource.h:
              * loader/CachedResourceClient.h:
              * loader/CachedResourceClientWalker.cpp:
              * loader/CachedResourceClientWalker.h:
              * loader/CachedScript.cpp:
              * loader/CachedScript.h:
              * loader/CachedXBLDocument.cpp:
              * loader/CachedXBLDocument.h:
              * loader/CachedXSLStyleSheet.cpp:
              * loader/CachedXSLStyleSheet.h:
              * loader/DocLoader.cpp:
              * loader/DocLoader.h:
              * loader/FTPDirectoryParser.cpp:
              * loader/FTPDirectoryParser.h:
              * loader/Request.cpp:
              * loader/Request.h:
              * loader/TextResourceDecoder.cpp:
              * loader/TextResourceDecoder.h:
              * loader/loader.cpp:
              * loader/loader.h:
              * page/Chrome.cpp:
              * page/Chrome.h:
              * page/ChromeClient.h:
              * page/Frame.cpp:
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/FrameTree.cpp:
              * page/FrameTree.h:
              * page/FrameView.cpp:
              * page/FrameView.h:
              * page/MouseEventWithHitTestResults.cpp:
              * page/MouseEventWithHitTestResults.h:
              * page/Page.cpp:
              * page/Page.h:
              * page/Plugin.h:
              * page/mac/ChromeMac.mm:
              * platform/Arena.cpp:
              * platform/Arena.h:
              * platform/AtomicString.cpp:
              * platform/AtomicString.h:
              * platform/AtomicStringImpl.h:
              * platform/BidiContext.cpp:
              * platform/BidiContext.h:
              * platform/BidiResolver.h:
              * platform/Font.cpp:
              * platform/Font.h:
              * platform/FontData.h:
              * platform/FontDescription.h:
              * platform/FontFallbackList.h:
              * platform/PlatformString.h:
              * platform/PopupMenu.h:
              * platform/PopupMenuClient.h:
              * platform/SearchPopupMenu.h:
              * platform/SegmentedString.cpp:
              * platform/SegmentedString.h:
              * platform/Shared.h:
              * platform/StaticConstructors.h:
              * platform/String.cpp:
              * platform/StringHash.h:
              * platform/StringImpl.cpp:
              * platform/StringImpl.h:
              * platform/TextBreakIterator.h:
              * platform/TextBreakIteratorICU.cpp:
              * platform/TextBreakIteratorInternalICU.h:
              * platform/TextStyle.h:
              * platform/UnicodeRange.cpp:
              * platform/UnicodeRange.h:
              * platform/cf/StringCF.cpp:
              * platform/cf/StringImplCF.cpp:
              * platform/graphics/FloatPoint3D.cpp:
              * platform/graphics/FloatPoint3D.h:
              * platform/graphics/Icon.h:
              * platform/graphics/IntSizeHash.h:
              * platform/graphics/PathTraversalState.cpp:
              * platform/graphics/cairo/CairoPath.h:
              * platform/graphics/cairo/PathCairo.cpp:
              * platform/graphics/mac/IconMac.mm:
              * platform/graphics/qt/IconQt.cpp:
              * platform/graphics/svg/SVGResourceFilter.cpp:
              * platform/graphics/svg/SVGResourceFilter.h:
              * 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/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/RenderPathQt.cpp:
              * 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:
              * platform/graphics/win/IconWin.cpp:
              * platform/gtk/FontPlatformData.h:
              * platform/gtk/FontPlatformDataGtk.cpp:
              * platform/gtk/PopupMenuGtk.cpp:
              * platform/gtk/RenderThemeGtk.cpp:
              * platform/gtk/RenderThemeGtk.h:
              * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
              * platform/image-decoders/png/PNGImageDecoder.cpp:
              * platform/mac/FontMac.mm:
              * platform/mac/FontPlatformData.h:
              * platform/mac/LocalCurrentGraphicsContext.h:
              * platform/mac/LocalCurrentGraphicsContext.mm:
              * platform/mac/PopupMenuMac.mm:
              * platform/mac/SearchPopupMenuMac.mm:
              * platform/mac/StringImplMac.mm:
              * platform/mac/StringMac.mm:
              * platform/mac/TextBreakIteratorInternalICUMac.mm:
              * platform/network/FormData.cpp:
              * platform/network/FormData.h:
              * platform/qt/FileChooserQt.cpp:
              * platform/qt/FontQt.cpp:
              * platform/qt/MenuEventProxy.h:
              * platform/qt/PlugInInfoStoreQt.cpp:
              * platform/qt/PopupMenuQt.cpp:
              * platform/qt/QWebPopup.cpp:
              * platform/qt/QWebPopup.h:
              * platform/qt/RenderThemeQt.cpp:
              * platform/qt/RenderThemeQt.h:
              * platform/qt/SearchPopupMenuQt.cpp:
              * platform/qt/TextBreakIteratorQt.cpp:
              * platform/qt/WheelEventQt.cpp:
              * platform/win/FontPlatformData.h:
              * platform/win/FontPlatformDataWin.cpp:
              * platform/win/PopupMenuWin.cpp:
              * platform/win/SearchPopupMenuWin.cpp:
              * platform/win/TextBreakIteratorInternalICUWin.cpp:
              * rendering/AutoTableLayout.cpp:
              * rendering/AutoTableLayout.h:
              * rendering/CounterNode.cpp:
              * rendering/CounterNode.h:
              * rendering/DataRef.h:
              * rendering/EllipsisBox.cpp:
              * rendering/EllipsisBox.h:
              * rendering/FixedTableLayout.cpp:
              * rendering/FixedTableLayout.h:
              * rendering/GapRects.h:
              * rendering/HitTestRequest.h:
              * rendering/HitTestResult.cpp:
              * rendering/HitTestResult.h:
              * rendering/InlineBox.cpp:
              * rendering/InlineBox.h:
              * rendering/InlineFlowBox.cpp:
              * rendering/InlineFlowBox.h:
              * rendering/InlineRunBox.h:
              * rendering/InlineTextBox.cpp:
              * rendering/InlineTextBox.h:
              * rendering/Length.h:
              * rendering/ListMarkerBox.cpp:
              * rendering/ListMarkerBox.h:
              * rendering/RenderApplet.cpp:
              * rendering/RenderApplet.h:
              * rendering/RenderArena.cpp:
              * rendering/RenderArena.h:
              * rendering/RenderBR.cpp:
              * rendering/RenderBR.h:
              * rendering/RenderBlock.cpp:
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              * rendering/RenderBox.h:
              * rendering/RenderButton.cpp:
              * rendering/RenderButton.h:
              * rendering/RenderContainer.cpp:
              * rendering/RenderContainer.h:
              * rendering/RenderCounter.cpp:
              * rendering/RenderCounter.h:
              * rendering/RenderFieldset.cpp:
              * rendering/RenderFieldset.h:
              * rendering/RenderFileUploadControl.cpp:
              * rendering/RenderFileUploadControl.h:
              * rendering/RenderFlexibleBox.cpp:
              * rendering/RenderFlexibleBox.h:
              * rendering/RenderFlow.cpp:
              * rendering/RenderFlow.h:
              * rendering/RenderForeignObject.cpp:
              * rendering/RenderForeignObject.h:
              * rendering/RenderFrame.cpp:
              * rendering/RenderFrame.h:
              * rendering/RenderFrameSet.cpp:
              * rendering/RenderFrameSet.h:
              * rendering/RenderImage.cpp:
              * rendering/RenderImage.h:
              * rendering/RenderInline.cpp:
              * rendering/RenderInline.h:
              * rendering/RenderLayer.cpp:
              * rendering/RenderLayer.h:
              * rendering/RenderLegend.cpp:
              * rendering/RenderLegend.h:
              * rendering/RenderListItem.cpp:
              * rendering/RenderListItem.h:
              * rendering/RenderListMarker.cpp:
              * rendering/RenderListMarker.h:
              * rendering/RenderMenuList.cpp:
              * rendering/RenderMenuList.h:
              * rendering/RenderObject.cpp:
              * rendering/RenderObject.h:
              * rendering/RenderPart.cpp:
              * rendering/RenderPart.h:
              * rendering/RenderPartObject.cpp:
              * rendering/RenderPartObject.h:
              * rendering/RenderPath.cpp:
              * rendering/RenderPath.h:
              * rendering/RenderReplaced.cpp:
              * rendering/RenderReplaced.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/RenderSlider.cpp:
              * rendering/RenderSlider.h:
              * rendering/RenderStyle.cpp:
              * rendering/RenderStyle.h:
              * rendering/RenderTable.cpp:
              * rendering/RenderTable.h:
              * rendering/RenderTableCell.cpp:
              * rendering/RenderTableCell.h:
              * rendering/RenderTableCol.cpp:
              * rendering/RenderTableCol.h:
              * rendering/RenderTableRow.cpp:
              * rendering/RenderTableRow.h:
              * rendering/RenderTableSection.cpp:
              * rendering/RenderTableSection.h:
              * rendering/RenderText.cpp:
              * rendering/RenderText.h:
              * rendering/RenderTextControl.cpp:
              * rendering/RenderTextControl.h:
              * rendering/RenderTextFragment.cpp:
              * rendering/RenderTextFragment.h:
              * rendering/RenderTheme.cpp:
              * rendering/RenderTheme.h:
              * rendering/RenderThemeMac.h:
              * rendering/RenderThemeMac.mm:
              * rendering/RenderThemeSafari.cpp:
              * rendering/RenderThemeSafari.h:
              * rendering/RenderThemeWin.cpp:
              * rendering/RenderThemeWin.h:
              * rendering/RenderView.cpp:
              * rendering/RenderView.h:
              * rendering/RenderWidget.cpp:
              * rendering/RenderWidget.h:
              * rendering/RootInlineBox.cpp:
              * rendering/RootInlineBox.h:
              * rendering/SVGInlineFlowBox.cpp:
              * rendering/SVGInlineFlowBox.h:
              * rendering/SVGInlineTextBox.cpp:
              * rendering/SVGInlineTextBox.h:
              * rendering/SVGRootInlineBox.cpp:
              * rendering/SVGRootInlineBox.h:
              * rendering/TableLayout.h:
              * rendering/bidi.cpp:
              * rendering/bidi.h:
              * rendering/break_lines.cpp:
              * rendering/break_lines.h:
              * xml/DOMParser.cpp:
              * xml/DOMParser.h:
              * xml/DOMParser.idl:
              * xml/XMLHttpRequest.cpp:
              * xml/XMLHttpRequest.h:
              * xml/XMLSerializer.cpp:
              * xml/XMLSerializer.h:
              * xml/XMLSerializer.idl:
              * xml/XPathEvaluator.idl:
              * xml/XPathExpression.idl:
              * xml/XPathNSResolver.idl:
              * xml/XPathResult.idl:
              * xml/XSLImportRule.cpp:
              * xml/XSLImportRule.h:
              * xml/XSLStyleSheet.cpp:
              * xml/XSLStyleSheet.h:
              * xml/XSLTProcessor.cpp:
              * xml/XSLTProcessor.h:
      
      WebKitQt:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * Api/qcookiejar.cpp:
              * Api/qcookiejar.h:
              * Api/qwebframe.cpp:
              * Api/qwebframe.h:
              * Api/qwebframe_p.h:
              * Api/qwebhistoryinterface.cpp:
              * Api/qwebhistoryinterface.h:
              * Api/qwebkitglobal.h:
              * Api/qwebnetworkinterface.cpp:
              * Api/qwebnetworkinterface.h:
              * Api/qwebnetworkinterface_p.h:
              * Api/qwebobjectplugin.cpp:
              * Api/qwebobjectplugin.h:
              * Api/qwebobjectpluginconnector.cpp:
              * Api/qwebobjectpluginconnector.h:
              * Api/qwebpage.cpp:
              * Api/qwebpage.h:
              * Api/qwebpage_p.h:
              * Api/qwebpagehistory.cpp:
              * Api/qwebpagehistory.h:
              * Api/qwebsettings.cpp:
              * Api/qwebsettings.h:
              * WebCoreSupport/EditCommandQt.cpp:
              * WebCoreSupport/EditCommandQt.h:
      
      WebKitSite:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * blog/wp-content/plugins/wp-cache/wp-cache.php:
              * blog/wp-includes/class-snoopy.php:
              * blog/wp-includes/gettext.php:
              * blog/wp-includes/js/tinymce/license.html:
              * blog/wp-includes/streams.php:
      
      WebKitTools:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * Drosera/config.h:
      
      LayoutTests:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * svg/carto.net/resources/button.js:
              * svg/carto.net/resources/colourPicker.js:
              * svg/carto.net/resources/comboBox.js:
              * svg/carto.net/resources/helper_functions.js:
              * svg/carto.net/resources/mapApp.js:
              * svg/carto.net/resources/scrollbar.js:
              * svg/carto.net/resources/selectionList.js:
              * svg/carto.net/resources/slider.js:
              * svg/carto.net/resources/tabgroup.js:
              * svg/carto.net/resources/textbox.js:
              * svg/carto.net/resources/window.js:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@25754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c8eccecd
  25. 16 Jul, 2006 1 commit
    • mjs's avatar
      JavaScriptCore: · b3598b86
      mjs authored
              Reviewed by Darin.
              
              - switch property lists to be vector+set of Identifiers instead of list of References
              
              This has the following benefits:
              
              - no duplicates in property lists
              - simplifies API calls
              - probably more efficient, since linked list is gone
              - entirely removed Reference, ReferenceList and ProtectedReference types from the API
      
              * kjs/PropertyNameArray.cpp: Added.
              (KJS::PropertyNameArray::add): Check set, if not already there, add to
              vector.
              * kjs/PropertyNameArray.h: Added.
              (KJS::PropertyNameArray::PropertyNameArray): Newly added type, combines
              a set and a vector to make a unique but ordered list of identifiers.
              (KJS::PropertyNameArray::begin): ditto
              (KJS::PropertyNameArray::end): ditto
              (KJS::PropertyNameArray::size): ditto
              (KJS::PropertyNameArray::operator[]): ditto
              * kjs/array_instance.h:
              * kjs/array_object.cpp:
              (ArrayInstance::getPropertyNames): renamed from getPropertyList, updated
              for PropertyNameArray
              (ArrayInstance::setLength): updated for PropertyNameArray
              (ArrayInstance::pushUndefinedObjectsToEnd): ditto
              * kjs/nodes.cpp:
              (ForInNode::execute): updated for PropertyNameArray
              * kjs/nodes.h:
              * kjs/object.cpp:
              (KJS::JSObject::getPropertyNames): renamed from getPropertyList, updated
              for PropertyNameArray
              * kjs/object.h:
              * kjs/property_map.cpp:
              (KJS::PropertyMap::getEnumerablePropertyNames): updated for PropertyNameArray
              (KJS::PropertyMap::getSparseArrayPropertyNames): ditto
              * kjs/property_map.h:
              * kjs/protected_reference.h: Removed.
              * kjs/reference.cpp: Removed.
              * kjs/reference.h: Removed.
              * kjs/reference_list.cpp: Removed.
              * kjs/reference_list.h: Removed.
              * kjs/scope_chain.cpp:
              (KJS::ScopeChain::print): Use PropertyNamesArray instead of ReferenceList.
              * kjs/string_object.cpp:
              (StringInstance::getPropertyNames): Updated for new approach.
              * kjs/string_object.h:
              * kjs/ustring.h:
              * API/APICast.h:
              (toJS): Added overload for PropertyNameAccumulatorRef / PropertyNameArray*
              (toRef): ditto
              * API/JSBase.h:
              * API/JSCallbackObject.cpp:
              (KJS::JSCallbackObject::getPropertyNames): Fixed for new API.
              * API/JSCallbackObject.h:
              * API/JSObjectRef.cpp:
              (__JSPropertyNameArray::__JSPropertyNameArray): Type used for a publicly vended
              JSPropertyNameArrayRef.
              (JSObjectCopyPropertyNames): New API call - renamed / refactored from 
              JSObjectCreatePropertyList
              (JSPropertyNameArrayRetain): new retain call for JSPropertyNameArray.
              (JSPropertyNameArrayRelease): new release call for - " -.
              (JSPropertyNameArrayGetCount): Instead of having to use a stateful enumerator you
              can now get the count and items in any order.
              (JSPropertyNameArrayGetNameAtIndex): See above.
              (JSPropertyNameAccumulatorAddName): What you add properties to is now an opaque 
              accumulator object.
              * API/JSObjectRef.h: Prototyped new functions, removed old ones
              * JavaScriptCore.exp: Updated exported symbols.
              * JavaScriptCore.xcodeproj/project.pbxproj: Added new files, removed old.
              * API/testapi.c:
              (MyObject_getPropertyNames): Renamed / fixed callback to fit new paradigm.
              (main): Updated for new API.
      
      JavaScriptGlue:
      
              Reviewed by Darin.
      
              - switch property lists to be vector+set of Identifiers instead of list of References
              
              * JSUtils.cpp:
              (KJSValueToCFTypeInternal): updated for JSC SPI changes
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSObjectCopyPropertyNames): ditto
              * UserObjectImp.cpp:
              (UserObjectImp::getPropertyNames): ditto
              * UserObjectImp.h:
      
      LayoutTests:
      
              Reviewed by Darin.
              
              - new test case and updated results for property list changes
      
              * fast/js/for-in-avoid-duplicates-expected.txt: Added.
              * fast/js/for-in-avoid-duplicates.html: Added.
              * fast/js/kde/Array-expected.txt:
              * fast/js/resources/for-in-avoid-duplicates.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15468 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b3598b86
  26. 09 May, 2006 1 commit
    • mjs's avatar
      JavaScriptCore: · bb863518
      mjs authored
              Rubber stamped by Anders.
              
              - renamed kxmlcore to wtf
              
              kxmlcore --> wtf
              KXMLCore --> WTF
              WKC --> WTF
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * bindings/c/c_instance.cpp:
              * bindings/objc/WebScriptObject.mm:
              * kjs/JSImmediate.h:
              * kjs/Parser.cpp:
              * kjs/Parser.h:
              * kjs/array_object.cpp:
              * kjs/collector.cpp:
              (KJS::Collector::registerThread):
              * kjs/collector.h:
              * kjs/config.h:
              * kjs/function.cpp:
              (KJS::isStrWhiteSpace):
              * kjs/function.h:
              * kjs/identifier.cpp:
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/lexer.cpp:
              (Lexer::shift):
              (Lexer::isWhiteSpace):
              (Lexer::isIdentStart):
              (Lexer::isIdentPart):
              * kjs/lookup.cpp:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/number_object.cpp:
              * kjs/object.h:
              * kjs/property_map.cpp:
              * kjs/property_map.h:
              * kjs/string_object.cpp:
              (StringProtoFunc::callAsFunction):
              * kjs/testkjs.cpp:
              (testIsInteger):
              * kjs/ustring.cpp:
              * kjs/ustring.h:
              * kxmlcore: Removed.
              * kxmlcore/AlwaysInline.h: Removed.
              * kxmlcore/Assertions.cpp: Removed.
              * kxmlcore/Assertions.h: Removed.
              * kxmlcore/FastMalloc.cpp: Removed.
              * kxmlcore/FastMalloc.h: Removed.
              * kxmlcore/FastMallocInternal.h: Removed.
              * kxmlcore/Forward.h: Removed.
              * kxmlcore/HashCountedSet.h: Removed.
              * kxmlcore/HashFunctions.h: Removed.
              * kxmlcore/HashMap.h: Removed.
              * kxmlcore/HashSet.h: Removed.
              * kxmlcore/HashTable.cpp: Removed.
              * kxmlcore/HashTable.h: Removed.
              * kxmlcore/HashTraits.h: Removed.
              * kxmlcore/ListRefPtr.h: Removed.
              * kxmlcore/Noncopyable.h: Removed.
              * kxmlcore/OwnArrayPtr.h: Removed.
              * kxmlcore/OwnPtr.h: Removed.
              * kxmlcore/PassRefPtr.h: Removed.
              * kxmlcore/Platform.h: Removed.
              * kxmlcore/RefPtr.h: Removed.
              * kxmlcore/TCPageMap.h: Removed.
              * kxmlcore/TCSpinLock.h: Removed.
              * kxmlcore/TCSystemAlloc.cpp: Removed.
              * kxmlcore/TCSystemAlloc.h: Removed.
              * kxmlcore/UnusedParam.h: Removed.
              * kxmlcore/Vector.h: Removed.
              * kxmlcore/VectorTraits.h: Removed.
              * kxmlcore/unicode: Removed.
              * kxmlcore/unicode/Unicode.h: Removed.
              * kxmlcore/unicode/UnicodeCategory.h: Removed.
              * kxmlcore/unicode/icu: Removed.
              * kxmlcore/unicode/icu/UnicodeIcu.h: Removed.
              * kxmlcore/unicode/posix: Removed.
              * kxmlcore/unicode/qt3: Removed.
              * kxmlcore/unicode/qt4: Removed.
              * kxmlcore/unicode/qt4/UnicodeQt4.h: Removed.
              * pcre/pcre_get.c:
              * wtf: Added.
              * wtf/Assertions.cpp:
              * wtf/Assertions.h:
              * wtf/FastMalloc.cpp:
              (WTF::TCMalloc_ThreadCache::Scavenge):
              (WTF::do_malloc):
              (WTF::do_free):
              (WTF::TCMallocGuard::TCMallocGuard):
              (WTF::malloc):
              (WTF::free):
              (WTF::calloc):
              (WTF::cfree):
              (WTF::realloc):
              * wtf/FastMalloc.h:
              * wtf/FastMallocInternal.h:
              * wtf/Forward.h:
              * wtf/HashCountedSet.h:
              * wtf/HashFunctions.h:
              * wtf/HashMap.h:
              * wtf/HashSet.h:
              * wtf/HashTable.cpp:
              * wtf/HashTable.h:
              * wtf/HashTraits.h:
              * wtf/ListRefPtr.h:
              * wtf/Noncopyable.h:
              * wtf/OwnArrayPtr.h:
              * wtf/OwnPtr.h:
              * wtf/PassRefPtr.h:
              * wtf/RefPtr.h:
              * wtf/TCSystemAlloc.cpp:
              (TCMalloc_SystemAlloc):
              * wtf/Vector.h:
              * wtf/VectorTraits.h:
              * wtf/unicode/UnicodeCategory.h:
              * wtf/unicode/icu/UnicodeIcu.h:
      
      JavaScriptGlue:
      
              Rubber stamped by Anders.
              
              - renamed kxmlcore to wtf
              
              kxmlcore --> wtf
              KXMLCore --> WTF
              WKC --> WTF
      
              * config.h:
              * kxmlcore: Removed.
              * kxmlcore/AlwaysInline.h: Removed.
              * kxmlcore/Assertions.h: Removed.
              * kxmlcore/FastMalloc.h: Removed.
              * kxmlcore/Forward.h: Removed.
              * kxmlcore/HashCountedSet.h: Removed.
              * kxmlcore/HashSet.h: Removed.
              * kxmlcore/Noncopyable.h: Removed.
              * kxmlcore/OwnArrayPtr.h: Removed.
              * kxmlcore/OwnPtr.h: Removed.
              * kxmlcore/PassRefPtr.h: Removed.
              * kxmlcore/Platform.h: Removed.
              * kxmlcore/RefPtr.h: Removed.
              * kxmlcore/Vector.h: Removed.
              * wtf: Added.
      
      WebCore:
      
              Rubber stamped by Anders.
              
              - renamed kxmlcore to wtf
              
              kxmlcore --> wtf
              KXMLCore --> WTF
              WKC --> WTF
      
              * ForwardingHeaders/kxmlcore: Removed.
              * ForwardingHeaders/kxmlcore/AlwaysInline.h: Removed.
              * ForwardingHeaders/kxmlcore/Assertions.h: Removed.
              * ForwardingHeaders/kxmlcore/FastMalloc.h: Removed.
              * ForwardingHeaders/kxmlcore/Forward.h: Removed.
              * ForwardingHeaders/kxmlcore/HashCountedSet.h: Removed.
              * ForwardingHeaders/kxmlcore/HashMap.h: Removed.
              * ForwardingHeaders/kxmlcore/HashSet.h: Removed.
              * ForwardingHeaders/kxmlcore/HashTraits.h: Removed.
              * ForwardingHeaders/kxmlcore/Noncopyable.h: Removed.
              * ForwardingHeaders/kxmlcore/OwnArrayPtr.h: Removed.
              * ForwardingHeaders/kxmlcore/OwnPtr.h: Removed.
              * ForwardingHeaders/kxmlcore/PassRefPtr.h: Removed.
              * ForwardingHeaders/kxmlcore/Platform.h: Removed.
              * ForwardingHeaders/kxmlcore/RefPtr.h: Removed.
              * ForwardingHeaders/kxmlcore/Vector.h: Removed.
              * ForwardingHeaders/wtf: Added.
              * bindings/js/JSHTMLElementWrapperFactory.h:
              * bindings/js/kjs_binding.cpp:
              * bindings/js/kjs_window.h:
              * bindings/objc/DOMImplementationFront.h:
              * bridge/JavaAppletWidget.h:
              * bridge/mac/WebCoreFrameNamespaces.mm:
              * bridge/mac/WebCorePageBridge.mm:
              (initializeLogChannel):
              * bridge/mac/WebCoreStringTruncator.mm:
              * bridge/mac/WebCoreViewFactory.m:
              * config.h:
              * css/css_base.h:
              * css/css_valueimpl.h:
              * css/csshelper.cpp:
              * css/cssparser.h:
              * dom/DOMImplementation.h:
              * dom/Document.h:
              * dom/NamedNodeMap.h:
              * dom/Node.h:
              * dom/NodeList.h:
              * dom/QualifiedName.cpp:
              * dom/Range.h:
              * dom/StyledElement.cpp:
              * dom/dom2_traversalimpl.h:
              * dom/xml_tokenizer.h:
              * editing/RebalanceWhitespaceCommand.cpp:
              * editing/RemoveCSSPropertyCommand.cpp:
              * editing/RemoveNodeAttributeCommand.cpp:
              * editing/RemoveNodeCommand.cpp:
              * editing/RemoveNodePreservingChildrenCommand.cpp:
              * editing/ReplaceSelectionCommand.h:
              * editing/Selection.cpp:
              * editing/SetNodeAttributeCommand.cpp:
              * editing/SplitElementCommand.cpp:
              * editing/SplitTextNodeCommand.cpp:
              * editing/SplitTextNodeContainingElementCommand.cpp:
              * editing/TextIterator.h:
              * editing/htmlediting.h:
              * editing/markup.h:
              * html/CanvasGradient.h:
              * html/CanvasRenderingContext2D.h:
              * html/CanvasStyle.cpp:
              * html/HTMLCollection.h:
              * html/HTMLElementFactory.h:
              * kcanvas/KCanvasFilters.cpp:
              * kcanvas/KCanvasPath.h:
              * kcanvas/RenderPath.cpp:
              * kcanvas/RenderSVGImage.cpp:
              * kcanvas/RenderSVGText.cpp:
              * kcanvas/device/quartz/KCanvasItemQuartz.mm:
              * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
              * kcanvas/device/quartz/QuartzSupport.mm:
              * ksvg2/misc/KSVGTimeScheduler.h:
              * ksvg2/misc/SVGDocumentExtensions.h:
              * ksvg2/scripts/make_names.pl:
              * ksvg2/svg/SVGDOMImplementation.cpp:
              * ksvg2/svg/SVGExternalResourcesRequired.h:
              * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
              * ksvg2/svg/SVGForeignObjectElement.cpp:
              * ksvg2/svg/SVGImageElement.cpp:
              * ksvg2/svg/SVGMaskElement.cpp:
              * ksvg2/svg/SVGStyledElement.cpp:
              * ksvg2/svg/SVGTests.h:
              * ksvg2/svg/SVGTransform.h:
              * ksvg2/svg/SVGTransformable.cpp:
              * kwq/AccessibilityObjectCache.h:
              * kwq/KWQCString.cpp:
              * kwq/KWQFormData.mm:
              * kwq/KWQListBox.mm:
              * kwq/KWQResourceLoader.mm:
              * kwq/KWQTextEdit.mm:
              * loader/Cache.h:
              * loader/CachedObject.h:
              * loader/CachedObjectClientWalker.h:
              * loader/Decoder.h:
              * loader/DocLoader.h:
              * loader/loader.cpp:
              * loader/loader.h:
              * page/DOMWindow.h:
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/FrameTree.cpp:
              * page/Page.cpp:
              * page/Page.h:
              * page/Plugin.h:
              * platform/Arena.cpp:
              * platform/ArrayImpl.h:
              * platform/AtomicString.cpp:
              * platform/CharsetNames.cpp:
              * platform/Color.cpp:
              * platform/DeprecatedPtrListImpl.cpp:
              * platform/DeprecatedValueListImpl.h:
              * platform/FontFallbackList.h:
              * platform/GraphicsContext.h:
              * platform/GraphicsTypes.cpp:
              * platform/Image.h:
              * platform/KURL.cpp:
              * platform/Logging.cpp:
              * platform/Logging.h:
              * platform/PlatformString.h:
              * platform/PlugInInfoStore.h:
              * platform/StreamingTextDecoder.cpp:
              * platform/StreamingTextDecoder.h:
              * platform/String.cpp:
              * platform/StringHash.h:
              * platform/StringImpl.cpp:
              * platform/StringImpl.h:
              * platform/TextEncoding.cpp:
              * platform/Timer.cpp:
              * platform/Timer.h:
              * platform/TransferJob.h:
              * platform/TransferJobInternal.h:
              * platform/mac/BlockExceptions.mm:
              * platform/mac/ColorMac.mm:
              * platform/mac/FontData.mm:
              * platform/mac/KURLMac.mm:
              * platform/mac/QStringMac.mm:
              * platform/mac/SharedTimerMac.cpp:
              * platform/mac/TextEncodingMac.cpp:
              * platform/mac/WebCoreImageRendererFactory.m:
              * platform/mac/WebCoreKeyGenerator.m:
              * platform/mac/WebCoreTextArea.mm:
              * platform/mac/WebCoreTextField.mm:
              * platform/mac/WebTextRendererFactory.h:
              * platform/mac/WebTextRendererFactory.mm:
              * platform/win/TemporaryLinkStubs.cpp:
              (JavaAppletWidget::JavaAppletWidget):
              * rendering/InlineTextBox.cpp:
              * rendering/RenderText.cpp:
              * rendering/RenderTreeAsText.cpp:
              * rendering/bidi.cpp:
              * xml/XSLTProcessor.h:
              * xpath/impl/XPathExpressionNode.h:
              * xpath/impl/XPathParser.h:
              * xpath/impl/XPathPath.h:
              * xpath/impl/XPathUtil.h:
      
      WebKit:
      
              Rubber stamped by Anders.
              
              - renamed kxmlcore to wtf
              
              kxmlcore --> wtf
              KXMLCore --> WTF
              WKC --> WTF
      
              * Misc/WebKitLogging.h:
              * Misc/WebKitLogging.m:
              (initializeLogChannel):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14256 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb863518
  27. 02 Mar, 2006 1 commit
    • mjs's avatar
      JavaScriptCore: · 3bfb61b0
      mjs authored
              Reviewed by Darin.
              
              - Set up new prototype macros and avoid using #if without defined() in JSC
              
              Added new PLATFORM macros and related, to make sure #if's all check if relevant macros
              are defined, and to separate core OS-level dependencies from operating environment
              dependencies so you can, e.g., build KDE on Mac or Windows.
      
              * kxmlcore/Platform.h: Added.
      
              - deploy them everywhere in JavaScriptCore
              
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * bindings/jni/jni_utility.cpp:
              (KJS::Bindings::convertValueToJValue):
              * bindings/objc/WebScriptObject.mm:
              * bindings/objc/objc_instance.mm:
              (ObjcInstance::end):
              * bindings/softlinking.h:
              * bindings/testbindings.mm:
              (main):
              * kjs/JSLock.cpp:
              * kjs/collector.cpp:
              (KJS::Collector::markCurrentThreadConservatively):
              (KJS::Collector::markOtherThreadConservatively):
              (KJS::Collector::markStackObjectsConservatively):
              * kjs/config.h:
              * kjs/date_object.cpp:
              (gmtoffset):
              (KJS::formatTime):
              (KJS::DateProtoFunc::callAsFunction):
              (KJS::DateObjectImp::construct):
              (KJS::makeTime):
              * kjs/dtoa.cpp:
              * kjs/fpconst.cpp:
              (KJS::sizeof):
              (KJS::):
              * kjs/grammar.y:
              * kjs/identifier.cpp:
              * kjs/internal.cpp:
              * kjs/interpreter.cpp:
              (KJS::Interpreter::evaluate):
              (KJS::Interpreter::createLanguageInstanceForValue):
              * kjs/interpreter.h:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/math_object.cpp:
              * kjs/object.cpp:
              * kjs/object.h:
              * kjs/operations.cpp:
              (KJS::isNaN):
              (KJS::isInf):
              (KJS::isPosInf):
              (KJS::isNegInf):
              * kjs/operations.h:
              * kjs/regexp.cpp:
              (KJS::RegExp::RegExp):
              (KJS::RegExp::~RegExp):
              (KJS::RegExp::match):
              * kjs/regexp.h:
              * kjs/testkjs.cpp:
              (StopWatch::start):
              (StopWatch::stop):
              (StopWatch::getElapsedMS):
              * kjs/ustring.cpp:
              * kjs/ustring.h:
              * kxmlcore/AlwaysInline.h:
              * kxmlcore/Assertions.cpp:
              * kxmlcore/Assertions.h:
              * kxmlcore/FastMalloc.cpp:
              (KXMLCore::):
              * kxmlcore/FastMalloc.h:
              * kxmlcore/FastMallocInternal.h:
              * kxmlcore/HashTable.h:
              * kxmlcore/TCPageMap.h:
              * kxmlcore/TCSpinLock.h:
              (TCMalloc_SpinLock::Lock):
              (TCMalloc_SpinLock::Unlock):
              (TCMalloc_SlowLock):
              * kxmlcore/TCSystemAlloc.cpp:
              (TCMalloc_SystemAlloc):
              * os-win32/stdint.h:
      
      JavaScriptGlue:
      
              Not reviewed, but I noticed these trivial extra changes were needed to avoid
              breaking the build with my reviewed patch for:
              
              http://bugzilla.opendarwin.org/show_bug.cgi?id=7387
              
              Add config.h, includes of it, and Platform.h forwarding header.
      
              * JSBase.cpp:
              * JSObject.cpp:
              * JSRun.cpp:
              * JSUtils.cpp:
              * JSValueWrapper.cpp:
              * JavaScriptGlue.cpp:
              * UserObjectImp.cpp:
              * config.h: Added.
              * kxmlcore/Platform.h: Added.
      
      WebCore:
      
              Reviewed by Darin.
      
              - WebCore updates for "Set up new prototype macros and avoid using #if without defined() in JSC"
              http://bugzilla.opendarwin.org/show_bug.cgi?id=7387
              
              Add Platform.h 
      
              * ForwardingHeaders/kxmlcore/Platform.h: Added.
              * bridge/mac/WebCoreFrameNamespaces.m:
              * bridge/mac/WebCoreViewFactory.m:
              * bridge/mac/WebDashboardRegion.m:
              * config.h:
              * platform/Logging.cpp:
              * platform/mac/ScrollViewMac.mm:
              (WebCore::ScrollView::addChild):
              * platform/mac/WebCoreCookieAdapter.m:
              * platform/mac/WebCoreGraphicsBridge.m:
              * platform/mac/WebCoreHistory.m:
              * platform/mac/WebCoreImageRendererFactory.m:
              * platform/mac/WebCoreKeyGenerator.m:
              * platform/mac/WebCoreView.m:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13089 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3bfb61b0
  28. 23 Jan, 2006 1 commit
  29. 06 Jan, 2006 1 commit
  30. 03 Oct, 2005 1 commit
    • mjs's avatar
      JavaScriptCore: · b64c50a2
      mjs authored
              Reviewed by Darin.
      
      	<rdar://problem/4283967> REGRESSION: 3% regression on PLT from new FastMalloc
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=5243
      
      	A number of optimizations to the new threadsafe malloc that make it actually as fast
      	as dlmalloc (I measured wrong before) and as memory-efficient as the system malloc.
      
      	- use fastMalloc for everything - it now gets applied to all new/delete allocations
      	via a private inline operator new that is now included into every file via config.h.
      
      	- tweaked some of the numeric parameters for size classes and amount of wasted memory
      	allowed per allocation - this saves on memory use and consequently improves speed.
      
      	- so long as the allocator is not being used on background threads, get the per-thread
      	cache from a global variable instead of from pthread_getspecific, since the latter is slow.
      
      	- inline more functions, and force the ones GCC refuses to inline with
      	attribute(always_inline), nearly all of these have one call site so inlining them has
      	to be a win.
      
      	- use some tricks to calculate allocation size more efficiently and fewer times for small
      	allocations, to avoid hitting the huge size table array.
      
      	- avoid hitting the per-thread cache on code paths that don't need it.
      
      	- implement inline assembly version of spinlock for PowerPC (was already done for x86)
      
              * bindings/NP_jsobject.cpp:
              * bindings/c/c_class.cpp:
              * bindings/c/c_instance.cpp:
              * bindings/c/c_runtime.cpp:
              * bindings/c/c_utility.cpp:
              * bindings/jni/jni_class.cpp:
              * bindings/jni/jni_instance.cpp:
              * bindings/jni/jni_jsobject.cpp:
              * bindings/jni/jni_objc.mm:
              * bindings/jni/jni_runtime.cpp:
              * bindings/jni/jni_utility.cpp:
              * bindings/npruntime.cpp:
              * bindings/objc/WebScriptObject.mm:
              * bindings/objc/objc_class.mm:
              * bindings/objc/objc_instance.mm:
              * bindings/objc/objc_runtime.mm:
              * bindings/objc/objc_utility.mm:
              * bindings/runtime.cpp:
              * bindings/runtime_array.cpp:
              * bindings/runtime_method.cpp:
              * bindings/runtime_object.cpp:
              * bindings/runtime_root.cpp:
              * bindings/testbindings.cpp:
              * bindings/testbindings.mm:
              * kjs/array_object.cpp:
              (ArrayInstanceImp::ArrayInstanceImp):
              (ArrayInstanceImp::~ArrayInstanceImp):
              (ArrayInstanceImp::resizeStorage):
              * kjs/bool_object.cpp:
              * kjs/collector.cpp:
              (KJS::Collector::registerThread):
              * kjs/config.h:
              * kjs/debugger.cpp:
              * kjs/error_object.cpp:
              * kjs/function.cpp:
              * kjs/function_object.cpp:
              * kjs/identifier.cpp:
              (KJS::Identifier::rehash):
              * kjs/internal.cpp:
              (KJS::Parser::saveNewNode):
              (KJS::clearNewNodes):
              * kjs/interpreter.cpp:
              * kjs/lexer.cpp:
              (Lexer::doneParsing):
              (Lexer::makeIdentifier):
              (Lexer::makeUString):
              * kjs/list.cpp:
              * kjs/math_object.cpp:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/nodes2string.cpp:
              * kjs/number_object.cpp:
              (integer_part_noexp):
              (char_sequence):
              * kjs/object.cpp:
              * kjs/object_object.cpp:
              * kjs/property_map.cpp:
              * kjs/property_slot.cpp:
              * kjs/protected_values.cpp:
              (KJS::ProtectedValues::rehash):
              * kjs/reference.cpp:
              * kjs/reference_list.cpp:
              * kjs/regexp.cpp:
              * kjs/regexp_object.cpp:
              * kjs/scope_chain.cpp:
              * kjs/scope_chain.h:
              * kjs/string_object.cpp:
              * kjs/testkjs.cpp:
              * kjs/ustring.h:
              * kjs/value.cpp:
              * kxmlcore/Assertions.mm:
              * kxmlcore/FastMalloc.cpp:
              (KXMLCore::InitSizeClasses):
              (KXMLCore::DLL_IsEmpty):
              (KXMLCore::DLL_Prepend):
              (KXMLCore::TCMalloc_Central_FreeList::Insert):
              (KXMLCore::TCMalloc_Central_FreeList::Remove):
              (KXMLCore::TCMalloc_Central_FreeList::Populate):
              (KXMLCore::TCMalloc_ThreadCache::Allocate):
              (KXMLCore::TCMalloc_ThreadCache::FetchFromCentralCache):
              (KXMLCore::fastMallocRegisterThread):
              (KXMLCore::TCMalloc_ThreadCache::GetCache):
              (KXMLCore::TCMalloc_ThreadCache::GetCacheIfPresent):
              (KXMLCore::TCMalloc_ThreadCache::CreateCacheIfNecessary):
              (KXMLCore::do_malloc):
              (KXMLCore::do_free):
              (KXMLCore::realloc):
              * kxmlcore/FastMalloc.h:
              (operator new):
              (operator delete):
              (operator new[]):
              (operator delete[]):
              * kxmlcore/HashTable.cpp:
              * kxmlcore/TCSpinLock.h:
              (TCMalloc_SpinLock::Lock):
              (TCMalloc_SpinLock::Unlock):
              (TCMalloc_SlowLock):
              * kxmlcore/TCSystemAlloc.cpp:
      
      WebCore:
      
              Reviewed by Darin.
      
      	<rdar://problem/4283967> REGRESSION: 3% regression on PLT from new FastMalloc
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=5243
      
      	- use fastMalloc for everything - it now gets applied to all new/delete allocations
              via a private inline operator new that is now included into every file via config.h
      
              * WebCore.xcodeproj/project.pbxproj:
              * WebCorePrefix.h:
              * khtml/css/css_base.cpp:
              * khtml/css/css_base.h:
              * khtml/css/css_computedstyle.cpp:
              * khtml/css/css_ruleimpl.cpp:
              * khtml/css/css_stylesheetimpl.cpp:
              * khtml/css/css_valueimpl.cpp:
              * khtml/css/css_valueimpl.h:
              * khtml/css/csshelper.cpp:
              * khtml/css/cssparser.cpp:
              (ValueList::ValueList):
              (ValueList::~ValueList):
              (ValueList::addValue):
              (CSSParser::CSSParser):
              (CSSParser::~CSSParser):
              (CSSParser::setupParser):
              (CSSParser::addProperty):
              * khtml/css/cssstyleselector.cpp:
              * khtml/css/cssstyleselector.h:
              * khtml/dom/dom2_events.cpp:
              * khtml/dom/dom2_traversal.cpp:
              * khtml/dom/dom_misc.cpp:
              * khtml/dom/dom_string.cpp:
              * khtml/ecma/domparser.cpp:
              * khtml/ecma/kjs_binding.cpp:
              * khtml/ecma/kjs_css.cpp:
              * khtml/ecma/kjs_dom.cpp:
              * khtml/ecma/kjs_events.cpp:
              * khtml/ecma/kjs_html.cpp:
              (KJS::KJS::Context2DFunction::callAsFunction):
              (KJS::Gradient::~Gradient):
              (KJS::Gradient::addColorStop):
              (KJS::Gradient::colorStops):
              * khtml/ecma/kjs_navigator.cpp:
              * khtml/ecma/kjs_proxy.cpp:
              * khtml/ecma/kjs_range.cpp:
              * khtml/ecma/kjs_traversal.cpp:
              * khtml/ecma/kjs_views.cpp:
              * khtml/ecma/kjs_window.cpp:
              * khtml/ecma/xmlhttprequest.cpp:
              * khtml/ecma/xmlserializer.cpp:
              * khtml/editing/SelectionController.cpp:
              * khtml/editing/append_node_command.cpp:
              * khtml/editing/apply_style_command.cpp:
              * khtml/editing/break_blockquote_command.cpp:
              * khtml/editing/composite_edit_command.cpp:
              * khtml/editing/delete_from_text_node_command.cpp:
              * khtml/editing/delete_selection_command.cpp:
              * khtml/editing/edit_command.cpp:
              * khtml/editing/html_interchange.cpp:
              * khtml/editing/htmlediting.cpp:
              * khtml/editing/insert_into_text_node_command.cpp:
              * khtml/editing/insert_line_break_command.cpp:
              * khtml/editing/insert_node_before_command.cpp:
              * khtml/editing/insert_paragraph_separator_command.cpp:
              * khtml/editing/insert_text_command.cpp:
              * khtml/editing/join_text_nodes_command.cpp:
              * khtml/editing/jsediting.cpp:
              * khtml/editing/markup.cpp:
              * khtml/editing/merge_identical_elements_command.cpp:
              * khtml/editing/move_selection_command.cpp:
              * khtml/editing/rebalance_whitespace_command.cpp:
              * khtml/editing/remove_css_property_command.cpp:
              * khtml/editing/remove_node_attribute_command.cpp:
              * khtml/editing/remove_node_command.cpp:
              * khtml/editing/remove_node_preserving_children_command.cpp:
              * khtml/editing/replace_selection_command.cpp:
              * khtml/editing/set_node_attribute_command.cpp:
              * khtml/editing/split_element_command.cpp:
              * khtml/editing/split_text_node_command.cpp:
              * khtml/editing/split_text_node_containing_element.cpp:
              * khtml/editing/typing_command.cpp:
              * khtml/editing/visible_position.cpp:
              * khtml/editing/visible_range.cpp:
              * khtml/editing/visible_text.cpp:
              (khtml::CircularSearchBuffer::~CircularSearchBuffer):
              (khtml::CircularSearchBuffer::CircularSearchBuffer):
              * khtml/editing/visible_units.cpp:
              * khtml/editing/wrap_contents_in_dummy_span_command.cpp:
              * khtml/html/html_baseimpl.cpp:
              * khtml/html/html_blockimpl.cpp:
              * khtml/html/html_canvasimpl.cpp:
              * khtml/html/html_documentimpl.cpp:
              * khtml/html/html_elementimpl.cpp:
              * khtml/html/html_formimpl.cpp:
              * khtml/html/html_headimpl.cpp:
              * khtml/html/html_imageimpl.cpp:
              * khtml/html/html_inlineimpl.cpp:
              * khtml/html/html_listimpl.cpp:
              * khtml/html/html_miscimpl.cpp:
              * khtml/html/html_objectimpl.cpp:
              * khtml/html/html_tableimpl.cpp:
              * khtml/html/htmlfactory.cpp:
              * khtml/html/htmlnames.cpp:
              * khtml/html/htmlparser.cpp:
              * khtml/html/htmltokenizer.cpp:
              (khtml::HTMLTokenizer::enlargeBuffer):
              (khtml::HTMLTokenizer::enlargeScriptBuffer):
              * khtml/khtml_events.cpp:
              * khtml/khtml_part.cpp:
              * khtml/khtmlview.cpp:
              * khtml/misc/arena.cpp:
              * khtml/misc/arena.h:
              * khtml/misc/decoder.cpp:
              * khtml/misc/formdata.cpp:
              * khtml/misc/helper.cpp:
              * khtml/misc/loader.cpp:
              * khtml/misc/stringit.cpp:
              * khtml/rendering/bidi.cpp:
              * khtml/rendering/break_lines.cpp:
              * khtml/rendering/font.cpp:
              * khtml/rendering/render_arena.cpp:
              * khtml/rendering/render_block.cpp:
              * khtml/rendering/render_box.cpp:
              * khtml/rendering/render_br.cpp:
              * khtml/rendering/render_canvas.cpp:
              * khtml/rendering/render_canvasimage.cpp:
              (RenderCanvasImage::~RenderCanvasImage):
              (RenderCanvasImage::createDrawingContext):
              * khtml/rendering/render_container.cpp:
              * khtml/rendering/render_flexbox.cpp:
              * khtml/rendering/render_flow.cpp:
              * khtml/rendering/render_form.cpp:
              * khtml/rendering/render_frames.cpp:
              * khtml/rendering/render_image.cpp:
              * khtml/rendering/render_inline.cpp:
              * khtml/rendering/render_layer.cpp:
              * khtml/rendering/render_line.cpp:
              * khtml/rendering/render_list.cpp:
              * khtml/rendering/render_object.cpp:
              * khtml/rendering/render_replaced.cpp:
              * khtml/rendering/render_style.cpp:
              * khtml/rendering/render_style.h:
              * khtml/rendering/render_table.cpp:
              * khtml/rendering/render_text.cpp:
              * khtml/rendering/render_theme.cpp:
              * khtml/rendering/render_theme_mac.mm:
              * khtml/rendering/table_layout.cpp:
              * khtml/xbl/xbl_binding.cpp:
              * khtml/xbl/xbl_binding_manager.cpp:
              * khtml/xbl/xbl_docimpl.cpp:
              * khtml/xbl/xbl_protobinding.cpp:
              * khtml/xbl/xbl_protohandler.cpp:
              * khtml/xbl/xbl_protoimplementation.cpp:
              * khtml/xbl/xbl_tokenizer.cpp:
              * khtml/xml/EventNames.cpp:
              * khtml/xml/dom2_eventsimpl.cpp:
              * khtml/xml/dom2_eventsimpl.h:
              * khtml/xml/dom2_rangeimpl.cpp:
              * khtml/xml/dom2_rangeimpl.h:
              * khtml/xml/dom2_traversalimpl.cpp:
              * khtml/xml/dom2_traversalimpl.h:
              * khtml/xml/dom2_viewsimpl.cpp:
              * khtml/xml/dom2_viewsimpl.h:
              * khtml/xml/dom_atomicstring.cpp:
              * khtml/xml/dom_docimpl.cpp:
              * khtml/xml/dom_docimpl.h:
              * khtml/xml/dom_elementimpl.cpp:
              * khtml/xml/dom_elementimpl.h:
              * khtml/xml/dom_nodeimpl.cpp:
              * khtml/xml/dom_nodeimpl.h:
              * khtml/xml/dom_position.cpp:
              * khtml/xml/dom_qname.cpp:
              * khtml/xml/dom_stringimpl.cpp:
              * khtml/xml/dom_stringimpl.h:
              * khtml/xml/dom_textimpl.cpp:
              * khtml/xml/dom_xmlimpl.cpp:
              * khtml/xml/xml_tokenizer.cpp:
              * khtml/xsl/xsl_stylesheetimpl.cpp:
              * khtml/xsl/xslt_processorimpl.cpp:
              * kwq/DOM-CSS.mm:
              * kwq/DOM.mm:
              * kwq/DOMEvents.mm:
              * kwq/DOMHTML.mm:
              * kwq/DOMInternal.mm:
              (DOMString::DOMString):
              * kwq/DOMUtility.mm:
              * kwq/DOMViews.mm:
              * kwq/KWQAccObject.mm:
              * kwq/KWQAccObjectCache.mm:
              * kwq/KWQApplication.mm:
              * kwq/KWQArrayImpl.h:
              * kwq/KWQArrayImpl.mm:
              * kwq/KWQBuffer.mm:
              * kwq/KWQButton.mm:
              * kwq/KWQCString.mm:
              * kwq/KWQCharsets.mm:
              * kwq/KWQClipboard.mm:
              * kwq/KWQCollection.mm:
              * kwq/KWQColor.mm:
              * kwq/KWQComboBox.mm:
              * kwq/KWQCursor.mm:
              * kwq/KWQDateTime.mm:
              * kwq/KWQDictImpl.mm:
              * kwq/KWQEditCommand.mm:
              * kwq/KWQEvent.mm:
              * kwq/KWQExceptions.mm:
              * kwq/KWQFile.mm:
              * kwq/KWQFileButton.mm:
              * kwq/KWQFont.mm:
              * kwq/KWQFontFamily.h:
              * kwq/KWQFontFamily.mm:
              * kwq/KWQFontMetrics.mm:
              * kwq/KWQFormData.mm:
              * kwq/KWQFrame.mm:
              * kwq/KWQGlobal.mm:
              * kwq/KWQGuardedPtr.mm:
              * kwq/KWQKCharsets.mm:
              * kwq/KWQKConfigBase.mm:
              * kwq/KWQKCookieJar.mm:
              * kwq/KWQKCursor.mm:
              * kwq/KWQKGlobal.mm:
              * kwq/KWQKGlobalSettings.mm:
              * kwq/KWQKHTMLFactory.mm:
              * kwq/KWQKHTMLPart.cpp:
              * kwq/KWQKHTMLPart.mm:
              * kwq/KWQKHTMLPartBrowserExtension.mm:
              * kwq/KWQKHTMLView.mm:
              * kwq/KWQKHistoryProvider.mm:
              * kwq/KWQKJavaAppletWidget.mm:
              * kwq/KWQKJob.mm:
              * kwq/KWQKJobClasses.mm:
              * kwq/KWQKLocale.mm:
              * kwq/KWQKPartsBrowserInterface.mm:
              * kwq/KWQKPartsEvent.mm:
              * kwq/KWQKPartsPart.mm:
              * kwq/KWQKSSLKeyGen.mm:
              * kwq/KWQKStandardDirs.mm:
              * kwq/KWQKStringHandler.mm:
              * kwq/KWQKURL.mm:
              (KURL::KURL):
              (KURL::decode_string):
              (KURL::parse):
              (KURL::encode_string):
              (encodeRelativeString):
              * kwq/KWQKWin.mm:
              * kwq/KWQKWinModule.mm:
              * kwq/KWQLabel.mm:
              * kwq/KWQLineEdit.mm:
              * kwq/KWQListBox.mm:
              * kwq/KWQListImpl.mm:
              * kwq/KWQLoader.mm:
              (KWQIsResponseURLEqualToURL):
              * kwq/KWQMapImpl.h:
              * kwq/KWQMapImpl.mm:
              * kwq/KWQMovie.mm:
              * kwq/KWQObject.mm:
              * kwq/KWQPageState.mm:
              * kwq/KWQPaintDeviceMetrics.mm:
              * kwq/KWQPainter.mm:
              * kwq/KWQPalette.mm:
              * kwq/KWQPen.mm:
              * kwq/KWQPixmap.mm:
              * kwq/KWQPoint.mm:
              * kwq/KWQPointArray.mm:
              * kwq/KWQPtrDictImpl.mm:
              * kwq/KWQPushButton.mm:
              * kwq/KWQRect.mm:
              * kwq/KWQRegExp.mm:
              * kwq/KWQRegion.mm:
              * kwq/KWQRenderTreeDebug.cpp:
              * kwq/KWQResourceLoader.mm:
              * kwq/KWQScrollBar.mm:
              * kwq/KWQScrollView.mm:
              * kwq/KWQSignal.mm:
              * kwq/KWQSignalStubs.mm:
              * kwq/KWQSize.mm:
              * kwq/KWQSlider.mm:
              * kwq/KWQSlot.mm:
              * kwq/KWQString.h:
              * kwq/KWQString.mm:
              (ALLOC_CHAR):
              (REALLOC_CHAR):
              (DELETE_CHAR):
              (ALLOC_QCHAR):
              (REALLOC_QCHAR):
              (DELETE_QCHAR):
              (_printQStringAllocationStatistics):
              (allocateHandle):
              (KWQStringData::operator new):
              (KWQStringData::operator delete):
              (freeHandle):
              * kwq/KWQStringList.mm:
              * kwq/KWQStyle.mm:
              * kwq/KWQTextArea.mm:
              * kwq/KWQTextCodec.mm:
              * kwq/KWQTextEdit.mm:
              * kwq/KWQTextField.mm:
              * kwq/KWQTextStream.mm:
              * kwq/KWQTextUtilities.mm:
              * kwq/KWQTimer.mm:
              * kwq/KWQValueListImpl.h:
              * kwq/KWQValueListImpl.mm:
              * kwq/KWQVariant.mm:
              * kwq/KWQVectorImpl.mm:
              (KWQVectorImpl::KWQVectorImpl):
              (KWQVectorImpl::~KWQVectorImpl):
              (KWQVectorImpl::clear):
              (KWQVectorImpl::resize):
              (KWQVectorImpl::assign):
              * kwq/KWQWMatrix.mm:
              * kwq/KWQWidget.mm:
              * kwq/KWQWindowWidget.mm:
              * kwq/WebCoreBridge.mm:
              * kwq/WebCoreCache.mm:
              * kwq/WebCoreEncodings.mm:
              * kwq/WebCoreJavaScript.mm:
              * kwq/WebCoreScriptDebugger.mm:
              * kwq/WebCoreSettings.mm:
              * kwq/WebCoreTextRendererFactory.mm:
              * kwq/can-convert.mm:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10701 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b64c50a2
  31. 08 Aug, 2005 1 commit
    • darin's avatar
      JavaScriptCore: · c13d2caf
      darin authored
              Rubber stamped by Maciej.
      
              - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4313
                eliminate KJS::Value and KJS::Object smart pointer wrappers (for simplicity and speed)
      
              * JavaScriptCore.xcodeproj/project.pbxproj: Removed object_wrapper.h.
      
              Global replaces and other wonderful stuff.
      
              * bindings/NP_jsobject.cpp:
              (_NPN_Invoke):
              (_NPN_Evaluate):
              (_NPN_GetProperty):
              (_NPN_SetProperty):
              (_NPN_HasMethod):
              (_NPN_SetException):
              * bindings/c/c_instance.cpp:
              (KJS::Bindings::CInstance::CInstance):
              (KJS::Bindings::CInstance::invokeMethod):
              (KJS::Bindings::CInstance::invokeDefaultMethod):
              (KJS::Bindings::CInstance::defaultValue):
              (KJS::Bindings::CInstance::stringValue):
              (KJS::Bindings::CInstance::numberValue):
              (KJS::Bindings::CInstance::booleanValue):
              (KJS::Bindings::CInstance::valueOf):
              * bindings/c/c_instance.h:
              * bindings/c/c_runtime.cpp:
              (CField::valueFromInstance):
              (CField::setValueToInstance):
              * bindings/c/c_runtime.h:
              * bindings/c/c_utility.cpp:
              (convertNPStringToUTF16):
              (convertUTF8ToUTF16):
              (coerceValueToNPVariantStringType):
              (convertValueToNPVariant):
              (convertNPVariantToValue):
              * bindings/c/c_utility.h:
              * bindings/jni/jni_instance.cpp:
              (JavaInstance::stringValue):
              (JavaInstance::numberValue):
              (JavaInstance::booleanValue):
              (JavaInstance::invokeMethod):
              (JavaInstance::invokeDefaultMethod):
              (JavaInstance::defaultValue):
              (JavaInstance::valueOf):
              * bindings/jni/jni_instance.h:
              * bindings/jni/jni_jsobject.cpp:
              (JSObject::invoke):
              (JSObject::call):
              (JSObject::eval):
              (JSObject::getMember):
              (JSObject::getSlot):
              (JSObject::toString):
              (JSObject::convertValueToJObject):
              (JSObject::convertJObjectToValue):
              (JSObject::listFromJArray):
              * bindings/jni/jni_jsobject.h:
              * bindings/jni/jni_objc.mm:
              (KJS::Bindings::dispatchJNICall):
              * bindings/jni/jni_runtime.cpp:
              (JavaArray::convertJObjectToArray):
              (JavaField::dispatchValueFromInstance):
              (JavaField::valueFromInstance):
              (JavaField::dispatchSetValueToInstance):
              (JavaField::setValueToInstance):
              (JavaArray::setValueAt):
              (JavaArray::valueAt):
              * bindings/jni/jni_runtime.h:
              (KJS::Bindings::JavaString::ustring):
              * bindings/jni/jni_utility.cpp:
              (KJS::Bindings::getJavaVM):
              (KJS::Bindings::getJNIEnv):
              (KJS::Bindings::getMethodID):
              (KJS::Bindings::callJNIVoidMethod):
              (KJS::Bindings::callJNIObjectMethod):
              (KJS::Bindings::callJNIBooleanMethod):
              (KJS::Bindings::callJNIStaticBooleanMethod):
              (KJS::Bindings::callJNIByteMethod):
              (KJS::Bindings::callJNICharMethod):
              (KJS::Bindings::callJNIShortMethod):
              (KJS::Bindings::callJNIIntMethod):
              (KJS::Bindings::callJNILongMethod):
              (KJS::Bindings::callJNIFloatMethod):
              (KJS::Bindings::callJNIDoubleMethod):
              (KJS::Bindings::callJNIVoidMethodA):
              (KJS::Bindings::callJNIObjectMethodA):
              (KJS::Bindings::callJNIByteMethodA):
              (KJS::Bindings::callJNICharMethodA):
              (KJS::Bindings::callJNIShortMethodA):
              (KJS::Bindings::callJNIIntMethodA):
              (KJS::Bindings::callJNILongMethodA):
              (KJS::Bindings::callJNIFloatMethodA):
              (KJS::Bindings::callJNIDoubleMethodA):
              (KJS::Bindings::callJNIBooleanMethodA):
              (KJS::Bindings::callJNIVoidMethodIDA):
              (KJS::Bindings::callJNIObjectMethodIDA):
              (KJS::Bindings::callJNIByteMethodIDA):
              (KJS::Bindings::callJNICharMethodIDA):
              (KJS::Bindings::callJNIShortMethodIDA):
              (KJS::Bindings::callJNIIntMethodIDA):
              (KJS::Bindings::callJNILongMethodIDA):
              (KJS::Bindings::callJNIFloatMethodIDA):
              (KJS::Bindings::callJNIDoubleMethodIDA):
              (KJS::Bindings::callJNIBooleanMethodIDA):
              (KJS::Bindings::getCharactersFromJString):
              (KJS::Bindings::releaseCharactersForJString):
              (KJS::Bindings::getCharactersFromJStringInEnv):
              (KJS::Bindings::releaseCharactersForJStringInEnv):
              (KJS::Bindings::getUCharactersFromJStringInEnv):
              (KJS::Bindings::releaseUCharactersForJStringInEnv):
              (KJS::Bindings::JNITypeFromClassName):
              (KJS::Bindings::signatureFromPrimitiveType):
              (KJS::Bindings::JNITypeFromPrimitiveType):
              (KJS::Bindings::getJNIField):
              (KJS::Bindings::convertValueToJValue):
              * bindings/jni/jni_utility.h:
              * bindings/objc/WebScriptObject.mm:
              (_didExecute):
              (-[WebScriptObject _initializeWithObjectImp:originExecutionContext:Bindings::executionContext:Bindings::]):
              (-[WebScriptObject _initWithObjectImp:originExecutionContext:Bindings::executionContext:Bindings::]):
              (-[WebScriptObject _imp]):
              (-[WebScriptObject _executionContext]):
              (-[WebScriptObject _setExecutionContext:]):
              (-[WebScriptObject _originExecutionContext]):
              (-[WebScriptObject _setOriginExecutionContext:]):
              (+[WebScriptObject throwException:]):
              (listFromNSArray):
              (-[WebScriptObject callWebScriptMethod:withArguments:]):
              (-[WebScriptObject evaluateWebScript:]):
              (-[WebScriptObject setValue:forKey:]):
              (-[WebScriptObject valueForKey:]):
              (-[WebScriptObject removeWebScriptKey:]):
              (-[WebScriptObject stringRepresentation]):
              (-[WebScriptObject webScriptValueAtIndex:]):
              (-[WebScriptObject setException:]):
              (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:Bindings::]):
              * bindings/objc/WebScriptObjectPrivate.h:
              * bindings/objc/objc_class.h:
              * bindings/objc/objc_class.mm:
              (KJS::Bindings::ObjcClass::fallbackObject):
              * bindings/objc/objc_instance.h:
              * bindings/objc/objc_instance.mm:
              (ObjcInstance::invokeMethod):
              (ObjcInstance::invokeDefaultMethod):
              (ObjcInstance::setValueOfField):
              (ObjcInstance::setValueOfUndefinedField):
              (ObjcInstance::getValueOfField):
              (ObjcInstance::getValueOfUndefinedField):
              (ObjcInstance::defaultValue):
              (ObjcInstance::stringValue):
              (ObjcInstance::numberValue):
              (ObjcInstance::booleanValue):
              (ObjcInstance::valueOf):
              * bindings/objc/objc_runtime.h:
              * bindings/objc/objc_runtime.mm:
              (ObjcField::valueFromInstance):
              (convertValueToObjcObject):
              (ObjcField::setValueToInstance):
              (ObjcArray::setValueAt):
              (ObjcArray::valueAt):
              (ObjcFallbackObjectImp::put):
              (ObjcFallbackObjectImp::callAsFunction):
              (ObjcFallbackObjectImp::defaultValue):
              * bindings/objc/objc_utility.h:
              * bindings/objc/objc_utility.mm:
              (Bindings::JSMethodNameToObjCMethodName):
              (Bindings::convertValueToObjcValue):
              (Bindings::convertNSStringToString):
              (Bindings::convertObjcValueToValue):
              (Bindings::objcValueTypeForType):
              (Bindings::createObjcInstanceForValue):
              * bindings/runtime.cpp:
              (Instance::getValueOfField):
              (Instance::setValueOfField):
              (Instance::createRuntimeObject):
              (Instance::createLanguageInstanceForValue):
              * bindings/runtime.h:
              (KJS::Bindings::Constructor::~Constructor):
              (KJS::Bindings::Field::~Field):
              (KJS::Bindings::MethodList::MethodList):
              (KJS::Bindings::Class::fallbackObject):
              (KJS::Bindings::Class::~Class):
              (KJS::Bindings::Instance::Instance):
              (KJS::Bindings::Instance::getValueOfUndefinedField):
              (KJS::Bindings::Instance::supportsSetValueOfUndefinedField):
              (KJS::Bindings::Instance::setValueOfUndefinedField):
              (KJS::Bindings::Instance::valueOf):
              (KJS::Bindings::Instance::setExecutionContext):
              (KJS::Bindings::Instance::~Instance):
              (KJS::Bindings::Array::~Array):
              * bindings/runtime_array.cpp:
              (RuntimeArrayImp::RuntimeArrayImp):
              (RuntimeArrayImp::lengthGetter):
              (RuntimeArrayImp::indexGetter):
              (RuntimeArrayImp::put):
              * bindings/runtime_array.h:
              * bindings/runtime_method.cpp:
              (RuntimeMethodImp::lengthGetter):
              (RuntimeMethodImp::callAsFunction):
              * bindings/runtime_method.h:
              * bindings/runtime_object.cpp:
              (RuntimeObjectImp::fallbackObjectGetter):
              (RuntimeObjectImp::fieldGetter):
              (RuntimeObjectImp::methodGetter):
              (RuntimeObjectImp::getOwnPropertySlot):
              (RuntimeObjectImp::put):
              (RuntimeObjectImp::defaultValue):
              (RuntimeObjectImp::callAsFunction):
              * bindings/runtime_object.h:
              * kjs/array_instance.h:
              * kjs/array_object.cpp:
              (ArrayInstanceImp::ArrayInstanceImp):
              (ArrayInstanceImp::lengthGetter):
              (ArrayInstanceImp::getOwnPropertySlot):
              (ArrayInstanceImp::put):
              (ArrayInstanceImp::propList):
              (ArrayInstanceImp::setLength):
              (compareByStringForQSort):
              (compareWithCompareFunctionForQSort):
              (ArrayInstanceImp::sort):
              (ArrayInstanceImp::pushUndefinedObjectsToEnd):
              (ArrayPrototypeImp::ArrayPrototypeImp):
              (ArrayProtoFuncImp::ArrayProtoFuncImp):
              (ArrayProtoFuncImp::callAsFunction):
              (ArrayObjectImp::ArrayObjectImp):
              (ArrayObjectImp::construct):
              (ArrayObjectImp::callAsFunction):
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              (BooleanPrototypeImp::BooleanPrototypeImp):
              (BooleanProtoFuncImp::BooleanProtoFuncImp):
              (BooleanProtoFuncImp::callAsFunction):
              (BooleanObjectImp::BooleanObjectImp):
              (BooleanObjectImp::construct):
              (BooleanObjectImp::callAsFunction):
              * kjs/bool_object.h:
              * kjs/collector.cpp:
              (KJS::Collector::markStackObjectsConservatively):
              (KJS::Collector::collect):
              (KJS::className):
              * kjs/completion.h:
              (KJS::Completion::Completion):
              (KJS::Completion::value):
              (KJS::Completion::isValueCompletion):
              * kjs/context.h:
              (KJS::ContextImp::variableObject):
              (KJS::ContextImp::setVariableObject):
              (KJS::ContextImp::thisValue):
              (KJS::ContextImp::activationObject):
              (KJS::ContextImp::pushScope):
              * kjs/date_object.cpp:
              (formatLocaleDate):
              (KJS::timeFromArgs):
              (KJS::DatePrototypeImp::DatePrototypeImp):
              (KJS::DateProtoFuncImp::DateProtoFuncImp):
              (KJS::DateProtoFuncImp::callAsFunction):
              (KJS::DateObjectImp::DateObjectImp):
              (KJS::DateObjectImp::construct):
              (KJS::DateObjectImp::callAsFunction):
              (KJS::DateObjectFuncImp::DateObjectFuncImp):
              (KJS::DateObjectFuncImp::callAsFunction):
              (KJS::parseDate):
              (KJS::KRFCDate_parseDate):
              (KJS::timeClip):
              * kjs/date_object.h:
              * kjs/debugger.cpp:
              (Debugger::exception):
              (Debugger::callEvent):
              (Debugger::returnEvent):
              * kjs/debugger.h:
              * kjs/error_object.cpp:
              (ErrorPrototypeImp::ErrorPrototypeImp):
              (ErrorProtoFuncImp::ErrorProtoFuncImp):
              (ErrorProtoFuncImp::callAsFunction):
              (ErrorObjectImp::ErrorObjectImp):
              (ErrorObjectImp::construct):
              (ErrorObjectImp::callAsFunction):
              (NativeErrorPrototypeImp::NativeErrorPrototypeImp):
              (NativeErrorImp::NativeErrorImp):
              (NativeErrorImp::construct):
              (NativeErrorImp::callAsFunction):
              * kjs/error_object.h:
              * kjs/function.cpp:
              (KJS::FunctionImp::FunctionImp):
              (KJS::FunctionImp::callAsFunction):
              (KJS::FunctionImp::processParameters):
              (KJS::FunctionImp::argumentsGetter):
              (KJS::FunctionImp::lengthGetter):
              (KJS::FunctionImp::put):
              (KJS::DeclaredFunctionImp::DeclaredFunctionImp):
              (KJS::DeclaredFunctionImp::construct):
              (KJS::ArgumentsImp::ArgumentsImp):
              (KJS::ArgumentsImp::mappedIndexGetter):
              (KJS::ArgumentsImp::put):
              (KJS::ActivationImp::argumentsGetter):
              (KJS::GlobalFuncImp::GlobalFuncImp):
              (KJS::encode):
              (KJS::decode):
              (KJS::GlobalFuncImp::callAsFunction):
              * kjs/function.h:
              * kjs/function_object.cpp:
              (FunctionPrototypeImp::FunctionPrototypeImp):
              (FunctionPrototypeImp::callAsFunction):
              (FunctionProtoFuncImp::FunctionProtoFuncImp):
              (FunctionProtoFuncImp::callAsFunction):
              (FunctionObjectImp::FunctionObjectImp):
              (FunctionObjectImp::construct):
              (FunctionObjectImp::callAsFunction):
              * kjs/function_object.h:
              * kjs/internal.cpp:
              (KJS::UndefinedImp::toPrimitive):
              (KJS::UndefinedImp::toObject):
              (KJS::NullImp::toPrimitive):
              (KJS::NullImp::toObject):
              (KJS::BooleanImp::toPrimitive):
              (KJS::BooleanImp::toObject):
              (KJS::StringImp::toPrimitive):
              (KJS::StringImp::toObject):
              (KJS::NumberImp::toPrimitive):
              (KJS::NumberImp::toObject):
              (KJS::NumberImp::getUInt32):
              (KJS::LabelStack::push):
              (KJS::ContextImp::ContextImp):
              (KJS::InterpreterImp::globalInit):
              (KJS::InterpreterImp::globalClear):
              (KJS::InterpreterImp::InterpreterImp):
              (KJS::InterpreterImp::initGlobalObject):
              (KJS::InterpreterImp::clear):
              (KJS::InterpreterImp::mark):
              (KJS::InterpreterImp::evaluate):
              (KJS::InternalFunctionImp::hasInstance):
              (KJS::roundValue):
              (KJS::printInfo):
              * kjs/internal.h:
              (KJS::InterpreterImp::builtinObject):
              (KJS::InterpreterImp::builtinFunction):
              (KJS::InterpreterImp::builtinArray):
              (KJS::InterpreterImp::builtinBoolean):
              (KJS::InterpreterImp::builtinString):
              (KJS::InterpreterImp::builtinNumber):
              (KJS::InterpreterImp::builtinDate):
              (KJS::InterpreterImp::builtinRegExp):
              (KJS::InterpreterImp::builtinError):
              (KJS::InterpreterImp::builtinObjectPrototype):
              (KJS::InterpreterImp::builtinFunctionPrototype):
              (KJS::InterpreterImp::builtinArrayPrototype):
              (KJS::InterpreterImp::builtinBooleanPrototype):
              (KJS::InterpreterImp::builtinStringPrototype):
              (KJS::InterpreterImp::builtinNumberPrototype):
              (KJS::InterpreterImp::builtinDatePrototype):
              (KJS::InterpreterImp::builtinRegExpPrototype):
              (KJS::InterpreterImp::builtinErrorPrototype):
              (KJS::InterpreterImp::builtinEvalError):
              (KJS::InterpreterImp::builtinRangeError):
              (KJS::InterpreterImp::builtinReferenceError):
              (KJS::InterpreterImp::builtinSyntaxError):
              (KJS::InterpreterImp::builtinTypeError):
              (KJS::InterpreterImp::builtinURIError):
              (KJS::InterpreterImp::builtinEvalErrorPrototype):
              (KJS::InterpreterImp::builtinRangeErrorPrototype):
              (KJS::InterpreterImp::builtinReferenceErrorPrototype):
              (KJS::InterpreterImp::builtinSyntaxErrorPrototype):
              (KJS::InterpreterImp::builtinTypeErrorPrototype):
              (KJS::InterpreterImp::builtinURIErrorPrototype):
              * kjs/interpreter.cpp:
              (Context::variableObject):
              (Context::thisValue):
              (Interpreter::Interpreter):
              (Interpreter::globalObject):
              (Interpreter::evaluate):
              (Interpreter::builtinObject):
              (Interpreter::builtinFunction):
              (Interpreter::builtinArray):
              (Interpreter::builtinBoolean):
              (Interpreter::builtinString):
              (Interpreter::builtinNumber):
              (Interpreter::builtinDate):
              (Interpreter::builtinRegExp):
              (Interpreter::builtinError):
              (Interpreter::builtinObjectPrototype):
              (Interpreter::builtinFunctionPrototype):
              (Interpreter::builtinArrayPrototype):
              (Interpreter::builtinBooleanPrototype):
              (Interpreter::builtinStringPrototype):
              (Interpreter::builtinNumberPrototype):
              (Interpreter::builtinDatePrototype):
              (Interpreter::builtinRegExpPrototype):
              (Interpreter::builtinErrorPrototype):
              (Interpreter::builtinEvalError):
              (Interpreter::builtinRangeError):
              (Interpreter::builtinReferenceError):
              (Interpreter::builtinSyntaxError):
              (Interpreter::builtinTypeError):
              (Interpreter::builtinURIError):
              (Interpreter::builtinEvalErrorPrototype):
              (Interpreter::builtinRangeErrorPrototype):
              (Interpreter::builtinReferenceErrorPrototype):
              (Interpreter::builtinSyntaxErrorPrototype):
              (Interpreter::builtinTypeErrorPrototype):
              (Interpreter::builtinURIErrorPrototype):
              (Interpreter::createLanguageInstanceForValue):
              * kjs/interpreter.h:
              (KJS::Interpreter::isGlobalObject):
              (KJS::ExecState::setException):
              (KJS::ExecState::clearException):
              (KJS::ExecState::exception):
              (KJS::ExecState::hadException):
              (KJS::ExecState::ExecState):
              * kjs/list.cpp:
              (KJS::List::at):
              * kjs/list.h:
              (KJS::List::operator[]):
              (KJS::ListIterator::operator->):
              (KJS::ListIterator::operator*):
              (KJS::ListIterator::operator++):
              (KJS::ListIterator::operator--):
              * kjs/lookup.h:
              (KJS::staticFunctionGetter):
              (KJS::staticValueGetter):
              (KJS::lookupPut):
              (KJS::cacheGlobalObject):
              * kjs/math_object.cpp:
              (MathObjectImp::getValueProperty):
              (MathFuncImp::MathFuncImp):
              (MathFuncImp::callAsFunction):
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              (Node::evaluateReference):
              (Node::throwError):
              (Node::setExceptionDetailsIfNeeded):
              (NullNode::evaluate):
              (BooleanNode::evaluate):
              (NumberNode::evaluate):
              (StringNode::evaluate):
              (RegExpNode::evaluate):
              (ThisNode::evaluate):
              (ResolveNode::evaluate):
              (ResolveNode::evaluateReference):
              (GroupNode::evaluate):
              (ElementNode::evaluate):
              (ArrayNode::evaluate):
              (ObjectLiteralNode::evaluate):
              (PropertyValueNode::evaluate):
              (PropertyNode::evaluate):
              (AccessorNode1::evaluate):
              (AccessorNode1::evaluateReference):
              (AccessorNode2::evaluate):
              (AccessorNode2::evaluateReference):
              (ArgumentListNode::evaluate):
              (ArgumentListNode::evaluateList):
              (ArgumentsNode::evaluate):
              (NewExprNode::evaluate):
              (FunctionCallNode::evaluate):
              (PostfixNode::evaluate):
              (DeleteNode::evaluate):
              (VoidNode::evaluate):
              (TypeOfNode::evaluate):
              (PrefixNode::evaluate):
              (UnaryPlusNode::evaluate):
              (NegateNode::evaluate):
              (BitwiseNotNode::evaluate):
              (LogicalNotNode::evaluate):
              (MultNode::evaluate):
              (AddNode::evaluate):
              (ShiftNode::evaluate):
              (RelationalNode::evaluate):
              (EqualNode::evaluate):
              (BitOperNode::evaluate):
              (BinaryLogicalNode::evaluate):
              (ConditionalNode::evaluate):
              (AssignNode::evaluate):
              (CommaNode::evaluate):
              (StatListNode::execute):
              (AssignExprNode::evaluate):
              (VarDeclNode::evaluate):
              (VarDeclNode::processVarDecls):
              (VarDeclListNode::evaluate):
              (ExprStatementNode::execute):
              (IfNode::execute):
              (DoWhileNode::execute):
              (WhileNode::execute):
              (ForNode::execute):
              (ForInNode::execute):
              (ContinueNode::execute):
              (BreakNode::execute):
              (ReturnNode::execute):
              (WithNode::execute):
              (CaseClauseNode::evaluate):
              (ClauseListNode::evaluate):
              (CaseBlockNode::evaluate):
              (CaseBlockNode::evalBlock):
              (SwitchNode::execute):
              (ThrowNode::execute):
              (CatchNode::execute):
              (TryNode::execute):
              (ParameterNode::evaluate):
              (FuncDeclNode::processFuncDecl):
              (FuncExprNode::evaluate):
              (SourceElementsNode::execute):
              * kjs/nodes.h:
              (KJS::StatementNode::evaluate):
              * kjs/number_object.cpp:
              (NumberPrototypeImp::NumberPrototypeImp):
              (NumberProtoFuncImp::NumberProtoFuncImp):
              (NumberProtoFuncImp::callAsFunction):
              (NumberObjectImp::NumberObjectImp):
              (NumberObjectImp::getValueProperty):
              (NumberObjectImp::construct):
              (NumberObjectImp::callAsFunction):
              * kjs/number_object.h:
              * kjs/object.cpp:
              (KJS::ObjectImp::call):
              (KJS::ObjectImp::mark):
              (KJS::ObjectImp::classInfo):
              (KJS::ObjectImp::get):
              (KJS::ObjectImp::getProperty):
              (KJS::ObjectImp::getPropertySlot):
              (KJS::ObjectImp::put):
              (KJS::ObjectImp::hasOwnProperty):
              (KJS::ObjectImp::defaultValue):
              (KJS::ObjectImp::findPropertyHashEntry):
              (KJS::ObjectImp::construct):
              (KJS::ObjectImp::callAsFunction):
              (KJS::ObjectImp::hasInstance):
              (KJS::ObjectImp::propList):
              (KJS::ObjectImp::toPrimitive):
              (KJS::ObjectImp::toNumber):
              (KJS::ObjectImp::toString):
              (KJS::ObjectImp::toObject):
              (KJS::ObjectImp::putDirect):
              (KJS::Error::create):
              (KJS::error):
              * kjs/object.h:
              (KJS::):
              (KJS::ObjectImp::getPropertySlot):
              (KJS::AllocatedValueImp::isObject):
              (KJS::ObjectImp::ObjectImp):
              (KJS::ObjectImp::internalValue):
              (KJS::ObjectImp::setInternalValue):
              (KJS::ObjectImp::prototype):
              (KJS::ObjectImp::setPrototype):
              (KJS::ObjectImp::inherits):
              * kjs/object_object.cpp:
              (ObjectPrototypeImp::ObjectPrototypeImp):
              (ObjectProtoFuncImp::ObjectProtoFuncImp):
              (ObjectProtoFuncImp::callAsFunction):
              (ObjectObjectImp::ObjectObjectImp):
              (ObjectObjectImp::construct):
              (ObjectObjectImp::callAsFunction):
              * kjs/object_object.h:
              * kjs/operations.cpp:
              (KJS::equal):
              (KJS::strictEqual):
              (KJS::relation):
              (KJS::add):
              (KJS::mult):
              * kjs/operations.h:
              * kjs/property_map.cpp:
              (KJS::PropertyMap::mark):
              (KJS::PropertyMap::addEnumerablesToReferenceList):
              (KJS::PropertyMap::addSparseArrayPropertiesToReferenceList):
              (KJS::PropertyMap::save):
              (KJS::PropertyMap::restore):
              * kjs/property_map.h:
              * kjs/property_slot.cpp:
              (KJS::PropertySlot::undefinedGetter):
              * kjs/property_slot.h:
              (KJS::PropertySlot::getValue):
              * kjs/protect.h:
              (KJS::gcUnprotectNullTolerant):
              (KJS::ProtectedValue::ProtectedValue):
              (KJS::ProtectedValue::~ProtectedValue):
              (KJS::ProtectedValue::operator=):
              (KJS::ProtectedValue::operator ValueImp *):
              (KJS::ProtectedValue::operator->):
              * kjs/protected_object.h:
              (KJS::ProtectedObject::ProtectedObject):
              (KJS::ProtectedObject::operator=):
              (KJS::ProtectedObject::operator ValueImp *):
              (KJS::ProtectedObject::operator ObjectImp *):
              (KJS::ProtectedObject::operator->):
              (KJS::ProtectedReference::ProtectedReference):
              (KJS::ProtectedReference::~ProtectedReference):
              (KJS::ProtectedReference::operator=):
              * kjs/protected_values.cpp:
              (KJS::ProtectedValues::getProtectCount):
              (KJS::ProtectedValues::increaseProtectCount):
              (KJS::ProtectedValues::insert):
              (KJS::ProtectedValues::decreaseProtectCount):
              * kjs/protected_values.h:
              * kjs/reference.cpp:
              (KJS::Reference::Reference):
              (KJS::Reference::makeValueReference):
              (KJS::Reference::getBase):
              (KJS::Reference::getValue):
              (KJS::Reference::putValue):
              (KJS::Reference::deleteValue):
              * kjs/reference.h:
              (KJS::Reference::baseIfMutable):
              * kjs/regexp_object.cpp:
              (RegExpPrototypeImp::RegExpPrototypeImp):
              (RegExpProtoFuncImp::RegExpProtoFuncImp):
              (RegExpProtoFuncImp::callAsFunction):
              (RegExpObjectImp::RegExpObjectImp):
              (RegExpObjectImp::arrayOfMatches):
              (RegExpObjectImp::backrefGetter):
              (RegExpObjectImp::construct):
              (RegExpObjectImp::callAsFunction):
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              (StringInstanceImp::lengthGetter):
              (StringInstanceImp::indexGetter):
              (StringInstanceImp::getOwnPropertySlot):
              (StringInstanceImp::put):
              (StringPrototypeImp::StringPrototypeImp):
              (StringProtoFuncImp::StringProtoFuncImp):
              (regExpIsGlobal):
              (replace):
              (StringProtoFuncImp::callAsFunction):
              (StringObjectImp::StringObjectImp):
              (StringObjectImp::construct):
              (StringObjectImp::callAsFunction):
              (StringObjectFuncImp::StringObjectFuncImp):
              (StringObjectFuncImp::callAsFunction):
              * kjs/string_object.h:
              * kjs/testkjs.cpp:
              (TestFunctionImp::callAsFunction):
              (VersionFunctionImp::callAsFunction):
              (main):
              * kjs/value.cpp:
              (KJS::AllocatedValueImp::operator new):
              (KJS::AllocatedValueImp::getUInt32):
              (KJS::ValueImp::toInteger):
              (KJS::ValueImp::toInt32):
              (KJS::ValueImp::toUInt32):
              (KJS::ValueImp::toUInt16):
              (KJS::ValueImp::toObject):
              (KJS::AllocatedValueImp::getBoolean):
              (KJS::AllocatedValueImp::getNumber):
              (KJS::AllocatedValueImp::getString):
              (KJS::AllocatedValueImp::getObject):
              (KJS::jsString):
              (KJS::jsNumber):
              (KJS::ConstantValues::init):
              (KJS::ConstantValues::clear):
              (KJS::ConstantValues::mark):
              * kjs/value.h:
              (KJS::):
              (KJS::jsUndefined):
              (KJS::jsNull):
              (KJS::jsBoolean):
              (KJS::jsNaN):
              (KJS::ValueImp::ValueImp):
              (KJS::ValueImp::~ValueImp):
              (KJS::AllocatedValueImp::AllocatedValueImp):
              (KJS::AllocatedValueImp::~AllocatedValueImp):
              (KJS::AllocatedValueImp::isBoolean):
              (KJS::AllocatedValueImp::isNumber):
              (KJS::AllocatedValueImp::isString):
              (KJS::AllocatedValueImp::isObject):
              (KJS::AllocatedValueImp::marked):
              (KJS::AllocatedValueImp::mark):
              (KJS::ValueImp::downcast):
              (KJS::ValueImp::isUndefined):
              (KJS::ValueImp::isNull):
              (KJS::ValueImp::isUndefinedOrNull):
              (KJS::ValueImp::isBoolean):
              (KJS::ValueImp::isNumber):
              (KJS::ValueImp::isString):
              (KJS::ValueImp::isObject):
              (KJS::ValueImp::getBoolean):
              (KJS::ValueImp::getNumber):
              (KJS::ValueImp::getString):
              (KJS::ValueImp::getObject):
              (KJS::ValueImp::getUInt32):
              (KJS::ValueImp::mark):
              (KJS::ValueImp::marked):
              (KJS::ValueImp::type):
              (KJS::ValueImp::toPrimitive):
              (KJS::ValueImp::toBoolean):
              (KJS::ValueImp::toNumber):
              (KJS::ValueImp::toString):
              (KJS::jsZero):
              (KJS::jsOne):
              (KJS::jsTwo):
              (KJS::Undefined):
              (KJS::Null):
              (KJS::Boolean):
              (KJS::Number):
              (KJS::String):
      
      WebCore:
      
              Rubber stamped by Maciej.
      
              - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4313
                eliminate KJS::Value and KJS::Object smart pointer wrappers (for simplicity and speed)
      
              * khtml/ecma/domparser.cpp:
              (KJS::DOMParserConstructorImp::construct):
              (KJS::DOMParserProtoFunc::callAsFunction):
              * khtml/ecma/domparser.h:
              * khtml/ecma/kjs_binding.cpp:
              (KJS::ScriptInterpreter::ScriptInterpreter):
              (KJS::ScriptInterpreter::isGlobalObject):
              (KJS::ScriptInterpreter::createLanguageInstanceForValue):
              (KJS::getStringOrNull):
              (KJS::ValueToVariant):
              (KJS::setDOMException):
              * khtml/ecma/kjs_binding.h:
              (KJS::DOMFunction::toPrimitive):
              (KJS::cacheDOMObject):
              * khtml/ecma/kjs_css.cpp:
              (KJS::DOMCSSStyleDeclaration::indexGetter):
              (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
              (KJS::DOMCSSStyleDeclaration::getValueProperty):
              (KJS::DOMCSSStyleDeclaration::put):
              (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
              (KJS::DOMStyleSheet::getValueProperty):
              (KJS::DOMStyleSheet::put):
              (KJS::DOMStyleSheetList::getValueProperty):
              (KJS::DOMStyleSheetList::indexGetter):
              (KJS::DOMStyleSheetList::nameGetter):
              (KJS::DOMStyleSheetListFunc::callAsFunction):
              (KJS::DOMMediaList::getValueProperty):
              (KJS::DOMMediaList::indexGetter):
              (KJS::DOMMediaList::put):
              (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
              (KJS::DOMCSSStyleSheet::getValueProperty):
              (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
              (KJS::DOMCSSRuleList::getValueProperty):
              (KJS::DOMCSSRuleList::indexGetter):
              (KJS::DOMCSSRuleListFunc::callAsFunction):
              (KJS::DOMCSSRule::getValueProperty):
              (KJS::DOMCSSRule::put):
              (KJS::DOMCSSRule::putValueProperty):
              (KJS::DOMCSSRuleFunc::callAsFunction):
              (KJS::CSSRuleConstructor::getValueProperty):
              (KJS::getCSSRuleConstructor):
              (KJS::DOMCSSValue::getValueProperty):
              (KJS::DOMCSSValue::put):
              (KJS::getDOMCSSValue):
              (KJS::CSSValueConstructor::getValueProperty):
              (KJS::getCSSValueConstructor):
              (KJS::DOMCSSPrimitiveValue::getValueProperty):
              (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
              (KJS::CSSPrimitiveValueConstructor::getValueProperty):
              (KJS::getCSSPrimitiveValueConstructor):
              (KJS::DOMCSSValueList::getValueProperty):
              (KJS::DOMCSSValueList::indexGetter):
              (KJS::DOMCSSValueListFunc::callAsFunction):
              (KJS::DOMRGBColor::getValueProperty):
              (KJS::DOMRect::getValueProperty):
              (KJS::DOMCounter::getValueProperty):
              * khtml/ecma/kjs_css.h:
              * khtml/ecma/kjs_dom.cpp:
              (KJS::DOMNode::getValueProperty):
              (KJS::DOMNode::put):
              (KJS::DOMNode::putValueProperty):
              (KJS::DOMNode::toPrimitive):
              (KJS::DOMNode::getListener):
              (KJS::DOMNodeProtoFunc::callAsFunction):
              (KJS::DOMNodeList::toPrimitive):
              (KJS::DOMNodeList::getValueProperty):
              (KJS::DOMNodeList::indexGetter):
              (KJS::DOMNodeList::nameGetter):
              (KJS::DOMNodeList::callAsFunction):
              (KJS::DOMNodeListFunc::DOMNodeListFunc):
              (KJS::DOMNodeListFunc::callAsFunction):
              (KJS::DOMAttr::getValueProperty):
              (KJS::DOMAttr::put):
              (KJS::DOMAttr::putValueProperty):
              (KJS::DOMDocument::getValueProperty):
              (KJS::DOMDocument::put):
              (KJS::DOMDocument::putValueProperty):
              (KJS::DOMDocumentProtoFunc::callAsFunction):
              (KJS::DOMElement::getValueProperty):
              (KJS::DOMElement::attributeGetter):
              (KJS::DOMElement::getOwnPropertySlot):
              (KJS::DOMElementProtoFunc::callAsFunction):
              (KJS::DOMDOMImplementationProtoFunc::callAsFunction):
              (KJS::DOMDocumentType::getValueProperty):
              (KJS::DOMNamedNodeMap::lengthGetter):
              (KJS::DOMNamedNodeMap::indexGetter):
              (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
              (KJS::DOMProcessingInstruction::getValueProperty):
              (KJS::DOMProcessingInstruction::put):
              (KJS::DOMNotation::getValueProperty):
              (KJS::DOMEntity::getValueProperty):
              (KJS::NodeConstructor::getValueProperty):
              (KJS::DOMExceptionConstructor::getValueProperty):
              (KJS::DOMNamedNodesCollection::lengthGetter):
              (KJS::DOMNamedNodesCollection::indexGetter):
              (KJS::DOMCharacterData::getValueProperty):
              (KJS::DOMCharacterData::put):
              (KJS::DOMCharacterDataProtoFunc::callAsFunction):
              (KJS::DOMTextProtoFunc::callAsFunction):
              * khtml/ecma/kjs_dom.h:
              * khtml/ecma/kjs_events.cpp:
              (KJS::JSAbstractEventListener::handleEvent):
              (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener):
              (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener):
              (KJS::JSUnprotectedEventListener::listenerObj):
              (KJS::JSUnprotectedEventListener::windowObj):
              (KJS::JSUnprotectedEventListener::mark):
              (KJS::JSEventListener::JSEventListener):
              (KJS::JSEventListener::~JSEventListener):
              (KJS::JSEventListener::listenerObj):
              (KJS::JSEventListener::windowObj):
              (KJS::JSLazyEventListener::JSLazyEventListener):
              (KJS::JSLazyEventListener::handleEvent):
              (KJS::JSLazyEventListener::listenerObj):
              (KJS::JSLazyEventListener::parseCode):
              (KJS::getNodeEventListener):
              (KJS::EventConstructor::getValueProperty):
              (KJS::getEventConstructor):
              (KJS::DOMEvent::getValueProperty):
              (KJS::DOMEvent::put):
              (KJS::DOMEvent::putValueProperty):
              (KJS::DOMEventProtoFunc::callAsFunction):
              (KJS::getDOMEvent):
              (KJS::EventExceptionConstructor::getValueProperty):
              (KJS::getEventExceptionConstructor):
              (KJS::DOMUIEvent::getValueProperty):
              (KJS::DOMUIEventProtoFunc::callAsFunction):
              (KJS::DOMMouseEvent::getValueProperty):
              (KJS::DOMMouseEventProtoFunc::callAsFunction):
              (KJS::DOMKeyboardEvent::getValueProperty):
              (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
              (KJS::MutationEventConstructor::getValueProperty):
              (KJS::getMutationEventConstructor):
              (KJS::DOMMutationEvent::getValueProperty):
              (KJS::DOMMutationEventProtoFunc::callAsFunction):
              (KJS::DOMWheelEvent::getValueProperty):
              (KJS::DOMWheelEventProtoFunc::callAsFunction):
              (KJS::stringOrUndefined):
              (KJS::Clipboard::getValueProperty):
              (KJS::Clipboard::put):
              (KJS::Clipboard::putValueProperty):
              (KJS::ClipboardProtoFunc::callAsFunction):
              * khtml/ecma/kjs_events.h:
              (KJS::JSAbstractEventListener::listenerObjImp):
              * khtml/ecma/kjs_html.cpp:
              (KJS::KJS::HTMLDocFunction::callAsFunction):
              (KJS::HTMLDocument::namedItemGetter):
              (KJS::HTMLDocument::getValueProperty):
              (KJS::KJS::HTMLDocument::put):
              (KJS::KJS::HTMLDocument::putValueProperty):
              (KJS::HTMLElement::formIndexGetter):
              (KJS::HTMLElement::formNameGetter):
              (KJS::HTMLElement::selectIndexGetter):
              (KJS::HTMLElement::framesetNameGetter):
              (KJS::HTMLElement::frameWindowPropertyGetter):
              (KJS::HTMLElement::runtimeObjectGetter):
              (KJS::HTMLElement::runtimeObjectPropertyGetter):
              (KJS::HTMLElement::getOwnPropertySlot):
              (KJS::KJS::HTMLElement::implementsCall):
              (KJS::KJS::HTMLElement::callAsFunction):
              (KJS::HTMLElement::htmlGetter):
              (KJS::HTMLElement::headGetter):
              (KJS::HTMLElement::linkGetter):
              (KJS::HTMLElement::titleGetter):
              (KJS::HTMLElement::metaGetter):
              (KJS::HTMLElement::baseGetter):
              (KJS::HTMLElement::isIndexGetter):
              (KJS::HTMLElement::styleGetter):
              (KJS::HTMLElement::bodyGetter):
              (KJS::HTMLElement::formGetter):
              (KJS::HTMLElement::selectGetter):
              (KJS::HTMLElement::optGroupGetter):
              (KJS::HTMLElement::optionGetter):
              (KJS::getInputSelectionStart):
              (KJS::getInputSelectionEnd):
              (KJS::HTMLElement::inputGetter):
              (KJS::HTMLElement::textAreaGetter):
              (KJS::HTMLElement::buttonGetter):
              (KJS::HTMLElement::labelGetter):
              (KJS::HTMLElement::fieldSetGetter):
              (KJS::HTMLElement::legendGetter):
              (KJS::HTMLElement::uListGetter):
              (KJS::HTMLElement::oListGetter):
              (KJS::HTMLElement::dListGetter):
              (KJS::HTMLElement::dirGetter):
              (KJS::HTMLElement::menuGetter):
              (KJS::HTMLElement::liGetter):
              (KJS::HTMLElement::divGetter):
              (KJS::HTMLElement::paragraphGetter):
              (KJS::HTMLElement::headingGetter):
              (KJS::HTMLElement::blockQuoteGetter):
              (KJS::HTMLElement::quoteGetter):
              (KJS::HTMLElement::preGetter):
              (KJS::HTMLElement::brGetter):
              (KJS::HTMLElement::baseFontGetter):
              (KJS::HTMLElement::fontGetter):
              (KJS::HTMLElement::hrGetter):
              (KJS::HTMLElement::modGetter):
              (KJS::HTMLElement::anchorGetter):
              (KJS::HTMLElement::imageGetter):
              (KJS::HTMLElement::objectGetter):
              (KJS::HTMLElement::paramGetter):
              (KJS::HTMLElement::appletGetter):
              (KJS::HTMLElement::mapGetter):
              (KJS::HTMLElement::areaGetter):
              (KJS::HTMLElement::scriptGetter):
              (KJS::HTMLElement::tableGetter):
              (KJS::HTMLElement::tableCaptionGetter):
              (KJS::HTMLElement::tableColGetter):
              (KJS::HTMLElement::tableSectionGetter):
              (KJS::HTMLElement::tableRowGetter):
              (KJS::HTMLElement::tableCellGetter):
              (KJS::HTMLElement::frameSetGetter):
              (KJS::HTMLElement::frameGetter):
              (KJS::HTMLElement::iFrameGetter):
              (KJS::HTMLElement::marqueeGetter):
              (KJS::HTMLElement::getValueProperty):
              (KJS::HTMLElementFunction::HTMLElementFunction):
              (KJS::KJS::HTMLElementFunction::callAsFunction):
              (KJS::KJS::HTMLElement::put):
              (KJS::HTMLElement::htmlSetter):
              (KJS::HTMLElement::headSetter):
              (KJS::HTMLElement::linkSetter):
              (KJS::HTMLElement::titleSetter):
              (KJS::HTMLElement::metaSetter):
              (KJS::HTMLElement::baseSetter):
              (KJS::HTMLElement::isIndexSetter):
              (KJS::HTMLElement::styleSetter):
              (KJS::HTMLElement::bodySetter):
              (KJS::HTMLElement::formSetter):
              (KJS::HTMLElement::selectSetter):
              (KJS::HTMLElement::optGroupSetter):
              (KJS::HTMLElement::optionSetter):
              (KJS::HTMLElement::inputSetter):
              (KJS::HTMLElement::textAreaSetter):
              (KJS::HTMLElement::buttonSetter):
              (KJS::HTMLElement::labelSetter):
              (KJS::HTMLElement::fieldSetSetter):
              (KJS::HTMLElement::legendSetter):
              (KJS::HTMLElement::uListSetter):
              (KJS::HTMLElement::oListSetter):
              (KJS::HTMLElement::dListSetter):
              (KJS::HTMLElement::dirSetter):
              (KJS::HTMLElement::menuSetter):
              (KJS::HTMLElement::liSetter):
              (KJS::HTMLElement::divSetter):
              (KJS::HTMLElement::paragraphSetter):
              (KJS::HTMLElement::headingSetter):
              (KJS::HTMLElement::blockQuoteSetter):
              (KJS::HTMLElement::quoteSetter):
              (KJS::HTMLElement::preSetter):
              (KJS::HTMLElement::brSetter):
              (KJS::HTMLElement::baseFontSetter):
              (KJS::HTMLElement::fontSetter):
              (KJS::HTMLElement::hrSetter):
              (KJS::HTMLElement::modSetter):
              (KJS::HTMLElement::anchorSetter):
              (KJS::HTMLElement::imageSetter):
              (KJS::HTMLElement::objectSetter):
              (KJS::HTMLElement::paramSetter):
              (KJS::HTMLElement::appletSetter):
              (KJS::HTMLElement::mapSetter):
              (KJS::HTMLElement::areaSetter):
              (KJS::HTMLElement::scriptSetter):
              (KJS::HTMLElement::tableSetter):
              (KJS::HTMLElement::tableCaptionSetter):
              (KJS::HTMLElement::tableColSetter):
              (KJS::HTMLElement::tableSectionSetter):
              (KJS::HTMLElement::tableRowSetter):
              (KJS::HTMLElement::tableCellSetter):
              (KJS::HTMLElement::frameSetSetter):
              (KJS::HTMLElement::frameSetter):
              (KJS::HTMLElement::iFrameSetter):
              (KJS::HTMLElement::marqueeSetter):
              (KJS::HTMLElement::putValueProperty):
              (KJS::HTMLCollection::lengthGetter):
              (KJS::HTMLCollection::indexGetter):
              (KJS::HTMLCollection::nameGetter):
              (KJS::HTMLCollection::getOwnPropertySlot):
              (KJS::KJS::HTMLCollection::callAsFunction):
              (KJS::KJS::HTMLCollection::getNamedItems):
              (KJS::KJS::HTMLCollectionProtoFunc::callAsFunction):
              (KJS::HTMLSelectCollection::selectedIndexGetter):
              (KJS::KJS::HTMLSelectCollection::put):
              (KJS::OptionConstructorImp::construct):
              (KJS::ImageConstructorImp::construct):
              (KJS::Image::getValueProperty):
              (KJS::Image::put):
              (KJS::Image::putValueProperty):
              (KJS::isGradient):
              (KJS::isImagePattern):
              (KJS::KJS::Context2DFunction::callAsFunction):
              (KJS::Context2D::getValueProperty):
              (KJS::Context2D::put):
              (KJS::colorRefFromValue):
              (KJS::colorFromValue):
              (KJS::Context2D::setShadow):
              (KJS::Context2D::updateFillImagePattern):
              (KJS::Context2D::updateStrokeImagePattern):
              (KJS::Context2D::putValueProperty):
              (KJS::Context2D::Context2D):
              (KJS::Context2D::mark):
              (KJS::GradientFunction::callAsFunction):
              (KJS::Gradient::getValueProperty):
              (KJS::Gradient::put):
              (KJS::Gradient::putValueProperty):
              (KJS::ImagePattern::getValueProperty):
              (KJS::ImagePattern::put):
              (KJS::ImagePattern::putValueProperty):
              * khtml/ecma/kjs_html.h:
              * khtml/ecma/kjs_navigator.cpp:
              (KJS::Navigator::getValueProperty):
              (KJS::Plugins::getValueProperty):
              (KJS::Plugins::indexGetter):
              (KJS::Plugins::nameGetter):
              (KJS::MimeTypes::getValueProperty):
              (KJS::MimeTypes::indexGetter):
              (KJS::MimeTypes::nameGetter):
              (KJS::Plugin::getValueProperty):
              (KJS::Plugin::indexGetter):
              (KJS::Plugin::nameGetter):
              (KJS::MimeType::getValueProperty):
              (KJS::PluginsFunc::callAsFunction):
              (KJS::NavigatorFunc::callAsFunction):
              * khtml/ecma/kjs_navigator.h:
              * khtml/ecma/kjs_proxy.cpp:
              (KJSProxyImpl::evaluate):
              (TestFunctionImp::callAsFunction):
              (KJSProxyImpl::initScript):
              (KJSProxy::proxy):
              * khtml/ecma/kjs_range.cpp:
              (KJS::DOMRange::getValueProperty):
              (KJS::DOMRangeProtoFunc::callAsFunction):
              (KJS::RangeConstructor::getValueProperty):
              * khtml/ecma/kjs_range.h:
              * khtml/ecma/kjs_traversal.cpp:
              (KJS::DOMNodeIterator::getValueProperty):
              (KJS::DOMNodeIteratorProtoFunc::callAsFunction):
              (KJS::NodeFilterConstructor::getValueProperty):
              (KJS::getNodeFilterConstructor):
              (KJS::DOMNodeFilterProtoFunc::callAsFunction):
              (KJS::DOMTreeWalker::getValueProperty):
              (KJS::DOMTreeWalker::put):
              (KJS::DOMTreeWalkerProtoFunc::callAsFunction):
              (KJS::JSNodeFilterCondition::JSNodeFilterCondition):
              (KJS::JSNodeFilterCondition::acceptNode):
              * khtml/ecma/kjs_traversal.h:
              * khtml/ecma/kjs_views.cpp:
              (KJS::DOMAbstractView::getValueProperty):
              (KJS::DOMAbstractViewFunc::callAsFunction):
              * khtml/ecma/kjs_views.h:
              * khtml/ecma/kjs_window.cpp:
              (KJS::Screen::getValueProperty):
              (KJS::Window::retrieveWindow):
              (KJS::Window::retrieveActive):
              (KJS::Window::retrieve):
              (KJS::parseFeatures):
              (KJS::showModalDialog):
              (KJS::Window::getValueProperty):
              (KJS::Window::childFrameGetter):
              (KJS::Window::namedFrameGetter):
              (KJS::Window::indexGetter):
              (KJS::Window::namedItemGetter):
              (KJS::Window::put):
              (KJS::Window::installTimeout):
              (KJS::Window::setListener):
              (KJS::Window::getListener):
              (KJS::Window::getJSEventListener):
              (KJS::Window::getJSUnprotectedEventListener):
              (KJS::Window::getJSLazyEventListener):
              (KJS::WindowFunc::callAsFunction):
              (KJS::ScheduledAction::ScheduledAction):
              (KJS::ScheduledAction::execute):
              (KJS::WindowQObject::installTimeout):
              (KJS::FrameArray::getValueProperty):
              (KJS::FrameArray::indexGetter):
              (KJS::FrameArray::nameGetter):
              (KJS::Location::getValueProperty):
              (KJS::Location::put):
              (KJS::Location::toPrimitive):
              (KJS::LocationFunc::callAsFunction):
              (KJS::Selection::getValueProperty):
              (KJS::Selection::toPrimitive):
              (KJS::SelectionFunc::callAsFunction):
              (KJS::BarInfo::getValueProperty):
              (KJS::History::getValueProperty):
              (KJS::HistoryFunc::callAsFunction):
              (KJS::Konqueror::get):
              (KJS::KonquerorFunc::callAsFunction):
              * khtml/ecma/kjs_window.h:
              * khtml/ecma/xmlhttprequest.cpp:
              (KJS::XMLHttpRequestConstructorImp::construct):
              (KJS::XMLHttpRequest::getValueProperty):
              (KJS::XMLHttpRequest::put):
              (KJS::XMLHttpRequest::putValueProperty):
              (KJS::XMLHttpRequest::getAllResponseHeaders):
              (KJS::XMLHttpRequest::getResponseHeader):
              (KJS::XMLHttpRequest::getStatus):
              (KJS::XMLHttpRequest::getStatusText):
              (KJS::XMLHttpRequestProtoFunc::callAsFunction):
              * khtml/ecma/xmlhttprequest.h:
              * khtml/ecma/xmlserializer.cpp:
              (KJS::XMLSerializerConstructorImp::construct):
              (KJS::XMLSerializerProtoFunc::callAsFunction):
              * khtml/ecma/xmlserializer.h:
              * kwq/DOMUtility.mm:
              (KJS::ScriptInterpreter::createObjcInstanceForValue):
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::bindingRootObject):
              (KWQKHTMLPart::windowScriptObject):
              (KWQKHTMLPart::windowScriptNPObject):
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge executionContextForView:]):
              * kwq/WebCoreScriptDebugger.mm:
              (WebCoreScriptDebuggerImp::callEvent):
              (WebCoreScriptDebuggerImp::returnEvent):
              (-[WebCoreScriptDebugger finalize]):
              (-[WebCoreScriptCallFrame _convertValueToObjcValue:]):
              (-[WebCoreScriptCallFrame scopeChain]):
              (-[WebCoreScriptCallFrame evaluateWebScript:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10084 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c13d2caf
  32. 07 Aug, 2005 1 commit
    • mjs's avatar
      JavaScriptCore: · 70d74214
      mjs authored
              Reviewed by Darin.
      
      	Change over to the new PropertySlot mechanism for property
      	lookup. This allows the elimination of hasOwnProperty
      	methods. Also did some of the performance tuning enabled by this
      	(but not yet all the possible improvements for function calls,
      	assignment, ++, and so forth). And also much code cleanup.
      
      	Net result is about a 2% speedup on the JS iBench.
      
      	Also redid Geoff's fix for the chrashing applet by avoiding a NULL
      	prototype in the bindings code and using the default of Null()
      	instead.
      
      	* JavaScriptCore.xcodeproj/project.pbxproj:
              * bindings/objc/objc_runtime.h:
              * bindings/objc/objc_runtime.mm:
              (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
              (ObjcFallbackObjectImp::getOwnPropertySlot):
              * bindings/runtime_array.cpp:
              (RuntimeArrayImp::lengthGetter):
              (RuntimeArrayImp::indexGetter):
              (RuntimeArrayImp::getOwnPropertySlot):
              * bindings/runtime_array.h:
              * bindings/runtime_method.cpp:
              (RuntimeMethodImp::lengthGetter):
              (RuntimeMethodImp::getOwnPropertySlot):
              * bindings/runtime_method.h:
              * bindings/runtime_object.cpp:
              (RuntimeObjectImp::RuntimeObjectImp):
              (RuntimeObjectImp::fallbackObjectGetter):
              (RuntimeObjectImp::fieldGetter):
              (RuntimeObjectImp::methodGetter):
              (RuntimeObjectImp::getOwnPropertySlot):
              * bindings/runtime_object.h:
              * bindings/runtime_root.h:
              * kjs/array_instance.h:
              * kjs/array_object.cpp:
              (ArrayInstanceImp::lengthGetter):
              (ArrayInstanceImp::getOwnPropertySlot):
              (ArrayPrototypeImp::getOwnPropertySlot):
              * kjs/array_object.h:
              * kjs/date_object.cpp:
              (DatePrototypeImp::getOwnPropertySlot):
              * kjs/date_object.h:
              * kjs/function.cpp:
              (KJS::FunctionImp::argumentsGetter):
              (KJS::FunctionImp::lengthGetter):
              (KJS::FunctionImp::getOwnPropertySlot):
              (KJS::FunctionImp::put):
              (KJS::FunctionImp::deleteProperty):
              (KJS::ArgumentsImp::mappedIndexGetter):
              (KJS::ArgumentsImp::getOwnPropertySlot):
              (KJS::ActivationImp::argumentsGetter):
              (KJS::ActivationImp::getArgumentsGetter):
              (KJS::ActivationImp::getOwnPropertySlot):
              (KJS::ActivationImp::deleteProperty):
              * kjs/function.h:
              * kjs/internal.cpp:
              (InterpreterImp::InterpreterImp):
              (InterpreterImp::initGlobalObject):
              (InterpreterImp::~InterpreterImp):
              (InterpreterImp::evaluate):
              * kjs/internal.h:
              (KJS::InterpreterImp::globalExec):
              * kjs/interpreter.cpp:
              (Interpreter::Interpreter):
              (Interpreter::createLanguageInstanceForValue):
              * kjs/interpreter.h:
              (KJS::Interpreter::argumentsIdentifier):
              (KJS::Interpreter::specialPrototypeIdentifier):
              * kjs/lookup.h:
              (KJS::staticFunctionGetter):
              (KJS::staticValueGetter):
              (KJS::getStaticPropertySlot):
              (KJS::getStaticFunctionSlot):
              (KJS::getStaticValueSlot):
              * kjs/math_object.cpp:
              (MathObjectImp::getOwnPropertySlot):
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              (ResolveNode::evaluate):
              (ResolveNode::evaluateReference):
              (AccessorNode1::evaluate):
              (AccessorNode2::evaluate):
              * kjs/number_object.cpp:
              (NumberObjectImp::getOwnPropertySlot):
              * kjs/number_object.h:
              * kjs/object.cpp:
              (KJS::ObjectImp::get):
              (KJS::ObjectImp::getProperty):
              (KJS::ObjectImp::getPropertySlot):
              (KJS::ObjectImp::getOwnPropertySlot):
              (KJS::ObjectImp::put):
              (KJS::ObjectImp::hasProperty):
              (KJS::ObjectImp::hasOwnProperty):
              * kjs/object.h:
              (KJS::ObjectImp::getDirectLocation):
              (KJS::ObjectImp::getPropertySlot):
              (KJS::ObjectImp::getOwnPropertySlot):
              * kjs/object_wrapper.h: Added.
              (KJS::):
              (KJS::Object::Object):
              (KJS::Object::operator ObjectImp *):
              * kjs/property_map.cpp:
              (KJS::PropertyMap::getLocation):
              * kjs/property_map.h:
              * kjs/property_slot.cpp: Added.
              (KJS::PropertySlot::undefinedGetter):
              * kjs/property_slot.h: Added.
              (KJS::PropertySlot::isSet):
              (KJS::PropertySlot::getValue):
              (KJS::PropertySlot::setValueSlot):
              (KJS::PropertySlot::setStaticEntry):
              (KJS::PropertySlot::setCustom):
              (KJS::PropertySlot::setCustomIndex):
              (KJS::PropertySlot::setUndefined):
              (KJS::PropertySlot::slotBase):
              (KJS::PropertySlot::staticEntry):
              (KJS::PropertySlot::index):
              (KJS::PropertySlot::):
              * kjs/protect.h:
              * kjs/protected_object.h: Added.
              (KJS::ProtectedObject::ProtectedObject):
              (KJS::ProtectedObject::~ProtectedObject):
              (KJS::ProtectedObject::operator=):
              (KJS::ProtectedReference::ProtectedReference):
              (KJS::ProtectedReference::~ProtectedReference):
              (KJS::ProtectedReference::operator=):
              * kjs/reference.h:
              * kjs/reference_list.cpp:
              * kjs/regexp_object.cpp:
              (RegExpObjectImp::backrefGetter):
              (RegExpObjectImp::getOwnPropertySlot):
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              (StringInstanceImp::lengthGetter):
              (StringInstanceImp::indexGetter):
              (StringInstanceImp::getOwnPropertySlot):
              (StringPrototypeImp::getOwnPropertySlot):
              * kjs/string_object.h:
      
      WebCore:
      
              Reviewed by Darin.
      
      	Change over to the new PropertySlot mechanism for property
      	lookup. This allows the elimination of hasOwnProperty methods. I
      	also did a bunch of code cleanup and regularization of the various
      	property lookup methods.
      
              Test cases added: Added a test case for a bug I found along the way.
              * layout-tests/fast/js/string-index-overflow.html:
      	* layout-tests/fast/js/string-index-overflow-expected.txt:
      
              * khtml/ecma/kjs_binding.cpp:
              (KJS::ScriptInterpreter::createLanguageInstanceForValue):
              * khtml/ecma/kjs_binding.h:
              * khtml/ecma/kjs_css.cpp:
              (KJS::DOMCSSStyleDeclaration::indexGetter):
              (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
              (KJS::DOMCSSStyleDeclaration::getOwnPropertySlot):
              (KJS::DOMCSSStyleDeclaration::getValueProperty):
              (KJS::DOMStyleSheet::getOwnPropertySlot):
              (KJS::DOMStyleSheetList::getValueProperty):
              (KJS::DOMStyleSheetList::indexGetter):
              (KJS::DOMStyleSheetList::nameGetter):
              (KJS::DOMStyleSheetList::getOwnPropertySlot):
              (KJS::DOMMediaList::getValueProperty):
              (KJS::DOMMediaList::indexGetter):
              (KJS::DOMMediaList::getOwnPropertySlot):
              (KJS::DOMCSSStyleSheet::getValueProperty):
              (KJS::DOMCSSStyleSheet::getOwnPropertySlot):
              (KJS::DOMCSSRuleList::getValueProperty):
              (KJS::DOMCSSRuleList::indexGetter):
              (KJS::DOMCSSRuleList::getOwnPropertySlot):
              (KJS::DOMCSSRule::getOwnPropertySlot):
              (KJS::CSSRuleConstructor::getOwnPropertySlot):
              (KJS::DOMCSSValue::getValueProperty):
              (KJS::DOMCSSValue::getOwnPropertySlot):
              (KJS::CSSValueConstructor::getOwnPropertySlot):
              (KJS::DOMCSSPrimitiveValue::getValueProperty):
              (KJS::DOMCSSPrimitiveValue::getOwnPropertySlot):
              (KJS::CSSPrimitiveValueConstructor::getOwnPropertySlot):
              (KJS::DOMCSSValueList::getValueProperty):
              (KJS::DOMCSSValueList::indexGetter):
              (KJS::DOMCSSValueList::getOwnPropertySlot):
              (KJS::DOMRGBColor::getOwnPropertySlot):
              (KJS::DOMRect::getOwnPropertySlot):
              (KJS::DOMCounter::getOwnPropertySlot):
              * khtml/ecma/kjs_css.h:
              (KJS::DOMCSSStyleDeclaration::):
              (KJS::DOMCSSStyleSheet::):
              (KJS::DOMCSSRule::):
              (KJS::DOMCSSValueList::):
              * khtml/ecma/kjs_dom.cpp:
              (KJS::DOMNode::getOwnPropertySlot):
              (KJS::):
              (KJS::DOMNodeList::getValueProperty):
              (KJS::DOMNodeList::indexGetter):
              (KJS::DOMNodeList::nameGetter):
              (KJS::DOMNodeList::getOwnPropertySlot):
              (KJS::DOMNodeList::call):
              (KJS::DOMAttr::getOwnPropertySlot):
              (KJS::DOMDocument::getOwnPropertySlot):
              (KJS::DOMElement::getValueProperty):
              (KJS::DOMElement::attributeGetter):
              (KJS::DOMElement::getOwnPropertySlot):
              (KJS::DOMDocumentType::getOwnPropertySlot):
              (KJS::DOMNamedNodeMap::lengthGetter):
              (KJS::DOMNamedNodeMap::indexGetter):
              (KJS::DOMNamedNodeMap::getOwnPropertySlot):
              (KJS::DOMProcessingInstruction::getOwnPropertySlot):
              (KJS::DOMNotation::getOwnPropertySlot):
              (KJS::DOMEntity::getOwnPropertySlot):
              (KJS::NodeConstructor::getOwnPropertySlot):
              (KJS::DOMExceptionConstructor::getOwnPropertySlot):
              (KJS::DOMNamedNodesCollection::lengthGetter):
              (KJS::DOMNamedNodesCollection::indexGetter):
              (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
              (KJS::DOMCharacterData::getOwnPropertySlot):
              * khtml/ecma/kjs_dom.h:
              * khtml/ecma/kjs_events.cpp:
              (KJS::EventConstructor::getOwnPropertySlot):
              (KJS::DOMEvent::getOwnPropertySlot):
              (KJS::EventExceptionConstructor::getOwnPropertySlot):
              (KJS::DOMUIEvent::getOwnPropertySlot):
              (KJS::DOMMouseEvent::getOwnPropertySlot):
              (KJS::DOMKeyboardEvent::getOwnPropertySlot):
              (KJS::MutationEventConstructor::getOwnPropertySlot):
              (KJS::DOMMutationEvent::getOwnPropertySlot):
              (KJS::DOMWheelEvent::getOwnPropertySlot):
              (KJS::Clipboard::getOwnPropertySlot):
              * khtml/ecma/kjs_events.h:
              * khtml/ecma/kjs_html.cpp:
              (KJS::HTMLDocument::namedItemGetter):
              (KJS::HTMLDocument::getValueProperty):
              (KJS::HTMLDocument::getOwnPropertySlot):
              (KJS::HTMLElement::formIndexGetter):
              (KJS::HTMLElement::formNameGetter):
              (KJS::HTMLElement::selectIndexGetter):
              (KJS::HTMLElement::framesetNameGetter):
              (KJS::HTMLElement::frameWindowPropertyGetter):
              (KJS::HTMLElement::runtimeObjectGetter):
              (KJS::HTMLElement::runtimeObjectPropertyGetter):
              (KJS::HTMLElement::getOwnPropertySlot):
              (KJS::HTMLCollection::lengthGetter):
              (KJS::HTMLCollection::indexGetter):
              (KJS::HTMLCollection::nameGetter):
              (KJS::HTMLCollection::getOwnPropertySlot):
              (KJS::HTMLSelectCollection::selectedIndexGetter):
              (KJS::HTMLSelectCollection::getOwnPropertySlot):
              (KJS::Image::getOwnPropertySlot):
              (KJS::Context2D::getOwnPropertySlot):
              (KJS::Gradient::getOwnPropertySlot):
              (KJS::ImagePattern::getOwnPropertySlot):
              * khtml/ecma/kjs_html.h:
              (KJS::HTMLCollection::toBoolean):
              * khtml/ecma/kjs_navigator.cpp:
              (KJS::Plugins::):
              (KJS::MimeTypes::):
              (KJS::Plugin::):
              (KJS::MimeType::):
              (KJS::):
              (KJS::Navigator::getOwnPropertySlot):
              (KJS::Plugins::getValueProperty):
              (KJS::Plugins::indexGetter):
              (KJS::Plugins::nameGetter):
              (KJS::Plugins::getOwnPropertySlot):
              (KJS::MimeTypes::getValueProperty):
              (KJS::MimeTypes::indexGetter):
              (KJS::MimeTypes::nameGetter):
              (KJS::MimeTypes::getOwnPropertySlot):
              (KJS::Plugin::getValueProperty):
              (KJS::Plugin::indexGetter):
              (KJS::Plugin::nameGetter):
              (KJS::Plugin::getOwnPropertySlot):
              (KJS::MimeType::getValueProperty):
              (KJS::MimeType::getOwnPropertySlot):
              * khtml/ecma/kjs_navigator.h:
              * khtml/ecma/kjs_range.cpp:
              (KJS::DOMRange::getOwnPropertySlot):
              (KJS::RangeConstructor::getOwnPropertySlot):
              * khtml/ecma/kjs_range.h:
              * khtml/ecma/kjs_traversal.cpp:
              (KJS::DOMNodeIterator::getOwnPropertySlot):
              (KJS::NodeFilterConstructor::getOwnPropertySlot):
              (KJS::DOMTreeWalker::getOwnPropertySlot):
              * khtml/ecma/kjs_traversal.h:
              * khtml/ecma/kjs_views.cpp:
              (KJS::DOMAbstractView::~DOMAbstractView):
              (KJS::DOMAbstractView::getValueProperty):
              (KJS::DOMAbstractView::getOwnPropertySlot):
              * khtml/ecma/kjs_views.h:
              * khtml/ecma/kjs_window.cpp:
              (KJS::FrameArray::):
              (KJS::FrameArray::classInfo):
              (KJS::Screen::getOwnPropertySlot):
              (KJS::Window::getValueProperty):
              (KJS::Window::childFrameGetter):
              (KJS::Window::namedFrameGetter):
              (KJS::Window::indexGetter):
              (KJS::Window::namedItemGetter):
              (KJS::Window::getOwnPropertySlot):
              (KJS::):
              (KJS::FrameArray::getValueProperty):
              (KJS::FrameArray::indexGetter):
              (KJS::FrameArray::nameGetter):
              (KJS::FrameArray::getOwnPropertySlot):
              (KJS::Location::getValueProperty):
              (KJS::Location::getOwnPropertySlot):
              (KJS::Selection::getValueProperty):
              (KJS::Selection::getOwnPropertySlot):
              (KJS::BarInfo::getValueProperty):
              (KJS::BarInfo::getOwnPropertySlot):
              (KJS::History::getOwnPropertySlot):
              * khtml/ecma/kjs_window.h:
              * khtml/ecma/xmlhttprequest.cpp:
              (KJS::XMLHttpRequest::getOwnPropertySlot):
              * khtml/ecma/xmlhttprequest.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      70d74214
  33. 14 Jul, 2005 1 commit
    • ggaren's avatar
      -rolled in patches for http://bugzilla.opendarwin.org/show_bug.cgi?id=3945 · 07d4ce61
      ggaren authored
              [PATCH] Safe merges of comments and other trivialities from KDE's kjs
      
              -patch by Martijn Klingens <klingens@kde.org>
      
              * kjs/array_instance.h:
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              * kjs/bool_object.h:
              * kjs/collector.cpp:
              * kjs/collector.h:
              * kjs/completion.h:
              * kjs/context.h:
              * kjs/date_object.cpp:
              * kjs/date_object.h:
              * kjs/debugger.cpp:
              * kjs/debugger.h:
              * kjs/dtoa.h:
              * kjs/error_object.cpp:
              * kjs/error_object.h:
              * kjs/function.cpp:
              * kjs/function.h:
              * kjs/function_object.cpp:
              * kjs/function_object.h:
              * kjs/grammar.y:
              * kjs/identifier.cpp:
              * kjs/identifier.h:
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/interpreter.cpp:
              * kjs/interpreter.h:
              * kjs/interpreter_map.cpp:
              * kjs/interpreter_map.h:
              * kjs/lexer.cpp:
              * kjs/lexer.h:
              * kjs/list.cpp:
              * kjs/list.h:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/math_object.cpp:
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/nodes2string.cpp:
              * kjs/number_object.cpp:
              * kjs/number_object.h:
              * kjs/object.cpp:
              * kjs/object.h:
              * kjs/object_object.cpp:
              * kjs/object_object.h:
              * kjs/operations.cpp:
              * kjs/operations.h:
              * kjs/property_map.cpp:
              * kjs/property_map.h:
              * kjs/reference.cpp:
              * kjs/reference.h:
              * kjs/reference_list.cpp:
              * kjs/reference_list.h:
              * kjs/regexp.cpp:
              * kjs/regexp.h:
              * kjs/regexp_object.cpp:
              * kjs/regexp_object.h:
              * kjs/scope_chain.cpp:
              * kjs/scope_chain.h:
              * kjs/simple_number.h:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
              * kjs/testkjs.cpp:
              * kjs/types.h:
              * kjs/ustring.cpp:
              * kjs/ustring.h:
              * kjs/value.cpp:
              * kjs/value.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9768 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      07d4ce61
  34. 22 Nov, 2002 1 commit
    • darin's avatar
      - prepare to reimplement KJS::List; move to its own file, add statistics · 6afbb079
      darin authored
              * kjs/function_object.cpp: (FunctionProtoFuncImp::call): Use new copyTail()
      	function rather than copy() and removeFirst().
      
              * kjs/identifier.cpp: Add statistics, off by default.
              * kjs/property_map.cpp: Add statistics, off by default.
      
              * kjs/list.cpp: Added. Moved code here. To be rewritten.
              * kjs/list.h: Added. Moved interface here. To be rewritten.
      
              * kjs/types.cpp: Removed.
              * kjs/types.h: Now just an empty header that includes other headers.
      
              * JavaScriptCore.pbproj/project.pbxproj: Add new files, rearrange.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2834 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6afbb079