1. 11 Nov, 2007 2 commits
  2. 31 Oct, 2007 2 commits
  3. 28 Oct, 2007 1 commit
    • mrowe@apple.com's avatar
      2007-10-28 Mark Rowe <mrowe@apple.com> · a5e7ec3a
      mrowe@apple.com authored
              We don't include "config.h" in headers.
      
              * bindings/jni/jni_instance.h:
              * kjs/regexp.h:
              * wtf/TCPageMap.h:
              * wtf/TCSpinLock.h:
      
      2007-10-28  Mark Rowe  <mrowe@apple.com>
      
              We don't include "config.h" in headers.
      
              * dom/XMLTokenizer.h:
              * platform/graphics/svg/SVGResourceFilter.h:
              * platform/image-decoders/ImageDecoder.h:
              * platform/wx/FontPlatformData.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5e7ec3a
  4. 15 Mar, 2007 1 commit
    • mjs's avatar
      JavaScriptCore: · dc3fe3ae
      mjs authored
              Reviewed by Geoff and Steve.
              
              - fix some portability issues with TCMalloc.
      
              * JavaScriptCore.vcproj/WTF/WTF.vcproj:
              * kjs/config.h:
              * wtf/FastMalloc.cpp:
              (WTF::SizeClass):
              (WTF::InitSizeClasses):
              (WTF::TCMalloc_PageHeap::Split):
              (WTF::TCMalloc_PageHeap::RegisterSizeClass):
              (WTF::TCMalloc_Central_FreeList::length):
              (WTF::TCMalloc_ThreadCache::InitTSD):
              (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
              * wtf/TCSpinLock.h:
              * wtf/TCSystemAlloc.cpp:
              (TryVirtualAlloc):
              (TCMalloc_SystemAlloc):
      
      WebCore:
      
              Reviewed by Geoff and Steve.
      
              * config.h: Remove unneeded hack.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc3fe3ae
  5. 29 Jan, 2007 1 commit
    • ggaren's avatar
      JavaScriptCore: · b76a6c20
      ggaren authored
              Reviewed by Maciej Stachowiak.
      
              Fixed <rdar://problem/4485644> REGRESSION: JavaScriptCore has init routines
              
              The TCMalloc module now initializes, if needed, inside GetCache() and 
              fastMallocSetIsMultiThreaded(). We leverage the same synchronization 
              technique used for enabling / disabling the single-threaded optimization 
              to synchronize initialization of the library without requiring a lock 
              for every malloc.
              
              1,251 runs of tcmalloc_unittest, 2 runs of a custom, massively multi-threaded 
              tcmalloc_unittest, and my custom version of the PLT show no regressions.
              Super-accurate JS iBench reports a .24% regression, which is right at the
              limit of its error range, so I'm declaring victory.
      
              * wtf/FastMalloc.cpp:
              (WTF::fastMallocSetIsMultiThreaded): Initialize, if needed. (InitModule()
              checks the "if needed" part.)
              (WTF::TCMalloc_ThreadCache::GetCache): Restored original TCMalloc code
              inside #ifdef, for posterity. Added new initialization logic.
              (WTF::TCMalloc_ThreadCache::InitModule): Call InitTSD(), since we don't
              have a static initializer to call it for us, now. This means that fastMalloc
              is not usable as a general libc allocator, but it never was, and if it were
              the general libc allocator, we wouldn't be here in the first place, so whatever.
              (WTF::TCMalloc_ThreadCache::InitTSD): Don't try to take the pageheap_lock, 
              since InitModule already has it.
      
      WebKitTools:
      
              Reviewed by Maciej Stachowiak.
      
              Fixed <rdar://problem/4485644> REGRESSION: JavaScriptCore has init routines
              
              No more mollycoddling for you, FastMalloc.o!
              
              * Scripts/check-for-global-initializers:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b76a6c20
  6. 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
  7. 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
  8. 13 Jan, 2006 1 commit
  9. 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
  10. 27 Sep, 2005 1 commit
    • mjs's avatar
      JavaScriptCore: · cff5e5ee
      mjs authored
              Reviewed by John.
      
      	- replace dlmalloc with tcmalloc
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=5145
      
      	I also moved SharedPtr and the assertion code from WebCore into a
      	new kxmlcore directory.
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/collector.cpp:
              (KJS::Collector::allocate):
              (KJS::Collector::collect):
              * kjs/config.h:
              * kjs/fast_malloc.cpp: Removed.
              * kjs/fast_malloc.h: Removed.
              * kjs/function.cpp:
              * kjs/function.h:
              * kjs/function_object.cpp:
              * kjs/identifier.cpp:
              (KJS::Identifier::add):
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/nodes.h:
              * kjs/nodes2string.cpp:
              * kjs/property_map.cpp:
              (KJS::PropertyMap::~PropertyMap):
              (KJS::PropertyMap::rehash):
              * kjs/scope_chain.h:
              * kjs/shared_ptr.h: Removed.
              * kjs/string_object.cpp:
              (StringObjectFuncImp::callAsFunction):
              * kjs/ustring.cpp:
              (KJS::UString::Rep::createCopying):
              (KJS::UString::Rep::destroy):
              (KJS::UString::expandCapacity):
              (KJS::UString::expandPreCapacity):
              (KJS::UString::UString):
              (KJS::UString::spliceSubstringsWithSeparators):
              (KJS::UString::append):
              (KJS::UString::operator=):
              (KJS::UString::detach):
              * kjs/ustring.h:
              * kxmlcore/Assertions.h: Added.
              * kxmlcore/Assertions.mm: Added.
              * kxmlcore/FastMalloc.cpp: Added.
              (KXMLCore::LgFloor):
              (KXMLCore::SizeClass):
              (KXMLCore::ByteSizeForClass):
              (KXMLCore::InitSizeClasses):
              (KXMLCore::MetaDataAlloc):
              (KXMLCore::PageHeapAllocator::Init):
              (KXMLCore::PageHeapAllocator::New):
              (KXMLCore::PageHeapAllocator::Delete):
              (KXMLCore::PageHeapAllocator::inuse):
              (KXMLCore::pages):
              (KXMLCore::AllocationSize):
              (KXMLCore::Event):
              (KXMLCore::NewSpan):
              (KXMLCore::DeleteSpan):
              (KXMLCore::DLL_Init):
              (KXMLCore::DLL_Remove):
              (KXMLCore::DLL_IsEmpty):
              (KXMLCore::DLL_Length):
              (KXMLCore::DLL_Print):
              (KXMLCore::DLL_Prepend):
              (KXMLCore::DLL_InsertOrdered):
              (KXMLCore::):
              (KXMLCore::TCMalloc_PageHeap::GetDescriptor):
              (KXMLCore::TCMalloc_PageHeap::SystemBytes):
              (KXMLCore::TCMalloc_PageHeap::FreeBytes):
              (KXMLCore::TCMalloc_PageHeap::RecordSpan):
              (KXMLCore::TCMalloc_PageHeap::TCMalloc_PageHeap):
              (KXMLCore::TCMalloc_PageHeap::New):
              (KXMLCore::TCMalloc_PageHeap::Split):
              (KXMLCore::TCMalloc_PageHeap::Carve):
              (KXMLCore::TCMalloc_PageHeap::Delete):
              (KXMLCore::TCMalloc_PageHeap::RegisterSizeClass):
              (KXMLCore::TCMalloc_PageHeap::Dump):
              (KXMLCore::TCMalloc_PageHeap::GrowHeap):
              (KXMLCore::TCMalloc_PageHeap::Check):
              (KXMLCore::TCMalloc_PageHeap::CheckList):
              (KXMLCore::TCMalloc_ThreadCache_FreeList::Init):
              (KXMLCore::TCMalloc_ThreadCache_FreeList::length):
              (KXMLCore::TCMalloc_ThreadCache_FreeList::empty):
              (KXMLCore::TCMalloc_ThreadCache_FreeList::lowwatermark):
              (KXMLCore::TCMalloc_ThreadCache_FreeList::clear_lowwatermark):
              (KXMLCore::TCMalloc_ThreadCache_FreeList::Push):
              (KXMLCore::TCMalloc_ThreadCache_FreeList::Pop):
              (KXMLCore::TCMalloc_ThreadCache::freelist_length):
              (KXMLCore::TCMalloc_ThreadCache::Size):
              (KXMLCore::TCMalloc_Central_FreeList::length):
              (KXMLCore::TCMalloc_Central_FreeList::Init):
              (KXMLCore::TCMalloc_Central_FreeList::Insert):
              (KXMLCore::TCMalloc_Central_FreeList::Remove):
              (KXMLCore::TCMalloc_Central_FreeList::Populate):
              (KXMLCore::TCMalloc_ThreadCache::SampleAllocation):
              (KXMLCore::TCMalloc_ThreadCache::Init):
              (KXMLCore::TCMalloc_ThreadCache::Cleanup):
              (KXMLCore::TCMalloc_ThreadCache::Allocate):
              (KXMLCore::TCMalloc_ThreadCache::Deallocate):
              (KXMLCore::TCMalloc_ThreadCache::FetchFromCentralCache):
              (KXMLCore::TCMalloc_ThreadCache::ReleaseToCentralCache):
              (KXMLCore::TCMalloc_ThreadCache::Scavenge):
              (KXMLCore::TCMalloc_ThreadCache::GetCache):
              (KXMLCore::TCMalloc_ThreadCache::GetCacheIfPresent):
              (KXMLCore::TCMalloc_ThreadCache::PickNextSample):
              (KXMLCore::TCMalloc_ThreadCache::InitModule):
              (KXMLCore::TCMalloc_ThreadCache::InitTSD):
              (KXMLCore::TCMalloc_ThreadCache::CreateCacheIfNecessary):
              (KXMLCore::TCMalloc_ThreadCache::DeleteCache):
              (KXMLCore::TCMalloc_ThreadCache::RecomputeThreadCacheSize):
              (KXMLCore::TCMalloc_ThreadCache::Print):
              (KXMLCore::ExtractStats):
              (KXMLCore::DumpStats):
              (KXMLCore::PrintStats):
              (KXMLCore::DumpStackTraces):
              (KXMLCore::TCMallocImplementation::GetStats):
              (KXMLCore::TCMallocImplementation::ReadStackTraces):
              (KXMLCore::TCMallocImplementation::GetNumericProperty):
              (KXMLCore::TCMallocImplementation::SetNumericProperty):
              (KXMLCore::DoSampledAllocation):
              (KXMLCore::do_malloc):
              (KXMLCore::do_free):
              (KXMLCore::do_memalign):
              (KXMLCore::TCMallocGuard::TCMallocGuard):
              (KXMLCore::TCMallocGuard::~TCMallocGuard):
              (KXMLCore::malloc):
              (KXMLCore::free):
              (KXMLCore::calloc):
              (KXMLCore::cfree):
              (KXMLCore::realloc):
              (KXMLCore::memalign):
              (KXMLCore::posix_memalign):
              (KXMLCore::valloc):
              (KXMLCore::pvalloc):
              (KXMLCore::malloc_stats):
              (KXMLCore::mallopt):
              (KXMLCore::mallinfo):
              * kxmlcore/FastMalloc.h: Added.
              (KXMLCore::FastAllocated::operator new):
              (KXMLCore::FastAllocated::operator delete):
              (KXMLCore::FastAllocated::operator new[]):
              (KXMLCore::FastAllocated::operator delete[]):
              * kxmlcore/SharedPtr.h: Added.
              (KXMLCore::SharedPtr::SharedPtr):
              (KXMLCore::SharedPtr::~SharedPtr):
              (KXMLCore::SharedPtr::isNull):
              (KXMLCore::SharedPtr::notNull):
              (KXMLCore::SharedPtr::reset):
              (KXMLCore::SharedPtr::get):
              (KXMLCore::SharedPtr::operator*):
              (KXMLCore::SharedPtr::operator->):
              (KXMLCore::SharedPtr::operator!):
              (KXMLCore::SharedPtr::operator bool):
              (KXMLCore::::operator):
              (KXMLCore::operator==):
              (KXMLCore::operator!=):
              (KXMLCore::static_pointer_cast):
              (KXMLCore::const_pointer_cast):
              * kxmlcore/TCPageMap.h: Added.
              (TCMalloc_PageMap1::TCMalloc_PageMap1):
              (TCMalloc_PageMap1::Ensure):
              (TCMalloc_PageMap1::get):
              (TCMalloc_PageMap1::set):
              (TCMalloc_PageMap2::TCMalloc_PageMap2):
              (TCMalloc_PageMap2::get):
              (TCMalloc_PageMap2::set):
              (TCMalloc_PageMap2::Ensure):
              (TCMalloc_PageMap3::NewNode):
              (TCMalloc_PageMap3::TCMalloc_PageMap3):
              (TCMalloc_PageMap3::get):
              (TCMalloc_PageMap3::set):
              (TCMalloc_PageMap3::Ensure):
              * kxmlcore/TCSpinLock.h: Added.
              (TCMalloc_SpinLock::Init):
              (TCMalloc_SpinLock::Finalize):
              (TCMalloc_SpinLock::Lock):
              (TCMalloc_SpinLock::Unlock):
              (TCMalloc_SlowLock):
              (TCMalloc_SpinLockHolder::TCMalloc_SpinLockHolder):
              (TCMalloc_SpinLockHolder::~TCMalloc_SpinLockHolder):
              * kxmlcore/TCSystemAlloc.cpp: Added.
              (TrySbrk):
              (TryMmap):
              (TryDevMem):
              (TCMalloc_SystemAlloc):
              * kxmlcore/TCSystemAlloc.h: Added.
      
      WebCore:
      
              Reviewed by John.
      
      	- replace dlmalloc with tcmalloc
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=5145
      
      	I also moved SharedPtr and the assertion code from WebCore into a
      	new kxmlcore directory.
      
              * ForwardingHeaders/kjs/shared_ptr.h: Removed.
              * ForwardingHeaders/kxmlcore/Assertions.h: Added.
              * ForwardingHeaders/kxmlcore/FastMalloc.h: Added.
              * ForwardingHeaders/kxmlcore/SharedPtr.h: Added.
              * ForwardingHeaders/misc/main_thread_malloc.h: Removed.
              * WebCore.xcodeproj/project.pbxproj:
              * khtml/css/css_base.h:
              * khtml/css/css_computedstyle.cpp:
              * khtml/css/css_ruleimpl.h:
              * khtml/css/css_valueimpl.h:
              * khtml/css/cssstyleselector.h:
              * khtml/ecma/domparser.h:
              * khtml/ecma/kjs_css.h:
              * khtml/ecma/kjs_dom.cpp:
              * khtml/ecma/kjs_dom.h:
              * khtml/ecma/kjs_events.h:
              * khtml/ecma/kjs_html.cpp:
              * khtml/ecma/kjs_html.h:
              * khtml/ecma/kjs_range.h:
              * khtml/ecma/kjs_traversal.h:
              * khtml/ecma/kjs_views.cpp:
              * khtml/ecma/kjs_views.h:
              * khtml/ecma/kjs_window.cpp:
              * khtml/ecma/xmlhttprequest.h:
              * 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/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/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_position.h:
              * khtml/editing/wrap_contents_in_dummy_span_command.cpp:
              * khtml/html/html_imageimpl.h:
              * khtml/html/html_tableimpl.h:
              * khtml/html/htmlparser.cpp:
              * khtml/khtmlpart_p.h:
              * khtml/misc/arena.cpp:
              (ArenaAllocate):
              (FreeArenaList):
              (ArenaFinish):
              * khtml/misc/hashtable.h:
              (khtml::HashTable::~HashTable):
              (khtml::::allocateTable):
              (khtml::::rehash):
              (khtml::::clear):
              (khtml::::HashTable):
              * khtml/misc/loader.cpp:
              * khtml/misc/main_thread_malloc.cpp: Removed.
              * khtml/misc/main_thread_malloc.h: Removed.
              * khtml/misc/shared.h:
              * khtml/rendering/render_style.h:
              * khtml/xml/dom2_eventsimpl.h:
              * khtml/xml/dom2_rangeimpl.h:
              * khtml/xml/dom2_traversalimpl.h:
              * khtml/xml/dom2_viewsimpl.h:
              * khtml/xml/dom_docimpl.h:
              * khtml/xml/dom_elementimpl.cpp:
              (NamedAttrMapImpl::clearAttributes):
              (NamedAttrMapImpl::operator=):
              (NamedAttrMapImpl::addAttribute):
              (NamedAttrMapImpl::removeAttribute):
              * khtml/xml/dom_elementimpl.h:
              * khtml/xml/dom_nodeimpl.cpp:
              * khtml/xml/dom_nodeimpl.h:
              * khtml/xml/dom_position.cpp:
              * khtml/xml/dom_stringimpl.h:
              * kwq/DOM-CSS.mm:
              * kwq/DOM.mm:
              * kwq/DOMEvents.mm:
              * kwq/DOMHTML.mm:
              * kwq/DOMInternal.mm:
              * kwq/DOMViews.mm:
              * kwq/KWQAccObject.mm:
              * kwq/KWQAccObjectCache.mm:
              * kwq/KWQArrayImpl.h:
              * kwq/KWQArrayImpl.mm:
              (KWQArrayImpl::KWQArrayPrivate::KWQArrayPrivate):
              (KWQArrayImpl::KWQArrayPrivate::~KWQArrayPrivate):
              (KWQArrayImpl::resize):
              * kwq/KWQAssertions.h: Removed.
              * kwq/KWQAssertions.m: Removed.
              * kwq/KWQButton.mm:
              * kwq/KWQCString.mm:
              * kwq/KWQClipboard.h:
              * kwq/KWQClipboard.mm:
              * kwq/KWQColor.mm:
              * kwq/KWQComboBox.mm:
              * kwq/KWQEditCommand.mm:
              * kwq/KWQExceptions.h:
              * kwq/KWQFileButton.mm:
              * kwq/KWQFontFamily.h:
              * kwq/KWQFormData.mm:
              * kwq/KWQKHTMLPart.h:
              * kwq/KWQKHTMLPart.mm:
              * kwq/KWQKPartsBrowserInterface.mm:
              * kwq/KWQKURL.mm:
              * kwq/KWQListBox.mm:
              * kwq/KWQListImpl.mm:
              * kwq/KWQLogging.h:
              * kwq/KWQLogging.m:
              * kwq/KWQMapImpl.h:
              * kwq/KWQMapImpl.mm:
              * kwq/KWQObject.mm:
              * kwq/KWQPageState.mm:
              * kwq/KWQPainter.mm:
              * kwq/KWQResourceLoader.mm:
              * kwq/KWQSignal.mm:
              * kwq/KWQSlot.mm:
              * kwq/KWQString.h:
              * kwq/KWQString.mm:
              (ALLOC_QCHAR):
              (QString::setBufferFromCFString):
              (allocatePageNode):
              * kwq/KWQTextArea.mm:
              * kwq/KWQTextCodec.mm:
              * kwq/KWQTextEdit.mm:
              * kwq/KWQTextField.mm:
              * kwq/KWQTimer.mm:
              * kwq/KWQValueListImpl.h:
              * kwq/KWQValueListImpl.mm:
              * kwq/WebCoreBridge.mm:
              * kwq/WebCoreCookieAdapter.m:
              * kwq/WebCoreGraphicsBridge.m:
              * kwq/WebCoreImageRendererFactory.m:
              * kwq/WebCoreKeyGenerator.m:
              * kwq/WebCoreTextRendererFactory.mm:
              * kwq/WebCoreViewFactory.m:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cff5e5ee