JavaScriptCore:
authormjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 3 Oct 2005 21:13:12 +0000 (21:13 +0000)
committermjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 3 Oct 2005 21:13:12 +0000 (21:13 +0000)
commitd772f5fedda2a7b464a5361e68e214054b9449b7
tree532c7c78fa48d3e1d7c27645a3f7ee70b15abaa3
parent299aff80ea994589394172241cf8f0cffb1c6a40
JavaScriptCore:

        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: https://svn.webkit.org/repository/webkit/trunk@10701 268f45cc-cd09-0410-ab3c-d52691b4dbfc
345 files changed:
JavaScriptCore/ChangeLog
JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
JavaScriptCore/JavaScriptCorePrefix.h
JavaScriptCore/bindings/NP_jsobject.cpp
JavaScriptCore/bindings/c/c_class.cpp
JavaScriptCore/bindings/c/c_instance.cpp
JavaScriptCore/bindings/c/c_runtime.cpp
JavaScriptCore/bindings/c/c_utility.cpp
JavaScriptCore/bindings/jni/jni_class.cpp
JavaScriptCore/bindings/jni/jni_instance.cpp
JavaScriptCore/bindings/jni/jni_jsobject.cpp
JavaScriptCore/bindings/jni/jni_objc.mm
JavaScriptCore/bindings/jni/jni_runtime.cpp
JavaScriptCore/bindings/jni/jni_utility.cpp
JavaScriptCore/bindings/npruntime.cpp
JavaScriptCore/bindings/objc/WebScriptObject.mm
JavaScriptCore/bindings/objc/objc_class.mm
JavaScriptCore/bindings/objc/objc_instance.mm
JavaScriptCore/bindings/objc/objc_runtime.mm
JavaScriptCore/bindings/objc/objc_utility.mm
JavaScriptCore/bindings/runtime.cpp
JavaScriptCore/bindings/runtime_array.cpp
JavaScriptCore/bindings/runtime_method.cpp
JavaScriptCore/bindings/runtime_object.cpp
JavaScriptCore/bindings/runtime_root.cpp
JavaScriptCore/bindings/testbindings.cpp
JavaScriptCore/bindings/testbindings.mm
JavaScriptCore/kjs/array_object.cpp
JavaScriptCore/kjs/bool_object.cpp
JavaScriptCore/kjs/collector.cpp
JavaScriptCore/kjs/config.h
JavaScriptCore/kjs/debugger.cpp
JavaScriptCore/kjs/error_object.cpp
JavaScriptCore/kjs/fpconst.cpp
JavaScriptCore/kjs/function.cpp
JavaScriptCore/kjs/function_object.cpp
JavaScriptCore/kjs/identifier.cpp
JavaScriptCore/kjs/internal.cpp
JavaScriptCore/kjs/interpreter.cpp
JavaScriptCore/kjs/lexer.cpp
JavaScriptCore/kjs/list.cpp
JavaScriptCore/kjs/lookup.cpp
JavaScriptCore/kjs/math_object.cpp
JavaScriptCore/kjs/nodes.cpp
JavaScriptCore/kjs/nodes.h
JavaScriptCore/kjs/nodes2string.cpp
JavaScriptCore/kjs/number_object.cpp
JavaScriptCore/kjs/object.cpp
JavaScriptCore/kjs/object_object.cpp
JavaScriptCore/kjs/operations.cpp
JavaScriptCore/kjs/property_map.cpp
JavaScriptCore/kjs/property_slot.cpp
JavaScriptCore/kjs/protected_values.cpp
JavaScriptCore/kjs/reference.cpp
JavaScriptCore/kjs/reference_list.cpp
JavaScriptCore/kjs/regexp.cpp
JavaScriptCore/kjs/regexp_object.cpp
JavaScriptCore/kjs/scope_chain.cpp
JavaScriptCore/kjs/scope_chain.h
JavaScriptCore/kjs/string_object.cpp
JavaScriptCore/kjs/testkjs.cpp
JavaScriptCore/kjs/ustring.h
JavaScriptCore/kjs/value.cpp
JavaScriptCore/kxmlcore/Assertions.mm
JavaScriptCore/kxmlcore/FastMalloc.cpp
JavaScriptCore/kxmlcore/FastMalloc.h
JavaScriptCore/kxmlcore/FastMallocInternal.h [new file with mode: 0644]
JavaScriptCore/kxmlcore/HashTable.cpp
JavaScriptCore/kxmlcore/TCSpinLock.h
JavaScriptCore/kxmlcore/TCSystemAlloc.cpp
WebCore/ChangeLog-2005-12-19
WebCore/ForwardingHeaders/config.h [deleted file]
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/WebCorePrefix.h
WebCore/khtml/css/css_base.cpp
WebCore/khtml/css/css_base.h
WebCore/khtml/css/css_computedstyle.cpp
WebCore/khtml/css/css_ruleimpl.cpp
WebCore/khtml/css/css_stylesheetimpl.cpp
WebCore/khtml/css/css_valueimpl.cpp
WebCore/khtml/css/css_valueimpl.h
WebCore/khtml/css/csshelper.cpp
WebCore/khtml/css/cssparser.cpp
WebCore/khtml/css/cssstyleselector.cpp
WebCore/khtml/css/cssstyleselector.h
WebCore/khtml/css/parser.y
WebCore/khtml/dom/dom2_events.cpp
WebCore/khtml/dom/dom2_traversal.cpp
WebCore/khtml/dom/dom_misc.cpp
WebCore/khtml/dom/dom_string.cpp
WebCore/khtml/ecma/domparser.cpp
WebCore/khtml/ecma/kjs_binding.cpp
WebCore/khtml/ecma/kjs_css.cpp
WebCore/khtml/ecma/kjs_dom.cpp
WebCore/khtml/ecma/kjs_events.cpp
WebCore/khtml/ecma/kjs_html.cpp
WebCore/khtml/ecma/kjs_navigator.cpp
WebCore/khtml/ecma/kjs_proxy.cpp
WebCore/khtml/ecma/kjs_range.cpp
WebCore/khtml/ecma/kjs_traversal.cpp
WebCore/khtml/ecma/kjs_views.cpp
WebCore/khtml/ecma/kjs_window.cpp
WebCore/khtml/ecma/xmlhttprequest.cpp
WebCore/khtml/ecma/xmlserializer.cpp
WebCore/khtml/editing/SelectionController.cpp
WebCore/khtml/editing/append_node_command.cpp
WebCore/khtml/editing/apply_style_command.cpp
WebCore/khtml/editing/break_blockquote_command.cpp
WebCore/khtml/editing/composite_edit_command.cpp
WebCore/khtml/editing/delete_from_text_node_command.cpp
WebCore/khtml/editing/delete_selection_command.cpp
WebCore/khtml/editing/edit_command.cpp
WebCore/khtml/editing/html_interchange.cpp
WebCore/khtml/editing/htmlediting.cpp
WebCore/khtml/editing/insert_into_text_node_command.cpp
WebCore/khtml/editing/insert_line_break_command.cpp
WebCore/khtml/editing/insert_node_before_command.cpp
WebCore/khtml/editing/insert_paragraph_separator_command.cpp
WebCore/khtml/editing/insert_text_command.cpp
WebCore/khtml/editing/join_text_nodes_command.cpp
WebCore/khtml/editing/jsediting.cpp
WebCore/khtml/editing/markup.cpp
WebCore/khtml/editing/merge_identical_elements_command.cpp
WebCore/khtml/editing/move_selection_command.cpp
WebCore/khtml/editing/rebalance_whitespace_command.cpp
WebCore/khtml/editing/remove_css_property_command.cpp
WebCore/khtml/editing/remove_node_attribute_command.cpp
WebCore/khtml/editing/remove_node_command.cpp
WebCore/khtml/editing/remove_node_preserving_children_command.cpp
WebCore/khtml/editing/replace_selection_command.cpp
WebCore/khtml/editing/set_node_attribute_command.cpp
WebCore/khtml/editing/split_element_command.cpp
WebCore/khtml/editing/split_text_node_command.cpp
WebCore/khtml/editing/split_text_node_containing_element.cpp
WebCore/khtml/editing/typing_command.cpp
WebCore/khtml/editing/visible_position.cpp
WebCore/khtml/editing/visible_range.cpp
WebCore/khtml/editing/visible_text.cpp
WebCore/khtml/editing/visible_units.cpp
WebCore/khtml/editing/wrap_contents_in_dummy_span_command.cpp
WebCore/khtml/html/html_baseimpl.cpp
WebCore/khtml/html/html_blockimpl.cpp
WebCore/khtml/html/html_canvasimpl.cpp
WebCore/khtml/html/html_documentimpl.cpp
WebCore/khtml/html/html_elementimpl.cpp
WebCore/khtml/html/html_formimpl.cpp
WebCore/khtml/html/html_headimpl.cpp
WebCore/khtml/html/html_imageimpl.cpp
WebCore/khtml/html/html_inlineimpl.cpp
WebCore/khtml/html/html_listimpl.cpp
WebCore/khtml/html/html_miscimpl.cpp
WebCore/khtml/html/html_objectimpl.cpp
WebCore/khtml/html/html_tableimpl.cpp
WebCore/khtml/html/htmlfactory.cpp
WebCore/khtml/html/htmlnames.cpp
WebCore/khtml/html/htmlparser.cpp
WebCore/khtml/html/htmltokenizer.cpp
WebCore/khtml/khtml_events.cpp
WebCore/khtml/khtml_part.cpp
WebCore/khtml/khtmlview.cpp
WebCore/khtml/misc/arena.cpp
WebCore/khtml/misc/arena.h
WebCore/khtml/misc/decoder.cpp
WebCore/khtml/misc/formdata.cpp
WebCore/khtml/misc/helper.cpp
WebCore/khtml/misc/loader.cpp
WebCore/khtml/misc/stringit.cpp
WebCore/khtml/rendering/bidi.cpp
WebCore/khtml/rendering/break_lines.cpp
WebCore/khtml/rendering/font.cpp
WebCore/khtml/rendering/render_arena.cpp
WebCore/khtml/rendering/render_block.cpp
WebCore/khtml/rendering/render_box.cpp
WebCore/khtml/rendering/render_br.cpp
WebCore/khtml/rendering/render_canvas.cpp
WebCore/khtml/rendering/render_canvasimage.cpp
WebCore/khtml/rendering/render_container.cpp
WebCore/khtml/rendering/render_flexbox.cpp
WebCore/khtml/rendering/render_flow.cpp
WebCore/khtml/rendering/render_form.cpp
WebCore/khtml/rendering/render_frames.cpp
WebCore/khtml/rendering/render_image.cpp
WebCore/khtml/rendering/render_inline.cpp
WebCore/khtml/rendering/render_layer.cpp
WebCore/khtml/rendering/render_line.cpp
WebCore/khtml/rendering/render_list.cpp
WebCore/khtml/rendering/render_object.cpp
WebCore/khtml/rendering/render_replaced.cpp
WebCore/khtml/rendering/render_style.cpp
WebCore/khtml/rendering/render_style.h
WebCore/khtml/rendering/render_table.cpp
WebCore/khtml/rendering/render_text.cpp
WebCore/khtml/rendering/render_theme.cpp
WebCore/khtml/rendering/render_theme_mac.mm
WebCore/khtml/rendering/table_layout.cpp
WebCore/khtml/xbl/xbl_binding.cpp
WebCore/khtml/xbl/xbl_binding_manager.cpp
WebCore/khtml/xbl/xbl_docimpl.cpp
WebCore/khtml/xbl/xbl_protobinding.cpp
WebCore/khtml/xbl/xbl_protohandler.cpp
WebCore/khtml/xbl/xbl_protoimplementation.cpp
WebCore/khtml/xbl/xbl_tokenizer.cpp
WebCore/khtml/xml/EventNames.cpp
WebCore/khtml/xml/dom2_eventsimpl.cpp
WebCore/khtml/xml/dom2_eventsimpl.h
WebCore/khtml/xml/dom2_rangeimpl.cpp
WebCore/khtml/xml/dom2_rangeimpl.h
WebCore/khtml/xml/dom2_traversalimpl.cpp
WebCore/khtml/xml/dom2_traversalimpl.h
WebCore/khtml/xml/dom2_viewsimpl.cpp
WebCore/khtml/xml/dom2_viewsimpl.h
WebCore/khtml/xml/dom_atomicstring.cpp
WebCore/khtml/xml/dom_docimpl.cpp
WebCore/khtml/xml/dom_docimpl.h
WebCore/khtml/xml/dom_elementimpl.cpp
WebCore/khtml/xml/dom_elementimpl.h
WebCore/khtml/xml/dom_nodeimpl.cpp
WebCore/khtml/xml/dom_nodeimpl.h
WebCore/khtml/xml/dom_position.cpp
WebCore/khtml/xml/dom_qname.cpp
WebCore/khtml/xml/dom_stringimpl.cpp
WebCore/khtml/xml/dom_stringimpl.h
WebCore/khtml/xml/dom_textimpl.cpp
WebCore/khtml/xml/dom_xmlimpl.cpp
WebCore/khtml/xml/xml_tokenizer.cpp
WebCore/khtml/xsl/xsl_stylesheetimpl.cpp
WebCore/khtml/xsl/xslt_processorimpl.cpp
WebCore/kwq/DOM-CSS.mm
WebCore/kwq/DOM.mm
WebCore/kwq/DOMEvents.mm
WebCore/kwq/DOMHTML.mm
WebCore/kwq/DOMInternal.mm
WebCore/kwq/DOMUtility.mm
WebCore/kwq/DOMViews.mm
WebCore/kwq/KWQAccObject.mm
WebCore/kwq/KWQAccObjectCache.mm
WebCore/kwq/KWQApplication.mm
WebCore/kwq/KWQArrayImpl.h
WebCore/kwq/KWQArrayImpl.mm
WebCore/kwq/KWQBuffer.mm
WebCore/kwq/KWQButton.mm
WebCore/kwq/KWQCString.mm
WebCore/kwq/KWQCharsets.mm
WebCore/kwq/KWQClipboard.mm
WebCore/kwq/KWQCollection.mm
WebCore/kwq/KWQColor.mm
WebCore/kwq/KWQComboBox.mm
WebCore/kwq/KWQCursor.mm
WebCore/kwq/KWQDateTime.mm
WebCore/kwq/KWQDictImpl.mm
WebCore/kwq/KWQEditCommand.mm
WebCore/kwq/KWQEvent.mm
WebCore/kwq/KWQExceptions.mm
WebCore/kwq/KWQFile.mm
WebCore/kwq/KWQFileButton.mm
WebCore/kwq/KWQFont.mm
WebCore/kwq/KWQFontFamily.h
WebCore/kwq/KWQFontFamily.mm
WebCore/kwq/KWQFontMetrics.mm
WebCore/kwq/KWQFormData.mm
WebCore/kwq/KWQFrame.mm
WebCore/kwq/KWQGlobal.mm
WebCore/kwq/KWQGuardedPtr.mm
WebCore/kwq/KWQKCharsets.mm
WebCore/kwq/KWQKConfigBase.mm
WebCore/kwq/KWQKCookieJar.mm
WebCore/kwq/KWQKCursor.mm
WebCore/kwq/KWQKGlobal.mm
WebCore/kwq/KWQKGlobalSettings.mm
WebCore/kwq/KWQKHTMLFactory.mm
WebCore/kwq/KWQKHTMLPart.cpp
WebCore/kwq/KWQKHTMLPart.mm
WebCore/kwq/KWQKHTMLPartBrowserExtension.mm
WebCore/kwq/KWQKHTMLView.mm
WebCore/kwq/KWQKHistoryProvider.mm
WebCore/kwq/KWQKJavaAppletWidget.mm
WebCore/kwq/KWQKJob.mm
WebCore/kwq/KWQKJobClasses.mm
WebCore/kwq/KWQKLocale.mm
WebCore/kwq/KWQKPartsBrowserInterface.mm
WebCore/kwq/KWQKPartsEvent.mm
WebCore/kwq/KWQKPartsPart.mm
WebCore/kwq/KWQKSSLKeyGen.mm
WebCore/kwq/KWQKStandardDirs.mm
WebCore/kwq/KWQKStringHandler.mm
WebCore/kwq/KWQKURL.mm
WebCore/kwq/KWQKWin.mm
WebCore/kwq/KWQKWinModule.mm
WebCore/kwq/KWQLabel.mm
WebCore/kwq/KWQLineEdit.mm
WebCore/kwq/KWQListBox.mm
WebCore/kwq/KWQListImpl.mm
WebCore/kwq/KWQLoader.mm
WebCore/kwq/KWQMapImpl.h
WebCore/kwq/KWQMapImpl.mm
WebCore/kwq/KWQMovie.mm
WebCore/kwq/KWQObject.mm
WebCore/kwq/KWQPageState.mm
WebCore/kwq/KWQPaintDeviceMetrics.mm
WebCore/kwq/KWQPainter.mm
WebCore/kwq/KWQPalette.mm
WebCore/kwq/KWQPen.mm
WebCore/kwq/KWQPixmap.mm
WebCore/kwq/KWQPoint.mm
WebCore/kwq/KWQPointArray.mm
WebCore/kwq/KWQPtrDictImpl.mm
WebCore/kwq/KWQPushButton.mm
WebCore/kwq/KWQRect.mm
WebCore/kwq/KWQRegExp.mm
WebCore/kwq/KWQRegion.mm
WebCore/kwq/KWQRenderTreeDebug.cpp
WebCore/kwq/KWQResourceLoader.mm
WebCore/kwq/KWQScrollBar.mm
WebCore/kwq/KWQScrollView.mm
WebCore/kwq/KWQSignal.mm
WebCore/kwq/KWQSignalStubs.mm
WebCore/kwq/KWQSize.mm
WebCore/kwq/KWQSlider.mm
WebCore/kwq/KWQSlot.mm
WebCore/kwq/KWQString.h
WebCore/kwq/KWQString.mm
WebCore/kwq/KWQStringList.mm
WebCore/kwq/KWQStyle.mm
WebCore/kwq/KWQTextArea.mm
WebCore/kwq/KWQTextCodec.mm
WebCore/kwq/KWQTextEdit.mm
WebCore/kwq/KWQTextField.mm
WebCore/kwq/KWQTextStream.mm
WebCore/kwq/KWQTextUtilities.mm
WebCore/kwq/KWQTimer.mm
WebCore/kwq/KWQValueListImpl.h
WebCore/kwq/KWQValueListImpl.mm
WebCore/kwq/KWQVariant.mm
WebCore/kwq/KWQVectorImpl.mm
WebCore/kwq/KWQWMatrix.mm
WebCore/kwq/KWQWidget.mm
WebCore/kwq/KWQWindowWidget.mm
WebCore/kwq/WebCoreBridge.mm
WebCore/kwq/WebCoreCache.mm
WebCore/kwq/WebCoreEncodings.mm
WebCore/kwq/WebCoreJavaScript.mm
WebCore/kwq/WebCoreScriptDebugger.mm
WebCore/kwq/WebCoreSettings.mm
WebCore/kwq/WebCoreTextRendererFactory.mm
WebCore/kwq/can-convert.mm