1. 25 Jul, 2013 2 commits
  2. 08 Jul, 2013 1 commit
  3. 17 Jun, 2013 1 commit
    • rniwa@webkit.org's avatar
      Initialize AtomicStringTable in WTFThreadData's constructor · e32f3e7d
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=117671
      
      Reviewed by Geoffrey Garen.
      
      Extracted AtomicStringTable from AtomicString.cpp into AtomicStringTable.h/cpp
      and made WTFThreadDada::WTFThreadData create the atomic string table for the thread.
      
      This eliminates a branch from stringTable() in AtomicString.cpp.
      
      * GNUmakefile.list.am:
      * WTF.pro:
      * WTF.vcxproj/WTF.vcxproj:
      * WTF.vcxproj/WTF.vcxproj.filters:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/CMakeLists.txt:
      * wtf/WTFThreadData.cpp:
      (WTF::WTFThreadData::WTFThreadData):
      * wtf/text/AtomicString.cpp:
      (WTF::stringTable):
      * wtf/text/AtomicStringTable.cpp: Added.
      (WTF::AtomicStringTable::create):
      (WTF::AtomicStringTable::destroy):
      * wtf/text/AtomicStringTable.h: Added.
      (WTF::AtomicStringTable::table):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e32f3e7d
  4. 21 May, 2013 1 commit
    • andersca@apple.com's avatar
      Add WTF::NeverDestroyed and start using it in WTF · 7867ba07
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116472
      
      Reviewed by Benjamin Poulain.
      
      NeverDestroyed is a class template that can be used for singletons and other objects that we never
      want to destroy. It's intended as a replacement for WTF_STATIC_LOCAL with the advantage that it doesn't
      fragment the heap.
      
      * GNUmakefile.list.am:
      * WTF.vcproj/WTF.vcproj:
      * WTF.vcxproj/WTF.vcxproj:
      * WTF.vcxproj/WTF.vcxproj.filters:
      * WTF.xcodeproj/project.pbxproj:
      Add NeverDestroyed.h
      
      * wtf/Compiler.h:
      Add a helper macro, WTF_DELETED_FUNCTION.
      
      * wtf/CryptographicallyRandomNumber.cpp:
      Use NeverDestroyed.
      
      * wtf/NeverDestroyed.h: Added.
      
      * wtf/Noncopyable.h:
      Use WTF_DELETED_FUNCTION.
      
      * wtf/text/WTFString.cpp:
      (WTF::emptyString):
      Use
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150450 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7867ba07
  5. 13 May, 2013 1 commit
  6. 12 May, 2013 2 commits
    • andersca@apple.com's avatar
      Remove Complex.h from WTF · 63de3c96
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115989
      
      Reviewed by Beth Dakin.
      
      Source/WebCore:
      
      Replace Complex declarations with std::complex<double>. Pass by value since the struct
      is small enough to go into two registers on X86-64.
      
      * Modules/webaudio/RealtimeAnalyser.cpp:
      (WebCore::RealtimeAnalyser::doFFTAnalysis):
      (WebCore::RealtimeAnalyser::getFloatFrequencyData):
      (WebCore::RealtimeAnalyser::getByteFrequencyData):
      (WebCore::RealtimeAnalyser::getByteTimeDomainData):
      * platform/audio/Biquad.cpp:
      (WebCore::Biquad::setZeroPolePairs):
      (WebCore::Biquad::setAllpassPole):
      (WebCore::Biquad::getFrequencyResponse):
      * platform/audio/Biquad.h:
      * platform/audio/FFTFrame.cpp:
      (WebCore::FFTFrame::interpolateFrequencyComponents):
      (WebCore::FFTFrame::extractAverageGroupDelay):
      (WebCore::FFTFrame::addConstantGroupDelay):
      
      Source/WTF:
      
      Complex.h contains a typedef and a single function (that already has an equivalent in the STL).
      The header is used by three files in WebCore, so just use std::complex<double> and std::polar directly.
      
      * GNUmakefile.list.am:
      * WTF.vcproj/WTF.vcproj:
      * WTF.vcxproj/WTF.vcxproj:
      * WTF.vcxproj/WTF.vcxproj.filters:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/CMakeLists.txt:
      * wtf/Complex.h: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149970 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      63de3c96
    • andersca@apple.com's avatar
      Move RemoteMemoryReader into FastMalloc.cpp · 9eba0cb2
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115985
      
      Reviewed by Andreas Kling.
      
      RemoteMemoryReader is only used in FastMalloc.cpp, and even had one of its member functions
      implemented there, so move the entire class template there and remove MallocZoneSupport.h.
      
      * GNUmakefile.list.am:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.vcxproj/WTF.vcxproj:
      * WTF.vcxproj/WTF.vcxproj.filters:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/CMakeLists.txt:
      * wtf/FastMalloc.cpp:
      (WTF):
      (PageHeapAllocator):
      (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
      * wtf/MallocZoneSupport.h: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149963 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9eba0cb2
  7. 07 May, 2013 1 commit
    • andersca@apple.com's avatar
      Remove AlwaysInline.h from WTF · bf475cae
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115727
      
      Reviewed by Brent Fulgham.
      
      The macro that used to be in AlwaysInline.h is now in Compiler.h so there's no reason
      to keep AlwaysInline.h around anymore.
      
      Source/JavaScriptCore:
      
      * jit/JSInterfaceJIT.h:
      * parser/Lexer.h:
      * runtime/JSCJSValue.h:
      * runtime/SymbolTable.h:
      
      Source/WebCore:
      
      * WebCore.vcproj/WebCore.vcproj:
      * bindings/js/JSDOMWindowCustom.h:
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateHeader):
      * platform/graphics/filters/FEConvolveMatrix.h:
      * rendering/InlineIterator.h:
      * rendering/InlineTextBox.cpp:
      * rendering/RenderBlockLineLayout.cpp:
      * rendering/RenderText.cpp:
      
      Source/WTF:
      
      * WTF.vcproj/WTF.vcproj:
      * WTF.vcxproj/WTF.vcxproj:
      * WTF.vcxproj/WTF.vcxproj.filters:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/AlwaysInline.h: Removed.
      * wtf/BloomFilter.h:
      * wtf/FastMalloc.cpp:
      * wtf/PassRefPtr.h:
      * wtf/dtoa.cpp:
      * wtf/gobject/GRefPtr.h:
      
      Tools:
      
      * DumpRenderTree/qt/DumpRenderTreeMain.cpp:
      * WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149673 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf475cae
  8. 03 May, 2013 1 commit
    • mikhail.pozdnyakov@intel.com's avatar
      Remove WTF::ListRefPtr class · fde404a2
      mikhail.pozdnyakov@intel.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115516
      
      Reviewed by Anders Carlsson.
      
      ListRefPtr was used only by FontFamily class, besides it strongly depended
      on FontFamily class semantics which made it non-generic and inappropriate
      for being present inside WTF.
      
      This patch removes WTF::ListRefPtr class and moves its the functionality
      into FontFamily class.
      
      Source/WebCore:
      
      No new tests, no change in the behavior.
      
      * page/FrameTree.h:
      (FrameTree):
      * platform/graphics/FontFamily.h:
      (FontFamily):
      (WebCore::FontFamily::~FontFamily):
      (WebCore):
      
      Source/WTF:
      
      * GNUmakefile.list.am:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.vcxproj/WTF.vcxproj:
      * WTF.vcxproj/WTF.vcxproj.filters:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/CMakeLists.txt:
      * wtf/Forward.h:
      (WTF):
      * wtf/ListRefPtr.h: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149523 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fde404a2
  9. 01 May, 2013 1 commit
  10. 29 Apr, 2013 1 commit
    • carlosgc@webkit.org's avatar
      Unreviewed. Fix make distcheck. · 835101e7
      carlosgc@webkit.org authored
      Source/JavaScriptCore:
      
      * GNUmakefile.list.am: Add missing headers files to compilation
      and offlineasm/sh4.rb script.
      
      Source/WebCore:
      
      * GNUmakefile.am: Add missing scripts to EXTRA_DIST.
      * GNUmakefile.list.am: Add missing files to compilation.
      
      Source/WebKit2:
      
      * GNUmakefile.list.am: Add missing header files to compilation.
      
      Source/WTF:
      
      * GNUmakefile.list.am: Add missing header file to compilation.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149277 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      835101e7
  11. 22 Apr, 2013 1 commit
    • benjamin@webkit.org's avatar
      Remove the memory instrumentation code · 9d72cb0b
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114931
      
      Reviewed by Andreas Kling.
      
      .: 
      
      * Source/autotools/symbols.filter:
      
      Source/JavaScriptCore: 
      
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def:
      * JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:
      
      Source/WebCore: 
      
      The Memory Instrumentation code is unfinished and has already
      become out of sync the objects it is supposed to represent.
      
      The current approach does not seem maintainable, it is better to
      remove it before someone gets hurt.
      
      By removing the code, the binary become 1240976 bytes smaller.
      Yep, almost 1 Mb, bringing WebCore to the size it has 5 months ago :)
      
      * MostWebCoreFiles: remove the support for memory instrumentation.
      
      Source/WebKit: 
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      Source/WebKit/mac: 
      
      * WebView/WebRenderLayer.mm:
      
      Source/WebKit/win: 
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      Source/WTF: 
      
      On Mac x86_64, the code removal cause the binary to be
      9224 bytes smaller.
      
      * GNUmakefile.list.am:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.vcxproj/WTF.vcxproj:
      * WTF.vcxproj/WTF.vcxproj.filters:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/CMakeLists.txt:
      * wtf/Forward.h:
      * wtf/ListHashSet.h:
      (ListHashSet):
      (ListHashSetNodeAllocator):
      (WTF::ListHashSetNodeAllocator::pool):
      (WTF::ListHashSetNodeAllocator::pastPool):
      * wtf/MemoryInstrumentation.cpp: Removed.
      * wtf/MemoryInstrumentation.h: Removed.
      * wtf/MemoryInstrumentationArrayBufferView.h: Removed.
      * wtf/MemoryInstrumentationHashCountedSet.h: Removed.
      * wtf/MemoryInstrumentationHashMap.h: Removed.
      * wtf/MemoryInstrumentationHashSet.h: Removed.
      * wtf/MemoryInstrumentationListHashSet.h: Removed.
      * wtf/MemoryInstrumentationSequence.h: Removed.
      * wtf/MemoryInstrumentationString.h: Removed.
      * wtf/MemoryInstrumentationVector.h: Removed.
      * wtf/MemoryObjectInfo.h: Removed.
      * wtf/text/AtomicString.h:
      * wtf/text/StringImpl.h:
      (WTF::StringImpl::isASCIILiteral):
      * wtf/text/WTFString.h:
      
      Tools: 
      
      * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
      * TestWebKitAPI/Tests/WTF/MemoryInstrumentationTest.cpp: Removed.
      
      LayoutTests: 
      
      * inspector/profiler/memory-instrumentation-cached-images-expected.txt: Removed.
      * inspector/profiler/memory-instrumentation-cached-images.html: Removed.
      * inspector/profiler/memory-instrumentation-canvas-expected.txt: Removed.
      * inspector/profiler/memory-instrumentation-canvas.html: Removed.
      * inspector/profiler/memory-instrumentation-external-array-expected.txt: Removed.
      * inspector/profiler/memory-instrumentation-external-array.html: Removed.
      * inspector/profiler/memory-instrumentation-external-string-expected.txt: Removed.
      * inspector/profiler/memory-instrumentation-external-string.html: Removed.
      * inspector/profiler/memory-instrumentation-test.js: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148921 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d72cb0b
  12. 05 Apr, 2013 1 commit
    • benjamin@webkit.org's avatar
      Remove WTFURL from WebKit · fee685df
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113994
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-04-05
      Reviewed by Ryosuke Niwa.
      
      .: 
      
      * Source/cmake/WebKitFeatures.cmake:
      * Source/cmakeconfig.h.cmake:
      
      Source/WebCore: 
      
      * GNUmakefile.list.am:
      * WebCore.exp.in:
      * WebCore.xcodeproj/project.pbxproj:
      * platform/KURL.cpp:
      (WebCore):
      (WebCore::KURL::reportMemoryUsage):
      (WebCore::KURL::isSafeToSendToAnotherThread):
      * platform/KURL.h:
      (KURL):
      (WebCore):
      * platform/KURLWTFURL.cpp: Removed.
      * platform/KURLWTFURLImpl.h: Removed.
      * platform/cf/KURLCFNet.cpp:
      (WebCore::KURL::KURL):
      (WebCore::KURL::createCFURL):
      (WebCore):
      * platform/mac/KURLMac.mm:
      (WebCore::KURL::KURL):
      (WebCore::KURL::createCFURL):
      
      Source/WebKit/blackberry: 
      
      * WebCoreSupport/AboutDataUseFeatures.in:
      
      Source/WTF: 
      
      Painful, but that is for the best now :(
      
      * GNUmakefile.list.am:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/MemoryInstrumentationParsedURL.h: Removed.
      * wtf/url/api/ParsedURL.cpp: Removed.
      * wtf/url/api/ParsedURL.h: Removed.
      * wtf/url/api/URLBuffer.h: Removed.
      * wtf/url/api/URLQueryCharsetConverter.h: Removed.
      * wtf/url/api/URLString.cpp: Removed.
      * wtf/url/api/URLString.h: Removed.
      * wtf/url/src/RawURLBuffer.h: Removed.
      * wtf/url/src/URLCanon.h: Removed.
      * wtf/url/src/URLCanonEtc.cpp: Removed.
      * wtf/url/src/URLCanonFilesystemurl.cpp: Removed.
      * wtf/url/src/URLCanonFileurl.cpp: Removed.
      * wtf/url/src/URLCanonHost.cpp: Removed.
      * wtf/url/src/URLCanonICU.cpp: Removed.
      * wtf/url/src/URLCanonIP.cpp: Removed.
      * wtf/url/src/URLCanonInternal.cpp: Removed.
      * wtf/url/src/URLCanonInternal.h: Removed.
      * wtf/url/src/URLCanonMailto.cpp: Removed.
      * wtf/url/src/URLCanonPath.cpp: Removed.
      * wtf/url/src/URLCanonPathurl.cpp: Removed.
      * wtf/url/src/URLCanonQuery.cpp: Removed.
      * wtf/url/src/URLCanonRelative.cpp: Removed.
      * wtf/url/src/URLCanonStdURL.cpp: Removed.
      * wtf/url/src/URLCharacterTypes.cpp: Removed.
      * wtf/url/src/URLCharacterTypes.h: Removed.
      * wtf/url/src/URLComponent.h: Removed.
      * wtf/url/src/URLFile.h: Removed.
      * wtf/url/src/URLParse.cpp: Removed.
      * wtf/url/src/URLParse.h: Removed.
      * wtf/url/src/URLParseFile.cpp: Removed.
      * wtf/url/src/URLParseInternal.h: Removed.
      * wtf/url/src/URLSegments.cpp: Removed.
      * wtf/url/src/URLSegments.h: Removed.
      * wtf/url/src/URLUtil.cpp: Removed.
      * wtf/url/src/URLUtil.h: Removed.
      * wtf/url/src/URLUtilInternal.h: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147715 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fee685df
  13. 26 Mar, 2013 1 commit
    • fpizlo@apple.com's avatar
      JSC_enableProfiler=true should also cause JSGlobalData to save the profiler output somewhere · 7183460c
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113144
      
      Source/JavaScriptCore: 
      
      Reviewed by Geoffrey Garen.
              
      Added the ability to save profiler output with JSC_enableProfiler=true. It will save it
      to the current directory, or JSC_PROFILER_PATH if the latter was specified.
              
      This works by saving the Profiler::Database either when it is destroyed or atexit(),
      whichever happens first.
              
      This allows use of the profiler from any WebKit client.
      
      * jsc.cpp:
      (jscmain):
      * profiler/ProfilerDatabase.cpp:
      (Profiler):
      (JSC::Profiler::Database::Database):
      (JSC::Profiler::Database::~Database):
      (JSC::Profiler::Database::registerToSaveAtExit):
      (JSC::Profiler::Database::addDatabaseToAtExit):
      (JSC::Profiler::Database::removeDatabaseFromAtExit):
      (JSC::Profiler::Database::performAtExitSave):
      (JSC::Profiler::Database::removeFirstAtExitDatabase):
      (JSC::Profiler::Database::atExitCallback):
      * profiler/ProfilerDatabase.h:
      (JSC::Profiler::Database::databaseID):
      (Database):
      * runtime/JSGlobalData.cpp:
      (JSC::JSGlobalData::JSGlobalData):
      
      Source/WTF: 
      
      Reviewed by Geoffrey Garen.
              
      I got tired of the fact that getpid(2) is not a syscall on Windows (unless you do
      _getpid() I believe), so I wrote a header that abstracts it. I also changed existing
      code that uses getpid() to use WTF::getCurrentProcessID().
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/CMakeLists.txt:
      * wtf/MetaAllocator.cpp:
      (WTF::MetaAllocator::dumpProfile):
      * wtf/ProcessID.h: Added.
      (WTF):
      (WTF::getCurrentProcessID):
      * wtf/text/StringImpl.cpp:
      (WTF::StringStats::printStats):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7183460c
  14. 26 Feb, 2013 1 commit
  15. 21 Feb, 2013 1 commit
  16. 18 Feb, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Move ENABLE macros for WebCore out from Platform.h · 65941504
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=105735
      
      Source/WebKit/chromium:
      
      Move the chromium specific WebCore ENABLE macro definitions
      from Platform.h to features.gypi.
      
      Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-02-18
      Reviewed by Darin Adler and Benjamin Poulain.
      
      * features.gypi: Set ENABLE_SUBPIXEL_LAYOUT to 1.
      
      Source/WTF:
      
      Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-02-18
      Reviewed by Darin Adler and Benjamin Poulain.
      
      Introduce FeatureDefines.h by combining the existing rules from
      Platform.h and adding new rules for all the ENABLE flags that are
      listed in the FeatureFlags wiki.
      
      The new rules are not used at the moment by any ports
      as the port specific build systems already define these flags
      so the !defined() guard will prevent redefinition of the macros.
      
      * GNUmakefile.list.am: Add FeatureDefines.h.
      * WTF.gypi: Ditto.
      * WTF.pro: Ditto.
      * WTF.vcproj/WTF.vcproj: Ditto.
      * WTF.xcodeproj/project.pbxproj: Ditto.
      * wtf/CMakeLists.txt: Ditto.
      * wtf/FeatureDefines.h: Added.
      * wtf/Platform.h: Move macro definitions to FeatureDefines.h.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143211 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      65941504
  17. 12 Feb, 2013 1 commit
    • commit-queue@webkit.org's avatar
      [GTK] Remove the GLib unicode backend · f9b3c2e3
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=109627
      
      Patch by Martin Robinson <mrobinson@igalia.com> on 2013-02-12
      Reviewed by Benjamin Poulain.
      
      .:
      
      Remove references to the GLib unicode backend from configuration.
      
      * Source/autotools/FindDependencies.m4:
      * Source/autotools/ReadCommandLineArguments.m4:
      * Source/autotools/SetupAutoconfHeader.m4:
      * Source/autotools/SetupAutomake.m4:
      
      Source/WebCore:
      
      Remove references to the GLib unicode backend from WebCore.
      
      * GNUmakefile.list.am: Update the source list.
      * platform/text/gtk/TextBreakIteratorGtk.cpp: Removed.
      * platform/text/gtk/TextCodecGtk.cpp: Removed.
      * platform/text/gtk/TextCodecGtk.h: Removed.
      
      Source/WTF:
      
      Remove references to the GLib unicode backend from WTF.
      
      * GNUmakefile.list.am: Remove GLib unicode files from the source list.
      * wtf/unicode/glib/UnicodeGLib.cpp: Removed.
      * wtf/unicode/glib/UnicodeGLib.h: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142724 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f9b3c2e3
  18. 04 Feb, 2013 1 commit
  19. 01 Feb, 2013 1 commit
    • zandobersek@gmail.com's avatar
      [GTK] Add WTFURL source files to the build · 050d2e2f
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108215
      
      Reviewed by Benjamin Poulain.
      
      .: 
      
      * Source/autotools/symbols.filter: Force the export of the KURL::string() symbol.
      This is required when using the WTFURL backend but otherwise doesn't affect the build.
      
      Source/WebCore: 
      
      * platform/KURLWTFURL.cpp:
      (WebCore): Only use the stub implementation of the fileSystemPath method for the
      Apple ports, other ports should for now still rely on their platform-specific implementations.
      
      Source/WTF: 
      
      The WTFURL implementation sources are all still guarded by the USE(WTFURL) guard,
      meaning that the GTK port still uses the default KURL backend. To use the WTFURL
      backend instead, one would have to define WTF_USE_WTFURL in Platform.h.
      
      * GNUmakefile.am: List the directories from which source headers will be included.
      Plenty of WTFURL code currently just includes the required header by name rather
      than specifying the header path as relative to Source/WTF. In the future all the inclusions
      should probaby be changed to include the header through the path relative to Source/WTF.
      * GNUmakefile.list.am: Add build targets for the WTFURL source files.
      * wtf/url/api/ParsedURL.cpp: Specify the complete path to the required headers and
      reorder the inclusions.
      * wtf/url/src/URLCanon.h: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      050d2e2f
  20. 17 Jan, 2013 1 commit
    • zandobersek@gmail.com's avatar
      [Autotools] Unify WTF sources list regardless of the target OS, Unicode backend · 506e0b70
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=105886
      
      Reviewed by Gustavo Noronha Silva.
      
      Rather than including files in the sources list in an OS-specific way,
      guard specific files with OS(UNIX|WINDOWS), USE((GLIB|ICU)_UNICODE) guards
      and include all of them in the list.
      
      Proper comments for namespace and #if guard closings are also added or adjusted
      where necessary in the affected files.
      
      * GNUmakefile.list.am:
      * wtf/OSAllocatorPosix.cpp: Add OS(UNIX) guards.
      * wtf/OSAllocatorWin.cpp: Add OS(WINDOWS) guards.
      * wtf/ThreadSpecificWin.cpp: Ditto.
      * wtf/ThreadingWin.cpp: Ditto.
      * wtf/unicode/glib/UnicodeGLib.cpp: Add USE(GLIB_UNICODE) guards.
      (WTF):
      * wtf/unicode/glib/UnicodeGLib.h: Ditto.
      (WTF):
      * wtf/unicode/icu/CollatorICU.cpp: Style changes.
      * wtf/unicode/icu/UnicodeIcu.h: Add USE(ICU_UNICODE) guards.
      (WTF):
      * wtf/win/OwnPtrWin.cpp: Add OS(WINDOWS) guards.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139974 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      506e0b70
  21. 15 Jan, 2013 1 commit
    • abarth@webkit.org's avatar
      Generalize DocumentWeakReference into WTF::WeakPtr · 431ee7cb
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106854
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      This patch replaces DocumentWeakReference with WeakPtr. There should be
      no change in behavior.
      
      * dom/Document.cpp:
      (WebCore):
      (WebCore::Document::Document):
      (WebCore::Document::~Document):
      (WebCore::PerformTaskContext::PerformTaskContext):
      (PerformTaskContext):
      (WebCore::Document::didReceiveTask):
      (WebCore::Document::postTask):
      (WebCore::Document::reportMemoryUsage):
      * dom/Document.h:
      (WebCore):
      (Document):
      
      Source/WTF:
      
      This patch adds a simple WeakPtr object to WTF. To use WeakPtr, objects
      must hold a WeakPtrFactory member variable, which clears the WeakPtrs
      when the object is destructed. The underlying storage is a
      ThreadSafeRefCounted "WeakReference" object, which is shared by all the
      WeakPtrs.
      
      WeakPtr is a generalization of DocumentWeakReference, which is used to
      check whether the Document object is alive when tasks arive on the main
      thread from worker threads. We plan to use a similar pattern in the
      threaded HTML parser, but we want to send tasks to objects other than
      Document.
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/CMakeLists.txt:
      * wtf/WeakPtr.h: Added.
      (WeakReference):
          - The ThreadSafeRefCounted object shared by all the WeakPtr
            instances. This patch uses ThreadSafeRefCounted so that we can
            use WeakPtrs to cancel cross-thread messages.
      (WTF::WeakReference::create):
      (WTF::WeakReference::get):
      (WTF::WeakReference::clear):
          - When the object is destroyed, WeakPtrFactory calls this function
            to clear all the WeakPtrs.
      (WTF::WeakReference::WeakReference):
      (WTF::WeakPtr::WeakPtr):
      (WTF::WeakPtr::get):
          - We might want to add implicit conversions and Boolean operators
            in the future, but I've kept this class simple for now.
      (WTF::WeakPtrFactory::WeakPtrFactory):
      (WTF::WeakPtrFactory::~WeakPtrFactory):
      (WTF::WeakPtrFactory::createWeakPtr):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139780 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      431ee7cb
  22. 09 Jan, 2013 1 commit
  23. 08 Dec, 2012 1 commit
  24. 28 Nov, 2012 2 commits
    • fpizlo@apple.com's avatar
      SpeculatedType dumping should not use the static char buffer[thingy] idiom · 02e3563e
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=103584
      
      Reviewed by Michael Saboff.
      
      Source/JavaScriptCore: 
      
      Changed SpeculatedType to be "dumpable" by saying things like:
              
      dataLog("thingy = ", SpeculationDump(thingy))
              
      Removed the old stringification functions, and changed all code that referred to them
      to use the new dataLog()/print() style.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * bytecode/SpeculatedType.cpp:
      (JSC::dumpSpeculation):
      (JSC::speculationToAbbreviatedString):
      (JSC::dumpSpeculationAbbreviated):
      * bytecode/SpeculatedType.h:
      * bytecode/ValueProfile.h:
      (JSC::ValueProfileBase::dump):
      * bytecode/VirtualRegister.h:
      (WTF::printInternal):
      * dfg/DFGAbstractValue.h:
      (JSC::DFG::AbstractValue::dump):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation):
      (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
      * dfg/DFGGraph.cpp:
      (JSC::DFG::Graph::dump):
      (JSC::DFG::Graph::predictArgumentTypes):
      * dfg/DFGGraph.h:
      (Graph):
      * dfg/DFGStructureAbstractValue.h:
      * dfg/DFGVariableAccessDataDump.cpp: Added.
      (JSC::DFG::VariableAccessDataDump::VariableAccessDataDump):
      (JSC::DFG::VariableAccessDataDump::dump):
      * dfg/DFGVariableAccessDataDump.h: Added.
      (VariableAccessDataDump):
      
      Source/WTF: 
      
      Added a StringPrintStream, and made it easy to create dumpers for typedefs to primitives.
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/CMakeLists.txt:
      * wtf/PrintStream.cpp:
      (WTF::dumpCharacter):
      * wtf/PrintStream.h:
      (WTF::printInternal):
      * wtf/StringPrintStream.cpp: Added.
      (WTF::StringPrintStream::StringPrintStream):
      (WTF::StringPrintStream::~StringPrintStream):
      (WTF::StringPrintStream::vprintf):
      (WTF::StringPrintStream::toCString):
      (WTF::StringPrintStream::increaseSize):
      * wtf/StringPrintStream.h: Added.
      (StringPrintStream):
      (WTF::toCString):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136096 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      02e3563e
    • fpizlo@apple.com's avatar
      It should be possible to say dataLog("count = ", count, "\n") instead of... · ca5a203c
      fpizlo@apple.com authored
      It should be possible to say dataLog("count = ", count, "\n") instead of dataLogF("count = %d\n", count)
      https://bugs.webkit.org/show_bug.cgi?id=103009
      
      Reviewed by Michael Saboff.
      
      Source/JavaScriptCore: 
      
      Instead of converting all of JSC to use the new dataLog()/print() methods, I just changed
      one place: dumping of abstract values. This is mainly just to ensure that the code I
      added to WTF is actually doing things.
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dump):
      * dfg/DFGAbstractValue.h:
      (JSC::DFG::AbstractValue::dump):
      (WTF):
      (WTF::printInternal):
      * dfg/DFGStructureAbstractValue.h:
      (JSC::DFG::StructureAbstractValue::dump):
      (WTF):
      (WTF::printInternal):
      
      Source/WTF: 
      
      Added the ability to use out.print(...) and dataLog(...) variadically and with
      WTF::printInternal(PrintStream&, const T&) overloads for any type T that you want
      to be able to pass as an argument to out.print() or dataLog(). Also added one
      example class for doing this: RawPointer, which can be used to force a pointer
      to be printed as "%p" rather than matching any overloads that you might want to
      introduce.
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/CMakeLists.txt:
      * wtf/DataLog.h:
      (WTF):
      (WTF::dataLog):
      * wtf/PrintStream.cpp:
      (WTF::printInternal):
      (WTF):
      * wtf/PrintStream.h:
      (PrintStream):
      (WTF::PrintStream::print):
      (WTF):
      * wtf/RawPointer.h: Added.
      (WTF):
      (RawPointer):
      (WTF::RawPointer::RawPointer):
      (WTF::RawPointer::value):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ca5a203c
  25. 23 Nov, 2012 2 commits
    • fpizlo@apple.com's avatar
      Any function that can log things should be able to easily log them to a memory buffer as well · 2ee99366
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=103000
      
      Reviewed by Sam Weinig.
      
      Source/JavaScriptCore: 
      
      Change all users of WTF::dataFile() to expect a PrintStream& rather than a FILE*.
      
      * bytecode/Operands.h:
      (JSC::OperandValueTraits::dump):
      (JSC::dumpOperands):
      (JSC):
      * dfg/DFGAbstractState.cpp:
      (JSC::DFG::AbstractState::dump):
      * dfg/DFGAbstractState.h:
      (AbstractState):
      * dfg/DFGAbstractValue.h:
      (JSC::DFG::AbstractValue::dump):
      * dfg/DFGCommon.h:
      (JSC::DFG::NodeIndexTraits::dump):
      * dfg/DFGStructureAbstractValue.h:
      (JSC::DFG::StructureAbstractValue::dump):
      * dfg/DFGVariableEvent.cpp:
      (JSC::DFG::VariableEvent::dump):
      (JSC::DFG::VariableEvent::dumpFillInfo):
      (JSC::DFG::VariableEvent::dumpSpillInfo):
      * dfg/DFGVariableEvent.h:
      (VariableEvent):
      * disassembler/Disassembler.h:
      (JSC):
      (JSC::tryToDisassemble):
      * disassembler/UDis86Disassembler.cpp:
      (JSC::tryToDisassemble):
      
      Source/WTF: 
      
      We have a number of places where we pass around a FILE* as a target to which to print
      some logging information. But the purpose of passing FILE* instead of always assuming
      that we should dump to stderr is that it may be sometimes useful to send the logging
      information elsewhere. Unfortunately, FILE* isn't quite powerful enough: it's combersome
      to use it to send logging to a string, for example.
              
      We could get around this by using <iostream> and <sstream>, but so far this aspect of
      C++ has not been part of the WebKit coding conventions. Personally I find <iostream>
      awkward due to its abuse of operator overloading.
              
      So this patch introduces the PrintStream abstract class, which offers printf-like
      functionality while completely abstracting the destination and mechanism of the printing
      output. It would be trivial to implement a StringPrintStream, for example. This will feed
      into work on https://bugs.webkit.org/show_bug.cgi?id=102999.
              
      This also sets us up for creating templatized print() and println() methods that will
      allow us to say things like out.print("count = ", count, "\n"), but that is the topic
      of https://bugs.webkit.org/show_bug.cgi?id=103009.
              
      This patch also changes dataLog() to use FilePrintStream internally, and WTF::dataFile()
      now returns a FilePrintStream&. Any previous users of WTF::dataFile() have been changed
      to expect a PrintStream&.
      
      * GNUmakefile.list.am:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/CMakeLists.txt:
      * wtf/DataLog.cpp:
      (WTF):
      (WTF::initializeLogFileOnce):
      (WTF::initializeLogFile):
      (WTF::dataFile):
      (WTF::dataLogV):
      (WTF::dataLogString):
      * wtf/DataLog.h:
      (WTF):
      * wtf/FilePrintStream.cpp: Added.
      (WTF):
      (WTF::FilePrintStream::FilePrintStream):
      (WTF::FilePrintStream::~FilePrintStream):
      (WTF::FilePrintStream::vprintf):
      (WTF::FilePrintStream::flush):
      * wtf/FilePrintStream.h: Added.
      (WTF):
      (FilePrintStream):
      (WTF::FilePrintStream::file):
      * wtf/PrintStream.cpp: Added.
      (WTF):
      (WTF::PrintStream::PrintStream):
      (WTF::PrintStream::~PrintStream):
      (WTF::PrintStream::printf):
      (WTF::PrintStream::print):
      (WTF::PrintStream::println):
      (WTF::PrintStream::flush):
      (WTF::print):
      * wtf/PrintStream.h: Added.
      (WTF):
      (PrintStream):
      (WTF::print):
      (WTF::println):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2ee99366
    • yurys@chromium.org's avatar
      Memory instrumentation: extract MemoryObjectInfo declaration into a separate file · 962a51ac
      yurys@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=102510
      
      Reviewed by Pavel Feldman.
      
      Source/JavaScriptCore:
      
      Added new symbols for the methods that have moved into .../wtf/MemoryInstrumentation.cpp
      
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      
      Source/WebCore:
      
      Added necessary includes where MemoryObjectInfo declaration is required.
      
      * platform/audio/FFTFrame.cpp:
      * rendering/style/RenderStyle.cpp:
      * rendering/style/StyleRareInheritedData.cpp:
      * rendering/style/StyleRareNonInheritedData.cpp:
      
      Source/WTF:
      
      Moved MemoryObjectInfo into separate header. Moved definition of MemoryInstrumentation
      methods that depend on MemoryObjectInfo declaration into MemoryInstrumentation.cpp to
      make MemoryInstrumentation require only forward declaration of MemoryObjectInfo.
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * wtf/CMakeLists.txt:
      * wtf/MemoryInstrumentation.cpp: Added.
      (WTF):
      (WTF::MemoryInstrumentation::MemoryInstrumentation):
      (WTF::MemoryInstrumentation::~MemoryInstrumentation):
      (WTF::MemoryInstrumentation::getObjectType): this method allows to get object type without
      pulling in MemoryObjectInfo.h and all its dependencies.
      (WTF::MemoryInstrumentation::callReportObjectInfo):
      (WTF::MemoryInstrumentation::InstrumentedPointerBase::InstrumentedPointerBase):
      (WTF::MemoryInstrumentation::InstrumentedPointerBase::process):
      (WTF::MemoryClassInfo::init):
      (WTF::MemoryClassInfo::addRawBuffer):
      (WTF::MemoryClassInfo::addPrivateBuffer):
      * wtf/MemoryInstrumentation.h:
      (MemoryInstrumentation):
      (WTF::MemoryInstrumentation::addRootObject):
      (InstrumentedPointerBase):
      (WTF::MemoryInstrumentation::reportObjectMemoryUsage):
      (InstrumentedPointer):
      (WTF::MemoryInstrumentation::addObject): we now pass owner's MemoryObjectInfo in all places
      where we report objects pointed by the owner.
      (WTF::MemoryInstrumentation::OwningTraits::addObject):
      (WTF::MemoryClassInfo::MemoryClassInfo):
      (WTF::MemoryClassInfo::addMember):
      (MemoryClassInfo):
      (WTF::MemoryInstrumentation::addObjectImpl):
      (WTF::::InstrumentedPointer):
      (WTF::::callReportMemoryUsage):
      * wtf/MemoryObjectInfo.h: Added.
      (WTF):
      (MemoryObjectInfo):
      (WTF::MemoryObjectInfo::MemoryObjectInfo):
      (WTF::MemoryObjectInfo::objectType):
      (WTF::MemoryObjectInfo::objectSize):
      (WTF::MemoryObjectInfo::reportedPointer):
      (WTF::MemoryObjectInfo::memoryInstrumentation):
      (WTF::MemoryObjectInfo::reportObjectInfo):
      
      Tools:
      
      Added missing includes.
      
      * TestWebKitAPI/Tests/WTF/MemoryInstrumentationTest.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      962a51ac
  26. 24 Oct, 2012 1 commit
    • yurys@chromium.org's avatar
      Web Inspector: provide memory instrumentation for ListHashSet · c129c71f
      yurys@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97786
      
      Reviewed by Vsevolod Vlasov.
      
      Source/WebCore:
      
      Switched existing usages of addListHashSet to the generic instrumentation mechanism
      as it should work just just fine now that there is a memory instrumentation of
      ListHashSet.
      
      * dom/DocumentEventQueue.cpp:
      * dom/DocumentStyleSheetCollection.cpp:
      (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
      * loader/cache/CachedResourceLoader.cpp:
      (WebCore::CachedResourceLoader::reportMemoryUsage):
      
      Source/WebKit/chromium:
      
      Added a test for ListHashSet memory instrumentation.
      
      * tests/MemoryInstrumentationTest.cpp:
      (WebCore::TEST):
      (WebCore):
      
      Source/WTF:
      
      Added memory instrumentation for ListHashSet.
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/HashSet.h:
      (WTF):
      * wtf/ListHashSet.h:
      (ListHashSet):
      (ListHashSetNodeAllocator): changed visibility of inPool method to public
      (WTF::ListHashSetNodeAllocator::pool):
      (WTF::ListHashSetNodeAllocator::pastPool):
      (WTF::::sizeInBytes): added a method that returns size of the set in bytes including
      all its internals but not the content elements.
      (WTF):
      * wtf/MemoryInstrumentation.h: removed onsolete method. All clients were updated to
      use generic addMember instead.
      (MemoryInstrumentation):
      (WTF::MemoryClassInfo::addPrivateBuffer):
      * wtf/MemoryInstrumentationHashSet.h:
      * wtf/MemoryInstrumentationListHashSet.h: Copied from Source/WTF/wtf/MemoryInstrumentationHashSet.h.
      (WTF):
      (WTF::reportMemoryUsage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c129c71f
  27. 21 Oct, 2012 1 commit
  28. 03 Oct, 2012 1 commit
    • yurys@chromium.org's avatar
      Provide memory instrumentation for HashCountedSet · 4d3e1731
      yurys@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=98138
      
      Reviewed by Pavel Feldman.
      
      Source/WebCore:
      
      Replaced addHashCountedSet calls with addMember that now automatically
      detects HashCountedSet and calls appropriate routine.
      
      * css/CSSImageGeneratorValue.cpp:
      (WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):
      * loader/cache/CachedResource.cpp:
      
      Source/WebKit/chromium:
      
      Added unit test for HashCountedSet memory instrumentation.
      
      * tests/MemoryInstrumentationTest.cpp:
      
      Source/WTF:
      
      Added memory instrumentation for HashCountedSet.
      
      Extracted common routines for collecting memory info for an iterable sequence.
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/MemoryInstrumentation.h:
      (WTF):
      * wtf/MemoryInstrumentationHashCountedSet.h: Copied from Source/WTF/wtf/MemoryInstrumentationHashSet.h.
      (WTF):
      (WTF::reportMemoryUsage):
      * wtf/MemoryInstrumentationHashMap.h:
      (WTF::reportMemoryUsage):
      * wtf/MemoryInstrumentationHashSet.h:
      * wtf/MemoryInstrumentationSequence.h: Copied from Source/WTF/wtf/MemoryInstrumentationHashMap.h.
      (WTF):
      (WTF::SequenceMemoryInstrumentationTraits::reportMemoryUsage):
      (WTF::reportSequenceMemoryUsage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d3e1731
  29. 02 Oct, 2012 5 commits
    • jsbell@chromium.org's avatar
      Add htons/htonl definitions and implementations · b4ac43ba
      jsbell@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=98054
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Update users of htons and friends to use new wtf/ByteOrder.h header.
      
      No new tests - just refactoring.
      
      * platform/graphics/WOFFFileFormat.cpp:
      * platform/graphics/chromium/VDMXParser.cpp:
      
      Source/WTF:
      
      For parsing or serializing binary data, byte order matters. The canonical htons/htonl/
      ntohs/ntohl functions are not present everywhere, so implementations are proliferating in
      parsers. Expose a new WTF header (wtf/ByteOrder.h) that includes the standard
      implementations on UNIX-like OSs and provides basic inlined implementations on Windows.
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/ByteOrder.h: Added.
      (WTF::wswap32): Inline functions so arguments are only evaluated once.
      (WTF::bswap32):
      (WTF::bswap16):
      (ntohs): Inline functions on OS(WINDOWS) to match macros on OS(UNIX)
      (htons):
      (ntohl):
      (htonl):
      * wtf/CMakeLists.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4ac43ba
    • loislo@chromium.org's avatar
      Web Inspector: NMI: switch to non intrusive instrumentation of ParsedURL. · 71cd5387
      loislo@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=98150
      
      Reviewed by Yury Semikhatsky.
      
      Source/WebCore:
      
      Style changes.
      
      * platform/KURLWTFURLImpl.h:
      (WebCore::KURLWTFURLImpl::reportMemoryUsage):
      
      Source/WTF:
      
      Memory instrumentation for ParsedURL was extracted into separate header MemoryInstrumentationParsedURL.h
      
      Drive by fix: unnecessary include was removed from String*.cpp files.
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/MemoryInstrumentation.h:
      (WTF):
      * wtf/MemoryInstrumentationParsedURL.h: Added.
      (WTF):
      (WTF::reportMemoryUsage):
      * wtf/text/AtomicString.cpp:
      * wtf/text/StringImpl.cpp:
      * wtf/text/WTFString.cpp:
      * wtf/url/api/ParsedURL.cpp:
      * wtf/url/api/ParsedURL.h:
      * wtf/url/api/URLString.cpp:
      * wtf/url/api/URLString.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71cd5387
    • loislo@chromium.org's avatar
      Web Inspector: NMI make String* instrumentation non intrusive · 506e5c28
      loislo@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97964
      
      Reviewed by Yury Semikhatsky.
      
      Source/WebCore:
      
      MemoryInstrumentationString.h include was added.
      
      * dom/WebCoreMemoryInstrumentation.h:
      
      Source/WebKit/chromium:
      
      The expectations were fixed because old instrumentation had wrong detector for BufferInternal type of storage.
      
      * tests/MemoryInstrumentationTest.cpp:
      (WebCore::TEST):
      
      Source/WTF:
      
      MemoryInstrumentationString.h was added.
      Intrusive instrumentation was removed.
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/MemoryInstrumentation.h:
      (WTF):
      * wtf/MemoryInstrumentationString.h: Added.
      (WTF):
      (WTF::reportMemoryUsage):
      * wtf/text/AtomicString.cpp:
      (WTF):
      * wtf/text/AtomicString.h:
      (AtomicString):
      * wtf/text/CString.h:
      (WTF::CStringBuffer::length):
      * wtf/text/StringImpl.cpp:
      * wtf/text/StringImpl.h:
      (WTF::StringImpl::usesInternalBuffer):
      (WTF::StringImpl::baseString):
      (StringImpl):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130144 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      506e5c28
    • caseq@chromium.org's avatar
      Unreviewed, rolling out r130129. · f7d05cdc
      caseq@chromium.org authored
      http://trac.webkit.org/changeset/130129
      https://bugs.webkit.org/show_bug.cgi?id=98125
      
      broke 4 webkit_unit_tests
      (MemoryInstrumentationTest.hashMapWith*) (Requested by caseq
      on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-10-02
      
      Source/WebCore:
      
      * dom/WebCoreMemoryInstrumentation.h:
      * platform/KURL.cpp:
      * platform/KURLGoogle.cpp:
      * platform/PlatformMemoryInstrumentation.h:
      
      Source/WebKit/chromium:
      
      * tests/MemoryInstrumentationTest.cpp:
      
      Source/WTF:
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/MemoryInstrumentation.h:
      (WTF):
      * wtf/MemoryInstrumentationString.h: Removed.
      * wtf/text/AtomicString.cpp:
      (WTF::AtomicString::reportMemoryUsage):
      (WTF):
      * wtf/text/AtomicString.h:
      (AtomicString):
      * wtf/text/CString.h:
      (WTF::CStringBuffer::length):
      (CStringBuffer):
      (WTF::CStringBuffer::reportMemoryUsage):
      (CString):
      (WTF::CString::reportMemoryUsage):
      * wtf/text/StringImpl.cpp:
      (WTF::StringImpl::reportMemoryUsage):
      (WTF):
      * wtf/text/StringImpl.h:
      (StringImpl):
      * wtf/text/WTFString.cpp:
      (WTF::String::reportMemoryUsage):
      (WTF):
      * wtf/text/WTFString.h:
      (String):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130137 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f7d05cdc
    • loislo@chromium.org's avatar
      Web Inspector: NMI make String* instrumentation non intrusive · 888dff0b
      loislo@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97964
      
      Reviewed by Yury Semikhatsky.
      
      Source/WebCore:
      
      MemoryInstrumentationString.h include was added.
      
      * dom/WebCoreMemoryInstrumentation.h:
      
      Source/WebKit/chromium:
      
      The expectations were fixed because old instrumentation had wrong detector for BufferInternal type of storage.
      
      * tests/MemoryInstrumentationTest.cpp:
      (WebCore::TEST):
      
      Source/WTF:
      
      MemoryInstrumentationString.h was added.
      Intrusive instrumentation was removed.
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/MemoryInstrumentation.h:
      (WTF):
      * wtf/MemoryInstrumentationString.h: Added.
      (WTF):
      (WTF::reportMemoryUsage):
      * wtf/text/AtomicString.cpp:
      (WTF):
      * wtf/text/AtomicString.h:
      (AtomicString):
      * wtf/text/CString.h:
      (WTF::CStringBuffer::length):
      * wtf/text/StringImpl.cpp:
      * wtf/text/StringImpl.h:
      (WTF::StringImpl::usesInternalBuffer):
      (WTF::StringImpl::baseString):
      (StringImpl):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130129 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      888dff0b
  30. 01 Oct, 2012 2 commits
    • yurys@chromium.org's avatar
      Web Inspector: provide memory instrumentation for HashMap · 9c990164
      yurys@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=98005
      
      Reviewed by Pavel Feldman.
      
      Source/WebCore:
      
      Updated all call sites of MemoryInstrumentation::addHashMap to use generic
      method of reporting memory footprint instead.
      
      * bindings/v8/ScopedDOMDataStore.cpp:
      * bindings/v8/V8Binding.cpp:
      (WebCore::StringCache::reportMemoryUsage):
      * bindings/v8/V8DOMMap.h:
      * bindings/v8/V8PerIsolateData.cpp:
      (WebCore::V8PerIsolateData::reportMemoryUsage):
      * css/CSSImageGeneratorValue.cpp:
      (WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):
      * css/PropertySetCSSStyleDeclaration.cpp:
      (WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::collectMatchingRulesForList):
      * css/StyleSheetContents.cpp:
      (WebCore::StyleSheetContents::reportMemoryUsage):
      * dom/Document.cpp:
      (WebCore::Document::reportMemoryUsage):
      * loader/DocumentLoader.cpp:
      (WebCore::DocumentLoader::reportMemoryUsage):
      * loader/cache/CachedResourceLoader.cpp:
      (WebCore::CachedResourceLoader::reportMemoryUsage):
      * loader/cache/MemoryCache.cpp:
      (WebCore::MemoryCache::reportMemoryUsage):
      * platform/network/ResourceRequestBase.cpp:
      (WebCore::ResourceRequestBase::reportMemoryUsage):
      * platform/network/ResourceResponseBase.cpp:
      (WebCore::ResourceResponseBase::reportMemoryUsage):
      * rendering/style/StyleRareNonInheritedData.cpp:
      
      Source/WebKit/chromium:
      
      Added unit tests for HashMap memory instrumentation.
      
      * tests/MemoryInstrumentationTest.cpp:
      (WTF):
      
      Source/WTF:
      
      Extracted HashMap memory instrumentation into its own file. The map's content
      elements will be automatically traversed if their types are supported
      by the memory instrumentation. No need to call special method for hash map
      fields any more.
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * wtf/MemoryInstrumentation.h:
      (MemoryInstrumentation):
      (WTF):
      * wtf/MemoryInstrumentationHashMap.h: Added.
      (WTF):
      (WTF::SequenceMemoryInstrumentationTraits::reportMemoryUsage):
      (WTF::reportMemoryUsage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9c990164
    • carlosgc@webkit.org's avatar
      Unreviewed. Fix make distcheck. · 2c68b707
      carlosgc@webkit.org authored
      Source/WebCore:
      
      * GNUmakefile.list.am: ClipPathOperation.h was moved.
      
      Source/WTF:
      
      * GNUmakefile.list.am: Add missing header files to compilation.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2c68b707
  31. 28 Sep, 2012 1 commit
    • yurys@chromium.org's avatar
      Web Inspector: make HashSet memory instrumentation non-intrusive · 93d59a3a
      yurys@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97879
      
      Reviewed by Vsevolod Vlasov.
      
      Source/WebKit/chromium:
      
      Update the test for HashSet memory instrumentation. We don't add
      HashSet's private objects into the set of visited objects any more
      and should update the expectation accordingly.
      
      * tests/MemoryInstrumentationTest.cpp:
      (WebCore::TEST):
      
      Source/WTF:
      
      Removed reportMemoryUsage declarations as a friend of HashSet and HashTable. Also
      removed MemoryInstrumentationHashTable which is not needed if we don't have
      access to HashSet's guts.
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/HashSet.h:
      (WTF):
      (HashSet):
      * wtf/HashTable.h:
      (HashTable):
      * wtf/MemoryInstrumentation.h:
      (WTF::MemoryClassInfo::addPrivateBuffer):
      * wtf/MemoryInstrumentationHashSet.h:
      (WTF::reportMemoryUsage):
      * wtf/MemoryInstrumentationHashTable.h: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93d59a3a