2013-01-05 Jonathan Liu Only enable MinGW-w64 pow() workaround if needed https://bugs.webkit.org/show_bug.cgi?id=106099 Reviewed by Filip Pizlo. The pow() workaround is no longer needed in the latest version of MinGW-w64. * wtf/MathExtras.h: 2013-01-05 Jonathan Liu Fix compilation of MathExtras.h with MinGW-w64 https://bugs.webkit.org/show_bug.cgi?id=106105 Reviewed by Simon Hausmann. The isfinite and isinf functions are required by wtf_pow but not defined until after wtf_pow. Move wtf_pow to after "using std::isfinite" and "using std::isinf" to fix compilation. * wtf/MathExtras.h: (wtf_pow): 2013-01-02 Simon Hausmann [MinGW-w64] Centralize workaround for pow() implementation https://bugs.webkit.org/show_bug.cgi?id=105925 Reviewed by Sam Weinig. As suggested by Sam, move the MinGW-w64 workaround into MathExtras.h away from the JSC usage. * wtf/MathExtras.h: (wtf_pow): 2012-11-30 Simon Hausmann , Pierre Rossi [Qt] Separate Qt WebKit into Qt WebKit and Qt WebKit Widgets https://bugs.webkit.org/show_bug.cgi?id=99314 Reviewed by Tor Arne Vestbø. This big change separates QtWebKit into QtWebKit and QtWebKitWidgets as shared libraries. It's a big refactoring that mostly involves moving WebCore dependent code into QtWebKit and accessing it through exported QWebFrameAdapter and QWebPageAdapter classes. * wtf/text/WTFString.h: (String): Export the QString conversions also as WTF_STRING_API. 2012-11-29 Filip Pizlo It should be easy to find code blocks in debug dumps https://bugs.webkit.org/show_bug.cgi?id=103623 Reviewed by Geoffrey Garen. Changed RawPointer to accept both const void* and void*, and use the former internally. Cleaned up SHA1 so that the functionality already used internally for self-testing is available via the API. This includes addBytes(CString) and computing hex digests. * wtf/RawPointer.h: (WTF::RawPointer::RawPointer): (RawPointer): (WTF::RawPointer::value): * wtf/SHA1.cpp: (WTF::expectSHA1): (WTF::SHA1::hexDigest): (WTF::SHA1::computeHexDigest): * wtf/SHA1.h: (WTF::SHA1::addBytes): 2012-11-29 Patrick Gansterer Build fix for WinCE after r136096. * wtf/StringPrintStream.cpp: Added missing include file. 2012-11-28 Filip Pizlo SpeculatedType dumping should not use the static char buffer[thingy] idiom https://bugs.webkit.org/show_bug.cgi?id=103584 Reviewed by Michael Saboff. 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): 2012-11-28 Michael Saboff Update String Stats for recent dataLog changes and add summary https://bugs.webkit.org/show_bug.cgi?id=103583 Reviewed by Filip Pizlo. Updated calls to dataLog() to dataLogF() as a results of r135469. Added total savings from 8 bit strings in bytes and as a percentage. * wtf/text/StringImpl.cpp: (WTF::StringStats::printStats): 2012-11-28 Roger Fong Make DataLog work/compile properly on Windows. https://bugs.webkit.org/show_bug.cgi?id=103544 Reviewed by Filip Pizlo. * wtf/DataLog.cpp: (WTF::initializeLogFileOnce): 2012-11-28 Filip Pizlo 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. 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): 2012-11-27 Filip Pizlo Convert some remaining uses of FILE* to PrintStream&. Rubber stamped by Mark Hahnenberg. * wtf/BitVector.cpp: (WTF::BitVector::dump): * wtf/BitVector.h: (BitVector): 2012-11-27 Pratik Solanki objc/objc-runtime.h does not exist on all PLATFORM(MAC) https://bugs.webkit.org/show_bug.cgi?id=101780 Reviewed by Brent Fulgham. Clean up header includes so we don't include objc/objc-runtime.h. * wtf/Functional.h: * wtf/ObjcRuntimeExtras.h: Include objc/message.h here so we don't rely on proper ordering of includes in files that include this header. 2012-11-27 Sheriff Bot Unreviewed, rolling out r135828. http://trac.webkit.org/changeset/135828 https://bugs.webkit.org/show_bug.cgi?id=103405 [Chromium] Multiple ASAN errors after a WebKit roll due to mismatched malloc/delete (not free) resulting from StringImpl::deref() (Requested by apavlov on #webkit). * wtf/FastAllocBase.h: * wtf/Platform.h: 2012-11-26 Adam Barth [Chromium] fastMalloc has an extra branch on Windows https://bugs.webkit.org/show_bug.cgi?id=103027 Reviewed by Eric Seidel. There's no need to override the new/delete operators on non-Mac platform because: 1) We use the system malloc anyway. 2) We've modified the system malloc to crash in out-of-memory conditions. This patch removes a branch (and a call) from malloc, which will hopefully improve performance. I haven't measured the performance characteristics of this patch, but I will look at the graphs closely when landing. * wtf/FastAllocBase.h: * wtf/Platform.h: 2012-11-26 Filip Pizlo DataLog to a file should work if there are multiple processes using WTF https://bugs.webkit.org/show_bug.cgi?id=103323 Reviewed by Mark Hahnenberg. Whereas before DataLog would open a file with the name you specified, now it'll open a file with the name plus the PID appended to it. So if you are dealing with multiple processes running with DataLog to a file enabled, you'll get multiple separate log files. * wtf/DataLog.cpp: (WTF::initializeLogFileOnce): 2012-11-26 Zeno Albisser [Qt] Fix the LLInt build on Mac https://bugs.webkit.org/show_bug.cgi?id=97587 Reviewed by Simon Hausmann. * wtf/InlineASM.h: Use OS(DARWIN) instead of PLATFORM(MAC), in order to allow Qt to use the same code. * wtf/Platform.h: 2012-11-26 Patrick Gansterer Build fix for WinCE after r135640. * wtf/DataLog.cpp: 2012-11-24 Adam Barth Chromium should use TCMalloc on Mac to go fast https://bugs.webkit.org/show_bug.cgi?id=102866 Reviewed by Eric Seidel. This patch enables TCMalloc for some WebKit objects. It improves dom-modify on Mac by 5-10%. On non-Mac platforms, Chromium already uses TCMalloc throughout the project. Unfortunately, we haven't yet figured out how to turn TCMalloc on globally on Mac because the approach we use for other platforms makes some OS X APIs sad. The next best thing would be to enable TCMalloc for WebKit by overriding the global new and delete operator, as is done on apple-mac and other platforms. Unfortunately, we cannot use that approach either because the Chromium WebKit API is not memory tight. Fortunately, WebKit has a mechanism for selectively enabling TCMalloc for a selection of objects by overriding the new and delete operators on those objects. This patch opts chromium-mac into that scheme by setting the appropriate preprocessor macros. * WTF.gyp/WTF.gyp: * wtf/Platform.h: 2012-11-21 Filip Pizlo Any function that can log things should be able to easily log them to a memory buffer as well https://bugs.webkit.org/show_bug.cgi?id=103000 Reviewed by Sam Weinig. 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 and , but so far this aspect of C++ has not been part of the WebKit coding conventions. Personally I find 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): 2012-11-23 Robert Kroeger Remove unused ScrollByPixelVelocity https://bugs.webkit.org/show_bug.cgi?id=102840 Reviewed by Sam Weinig. The GESTURE_ANIMATION feature turns on code in WebCore is unused. Remove it. No new tests: code removal/cleanup. * wtf/Platform.h: 2012-11-23 Laszlo Gombos [EFL] Define WTF_PLATFORM_EFL in Platform.h https://bugs.webkit.org/show_bug.cgi?id=101482 Reviewed by Kenneth Rohde Christiansen. Define WTF_PLATFORM_EFL in Platform.h to be consistent with other ports. * wtf/Platform.h: 2012-11-16 Yury Semikhatsky Memory instrumentation: extract MemoryObjectInfo declaration into a separate file https://bugs.webkit.org/show_bug.cgi?id=102510 Reviewed by Pavel Feldman. 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): 2012-11-23 Krzysztof Czech [EFL] Platform support for Accessibility feature. https://bugs.webkit.org/show_bug.cgi?id=100848 Reviewed by Gyuyoung Kim. Enable HAVE(ACCESSIBILITY) ifdefs so that EFL port can use it. * wtf/Platform.h: 2012-11-22 Michael Saboff HTML integer parsing functions don't natively handle 8 bit strings https://bugs.webkit.org/show_bug.cgi?id=102997 Reviewed by Filip Pizlo. Added exports to the LChar* versions of charactersToIntStrict() and charactersToUIntStrict() to support the changes made to parseHTMLInteger() and parseHTMLNonNegativeInteger(). * wtf/text/WTFString.h: (WTF::charactersToIntStrict): Added export (WTF::charactersToUIntStrict): Added export 2012-11-21 Filip Pizlo Rename dataLog() and dataLogV() to dataLogF() and dataLogFV() https://bugs.webkit.org/show_bug.cgi?id=103001 Rubber stamped by Dan Bernstein. * wtf/DataLog.cpp: (WTF::dataLogFV): (WTF::dataLogF): (WTF::dataLogFString): * wtf/DataLog.h: (WTF): * wtf/HashTable.cpp: (WTF::HashTableStats::dumpStats): * wtf/HashTable.h: (WTF::HashTable::Stats::dumpStats): * wtf/MetaAllocator.cpp: (WTF::MetaAllocator::dumpProfile): * wtf/StackStats.cpp: (WTF::StackStats::initialize): (WTF::StackStats::PerThreadStats::PerThreadStats): (WTF::StackStats::CheckPoint::CheckPoint): (WTF::StackStats::CheckPoint::~CheckPoint): (WTF::StackStats::probe): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): * wtf/text/WTFString.cpp: (String::show): 2012-11-21 Anthony G. Basile Source/WTF/wtf/Assertions.cpp: fix build on a uClibc system https://bugs.webkit.org/show_bug.cgi?id=102946 Reviewed by Tony Chang. Webkit-Gtk fails to build on a uClibc system because Assertions.cpp assumes that all Linux systems have execinfo.h and provide backtrace(). This is not necessarily the case for uClibc which can be configured without these. This patch refines the check for OS(LINUX) to prevent this breakage. Originally reported at https://bugs.gentoo.org/441674 * wtf/Assertions.cpp: 2012-11-19 Filip Pizlo DFG should be able to cache closure calls https://bugs.webkit.org/show_bug.cgi?id=102662 Reviewed by Gavin Barraclough. Added support to the meta allocator for easily querying whether an address falls within a certain allocated chunk. Also added a useful debug routine to SentinelLinkedList, which can be used to check if a node is on a particular list. * wtf/MetaAllocatorHandle.h: (MetaAllocatorHandle): (WTF::MetaAllocatorHandle::containsIntegerAddress): (WTF::MetaAllocatorHandle::contains): * wtf/SentinelLinkedList.h: (SentinelLinkedList): (WTF::::isOnList): (WTF): 2012-11-19 Laszlo Gombos Remove ReadWriteLock https://bugs.webkit.org/show_bug.cgi?id=101637 Reviewed by Darin Adler. Remove ReadWriteLock as it does not seems to be used. * wtf/Platform.h: Remove the definition of HAVE_PTHREAD_RWLOCK. * wtf/ThreadingPrimitives.h: Remove the PlatformReadWriteLock type and the ReadWriteLock class. * wtf/ThreadingPthreads.cpp: Remove the implementation of the ReadWriteLock class using pthreads. 2012-11-19 Brady Eidson Add 64-bit specializations for atomicIncrement and atomicDecrement https://bugs.webkit.org/show_bug.cgi?id=102702 Reviewed by Eric Carlson. * wtf/Atomics.h: (WTF::atomicIncrement): Add A 64-bit version for Darwin. (WTF::atomicDecrement): Ditto. 2012-11-18 Laszlo Gombos Remove non-existent directories from the make system https://bugs.webkit.org/show_bug.cgi?id=102632 Reviewed by Adam Barth. Remove (non-existent) symbian references from the exclude list in gyp project files. * WTF.gyp/WTF.gyp: 2012-11-16 Michael Saboff String::fromUTF8() should take advantage of the ASCII check in convertUTF8ToUTF16() https://bugs.webkit.org/show_bug.cgi?id=100577 Reviewed by Oliver Hunt. Passed in ASCII flag to convertUTF8ToUTF16() and if try, create an 8 bit string from the original arguments. Relanding after fix to https://bugs.webkit.org/show_bug.cgi?id=102482. * wtf/text/WTFString.cpp: (WTF::String::fromUTF8): 2012-11-15 Yury Semikhatsky Memory instrumentation: add code for reporting stack traces of unknown instrumented objects https://bugs.webkit.org/show_bug.cgi?id=102384 Reviewed by Pavel Feldman. Added an option to collect stack traces for instrumented pointers so that they can be printed in case the check failed for the pointer. This code is hidden behind a define. * wtf/MemoryInstrumentation.h: (MemoryInstrumentationClient): (WTF::MemoryInstrumentation::checkCountedObject): the method now returns false in case the check has failed. (InstrumentedPointer): (WTF::::InstrumentedPointer): (WTF): (WTF::::process): 2012-11-15 Mark Hahnenberg Windows Fibers can corrupt the cached StackBounds https://bugs.webkit.org/show_bug.cgi?id=102411 Reviewed by Geoffrey Garen. Windows has support for something called fibers, which are like lightweight versions of threads. Multiple fibers can run within the context of a single thread and they have access to the same thread local storage but have different stacks. If we create a new JSGlobalContext on one fiber, then switch to another fiber and create a JSGlobalContext there, we will call initializeThreading() once for each new JSGlobalContext created. However, since these fibers are technically running inside the same thread, they will clobber each other's wtfThreadData(), which is stored using thread local storage. This can lead to corruption of the WTFThreadData structure for the fibers other than the last one to create a new JSGlobalContext, including the StackBounds data structure which is used during conservative scanning, among other things. This can lead to crashes during garbage collection on Windows if fibers are used. A quick fix would be to always get a fresh StackBounds data structure when asking for it instead of using the cached version from the thread local storage. There is a larger problem in that these fibers can corrupt other WebKit data that uses thread local storage. We'll leave those theoretical fixes for future theoretical bugs. * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): We now refresh the m_stackBounds field whenever somebody asks for the StackBounds. 2012-11-15 Maciej Stachowiak Fix an erroneous comment about the operators required by binarySearch https://bugs.webkit.org/show_bug.cgi?id=102406 Reviewed by Anders Carlsson. * wtf/StdLibExtras.h: binarySearch needs '==' and '<', not '--', '<' and '>'. 2012-11-14 Michael Saboff String::append() should handle two 8 bit strings without converting both to 16 bits https://bugs.webkit.org/show_bug.cgi?id=102286 Reviewed by Oliver Hunt. If both strings are 8 bit, then allocate and copy to a new 8 bit string. Since most strings are 8 bit, this will save up to 3x the resulting string length in bytes. 2x is due to the possible surviving 16 bit source string upconversion and 1x for the 16 bit result now being 8 bit. * wtf/text/WTFString.cpp: (WTF::String::append): 2012-11-14 Csaba Osztrogonác [Qt][ARM] Enable the DFG JIT on ARMv7(Thumb2) https://bugs.webkit.org/show_bug.cgi?id=101747 Reviewed by Simon Hausmann. * wtf/Platform.h: 2012-11-13 Christophe Dumez Use prefix form of increment / decrement operators in WTF String classes when possible https://bugs.webkit.org/show_bug.cgi?id=101859 Reviewed by Benjamin Poulain. Use prefix form of increment / decrement operators whenever possible in WTF String classes as this seems to be the convention in WebKit. * wtf/text/ASCIIFastPath.h: (WTF::copyLCharsFromUCharSource): * wtf/text/AtomicString.cpp: (WTF::AtomicString::add): * wtf/text/Base64.cpp: (WTF::base64Encode): (WTF::base64DecodeInternal): * wtf/text/StringBuilder.cpp: (WTF::StringBuilder::allocateBufferUpConvert): * wtf/text/StringConcatenate.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::getData16SlowCase): (WTF::StringImpl::upconvertCharacters): (WTF::StringImpl::containsOnlyWhitespace): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::foldCase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::reverseFindInner): (WTF::reverseFindIgnoringCaseInner): (WTF::StringImpl::replace): (WTF::StringImpl::createWithTerminatingNullCharacter): * wtf/text/StringImpl.h: (WTF::codePointCompare): * wtf/text/WTFString.cpp: (WTF::String::String): (WTF::toIntegralType): 2012-11-13 Ryosuke Niwa Build fix after r134490. * wtf/FastMalloc.cpp: 2012-11-13 Brent Fulgham and Alex Christensen Fix FastMalloc.cpp compile error for MSVC in 64-bit. https://bugs.webkit.org/show_bug.cgi?id=88344 Reviewed by Ryosuke Niwa. MSVC will not compile array declarations of zero size. The existing padding math for TCMalloc_Central_FreeListPadded would evaluate to zero on 64-bit machines, preventing the compile from finishing. * wtf/FastMalloc.cpp: (TCMalloc_Central_FreeListPadded_Template): Add new template (and zero-size specialization) to provide proper behavior under 64-bit Windows build. 2012-11-13 Brent Fulgham and Alex Christensen FastMalloc.cpp needs to be reordered before padding bug can be fixed https://bugs.webkit.org/show_bug.cgi?id=89366 Note: This file violates Style rules. This change only moves the TCMalloc_Central_FreeList class declaration and the various FastMallocZone methods earlier in the file. Reviewed by Ryosuke Niwa. * wtf/FastMalloc.cpp: Reordered definitions to prepare for adding specialized template (WTF): (TCMalloc_Central_FreeList): (WTF::TCMalloc_Central_FreeList::length): (WTF::TCMalloc_Central_FreeList::tc_length): (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): (TCMalloc_Central_FreeListPadded): (FastMallocZone): (WTF::FastMallocZone::goodSize): (WTF::FastMallocZone::check): (WTF::FastMallocZone::print): (WTF::FastMallocZone::log): (WTF::FastMallocZone::forceLock): (WTF::FastMallocZone::forceUnlock): (WTF::FastMallocZone::statistics): (WTF::FastMallocZone::zoneValloc): (WTF::FastMallocZone::zoneDestroy): (WTF::KernelSupportsTLS): (WTF::CheckIfKernelSupportsTLS): (TCMalloc_ThreadCache): 2012-11-11 Kenichi Ishibashi WTFString::utf8() should have a mode of conversion to use replacement character https://bugs.webkit.org/show_bug.cgi?id=101678 Reviewed by Alexander Pavlov. Introduce conversion mode to String::utf8(). There are three conversion modes; lenient mode, strict mode, and "replacing unpaired surrogates with the replacement character" (replacement) mode. Lenient mode converts unpaired surrogates. Strict mode fails when there is an unpaired surrogates and returns CString(). Replacement mode replaces unpaired surrogates with the replacement character(U+FFFD). Replacement mode implements the algorithm defined at http://dev.w3.org/2006/webapi/WebIDL/#dfn-obtain-unicode. WebSocket::send() requires this algorithm to encode a string to utf-8. * wtf/text/WTFString.cpp: (WTF::String::utf8): Changed to take ConversionMode as the argument. * wtf/text/WTFString.h: (String): 2012-11-09 Alexei Filippov Web Inspector: Fix heap snapshots counted several times by NMI https://bugs.webkit.org/show_bug.cgi?id=101085 The fix moves snapshots size counting to V8PerIsolateData class. As long as it has one instance per isolate its reportMemoryUsage should be called once per isolate. Reviewed by Yury Semikhatsky. * wtf/MemoryInstrumentation.h: (WTF::MemoryClassInfo::addPrivateBuffer): 2012-11-08 Michael Saboff HashAndUTF8CharactersTranslator should create an 8 bit string if possible https://bugs.webkit.org/show_bug.cgi?id=101515 Reviewed by Darin Adler. Added isAllASCII flag that's passed to convertUTF8ToUTF16(). If on return it is true, create an 8 bit string, otherwise use the 16 bit string. * wtf/text/AtomicString.cpp: (WTF::HashAndUTF8CharactersTranslator::translate): 2012-11-08 Simon Hausmann [Qt] Fix build with MSVC 2012 and Angle https://bugs.webkit.org/show_bug.cgi?id=101588 Reviewed by Tor Arne Vestbø. Angle includes STL's header file, which with MSVC 2012 includes stdint.h. MSVC 2012 does ship stdint.h, but it's lacking other headers such as inttypes.h. So for the rest of WebKit we have to continue to use our own versions of these files from JavaScriptCore/os-win32. But for Angle we are just including a shipped STL header file (memory) and so it's up to the compiler to make that work, i.e. using the stdint.h it ships. This patch moves the addition of JavaScriptCore/os-win32 out of default_post.prf, so that it doesn't apply to each and every target anymore. In particular it won't apply to Angle anymore, because its presence causes a build issue where due to the addition of os-win32/ we end up including our own stdint.h but are lacking WTF/ to be in the include search path (which our own stdint.h requires). So out of default_post.prf and into WTF.pri, our own wrappers are now only used where WTF is also needed, and since os-win32/stdint.h depends on wtf/Platform.h, it seems like a logical location. * WTF.pri: 2012-11-07 Hans Wennborg Fix asm operand type for weakCompareAndSwap on ARM_THUMB2 https://bugs.webkit.org/show_bug.cgi?id=101238 Reviewed by Benjamin Poulain. 'result' was a bool, but the asm was expecting a 32-bit register. A recent version of Clang warned about this: WebKit/Source/WTF/wtf/Atomics.h:163:34: error: the size being stored is truncated, use a modifier to specify the size [-Werror,-Wasm-operand-widths] This patch fixes it by making 'result' an unsigned. It does not change the functionality in practice ('result' would be in a 32-bit register anyway), but it makes the code more correct and makes the warning go away. Also make 'result' for the X86 version an 'unsigned char' to make it more clear that it is a byte. * wtf/Atomics.h: (WTF::weakCompareAndSwap): 2012-11-07 Remy Demarest Function adoptNS and adoptCF should not generate memory leak diagnostic with Clang Static Analyzer. https://bugs.webkit.org/show_bug.cgi?id=101420 Reviewed by Benjamin Poulain. Add attributes to the adoptNS and adoptCF function arguments to remove Clang Static Analyzer diagnotics. Define CF_RELEASES_ARGUMENT and NS_RELEASES_ARGUMENT if not available, use them in function declarations. * wtf/RetainPtr.h: (WTF::adoptCF): Adds CF_RELEASES_ARGUMENT attribute to the argument. (WTF::adoptNS): Adds NS_RELEASES_ARGUMENT attribute to the argument. 2012-11-07 Christophe Dumez Add replaceWithLiteral() method to WTF::String https://bugs.webkit.org/show_bug.cgi?id=101257 Reviewed by Benjamin Poulain. Add replaceWithLiteral() method to WTF::String that takes replacement string as a literal to avoid uselessly constructing a String object. * wtf/text/StringImpl.cpp: (WTF::StringImpl::replace): (WTF): * wtf/text/StringImpl.h: (WTF::StringImpl::replace): (StringImpl): * wtf/text/WTFString.h: (String): (WTF::String::replaceWithLiteral): 2012-11-06 Michael Saboff StringBuilder::append(UChar) with an 8 bit quantity shouldn't change the contents to 16 bits https://bugs.webkit.org/show_bug.cgi?id=101421 Reviewed by Anders Carlsson. If the string builder contains only 8 bit data, check if the character being appended contains 8 bit data. If so, append it to the 8 bit buffer instead of converting the buffer to 16 bits. * wtf/text/StringBuilder.cpp: (WTF::StringBuilder::append): * wtf/text/StringBuilder.h: (WTF::StringBuilder::append): 2012-11-06 Benjamin Poulain Speed up TransformationMatrix::multiply() on modern ARM https://bugs.webkit.org/show_bug.cgi?id=101084 Reviewed by Gavin Barraclough. * wtf/Platform.h: Add CPU(ARM_VFP) for detecting VFP availability. Add CPU(APPLE_ARMV7S) for the Apple ARMv7S architecture. 2012-11-06 Laszlo Gombos Refactor setting TEXTURE_MAPPER_GL https://bugs.webkit.org/show_bug.cgi?id=99758 Reviewed by Noam Rosenthal. Make the rule that sets the default for USE(3D_GRAPHICS) port independent. If not set, set USE(TEXTURE_MAPPER_GL) when USE(TEXTURE_MAPPER) and USE(3D_GRAPHICS) is enabled. * wtf/Platform.h: 2012-11-05 Philip Rogers Unblock SVG external references https://bugs.webkit.org/show_bug.cgi?id=100635 Reviewed by Adam Barth. This patch reverts r132849 and r132869 because the potential XSS issue turned out to not be an issue after all. Covered by existing tests, many of which are re-whitelisted with this patch. * wtf/Platform.h: 2012-11-05 Dima Gorbik Back out controversial changes from Bug 98665. https://bugs.webkit.org/show_bug.cgi?id=101244 Reviewed by David Kilzer. Backing out changes from Bug 98665 until further discussions take place on rules for including Platform.h in Assertions.h. * wtf/Assertions.h: 2012-11-03 Alexey Proskuryakov Get rid of USE(CFURLSTORAGESESSIONS) https://bugs.webkit.org/show_bug.cgi?id=101131 Reviewed by Sam Weinig. * wtf/Platform.h: 2012-11-02 Ilya Tikhonovsky Web Inspector: NMI instrument NodeRareData::Map. It uses ~250k on nytimes.com https://bugs.webkit.org/show_bug.cgi?id=101052 Reviewed by Yury Semikhatsky. I noticed that in many cases cache structures are plain static HashMap, HashSet etc. MemoryAgent can visit it but instrumentation for these containers report no objectType. It means that addRootObject method needs to accept objectType property as an argument. Otherwise I would have had to create a proxy class with proper objectType. * wtf/MemoryInstrumentation.h: (WTF::MemoryInstrumentation::addRootObject): 2012-11-01 Kent Tamura Introduce ENABLE_DATE_AND_TIME_INPUT_TYPES, and clarify usage of other related flags https://bugs.webkit.org/show_bug.cgi?id=101007 Reviewed by Kentaro Hara. * wtf/Platform.h: Add ENABLE_DATE_AND_TIME_INPUT_TYPES. It's a union of ENABLE_INPUT_TYPE_{DATE,DATETIME,DATETIMELOCAL,MONTH,TIME,WEEK}. 2012-11-01 Yury Semikhatsky Memory instrumentation: do not call checkCountedObject with wrong pointers https://bugs.webkit.org/show_bug.cgi?id=100958 Reviewed by Alexander Pavlov. Removed calls to checkCountedObject from places where the pointer may contain an address of a base class which may differ from the actual object pointer. Instead checkCountedObject is only called right after processing deferred pointer where we know real address. * wtf/MemoryInstrumentation.h: (WTF::MemoryInstrumentation::addObjectImpl): (WTF::::process): 2012-11-01 Alexey Proskuryakov Rename HAVE(NETWORK_CFDATA_ARRAY_CALLBACK) to USE(NETWORK_CFDATA_ARRAY_CALLBACK) Rubber-stamped by Joe Pecoraro. All CFNetwork based platforms have this now, but not all use it at the moment. 2012-11-01 Alexey Proskuryakov Fix HAVE(NETWORK_CFDATA_ARRAY_CALLBACK) build https://bugs.webkit.org/show_bug.cgi?id=100979 Reviewed by Joseph Pecoraro. * wtf/Platform.h: Added a FIXME about HAVE(NETWORK_CFDATA_ARRAY_CALLBACK). 2012-11-01 Yury Semikhatsky Memory instrumentation: report memory occupied by ResourceRequest instead of its base ResourceRequestBase https://bugs.webkit.org/show_bug.cgi?id=100497 Reviewed by Alexander Pavlov. * wtf/MemoryInstrumentation.h: (WTF::MemoryClassInfo::addPrivateBuffer): do not report memory usage for empty buffer. 2012-10-31 Anders Carlsson Fix build. . Reviewed by Sam Weinig. * wtf/CheckedArithmetic.h: 2012-10-31 Benjamin Poulain Add an optimized version of copyLCharsFromUCharSource for ARM https://bugs.webkit.org/show_bug.cgi?id=94886 Reviewed by Gavin Barraclough. Michael Saboff added a SIMD version of copyLCharsFromUCharSource() in r125846. This patch a similar optimization for ARMv7 by using the interleaved load/store available in the NEON extension. The performance gains: -10000 characters: ~3.5 times faster. -20 characters (2 vectors): ~55% faster. -15 characters (1 vector): ~21% faster. -3 characters (no vector, pure overhead): ~10% slower. * wtf/text/ASCIIFastPath.h: (WTF::copyLCharsFromUCharSource): 2012-10-31 Christophe Dumez [EFL][WK2][AC] Use smart pointers for Evas_GL types https://bugs.webkit.org/show_bug.cgi?id=100745 Reviewed by Kenneth Rohde Christiansen. Make OwnPtr usable with Evas_GL type to avoid handling raw pointers in EFL port. * wtf/OwnPtrCommon.h: (WTF): * wtf/efl/OwnPtrEfl.cpp: (WTF): (WTF::deleteOwnedPtr): 2012-10-29 Anders Carlsson Build WebKit as C++11 on Mac https://bugs.webkit.org/show_bug.cgi?id=100720 Reviewed by Daniel Bates. * Configurations/Base.xcconfig: Add CLANG_CXX_LANGUAGE_STANDARD=gnu++0x. * wtf/text/AtomicString.cpp: (WTF::AtomicString::add): Change the type of length to be unsigned to prevent implicit type conversions in non-constant initializer lists. * wtf/unicode/UTF8.cpp: (Unicode): Add static_casts to prevent implicit type conversions in non-constant initializer lists. 2012-10-29 Anders Carlsson String::createCFString should return a RetainPtr https://bugs.webkit.org/show_bug.cgi?id=100419 Reviewed by Andreas Kling. Make String::createCFString and StringImpl::createCFString return RetainPtrs. * wtf/text/AtomicString.h: * wtf/text/StringImpl.h: * wtf/text/WTFString.h: 2012-10-30 Mark Rowe Fix WTF to not install a few header files in bogus locations. * WTF.xcodeproj/project.pbxproj: 2012-10-28 Mark Rowe Simplify Xcode configuration settings that used to vary between OS versions. Reviewed by Dan Bernstein. * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: 2012-10-28 Mark Rowe Remove references to unsupported OS and Xcode versions. Reviewed by Anders Carlsson. * Configurations/Base.xcconfig: * Configurations/CompilerVersion.xcconfig: Removed. * Configurations/DebugRelease.xcconfig: * WTF.xcodeproj/project.pbxproj: 2012-10-29 Anders Carlsson AtomicString(CFStringRef) shouldn't unconditionally create a StringImpl https://bugs.webkit.org/show_bug.cgi?id=100701 Reviewed by Dan Bernstein. * wtf/text/AtomicString.h: (WTF::AtomicString::AtomicString): Change the constructors that take a CFStringRef and an NSString * to call AtomicString::add(CFStringRef) and remove AtomicString::createCFString. (WTF::AtomicString::add): Add new member function declaration. The definition is in a new file in WebCore, AtomicStringCF.cpp. Also, fix the overload of add that takes a const char* to call the right other overload instead of itself. 2012-10-29 Adam Barth Unreviewed. Correct my previous patch to disable external SVG references only on PLATFORM(CHROMIUM). * wtf/Platform.h: 2012-10-29 Adam Barth Block SVG external references pending a security review https://bugs.webkit.org/show_bug.cgi?id=100635 Reviewed by Eric Seidel. We need to do a security review of loading external SVG references before we're sure that it is safe. * wtf/Platform.h: 2012-10-29 Michael Saboff String::split(UChar, Vector&) shouldn't create a temporary String https://bugs.webkit.org/show_bug.cgi?id=100578 Reviewed by Anders Carlsson. Changed split(UChar, Vector&) to call split(UChar, bool, Vector&) instead of creating a string and calling the split(String,...) version and moved it to WTFString.h. Also moved split(const String& separator, Vector& result) to WTFString.h. * wtf/text/WTFString.cpp: (WTF::String::split): * wtf/text/WTFString.h: (WTF::String::split): 2012-10-29 Sheriff Bot Unreviewed, rolling out r132736. http://trac.webkit.org/changeset/132736 https://bugs.webkit.org/show_bug.cgi?id=100652 It broke all plugin related tests on GTK and on Qt (Requested by Ossy on #webkit). * wtf/text/WTFString.cpp: (WTF::String::fromUTF8): 2012-10-27 Michael Saboff Try to create AtomicString as 8 bit where possible https://bugs.webkit.org/show_bug.cgi?id=100575 Reviewed by Oliver Hunt. Added StringImpl::create8BitIfPossible() that first tries to create an 8 bit string. If it finds a 16 bit character during processing, it calls the standard create() method. The assumption is that this will be used on mostly 8 bit strings and ones that are shorter (in the tens of characters). Changed AtomicString to use the new creation method for UChar based construction. * wtf/text/AtomicString.cpp: (WTF::UCharBufferTranslator::translate): * wtf/text/StringImpl.cpp: (WTF::StringImpl::create8BitIfPossible): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): 2012-10-27 Michael Saboff String::fromUTF8() should take advantage of the ASCII check in convertUTF8ToUTF16() https://bugs.webkit.org/show_bug.cgi?id=100577 Reviewed by Oliver Hunt. Passed is ASCII flag to convertUTF8ToUTF16() and if try, create an 8 bit string from the original arguments. * wtf/text/WTFString.cpp: (WTF::String::fromUTF8): 2012-10-27 Dan Bernstein REAL_PLATFORM_NAME build setting is no longer needed https://bugs.webkit.org/show_bug.cgi?id=100587 Reviewed by Mark Rowe. Removed the definition of REAL_PLATFORM_NAME and replaced references to it with references to PLATFORM_NAME. * Configurations/Base.xcconfig: * Configurations/CompilerVersion.xcconfig: * Configurations/DebugRelease.xcconfig: 2012-10-26 Sheriff Bot Unreviewed, rolling out r132689. http://trac.webkit.org/changeset/132689 https://bugs.webkit.org/show_bug.cgi?id=100574 Broke HashMaps containing RetainPtrs (Requested by andersca on #webkit). * wtf/RetainPtr.h: 2012-10-26 Anders Carlsson Add an operator& to RetainPtr https://bugs.webkit.org/show_bug.cgi?id=100549 Reviewed by Dan Bernstein. This is useful for APIs that return references using out parameters. * wtf/RetainPtr.h: (WTF::RetainPtr::operator&): 2012-10-26 Gabor Ballabas [Qt] Enable JSC's disassembler on x86, x86_64 Linux https://bugs.webkit.org/show_bug.cgi?id=100386 Reviewed by Simon Hausmann. It works fine on Linux x86, x86_64 just needs to be enabled in the QtWebKit build system. * wtf/Platform.h: 2012-10-25 Michael Saboff REGRESSION (r131836): failures in list styles tests on EFL, GTK https://bugs.webkit.org/show_bug.cgi?id=99824 Reviewed by Oliver Hunt. Fixed ASCII check. Added placeholder argument for new argument added to convertUTF8ToUTF16() in http://trac.webkit.org/changeset/131836. * wtf/unicode/UTF8.cpp: (WTF::Unicode::convertUTF8ToUTF16): * wtf/unicode/glib/UnicodeGLib.cpp: (WTF::Unicode::convertCase): 2012-10-25 Christophe Dumez [EFL][WK2] Remove some C'ism from EwkView https://bugs.webkit.org/show_bug.cgi?id=100370 Reviewed by Kenneth Rohde Christiansen. Make OwnPtr useable for Ecore_IMF_Context to avoid using raw pointers in EFL port. * wtf/OwnPtrCommon.h: (WTF): * wtf/PlatformEfl.cmake: * wtf/efl/OwnPtrEfl.cpp: (WTF::deleteOwnedPtr): (WTF): 2012-09-27 Yury Semikhatsky Web Inspector: provide memory instrumentation for ListHashSet https://bugs.webkit.org/show_bug.cgi?id=97786 Reviewed by Vsevolod Vlasov. 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): 2012-10-23 Benjamin Poulain WTFURL: Implement KURL::setPort() https://bugs.webkit.org/show_bug.cgi?id=99898 Reviewed by Adam Barth. Add an efficient implementation for remplacing the port component in an URL. This will be the base for replacing other components efficiently. The testing is covered by fast/dom/HTMLAnchorElement/set-href-attribute-port.html * wtf/url/api/ParsedURL.cpp: (WTF::generateNewSpecWithPort): (WTF::replacePortWithString): (WTF::ParsedURL::replacePort): * wtf/url/api/ParsedURL.h: (ParsedURL): 2012-10-22 Michael Saboff Regression(r131655): Crash in StringImpl::findIgnoringCase https://bugs.webkit.org/show_bug.cgi?id=99753 Reviewed by Geoffrey Garen. Fixed to use the searchLength to take into account the start index. Added LayoutTests/fast/js/find-ignoring-case-regress-99753.html * wtf/text/StringImpl.cpp: (WTF::StringImpl::findIgnoringCase): 2012-10-22 Simon Hausmann Unreviewed: Re-enable LLINT on Qt/Linux after r131932. * wtf/Platform.h: 2012-10-22 Yury Semikhatsky Web Inspector: do not double count memory of objects with multiple ancestors https://bugs.webkit.org/show_bug.cgi?id=99958 Reviewed by Alexander Pavlov. Make sure memory occupied by objects of classes with multiple inheritance is not double counted. * wtf/MemoryInstrumentation.h: (WTF::MemoryObjectInfo::MemoryObjectInfo): (WTF::MemoryObjectInfo::reportedPointer): (WTF::MemoryObjectInfo::reportObjectInfo): 1) Store actual pointer to the instrumented object as it may differ from the original pointer by which it was reported. 2) Make the method non-template and calculate object size on the caller side. (MemoryObjectInfo): (WTF::MemoryInstrumentation::reportObjectMemoryUsage): (WTF::MemoryClassInfo::MemoryClassInfo): (WTF::MemoryInstrumentation::InstrumentedPointer::process): use adjusted pointer returned by reportMemoryUsage to check if the object has already been visited when the pointer differs from the orinal one(it may happen if the object was reported by a pointer to one of its base classes). 2012-10-20 Martin Robinson Fix 'make dist' for the GTK+ port * GNUmakefile.list.am: Add missing files to the source list. 2012-10-19 Mark Lam Added WTF::StackStats mechanism. https://bugs.webkit.org/show_bug.cgi?id=99805. Reviewed by Geoffrey Garen. Disabled by default. Should have no performance and memory cost when disabled. To enable, #define ENABLE_STACK_STATS 1 in StackStats.h. The output is currently hardcoded to be dumped in /tmp/stack-stats.log, and is in the form of stack sample events. By default, it only logs a sample event when a new high watermark value is encountered. Also renamed StackBounds::recursiveCheck() to isSafeToRecurse(). * WTF.xcodeproj/project.pbxproj: * wtf/StackBounds.h: (StackBounds): (WTF::StackBounds::size): (WTF::StackBounds::isSafeToRecurse): * wtf/StackStats.cpp: Added. (WTF): (WTF::StackStats::initialize): (WTF::StackStats::PerThreadStats::PerThreadStats): (WTF::StackStats::CheckPoint::CheckPoint): (WTF::StackStats::CheckPoint::~CheckPoint): (WTF::StackStats::probe): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): (WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint): * wtf/StackStats.h: Added. (WTF): (StackStats): (CheckPoint): (WTF::StackStats::CheckPoint::CheckPoint): (PerThreadStats): (WTF::StackStats::PerThreadStats::PerThreadStats): (LayoutCheckPoint): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): (WTF::StackStats::initialize): (WTF::StackStats::probe): * wtf/ThreadingPthreads.cpp: (WTF::initializeThreading): * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTFThreadData): (WTF::WTFThreadData::stackStats): 2012-10-19 Anders Carlsson Deque can use std::reverse_iterator for its reverse iterators https://bugs.webkit.org/show_bug.cgi?id=99789 Reviewed by Andreas Kling. Remove DequeReverseIterator and DequeConstReverseIterator and just use std::reverse_iterator directly. Also, remove the DequeIteratorBase to Base typedef - We can already use DequeIteratorBase since it's equivalent to the full class template type. * wtf/Deque.h: (WTF::Deque::rbegin): (WTF::Deque::rend): (DequeIteratorBase): (WTF::DequeIteratorBase::assign): (DequeIterator): (DequeConstIterator): (WTF::::checkValidity): (WTF::::DequeIteratorBase): (WTF::=): (WTF::::isEqual): 2012-10-19 Csaba Osztrogonác Unreviewed buildfix, use C-style comment instead of C++ * wtf/Platform.h: 2012-10-19 Csaba Osztrogonác REGRESSION(r131822): It made 500+ tests crash on 32 bit platforms https://bugs.webkit.org/show_bug.cgi?id=99814 Reviewed by Simon Hausmann. * wtf/Platform.h: Disable LLINT on (PLATFORM(QT) && CPU(X86)) temporarily until proper fix. 2012-10-17 Ilya Tikhonovsky Web Inspector: NMI provide data for mixing with tcmalloc heap dumps. https://bugs.webkit.org/show_bug.cgi?id=99457 Reviewed by Yury Semikhatsky. countObjectSize now accepts ptr as the first argument and saves it into HashMap if the binary was ran with HEAPPROFILE env variable. getProcessMemoryDistribution does snapshot and calls the downstream code with the map of counted objects. * wtf/MemoryInstrumentation.h: (MemoryInstrumentationClient): (WTF::MemoryInstrumentation::countObjectSize): (WTF::MemoryInstrumentation::addRawBuffer): (WTF::MemoryClassInfo::addPrivateBuffer): (WTF::MemoryInstrumentation::addObjectImpl): (WTF::MemoryInstrumentation::addListHashSet): (WTF::::process): 2012-10-18 Michael Saboff convertUTF8ToUTF16() Should Check for ASCII Input ihttps://bugs.webkit.org/show_bug.cgi?id=99739 Reviewed by Geoffrey Garen. Added code to accumulate the "or" of all characters seen during the UTF8 to UTF16 conversion. This is used to check to see if all characters are ASCII and is returned via a bool*. * wtf/unicode/UTF8.cpp: (WTF::Unicode::convertUTF8ToUTF16): * wtf/unicode/UTF8.h: 2012-10-18 Michael Saboff Mac WTF build checks dependencies before copying header files https://bugs.webkit.org/show_bug.cgi?id=99770 Reviewed by Mark Rowe. Fixed up build rules per Mark Rowe. Made new target an Aggregate and removed "WTF copy". * Configurations/CopyWTFHeaders.xcconfig: Added. * Configurations/WTF.xcconfig: * WTF.xcodeproj/project.pbxproj: 2012-10-18 Michael Saboff Mac WTF build checks dependencies before copying header files https://bugs.webkit.org/show_bug.cgi?id=99770 Reviewed by Geoffrey Garen. Added a new build target "Copy WTF HEaders" to copy the header files and made that new target a dependency for the main WTF build target. Moved the "Copy WTF Headers" phase from WTF target to the new target. * WTF.xcodeproj/project.pbxproj: 2012-10-17 Anders Carlsson Clean up Vector.h https://bugs.webkit.org/show_bug.cgi?id=99622 Reviewed by Benjamin Poulain. Remove unused member functions from Vector and get rid of the std::max and std::min using declarations (as per the WebKit coding style guidelines). * WTF.xcodeproj/project.pbxproj: Turns out StreamBuffer.h was never added to the Xcode project; add it. Also go ahead and sort the project file. * wtf/Deque.h: (WTF::::expandCapacity): * wtf/StreamBuffer.h: (WTF::StreamBuffer::append): Add std:: prefixes to max and min. * wtf/Vector.h: Remove VectorBase::bufferSlot(), VectorReverseProxy and add std:: prefixes where needed. 2012-10-17 Michael Saboff Creating a String from an NSString should check for all 8 bit strings https://bugs.webkit.org/show_bug.cgi?id=99392 Reviewed by Geoffrey Garen. Exported the LChar* version of create(). * wtf/text/StringImpl.cpp: (WTF::StringImpl::create): 2012-10-17 Michael Saboff StringImpl::findIgnoringCase() and reverseFindIgnoringCase() don't optimally handle a mix of 8 and 16 bit strings https://bugs.webkit.org/show_bug.cgi?id=99224 Reviewed by Geoffrey Garen. Added helper templated functions and all four combinations similar to find() and reverseFind(). (WTF::findIgnoringCaseInner): (WTF::StringImpl::findIgnoringCase): (WTF::reverseFindIgnoringCaseInner): (WTF::StringImpl::reverseFindIgnoringCase): 2012-10-17 Michael Saboff AtomicString::HashAndUTF8CharactersTranslator::equal() doesn't optimally handle 8 bit strings https://bugs.webkit.org/show_bug.cgi?id=99223 Reviewed by Geoffrey Garen. Added an 8 bit path. * wtf/text/AtomicString.cpp: (WTF::HashAndUTF8CharactersTranslator::equal): 2012-10-17 Anders Carlsson Always use fastRealloc when growing or shrinking the Vector buffer https://bugs.webkit.org/show_bug.cgi?id=99616 Reviewed by Andreas Kling. Remove the pointless #if PLATFORM(BLACKBERRY) and always try to use fastRealloc to grow or shrink the vector buffer when possible; realloc should always be at least as fast as free+malloc. * wtf/Vector.h: (WTF::VectorBufferBase::shouldReallocateBuffer): 2012-10-16 Michael Saboff Change WTF_USE_8BIT_TEXTRUN to ENABLE_8BIT_TEXTRUN https://bugs.webkit.org/show_bug.cgi?id=99484 Reviewed by Eric Seidel. Changed macro name to align with it's purpose. * wtf/Platform.h: 2012-10-16 Michael Saboff StringImpl::reverseFind() with a single match character isn't optimal for mixed 8/16 bit cases https://bugs.webkit.org/show_bug.cgi?id=99363 Reviewed by Benjamin Poulain. Factored out the 8/16 bitness check of the match character from the subject character bitness check. Did this for both find() and reverseFind(). Added all UChar/LChar combinations to the inline reverseFind(). * wtf/text/StringImpl.cpp: (WTF::StringImpl::find): (WTF::StringImpl::reverseFind): * wtf/text/StringImpl.h: (WTF::reverseFind): 2012-10-16 Dima Gorbik Remove Platform.h include from the header files. https://bugs.webkit.org/show_bug.cgi?id=98665 Reviewed by Eric Seidel. We don't want other clients that include WebKit headers to know about Platform.h. * wtf/Assertions.h: * wtf/MainThread.h: 2012-10-16 Adrienne Walker Remove unused WTF_NEW_HASHMAP_ITERATORS_INTERFACE #define https://bugs.webkit.org/show_bug.cgi?id=99367 Reviewed by James Robinson. Does what it says on the tin. * wtf/HashTraits.h: 2012-10-15 Andreas Kling Remove WTF::fastDeleteAllValues(). Reviewed by Eric Seidel. It was only used to fastDelete() a class that was already overriding operator delete by way of WTF_MAKE_FAST_ALLOCATED anyway. * wtf/HashSet.h: (WTF): (HashSet): 2012-10-15 Mark Hahnenberg Parallel GC should not be disabled for all platforms * wtf/Platform.h: D'oh! 2012-10-15 George Staikos [BlackBerry] Adapt to Platform API changes in string handling https://bugs.webkit.org/show_bug.cgi?id=99248 Reviewed by Yong Li. Convert usage of WebString, char* and std::string to BlackBerry::Platform::String. * wtf/Assertions.cpp: Use proper log function. * wtf/text/AtomicString.h: Add BlackBerry support (AtomicString): (WTF::AtomicString::AtomicString): Add BlackBerry Support (WTF::AtomicString::operator BlackBerry::Platform::String): * wtf/text/StringImpl.h: Conversion support. * wtf/text/WTFString.h: Conversion support. (Platform): (String): 2012-10-15 Michael Saboff Update RenderText to use String instead of UChar* for text https://bugs.webkit.org/show_bug.cgi?id=96979 Reviewed by Dan Bernstein. Added WTF_USE_8BIT_TEXTRUN to encase code that creates 8 bit TextRun's. Enabled WTF_USE_8BIT_TEXTRUN for PLATFORM(MAC). Other platform can update this setting in Platform.h when their platform specific use of TextRun handle 8 bit data. Added a new Vector::appendVector to allow appending the contents of a vector containing one type to the end of vector containing another. This is used to append a Vector to the end of a Vector. * wtf/Platform.h: * wtf/Vector.h: (Vector): (WTF::Vector::appendVector): 2012-10-15 Ilya Tikhonovsky Web Inspector: convert manual size calculation of different WebKit things into MemoryInstrumentation. https://bugs.webkit.org/show_bug.cgi?id=99309 Reviewed by Yury Semikhatsky. JSHeap, DOMStorage and HeapProfiler data were counted manually. Now we count the sizes more generic way. * wtf/MemoryInstrumentation.h: calculateContainerSize were removed. * wtf/MemoryInstrumentationSequence.h: empty instrumentations were added for 'const char*' and 'const void*' sequences. 2012-10-12 Anders Carlsson Move QDataStream functions into HistoryItemQt.cpp https://bugs.webkit.org/show_bug.cgi?id=99203 Reviewed by Andreas Kling. It seems like the QDataStream stream operators are only used from HistoryItemQt.cpp inside WebCore, so move them there. If in the future they are required elsewhere, they should be moved into a separate header instead of polluting headers unnecessarily. * wtf/Vector.h: * wtf/qt/StringQt.cpp: * wtf/text/WTFString.h: 2012-10-12 Michael Saboff StringBuilder::append(StringBuilder&) doesn't take into account the bit size of the argument string https://bugs.webkit.org/show_bug.cgi?id=99225 Reviewed by Benjamin Poulain. Added 8 bit path. * wtf/text/StringBuilder.h: (WTF::StringBuilder::append): 2012-10-12 Sheriff Bot Unreviewed, rolling out r131224. http://trac.webkit.org/changeset/131224 https://bugs.webkit.org/show_bug.cgi?id=99210 It broke the build (Requested by andersca on #webkit). * wtf/Vector.h: (WTF): (WTF::operator<<): (WTF::operator>>): * wtf/qt/StringQt.cpp: (WTF::operator<<): (WTF): (WTF::operator>>): * wtf/text/WTFString.h: (WTF): 2012-10-12 Anders Carlsson Move QDataStream functions into HistoryItemQt.cpp https://bugs.webkit.org/show_bug.cgi?id=99203 Reviewed by Andreas Kling. It seems like the QDataStream stream operators are only used from HistoryItemQt.cpp inside WebCore, so move them there. If in the future they are required elsewhere, they should be moved into a separate header instead of polluting headers unnecessarily. * wtf/Vector.h: * wtf/qt/StringQt.cpp: * wtf/text/WTFString.h: 2012-10-11 Mark Toller Removed incorrect pthread_mutex_trylock code in an ASSERT in TCMalloc_PageHeap::signalScavenger. This branch is used by the Webkit GTK code. https://bugs.webkit.org/show_bug.cgi?id=97539 Reviewed by Geoffrey Garen. The code was never compiled in, and was functionally broken. There is no need for locking around the m_scavengeThreadActive flag, however, we should lock pageheap_lock before calling 'shouldScavenge()', as we only want to scavenge when really required, so it's better to wait for any current memory operation to complete before checking. * wtf/FastMalloc.cpp: (WTF::TCMalloc_PageHeap::signalScavenger): 2012-10-10 Yong Li [BlackBerry] Define WTF_USE_EXTRA_MACROS in cmake rather than Platform.h https://bugs.webkit.org/show_bug.cgi?id=98819 Reviewed by Rob Buis. And make it depend on SHARED_CORE RIM PR# 221339. * wtf/Platform.h: 2012-10-09 Filip Pizlo JSC should infer when indexed storage is contiguous, and optimize for it https://bugs.webkit.org/show_bug.cgi?id=97288 Reviewed by Mark Hahnenberg. Moved out this helpful math utility to MathExtras, since we now use it in multiple places. * wtf/MathExtras.h: (timesThreePlusOneDividedByTwo): 2012-10-08 Benjamin Poulain Generalize moving URLComponent's begin position https://bugs.webkit.org/show_bug.cgi?id=98626 Reviewed by Adam Barth. The patch r130609 introduced moving URLComponents's position. It turns out this concept is really useful in the parser so this patch generalize the idea. * wtf/url/api/ParsedURL.cpp: (WTF::ParsedURL::removePort): * wtf/url/src/URLCanonEtc.cpp: * wtf/url/src/URLComponent.h: (WTF::URLComponent::moveBy): Rename URLComponent::move() to URLComponent::moveBy() for consistency with some of WebCore types. * wtf/url/src/URLParse.cpp: * wtf/url/src/URLParseFile.cpp: * wtf/url/src/URLSegments.cpp: (WTF::URLSegments::moveFromComponentBy): Change the semantic to everything from a certain component. This is useful to move everything, including the scheme. * wtf/url/src/URLSegments.h: (URLSegments): 2012-10-08 Andreas Kling Lower minimum table size of WTF::HashTable to reduce memory usage. Reviewed by Anders Carlsson. Lower the default minimumTableSize for WTF hash tables from 64 to 8 entries. This reduces WebProcess memory consumption by ~16MB on Membuster3 (a 6% progression!) No significant movement on PLT or JSC benchmarks on my machine. If there's a perf regression somewhere from this, we can tweak individual tables to have a larger minimumTableSize. * wtf/HashTraits.h: 2012-10-08 Andreas Kling Using float/double as WTF hash table key is unreliable. Reviewed by Geoffrey Garen. Change FloatHash::equal() to do a bitwise compare instead of a logical compare. This fixes a problem where the keys with different binary representation but the same logical value (e.g 0 and -0) could block each other from being found if they ended up in the same hash bucket. * wtf/HashFunctions.h: (FloatHash): (WTF::FloatHash::hash): (WTF::FloatHash::equal): 2012-10-08 Sheriff Bot Unreviewed, rolling out r130619. http://trac.webkit.org/changeset/130619 https://bugs.webkit.org/show_bug.cgi?id=98634 Causes many crashes on the EFL bots. (Requested by rakuco on #webkit). * wtf/efl/MainThreadEfl.cpp: (WTF::pipeObject): (WTF): (WTF::monitorDispatchFunctions): (WTF::initializeMainThreadPlatform): (WTF::scheduleDispatchFunctionsOnMainThread): 2012-10-08 Byungwoo Lee [EFL] Use ecore_main_loop_thread_safe_call_async() to wakeup main loop. https://bugs.webkit.org/show_bug.cgi?id=98505 Reviewed by Kenneth Rohde Christiansen. Instead of ecore_pipe_write(), use ecore_main_loop_thread_safe_call_async() to wakeup ecore main loop. According to the EFL API document, this function is designed to dispatch a function on ecore main loop by avoiding dead lock or race condition. With this function, webkit doesn't need to maintain ecore pipe also. * wtf/efl/MainThreadEfl.cpp: (WTF::monitorDispatchFunctions): (WTF::initializeMainThreadPlatform): (WTF::scheduleDispatchFunctionsOnMainThread): 2012-10-07 Caio Marcelo de Oliveira Filho Rename first/second to key/value in HashMap iterators https://bugs.webkit.org/show_bug.cgi?id=82784 Reviewed by Eric Seidel. Currently HashMap iterators follow the same interface in std::map: given an iterator it, we use it->first to access the key and it->second to access the value. This patch changes these accesses to it->key and it->value, improving the readability at call sites. One potential downside of this change would be the confusion between std::map and HashMap interfaces. However, they are already different in other aspects and the usage of std::map is more an exception than a rule in WebKit code, so we consider the confusion will be less likely to happen. * wtf/HashCountedSet.h: (WTF::::add): (WTF::::remove): (WTF::copyToVector): * wtf/HashIterators.h: (WTF::HashTableConstKeysIterator::get): (WTF::HashTableConstValuesIterator::get): (WTF::HashTableKeysIterator::get): (WTF::HashTableValuesIterator::get): * wtf/HashMap.h: (WTF::KeyValuePairKeyExtractor::extract): (WTF::HashMapValueTraits::isEmptyValue): (WTF::HashMapTranslator::translate): (WTF::HashMapTranslatorAdapter::translate): (WTF::::set): (WTF::::get): (WTF::::take): (WTF::operator==): (WTF::deleteAllValues): (WTF::deleteAllKeys): Removed deleteAllPairFirsts() and deleteAllPairSeconds() since they are now unused. * wtf/HashTable.h: (WTF::hashTableSwap): (WTF::::checkTableConsistencyExceptSize): * wtf/HashTraits.h: (WTF): (WTF::KeyValuePair::KeyValuePair): (KeyValuePair): (WTF::KeyValuePairHashTraits::constructDeletedValue): (WTF::KeyValuePairHashTraits::isDeletedValue): * wtf/MetaAllocator.cpp: (WTF::MetaAllocator::addFreeSpace): (WTF::MetaAllocator::incrementPageOccupancy): (WTF::MetaAllocator::decrementPageOccupancy): * wtf/RefCountedLeakCounter.cpp: (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): * wtf/RefPtrHashMap.h: (WTF::::set): (WTF::::get): (WTF::::inlineGet): (WTF::::take): * wtf/Spectrum.h: (WTF::Spectrum::add): (WTF::Spectrum::get): (WTF::Spectrum::buildList): * wtf/ThreadingPthreads.cpp: (WTF::identifierByPthreadHandle): 2012-10-07 Benjamin Poulain WTFURL: implement URL port removal for HTMLAnchorElement https://bugs.webkit.org/show_bug.cgi?id=98604 Reviewed by Adam Barth. Add hasStandardScheme() (similar to isStandard from Google URL), hasPort() and removePort() to implement the port removal of KURL. * wtf/url/api/ParsedURL.cpp: (WTF::ParsedURL::hasStandardScheme): (WTF::ParsedURL::hasPort): (WTF::ParsedURL::removePort): * wtf/url/api/ParsedURL.h: (ParsedURL): * wtf/url/src/URLComponent.h: (WTF::URLComponent::move): * wtf/url/src/URLSegments.cpp: (WTF::URLSegments::moveComponentsAfter): * wtf/url/src/URLSegments.h: (URLSegments): * wtf/url/src/URLUtil.cpp: (URLUtilities): (WTF::URLUtilities::isStandard): * wtf/url/src/URLUtil.h: (URLUtilities): Remove LowerCaseEqualsASCII() from the interface, make it an internal template. (WTF::URLUtilities::isStandard): Since in WebKit, LChar is a superset of char, expose LChar and cast char* to LChar*. 2012-10-06 Ilya Tikhonovsky Web Inspector: NMI fix String instrumentation the way it was discussed in WK97964 https://bugs.webkit.org/show_bug.cgi?id=98500 Reviewed by Benjamin Poulain. Current instrumentation incorrectly covers the case when StringImpl object has been created via StringImpl::createWithTerminatingNullCharacter(). Looks like the only way to detect the strings that has been created from literals is to compare the addresses of buffer and stringImpl + 1. * wtf/MemoryInstrumentationString.h: (WTF::reportMemoryUsage): * wtf/text/StringImpl.h: (WTF::StringImpl::hasInternalBuffer): 2012-10-06 Benjamin Poulain Fix build of WTFURL after r130187 https://bugs.webkit.org/show_bug.cgi?id=98588 Reviewed by Kentaro Hara. * wtf/MemoryInstrumentationParsedURL.h: (WTF::reportMemoryUsage): * wtf/url/api/ParsedURL.h: (WTF::ParsedURL::spec): 2012-10-05 Simon Pena [GTK] Add support for GBytes in GRefPtr https://bugs.webkit.org/show_bug.cgi?id=98489 Reviewed by Carlos Garcia Campos. Adding support for GBytes in GRefPtr makes it easier for them to be used when adding GResources support, and is more consistent with the rest of the port. This calls g_bytes_ref and g_bytes_unref in the implementation of the refPtr and derefPtr template functions, in case the GLib version is met. Otherwise, it does nothing. * wtf/gobject/GRefPtr.cpp: Implement templates for ref and deref. (WTF::refGPtr): (WTF): (WTF::derefGPtr): * wtf/gobject/GRefPtr.h: (WTF): * wtf/gobject/GTypedefs.h: Define the GBytes datatype. 2012-10-05 Sheriff Bot Unreviewed, rolling out r130478. http://trac.webkit.org/changeset/130478 https://bugs.webkit.org/show_bug.cgi?id=98494 It broke the Qt build (Requested by Ossy on #webkit). * wtf/gobject/GRefPtr.cpp: * wtf/gobject/GRefPtr.h: (WTF): * wtf/gobject/GTypedefs.h: 2012-10-05 Simon Pena [GTK] Add support for GBytes in GRefPtr https://bugs.webkit.org/show_bug.cgi?id=98489 Reviewed by Carlos Garcia Campos. Adding support for GBytes in GRefPtr makes it easier for them to be used when adding GResources support, and is more consistent with the rest of the port. This calls g_bytes_ref and g_bytes_unref in the implementation of the refPtr and derefPtr template functions. * wtf/gobject/GRefPtr.cpp: Implement templates for ref and deref. (WTF::refGPtr): (WTF): (WTF::derefGPtr): * wtf/gobject/GRefPtr.h: (WTF): * wtf/gobject/GTypedefs.h: Define the GBytes datatype. 2012-10-04 Dirk Pranke Unreviewed, rolling out r130419. http://trac.webkit.org/changeset/130419 https://bugs.webkit.org/show_bug.cgi?id=98406 broke editing/pasteboard/data-transfer-items.html on chromium * wtf/HashTraits.h: 2012-10-04 Andreas Kling Lower minimum table size of WTF::HashTable to reduce memory usage. Reviewed by Anders Carlsson. Lower the default minimumTableSize for WTF hash tables from 64 to 8 entries. This reduces WebProcess memory consumption by ~16MB on Membuster3 (a 6% progression!) No significant movement on PLT or JSC benchmarks on my machine. If there's a perf regression somewhere from this, we can tweak individual tables to have a larger minimumTableSize. * wtf/HashTraits.h: 2012-10-04 Michael Saboff String::remove will convert an 8 bit string to a 16 bit string https://bugs.webkit.org/show_bug.cgi?id=98299 Reviewed by Benjamin Poulain. Added an 8 bit path to remove(). Added a private templated helper removeInternal. * wtf/text/WTFString.cpp: (WTF::String::removeInternal): (WTF::String::remove): * wtf/text/WTFString.h: (String): 2012-10-03 Kangil Han [Refactoring] Tidy NDEBUG optioning in RefCountedBase. https://bugs.webkit.org/show_bug.cgi?id=98252 Reviewed by Benjamin Poulain. Fixed incomplete implementation for NDEBUG option. Additionally, adopted CHECK_REF_COUNTED_LIFECYCLE definition to suppress abusing NDEBUG option. * wtf/RefCounted.h: (WTF): (WTF::RefCountedBase::ref): (WTF::RefCountedBase::hasOneRef): (WTF::RefCountedBase::refCount): (WTF::RefCountedBase::turnOffVerifier): (WTF::RefCountedBase::relaxAdoptionRequirement): (WTF::RefCountedBase::RefCountedBase): (WTF::RefCountedBase::~RefCountedBase): (WTF::RefCountedBase::derefBase): (RefCountedBase): (WTF::adopted): (WTF::RefCountedBase::setMutexForVerifier): (WTF::RefCountedBase::setDispatchQueueForVerifier): 2012-10-03 Yury Semikhatsky Remove MemoryInstrumentation::addCollectionElements https://bugs.webkit.org/show_bug.cgi?id=98245 Reviewed by Vsevolod Vlasov. Removed MemoryInstrumentation::addCollectionElements and switched all call sites to reportSequenceMemoryUsage. Drive-by fix: removed some unused methods on MemoryInstrumentation. * wtf/MemoryInstrumentation.h: * wtf/MemoryInstrumentationHashSet.h: (WTF::reportMemoryUsage): * wtf/MemoryInstrumentationSequence.h: (WTF::SequenceMemoryInstrumentationTraits::reportMemoryUsage): * wtf/MemoryInstrumentationVector.h: (WTF::reportMemoryUsage): 2012-10-02 Yury Semikhatsky Provide memory instrumentation for HashCountedSet https://bugs.webkit.org/show_bug.cgi?id=98138 Reviewed by Pavel Feldman. 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): 2012-10-02 Joshua Bell Add htons/htonl definitions and implementations https://bugs.webkit.org/show_bug.cgi?id=98054 Reviewed by Darin Adler. 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: 2012-10-02 Michael Saboff HTMLConstructionSite::insertTextNode isn't optimized for 8 bit strings https://bugs.webkit.org/show_bug.cgi?id=97740 Reviewed by Darin Adler. Added an append method that takes an LChar source. Made both the UChar and LChar versions optimally handle the appendee and appendend string bitness. * wtf/text/WTFString.cpp: (WTF::String::append): * wtf/text/WTFString.h: (String): 2012-10-02 Ilya Tikhonovsky Web Inspector: NMI: switch to non intrusive instrumentation of ParsedURL. https://bugs.webkit.org/show_bug.cgi?id=98150 Reviewed by Yury Semikhatsky. 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: 2012-09-29 Ilya Tikhonovsky Web Inspector: NMI make String* instrumentation non intrusive https://bugs.webkit.org/show_bug.cgi?id=97964 Reviewed by Yury Semikhatsky. 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): 2012-10-02 Sheriff Bot Unreviewed, rolling out r130129. 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). * 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): 2012-09-29 Ilya Tikhonovsky Web Inspector: NMI make String* instrumentation non intrusive https://bugs.webkit.org/show_bug.cgi?id=97964 Reviewed by Yury Semikhatsky. 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): 2012-10-01 Daniel Drake Another SIGILL in JavaScriptCore on a Geode processor https://bugs.webkit.org/show_bug.cgi?id=96286 Reviewed by Filip Pizlo. Disable LLint for the GTK build where the build target does not support SSE2 instructions. Restores support for non-SSE2 processors such as the AMD Geode. * wtf/Platform.h: 2012-10-01 Yury Semikhatsky Web Inspector: provide memory instrumentation for HashMap https://bugs.webkit.org/show_bug.cgi?id=98005 Reviewed by Pavel Feldman. 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): 2012-10-01 Alberto Garcia Check that __cplusplus is defined before comparing its value https://bugs.webkit.org/show_bug.cgi?id=98015 Reviewed by Xan Lopez. If __cplusplus is not defined is interpreted as having the value 0, but it produces a compilation warning with -Wundef. This is the case with some API tests that are written in C (JSNode.c, JSNodeList.c, minidom.c). * wtf/Compiler.h: 2012-10-01 Carlos Garcia Campos Unreviewed. Fix make distcheck. * GNUmakefile.list.am: Add missing header files to compilation. 2012-09-30 Mark Hahnenberg Clean up HasTrivialConstructor/Destructor https://bugs.webkit.org/show_bug.cgi?id=97754 Reviewed by Sam Weinig. Mixed up the HasTrivialDestructor/Constructor case for VS2010 and later in the previous patch. * wtf/TypeTraits.h: 2012-09-29 Sheriff Bot Unreviewed, rolling out r129982. http://trac.webkit.org/changeset/129982 https://bugs.webkit.org/show_bug.cgi?id=97971 hit assert in fast/overflow/overflow-height-float-not-removed- crash3.html (Requested by eae on #webkit). * wtf/Platform.h: 2012-09-29 Emil A Eklund Enable SATURATED_LAYOUT_ARITHMETIC for chromium https://bugs.webkit.org/show_bug.cgi?id=95053 Reviewed by Abhishek Arya. Enable the SATURATED_LAYOUT_ARITHMETIC flag for the chromium port. This changes the behavior of FractionalLayoutUnit to clamp to the max or min value instead of overflowing. This may very well impact performance so the current plan is to enable it for a couple of hours to a day to collect performance data and then disable it again until we've had a chance to review the perf data. * wtf/Platform.h: 2012-09-28 Anders Carlsson Remove Java bridge https://bugs.webkit.org/show_bug.cgi?id=97954 Reviewed by Sam Weinig. The Java bridge is not used by any port; Mac now has a NPAPI Java plug-in. * wtf/Platform.h: 2012-09-28 Kai Koehne Disable YARR_JIT for Windows 64 bit https://bugs.webkit.org/show_bug.cgi?id=97772 Reviewed by Simon Hausmann. Using YARR_JIT requires ASSEMBLER, which in turn enables the executable fixed allocator, which is mmap based (not available on Windows). * wtf/Platform.h: 2012-09-28 Yury Semikhatsky Web Inspector: make HashSet memory instrumentation non-intrusive https://bugs.webkit.org/show_bug.cgi?id=97879 Reviewed by Vsevolod Vlasov. 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. 2012-09-27 Anders Carlsson Remove the clang pragmas to disable warnings in Noncopyable.h https://bugs.webkit.org/show_bug.cgi?id=97826 Reviewed by Beth Dakin. Warnings about C++11 extensions are already disabled project-wide now so there's no need to keep these pragmas. * wtf/Noncopyable.h: 2012-09-26 Mark Hahnenberg Clean up HasTrivialConstructor/Destructor https://bugs.webkit.org/show_bug.cgi?id=97754 Reviewed by Darin Adler. Cleaned up HasTrivialConstructor and HasTrivialDestructor by defining them in terms of other type traits we have. Also moved some ifdefs and comments to make things more clear. * wtf/TypeTraits.h: 2012-09-27 Ilya Tikhonovsky Web Inspector: NMI: move visited and countObjectSize methods implementation into separate class. https://bugs.webkit.org/show_bug.cgi?id=97461 Reviewed by Yury Semikhatsky. These methods and the data collected by them need to be used in the instrumentation code for other components. As example when we are visiting bitmaps we need to visit platform specific objects. These objects will be instrumented with help of component's own instrumentation code but we have to keep the single set of visited objects and the map of counters. * wtf/MemoryInstrumentation.h: (MemoryInstrumentationClient): (WTF::MemoryInstrumentationClient::~MemoryInstrumentationClient): (WTF): (WTF::MemoryInstrumentation::MemoryInstrumentation): (MemoryInstrumentation): (WTF::MemoryInstrumentation::countObjectSize): (WTF::MemoryInstrumentation::visited): 2012-09-27 Csaba Osztrogonác , Tor Arne Vestbø [Qt] Enable the LLInt on Linux https://bugs.webkit.org/show_bug.cgi?id=95749 Reviewed by Simon Hausmann. * wtf/Platform.h: 2012-09-26 Cosmin Truta [BlackBerry] Allow denormal floats in ARM VFP https://bugs.webkit.org/show_bug.cgi?id=97008 Reviewed by Filip Pizlo. Reviewed internally by Yong Li. Cleared the Flush-to-Zero flag in the ARM FPSCR register on QNX. * wtf/ThreadingPthreads.cpp: (WTF::enableIEEE754Denormal): Added. (WTF::initializeThreading): (WTF::initializeCurrentThreadInternal): 2012-09-26 Michael Saboff Update ComplexTextController for 8 bit TextRun changes https://bugs.webkit.org/show_bug.cgi?id=97378 Reviewed by Geoffrey Garen. Add a new create method to make a 16 bit string from 8 bit source data. This is used in ComplexTextController when we have LChar* + length text data, but we really want 16 bit data for the complex text rendering code. * wtf/text/WTFString.cpp: (WTF::String::make16BitFrom8BitSource): (WTF): * wtf/text/WTFString.h: (String): 2012-09-26 Ilya Tikhonovsky Web Inspector: NMI: replace manual JS external resources counting with MemoryInstrumentation https://bugs.webkit.org/show_bug.cgi?id=97662 Reviewed by Yury Semikhatsky. Old schema uses sizeInBytes method on StringImpl. This method works incorrect for substrings. Also we'd like to know exact pointers to strings and buffers for verification purposes. * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: * wtf/MemoryInstrumentationArrayBufferView.h: (WTF): (WTF::reportMemoryUsage): 2012-09-25 Ilya Tikhonovsky Web Inspector: extract HashSet instrumentation from core NMI code and put it into MemoryInstrumentationHashSet.h https://bugs.webkit.org/show_bug.cgi?id=97198 Reviewed by Yury Semikhatsky. Current implementation has overloads for HashSet. This prevents us from instrumenting complex cases like Vector >. * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: * wtf/HashSet.h: (WTF): (HashSet): * wtf/HashTable.h: (WTF): (HashTable): * wtf/MemoryInstrumentation.h: (WTF::MemoryClassInfo::addCollectionElements): (WTF::MemoryClassInfo::addHashCountedSet): * wtf/MemoryInstrumentationHashSet.h: Added. (WTF): (WTF::reportMemoryUsage): * wtf/MemoryInstrumentationHashTable.h: Added. (WTF): (WTF::reportMemoryUsage): 2012-09-26 Yury Semikhatsky Web Inspector: compare objects counted by the memory instrumentation with those allocated in the heap https://bugs.webkit.org/show_bug.cgi?id=97641 Reviewed by Pavel Feldman. Added a method for checking if reported object was actually allocated in the heap. * wtf/MemoryInstrumentation.h: (MemoryInstrumentation): (WTF::MemoryInstrumentation::addObjectImpl): 2012-09-26 Gavin Barraclough String.localeCompare should normalize input https://bugs.webkit.org/show_bug.cgi?id=97639 Reviewed by Filip Pizlo. From the spec: "It is strongly recommended that this function treat Strings that are canonically equivalent according to the Unicode standard as identical (in other words, compare the Strings as if they had both been converted to Normalised Form C or D first). It is also recommended that this function not honour Unicode compatibility equivalences or decompositions." * wtf/unicode/icu/CollatorICU.cpp: (WTF::Collator::createCollator): - Enable normalization. 2012-09-25 Cosmin Truta [BlackBerry] Enable LLInt https://bugs.webkit.org/show_bug.cgi?id=97604 Reviewed by Yong Li. Set the prefix of LOCAL_LABEL_STRING to ".L" on QNX. * wtf/InlineASM.h: 2012-09-25 Patrick Gansterer Do not enable DFG JIT for COMPILER(MSVC). The current code does not support MSVC inline assembler, so disable it for now. * wtf/Platform.h: 2012-09-25 Pratik Solanki Remove HAVE_SBRK since we never set use_sbrk to true https://bugs.webkit.org/show_bug.cgi?id=97525 Reviewed by Geoffrey Garen. The code under HAVE(SBRK) has not been used since 2005. We use mmap not sbrk for FastMalloc not sbrk. We can just remove the define and move all of this code inside #ifndef WTF_CHANGES. * wtf/Platform.h: * wtf/TCSystemAlloc.cpp: (TCMalloc_SystemAlloc): 2012-09-25 Mark Lam #undef some symbols before redefining them. https://bugs.webkit.org/show_bug.cgi?id=97568. Reviewed by Michael Saboff. * wtf/Platform.h: 2012-09-21 Ilya Tikhonovsky Web Inspector: extract Vector instrumentation from core NMI code into MemoryInstrumentationVector.h header. https://bugs.webkit.org/show_bug.cgi?id=96650 Reviewed by Vsevolod Vlasov. Added reportMemoryUsage free template function with default body to core NMI code and add custom version of reportMemoryUsage function for Vectors. * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: * wtf/MemoryInstrumentation.h: (WTF): (MemoryInstrumentation): (WTF::MemoryInstrumentation::addObjectImpl): * wtf/MemoryInstrumentationVector.h: Added. (WTF): (WTF::instrumentVectorValues): (WTF::reportMemoryUsage): 2012-09-24 Mark Lam Deleting the classic interpreter and cleaning up some build options. https://bugs.webkit.org/show_bug.cgi?id=96969. Reviewed by Geoffrey Garen. * wtf/OSAllocatorPosix.cpp: (WTF::OSAllocator::reserveAndCommit): * wtf/Platform.h: 2012-09-24 Patrick Gansterer Remove String::operator+=() https://bugs.webkit.org/show_bug.cgi?id=96172 Reviewed by Benjamin Poulain. * wtf/Platform.h: * wtf/text/WTFString.h: 2012-09-24 Benjamin Poulain Add support for query encoding to WTFURL https://bugs.webkit.org/show_bug.cgi?id=97422 Reviewed by Adam Barth. Expose character conversion through the new abstract class URLQueryCharsetConverter. URLQueryCharsetConverter is implemented by WebCore to expose the TextEncoding classes. Unfortunatelly that forces us to bring over URLBuffer in the public API. We may be able to mitigate that later when moving WTFURL to more templates. The change fixes 2 of the URL layout tests. * WTF.xcodeproj/project.pbxproj: * wtf/url/api/ParsedURL.cpp: (WTF::ParsedURL::ParsedURL): * wtf/url/api/ParsedURL.h: (ParsedURL): ParsedURL was using the same constructor for ParsedURLString, and URL without a base. That was a mistake on my part, I did not intend that, fixed it now :) * wtf/url/api/URLBuffer.h: Renamed from Source/WTF/wtf/url/src/URLBuffer.h. (URLBuffer): (WTF::URLBuffer::URLBuffer): (WTF::URLBuffer::~URLBuffer): (WTF::URLBuffer::at): (WTF::URLBuffer::set): (WTF::URLBuffer::capacity): (WTF::URLBuffer::length): (WTF::URLBuffer::data): (WTF::URLBuffer::setLength): (WTF::URLBuffer::append): (WTF::URLBuffer::grow): * wtf/url/api/URLQueryCharsetConverter.h: Added. (URLQueryCharsetConverter): (WTF::URLQueryCharsetConverter::URLQueryCharsetConverter): (WTF::URLQueryCharsetConverter::~URLQueryCharsetConverter): * wtf/url/src/URLCanon.h: (URLCanonicalizer): * wtf/url/src/URLCanonFilesystemurl.cpp: (WTF::URLCanonicalizer::canonicalizeFileSystemURL): (WTF::URLCanonicalizer::ReplaceFileSystemURL): * wtf/url/src/URLCanonFileurl.cpp: (WTF::URLCanonicalizer::CanonicalizeFileURL): (WTF::URLCanonicalizer::ReplaceFileURL): * wtf/url/src/URLCanonInternal.h: (URLCanonicalizer): * wtf/url/src/URLCanonQuery.cpp: (WTF::URLCanonicalizer::CanonicalizeQuery): (WTF::URLCanonicalizer::ConvertUTF16ToQueryEncoding): * wtf/url/src/URLCanonRelative.cpp: (WTF::URLCanonicalizer::resolveRelativeURL): * wtf/url/src/URLCanonStdURL.cpp: (WTF::URLCanonicalizer::CanonicalizeStandardURL): (WTF::URLCanonicalizer::ReplaceStandardURL): * wtf/url/src/URLUtil.cpp: (URLUtilities): (WTF::URLUtilities::canonicalize): (WTF::URLUtilities::resolveRelative): (WTF::URLUtilities::ReplaceComponents): * wtf/url/src/URLUtil.h: (URLUtilities): 2012-09-24 Benjamin Poulain Integrate most of GoogleURL in WTFURL https://bugs.webkit.org/show_bug.cgi?id=97405 Reviewed by Adam Barth. This patch brings almost all of the implementatation of Google-URL in WTFURL with only minor changes. The changes from the original code are mostly: -Code cleaning. -Replace url_parse::Parsed by URLSegments. -Replace url_parse::Component by URLComponent -More code cleaning. -Adopt URLBuffer and RawURLBuffer instead of the CanonOutputT and RawCanonOutputT. -Use URLCharacterTypes instead of the litany of characters functions. -Some more code cleaning. -Fix the style to match WebKit as much as possible. -Rename the files to match WebKit style. * WTF.xcodeproj/project.pbxproj: * wtf/url/api/ParsedURL.cpp: (WTF::ParsedURL::ParsedURL): (WTF::ParsedURL::segment): * wtf/url/api/ParsedURL.h: (WTF::ParsedURL::isValid): * wtf/url/src/RawURLBuffer.h: * wtf/url/src/URLCanon.h: Added. (URLCanonicalizer): (CharsetConverter): (WTF::URLCanonicalizer::CharsetConverter::CharsetConverter): (WTF::URLCanonicalizer::CharsetConverter::~CharsetConverter): (CanonHostInfo): (WTF::URLCanonicalizer::CanonHostInfo::CanonHostInfo): (WTF::URLCanonicalizer::CanonHostInfo::IsIPAddress): (WTF::URLCanonicalizer::CanonHostInfo::AddressLength): (URLComponentSource): (WTF::URLCanonicalizer::URLComponentSource::URLComponentSource): (Replacements): (WTF::URLCanonicalizer::Replacements::Replacements): (WTF::URLCanonicalizer::Replacements::SetScheme): (WTF::URLCanonicalizer::Replacements::IsSchemeOverridden): (WTF::URLCanonicalizer::Replacements::SetUsername): (WTF::URLCanonicalizer::Replacements::ClearUsername): (WTF::URLCanonicalizer::Replacements::IsUsernameOverridden): (WTF::URLCanonicalizer::Replacements::SetPassword): (WTF::URLCanonicalizer::Replacements::ClearPassword): (WTF::URLCanonicalizer::Replacements::IsPasswordOverridden): (WTF::URLCanonicalizer::Replacements::SetHost): (WTF::URLCanonicalizer::Replacements::ClearHost): (WTF::URLCanonicalizer::Replacements::IsHostOverridden): (WTF::URLCanonicalizer::Replacements::SetPort): (WTF::URLCanonicalizer::Replacements::ClearPort): (WTF::URLCanonicalizer::Replacements::IsPortOverridden): (WTF::URLCanonicalizer::Replacements::SetPath): (WTF::URLCanonicalizer::Replacements::ClearPath): (WTF::URLCanonicalizer::Replacements::IsPathOverridden): (WTF::URLCanonicalizer::Replacements::SetQuery): (WTF::URLCanonicalizer::Replacements::ClearQuery): (WTF::URLCanonicalizer::Replacements::IsQueryOverridden): (WTF::URLCanonicalizer::Replacements::SetRef): (WTF::URLCanonicalizer::Replacements::ClearRef): (WTF::URLCanonicalizer::Replacements::IsRefOverridden): (WTF::URLCanonicalizer::Replacements::sources): (WTF::URLCanonicalizer::Replacements::components): (WTF::URLCanonicalizer::Replacements::Placeholder): * wtf/url/src/URLCanonEtc.cpp: Added. (WTF::URLCanonicalizer::removeURLWhitespace): (URLCanonicalizer): (WTF::URLCanonicalizer::canonicalSchemeChar): (WTF::URLCanonicalizer::CanonicalizeScheme): (WTF::URLCanonicalizer::CanonicalizeUserInfo): (WTF::URLCanonicalizer::CanonicalizePort): (WTF::URLCanonicalizer::CanonicalizeRef): * wtf/url/src/URLCanonFilesystemurl.cpp: Added. (WTF::URLCanonicalizer::CanonicalizeFileSystemURL): (URLCanonicalizer): (WTF::URLCanonicalizer::ReplaceFileSystemURL): * wtf/url/src/URLCanonFileurl.cpp: Added. (WTF::URLCanonicalizer::CanonicalizeFileURL): (URLCanonicalizer): (WTF::URLCanonicalizer::FileCanonicalizePath): (WTF::URLCanonicalizer::ReplaceFileURL): * wtf/url/src/URLCanonHost.cpp: Added. (WTF::URLCanonicalizer::CanonicalizeHost): (URLCanonicalizer): (WTF::URLCanonicalizer::CanonicalizeHostVerbose): * wtf/url/src/URLCanonICU.cpp: Added. (WTF::URLCanonicalizer::IDNToASCII): (URLCanonicalizer): (WTF::URLCanonicalizer::readUTFChar): * wtf/url/src/URLCanonIP.cpp: Added. (WTF::URLCanonicalizer::CanonicalizeIPAddress): (URLCanonicalizer): * wtf/url/src/URLCanonInternal.cpp: Added. (URLCanonicalizer): (WTF::URLCanonicalizer::AppendInvalidNarrowString): (WTF::URLCanonicalizer::ConvertUTF16ToUTF8): (WTF::URLCanonicalizer::ConvertUTF8ToUTF16): (WTF::URLCanonicalizer::SetupOverrideComponents): (WTF::URLCanonicalizer::SetupUTF16OverrideComponents): (WTF::URLCanonicalizer::_itoa_s): (WTF::URLCanonicalizer::_itow_s): * wtf/url/src/URLCanonInternal.h: Added. (URLCanonicalizer): (WTF::URLCanonicalizer::hexCharToValue): (WTF::URLCanonicalizer::isDot): (WTF::URLCanonicalizer::appendURLEscapedCharacter): (WTF::URLCanonicalizer::doAppendUTF8): (WTF::URLCanonicalizer::AppendCharToOutput): (WTF::URLCanonicalizer::AppendUTF8Value): (WTF::URLCanonicalizer::AppendUTF8EscapedValue): (WTF::URLCanonicalizer::AppendUTF16Value): (WTF::URLCanonicalizer::AppendUTF8EscapedChar): (WTF::URLCanonicalizer::Is8BitChar): (WTF::URLCanonicalizer::DecodeEscaped): (WTF::URLCanonicalizer::_itoa_s): (WTF::URLCanonicalizer::_itow_s): (WTF::URLCanonicalizer::_strtoui64): * wtf/url/src/URLCanonMailto.cpp: Added. (WTF::URLCanonicalizer::CanonicalizeMailtoURL): (URLCanonicalizer): (WTF::URLCanonicalizer::ReplaceMailtoURL): * wtf/url/src/URLCanonPath.cpp: Added. (WTF::URLCanonicalizer::CanonicalizePath): (URLCanonicalizer): (WTF::URLCanonicalizer::CanonicalizePartialPath): * wtf/url/src/URLCanonPathurl.cpp: Added. (WTF::URLCanonicalizer::canonicalizePathURL): (URLCanonicalizer): (WTF::URLCanonicalizer::ReplacePathURL): * wtf/url/src/URLCanonQuery.cpp: Added. (WTF::URLCanonicalizer::CanonicalizeQuery): (URLCanonicalizer): (WTF::URLCanonicalizer::ConvertUTF16ToQueryEncoding): * wtf/url/src/URLCanonRelative.cpp: Added. (WTF::URLCanonicalizer::isRelativeURL): (URLCanonicalizer): (WTF::URLCanonicalizer::resolveRelativeURL): * wtf/url/src/URLCanonStdURL.cpp: Added. (WTF::URLCanonicalizer::DefaultPortForScheme): (URLCanonicalizer): (WTF::URLCanonicalizer::CanonicalizeStandardURL): (WTF::URLCanonicalizer::ReplaceStandardURL): * wtf/url/src/URLCharacterTypes.cpp: * wtf/url/src/URLCharacterTypes.h: (WTF::URLCharacterTypes::isComponentChar): (WTF::URLCharacterTypes::isHexChar): (WTF::URLCharacterTypes::isIPv4Char): (WTF::URLCharacterTypes::isQueryChar): (WTF::URLCharacterTypes::isCharacterOfType): (URLCharacterTypes): * wtf/url/src/URLEscape.cpp: Removed. * wtf/url/src/URLFile.h: Added. (URLParser): (WTF::URLParser::isWindowsDriveSeparator): (WTF::URLParser::isWindowsDriveLetter): (WTF::URLParser::findNextSlash): (WTF::URLParser::doesBeginWindowsDriveSpec): (WTF::URLParser::doesBeginUNCPath): * wtf/url/src/URLParse.cpp: Added. (WTF::URLParser::ExtractScheme): (URLParser): (WTF::URLParser::IsAuthorityTerminator): (WTF::URLParser::ExtractFileName): (WTF::URLParser::ExtractQueryKeyValue): (WTF::URLParser::ParseAuthority): (WTF::URLParser::ParsePort): (WTF::URLParser::ParseStandardURL): (WTF::URLParser::ParsePathURL): (WTF::URLParser::ParseFileSystemURL): (WTF::URLParser::ParseMailtoURL): (WTF::URLParser::parsePathInternal): (WTF::URLParser::ParseAfterScheme): * wtf/url/src/URLParse.h: Added. (URLParser): * wtf/url/src/URLParseFile.cpp: Added. (WTF): (WTF::URLParser::ParseFileURL): (URLParser): * wtf/url/src/URLParseInternal.h: Added. (URLParser): (WTF::URLParser::isURLSlash): (WTF::URLParser::shouldTrimFromURL): (WTF::URLParser::trimURL): (WTF::URLParser::countConsecutiveSlashes): * wtf/url/src/URLParser.h: Removed. * wtf/url/src/URLQueryCanonicalizer.h: Removed. * wtf/url/src/URLSegments.cpp: * wtf/url/src/URLSegments.h: (WTF::URLSegments::URLSegments): (URLSegments): (WTF::URLSegments::operator=): (WTF::URLSegments::innerURLSegments): (WTF::URLSegments::setInnerURLSegments): (WTF::URLSegments::clearInnerURLSegments): * wtf/url/src/URLUtil.cpp: Added. (URLUtilities): (WTF::URLUtilities::IsStandard): (WTF::URLUtilities::FindAndCompareScheme): (WTF::URLUtilities::Canonicalize): (WTF::URLUtilities::resolveRelative): (WTF::URLUtilities::ReplaceComponents): (WTF::URLUtilities::LowerCaseEqualsASCII): (WTF::URLUtilities::DecodeURLEscapeSequences): (WTF::URLUtilities::EncodeURIComponent): (WTF::URLUtilities::CompareSchemeComponent): * wtf/url/src/URLUtil.h: Added. (URLUtilities): * wtf/url/src/URLUtilInternal.h: Renamed from Source/WTF/wtf/url/src/URLEscape.h. (URLUtilities): 2012-09-24 Joone Hur [GTK] Implement GraphicsLayer using Clutter https://bugs.webkit.org/show_bug.cgi?id=73767 Reviewed by Martin Robinson. Add ClutterActor and GraphicsLayerActor to GTypedefs.h. * wtf/gobject/GTypedefs.h: 2012-09-23 Byungwoo Lee Fix build warnings : -Wunused-parameter, -Wparentheses, -Wuninitialized. https://bugs.webkit.org/show_bug.cgi?id=97306 Reviewed by Benjamin Poulain. Fix build warning about -Wunused-parameter on FastMalloc.cpp, OSAllocatorPosix.cpp by using UNUSED_PARAM() macro. Fix header including order of FastMalloc.cpp. * wtf/FastMalloc.cpp: (WTF::fastMallocSize): * wtf/OSAllocatorPosix.cpp: (WTF::OSAllocator::reserveAndCommit): 2012-09-22 Sam Weinig Add explicit conversion operator to RetainPtr for easier use in C++11 environments https://bugs.webkit.org/show_bug.cgi?id=97403 Reviewed by Dan Bernstein. * wtf/Compiler.h: Add support for COMPILER_SUPPORTS(CXX_EXPLICIT_CONVERSIONS) * wtf/RetainPtr.h: (RetainPtr): (WTF::RetainPtr::get): (WTF::RetainPtr::operator PtrType): Add the explicit conversion operator and group all the underlying pointer accessors together. 2012-09-21 Simon Hausmann [Qt] Error out early if we don't have ICU available Reviewed by Tor Arne Vestbø. * WTF.pri: 2012-09-20 Patrick Gansterer Add String::numberToStringFixedWidth() https://bugs.webkit.org/show_bug.cgi?id=96330 Reviewed by Benjamin Poulain. Add this new function as replacement for the ShouldRoundDecimalPlaces flag of String::number() and remove the now unnecessary branch in String::number() for the old flags. * wtf/text/WTFString.cpp: (WTF::String::number): (WTF::String::numberToStringFixedWidth): * wtf/text/WTFString.h: 2012-09-19 Geoffrey Garen OSR exit sometimes neglects to create the arguments object https://bugs.webkit.org/show_bug.cgi?id=97162 Reviewed by Filip Pizlo. * wtf/HashTraits.h: (NullableHashTraits): (WTF::NullableHashTraits::emptyValue): (WTF): 2012-09-18 Glenn Adams WTFString::show doesn't dump non-ASCII characters in a readable manner https://bugs.webkit.org/show_bug.cgi?id=96749 Reviewed by Benjamin Poulain. Dump non-ASCII characters in a useful form for debugging. * wtf/text/WTFString.cpp: (asciiDebug): Dump non-ASCII characters (i.e., UTF-16 code elements) as well as non-printable ASCII characters using \uXXXX format. Also escape \ as \\ in order to remove ambiguity. 2012-09-18 Mark Hahnenberg Use WTF::HasTrivialDestructor instead of compiler-specific versions in JSC::NeedsDestructor https://bugs.webkit.org/show_bug.cgi?id=96980 Reviewed by Benjamin Poulain. * wtf/TypeTraits.h: (WTF): 2012-09-17 Glenn Adams Including HexNumber.h fails build if hexDigitsForMode is not referenced https://bugs.webkit.org/show_bug.cgi?id=96873 Reviewed by Benjamin Poulain. Ensure release build is possible when hexDigitsForMode is not referenced by template expansion. * wtf/HexNumber.h: (WTF::Internal::hexDigitsForMode): Change hexDigitsForMode to inline (rather than static). Make string literals {lower,upper}HexDigits non-local and non-static, but const, to which the linker should merge references in the RO data segment. 2012-09-17 Filip Pizlo The ThreadRescrictionVerifier should be more forcibly disabled on systems that use threads https://bugs.webkit.org/show_bug.cgi?id=96957 Reviewed by Oliver Hunt. * wtf/ThreadRestrictionVerifier.h: (WTF): (WTF::ThreadRestrictionVerifier::ThreadRestrictionVerifier): (ThreadRestrictionVerifier): (WTF::ThreadRestrictionVerifier::setMutexMode): (WTF::ThreadRestrictionVerifier::setDispatchQueueMode): (WTF::ThreadRestrictionVerifier::turnOffVerification): (WTF::ThreadRestrictionVerifier::setShared): (WTF::ThreadRestrictionVerifier::isSafeToUse): 2012-09-17 Sheriff Bot Unreviewed, rolling out r128796. http://trac.webkit.org/changeset/128796 https://bugs.webkit.org/show_bug.cgi?id=96966 It broke everything (Requested by Ossy_NIGHT on #webkit). * wtf/OSAllocatorPosix.cpp: (WTF::OSAllocator::reserveUncommitted): (WTF::OSAllocator::reserveAndCommit): (WTF::OSAllocator::commit): (WTF::OSAllocator::decommit): 2012-09-17 Uli Schlachter Implement uncommitted memory for Linux. https://bugs.webkit.org/show_bug.cgi?id=65766 Reviewed by Gavin Barraclough. The old approach used MAP_NORESERVE to allocate address space without committing it. However, that flag gets ignored if /proc/sys/vm/overcommit_memory is set to 2. The new approach uses a mapping with PROT_NONE. This works because mappings which aren't even readable don't get accounted as committed on Linux. * wtf/OSAllocatorPosix.cpp: (WTF::OSAllocator::reserveUncommitted): (WTF::OSAllocator::reserveAndCommit): (WTF::OSAllocator::commit): (WTF::OSAllocator::decommit): 2012-09-17 Filip Pizlo Array profiling has convergence issues https://bugs.webkit.org/show_bug.cgi?id=96891 Reviewed by Gavin Barraclough. Added functions for testing if something is a power of 2. * wtf/MathExtras.h: (hasZeroOrOneBitsSet): (hasTwoOrMoreBitsSet): 2012-09-17 Ilya Tikhonovsky Web Inspector: NMI: now when we can detect instrumented classes we can remove addInstrumentedMember and use addMember for everything. https://bugs.webkit.org/show_bug.cgi?id=96913 Reviewed by Yury Semikhatsky. * wtf/MemoryInstrumentation.h: (WTF::MemoryInstrumentation::addRootObject): (WTF::MemoryInstrumentation::addObject): (WTF::MemoryInstrumentation::addObjectImpl): (WTF): (WTF::MemoryInstrumentation::addInstrumentedCollection): (WTF::MemoryInstrumentation::addInstrumentedMapEntries): (WTF::MemoryInstrumentation::addInstrumentedMapValues): * wtf/text/AtomicString.cpp: (WTF::AtomicString::reportMemoryUsage): * wtf/text/CString.h: (WTF::CString::reportMemoryUsage): * wtf/text/StringImpl.cpp: (WTF::StringImpl::reportMemoryUsage): * wtf/text/WTFString.cpp: (WTF::String::reportMemoryUsage): * wtf/url/api/ParsedURL.cpp: (WTF::ParsedURL::reportMemoryUsage): * wtf/url/api/URLString.cpp: (WTF::URLString::reportMemoryUsage): 2012-09-17 Ilya Tikhonovsky Unreviewed compilation fix. * wtf/MemoryInstrumentation.h: (WTF::MemoryInstrumentation::reportObjectMemoryUsage): 2012-09-15 Yury Semikhatsky Web Inspector: automatically detect if class has reportMemoryUsage method https://bugs.webkit.org/show_bug.cgi?id=96756 Reviewed by Alexander Pavlov. Implemeted automatic selector of the memory reporting method. If an object has reportMemoryUsage method then call it. Otherwise count only object's self size. As the next step we will delete addInstrumentedMember and addInstrumentedObjectImpl and will have only addMember and addObjectImpl that would automatically call reportMemoryUsage if it is present. * wtf/MemoryInstrumentation.h: (WTF::MemoryInstrumentation::selectInstrumentationMethod): (MemoryInstrumentation): (WTF::MemoryInstrumentation::reportObjectMemoryUsage): (WTF::MemoryInstrumentation::addInstrumentedObjectImpl): (WTF::MemoryInstrumentation::addObjectImpl): (WTF::::process): 2012-09-14 Yury Semikhatsky Web Inspector: OwnPtr and RefPtr reported by pointer can be double counted by the memory instrumentation https://bugs.webkit.org/show_bug.cgi?id=96791 Reviewed by Alexander Pavlov. * wtf/MemoryInstrumentation.h: (WTF::MemoryInstrumentation::addObjectImpl): check if the smart pointer has already been visited before counting its size. 2012-09-15 Benjamin Poulain Fix the build with WTF URL https://bugs.webkit.org/show_bug.cgi?id=96875 Reviewed by Adam Barth. Add support for MemoryInstrumentation to WTF's URL classes. * wtf/url/api/ParsedURL.cpp: (WTF::ParsedURL::reportMemoryUsage): * wtf/url/api/ParsedURL.h: (ParsedURL): * wtf/url/api/URLString.cpp: (WTF::URLString::reportMemoryUsage): * wtf/url/api/URLString.h: (URLString): 2012-09-15 Raphael Kubo da Costa llint: Implement LOCAL_LABEL_STRING for the BSD platforms. https://bugs.webkit.org/show_bug.cgi?id=96870 Reviewed by Filip Pizlo. * wtf/InlineASM.h: Extend the definition of LOCAL_LABEL_STRING currently used for OS(LINUX) to the BSDs, since they also normally use GNU as, and clang/llvm seems to parse that syntax just fine as well. 2012-09-14 Alexey Proskuryakov Minimize collisions when hashing pairs https://bugs.webkit.org/show_bug.cgi?id=96022 Build fix (with newer clang?) * wtf/HashFunctions.h: (WTF::pairIntHash): Be explicit about casting from 64 bit to 32 bit. 2012-09-14 Dana Jansens Minimize collisions when hashing pairs https://bugs.webkit.org/show_bug.cgi?id=96022 Reviewed by Adrienne Walker. The current hash function for pairs has poor performance as it does a nice hash function on 64 bits, but then just drops the top 32 bits. The hash method for pairs tries to use Thomas Wang's 64 bit Mix Function, but this requires not dropping any bits in order to retain the characteristics mentioned by Thomas. A better method of hashing sets of 32-bit integers is to use multiplication in 64 bits with random integers. This method is a provably almost-universal hash function. Testing shows that this method decreases the time required, when compared with the current method, by more than 20% due to better hashing characteristics. * wtf/HashFunctions.h: (WTF): (WTF::pairIntHash): Implments the hashing method for a pair of unsigned integers. (WTF::PairHash::hash): Use pairIntHash() on the hash results of each object in the pair. (WTF::IntPairHash::hash): Implement an integer-specific PairHash class that does not need to hash each object in the pair. It uses pairIntHash on the two integers in the pair directly. (WTF::IntPairHash::equal): (IntPairHash): 2012-09-14 Tor Arne Vestbø [Qt] Make force_static_libs_as_shared work on Mac OS We had to move a few LIBS += around that were in the wrong place, and not caught when everything was just linked into the final QtWebKit library. Reviewed by Simon Hausmann. * WTF.pri: 2012-09-14 Ilya Tikhonovsky Web Inspector: NMI: convert template versions of String*::reportMemoryUsage functions to normal functions. https://bugs.webkit.org/show_bug.cgi?id=96759 Reviewed by Yury Semikhatsky. Now when MemoryInstrumentation.h is a part of WTF we can move reportMemoryUsage functions to cpp file. * wtf/text/AtomicString.cpp: (WTF::AtomicString::reportMemoryUsage): (WTF): * wtf/text/AtomicString.h: (WTF): (AtomicString): * wtf/text/StringImpl.cpp: (WTF::StringImpl::reportMemoryUsage): (WTF): * wtf/text/StringImpl.h: (WTF): (StringImpl): * wtf/text/WTFString.cpp: (WTF::String::reportMemoryUsage): (WTF): * wtf/text/WTFString.h: (WTF): (String): 2012-09-14 Ilya Tikhonovsky Web Inspector: NMI: remove current traits helper class because it is customizing the instrumentation at a wrong place and is not necessary at the moment. https://bugs.webkit.org/show_bug.cgi?id=96737 Reviewed by Yury Semikhatsky. * wtf/MemoryInstrumentation.h: (MemoryInstrumentation): WTF::MemoryInstrumentationTraits): removed (WTF::MemoryInstrumentation::OwningTraits::addInstrumentedObject): direct call inserted (WTF::MemoryInstrumentation::OwningTraits::addObject):direct call inserted 2012-09-13 Kenneth Rohde Christiansen Evas_Object* is a ref'ed structure, so tread it as such https://bugs.webkit.org/show_bug.cgi?id=96659 Reviewed by Gyuyoung Kim. Remove OwnPtr support for Evas_Object* and add support for it with RefPtr instead (the latter moved from WebCore). * wtf/PlatformEfl.cmake: * wtf/efl/OwnPtrEfl.cpp: * wtf/efl/RefPtrEfl.cpp: Renamed from Source/WebCore/platform/efl/RefPtrEfl.cpp. (WTF): (WTF::refIfNotNull): (WTF::derefIfNotNull): * wtf/efl/RefPtrEfl.h: Renamed from Source/WebCore/platform/efl/RefPtrEfl.h. (WTF): 2012-09-14 Gyuyoung Kim Unreviewed, rolling out r128507. http://trac.webkit.org/changeset/128507 https://bugs.webkit.org/show_bug.cgi?id=96659 Revert. r128507 makes too many crash in EFL layout test bots. * wtf/PlatformEfl.cmake: * wtf/efl/OwnPtrEfl.cpp: (WTF::deleteOwnedPtr): (WTF): 2012-09-13 Kevin Funk Make compile with both OS(WINCE) and PLATFORM(QT) support https://bugs.webkit.org/show_bug.cgi?id=95536 Reviewed by Simon Hausmann. Fixes for Windows CE. * WTF.pri: Also include path for mt19937ar.c * wtf/unicode/icu/CollatorICU.cpp: Fix undeclared strdup() on CE7 * wtf/Platform.h: 2012-09-13 Byungseon Shin Fix for WTF fails to compile in thumb mode when llint is enabled. https://bugs.webkit.org/show_bug.cgi?id=96400 Reviewed by Filip Pizlo. When using "+m" with Armv7 cross compiler assume offset range between +/- 4095 (the largest possible offset range). However, ldrex/strex can only use offset range of 0~1020, so "+m" needed to be changed to "+Q". Ref. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54480 * wtf/Atomics.h: (WTF::weakCompareAndSwap): 2012-09-13 Kenneth Rohde Christiansen Evas_Object* is a ref'ed structure, so tread it as such https://bugs.webkit.org/show_bug.cgi?id=96659 Reviewed by Adam Barth. Remove OwnPtr support for Evas_Object* and add support for it with RefPtr instead (the latter moved from WebCore). * wtf/PlatformEfl.cmake: * wtf/efl/OwnPtrEfl.cpp: * wtf/efl/RefPtrEfl.cpp: Renamed from Source/WebCore/platform/efl/RefPtrEfl.cpp. (WTF): (WTF::refIfNotNull): (WTF::derefIfNotNull): * wtf/efl/RefPtrEfl.h: Renamed from Source/WebCore/platform/efl/RefPtrEfl.h. (WTF): 2012-09-13 Michael Saboff Added 8 bit path to WidthIterator::advance() https://bugs.webkit.org/show_bug.cgi?id=96590 Reviewed by Geoffrey Garen. Added new character constant for Hiragana Letter Small A. * wtf/unicode/CharacterNames.h: (Unicode): 2012-09-13 Ilya Tikhonovsky Web Inspector: NMI: instrument KURL directly. https://bugs.webkit.org/show_bug.cgi?id=96624 Reviewed by Yury Semikhatsky. I replaced traits based instrumentation of KURL with reportMemoryUsage functions. CString* were also instrumented. Drive by fix: Instrumentation code in QualifiedName was moved to cpp. * wtf/text/CString.h: (CStringBuffer): (WTF::CStringBuffer::reportMemoryUsage): (CString): (WTF::CString::reportMemoryUsage): 2012-09-12 Ilya Tikhonovsky Web Inspector: NMI: migrate core instrumentation code to WTF namespace https://bugs.webkit.org/show_bug.cgi?id=96511 Reviewed by Yury Semikhatsky. After moving core NMI code to WTF namespace I removed forward declarations of MemoryObjectInfo and MemoryInstrumentation from WebCore headers and add forward declaration into wtf/Forward.h * wtf/Forward.h: (WTF): * wtf/MemoryInstrumentation.h: 2012-09-12 Dan Bernstein Removed a reference to a file that doesn’t participate in any target. * WTF.xcodeproj/project.pbxproj: Removed the reference to CONTRIBUTORS.pthreads-win32. 2012-09-11 Michael Saboff Element::classAttributeChanged should use characters8/16 to find first non-whitespace https://bugs.webkit.org/show_bug.cgi?id=96446 Reviewed by Benjamin Poulain. Added bit size related string accessors to AtomicString to support change. * wtf/text/AtomicString.h: (AtomicString): (WTF::AtomicString::is8Bit): (WTF::AtomicString::characters8): (WTF::AtomicString::characters16): 2012-09-12 Michael Saboff Build fixed for http://trac.webkit.org/changeset/128243 Unreviewed build fix. Removed temporarily added function signature. * icu/unicode/unistr.h: (UnicodeString::extract): 2012-09-12 Michael Saboff Build fixed for http://trac.webkit.org/changeset/128243 Unreviewed build fix. Change UnicodeString::extract for gcc based on ICU fix described in http://bugs.icu-project.org/trac/ticket/8197. * icu/unicode/unistr.h: (UnicodeString::extract): 2012-09-12 Ilya Tikhonovsky Web Inspector: NMI move String* instrumentation to wtf. https://bugs.webkit.org/show_bug.cgi?id=96405 Reviewed by Yury Semikhatsky. This instrumentation is solving the problem with substrings and removes traits based code which is hard to upstream. Tested by webkit_unit_tests. * wtf/text/AtomicString.h: (AtomicString): (WTF::AtomicString::reportMemoryUsage): * wtf/text/StringImpl.h: (StringImpl): (WTF::StringImpl::reportMemoryUsage): * wtf/text/WTFString.h: (String): (WTF::String::reportMemoryUsage): 2012-09-12 Sheriff Bot Unreviewed, rolling out r128279. http://trac.webkit.org/changeset/128279 https://bugs.webkit.org/show_bug.cgi?id=96487 "Snow Leopard compilation broken" (Requested by yurys on #webkit). * wtf/MemoryInstrumentation.h: (GenericMemoryTypes): (WebCore): (WebCore::MemoryInstrumentation::addRootObject): (WebCore::MemoryObjectInfo::reportObjectInfo): (WebCore::MemoryClassInfo::MemoryClassInfo): * wtf/text/AtomicString.h: (AtomicString): * wtf/text/StringImpl.h: * wtf/text/WTFString.h: 2012-09-12 Yury Semikhatsky Web Inspector: Persistent handle referenced from ScriptWrappable is double counted https://bugs.webkit.org/show_bug.cgi?id=96483 Reviewed by Alexander Pavlov. * wtf/MemoryInstrumentation.h: (WebCore::MemoryClassInfo::addWeakPointer): this method is expected to be used on fields that are pointers to objects which are parts of bigger memory blocks (field of another object, element in an array, object allocated in a memory arena etc.). We don't want to count such objects' memory separately from their owners but in order to be able to validates the memory instrumentation with clang plugin we need to make sure all fields in instrumented objects are reported. (MemoryClassInfo): 2012-09-12 Ilya Tikhonovsky Web Inspector: NMI move String* instrumentation to wtf. https://bugs.webkit.org/show_bug.cgi?id=96405 Reviewed by Yury Semikhatsky. This instrumentation is solving the problem with substrings and removes traits based code which is hard to upstream. Tested by webkit_unit_tests. * wtf/MemoryInstrumentation.h: (WebCore): (WebCore::MemoryInstrumentation::addRootObject): (WebCore::MemoryObjectInfo::reportObjectInfo): (WebCore::MemoryClassInfo::MemoryClassInfo): * wtf/text/AtomicString.h: (AtomicString): (WTF::AtomicString::reportMemoryUsage): * wtf/text/StringImpl.h: (StringImpl): (WTF::StringImpl::reportMemoryUsage): * wtf/text/WTFString.h: (String): (WTF::String::reportMemoryUsage): 2012-09-11 Michael Saboff Build fixed for http://trac.webkit.org/changeset/128243 Unreviewed build fix. Added missing include file needed by 96422 for C++ ICU APIs. * icu/unicode/bytestream.h: Added. * icu/unicode/rep.h: Added. * icu/unicode/std_string.h: Added. * icu/unicode/strenum.h: Added. * icu/unicode/stringpiece.h: Added. * icu/unicode/unistr.h: Added. * icu/unicode/uobject.h: Added. 2012-09-11 Michael Saboff Build fixed for http://trac.webkit.org/changeset/128243 Rubber stamped by Stephanie Lewis. Added missing include file needed by 96422. * icu/unicode/unorm2.h: Added. 2012-09-11 Michael Saboff Build fixed for http://trac.webkit.org/changeset/128243 Rubber stamped by Stephanie Lewis. Added missing include file needed by 96422. * icu/unicode/ptypes.h: Added. 2012-09-11 Michael Saboff Update ICU header files to more recent version https://bugs.webkit.org/show_bug.cgi?id=96422 Reviewed by Geoff Garen. Updated ICU header files to 4.6.1. Modifications made as part of the merge are: platform.h - Changed ifndef / define / endif for U_HAVE_UINT8_T, U_HAVE_UINT16_T, U_HAVE_UINT32_T, U_HAVE_UINT64_T, U_IS_BIG_ENDIAN and U_ENABLE_TRACING to match the existing platform.h putil.h (line 132) - Changes defined(U_WINDOWS) to defined(WIN32) || defined(OS2) to match existing putil.h ustring.h (line 945) - Wrapped macro argument cs with { (const UChar *)cs } to match existing ustring.h utypes.h (line 545) - Changed defined(U_WINDOWS) to defined(WIN32) to match existing utypes.h * icu/unicode/localpointer.h: Added. * icu/unicode/parseerr.h: * icu/unicode/platform.h: * icu/unicode/putil.h: * icu/unicode/uchar.h: * icu/unicode/ucnv.h: * icu/unicode/ucnv_err.h: * icu/unicode/ucol.h: * icu/unicode/uconfig.h: * icu/unicode/uenum.h: * icu/unicode/uiter.h: * icu/unicode/uloc.h: * icu/unicode/umachine.h: * icu/unicode/unorm.h: * icu/unicode/urename.h: * icu/unicode/uscript.h: * icu/unicode/uset.h: * icu/unicode/ustring.h: * icu/unicode/utf.h: * icu/unicode/utf16.h: * icu/unicode/utf8.h: * icu/unicode/utypes.h: * icu/unicode/uvernum.h: Added. * icu/unicode/uversion.h: 2012-09-11 Pratik Solanki Add ObjcRuntimeExtras.h to the Xcode project file https://bugs.webkit.org/show_bug.cgi?id=96419 Reviewed by Alexey Proskuryakov. * WTF.xcodeproj/project.pbxproj: 2012-09-11 Adrienne Walker Clang doesn't optimize away undefined OwnPtr copy constructor https://bugs.webkit.org/show_bug.cgi?id=74625 Reviewed by Anders Carlsson. Original patch by Anders Carlsson, with a minor edit. The publicly declared-but-not-defined copy constructor is a compiler optimization-dependent landmine. Clang often fails to optimize the use of this function out, leading to internal linkage errors for the missing definition. gcc doesn't have this problem and optimizes that function out, leading to code that inconsistently fails to link across platforms. As a partial fix for this problem, on any compiler that supports C++11 move semantics, replace the bogus copy constructor with the move constructors. In the future, if all compilers support this, then the copy constructor can be removed. This still leaves other compilers that don't support move semantics like Visual Studio vulnerable to linking inconsistencies. * wtf/OwnPtr.h: (OwnPtr): (WTF): (WTF::::OwnPtr): (WTF::=): 2012-09-11 Raphael Kubo da Costa [EFL] Rewrite the EFL-related Find modules https://bugs.webkit.org/show_bug.cgi?id=95237 Reviewed by Kenneth Rohde Christiansen. * CMakeLists.txt: Stop setting the LINK_FLAGS property. * PlatformEfl.cmake: Add libraries and include directories for each Enlightenment Foundation Library used by the port. 2012-09-11 Tor Arne Vestbø [Qt] Add a configure step to the Qt build system This allows building the Qt port using just 'qmake WebKit.pro'. Using the build-webkit script is still supported, and will add slightly more logic to the build, such as detecting the need for clean or incremental builds. Internally, the build system now uses a new variable, WEBKIT_CONFIG, for all things related to configuring the build, such as use/have/enable flags, and these are translated to defines in default_post. Project files should no longer check contains(DEFINES,...) to detect features, but use the new enable?(), use?(), and have?() functions. The no_webkit1 and no_webkit2 options have been translated into WEBKIT_CONFIG options as well, and can be checked using build?(). Reviewed by Simon Hausmann. * WTF.pri: * wtf/Platform.h: 2012-09-10 Ilya Tikhonovsky Web Inspector: NMI: move MemoryInstrumentation.h to wtf https://bugs.webkit.org/show_bug.cgi?id=96356 Reviewed by Yury Semikhatsky. It is necessary step because it helps us to remove dependency between platform and WebCore. * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: * wtf/MemoryInstrumentation.h: Renamed from Source/WebCore/dom/MemoryInstrumentation.h. (WebCore): (GenericMemoryTypes): (MemoryInstrumentationTraits): (MemoryInstrumentation): (WebCore::MemoryInstrumentation::~MemoryInstrumentation): (WebCore::MemoryInstrumentation::addRootObject): (InstrumentedPointerBase): (WebCore::MemoryInstrumentation::InstrumentedPointerBase::~InstrumentedPointerBase): (InstrumentedPointer): (WebCore::MemoryInstrumentation::InstrumentedPointer::InstrumentedPointer): (WebCore::MemoryInstrumentation::addObject): (WebCore::MemoryInstrumentation::addInstrumentedObject): (WebCore::MemoryInstrumentation::addRawBuffer): (WebCore::MemoryInstrumentation::OwningTraits::addInstrumentedObject): (WebCore::MemoryInstrumentation::OwningTraits::addObject): (WebCore::MemoryInstrumentationTraits::addInstrumentedObject): (WebCore::MemoryInstrumentationTraits::addObject): (MemoryObjectInfo): (WebCore::MemoryObjectInfo::MemoryObjectInfo): (WebCore::MemoryObjectInfo::objectType): (WebCore::MemoryObjectInfo::objectSize): (WebCore::MemoryObjectInfo::memoryInstrumentation): (WebCore::MemoryObjectInfo::reportObjectInfo): (MemoryClassInfo): (WebCore::MemoryClassInfo::MemoryClassInfo): (WebCore::MemoryClassInfo::addInstrumentedMember): (WebCore::MemoryClassInfo::addMember): (WebCore::MemoryClassInfo::addHashMap): (WebCore::MemoryClassInfo::addHashSet): (WebCore::MemoryClassInfo::addHashCountedSet): (WebCore::MemoryClassInfo::addInstrumentedHashSet): (WebCore::MemoryClassInfo::addInstrumentedVector): (WebCore::MemoryClassInfo::addInstrumentedVectorPtr): (WebCore::MemoryClassInfo::addInstrumentedMapEntries): (WebCore::MemoryClassInfo::addInstrumentedMapValues): (WebCore::MemoryClassInfo::addListHashSet): (WebCore::MemoryClassInfo::addVector): (WebCore::MemoryClassInfo::addVectorPtr): (WebCore::MemoryClassInfo::addRawBuffer): (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl): (WebCore::MemoryInstrumentation::addObjectImpl): (WebCore::MemoryInstrumentation::addHashMap): (WebCore::MemoryInstrumentation::addHashSet): (WebCore::MemoryInstrumentation::addInstrumentedCollection): (WebCore::MemoryInstrumentation::addInstrumentedMapEntries): (WebCore::MemoryInstrumentation::addInstrumentedMapValues): (WebCore::MemoryInstrumentation::addListHashSet): (WebCore::MemoryInstrumentation::addVector): (WebCore::MemoryInstrumentation::calculateContainerSize): (WebCore::::process): 2012-09-09 Mark Lam Fixed ASSERT() and ASSERT_AT() macros so that they can be used in comma expressions. Also, added UNUSED_LABEL(). https://bugs.webkit.org/show_bug.cgi?id=96127. Reviewed by Geoffrey Garen. * wtf/Assertions.h: * wtf/UnusedParam.h: Added UNUSED_LABEL(). Removed an obsolete comment. 2012-09-09 Patrick Gansterer Add StringBuilder::appendNumber() and use it https://bugs.webkit.org/show_bug.cgi?id=96030 Reviewed by Eric Seidel. Also fix a bunch of append() vs. appendLiteral() issues in the surrounding code. * wtf/DateMath.cpp: (WTF::makeRFC2822DateString): * wtf/text/StringBuilder.cpp: (WTF::StringBuilder::appendNumber): * wtf/text/StringBuilder.h: (StringBuilder): 2012-09-09 Patrick Gansterer Make the String initialization on the function side of String::number() https://bugs.webkit.org/show_bug.cgi?id=95940 Reviewed by Benjamin Poulain. Un-Inline String::number() to make the String initialization done on the function side instead of being on the caller side. * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/text/IntegerToStringConversion.cpp: Removed. * wtf/text/IntegerToStringConversion.h: (WTF::numberToStringImpl): (WTF::numberToStringSigned): (WTF::numberToStringUnsigned): * wtf/text/WTFString.cpp: (WTF::String::number): * wtf/text/WTFString.h: 2012-09-08 Andreas Kling Give AtomicString SimpleClassVectorTraits. Reviewed by Karl Anders Carlsson. AtomicString can be initialized/moved/compared with memset/memcpy/memcmp, so add a VectorTraits to make Vector a little more efficient. * wtf/VectorTraits.h: 2012-09-07 Sheriff Bot Unreviewed, rolling out r127938. http://trac.webkit.org/changeset/127938 https://bugs.webkit.org/show_bug.cgi?id=96166 It broke the build (Requested by smfr on #webkit). * wtf/Assertions.h: 2012-09-07 Mark Lam Fixed ASSERT() and ASSERT_AT() macros so that they can be used in comma expressions. https://bugs.webkit.org/show_bug.cgi?id=96127. Reviewed by Filip Pizlo. * wtf/Assertions.h: (wtfAssert): 2012-09-07 Michael Saboff StringImpl::find(StringImpl*) doesn't handle cases where search and match strings are different bitness https://bugs.webkit.org/show_bug.cgi?id=96125 Reviewed by Benjamin Poulain. Changed findInner and reverseFindInner to be templated on both search and match character types. Changed both find's and reverseFind to use all four bitness combinations of findInner and reverseFindInner. * wtf/text/StringImpl.cpp: (WTF::findInner): (WTF::StringImpl::find): (WTF::reverseFindInner): (WTF::StringImpl::reverseFind): 2012-09-07 Michael Saboff equalIgnoringCase of two StringImpls doesn't handle 8 bit strings https://bugs.webkit.org/show_bug.cgi?id=96028 Reviewed by Benjamin Poulain. Added 8 bit checks and paths to CaseFoldingHash::equal. Also cleaned up StringHash::equal(), removing obvious and in one case wrong comments. Moved equalIgnoringCase(UChar*, UChar*) from StringImpl.cpp to StringImpl.h. * wtf/text/StringHash.h: (WTF::StringHash::equal): (WTF::CaseFoldingHash::equal): * wtf/text/StringImpl.cpp: * wtf/text/StringImpl.h: (WTF::equalIgnoringCase): 2012-09-07 Patrick Gansterer [WIN] Deprecate String += operator https://bugs.webkit.org/show_bug.cgi?id=96083 Reviewed by Adam Barth. * wtf/Platform.h: 2012-09-06 Michael Saboff StringBuilder::toAtomicString() can create an 16 bit string with 8 bit contents https://bugs.webkit.org/show_bug.cgi?id=96029 Reviewed by Benjamin Poulain. Added 8 bit path when creating an AtomicString from a partial 8 bit buffer. * wtf/text/StringBuilder.h: (WTF::StringBuilder::toAtomicString): 2012-09-06 Michael Saboff 16 bit JSRopeString up converts an 8 bit fibers to 16 bits during resolution https://bugs.webkit.org/show_bug.cgi?id=95810 Reviewed by Benjamin Poulain. New copy routine that takes an 8 bit source and a 16 bit destination. Used when copying the contents of an 8 bit fiber to the 16 bit buffer when resolving a 16 bit rope. * wtf/text/StringImpl.h: (WTF::StringImpl::copyChars): (StringImpl): 2012-09-06 Michael Saboff Unreviewed fix to r127799. https://bugs.webkit.org/show_bug.cgi?id=95807 Unreviewed fix. Removed extraneous "static". This code is hidden behind STRING_STATS define and therefore is not enabled by default. * wtf/text/StringImpl.cpp: 2012-09-06 Lauro Neto [Qt] Deprecate String += operator https://bugs.webkit.org/show_bug.cgi?id=95895 Reviewed by Benjamin Poulain. Remove Qt from WTF_DEPRECATED_STRING_OPERATORS guard. * wtf/Platform.h: 2012-09-06 Michael Saboff ENH: Add Logging to StringImpl to track String Types https://bugs.webkit.org/show_bug.cgi?id=95807 Reviewed by Benjamin Poulain. Added StringsStats class that keeps track of the number of strings, number of 8 and 16 bit strings as well as the number of 8 bit strings up converted to 16 bits. The number of characrters for each type is also accumulated. These statistics are output via DataLog every 5000 calls to StringImpl destructor. The 5000 can be adjusted via s_printStringStatsFrequency. This StringStats code is disabled by default and enabled by defining STRING_STATS in wtf/text/StringImpl.h. * wtf/text/StringImpl.cpp: (WTF::StringStats::removeString): (WTF::StringStats::printStats): (WTF::StringImpl::~StringImpl): (WTF::StringImpl::getData16SlowCase): * wtf/text/StringImpl.h: (WTF::StringStats::add8BitString): (StringStats): (WTF::StringStats::add16BitString): (WTF::StringStats::addUpconvertedString): (WTF::StringImpl::StringImpl): (StringImpl): (WTF::StringImpl::isSubString): (WTF::StringImpl::stringStats): 2012-09-06 Patrick Gansterer Fix export macros in IntegerToStringConversion.h https://bugs.webkit.org/show_bug.cgi?id=95900 Reviewed by Benjamin Poulain. The WTF_EXPORT_STRING_API must be used only for symbols which are compiled on windows in "non-WTF" binaries too. Since this isn't valid for the IntegerToStringConversion function replace it with WTF_EXPORT_PRIVATE. * wtf/text/IntegerToStringConversion.h: 2012-09-06 Simon Hausmann [Qt] Various small Windows / MSVC build fixes https://bugs.webkit.org/show_bug.cgi?id=95934 Reviewed by Kenneth Rohde Christiansen. For the Qt build on Windows, do not enable WTF_USE_UNIX_DOMAIN_SOCKETS for WebKit2 IPC. * wtf/Platform.h: 2012-09-06 Adam Barth Remove WTF::String::operator+= https://bugs.webkit.org/show_bug.cgi?id=95797 Reviewed by Sam Weinig. This patch encloses WTF::String::operator+= in an ifdef so that we can gradually remove it from the various port-specific files. The ifdef lets us whitelist use of operator+= in individual files during the transition. * wtf/Platform.h * wtf/text/WTFString.h: 2012-09-05 Gabor Rapcsanyi DFG JIT doesn't work properly on ARM hardfp https://bugs.webkit.org/show_bug.cgi?id=95684 Reviewed by Filip Pizlo. Add hardfp support to DFG JIT. The patch is created with the help of Zoltan Herczeg. * wtf/Platform.h: 2012-09-04 Zoltan Horvath Extend the coverage of the Custom Allocation Framework in WTF and in JavaScriptCore https://bugs.webkit.org/show_bug.cgi?id=95737 Reviewed by Eric Seidel. Add WTF_MAKE_FAST_ALLOCATED macro to the following class declarations because these are instantiated by operator new. * wtf/CryptographicallyRandomNumber.cpp: CryptographicallyRandomNumber is instantiated at wtf/CryptographicallyRandomNumber.cpp:162. * wtf/MediaTime.h: MediaTime is instantiated at wtf/MediaTime.cpp:288. * wtf/MetaAllocator.h: (MetaAllocatorTracker): MetaAllocatorTracker is instantiated at JavaScriptCore/tools/CodeProfiling.cpp:120. * wtf/ThreadingPthreads.cpp: (PthreadState): PthreadState is instantiated at wtf/ThreadingPthreads.cpp:165. * wtf/text/AtomicString.cpp: (AtomicStringTable): AtomicStringTable is instantiated at wtf/text/AtomicString.cpp:43. 2012-09-01 Mark Lam LLInt C loop backend. https://bugs.webkit.org/show_bug.cgi?id=91052. Reviewed by Filip Pizlo. Added configs for the llint C loop backend. * wtf/Platform.h: 2012-08-31 Pratik Solanki objc_msgSend and IMP should be cast appropriately before using https://bugs.webkit.org/show_bug.cgi?id=95242 Reviewed by Benjamin Poulain. Fix for older compilers. Pass id as the return type to the template instead of relying on default type. * wtf/Functional.h: (WTF::R): * wtf/ObjcRuntimeExtras.h: 2012-08-31 Michael Saboff CSS Parser should directly parse 8 bit source strings https://bugs.webkit.org/show_bug.cgi?id=95207 Reviewed by Geoffrey Garen. * wtf/text/StringImpl.h: (WTF::equalIgnoringCase): Added (const char*, const LChar*, unsigned) flavor to support 8 bit CSS parser work. 2012-08-30 Benjamin Poulain AtomicString(ASCIILiteral) should not compile https://bugs.webkit.org/show_bug.cgi?id=95413 Reviewed by Adam Barth. * wtf/text/AtomicString.h: (AtomicString): Declare the constructor from ASCIILiteral private to ensure it is not used by accident. 2012-08-30 Benjamin Poulain Ambiguous operator[] after r127191 on some compiler https://bugs.webkit.org/show_bug.cgi?id=95509 Reviewed by Simon Fraser. * wtf/text/WTFString.h: (WTF::String::characterAt): At this as a synonym to operator[] to attempt a build fix. 2012-08-30 Mark Lam Render unto #ifdef's that which belong to them. https://bugs.webkit.org/show_bug.cgi?id=95482. Reviewed by Filip Pizlo. * wtf/Platform.h: Added ENABLE(COMPUTED_GOTO_OPCODES). 2012-08-30 Pratik Solanki objc_msgSend and IMP should be cast appropriately before using https://bugs.webkit.org/show_bug.cgi?id=95242 Reviewed by Benjamin Poulain. Add new templates wtfObjcMsgSend and wtfCallIMP that do the appropriate casts to correctly typed function pointers before calling objc_msgSend and IMP methods directly. * wtf/Functional.h: (WTF::R): Use wtfObjcMsgSend. * wtf/ObjcRuntimeExtras.h: Added. (wtfObjcMsgSend): (wtfCallIMP): 2012-08-30 Benjamin Poulain Replace JSC::UString by WTF::String https://bugs.webkit.org/show_bug.cgi?id=95271 Reviewed by Geoffrey Garen. * wtf/Platform.h: Useless edit to force a full build. This is needed for some bots for some reason. * wtf/text/WTFString.h: Export a symbol that was exported on UString and needed in WebCore. Add String::getCharactersWithUpconvert<>(), which is similar to String::getCharacters<>() but with the same behaviors as UString::getCharacters<>(). String::getCharactersWithUpconvert<>() is useful when manipulating multiple strings, it allow writting code using 16bits characters if any of the input String is not 8bit. 2012-08-30 Yong Li Vector::shrinkToFit should use realloc when suitable. https://bugs.webkit.org/show_bug.cgi?id=94810 Reviewed by Benjamin Poulain. Only tested on BlackBerry. So it is wrapped with PLATFORM(BLACKBERRY) in the mean time. Use realloc to shrink buffer when inline buffer isn't involved and and canMoveWithMemcpy is true. When running the test code attached to the bug, it gives 30-45% performance boost for the large blocks (Every test cycle includes an extra pair of malloc/free, so the boost on shrinkToFit() is even bigger) Performance impact on small blocks is not noticeable. (Tested on BlackBerry) * wtf/Vector.h: (WTF::VectorBufferBase::shouldReallocateBuffer): (VectorBufferBase): (WTF::VectorBufferBase::reallocateBuffer): (VectorBuffer): (WTF::VectorBuffer::shouldReallocateBuffer): (WTF::VectorBuffer::reallocateBuffer): (WTF::VectorBuffer::inlineBuffer): (WTF::::shrinkCapacity): 2012-08-30 Patrick Gansterer Build fix for COMPILER(MSVC) && !CPU(X86) after r127001. * wtf/MathExtras.h: (lrint): Added additional parentheses to silence compiler warning. 2012-08-29 Benjamin Poulain REGRESSION(r126780): Crash using StringImpl::is8Bit before checking if there is an impl https://bugs.webkit.org/show_bug.cgi?id=95380 Reviewed by Michael Saboff. Blindly copying code from UString in r126780 was stupid. I just brought over a bug. This patch adds the zero length branch back so that null strings are handled correctly. * wtf/text/WTFString.cpp: (WTF::String::ascii): Return a empty CString if the String is null or empty. 2012-08-29 Dominik Röttsches The 2d.imageData.object.round canvas test is failing https://bugs.webkit.org/show_bug.cgi?id=40272 Reviewed by Benjamin Poulain. Updating previous patch to address Benjamin's comments. #ifdef in Uint8ClampedArray removed, fallback implementation for MSVC on non-X86 added. * wtf/MathExtras.h: (lrint): Fallback implementation for non-X86 & MSVC case. * wtf/Uint8ClampedArray.h: Removed #ifdef. 2012-08-28 Sheriff Bot Unreviewed, rolling out r126914. http://trac.webkit.org/changeset/126914 https://bugs.webkit.org/show_bug.cgi?id=95239 it breaks everything and fixes nothing (Requested by pizlo on #webkit). * wtf/HashCountedSet.h: (WTF::::add): (WTF::::remove): (WTF::copyToVector): * wtf/HashIterators.h: (WTF::HashTableConstKeysIterator::get): (WTF::HashTableConstValuesIterator::get): (WTF::HashTableKeysIterator::get): (WTF::HashTableValuesIterator::get): * wtf/HashMap.h: (WTF::KeyValuePairKeyExtractor::extract): (WTF::HashMapValueTraits::isEmptyValue): (WTF::HashMapTranslator::translate): (WTF::HashMapTranslatorAdapter::translate): (WTF::::set): (WTF::::get): (WTF::::take): (WTF::operator==): (WTF): (WTF::deleteAllPairSeconds): (WTF::deleteAllValues): (WTF::deleteAllPairFirsts): (WTF::deleteAllKeys): * wtf/HashTable.h: (WTF::hashTableSwap): (WTF::::checkTableConsistencyExceptSize): * wtf/HashTraits.h: (WTF::KeyValuePair::KeyValuePair): (KeyValuePair): (WTF::KeyValuePairHashTraits::constructDeletedValue): (WTF::KeyValuePairHashTraits::isDeletedValue): * wtf/MetaAllocator.cpp: (WTF::MetaAllocator::addFreeSpace): (WTF::MetaAllocator::incrementPageOccupancy): (WTF::MetaAllocator::decrementPageOccupancy): * wtf/RefCountedLeakCounter.cpp: (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): * wtf/RefPtrHashMap.h: (WTF::::set): (WTF::::get): (WTF::::inlineGet): (WTF::::take): * wtf/Spectrum.h: (WTF::Spectrum::add): (WTF::Spectrum::get): (WTF::Spectrum::buildList): * wtf/ThreadingPthreads.cpp: (WTF::identifierByPthreadHandle): 2012-08-28 Caio Marcelo de Oliveira Filho Rename first/second to key/value in HashMap iterators https://bugs.webkit.org/show_bug.cgi?id=82784 Reviewed by Eric Seidel. * wtf/HashCountedSet.h: (WTF::::add): (WTF::::remove): (WTF::copyToVector): * wtf/HashIterators.h: (WTF::HashTableConstKeysIterator::get): (WTF::HashTableConstValuesIterator::get): (WTF::HashTableKeysIterator::get): (WTF::HashTableValuesIterator::get): * wtf/HashMap.h: (WTF::KeyValuePairKeyExtractor::extract): (WTF::HashMapValueTraits::isEmptyValue): (WTF::HashMapTranslator::translate): (WTF::HashMapTranslatorAdapter::translate): (WTF::::set): (WTF::::get): (WTF::::take): (WTF::operator==): (WTF::deleteAllValues): (WTF::deleteAllKeys): Remove deleteAllPairFirsts/Seconds. * wtf/HashTable.h: (WTF::hashTableSwap): (WTF::::checkTableConsistencyExceptSize): * wtf/HashTraits.h: (WTF::KeyValuePair::KeyValuePair): (KeyValuePair): (WTF::KeyValuePairHashTraits::constructDeletedValue): (WTF::KeyValuePairHashTraits::isDeletedValue): * wtf/MetaAllocator.cpp: (WTF::MetaAllocator::addFreeSpace): (WTF::MetaAllocator::incrementPageOccupancy): (WTF::MetaAllocator::decrementPageOccupancy): * wtf/RefCountedLeakCounter.cpp: (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): * wtf/RefPtrHashMap.h: (WTF::::set): (WTF::::get): (WTF::::inlineGet): (WTF::::take): * wtf/Spectrum.h: (WTF::Spectrum::add): (WTF::Spectrum::get): (WTF::Spectrum::buildList): * wtf/ThreadingPthreads.cpp: (WTF::identifierByPthreadHandle): 2012-08-27 Sheriff Bot Unreviewed, rolling out r126836. http://trac.webkit.org/changeset/126836 https://bugs.webkit.org/show_bug.cgi?id=95163 Broke all Apple ports, EFL, and Qt. (Requested by tkent on #webkit). * wtf/HashCountedSet.h: (WTF::::add): (WTF::::remove): (WTF::copyToVector): * wtf/HashIterators.h: (WTF::HashTableConstKeysIterator::get): (WTF::HashTableConstValuesIterator::get): (WTF::HashTableValuesIterator::get): * wtf/HashMap.h: (WTF::KeyValuePairKeyExtractor::extract): (WTF::HashMapValueTraits::isEmptyValue): (WTF::HashMapTranslator::translate): (WTF::HashMapTranslatorAdapter::translate): (WTF::::set): (WTF::::get): (WTF::::take): (WTF::operator==): (WTF): (WTF::deleteAllPairSeconds): (WTF::deleteAllValues): (WTF::deleteAllPairFirsts): (WTF::deleteAllKeys): * wtf/HashTable.h: (WTF::hashTableSwap): (WTF::::checkTableConsistencyExceptSize): * wtf/HashTraits.h: (WTF::KeyValuePair::KeyValuePair): (KeyValuePair): (WTF::KeyValuePairHashTraits::constructDeletedValue): (WTF::KeyValuePairHashTraits::isDeletedValue): * wtf/MetaAllocator.cpp: (WTF::MetaAllocator::addFreeSpace): (WTF::MetaAllocator::incrementPageOccupancy): (WTF::MetaAllocator::decrementPageOccupancy): * wtf/RefCountedLeakCounter.cpp: (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): * wtf/RefPtrHashMap.h: (WTF::::set): (WTF::::get): (WTF::::inlineGet): (WTF::::take): * wtf/Spectrum.h: (WTF::Spectrum::add): (WTF::Spectrum::get): (WTF::Spectrum::buildList): * wtf/ThreadingPthreads.cpp: (WTF::identifierByPthreadHandle): 2012-08-27 Caio Marcelo de Oliveira Filho Rename first/second to key/value in HashMap iterators https://bugs.webkit.org/show_bug.cgi?id=82784 Reviewed by Eric Seidel. * wtf/HashCountedSet.h: (WTF::::add): (WTF::::remove): (WTF::copyToVector): * wtf/HashIterators.h: (WTF::HashTableConstKeysIterator::get): (WTF::HashTableConstValuesIterator::get): (WTF::HashTableValuesIterator::get): * wtf/HashMap.h: (WTF::KeyValuePairKeyExtractor::extract): (WTF::HashMapValueTraits::isEmptyValue): (WTF::HashMapTranslator::translate): (WTF::HashMapTranslatorAdapter::translate): (WTF::::set): (WTF::::get): (WTF::::take): (WTF::operator==): (WTF::deleteAllValues): (WTF::deleteAllKeys): Remove deleteAllPairFirsts/Seconds. * wtf/HashTable.h: (WTF::hashTableSwap): (WTF::::checkTableConsistencyExceptSize): * wtf/HashTraits.h: (WTF::KeyValuePair::KeyValuePair): (KeyValuePair): (WTF::KeyValuePairHashTraits::constructDeletedValue): (WTF::KeyValuePairHashTraits::isDeletedValue): * wtf/MetaAllocator.cpp: (WTF::MetaAllocator::addFreeSpace): (WTF::MetaAllocator::incrementPageOccupancy): (WTF::MetaAllocator::decrementPageOccupancy): * wtf/RefCountedLeakCounter.cpp: (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): * wtf/RefPtrHashMap.h: (WTF::::set): (WTF::::get): (WTF::::inlineGet): (WTF::::take): * wtf/Spectrum.h: (WTF::Spectrum::add): (WTF::Spectrum::get): (WTF::Spectrum::buildList): * wtf/ThreadingPthreads.cpp: (WTF::identifierByPthreadHandle): 2012-08-27 Benjamin Poulain Add ECMAScript Number to String conversion to WTF::String https://bugs.webkit.org/show_bug.cgi?id=95016 Reviewed by Geoffrey Garen. * wtf/text/WTFString.cpp: (WTF::String::numberToStringECMAScript): * wtf/text/WTFString.h: Add the implementation of numberToStringECMAScript(double) from UString to String. This will make it easier to replace UString in the future. 2012-08-27 Benjamin Poulain Even up WTF::String to CString functions https://bugs.webkit.org/show_bug.cgi?id=95008 Reviewed by Sam Weinig. Apply advantages from UString to WTF::String. * wtf/text/WTFString.cpp: (WTF::String::ascii): There is no need to special case the null length, both following branches use CString::newUninitialized(), which create empty string for null length. (WTF::String::latin1): Use characters16() instead of characters() to avoid testing is8Bit() a second time. 2012-08-24 Benjamin Poulain Touch Platform.h to solve a build dependency issue Unreviewed. * wtf/Platform.h: 2012-08-24 Benjamin Poulain Unify Number to StringImpl conversion https://bugs.webkit.org/show_bug.cgi?id=94879 Reviewed by Geoffrey Garen. Previously, UString::number() and String::number() used different implementations. WTF::String::number() was simply forwarding to String::format(). UString::number() had an optimized version of the conversion. This patch replace both implementation by a new version, faster than the two previous versions. The new functions numberToStringImpl improvements are: -about 3 times faster than String::number(). -14% faster than UString::number() on signed numbers. -9% faster than UString::number() on unsigned numbers. * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/text/IntegerToStringConversion.cpp: Added. (WTF::numberToStringImplSigned): (WTF::numberToStringImpl): (WTF::numberToStringImplUnsigned): * wtf/text/IntegerToStringConversion.h: Added. * wtf/text/WTFString.cpp: (WTF::String::format): * wtf/text/WTFString.h: (WTF::String::number): 2012-08-24 Andras Becsi [Qt] Be more explicit about the ICU dependency in the error message Rubber-stamped by Simon Hausmann. When building QtWebKit with a Qt5 which was not configured with libICU support the error message is somewhat ambiguous about the indirect dependency. * WTF.pri: 2012-08-23 Julien Chaffraix [Chromium] Enable AtomicString && CString && WTFString && StringImpl unit tests https://bugs.webkit.org/show_bug.cgi?id=94871 Reviewed by Benjamin Poulain. * wtf/PassRefPtr.h: We need to include Assertions.h due to the COMPILE_ASSERT added in r89283. This matches other files in WTF though I am not sure why Chromium is the only platform complaining about that. 2012-08-23 Mark Rowe Build fix for old, old versions of Clang. * wtf/FastMalloc.cpp: (WTF): Rejigger things so that they parse correctly if __has_warning isn't defined. 2012-08-23 Emil A Eklund Add saturation arithmetic support to FractionalLayoutUnit https://bugs.webkit.org/show_bug.cgi?id=94364 Reviewed by Benjamin Poulain. Add support functions for saturated addition and subtraction. Test: TestWebKitAPI/Tests/WTF/SaturatedArithmeticOperations.cpp * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: * WTF/wtf/CMakeLists.txt: Add SaturatedArithmetic.h to build files. * wtf/SaturatedArithmetic.h: Added. (saturatedAddition): (saturatedSubtraction): Support functions for saturated addition/subtraction. Compares the signed bit of the values instead of using range checks to reduce branching. * wtf/Platform.h: Add ENABLE_SATURATED_LAYOUT_ARITHMETIC flag. 2012-08-23 Mark Rowe Roll back in the part of r126475 that I had rolled out. * wtf/FastMalloc.cpp: (WTF): Disable the -Wunused-private-field warning around the declaration of TCMalloc_Central_FreeListPadded since the padding is intentionally unused. Only disable the warning if we detect it is enabled, since the warning may not be supported by the version of Clang that is being used. 2012-08-23 Mark Rowe Roll out part of r126475 that breaks the build with older versions of Clang. * wtf/FastMalloc.cpp: 2012-08-23 Mark Rowe Make WTF build with the latest version of clang. Reviewed by Dan Bernstein. * wtf/FastMalloc.cpp: (WTF): Disable the -Wunused-private-field warning around the declaration of TCMalloc_Central_FreeListPadded since the padding is intentionally unused. (WTF::AdminRegionRecorder): Remove the unused m_reader member. (WTF::FastMallocZone::enumerate): Don't pass in the RemoteMemoryReader since it is no longer needed. 2012-08-22 Geoffrey Garen Fixed a fastMallocForbid/Allow compile error for some compilers https://bugs.webkit.org/show_bug.cgi?id=94775 Reviewed by Gavin Barraclough. * wtf/FastMalloc.h: (WTF::fastMallocForbid()): (WTF::fastMallocAllow()): Export, since these are called by JavaScriptCore. 2012-08-22 Geoffrey Garen ThreadRestrictionVerifier should be opt-in, not opt-out https://bugs.webkit.org/show_bug.cgi?id=94761 Reviewed by Mark Hahnenberg. WebKit's JavaScript engine supports use on multiple threads, so default-on is not appropriate for most of our objects, and it causes lots of suprious assertions. * wtf/MetaAllocator.cpp: (WTF::MetaAllocatorHandle::MetaAllocatorHandle): No need to turn off explicitly, since it's off by default now. * wtf/ThreadRestrictionVerifier.h: (WTF::ThreadRestrictionVerifier::ThreadRestrictionVerifier): Turn off by default. (WTF::ThreadRestrictionVerifier::setMutexMode): (WTF::ThreadRestrictionVerifier::setDispatchQueueMode): (WTF::ThreadRestrictionVerifier::turnOffVerification): These assertions about state transitions were inconsistent with each other, and impossible to maintain with default off, so I removed them. 2012-08-22 Allan Sandfeld Jensen [Qt] Optionally support smooth-scrolling on all platforms https://bugs.webkit.org/show_bug.cgi?id=74926 Reviewed by Simon Hausmann. Initialize GESTURE_ANIMATION feature flag. * wtf/Platform.h: 2012-08-21 Mark Hahnenberg WTF Threading leaks kernel objects on platforms that use pthreads https://bugs.webkit.org/show_bug.cgi?id=94636 Reviewed by Geoffrey Garen. Creating lots of Web workers on Mac platforms leaks lots of Mach ports. Eventually, the process can exhaust its allocation of Mach ports from the kernel, which can then cause all sorts of badness, including the inability to allocate new virtual memory from the kernel. ThreadingPthreads.cpp and ThreadIdentifierDataPthreads.cpp need to be refactored so that we do not leak these kernel resources. I would assume that we also leak kernel resources on other pthreads platforms as well. * wtf/ThreadIdentifierDataPthreads.cpp: (WTF): (WTF::ThreadIdentifierData::~ThreadIdentifierData): Now calls the event threadDidExit, which handles all relevant tear-down of the thread metadata in the thread map. * wtf/ThreadingPthreads.cpp: Added a new class called PthreadState that encapsulates the state of a thread and the possible transitions between those states. (PthreadState): (WTF::PthreadState::PthreadState): (WTF::PthreadState::joinableState): Returns the current state of the pthread. (WTF::PthreadState::pthreadHandle): Returns the pthread_t for this particular thread. This needs to remain valid even after the thread has exited because somebody could come along at any time in the future and call join on the thread. (WTF::PthreadState::didBecomeDetached): Signals that the thread was detached. (WTF::PthreadState::didExit): Signals that the thread's exit destructor (~ThreadIdentifierData) has run. (WTF::PthreadState::didJoin): Signals that the thread has been joined on successfully. (WTF::PthreadState::hasExited): Returns whether or not the thread's exit destructor has run. (WTF): (WTF::identifierByPthreadHandle): Changed to also check hasExited() on the threads it finds in the map. We should only have one valid pthread_t in the map, but there are other pthread_t's that need to remain in the thread map for when somebody joins on that thread id later. (WTF::establishIdentifierForPthreadHandle): Changed to put the allocate the new PthreadState data structure and put it in the map. (WTF::pthreadHandleForIdentifierWithLockAlreadyHeld): (WTF::wtfThreadEntryPoint): (WTF::waitForThreadCompletion): We now do the relevant cleanup after the specified thread has been successfully joined on depending on if the joined thread has already exited. (WTF::detachThread): Performs relevant cleanup if the thread has already exited. Otherwise signals to the PthreadState that the thread has been detached. (WTF::threadDidExit): Function called by ~ThreadIdentifierData to indicate that the thread has exited. Only cleans up after itself if the thread isn't Joinable (i.e. Joined or Detached). 2012-08-21 Ulan Degenbaev Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer constructed and destructed https://bugs.webkit.org/show_bug.cgi?id=92993 Reviewed by Kenneth Russell. Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer is constructed and destructed so that V8's garbage collection heuristics can account for the memory held by these objects. * wtf/ArrayBuffer.h: (WTF): (ArrayBufferDeallocationObserver): (WTF::ArrayBufferContents::ArrayBufferContents): (WTF::ArrayBufferContents::transfer): (ArrayBufferContents): (ArrayBuffer): (WTF::ArrayBuffer::setDeallocationObserver): (WTF::ArrayBufferContents::~ArrayBufferContents): 2012-08-21 Benjamin Poulain Store CString data in the CStringBuffer to avoid the double indirection https://bugs.webkit.org/show_bug.cgi?id=94562 Reviewed by Darin Adler. Previously, any non-trivial CString would require two allocations: 1) CStringBuffer (ref-counted container for CString's data). 2) VectorBuffer's m_buffer (the actual char data). This patches changes CStringBuffer to hold the data previously owned by WTF::Vector and WTF::VectorBuffer. This makes CString more efficient both in CPU time and memory use. * wtf/text/CString.cpp: (WTF::CStringBuffer::createUninitialized): This new method allocate the memory for CStringBuffer and its data. We simply allocate more memory after CStringBuffer to hold the data. The extra memory needed to store the terminating zero is now handled by design. (WTF::CString::CString): Move the test for "str" one level up the stack from CString::init(). This avoid double checking the pointer when using the other constructor. (WTF::CString::init): (WTF::CString::newUninitialized): (WTF::CString::copyBufferIfNeeded): * wtf/text/CString.h: (WTF::CStringBuffer::data): (WTF::CStringBuffer::length): (CStringBuffer): (WTF::CStringBuffer::CStringBuffer): (WTF::CStringBuffer::mutableData): (WTF::CString::length): 2012-08-21 Patrick Gansterer Build fix for COMPILER(MSVC) && !CPU(X86) after r126023. * wtf/MathExtras.h: (lrint): 2012-08-20 Dominik Röttsches The 2d.imageData.object.round canvas test is failing https://bugs.webkit.org/show_bug.cgi?id=40272 Reviewed by Kenneth Rohde Christiansen. According to the Uint8ClampedArray spec (http://www.khronos.org/registry/typedarray/specs/latest/#7.1) which references WebIDL's clamping rules, with implications defined in http://www.w3.org/TR/WebIDL/#es-octet we need to round to nearest integer, and to the even one if exactly halfway in between. As a solution: applying C99's lrint which, in default rounding mode, does that. The updated version of test 2d.imageData.object.round.html test passes now. * wtf/MathExtras.h: (lrint): Assembly based implementation for MSVC under X86, otherwise falling back to casting. * wtf/Uint8ClampedArray.h: (WTF::Uint8ClampedArray::set): lrint instead of simple rounding. 2012-08-17 Michael Saboff Add ability to create AtomicString using LChar* buffer and length https://bugs.webkit.org/show_bug.cgi?id=94381 Reviewed by Geoffrey Garen. Allows the use of 8 bit string data directly without converting to 16 bits first. * wtf/text/AtomicString.cpp: (WTF::LCharBufferTranslator::hash): (LCharBufferTranslator): (WTF::LCharBufferTranslator::equal): (WTF::LCharBufferTranslator::translate): (WTF::AtomicString::add): * wtf/text/AtomicString.h: (WTF::AtomicString::AtomicString): (AtomicString): * wtf/text/StringImpl.h: (StringImpl): 2012-08-17 Benjamin Poulain Make it easier to append a literal to StringBuilder https://bugs.webkit.org/show_bug.cgi?id=94273 Reviewed by Kentaro Hara. * wtf/text/StringBuilder.h: (WTF::StringBuilder::appendLiteral): Add the method StringBuilder::appendLiteral() for efficiently adding a string literal to the StringBuilder. 2012-08-17 Yong Li [BlackBerry] Turn on a few macros for jpeg decoding and image interpolation https://bugs.webkit.org/show_bug.cgi?id=94244 Reviewed by Antonio Gomes. Turn on these macros to get better performance. * wtf/Platform.h: 2012-08-17 Milian Wolff [Qt] QNX build fails due to ctype usage in system headers https://bugs.webkit.org/show_bug.cgi?id=93849 Reviewed by Simon Hausmann. Move the check for whether DisallowCType should be active or not to the DisallowCType.h header. This way, we can update the list of platforms or OSes which do not work with this header in a central place. All users can now safely include the header and do not need to place custom guards around it. * config.h: * wtf/DisallowCType.h: 2012-08-17 Milian Wolff [Qt] QNX build fails due to missing timegm declaration https://bugs.webkit.org/show_bug.cgi?id=93842 Reviewed by Simon Hausmann. On QNX, timegm is declared in nbutils.h and one must link against nbutils to use it. * WTF.pri: * wtf/DateMath.cpp: 2012-08-16 Kent Tamura Build fix for Chromium-mac. * wtf/text/WTFString.cpp: Remove unnecessary includes. 2012-08-16 Michael Saboff HTML Parser should produce 8bit substrings for inline style and script elements https://bugs.webkit.org/show_bug.cgi?id=93742 Reviewed by Benjamin Poulain. Added 8 bit path to String::isAllSpecialCharacters(). Added new String creator that takes a pointer to a UChar array that is known to contain only 8 bit characters (LChar's). Added new helper method to copy contents of a UChar buffer to a LChar buffer. The helper method includes X86-64 intrinsics of SSE family instructions for performance. * wtf/Alignment.h: (WTF::isAlignedTo): * wtf/text/ASCIIFastPath.h: (WTF::copyLCharsFromUCharSource): * wtf/text/WTFString.cpp: (WTF::String::make8BitFrom16BitSource): * wtf/text/WTFString.h: (String): (WTF::isAllSpecialCharacters): (WTF::String::isAllSpecialCharacters): 2012-08-16 Benjamin Poulain Use initialization from literals for StringStatics https://bugs.webkit.org/show_bug.cgi?id=94185 Reviewed by Geoffrey Garen. * wtf/text/StringStatics.cpp: Remove the arguments for DEFINE_GLOBAL. They are no longer used by the macro. (WTF::AtomicString::init): Use ConstructFromLiteral to initialize the strings faster and to save memory. 2012-08-14 Milian Wolff [Qt] QNX build fails due to reference to MADV_FREE_REUSE and MADV_FREE_REUSABLE https://bugs.webkit.org/show_bug.cgi?id=93843 Reviewed by Simon Hausmann. QNX does not implement MADV_FREE_REUSE nor MADV_FREE_REUSABLE. The Blackberry port already sets the define to use the system malloc, which is now also done for QNX in general. * wtf/Platform.h: 2012-08-13 Raphael Kubo da Costa [CMake] Remove glib-related Find modules and write single new one instead. https://bugs.webkit.org/show_bug.cgi?id=93786 Reviewed by Rob Buis. * wtf/PlatformEfl.cmake: Use GLIB_* instead of Glib_*, and link directly to GIO, as wtf/gobject uses functions from it. 2012-08-11 Sam Weinig Enable XPC Service based WebProcess with runtime flag https://bugs.webkit.org/show_bug.cgi?id=93773 Reviewed by Dan Bernstein. * wtf/Platform.h: Define HAVE_XPC on 10.7 and later. 2012-08-11 Benjamin Poulain Do the DecimalNumber to String conversion on 8 bits https://bugs.webkit.org/show_bug.cgi?id=93683 Reviewed by Andreas Kling. Modify DecimalNumber to do the conversion to string on LChar instead of UChar. * wtf/DecimalNumber.cpp: (WTF::DecimalNumber::toStringDecimal): (WTF::DecimalNumber::toStringExponential): * wtf/DecimalNumber.h: (DecimalNumber): * wtf/dtoa.h: * wtf/text/StringBuffer.h: (WTF::StringBuffer::operator[]): StringBuffer::operator[] was incorrectly typed to UChar, making the method impossible to instanciate with LChar. * wtf/text/WTFString.h: (String): (WTF::String::adopt): String::adopt() is modified to work with both LChar and UChar. StringImpl already support that. (WTF::appendNumber): Add support for any type that can instanciate the template. 2012-08-11 Benjamin Poulain WebCore::findAtomicString(PropertyName) always convert the name to 16bits https://bugs.webkit.org/show_bug.cgi?id=93685 Reviewed by Geoffrey Garen. Previously, WebCore::findAtomicString() was causing a conversion for the 8bit property name to a 16bits due to the call to StringImpl::character16(). This patch fixes the issue by adding support for both 8bits and 16bits string in AtomicString::find(). * wtf/text/AtomicString.cpp: (HashAndCharacters): (WTF::HashAndCharactersTranslator::hash): (WTF::HashAndCharactersTranslator::equal): (WTF::HashAndCharactersTranslator::translate): Use a template to make the struct and the translator independant of the CharacterType. (WTF::AtomicString::add): (WTF::findString): (WTF::AtomicString::find): Change the API to take a StringImpl*. AtomicString can use it efficiently to find the right string. * wtf/text/AtomicString.h: (AtomicString): * wtf/text/StringImpl.h: (StringImpl): Adapt the friends translator to support the template. 2012-08-10 Benjamin Poulain Add support for String initialization from literal to WTFString https://bugs.webkit.org/show_bug.cgi?id=93426 Reviewed by Anders Carlsson. This patch adds two constructor to WTF::String in order to support fast initialization from literal: -String(ASCIILiteral): Constructor similar to String(const char*) while being faster. This constructor does not incur any overhead over String(const char*). -String(char[], ConstructFromLiteralTag): Template constructor that encode explicitely the size of the string. String(ASCIILiteral) is expected to be used in most cases to avoid regressions. This constructor was added because of what we have learned from r124922: inlining the string length in the code causes a code bloat that is not always welcome. Regarding performance of string initialization, the constructors performance are (6 characters string): -String(ASCIILiteral): 16% faster. -String(char[], ConstructFromLiteralTag): 33% faster (the delta increases with the string length). In addition, no memory is allocated for the characters. * wtf/text/StringImpl.cpp: * wtf/text/StringImpl.h: (WTF::StringImpl::createFromLiteral): Extend StringImpl::createFromLiteral to have a version with strlen() which avoids loading one extra argument. * wtf/text/WTFString.cpp: (WTF::String::String): * wtf/text/WTFString.h: (WTF::String::String): (ASCIILiteral): This class is aimed at making the construction of WTFString from a literal very easy. By using the explicit constructor ASCIILiteral(char *), one can expect the implicit conversion to String when needed. (WTF::ASCIILiteral::ASCIILiteral): (WTF::ASCIILiteral::operator const char*): 2012-08-08 Benjamin Poulain Use char* instead of LChar* for the public interface of String construction from literals https://bugs.webkit.org/show_bug.cgi?id=93402 Reviewed by Michael Saboff. When the initialization from literal was added, some constructor/initialization function were using LChar for convenience. Since those function should only take ASCII characters, using LChar* could cause confusion. This patch intents to clarify this by using char* for all those APIs. * wtf/text/AtomicString.cpp: (WTF::CharBufferFromLiteralDataTranslator::hash): (WTF::CharBufferFromLiteralDataTranslator::equal): (WTF::CharBufferFromLiteralDataTranslator::translate): (WTF::AtomicString::addFromLiteralData): * wtf/text/AtomicString.h: (WTF::AtomicString::AtomicString): (AtomicString): * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): * wtf/text/StringImpl.h: (StringImpl): (WTF::StringImpl::StringImpl): (WTF::StringImpl::createFromLiteral): 2012-08-08 Patrick Gansterer Remove ce_time.(cpp|h) from list of source files https://bugs.webkit.org/show_bug.cgi?id=93446 Reviewed by Simon Hausmann. r125004 removed the last dependency on functions defined in ce_time.cpp. * wtf/PlatformWinCE.cmake: 2012-08-08 Alvaro Lopez Ortega Atomics.h has incorrect GCC test for ext/atomicity.h when using LSB compilers https://bugs.webkit.org/show_bug.cgi?id=51974 Reviewed by Simon Hausmann. * wtf/Atomics.h: Inhibits the inclusion of the atomicity.h GNU C++ extension when compiling with a LSB compliant compiler. Thanks to Craig Scott for the new precompiler check code. 2012-08-07 Yoshifumi Inoue [WTF] Add using WTF::msPerHour into DateMath.h https://bugs.webkit.org/show_bug.cgi?id=93428 Reviewed by Kent Tamura. This patch adds "using WTF::msPerHour" into DateMath.h for some codes which will use it, e.g. bug 92960. Note: DateMath.h already has had using statements for msPerDay, msPerMinute and msPerSecond. * wtf/DateMath.h: Added "using WTF::msPerHour". 2012-08-07 Benjamin Poulain Use the initialization from literal for JSC's Identifiers https://bugs.webkit.org/show_bug.cgi?id=93193 Reviewed by Geoffrey Garen. * wtf/text/StringImpl.h: Update the names for the HashTranslator used by Identifier. 2012-07-19 Simon Hausmann [Qt] Remove Qt 4 specific code paths https://bugs.webkit.org/show_bug.cgi?id=88161 Reviewed by Kenneth Rohde Christiansen. * WTF.pri: * WTF.pro: * wtf/qt/StringQt.cpp: (WTF::String::String): (WTF::String::operator QString): * wtf/qt/UtilsQt.h: Removed. * wtf/qt/compat/QGuiApplication: Removed. * wtf/qt/compat/qguiapplication.h: Removed. * wtf/text/StringImpl.cpp: (WTF::StringImpl::~StringImpl): (WTF): * wtf/text/StringImpl.h: (StringImpl): 2012-08-06 Patrick Gansterer [WIN] Remove dependency on pthread from MachineStackMarker https://bugs.webkit.org/show_bug.cgi?id=68429 Reviewed by Geoffrey Garen. Windows has no support for calling a destructor for thread specific data. Since we need more control over creating and deleting thread specific keys we can not simply extend WTF::ThreadSpecific with this functionality. All thread specific keys created via the new API get stored in a list. After a thread function finished we iterate over this list and call the registered destructor for every item if needed. * wtf/ThreadSpecific.h: (WTF): (WTF::threadSpecificKeyCreate): Added wrapper around pthread_key_create. (WTF::threadSpecificKeyDelete): Added wrapper around pthread_key_delete. (WTF::threadSpecificSet): Added wrapper around pthread_setspecific. (WTF::threadSpecificGet): Added wrapper around pthread_getspecific. * wtf/ThreadSpecificWin.cpp: 2012-08-04 No'am Rosenthal [Qt] UI_SIDE_COMPOSITING code has confusing names https://bugs.webkit.org/show_bug.cgi?id=93164 Reviewed by Kenneth Rohde Christiansen. Renamed UI_SIDE_COMPOSITING to COORDINATED_GRAPHICS. * wtf/Platform.h: 2012-08-03 Michael Saboff Convert HTML parser to handle 8-bit resources without converting to UChar* https://bugs.webkit.org/show_bug.cgi?id=90321 Reviewed by Adam Barth. * wtf/text/WTFString.h: (WTF::String::dataSize): New method to return the number of bytes the string requires. This replaces a harcoded calculation based on length and sizeof(UChar). 2012-08-03 Benjamin Poulain StringImpl created from literal should be BufferInternal https://bugs.webkit.org/show_bug.cgi?id=92940 Reviewed by Anders Carlsson. The ownership of string created from literal should be BufferInternal so that StringImpl never tries to delete the characters. The ownership was accidentaly set to BufferOwned in r123689. * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): Update to use the new constructor. * wtf/text/StringImpl.h: (WTF::StringImpl::StringImpl): Add a new constructor making the construction from literal explicit. Add the flag s_hashFlagHasTerminatingNullCharacter since the data has the terminating null character. 2012-08-02 Patrick Gansterer Move getLocalTime() as static inline function to DateMath https://bugs.webkit.org/show_bug.cgi?id=92955 Reviewed by Ryosuke Niwa. getCurrentLocalTime() and getLocalTime() has been superseded with the GregorianDateTime class. So we can move it into DateMath.cpp as an static inline function. This allows us to remove the dependecy on time() and localtime() for Windows CE, where this functions require the ce_time library to work. * wtf/CurrentTime.cpp: (WTF): * wtf/CurrentTime.h: * wtf/DateMath.cpp: (WTF): (WTF::getLocalTime): 2012-08-02 Patrick Gansterer [WINCE] Return 0 at calculateDSTOffset(double, double) https://bugs.webkit.org/show_bug.cgi?id=92953 Reviewed by Ryosuke Niwa. localtime() is implemented as a call to gmtime() in ce_time.c. Since this will never return correct values, returning 0 instead does not remove any existing functionality, but decreases the dependency on the (external) ce_time implementation. * wtf/DateMath.cpp: (WTF::calculateDSTOffsetSimple): 2012-08-02 Arnaud Renevier TypedArray set method is slow when called with another typed array https://bugs.webkit.org/show_bug.cgi?id=92556 Reviewed by Kenneth Russell. Add an checkInboundData function to TypedArrayBase to check if a position will be not be out of bound or overflow from the typed array. * wtf/TypedArrayBase.h: (WTF::TypedArrayBase::checkInboundData): (TypedArrayBase): 2012-08-01 Patrick Gansterer Replace WTF::getCurrentLocalTime() with GregorianDateTime::setToCurrentLocalTime() https://bugs.webkit.org/show_bug.cgi?id=92286 Reviewed by Geoffrey Garen. Add a method to GregorianDateTime to set its values to the current locale time. Replacing all occurrences of getCurrentLocalTime with the new function allows us to remove getCurrentLocalTime in a next step. * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DateMath.cpp: (WTF::dayInYear): * wtf/DateMath.h: (WTF): * wtf/GregorianDateTime.cpp: Added. (WTF): (WTF::GregorianDateTime::setToCurrentLocalTime): * wtf/GregorianDateTime.h: (GregorianDateTime): 2012-08-01 Patrick Gansterer Fix FastMalloc build with assertions enabled. * wtf/FastMalloc.cpp: (WTF::TCMalloc_PageHeap::isScavengerSuspended): (WTF::TCMalloc_PageHeap::scheduleScavenger): (WTF::TCMalloc_PageHeap::suspendScavenger): 2012-08-01 Patrick Gansterer Export StringImpl::sizeInBytes() with WTF_EXPORT_STRING_API https://bugs.webkit.org/show_bug.cgi?id=92851 Reviewed by Hajime Morita. r124069 missed to change one export macro, which is needed to make the windows port with USE(EXPORT_MACROS). * wtf/text/StringImpl.h: (StringImpl): 2012-08-01 Patrick Gansterer [WIN] Add missing WTF export macros to functions https://bugs.webkit.org/show_bug.cgi?id=92842 Reviewed by Hajime Morita. When we switch the windows port to USE(EXPORT_MACROS) we need to export all functions referenced by WebKit.dll. * wtf/ThreadingPrimitives.h: (WTF): * wtf/dtoa.h: (WTF): * wtf/dtoa/double-conversion.h: (StringToDoubleConverter): * wtf/unicode/UTF8.h: 2012-07-31 Sam Weinig Stop masking 8 bits off of the visited link hash. We need all the bits! https://bugs.webkit.org/show_bug.cgi?id=92799 Reviewed by Anders Carlsson. * wtf/StringHasher.h: (WTF::StringHasher::hashWithTop8BitsMasked): (WTF::StringHasher::hash): (StringHasher): (WTF::StringHasher::computeHashAndMaskTop8Bits): (WTF::StringHasher::hashMemory): (WTF::StringHasher::avalancheBits): Rename existing computeHash and hash functions to computeHashAndMaskTop8Bits and hashWithTop8BitsMasked respectively. Add new computeHash and hash functions that do the StringHash without the masking. * wtf/text/AtomicString.cpp: (WTF::CStringTranslator::hash): (WTF::UCharBufferTranslator::hash): (WTF::HashAndCharactersTranslator::hash): (WTF::SubstringTranslator::hash): (WTF::LCharBufferFromLiteralDataTranslator::hash): (WTF::AtomicString::fromUTF8Internal): * wtf/text/StringHash.h: (WTF::CaseFoldingHash::hash): * wtf/text/StringImpl.h: (WTF::StringImpl::setHash): * wtf/text/StringStatics.cpp: (WTF::StringImpl::hashSlowCase): * wtf/unicode/UTF8.cpp: (WTF::Unicode::calculateStringHashAndLengthFromUTF8MaskingTop8Bits): * wtf/unicode/UTF8.h: Update for new function names. 2012-07-31 Thiago Marcos P. Santos Add a mechanism to dump the stack trace in case of a crash https://bugs.webkit.org/show_bug.cgi?id=92666 Reviewed by Csaba Osztrogonác. Unix based ports can make use of signal handlers to dump the stack trace in case of a crash. This is specially handy when a test crashes on the bot without hitting an assertion, we might have a chance to see some insightful information at the reports. * wtf/Assertions.cpp: * wtf/Assertions.h: 2012-07-31 Stephen Chenney xmlserializer strips xlink from xlink:html svg image tag https://bugs.webkit.org/show_bug.cgi?id=79586 Reviewed by Nikolas Zimmermann. Add WTF::xlinkAtom as a global AtomicString constant. * wtf/text/AtomicString.h: (WTF): Add xlinkAtom. * wtf/text/StringStatics.cpp: (WTF): Add xlinkAtom. (WTF::AtomicString::init): Add xlinkAtom. 2012-07-30 Patrick Gansterer Add WTF_EXPORT_PRIVATE to deleteOwnedPtr() https://bugs.webkit.org/show_bug.cgi?id=92668 Reviewed by Hajime Morita. When using export macros all non-inlined deleteOwnedPtr() functions need to be declared with WTF_EXPORT_PRIVATE. * wtf/OwnPtrCommon.h: (WTF): 2012-07-30 Wei James atomicDecrement() never reach 0 on Android so no deref() will be called https://bugs.webkit.org/show_bug.cgi?id=92635 Reviewed by Adam Barth. With Android NDK 7b and later, __atomic_dec() is implemented by __sync_fetch_and_sub(), which will result in that atomicDecrement() returns the old value instead of new one. * wtf/Atomics.h: (WTF): (WTF::atomicIncrement): (WTF::atomicDecrement): 2012-07-30 Patrick Gansterer Add function to calculate the day in year from a date https://bugs.webkit.org/show_bug.cgi?id=92671 Reviewed by Ryosuke Niwa. Replace monthToDayInYear() with dayInYear() which takes a whole date for calculation and will be used for bug 92286 later. * wtf/DateMath.cpp: (WTF::dayInYear): (WTF::dateToDaysFrom1970): 2012-07-30 Patrick Gansterer Add special export macro for string related functions https://bugs.webkit.org/show_bug.cgi?id=92624 Reviewed by Hajime Morita. The windows port compiles string related code into every binary for performance reasons (see r59187). Add the WTF_EXPORT_STRING_API define to allow this behaviour with export macros too. * wtf/ExportMacros.h: * wtf/text/AtomicString.h: (AtomicString): * wtf/text/StringImpl.h: (StringImpl): (WTF): * wtf/text/WTFString.h: (WTF): (String): 2012-07-30 Patrick Gansterer Replace UnicodeWinCE with UnicodeWchar https://bugs.webkit.org/show_bug.cgi?id=92539 Reviewed by Ryosuke Niwa. UnicodeWinCE never contained WinCE specific code. UnicodeWchar is a replacement for it, which is mainly based on the functions from . It is ment as a minimal Unicode backend, which can be used very easy and has no external dependencies. * WTF.gyp/WTF.gyp: * WTF.gypi: * wtf/Platform.h: * wtf/PlatformWinCE.cmake: * wtf/unicode/Unicode.h: * wtf/unicode/wchar/UnicodeWchar.cpp: Added. (Unicode): (WTF::Unicode::category): (WTF::Unicode::combiningClass): (WTF::Unicode::direction): (WTF::Unicode::decompositionType): (WTF::Unicode::hasLineBreakingPropertyComplexContext): (WTF::Unicode::mirroredChar): (WTF::Unicode::convertWithFunction): (WTF::Unicode::foldCase): (WTF::Unicode::toLower): (WTF::Unicode::toUpper): * wtf/unicode/wchar/UnicodeWchar.h: Added. (Unicode): (WTF::Unicode::isAlphanumeric): (WTF::Unicode::isDigit): (WTF::Unicode::isLetter): (WTF::Unicode::isLower): (WTF::Unicode::isPrintableChar): (WTF::Unicode::isPunct): (WTF::Unicode::isSpace): (WTF::Unicode::isUpper): (WTF::Unicode::isArabicChar): (WTF::Unicode::isSeparatorSpace): (WTF::Unicode::foldCase): (WTF::Unicode::toLower): (WTF::Unicode::toUpper): (WTF::Unicode::toTitleCase): (WTF::Unicode::umemcasecmp): * wtf/unicode/wince/UnicodeWinCE.cpp: Removed. * wtf/unicode/wince/UnicodeWinCE.h: Removed. 2012-07-26 Yury Semikhatsky Web Inspector: move StringImpl size calculation to StringImpl https://bugs.webkit.org/show_bug.cgi?id=92359 Reviewed by Pavel Feldman. Moved stringSize(StringImpl*) implementation from InspectorMemoryAgent to StringImpl::sizeInBytes(); * wtf/text/StringImpl.cpp: (WTF::StringImpl::sizeInBytes): (WTF): * wtf/text/StringImpl.h: (StringImpl): 2012-07-28 Patrick Gansterer [WIN] Add missing export macro to friend decleration. Since the __declspec is part of the function signature on windows, we need it at all friend declerations too. * wtf/MediaTime.h: 2012-07-28 Patrick Gansterer [CMake] Add missing MediaTime files after r123878. * wtf/CMakeLists.txt: 2012-07-28 Patrick Gansterer Remove obsolete functions from WTF::Unicode https://bugs.webkit.org/show_bug.cgi?id=92571 Reviewed by Kentaro Hara. Remove hasLineBreakingPropertyComplexContextOrIdeographic() and digitValue(), since they are never used and defined for a few Unicode backends only. * wtf/unicode/glib/UnicodeGLib.h: * wtf/unicode/icu/UnicodeIcu.h: 2012-07-27 Sheriff Bot Unreviewed, rolling out r123679. http://trac.webkit.org/changeset/123679 https://bugs.webkit.org/show_bug.cgi?id=92565 Slowed down HTML parsing by 3.6% (Requested by abarth on #webkit). * wtf/text/WTFString.h: 2012-07-27 Arnaud Renevier use createUninitialized when creating TypedArray from another array https://bugs.webkit.org/show_bug.cgi?id=92518 Reviewed by Kenneth Russell. Expose a createUninitialized static method on TypedArray classes. * wtf/Float32Array.h: (Float32Array): (WTF::Float32Array::createUninitialized): (WTF): * wtf/Float64Array.h: (Float64Array): (WTF::Float64Array::createUninitialized): (WTF): * wtf/Int16Array.h: (Int16Array): (WTF::Int16Array::createUninitialized): (WTF): * wtf/Int32Array.h: (Int32Array): (WTF::Int32Array::createUninitialized): (WTF): * wtf/Int8Array.h: (Int8Array): (WTF::Int8Array::createUninitialized): (WTF): * wtf/Uint16Array.h: (Uint16Array): (WTF::Uint16Array::createUninitialized): (WTF): * wtf/Uint32Array.h: (Uint32Array): (WTF::Uint32Array::createUninitialized): (WTF): * wtf/Uint8Array.h: (Uint8Array): (WTF::Uint8Array::createUninitialized): (WTF): * wtf/Uint8ClampedArray.h: (Uint8ClampedArray): 2012-07-27 Patrick Gansterer [WINCE] Use macros from ICU instead of defining the same functionality again https://bugs.webkit.org/show_bug.cgi?id=92530 Reviewed by Ryosuke Niwa. Replace isHighSurrogate() with U16_IS_LEAD(), isLowSurrogate() with U16_IS_TRAIL() and surrogateToUcs4() with U16_GET_SUPPLEMENTARY(). * wtf/unicode/wince/UnicodeWinCE.h: 2012-07-27 Caio Marcelo de Oliveira Filho [Qt] Fix build after r123917 https://bugs.webkit.org/show_bug.cgi?id=92555 Unreviewed. * wtf/GregorianDateTime.h: Needs string.h for memset(). 2012-07-27 Paweł Forysiuk MinGW build fails because of missing header in GregorianDateTime.h https://bugs.webkit.org/show_bug.cgi?id=92531 * wtf/GregorianDateTime.h: Include time.h 2012-07-27 Jer Noble Unreviewed build fix. Use MathExtras.h and the non std:: versions of isnan and signbit. * wtf/MediaTime.cpp: (WTF::MediaTime::createWithFloat): (WTF::MediaTime::createWithDouble): 2012-07-27 Jer Noble Support a rational time class for use by media elements. https://bugs.webkit.org/show_bug.cgi?id=88787 Reviewed by Eric Carlson. Add a new MediaTime class which implements rational math operations. Add common constructors and assignment operators: * wtf/MediaTime.cpp: Added. (WTF::MediaTime::MediaTime): (WTF::MediaTime::~MediaTime): (WTF::MediaTime::operator=): Add common math operators: * wtf/MediaTime.cpp: (WTF::MediaTime::operator+): (WTF::MediaTime::operator-): (WTF::MediaTime::operator<): (WTF::MediaTime::operator>): (WTF::MediaTime::operator==): (WTF::MediaTime::operator>=): (WTF::MediaTime::operator<=): Add functions to check the MeiaTime time type flags: * wtf/MediaTime.h: (WTF::MediaTime::isValid): (WTF::MediaTime::isInvalid): (WTF::MediaTime::hasBeenRounde): (WTF::MediaTime::isPositiveInfinite): (WTF::MediaTime::isNegativeInfinite): (WTF::MediaTime::isIndefinite): Add constants for commonly used MediaTime values: (WTF::MediaTime::zeroTime): (WTF::MediaTime::invalidTime): (WTF::MediaTime::positiveInfiniteTime): (WTF::MediaTime::negativeInfiniteTime): (WTF::MediaTime::indefiniteTime): Add explicit conversion functions to convert to and from floating point values. * wtf/MediaTime.cpp: (WTF::MediaTime::createWithFloat): (WTF::MediaTime::createWithDouble): (WTF::MediaTime::toFloat): (WTF::MediaTime::toDouble): Add some useful exported functions: * wtf/MediaTime.cpp: (WTF::MediaTime::compare): Master function for the comparison operators above. (WTF::MediaTime::setTimeScale): Rescale the time value to a new time scale. (WTF::abs): Return an absolute value for the current MediaTime. Static utility functions to implement the above: * wtf/MediaTime.cpp: (WTF::greatestCommonDivisor): (WTF::leastCommonMultiple): (WTF::signum): Windows-only implementations of isinf and signbit: * wtf/MediaTime.cpp: (std::isinf): (std::signbit): Add the new class to platform build files: * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: 2012-07-27 Wei James set WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED for chromium android https://bugs.webkit.org/show_bug.cgi?id=91746 Reviewed by Adam Barth. This patch is part of efforts to enable web audio for chromium android. Web audio component needs to use atomicIncrement and atomicDecrement, which are enabled by this MACRO. As mentioned in https://bugs.webkit.org/show_bug.cgi?id=89428#c19, make this patch standalone. * wtf/Atomics.h: (WTF): 2012-07-27 Wei James set WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED for chromium android https://bugs.webkit.org/show_bug.cgi?id=91746 Reviewed by Adam Barth. This patch is part of efforts to enable web audio for chromium android. Web audio component needs to use atomicIncrement and atomicDecrement, which are enabled by this MACRO. As mentioned in https://bugs.webkit.org/show_bug.cgi?id=89428#c19, make this patch standalone. * wtf/Atomics.h: (WTF): 2012-07-26 Arnaud Renevier constructing TypedArray from another TypedArray is slow https://bugs.webkit.org/show_bug.cgi?id=90838 Reviewed by Kenneth Russell. Introduce virtual method getType on ArrayBufferView. It returns the actual type of the view. This method replaces previous isArray() methods. * wtf/ArrayBufferView.h: * wtf/Float32Array.h: (WTF::Float32Array::getType): (Float32Array): * wtf/Float64Array.h: (WTF::Float64Array::getType): (Float64Array): * wtf/Int16Array.h: (WTF::Int16Array::getType): (Int16Array): * wtf/Int32Array.h: (WTF::Int32Array::getType): (Int32Array): * wtf/Int8Array.h: (WTF::Int8Array::getType): (Int8Array): * wtf/IntegralTypedArrayBase.h: * wtf/TypedArrayBase.h: (TypedArrayBase): (WTF::TypedArrayBase::item): * wtf/Uint16Array.h: (WTF::Uint16Array::getType): (Uint16Array): * wtf/Uint32Array.h: (WTF::Uint32Array::getType): (Uint32Array): * wtf/Uint8Array.h: (WTF::Uint8Array::getType): (Uint8Array): * wtf/Uint8ClampedArray.h: (WTF::Uint8ClampedArray::getType): (Uint8ClampedArray): 2012-07-26 Zeno Albisser [Qt] requestAnimationFrame should only trigger when a new frame can be displayed. https://bugs.webkit.org/show_bug.cgi?id=88638 Disable REQUEST_ANIMATION_FRAME_TIMER for the Qt port and tie the servicing of scripted animations to layer syncing for WK2. For WK1 we rely on the RefreshAnimation that is based on QAbstractAnimation. Reviewed by Jocelyn Turcotte. * wtf/Platform.h: 2012-07-26 Yury Semikhatsky Unreviewed. Revert r123740 as it breaks AppleMac compilation. * wtf/text/StringImpl.cpp: * wtf/text/StringImpl.h: 2012-07-26 Yury Semikhatsky Web Inspector: move StringImpl size calculation to StringImpl https://bugs.webkit.org/show_bug.cgi?id=92359 Reviewed by Pavel Feldman. Moved stringSize(StringImpl*) implementation from InspectorMemoryAgent to StringImpl::sizeInBytes(); * wtf/text/StringImpl.cpp: (WTF::StringImpl::sizeInBytes): (WTF): * wtf/text/StringImpl.h: (StringImpl): 2012-07-25 Benjamin Poulain Initialize QualifiedName's strings from the read only data segment https://bugs.webkit.org/show_bug.cgi?id=92226 Reviewed by Anders Carlsson. Add constructors for StringImpl and AtomicString to be able to create the strings from the literal in read only memory. * wtf/text/AtomicString.cpp: (HashTranslatorCharBuffer): (WTF::LCharBufferFromLiteralDataTranslator::hash): (LCharBufferFromLiteralDataTranslator): (WTF::LCharBufferFromLiteralDataTranslator::equal): (WTF::LCharBufferFromLiteralDataTranslator::translate): (WTF::AtomicString::addFromLiteralData): * wtf/text/AtomicString.h: (WTF::AtomicString::AtomicString): (AtomicString): * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): * wtf/text/StringImpl.h: (WTF): (StringImpl): (WTF::StringImpl::createFromLiteral): 2012-07-25 Michael Saboff Convert HTML parser to handle 8-bit resources without converting to UChar* https://bugs.webkit.org/show_bug.cgi?id=90321 Reviewed by Geoffrey Garen. * wtf/text/WTFString.h: (WTF::String::dataSize): New method to return the number of bytes the string requires. This replaces a harcoded calculation based on length and sizeof(UChar). 2012-07-25 Caio Marcelo de Oliveira Filho Create a specialized pair for use in HashMap iterators https://bugs.webkit.org/show_bug.cgi?id=92137 Reviewed by Ryosuke Niwa. The type used for internal storage in HashMap is exposed in its interface as iterator "contents". Currently HashMap uses std::pair<>, which this patch replaces with KeyValuePair. Having this specialized structure will allow us to customize the members to be called key/value, improving readability in code using HashMap iterators. They are still called first/second to separate this change from the mechanical change of updating callsites. * wtf/HashIterators.h: (HashTableConstKeysIterator): (HashTableConstValuesIterator): (HashTableKeysIterator): (HashTableValuesIterator): Use KeyValuePair instead of std::pair when defining the iterators. * wtf/HashMap.h: (WTF): (WTF::KeyValuePairKeyExtractor::extract): (HashMap): Remove PairFirstExtractor. Add and use the KeyValuePair corresponding extractor. (WTF::HashMapValueTraits::isEmptyValue): Use KeyValuePairHashTraits for HashMaps. (WTF::HashMapTranslator::translate): (WTF::HashMapTranslatorAdapter::translate): The traits of the mapped value is now called ValueTraits instead of SecondTraits. * wtf/HashTable.h: (WTF::hashTableSwap): Add specialization for swapping KeyValuePairs. (WTF): Remove now unneeded specialization for std::pairs. * wtf/HashTraits.h: (KeyValuePair): (WTF::KeyValuePair::KeyValuePair): (WTF): Specialized pair. In the future difference from pair should be the member names. (KeyValuePairHashTraits): (WTF::KeyValuePairHashTraits::emptyValue): (WTF::KeyValuePairHashTraits::constructDeletedValue): (WTF::KeyValuePairHashTraits::isDeletedValue): These traits are analogous to PairHashTraits but for KeyValuePair. * wtf/RefPtrHashMap.h: Use KeyValuePairHashTraits. 2012-07-25 Andrew Wilson Unreviewed, rolling out r123560. http://trac.webkit.org/changeset/123560 https://bugs.webkit.org/show_bug.cgi?id=90321 Breaks chromium valgrind tests. * wtf/text/WTFString.h: 2012-07-25 Csaba Osztrogonác [Qt] There are parallel GC related crashes regularly https://bugs.webkit.org/show_bug.cgi?id=90957 Rubber-stamped by Zoltan Herczeg. * wtf/Platform.h: Disable parallel GC temporarily on Qt until proper fix. 2012-07-24 Benjamin Poulain && Joseph Pecoraro QualifiedName's HashSet should be big enough to hold at least all the static names https://bugs.webkit.org/show_bug.cgi?id=91891 Reviewed by Darin Adler. Add a static struct to compute the HashTable capacity for any given size at compile time. This allow us to create HashTraits giving the minimumSize without hardcoding the values. * wtf/HashTable.h: (OneifyLowBits): (UpperPowerOfTwoBound): (HashTableCapacityForSize): Compute the HashTable capacity at compile time. 2012-07-24 Michael Saboff Convert HTML parser to handle 8-bit resources without converting to UChar* https://bugs.webkit.org/show_bug.cgi?id=90321 Reviewed by Geoffrey Garen. * wtf/text/WTFString.h: (WTF::String::dataSize): New method to return the number of bytes the string requires. This replaces a harcoded calculation based on length and sizeof(UChar). 2012-07-24 Sam Weinig Add per-HashTable stats https://bugs.webkit.org/show_bug.cgi?id=92185 Reviewed by Anders Carlsson. Add per-HashTable stats, so we can look at the effectiveness of an individual HashTable. * wtf/HashTable.h: (WTF::HashTable::Stats::Stats): Add a HashTable::Stats to hold the stats. (WTF::HashTable::Stats::recordCollisionAtCount): (WTF::HashTable::Stats::dumpStats): Add versions of recordCollisionAtCount and dumpStats for per-HashTable version. (WTF::HashTable): Keep the stats, if enabled, in an OwnPtr, to not blow JSCell max size restrictions. (WTF::lookup): (WTF::lookupForWriting): (WTF::fullLookupForWriting): (WTF::add): (WTF::reinsert): (WTF::remove): (WTF::rehash): Keep track of the stats as the table is used. 2012-07-24 Patrick Gansterer Store the full year in GregorianDateTime https://bugs.webkit.org/show_bug.cgi?id=92067 Reviewed by Geoffrey Garen. Use the full year instead of the offset from year 1900 for the year member variable of GregorianDateTime. * wtf/GregorianDateTime.h: (WTF::GregorianDateTime::operator tm): 2012-07-23 Patrick Gansterer Move GregorianDateTime from JSC to WTF namespace https://bugs.webkit.org/show_bug.cgi?id=91948 Reviewed by Geoffrey Garen. Moving GregorianDateTime into the WTF namespace allows us to us to use it in WebCore too. The new class has the same behaviour as the old struct. Only the unused timeZone member has been removed. * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/GregorianDateTime.h: Added. (GregorianDateTime): 2012-07-23 Rob Buis [BlackBerry] Merge createThreadInternal implementations https://bugs.webkit.org/show_bug.cgi?id=91899 Reviewed by Yong Li. PR 111675 Remove our implementation since the default thread stack size on QNX is fine. * wtf/ThreadingPthreads.cpp: (WTF::createThreadInternal): (WTF::initializeCurrentThreadInternal): make sure we set the thread name. 2012-07-23 Patrick Gansterer [WINCE] Define NOMINMAX in the build system instead of Platform.h https://bugs.webkit.org/show_bug.cgi?id=91938 Reviewed by Ryosuke Niwa. * wtf/Platform.h: 2012-07-23 Patrick Gansterer Build fix for Windows after r123317. * wtf/DateMath.cpp: Added missing header include. 2012-07-23 Patrick Gansterer [WIN] Use GetTimeZoneInformation() for calculateUTCOffset() https://bugs.webkit.org/show_bug.cgi?id=91935 Reviewed by Ryosuke Niwa. GetTimeZoneInformation() returns the offset directly. Using it avoids unnecessary calculations and remove dependencies on other time related function, which do not exist on WinCE. * wtf/DateMath.cpp: (WTF::calculateUTCOffset): 2012-07-20 Han Shen [Chromium] Compilation fails under gcc 4.7 https://bugs.webkit.org/show_bug.cgi?id=90227 Reviewed by Tony Chang. Disable warnings about c++0x compatibility in gcc newer than 4.6. * WTF.gyp/WTF.gyp: 2012-07-19 Dan Bernstein The ATSUI-based complex text code is unused https://bugs.webkit.org/show_bug.cgi?id=91816 Reviewed by Sam Weinig. Removed definitions of WTF_USE_ATSUI and WTF_USE_CORE_TEXT. * wtf/Platform.h: 2012-07-19 Wei James enable Web Audio for chromium android port https://bugs.webkit.org/show_bug.cgi?id=89428 Reviewed by Kenneth Russell. * wtf/MathExtras.h: (log2): (log2f): 2012-07-19 Scott Graham [Chromium] disable warning on Windows from gcc-only pragma in Assertions.cpp" https://bugs.webkit.org/show_bug.cgi?id=91776 Reviewed by Ryosuke Niwa. Avoids: ...\source\wtf\wtf\assertions.cpp(31) : warning C4068: unknown pragma * WTF.gyp/WTF.gyp: 2012-07-19 Robert Sesek [chromium][Mac] Switch the MACOSX_DEPLOYMENT_TARGET to 10.6 https://bugs.webkit.org/show_bug.cgi?id=91752 Reviewed by Eric Seidel. When building CHROMIUM && DARWIN, do not enable ATSUI support. * wtf/Platform.h: 2012-07-18 Yong Li [BlackBerry] Implement currentTime() and monotonicallyIncreasingTime() for OS(QNX) https://bugs.webkit.org/show_bug.cgi?id=91659 Reviewed by Rob Buis. Implement currentTime() and monotonicallyIncreasingTime() for OS(QNX) with clock_gettime(). * wtf/CurrentTime.cpp: (WTF): (WTF::currentTime): (WTF::monotonicallyIncreasingTime): 2012-07-18 Tom Sepez OOB read of stack buffer below DoubleToStringConverter::CreateExponentialRepresentation() in debug builds https://bugs.webkit.org/show_bug.cgi?id=91642 Reviewed by Abhishek Arya. * wtf/dtoa/double-conversion.cc: (DoubleToStringConverter::CreateExponentialRepresentation): NUL-terminate string buffer before passing it to StringBuilder::AddSubstring() 2012-07-18 Michael Saboff Make TextCodecLatin1 handle 8 bit data without converting to UChar's https://bugs.webkit.org/show_bug.cgi?id=90319 Reviewed by Oliver Hunt. * wtf/text/StringImpl.h: (StringImpl): Exported LChar variant of adopt(). * wtf/text/WTFString.h: (WTF::String::createUninitialized): Exported LChar variant. 2012-07-18 Rob Buis Alignment crash in MIMESniffer https://bugs.webkit.org/show_bug.cgi?id=89787 Reviewed by Yong Li. PR 169064 Change isPointerTypeAlignmentOkay so calling it does not require ifdefs. * wtf/StdLibExtras.h: (isPointerTypeAlignmentOkay): 2012-07-17 Gabor Ballabas [Qt][V8] Remove the V8 related codepaths and configuration https://bugs.webkit.org/show_bug.cgi?id=90863 Reviewed by Simon Hausmann. * WTF.pri: 2012-07-17 Sheriff Bot Unreviewed, rolling out r122834. http://trac.webkit.org/changeset/122834 https://bugs.webkit.org/show_bug.cgi?id=91492 it broke the chromium (Requested by kkristof on #webkit). * WTF.pri: 2012-07-17 Gabor Ballabas [Qt][V8] Remove the V8 related codepaths and configuration https://bugs.webkit.org/show_bug.cgi?id=90863 Reviewed by Simon Hausmann. * WTF.pri: 2012-07-16 Hajime Morrita WebCore needs WEBCORE_TESTING macro to mark methods being exported for testing. https://bugs.webkit.org/show_bug.cgi?id=90764 Reviewed by Adam Barth. Added USE(EXPORT_MACROS_FOR_TESTING) and enabled it on GTK and Windows. * wtf/ExportMacros.h: * wtf/Platform.h: 2012-07-16 Filip Pizlo Unreviewed build fix. * wtf/FastMalloc.cpp: (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 2012-07-16 Adam Treat [BlackBerry] Use newer version of platform API to implement callOnMainThread https://bugs.webkit.org/show_bug.cgi?id=91404 Reviewed by Yong Li. Right now we're using an outdated API that involves a virtual function call for no reason. Use the new API that is much more direct and to the point. * wtf/blackberry/MainThreadBlackBerry.cpp: (WTF::scheduleDispatchFunctionsOnMainThread): 2012-07-14 Filip Pizlo Unreviewed, build fix. * wtf/Assertions.cpp: * wtf/Platform.h: * wtf/unicode/icu/CollatorICU.cpp: (WTF::Collator::userDefault): 2012-07-13 Xianzhu Wang Move WebCore/platform/text/Base64 to WTF/wtf/text https://bugs.webkit.org/show_bug.cgi?id=91162 Reviewed by Adam Barth. * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/text/Base64.cpp: Renamed from Source/WebCore/platform/text/Base64.cpp. (WTF): (WTF::base64Encode): (WTF::base64Decode): (WTF::base64DecodeInternal): * wtf/text/Base64.h: Renamed from Source/WebCore/platform/text/Base64.h. (WTF): (WTF::base64Encode): 2012-07-12 Carlos Garcia Campos [GTK] Add API to get HTTPS status to WebKit2 GTK+ https://bugs.webkit.org/show_bug.cgi?id=91100 Reviewed by Martin Robinson. Add support for GByteArray. * wtf/gobject/GRefPtr.cpp: (WTF::refGPtr): (WTF): (WTF::derefGPtr): * wtf/gobject/GRefPtr.h: (WTF): * wtf/gobject/GTypedefs.h: 2012-07-12 Maciej Stachowiak Document ListHashSet iteration guarantees https://bugs.webkit.org/show_bug.cgi?id=91106 Reviewed by Eric Seidel. * wtf/ListHashSet.h: (WTF): Expand class comment to document this. 2012-07-11 Mark Rowe Build against the latest SDK when targeting older OS X versions. Reviewed by Dan Bernstein. The deployment target is already set to the version that we're targeting, and it's that setting which determines which functionality from the SDK is available to us. * Configurations/Base.xcconfig: 2012-07-11 Mark Rowe Replace definitions of BUILDING_ON / TARGETING macros with macros that will error when used. Part of Remove BUILDING_ON / TARGETING macros in favor of system availability macros. Reviewed by Anders Carlsson. * wtf/Platform.h: 2012-07-11 Mark Rowe Switch a few cases that care about the SDK over to checking __MAC_OS_X_VERSION_MAX_ALLOWED so that things build. Part of Remove BUILDING_ON / TARGETING macros in favor of system availability macros Reviewed by Filip Pizlo. * wtf/FastMalloc.cpp: (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): The SDK we're building against determines how many elements the structure is declared as having. 2012-07-11 Mark Rowe Remove BUILDING_ON / TARGETING macros in favor of system availability macros This removal was handled by a script that translates the relevant macros in to the equivalent checks using the system availability macros. Reviewed by Filip Pizlo. * wtf/Assertions.cpp: * wtf/FastMalloc.cpp: * wtf/Platform.h: * wtf/ThreadingPthreads.cpp: * wtf/unicode/icu/CollatorICU.cpp: 2012-07-11 Anders Carlsson Add -Wtautological-compare and -Wsign-compare warning flags https://bugs.webkit.org/show_bug.cgi?id=90994 Reviewed by Mark Rowe. * Configurations/Base.xcconfig: 2012-07-10 Jocelyn Turcotte Re-enable __declspec(dl{import,export}) for MinGW when using EXPORT_MACROS https://bugs.webkit.org/show_bug.cgi?id=90612 Reviewed by Csaba Osztrogonác. MinGW was switched to use auto import/export of symbols on r44184. From my understanding of the documentation, MinGW will not auto-export symbols unless there are no explicit __declspec(dlexport) in the DLL already. The issues that originally made us rely on the auto-import feature of MinGW should now be resolved with the EXPORT_MACROS work. This patch re-enables them. It also removes the GCC check for internal symbols hiding as the visibility should already be hidden by default for both MSVC and GCC on Windows anyway. * wtf/ExportMacros.h: 2012-07-09 No'am Rosenthal Shared code that is guarded with ENABLE(WEBGL) should be guarded with USE() https://bugs.webkit.org/show_bug.cgi?id=90506 Reviewed by Martin Robinson. Made USE(3D_GRAPHICS) default to true when ENABLE(WEBGL) is true. Also updated the Qt default to always use TEXTURE_MAPPER, and to use TEXTURE_MAPPER_GL when 3D_GRAPHICS is used. * wtf/Platform.h: 2012-07-08 Laszlo Gombos Introduce a build flag for low quality JPEG images https://bugs.webkit.org/show_bug.cgi?id=90748 Reviewed by Adam Barth. Turn on the newly introduced flags for android. * wtf/Platform.h: 2012-07-05 Filip Pizlo INLINE_ARM_FUNCTION(thingy) should make thingy be thumb2 if we're using thumb2 https://bugs.webkit.org/show_bug.cgi?id=90644 Reviewed by Mark Hahnenberg. Fix breakage introduced in http://trac.webkit.org/changeset/121885 * wtf/InlineASM.h: 2012-07-05 Zoltan Herczeg Port DFG JIT to traditional ARM https://bugs.webkit.org/show_bug.cgi?id=90198 Reviewed by Filip Pizlo. Enabling DFG JIT on ARM systems with 32 bit instruction set. * wtf/InlineASM.h: * wtf/Platform.h: 2012-07-04 Andy Wingo [GTK] Enable parallel GC https://bugs.webkit.org/show_bug.cgi?id=90568 Reviewed by Martin Robinson. * wtf/Platform.h: Add GTK to the ENABLE_PARALLEL_GC party. 2012-07-04 Tor Arne Vestbø [Qt] Get rid of un-needed QT += declarative for Qt 5 The declarative module has been renamed to quick1 in Qt 5, and the engine-only module for Qt 5 is named 'qml'. For many of the instances we could just remove 'declarative', since the project file was only used for Qt5/WebKit2 builds. In the other cases the module was wrapped in a haveQt(4) scope. Reviewed by Csaba Osztrogonác. * WTF.pri: 2012-07-03 Yong Li [BlackBerry] Turn on DFGJIT in Platform.h https://bugs.webkit.org/show_bug.cgi?id=90482 Set ENABLE_DFG_JIT for PLATFORM(BLACKBERRY). Reviewed by Rob Buis. * wtf/Platform.h: 2012-07-03 Tony Chang [chromium] Unreviewed, update .gitignore to handle VS2010 files. * WTF.gyp/.gitignore: 2012-07-03 Tor Arne Vestbø [Qt] Make use of .qmake.cache for caching features Instead of loading() features from the files that need them (and re-running a bunch of checks), we now run feature detection as part of configure.pro, and have build-webkit write the computed feature-defines and CONFIG to .qmake.cache, which is then loaded by qmake _before_ even defaults_pre when building WebKit.pro. At some point we'll be able to selectivly prevent running of config tests in configure.pro, which means we don't need a separate code-path for the build-webkit --help case. We should also move the code in build-webkit that now uses .webkit.config to detect clean builds, to use .qmake.cache, since we now store the same thing there. Original patch by Oswald Buddenhagen Reviewed by Tor Arne Vestbø. * WTF.pri: 2012-07-03 Sheriff Bot Unreviewed, rolling out r121766. http://trac.webkit.org/changeset/121766 https://bugs.webkit.org/show_bug.cgi?id=90465 It caused flakey build errors on the bots (Requested by Ossy on #webkit). * WTF.pri: 2012-07-03 Tor Arne Vestbø [Qt] Make use of .qmake.cache for caching features Instead of loading() features from the files that need them (and re-running a bunch of checks), we now run feature detection as part of configure.pro, and have build-webkit write the computed feature-defines and CONFIG to .qmake.cache, which is then loaded by qmake _before_ even defaults_pre when building WebKit.pro. At some point we'll be able to selectivly prevent running of config tests in configure.pro, which means we don't need a separate code-path for the build-webkit --help case. We should also move the code in build-webkit that now uses .webkit.config to detect clean builds, to use .qmake.cache, since we now store the same thing there. Original patch by Oswald Buddenhagen Reviewed by Tor Arne Vestbø. * WTF.pri: 2012-07-03 Jocelyn Turcotte Joel Dillon [Qt][Win] Fix broken QtWebKit5.lib linking https://bugs.webkit.org/show_bug.cgi?id=88321 Reviewed by Kenneth Rohde Christiansen. Instead of letting a module's headers know which other modules depend on them, have depending modules define explicitely that they want its symbols exported too. JavaScriptCore should then be compiled with both BUILDING_JavaScriptCore and STATICALLY_LINKED_WITH_WTF. * wtf/ExportMacros.h: 2012-06-29 Tony Chang Unreviewed, rolling out r121572. http://trac.webkit.org/changeset/121572 https://bugs.webkit.org/show_bug.cgi?id=90249 Breaks Mac build since it depends on r121547, which was rolled out * wtf/ThreadingPthreads.cpp: (WTF::initializeCurrentThreadInternal): 2012-06-29 Eric Seidel Remove BUILDING_ON_LEOPARD now that no ports build on Leopard https://bugs.webkit.org/show_bug.cgi?id=90249 Reviewed by Ryosuke Niwa. * wtf/ThreadingPthreads.cpp: (WTF::initializeCurrentThreadInternal): 2012-06-29 Sheriff Bot Unreviewed, rolling out r121529. http://trac.webkit.org/changeset/121529 https://bugs.webkit.org/show_bug.cgi?id=90260 Failed to compile on Chromium WebKitMacBuilder (Requested by keishi on #webkit). * wtf/FastMalloc.cpp: (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): * wtf/unicode/icu/CollatorICU.cpp: (WTF::Collator::userDefault): 2012-06-29 Eric Seidel Remove more BUILDING_ON_LEOPARD branches now that no port builds on Leopard https://bugs.webkit.org/show_bug.cgi?id=90252 Reviewed by Ryosuke Niwa. * wtf/FastMalloc.cpp: (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): * wtf/unicode/icu/CollatorICU.cpp: (WTF::Collator::userDefault): 2012-06-29 Eric Seidel Remove more BUILDING_ON_LEOPARD usage in PLATFORM(MAC) code https://bugs.webkit.org/show_bug.cgi?id=85846 Reviewed by Adam Barth. PLATFORM(MAC) has not supported Leopard for several months now. This change removes about 1/3 of the remaining BUILDING_ON_LEOPARD uses in the PLATFORM(MAC) codepaths. PLATFORM(CHROMIUM) still supports BUILDING_ON_LEOPARD for now. * wtf/Platform.h: 2012-06-28 Kalev Lember ThreadingWin: Silence GCC compiler warnings https://bugs.webkit.org/show_bug.cgi?id=89491 Reviewed by Adam Roben. * wtf/ThreadingWin.cpp: (WTF::createThreadInternal): (WTF::PlatformCondition::timedWait): (WTF::PlatformCondition::signal): Fix unused-but-set-variable warnings. 2012-06-26 Tor Arne Vestbø [Qt] Add missing heades to HEADERS For JavaScriptCore there aren't any Qt specific files, so we include all headers for easy editing in Qt Creator. Reviewed by Simon Hausmann. * WTF.pro: 2012-06-25 Kent Tamura Unreviewed, rolling out r121145. http://trac.webkit.org/changeset/121145 https://bugs.webkit.org/show_bug.cgi?id=89847 Had an objection for the change. * wtf/text/StringBuilder.h: 2012-06-25 Yong Li [BlackBerry] Add JSC statistics into about:memory https://bugs.webkit.org/show_bug.cgi?id=89779 Reviewed by Rob Buis. Turn on WTF_USE_EXPORT_MACROS for BlackBerry port. This will make macros like JS_EXPORT_PRIVATE work without extra porting. * wtf/Platform.h: 2012-06-25 Adam Barth Use InterpolationLow on chromium-android https://bugs.webkit.org/show_bug.cgi?id=89849 Reviewed by Daniel Bates. Introduce a USE macro to control image interpolation quality. * wtf/Platform.h: 2012-06-25 Kent Tamura Change the serialization format of form control state to make the code simple https://bugs.webkit.org/show_bug.cgi?id=89847 Reviewed by Hajime Morita. * wtf/text/StringBuilder.h: (WTF::StringBuilder::appendEscaped): Added. This function adds the escaped form of the input string. e.g. if stiring="foo,bar" escape='\' special=',', the appended string is foo\,bar. 2012-06-24 Adam Barth Remove USE(CHROMIUM_NET) because it is unused https://bugs.webkit.org/show_bug.cgi?id=89850 Reviewed by Eric Seidel. I didn't see any mentions of CHROMIUM_NET when I grepped the Source directory. Also, this USE macro isn't defined on OS(DARWIN) or OS(ANDROID), which seems a bit odd given that Chromium uses the same network stack on all platforms. * wtf/Platform.h: 2012-06-22 Peter Beverloo [Chromium] Disable c++0x compatibility warnings in JavaScriptCore.gyp when building for Android https://bugs.webkit.org/show_bug.cgi?id=88853 Reviewed by Steve Block. The Android exclusions were necessary to fix a gyp generation error, as the gcc_version variable wasn't being defined for Android. Remove these exceptions when Chromium is able to define the gcc_version variable. * WTF.gyp/WTF.gyp: 2012-06-18 Gustavo Noronha Silva Causes crashes in LLVMPipe https://bugs.webkit.org/show_bug.cgi?id=89358 Reviewed by Martin Robinson. Change suggested by Dave Airlie and Xan Lopez. * wtf/Platform.h: disable global fastMalloc for GTK+ 2012-06-22 Mario Sanchez Prada Memory corruption on HashTable.h https://bugs.webkit.org/show_bug.cgi?id=88419 Reviewed by Martin Robinson. Simplify definition of WTF_USE_PTHREADS and HAVE_PTHREAD_RWLOCK for the GTK platform using OS(LINUX) instead of HAVE(PTHREAD_H). * wtf/Platform.h: 2012-06-21 Parth Patel [Blackberry] BlackBerry::Platform::Settings::get() rename to BlackBerry::Platform::Settings::instance() to make it consistent with our other singletons https://bugs.webkit.org/show_bug.cgi?id=89684 Reviewed by Yong Li. Update setting instance access to use instance() instead of get(). * wtf/ThreadingPthreads.cpp: (WTF::createThreadInternal): 2012-06-21 Kalev Lember [GTK] Fix NPAPI plugins on Windows https://bugs.webkit.org/show_bug.cgi?id=54531 Reviewed by Martin Robinson. Define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH for the GTK+ port, and include OwnPtrWin.cpp in the list of files built on Windows. * GNUmakefile.am: * GNUmakefile.list.am: * wtf/Platform.h: 2012-06-21 Balazs Kelemen Compile error: 'bool std::isinf(float)' is not 'constexpr' with GCC 4.6 in C++11 mode https://bugs.webkit.org/show_bug.cgi?id=88721 Reviewed by Csaba Osztrogonác. Don't define these as consexpr because with gcc 4.6 they call non constexpr functions. * wtf/MathExtras.h: (std::wtf_isinf): (std::wtf_isnan): 2012-06-17 Filip Pizlo It should be possible to look at disassembly https://bugs.webkit.org/show_bug.cgi?id=89319 Reviewed by Sam Weinig. Made changes to Assertions.h to make it friendly to C code again. Added ENABLE(DISASSEMBLER) and USE(UDIS86) logic to Platform.h. * wtf/Assertions.h: * wtf/Platform.h: 2012-06-19 Jon Honeycutt REGRESSION(r120552): Many tests timing out on Windows https://bugs.webkit.org/show_bug.cgi?id=89433 Reviewed by Andy Estes. * wtf/CurrentTime.cpp: (WTF::lowResUTCTime): It looks like there were two bugs: 1) the function was converting from 100ths of nanoseconds to seconds rather than 100s of nanoseconds to seconds by dividing by (nsPerSecond * 100) rather than (nsPerSecond / 100) 2) the function should've been returning milliseconds, not seconds 2012-06-18 Tony Payne [chromium] Add iccjpeg and qcms to chromium port. https://bugs.webkit.org/show_bug.cgi?id=81974 * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB to each Chromium platform, excluding Android. Reviewed by Adam Barth. 2012-06-18 Sheriff Bot Unreviewed, rolling out r120485 and r120582. http://trac.webkit.org/changeset/120485 http://trac.webkit.org/changeset/120582 https://bugs.webkit.org/show_bug.cgi?id=89345 chromeos tree breakage (Requested by morrita on #webkit). * wtf/Platform.h: 2012-06-17 Patrick Gansterer [WIN] Simplify implementation of currentTime() https://bugs.webkit.org/show_bug.cgi?id=83156 Reviewed by Brent Fulgham. Use GetSystemTimeAsFileTime() instead of ftime(). This avoids an unneeded call to the MS CRT and brings the Win/WinCE code closer together. * wtf/CurrentTime.cpp: (WTF::lowResUTCTime): (WTF::currentTime): 2012-06-15 Tony Payne [chromium] Add iccjpeg and qcms to chromium port. https://bugs.webkit.org/show_bug.cgi?id=81974 * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB to each Chromium platform, excluding Android. Reviewed by Adam Barth. 2012-06-14 Sheriff Bot Unreviewed, rolling out r120393. http://trac.webkit.org/changeset/120393 https://bugs.webkit.org/show_bug.cgi?id=89163 breaks cr-mac build (Requested by morrita on #webkit). * wtf/Platform.h: 2012-06-14 Tony Payne [chromium] Add iccjpeg and qcms to chromium port. https://bugs.webkit.org/show_bug.cgi?id=81974 * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB to each Chromium platform, excluding Android. Reviewed by Adam Barth. 2012-06-14 Yong Li [BlackBerry] Implement computeRAMSize for QNX https://bugs.webkit.org/show_bug.cgi?id=89110 Reviewed by Rob Buis. * wtf/RAMSize.cpp: (WTF::computeRAMSize): 2012-06-14 Geoffrey Garen ARMv7 should support spinlocks https://bugs.webkit.org/show_bug.cgi?id=88957 Reviewed by Darin Adler. More info @ http://infocenter.arm.com/help/topic/ com.arm.doc.genc007826/Barrier_Litmus_Tests_and_Cookbook_A08.pdf * wtf/Atomics.h: (WTF::memoryBarrierAfterLock): (WTF::memoryBarrierBeforeUnlock): Added memory barrier primitives since ARMv7 has a weakly ordered memory model. * wtf/Platform.h: Enabled compare-and-swap on Windows so our spinlock implementation would continue working on Windows. * wtf/TCSpinLock.h: (TCMalloc_SpinLock::Lock): (TCMalloc_SpinLock::Unlock): (TCMalloc_SpinLock): Use our compare-and-swap helper function to avoid rewriting it in assembly here. Added memory barriers since ARMv7 needs them. Removed PPC support because our helper function doesn't support PPC. 2012-06-13 Arnaud Renevier make sure headers are included only once per file https://bugs.webkit.org/show_bug.cgi?id=88929 Reviewed by Kentaro Hara. * wtf/FastMalloc.cpp: * wtf/MathExtras.h: * wtf/OSAllocator.h: 2012-06-13 Benjamin Poulain Implement the simple constructors WTFURL's KURL https://bugs.webkit.org/show_bug.cgi?id=85724 Reviewed by Adam Barth. This patch extends WTFURL with: -support basic debugging using print() methods -parsing in the incomming string character set (8bits or 16bits) -add a function for parsing of relative URL (but no implementation yet) * WTF.xcodeproj/project.pbxproj: * wtf/text/WTFString.h: (String): * wtf/url/api/ParsedURL.cpp: (WTF::ParsedURL::ParsedURL): (WTF): (WTF::ParsedURL::hasFragment): Add this method to query the framgent availability without allocating a new String. (WTF::ParsedURL::withoutFragment): This method is added to implement KURL::removeFragmentIdentifier() and the parsing of empty relative URL (where we return the base without fragment). (WTF::ParsedURL::print): * wtf/url/api/ParsedURL.h: (ParsedURL): (WTF::ParsedURL::spec): * wtf/url/api/URLString.h: (URLString): * wtf/url/src/URLParser.h: (WTF): (URLParser): (WTF::URLParser::parseURLWithBase): * wtf/url/src/URLSegments.cpp: (WTF::URLSegments::length): (WTF::URLSegments::charactersBefore): * wtf/url/src/URLSegments.h: (URLSegments): Change the boolean argument includeDelimiter in favor of an enum to improve readability. 2012-06-13 Filip Pizlo DFG should be able to set watchpoints on global variables https://bugs.webkit.org/show_bug.cgi?id=88692 Reviewed by Geoffrey Garen. Added ability to set the inline capacity of segmented vectors. Also added the ability ot ASSERT_NOT_REACHED() without having to propagate NO_RETURN macros, which would be a show-stopper for code that is conditionally unreachable. * wtf/Assertions.h: (UNREACHABLE_FOR_PLATFORM): * wtf/SegmentedVector.h: (WTF): (SegmentedVectorIterator): (WTF::SegmentedVectorIterator::operator=): (WTF::SegmentedVectorIterator::SegmentedVectorIterator): (SegmentedVector): 2012-06-13 Sheriff Bot Unreviewed, rolling out r120172. http://trac.webkit.org/changeset/120172 https://bugs.webkit.org/show_bug.cgi?id=88976 The patch causes compilation failures on Gtk, Qt and Apple Win bots (Requested by zdobersek on #webkit). * wtf/SegmentedVector.h: (WTF): (SegmentedVectorIterator): (WTF::SegmentedVectorIterator::operator=): (WTF::SegmentedVectorIterator::SegmentedVectorIterator): (SegmentedVector): 2012-06-10 Filip Pizlo DFG should be able to set watchpoints on global variables https://bugs.webkit.org/show_bug.cgi?id=88692 Reviewed by Geoffrey Garen. Added ability to set the inline capacity of segmented vectors. * wtf/SegmentedVector.h: (WTF): (SegmentedVectorIterator): (WTF::SegmentedVectorIterator::operator=): (WTF::SegmentedVectorIterator::SegmentedVectorIterator): (SegmentedVector): 2012-06-12 Geoffrey Garen Try to fix the build. Maybe don't export inlined functions. * wtf/ThreadingPrimitives.h: (WTF::MutexTryLocker::MutexTryLocker): (WTF::MutexTryLocker::~MutexTryLocker): (WTF::MutexTryLocker::locked): 2012-06-11 Jocelyn Turcotte Using extrernal ICU library on case unsensitive drives will not work https://bugs.webkit.org/show_bug.cgi?id=70913 Reviewed by Csaba Osztrogonác. Properly set the include path for the WTF module and for modules using it. The path should include Source/WTF/wtf only when building WTF itself. Other modules are expected to include the headers as #include , so only add Source/WTF to their include path. "unicode/utf8.h" should now then always reference to ICU in the include path and "wtf/unicode/UTF8.h" reference to the WTF version. This will work as long as WTF object files don't depend on ICU themselves. Removed gobject, qt and unicode from the include path as those directories don't exist anymore. * WTF.pri: * WTF.pro: 2012-06-11 Carlos Garcia Campos Unreviewed. Fix make distcheck issues. * GNUmakefile.list.am: Add missing header file. 2012-06-09 Dominic Cooney [Chromium] Remove JavaScriptCore dependencies from gyp https://bugs.webkit.org/show_bug.cgi?id=88510 Reviewed by Adam Barth. Chromium doesn't support JSC any more and there doesn't seem to be a strong interest in using GYP as the common build system in other ports. * WTF.gyp/WTF.gyp: 2012-06-08 Andy Wingo Explictly mark stubs called by JIT as being internal https://bugs.webkit.org/show_bug.cgi?id=88552 Reviewed by Filip Pizlo. * wtf/ExportMacros.h (WTF_INTERNAL, HAVE_INTERNAL_VISIBILITY): New defines. Regardless of what the port does about visibility in general, for code referenced only from assembly it is useful to give it internal visibility. * wtf/InlineASM.h: Split SYMBOL_STRING_RELOCATION into LOCAL_REFERENCE and GLOBAL_REFERENCE; the former will try to avoid indirection if HAVE(INTERNAL_VISIBILITY). 2012-06-07 Csaba Osztrogonác [Qt][Win] Fix linking WTF with ICU https://bugs.webkit.org/show_bug.cgi?id=88302 Reviewed by Simon Hausmann. * WTF.pri: Use proper library names on win32 platforms. 2012-06-06 Michael Saboff ENH: Add Logging to GC Marking Phase https://bugs.webkit.org/show_bug.cgi?id=88364 Reviewed by Filip Pizlo. * wtf/DataLog.cpp: (WTF::dataLogString): Additional method to support GC Mark logging. * wtf/DataLog.h: * wtf/Platform.h: New ENABLE_OBJECT_MARK_LOGGING flag macro. 2012-06-06 Andy Wingo [GTK] Enable the LLInt https://bugs.webkit.org/show_bug.cgi?id=88315 Reviewed by Filip Pizlo. * wtf/InlineASM.h: Add an implementation of LOCAL_LABEL_STRING for OS(LINUX). * wtf/Platform.h: Add OS(LINUX) to the set of operating systems for ENABLE_LLINT. Add a specific check for PLATFORM(MAC) or PLATFORM(IOS), and add to that a check for PLATFORM(GTK). 2012-06-05 Roland Takacs [Qt] Use GraphicsContext3DOpenGLES.cpp when using OpenGL ES https://bugs.webkit.org/show_bug.cgi?id=78720 Reviewed by Noam Rosenthal. Defined a global Opengl ES macro to check OpenGL ES on every platforms. * wtf/Platform.h: 2012-06-04 Takashi Toyoshima [WebSocket] Send requires super linear time against data size https://bugs.webkit.org/show_bug.cgi?id=87383 Reviewed by Kent Tamura. * wtf/StreamBuffer.h: Added. (WTF): (StreamBuffer): (WTF::StreamBuffer::StreamBuffer): (WTF::StreamBuffer::~StreamBuffer): (WTF::StreamBuffer::isEmpty): (WTF::StreamBuffer::append): (WTF::StreamBuffer::consume): (WTF::StreamBuffer::size): (WTF::StreamBuffer::firstBlockData): (WTF::StreamBuffer::firstBlockSize): 2012-06-04 Patrick Gansterer Port RAMSize to WinCE https://bugs.webkit.org/show_bug.cgi?id=87854 Reviewed by Geoffrey Garen. WinCE has no GlobalMemoryStatusEx() function. Use GlobalMemoryStatus() instead. * wtf/RAMSize.cpp: (WTF::computeRAMSize): 2012-06-01 Xianzhu Wang Remove dependency from ImageDiff to WTF https://bugs.webkit.org/show_bug.cgi?id=88147 Reviewed by Adam Barth. * WTF.gyp/WTF.gyp: 2012-06-01 Tor Arne Vestbø [Qt] Save one copy when going from 8-bit WTF::String to QString Asking for characters() of an 8-bit string will make a 16-bit copy internally in WTF::String. Since we're going to copy the data to QStringData anyways, which is 16-bit, we can do the conversion ourselves and save one copy. Reviewed by Simon Hausmann. * wtf/qt/StringQt.cpp: (WTF::String::operator QString): 2012-05-30 Tor Arne Vestbø [Qt] Make conversion from QString to WTF::String (and back again) ~free https://bugs.webkit.org/show_bug.cgi?id=87847 Instead of copying the QString data when converting to a WTF::String we make the WTF::String adopt the QString data by introducing a new buffer ownership type, and pointing the internal WTF::StringImpl 16-bit data member to the string data managed by QStringData. We make sure to reference the QStringData when adopting, so that the data will stay alive, and then dereference it when the WTF::StringImpl is deleted, which will free the QStringData (either straight away, if we're the only one holding a reference still, or later, when the ref count goes to 0). In the case of going back from a WTF::String to a QString we can cheat a bit (avoid a copy), if we know that the WTF::String was adopted from a QString, since it's then just a matter of having the QString adopt the existing QStringData (just like a regular QString copy). If the WTF::String buffer is not owned by QStringData, eg a regular 8-bit or 16-bit string/substring, we have to fall back to copying, as before (though there are potential optimization tricks we can apply here later on). Reviewed by Gavin Barraclough. * wtf/qt/StringQt.cpp: * wtf/text/StringImpl.cpp: * wtf/text/StringImpl.h: 2012-06-01 Sudarsana Nagineni [EFL] Implement PlatformStrategies https://bugs.webkit.org/show_bug.cgi?id=86946 Reviewed by Carlos Garcia Campos. * wtf/Platform.h: Enable PLATFORM_STRATEGIES for EFL platform. 2012-05-31 Anders Carlsson Enable support for rvalue references when building with a version of clang that supports them https://bugs.webkit.org/show_bug.cgi?id=88018 Re-enable support for rvalue references when building with a version of Xcode newer than 4.2. * wtf/Compiler.h: 2012-05-31 Filip Pizlo DataLog should be usable outside of JSC https://bugs.webkit.org/show_bug.cgi?id=88015 Reviewed by Oliver Hunt. * wtf/DataLog.h: (WTF): 2012-05-31 Anders Carlsson Disable support for rvalue references until I figure out why this is breaking the Xcode 4.2 build. * wtf/Compiler.h: 2012-05-31 Anders Carlsson Vector should have a move constructor and move assignment operator https://bugs.webkit.org/show_bug.cgi?id=87997 Reviewed by Andreas Kling. * wtf/Compiler.h: Use __has_extension so we can use move semantics and other C++11 features even when building as C++98. * wtf/Vector.h: Add a move constructor and a move assignment operator to Vector. 2012-05-31 Tor Arne Vestbø [Qt] Simplify QT_VERSION_CHECKS for Qt5 by introducing HAVE(QT5) https://bugs.webkit.org/show_bug.cgi?id=87955 Reviewed by Simon Hausmann. * wtf/qt/UtilsQt.h: 2012-05-30 Caio Marcelo de Oliveira Filho HashTable.h has using directives for std::pair and std::make_pair https://bugs.webkit.org/show_bug.cgi?id=29919 Reviewed by Darin Adler. * wtf/HashTraits.h: (WTF): Remove the directives. 2012-05-30 Caio Marcelo de Oliveira Filho HashTable.h has using directives for std::pair and std::make_pair https://bugs.webkit.org/show_bug.cgi?id=29919 Reviewed by Darin Adler. Change code to use std::pair and std::make_pair. Later patch will remove the 'using' directives. * wtf/HashTable.h: (WTF::hashTableSwap): (HashTable): * wtf/HashTraits.h: (PairHashTraits): (WTF::PairHashTraits::emptyValue): 2012-05-30 Patrick Gansterer Build fix for WinCE after r118603. * wtf/Atomics.h: (WTF::weakCompareAndSwap): 2012-05-29 Anders Carlsson String should be move enabled/optimized https://bugs.webkit.org/show_bug.cgi?id=87596 Reviewed by Andreas Kling. Add move constructors and move assignment operators to String and AtomicString when building with compilers that support rvalue references. This gets rid of ref-churn when the source of the constructor or assignment is a temporary object. * wtf/text/AtomicString.h: (AtomicString): (WTF::AtomicString::AtomicString): (WTF::AtomicString::operator=): * wtf/text/WTFString.h: (String): (WTF::String::String): (WTF::String::operator=): 2012-05-29 Alexandre Elias Support WebKit log messages on Android https://bugs.webkit.org/show_bug.cgi?id=87773 Reviewed by Darin Adler. This sends WebKit log messages to the Android "logcat" facility, as Android sends stderr to /dev/null. * wtf/Assertions.cpp: 2012-05-29 Tor Arne Vestbø [Qt] Remove duplication of logic for disabling selected warnings related to C++11 This is already handled in unix/default_post.prf Reviewed by Simon Hausmann. * WTF.pro: 2012-05-27 Darin Adler Fix an incorrect assertion in Vector::remove https://bugs.webkit.org/show_bug.cgi?id=87612 Reviewed by Dan Bernstein. * wtf/Vector.h: There's no good reason to disallow calling remove with a size of 0, even when the position is at the end of the vector, so changed the two-argument Vector::remove assertion to assert that the position is <= size rather than < size. 2012-05-27 Yoshifumi Inoue [WTF] Introduce UINT64_C to MathExtras.h https://bugs.webkit.org/show_bug.cgi?id=87485 Reviewed by Kent Tamura. * wtf/MathExtras.h: 2012-05-25 Filip Pizlo weakCompareAndSwap should work on Windows https://bugs.webkit.org/show_bug.cgi?id=87549 Reviewed by Jessie Berlin. * wtf/Atomics.h: (WTF): (WTF::weakCompareAndSwap): 2012-05-24 Allan Sandfeld Jensen cti_vm_throw gets kicked out by gcc 4.6 -flto https://bugs.webkit.org/show_bug.cgi?id=56088 Reviewed by Darin Adler. Define REFERENCED_FROM_ASM to __attribute__((used)) on GCC. * wtf/Compiler.h: 2012-05-23 Darin Adler Optimize iteration of empty hash tables https://bugs.webkit.org/show_bug.cgi?id=87215 Reviewed by Geoffrey Garen. Iteration of empty hash tables was showing up on simple page loading profiles due to the use of hash tables in the NodeListsNodeData::invalidateCaches and NodeListsNodeData::invalidateCachesThatDependOnAttributes functions. It's worth optimizing the case of an empty table. * wtf/HashTable.h: (WTF::HashTable::begin): Return the known-good end iterator when the table is empty. This makes iterating an empty table faster because we avoid skipping empty and deleted buckets. 2012-05-22 Geoffrey Garen Build fix. * wtf/RAMSize.cpp: (WTF::computeRAMSize): sysctl expects a uint64_t, so use that and then cast back to size_t. Since it's coneivable that a 32bit process would run on a system with more than 4GB RAM, I added a paranoid check for that condition. 2012-05-22 Jessie Berlin Build fix. * wtf/RAMSize.cpp: (WTF::computeRAMSize): If you say you are going to return a size_t, actually return a size_t. 2012-05-21 Geoffrey Garen GC allocation trigger should be tuned to system RAM https://bugs.webkit.org/show_bug.cgi?id=87039 Reviewed by Darin Adler. Added a helper function for measuring system RAM. * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: * wtf/AmountOfRAM.cpp: Added. (WTF): (WTF::computeAmountOfRAM): (WTF::amountOfRAM): * wtf/AmountOfRAM.h: Added. (WTF): * wtf/CMakeLists.txt: * wtf/StdLibExtras.h: (WTF): 2012-05-22 Allan Sandfeld Jensen GCC 4.7 and C++11 support. https://bugs.webkit.org/show_bug.cgi?id=86465 Reviewed by Darin Adler. Detect C++11 mode in GCC 4.7 and set appropiate compiler feature flags. Turn C++11 override control into a compiler feature flag. Fix non-clang support of compiler feature CXX_DELETED_FUNCTIONS. * wtf/Compiler.h: * wtf/Noncopyable.h: 2012-05-22 Filip Pizlo REGRESSION(r117861): It made almost all tests crash on Qt https://bugs.webkit.org/show_bug.cgi?id=87082 Reviewed by Csaba Osztrogonác. Using OwnArrayPtr is a bad idea if you allocate array with fastCalloc. * wtf/FastBitVector.h: (WTF::FastBitVector::FastBitVector): (WTF::FastBitVector::~FastBitVector): (FastBitVector): (WTF::FastBitVector::operator=): (WTF::FastBitVector::resize): (WTF::FastBitVector::setAll): (WTF::FastBitVector::clearAll): (WTF::FastBitVector::set): 2012-05-21 Filip Pizlo DFG should be able to compute dominators https://bugs.webkit.org/show_bug.cgi?id=85269 Reviewed by Oliver Hunt. Merged r115754 from dfgopt. Added a bitvector class suitable for cheap static analysis. This class differs from BitVector in that instead of optimizing for space, it optimizes for execution time. Its API is also somewhat less friendly, which is intentional; it's meant to be used in places where you know up front how bit your bitvectors are going to be. * GNUmakefile.list.am: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: * wtf/FastBitVector.h: Added. (WTF): (FastBitVector): (WTF::FastBitVector::FastBitVector): (WTF::FastBitVector::operator=): (WTF::FastBitVector::numBits): (WTF::FastBitVector::resize): (WTF::FastBitVector::setAll): (WTF::FastBitVector::clearAll): (WTF::FastBitVector::set): (WTF::FastBitVector::setAndCheck): (WTF::FastBitVector::equals): (WTF::FastBitVector::merge): (WTF::FastBitVector::filter): (WTF::FastBitVector::exclude): (WTF::FastBitVector::clear): (WTF::FastBitVector::get): (WTF::FastBitVector::arrayLength): 2012-05-15 Gavin Barraclough Add support for private names https://bugs.webkit.org/show_bug.cgi?id=86509 Reviewed by Oliver Hunt. The spec isn't final, but we can start adding support to allow property maps to contain keys that aren't identifiers. * wtf/text/StringImpl.h: (WTF::StringImpl::StringImpl): (StringImpl): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::isEmptyUnique): - Allow empty string impls to be allocated, which can be used as unique keys. 2012-05-21 Emil A Eklund and Levi Weintraub Enable SUBPIXEL_LAYOUT feature flag on Chromium https://bugs.webkit.org/show_bug.cgi?id=85555 Reviewed by Eric Seidel. Enabling sub-pixel layout on Chromium port. * wtf/Platform.h: 2012-05-21 Andreas Kling CSS: Move duplicate property elimination to parser. Reviewed by Antti Koivisto. Add WTF::BitArray, a simple, malloc free, fixed-size bit array class. * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: * wtf/BitArray.h: Added. (WTF): (BitArray): (WTF::BitArray::BitArray): (WTF::BitArray::set): (WTF::BitArray::get): * wtf/CMakeLists.txt: 2012-05-21 Allan Sandfeld Jensen Colliding isinf/isnan between C99 and C++11 with GCC >=4.6 https://bugs.webkit.org/show_bug.cgi?id=59249 Reviewed by Darin Adler. Workaround the isinf and isnan conflict in GCC C++11. * wtf/Compiler.h: * wtf/MathExtras.h: (std::wtf_isinf): (std::wtf_isnan): 2012-05-21 Andreas Kling REGRESSION(r117501): IconDatabase asserts on startup in synchronousIconForPageURL(). Reviewed by Anders Carlsson. Added a swap() to HashCountedSet. * wtf/HashCountedSet.h: (HashCountedSet::swap): 2012-05-16 Geoffrey Garen This is not a joke: 3.7X speedup from removing a call to sleep https://bugs.webkit.org/show_bug.cgi?id=86702 Reviewed by Eric Seidel. The speedup was on a GC benchmark, with a custom VM caching layer not in TOT yet. Instruments showed most GC threads spending the majority of their time sleeping instead of doing useful work. Removing the call to sleep sped up the benchmark. * wtf/TCSpinLock.h: (TCMalloc_SlowLock): Since a spin lock is only ever held for a short amount of time, don't sleep for a long amount of time waiting for it to unlock -- yielding to the scheduler is sufficient. If we find a case where someone is sitting on a spin lock for over 2ms, we should fix the spin lock holder, not the spin lock. 2012-05-16 Simon Fraser Make things build with DUMP_HASHTABLE_STATS=1 https://bugs.webkit.org/show_bug.cgi?id=86571 Reviewed by Geoffrey Garen. DUMP_HASHTABLE_STATS bitrotted after the WTF separation. This patch makes it build. Added WTF_EXPORTDATA to the global data, and WTF_EXPORT_PRIVATE to the static HashTableStats methods. Added a dumpStats() method that is not yet called anywhere; we can no longer rely on destroying a global object to dump the stats because global destructors are disallowed. * wtf/HashTable.cpp: (WTF): (WTF::HashTableStats::recordCollisionAtCount): (WTF::HashTableStats::dumpStats): * wtf/HashTable.h: (HashTableStats): 2012-05-15 Filip Pizlo shrinkToFit() is often not called for Vectors in CodeBlock https://bugs.webkit.org/show_bug.cgi?id=86436 Reviewed by Oliver Hunt. Gave SegmentedVector a shrinkToFit() method. This only shrinks the segment lookup table, which is likely to not be hugely profitable, but it is better than nothing. * wtf/SegmentedVector.h: (SegmentedVector): (WTF::SegmentedVector::shrinkToFit): 2012-05-15 Andy Estes Add WTF_USE_SECURITY_FRAMEWORK and use it in place of the less specific PLATFORM(MAC) https://bugs.webkit.org/show_bug.cgi?id=86508 Reviewed by Sam Weinig. * wtf/Platform.h: 2012-05-15 Zoltan Herczeg NEONizing forceValidPreMultipliedPixels https://bugs.webkit.org/show_bug.cgi?id=86468 Reviewed by Nikolas Zimmermann. Allow to disable all intrinsics with a single macro. * wtf/Platform.h: 2012-05-14 Andy Estes Add WTF_USE_APPKIT to differentiate platforms that use AppKit.framework from other Darwin platforms https://bugs.webkit.org/show_bug.cgi?id=86432 Reviewed by Maciej Stachowiak. * wtf/Platform.h: 2012-05-14 Mark Rowe WTF.xcodeproj builds with -O3 in debug builds Reviewed by Simon Fraser. * WTF.xcodeproj/project.pbxproj: Ensure that the debug configuration uses the same settings as the debug variant would. 2012-05-14 Wei James [Chromium] ImageDiff should be build for host on Android https://bugs.webkit.org/show_bug.cgi?id=82039 Reviewed by Adam Barth. * WTF.gyp/WTF.gyp: 2012-05-14 Yong Li DFG JIT is not ARM EABI compatible https://bugs.webkit.org/show_bug.cgi?id=84449 Reviewed by Filip Pizlo. Add COMPILER_SUPPORTS(EABI) when __ARM_EABI__ or __EABI__ is defined. * wtf/Compiler.h: 2012-05-10 Michał Pakuła vel Rutka [EFL] Add OwnPtr specialization for Eina_Hash. https://bugs.webkit.org/show_bug.cgi?id=85046 Reviewed by Andreas Kling. Add an override for Eina_Hash for EFL port. * wtf/OwnPtrCommon.h: (WTF): * wtf/efl/OwnPtrEfl.cpp: (WTF::deleteOwnedPtr): (WTF): 2012-05-09 Filip Pizlo It should be possible to get useful debug logging from the JIT memory allocator https://bugs.webkit.org/show_bug.cgi?id=86042 Reviewed by Geoff Garen. * wtf/MetaAllocator.cpp: (WTF::MetaAllocator::findAndRemoveFreeSpace): (WTF::MetaAllocator::addFreeSpace): (WTF::MetaAllocator::dumpProfile): 2012-05-08 Sheriff Bot Unreviewed, rolling out r116440. http://trac.webkit.org/changeset/116440 https://bugs.webkit.org/show_bug.cgi?id=85904 Broke the Chromium Android bot (Requested by beverloo on #webkit). * WTF.gyp/WTF.gyp: 2012-05-08 Adam Barth [Chromium] OS(ANDROID) ImageDiff requires us to build WTF for both host and target https://bugs.webkit.org/show_bug.cgi?id=85897 Reviewed by Tony Chang. * WTF.gyp/WTF.gyp: 2012-05-08 Adam Barth [Chromium] Assertions.cpp should work on OS(ANDROID) https://bugs.webkit.org/show_bug.cgi?id=85867 Reviewed by Eric Seidel. Some minor ifdefs for OS(ANDROID) on PLATFORM(CHROMIUM). * wtf/Assertions.cpp: 2012-05-07 Adam Barth [Chromium] Android wishes to use an empty implementation if AXObjectCache https://bugs.webkit.org/show_bug.cgi?id=85842 Reviewed by Eric Seidel. Disable accessibility on OS(ANDROID) for PLATFORM(CHROMIUM). * wtf/Platform.h: 2012-05-04 Jeff Rogers [BlackBerry] Implement numberOfProcessorCores() for QNX https://bugs.webkit.org/show_bug.cgi?id=85638 Reviewed by Antonio Gomes. * wtf/NumberOfCores.cpp: (WTF::numberOfProcessorCores): 2012-05-03 Yong Li Mutex failure when HashTable is memory moved in debug build https://bugs.webkit.org/show_bug.cgi?id=84970 Reviewed by Rob Buis. 1. Replace m_mutex with OwnPtr so HashTable is still memory movable in debug build. 2. Assert successes of pthread_mutex_init() and pthread_mutex_destroy(). * wtf/HashTable.h: (HashTable): (WTF::::HashTable): (WTF::::invalidateIterators): (WTF::addIterator): (WTF::removeIterator): * wtf/ThreadingPthreads.cpp: (WTF::Mutex::Mutex): (WTF::Mutex::~Mutex): 2012-05-02 Antti Koivisto Add temporary feature define for parsed stylesheet caching https://bugs.webkit.org/show_bug.cgi?id=85413 Rubber-stamped by Nikolas Zimmermann. While not an externally visible feature this is still a significant internal change. It is good to have define in case someone has an urgent need to turn it off. Caching is enabled by default on all platforms. The define should be removed after some bake time. * wtf/Platform.h: 2012-05-02 Lauro Neto [Qt]r57240 broke Qt build (gcc bug) https://bugs.webkit.org/show_bug.cgi?id=37253 Reviewed by Csaba Osztrogonác. Add back the inline hack just for ARM due to old version of gcc still being used on Harmattan SDK. Thanks to Ossy for the suggestion. * wtf/PassRefPtr.h: (WTF): 2012-05-02 Nico Weber Let WebKit parse with clang on windows with -std=c++11 https://bugs.webkit.org/show_bug.cgi?id=85398 Reviewed by Ryosuke Niwa. See http://trac.webkit.org/changeset/85945 for background on the line I'm changing. With clang, __GXX_EXPERIMENTLAL_CXX0X__ is set in c++11 mode, but MSVC's c++ library doesn't have a tr1/memory header. So also check for __GLIBCXX__, like it's done in the rest of this file. * wtf/TypeTraits.h: 2012-05-02 Adenilson Cavalcanti [Qt]r57240 broke Qt build (gcc bug) https://bugs.webkit.org/show_bug.cgi?id=37253 Reviewed by Noam Rosenthal. Removing workaround macro since current gcc/Qt doesn't require it to compile. * wtf/PassRefPtr.h: (WTF): 2012-04-30 Oliver Hunt Investigate overflows in Canvas putImageData routine https://bugs.webkit.org/show_bug.cgi?id=61373 Reviewed by Gavin Barraclough. Allow floating point multiplies of checked types (complete with bounds checks). * wtf/CheckedArithmetic.h: (Checked): (WTF::Checked::operator*=): 2012-04-30 Benjamin Poulain Add String::startsWith() and endsWith() for string literals https://bugs.webkit.org/show_bug.cgi?id=85154 Reviewed by Darin Adler. When invoking StringImpl::startsWidth() or StringImpl::endsWith() with a string literal, a new String was constructed implicitly, allocating a new StringImpl and copying the characters for the operation. This patch adds a version of those methods for single characters and string literals. This allows us to avoid allocating memory and use the characters in place, and it permits some extra shortcuts in the implementation. * wtf/text/AtomicString.h: (WTF::AtomicString::startsWith): (AtomicString): (WTF::AtomicString::endsWith): * wtf/text/StringImpl.cpp: (WTF::equalInner): (WTF): (WTF::StringImpl::startsWith): (WTF::StringImpl::endsWith): * wtf/text/StringImpl.h: (WTF::StringImpl::startsWith): (StringImpl): (WTF::StringImpl::endsWith): * wtf/text/WTFString.h: (WTF::String::startsWith): (String): (WTF::String::endsWith): 2012-04-30 Anders Carlsson WTF::bind should work with blocks https://bugs.webkit.org/show_bug.cgi?id=85227 Reviewed by Sam Weinig. Add a block type FunctionWrapper specialization. * wtf/Functional.h: 2012-04-28 Emil A Eklund Add ENABLE_SUBPIXEL_LAYOUT controlling FractionalLayoutUnit denominator https://bugs.webkit.org/show_bug.cgi?id=85146 Reviewed by Eric Seidel. Add a new flag for controlling the fixed point denominator in FractionalLayoutUnit. Controls whether the denominator is set to 60 or 1. Until we change the LayoutUnit typedef this change will have no effect. * wtf/Platform.h: 2012-04-29 Kent Tamura [Mac] Add LocalizedDateMac https://bugs.webkit.org/show_bug.cgi?id=85039 Reviewed by Kentaro Hara. * wtf/DateMath.h: (WTF): Add monthFullName[]. It is useful to make fallback month names for calendar/date related features. 2012-04-26 Carlos Garcia Campos [SOUP] Add a way to register custom uri schemes in WebKit2 https://bugs.webkit.org/show_bug.cgi?id=84130 Reviewed by Martin Robinson. Add GPtrArray template to be able to use GRefPtr with GPtrArrays. * wtf/gobject/GRefPtr.cpp: (WTF::refGPtr): (WTF): (WTF::derefGPtr): * wtf/gobject/GRefPtr.h: (WTF): * wtf/gobject/GTypedefs.h: 2012-04-26 Nico Weber Don't define WTF_COMPILER_SUPPORTS_CXX_NULLPTR twice when building with clang on windows. https://bugs.webkit.org/show_bug.cgi?id=85018 Reviewed by Anders Carlsson. Clang sets _MSC_VER when compiling for a -pc-win32 target (just like it sets __GNUC__ on unix). As a result, WTF_COMPILER_SUPPORTS_CXX_NULLPTR gets currently set twice, once for clang and once for _MSC_VER. Guard the second instance with !COMPILER(CLANG). This matches the gcc code for WTF_COMPILER_SUPPORTS_CXX_NULLPTR in the same file. * wtf/Compiler.h: 2012-04-26 Antonio Gomes [BlackBerry] properly disable DRAG_SUPPORT https://bugs.webkit.org/show_bug.cgi?id=84952 Reviewed by Daniel Bates. * wtf/Platform.h: Remove the line that disables drag support from here for the BlackBerry port. 2012-04-25 Benjamin Poulain Add a version of StringImpl::find() without offset https://bugs.webkit.org/show_bug.cgi?id=83968 Reviewed by Sam Weinig. This patch add a version of StringImpl::find() without offset, Instead of using the default value for the index. By not having the index, we can skip a couple of branches and a few instructions. This gives significant gains when the strings are short-ish. The case of empty string is moved below (matchLength == 1) since it is a less common operation. * wtf/text/StringImpl.cpp: (WTF::StringImpl::find): (WTF): * wtf/text/StringImpl.h: (StringImpl): * wtf/text/WTFString.h: (String): (WTF::String::find): 2012-04-25 Darin Adler Iterating a HashMap involves a string equality comparison to check for the empty value https://bugs.webkit.org/show_bug.cgi?id=84524 Reviewed by Antti Koivisto. * wtf/HashMap.h: Added a struct template, HashMapValueTraits, that derives from PairHashTraits, adds an isEmptyValue function that looks only at the key, not the mapped value, in the hash table value, and uses the isHashTraitsEmptyValue function template to check if the key is empty. 2012-04-25 Landry Breuil Include , needed for sysctl() on OpenBSD/NetBSD https://bugs.webkit.org/show_bug.cgi?id=82585 Reviewed by Zoltan Herczeg. * wtf/NumberOfCores.cpp: include on the BSDs 2012-04-25 Kenneth Russell Delete CanvasPixelArray, ByteArray, JSByteArray and JSC code once unreferenced https://bugs.webkit.org/show_bug.cgi?id=83655 Reviewed by Oliver Hunt. * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: * wtf/ByteArray.cpp: Removed. * wtf/ByteArray.h: Removed. * wtf/CMakeLists.txt: 2012-04-25 Philippe Normand Webkit build fails due to missing gstreamer include file on Kubuntu 8.04 https://bugs.webkit.org/show_bug.cgi?id=81913 Reviewed by Tor Arne Vestbø. * WTF.pri: GStreamer build support implies GLib support, as it's done in WebCore.pri. 2012-04-24 Benjamin Poulain Generalize the single character optimization of r114072 https://bugs.webkit.org/show_bug.cgi?id=83961 Reviewed by Eric Seidel. This patch makes some improvment over String::find() in the case of lookup for a single character. The two function find(UChar|LChar) are replaced by a template. The case of searching a UChar in a 8bit string has a shortcut if the UChar cannot possibly match any character in the range of the type LChar. The slow case StringImpl::find(StringImpl*) is modified to -Do not allocate in the fast case if only one string is 8bit. -Use the shortcut for searching UChar in LChar. This speed up the function by about 7% when avoiding string conversion. * wtf/text/StringImpl.cpp: (WTF::StringImpl::find): * wtf/text/StringImpl.h: (StringImpl): (WTF): (WTF::find): (WTF::StringImpl::find): 2012-04-24 Darin Adler Iterating a HashMap involves a string equality comparison to check for the empty value https://bugs.webkit.org/show_bug.cgi?id=84524 Reviewed by Antti Koivisto. Added a new algorithm for checking for empty buckets that can be specialized. Specialized it for String. We may later want to do the same thing for KURL. It's not important to do it for AtomicString, since AtomicString's == function is already a simple pointer equality compare. We may also later want to do something similar for pairs that have String objects in them. * wtf/HashTable.h: (WTF::HashTable::isEmptyBucket): Call the new isHashTraitsEmptyValue function, which will do something more efficient for String. * wtf/HashTraits.h: Added hasIsEmptyValueFunction to hash traits, with a default value of false. This allows us to continue to get automatic comparison with the appropriate emptyValue result for all existing traits, but supply a custom isEmptyValue function for HashTraits. Putting an isEmptyValue function into the traits would require overriding it in every class that has a custom value for emptyValue. Specialized HashTraits for String to add hasIsEmptyValueFunction and declare, but not define, the isEmptyValue function. (WTF::isHashTraitsEmptyValue): Added a function that uses the HashTraitsEmptyValueChecker struct to use either == combined with the emptyValue function or the isEmptyValue function. * wtf/text/StringHash.h: Removed unneeded includes and sorted the using statements at the bottom of the file. (WTF::HashTraits::isEmptyValue): Define this function here, since here we have included the WTFString.h header; the HashTraits.h header compiles without WTFString.h. 2012-04-23 Kenneth Russell Change ImageData to reference Uint8ClampedArray rather than CanvasPixelArray https://bugs.webkit.org/show_bug.cgi?id=73011 Reviewed by Oliver Hunt. * wtf/ArrayBuffer.h: (ArrayBuffer): (WTF::ArrayBuffer::create): (WTF::ArrayBuffer::createUninitialized): (WTF): (WTF::ArrayBufferContents::tryAllocate): * wtf/TypedArrayBase.h: (WTF::TypedArrayBase::createUninitialized): (TypedArrayBase): * wtf/Uint8ClampedArray.h: (Uint8ClampedArray): (WTF::Uint8ClampedArray::createUninitialized): (WTF): (WTF::Uint8ClampedArray::zeroFill): 2012-04-23 George Staikos Enable parallel GC for BlackBerry. https://bugs.webkit.org/show_bug.cgi?id=84633 Reviewed by Antonio Gomes. * wtf/Platform.h: 2012-04-23 Sheriff Bot Unreviewed, rolling out r114914. http://trac.webkit.org/changeset/114914 https://bugs.webkit.org/show_bug.cgi?id=84615 Causing infinite hangs on some tests involving HashMaps with integer keys (Requested by dimich on #webkit). * wtf/HashTable.h: (WTF::HashTable::isEmptyBucket): * wtf/HashTraits.h: * wtf/text/StringHash.h: 2012-04-23 Darin Adler Iterating a HashMap involves a string equality comparison to check for the empty value https://bugs.webkit.org/show_bug.cgi?id=84524 Reviewed by Antti Koivisto. Added a new algorithm for checking for empty buckets that can be specialized. Specialized it for String. We may later want to do the same thing for KURL. It's not important to do it for AtomicString, since AtomicString's == function is already a simple pointer equality compare. * wtf/HashTable.h: (WTF::HashTable::isEmptyBucket): Call the new isHashTraitsEmptyValue function, which will do something more efficient for String. * wtf/HashTraits.h: Added hasIsEmptyValueFunction to hash traits, with a default value of false. This allows us to continue to get automatic comparison with the appropriate emptyValue result for all existing traits, but supply a custom isEmptyValue function for HashTraits. Putting an isEmptyValue function into the traits would require overriding it in every class that has a custom value for emptyValue. Specialized HashTraits for String to add hasIsEmptyValueFunction and declare, but not define, the isEmptyValue function. (WTF::isHashTraitsEmptyValue): Added a function that uses the HashTraitsEmptyValueChecker struct to use either == combined with the emptyValue function or the isEmptyValue function. (PairHashTraits): Define hasIsEmptyValueFunction and isEmptyValue. * wtf/text/StringHash.h: Removed unneeded includes and sorted the using statements at the bottom of the file. (WTF::HashTraits::isEmptyValue): Define this function here, since here we have included the WTFString.h header; the HashTraits.h header compiles without WTFString.h. 2012-04-18 Myles Maxfield Somehow, there's an errant backslash in my last WTF patch https://bugs.webkit.org/show_bug.cgi?id=84290 Reviewed by Andreas Kling. * wtf/StdLibExtras.h: (WTF::roundUpToMultipleOf): 2012-04-16 Nico Weber Make NullPtr.h compile with clang -std=c++11 and libstdc++4.2 https://bugs.webkit.org/show_bug.cgi?id=83999 Reviewed by Sam Weinig. Before this patch, NullPtr.h assumed that a working |nullptr| implied a working |std::nullptr_t| as well. With clang and libstdc++4.2, this is not true. I tested (-stdlib=libc++, -stdlib=libstdc++) x (-std=c++11, -std=c++03) with clang. * wtf/NullPtr.h: (std): 2012-04-14 Sam Weinig Harden WTF::ByteArray::create() https://bugs.webkit.org/show_bug.cgi?id=83318 Reviewed by Maciej Stachowiak. * wtf/ByteArray.cpp: (WTF::ByteArray::create): Add overflow check. I don't believe there is anyway to trigger this currently, hence no tests, so this should be considered hardening. 2012-04-12 Benjamin Poulain Inline StringImpl::find(UChar, ...) https://bugs.webkit.org/show_bug.cgi?id=83737 Reviewed by Geoffrey Garen. The implementation of StringImpl::find() is a simple branch before invoking one of two inline functions. The overhead of having a function for StringImpl::find() is significant. It is better to let the compiler decide if that should be inlined or not. * wtf/text/StringImpl.cpp: * wtf/text/StringImpl.h: (StringImpl): (WTF::find): (WTF): (WTF::reverseFind): (WTF::StringImpl::find): * wtf/text/WTFString.h: 2012-04-12 Balazs Kelemen [Qt] Fix WebKit1 build with V8 https://bugs.webkit.org/show_bug.cgi?id=83322 Reviewed by Adam Barth. * wtf/StdLibExtras.h: (WTF): 2012-04-12 Jer Noble ThreadingWin: Mutex::unlock() can be "over-unlocked". https://bugs.webkit.org/show_bug.cgi?id=83725 Reviewed by David Levin. In order to support the behavior of pthread_mutex_trylock(), the Windows Mutex class includes a recursion counter which is incremented in Mutex::lock(), decremented in Mutex::unlock(), and checked in Mutex::tryLock(). If the mutex is "over-unlocked", the counter wraps around to MAX_INT, and subsequent calls to Mutex::trylock() will fail. Raise an ASSERT in this situation so the "over-unlock" will be caught. * wtf/ThreadingWin.cpp: (WTF::Mutex::unlock): ASSERT if unlocking a non-locked mutex. 2012-04-10 Mark Rowe WebKit2 should log to both ASL and stderr Reviewed by Sam Weinig. * wtf/Assertions.cpp: Add a WTFLogAlways function that unconditionally logs the given message. * wtf/Assertions.h: 2012-04-10 Patrick Gansterer Cleanup wtf/Platform.h and config.h files https://bugs.webkit.org/show_bug.cgi?id=83431 Reviewed by Eric Seidel. The ENABLE() and USE() macros take care about the case when the flag isn't defined. So there is no need to define anything with 0. Also move duplicated code from the config.h files to Platform.h and merge a few preprocessor commands to make the file more readable. * config.h: * wtf/Platform.h: 2012-04-10 Filip Pizlo DFG should flush SetLocals to arguments https://bugs.webkit.org/show_bug.cgi?id=83554 Reviewed by Gavin Barraclough. Added an isRoot() method that is a faster shorthand for saying find() == this. * wtf/UnionFind.h: (WTF::UnionFind::isRoot): (UnionFind): 2012-04-10 Adam Klein Remove unused NonNullPassRefPtr from WTF https://bugs.webkit.org/show_bug.cgi?id=82389 Reviewed by Kentaro Hara. NonNullPassRefPtr seems to be unused since JSC allocation was restructured in r84052. If someone decides they need this later, they can always revert this patch. * wtf/PassRefPtr.h: * wtf/RefPtr.h: (RefPtr): 2012-04-10 Patrick Gansterer [CMake] Enable USE_FOLDERS property https://bugs.webkit.org/show_bug.cgi?id=83571 Reviewed by Daniel Bates. Setting the FOLDER property on targets gives more structure to the generated Visual Studio solutions. This does not affect other CMake generators. * wtf/CMakeLists.txt: 2012-04-09 Patrick Gansterer Port BinarySemaphoreWin.cpp to WinCE https://bugs.webkit.org/show_bug.cgi?id=83502 Reviewed by Daniel Bates. Replace WaitForSingleObjectEx with WaitForSingleObject since the additonal parameter supported by the extended function is not used anyway and the function does not exist on WinCE. * wtf/CMakeLists.txt: * wtf/PlatformWinCE.cmake: * wtf/threads/win/BinarySemaphoreWin.cpp: (WTF::BinarySemaphore::wait): 2012-04-09 Patrick Gansterer [CMake] Build fix for USE_SYSTEM_MALLOC after r113570. * wtf/CMakeLists.txt: 2012-04-09 Patrick Gansterer Remove HAVE_STDINT_H https://bugs.webkit.org/show_bug.cgi?id=83434 Reviewed by Kentaro Hara. HAVE_STDINT_H is defined with 1 all the time and we us stdint.h without HAVE(STDINT_H) already. * config.h: * wtf/FastMalloc.cpp: * wtf/TCPageMap.h: * wtf/TCSpinLock.h: * wtf/TCSystemAlloc.cpp: 2012-04-06 Benjamin Poulain Get rid of the useless flag PREEMPT_GEOLOCATION_PERMISSION https://bugs.webkit.org/show_bug.cgi?id=83325 Reviewed by Ryosuke Niwa. * wtf/Platform.h: Remove the flag. 2012-04-06 Darin Adler Streamline strtod and fix some related problems https://bugs.webkit.org/show_bug.cgi?id=82857 Reviewed by Geoffrey Garen. Replaced the strtod function template with a parseDouble function, eliminating the following unneeded features: - need for a trailing null character and a call to strlen - needless conversion of string lengths from size_t to int and back that created the possibility of incorrect truncation - one level of function call; use inlining instead - construction of the StringToDoubleConverter object; it was used to pass arguments that are known at compile time - most of the StringToDoubleConverter::StringToDouble function's body; it was code we did not need - parsing of Infinity and NaN at the strtod level; added recently when we moved from the old strtod to the new one, and not needed or helpful at this level - multiple copies of code to narrow to single byte strings; in many cases this was done even when starting with an LChar string that is already single-byte, now we handle this with an overload of parseDouble * wtf/dtoa.cpp: Removed a long comment about the original strtod function that no longer applies since we deleted that function long ago. Removed a lot of includes. Removed the strtod function templates and its instantiations, since they are now replaced by the parseDouble function. (WTF::Internal::parseDoubleFromLongString): Added. * wtf/dtoa.h: Added an include of ASCIICType.h so we can use isASCII in a function in this header. Left the heretofore unneeded include of double-conversion.h, since we now want to use it in a function in this header. Removed the AllowTrailingJunkTag and AllowTrailingSpacesTag enumerations and the strtod function template. Added new parseDouble function, and inline implementation of it. * wtf/dtoa/double-conversion.cc: Removed quite a bit of unused code, hardcoding all the StringToDouble function arguments that come from data members so it can be a much smaller static member function. Also changed the types of arguments from int to size_t. * wtf/dtoa/double-conversion.h: Removed most of the StringToDoubleConverter class, leaving only the conversion function as a static member function. * wtf/text/StringImpl.cpp: (WTF::StringImpl::toDouble): Got rid of didReadNumber. (WTF::StringImpl::toFloat): Ditto. * wtf/text/StringImpl.h: Ditto. * wtf/text/WTFString.cpp: (WTF::String::toDouble): Got rid of didReadNumber. (WTF::String::toFloat): Ditto. (WTF::toDoubleType): Rewrote this function to use parseDouble. Moved the code to skip leading spaces here, because other callers of parseDouble don't want to do that. Repurposed the check for an empty string so it's now the same code shared by all the "parsed nothing" cases. Removed the code to convert the buffer to ASCII for two reasons: (1) We don't need that code at all when CharType is LChar, and (2) We now handle this through the two overloads for the parseDouble function. Disallowing trailing junk is now handled here, rather than inside parseDouble. (WTF::charactersToDouble): Updated for changes to toDoubleType. Removed the didReadNumber argument. (WTF::charactersToFloat): Ditto. Also added overloads that return the parsed length. These are a slightly more powerful way to do what didReadNumber was used for before. * wtf/text/WTFString.h: Added comments, eliminated didReadNumber, and added overloads of charactersToFloat that replace charactersToFloatIgnoringJunk. 2012-04-05 Patrick Gansterer [WinCE] Remove unnecessary function decleration https://bugs.webkit.org/show_bug.cgi?id=83155 Reviewed by Kentaro Hara. * wtf/DateMath.cpp: * wtf/Platform.h: 2012-04-04 Patrick Gansterer Add WTF::getCurrentLocalTime() https://bugs.webkit.org/show_bug.cgi?id=83164 Reviewed by Alexey Proskuryakov. Replace the calls to WTF::getLocalTime() with time(0) with the new function. This allows us to use Win32 API on windows to get the same result in a next step. Also remove the inline keyword from WTF::getLocalTime(), since there is no need for it and it will make the later Win32 API changes easier. * WTF.gyp/WTF.gyp: * wtf/CurrentTime.cpp: (WTF::getLocalTime): (WTF::getCurrentLocalTime): * wtf/CurrentTime.h: 2012-04-04 Chris Rogers Web Audio should use MutexTryLocker class https://bugs.webkit.org/show_bug.cgi?id=83194 Reviewed by Kenneth Russell. Add MutexTryLocker class which can be used as a stack-based object wrapping a Mutex. It will automatically unlock the Mutex in its destructor if the tryLock() succeeded. * wtf/ThreadingPrimitives.h: (MutexTryLocker): (WTF::MutexTryLocker::MutexTryLocker): (WTF::MutexTryLocker::~MutexTryLocker): (WTF::MutexTryLocker::locked): Check if the tryLock() on the Mutex succeeded. (WTF): 2012-04-04 Kausalya Madhusudhanan [Coverity] Address some uninit constructor values. https://bugs.webkit.org/show_bug.cgi?id=82424 Reviewed by Stephen White. New tests are not required since I did not modify any code behavior. I just initialized the class member variables in the constructor. * wtf/ArrayBufferView.cpp: (WTF::ArrayBufferView::ArrayBufferView): 2012-03-30 David Barr Split up top-level .gitignore and .gitattributes https://bugs.webkit.org/show_bug.cgi?id=82687 Reviewed by Tor Arne Vestbø. * WTF.gyp/.gitignore: Added. 2012-03-29 Kevin Ollivier [wx] Unreviewed build fix. Add export symbols needed to build wx under Windows. * wtf/NullPtr.h: * wtf/ParallelJobsGeneric.h: (ParallelEnvironment): * wtf/ThreadSpecific.h: (WTF): 2012-03-29 Kevin Ollivier [wx] Unreviewed build fix. Add WTF_EXPORT_PRIVATE_NO_RTTI so that ports not using RTTI can add symbol exports to classes that RTTI ports export with WTF_EXPORT_PRIVATE_RTTI. * wtf/ArrayBufferView.h: * wtf/ExportMacros.h: 2012-03-29 Caio Marcelo de Oliveira Filho HashMap<>::add should return a more descriptive object https://bugs.webkit.org/show_bug.cgi?id=71063 Reviewed by Ryosuke Niwa. Make HashTable<>::add() and derivate functions return an AddResult struct instead of a pair. This struct contains contains 'iterator' and 'isNewEntry' members, that are more readable at callsites than previous 'first' and 'second'. * wtf/HashCountedSet.h: (HashCountedSet): (WTF::::add): * wtf/HashMap.h: (HashMap): (WTF): (WTF::::set): * wtf/HashSet.h: (HashSet): (WTF::::add): (WTF): * wtf/HashTable.h: (WTF::HashTableAddResult::HashTableAddResult): (HashTableAddResult): (WTF): (HashTable): (WTF::HashTable::add): (WTF::::add): (WTF::::addPassingHashCode): * wtf/ListHashSet.h: (ListHashSet): (WTF::::add): (WTF::::insertBefore): * wtf/RefPtrHashMap.h: (WTF): (WTF::::set): * wtf/Spectrum.h: (WTF::Spectrum::add): * wtf/WTFThreadData.cpp: (JSC::IdentifierTable::add): * wtf/WTFThreadData.h: (IdentifierTable): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::addSlowCase): 2012-03-29 Andreas Kling String: Subscript operator shouldn't force conversion to 16-bit characters. Reviewed by Anders Carlsson. Forward String::operator[] to StringImpl::operator[] instead of indexing into characters(). This avoid implicit conversion of 8-bit strings to 16-bit, and as an example, reduces memory usage on http://www.allthingsd.com/ by 360kB. * wtf/text/WTFString.h: (WTF::String::operator[]): 2012-03-28 Carlos Garcia Campos [GTK] Implement PlatformStrategies https://bugs.webkit.org/show_bug.cgi?id=82454 Reviewed by Xan Lopez. * wtf/Platform.h: Define WTF_USE_PLATFORM_STRATEGIES for GTK+ platform too. 2012-03-26 Ryosuke Niwa Set eol-style: native on WTF.sln per Ryan Sleevi's request. * WTF.vcproj/WTF.sln: Added property svn:eol-style. 2012-03-26 Ryosuke Niwa Chromium build fix; add BitVector.h/cpp to gypi. * WTF.gypi: 2012-03-26 Ryosuke Niwa Touch BitVector as a speculative fix for Chromium Linux. * wtf/BitVector.h: (BitVector): 2012-03-23 Ryosuke Niwa cssText should use shorthand notations https://bugs.webkit.org/show_bug.cgi?id=81737 Reviewed by Enrica Casucci. * wtf/BitVector.h: (BitVector): (WTF::BitVector::ensureSizeAndSet): Added. 2012-03-26 Carlos Garcia Campos Unreviewed. Fix make distcheck. * GNUmakefile.list.am: Add config.h to the source file list. 2012-03-25 Kevin Ollivier [wx] Unreviewed build fix. Move WTF to its own static lib build. * wscript: Added. 2012-03-23 Tony Chang [chromium] Unreviewed, move a comment closer to where it matters and make it more specific. * WTF.gyp/WTF.gyp: 2012-03-23 Steve Falkenburg Update Apple Windows build files for WTF move https://bugs.webkit.org/show_bug.cgi?id=82069 Reviewed by Jessie Berlin. * WTF.vcproj/WTF.make: Added. * WTF.vcproj/WTF.sln: Added. 2012-03-23 Dean Jackson Disable CSS_SHADERS in Apple builds https://bugs.webkit.org/show_bug.cgi?id=81996 Reviewed by Simon Fraser. Put ENABLE_CSS_SHADERS into Platform.h, but disable for Apple builds. * wtf/Platform.h: 2012-03-23 Tony Chang [chromium] rename newwtf target back to wtf https://bugs.webkit.org/show_bug.cgi?id=82064 Reviewed by Adam Barth. * WTF.gyp/WTF.gyp: 2012-03-22 Jessie Berlin Windows build fix after r111778. * WTF.vcproj/WTF.vcproj: DateMath.h and DateMath.cpp should be built by WTF, since they are part of WTF. 2012-03-22 Raphael Kubo da Costa [CMake] Unreviewed build fix after r111778. * CMakeLists.txt: Added. * wtf/CMakeLists.txt: Add ${CMAKE_BINARY_DIR} to the include paths for cmakeconfig.h to be found. 2012-03-22 Tony Chang Unreviewed, attempt to fix the chromium-win build and another attempt at fixing the chromium-android build. * WTF.gyp/WTF.gyp: 2012-03-22 Tony Chang Unreviewed, attempt to fix chromium-android build. * WTF.gyp/WTF.gyp: 2012-03-22 Tony Chang Unreviewed, fix chromium build after wtf move. Move wtf_config and wtf settings to newwtf. * WTF.gyp/WTF.gyp: 2012-03-22 Martin Robinson One more GTK+ build fix after r111778. * GNUmakefile.am: Adding missing include path. 2012-03-22 Martin Robinson Fixed the GTK+ WTF/JavaScriptCore build after r111778. * GNUmakefile.am: Remove some extra trailing backslashes and a few uncessary variables. * GNUmakefile.list.am: Ditto. 2012-03-22 Dan Bernstein Fixed the JavaScriptCore debug build after r111778. * WTF.xcodeproj/project.pbxproj: Use debug DEBUG_DEFINES when building the Debug configuration. 2012-03-22 Csaba Osztrogonác Actually move WTF files to their new home https://bugs.webkit.org/show_bug.cgi?id=81844 [Qt] Unreviewed buildfix after r111778. * WTF.pri: 2012-03-22 Eric Seidel Actually move WTF files to their new home https://bugs.webkit.org/show_bug.cgi?id=81844 Unreviewed attempt to fix AppleWin. * WTF.vcproj/WTFCommon.vsprops: 2012-03-22 Eric Seidel Actually move WTF files to their new home https://bugs.webkit.org/show_bug.cgi?id=81844 Unreviewed. The 5MB file move is not very reviewable, but various port representatives have OK'd changes to the individual build systems. * Configurations/WTF.xcconfig: * GNUmakefile.list.am: * Stub.cpp: Removed. * Stub.h: Removed. * WTF.gypi: * WTF.pri: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.vcproj/copy-files.cmd: * WTF.xcodeproj/project.pbxproj: * config.h: * wtf/ASCIICType.h: Renamed from Source/JavaScriptCore/wtf/ASCIICType.h. (WTF): (WTF::isASCII): (WTF::isASCIIAlpha): (WTF::isASCIIDigit): (WTF::isASCIIAlphanumeric): (WTF::isASCIIHexDigit): (WTF::isASCIILower): (WTF::isASCIIOctalDigit): (WTF::isASCIIPrintable): (WTF::isASCIISpace): (WTF::isASCIIUpper): (WTF::toASCIILower): (WTF::toASCIILowerUnchecked): (WTF::toASCIIUpper): (WTF::toASCIIHexValue): (WTF::lowerNibbleToASCIIHexDigit): (WTF::upperNibbleToASCIIHexDigit): (WTF::isASCIIAlphaCaselessEqual): * wtf/AVLTree.h: Renamed from Source/JavaScriptCore/wtf/AVLTree.h. (WTF): (AVLTreeDefaultBSet): (WTF::AVLTreeDefaultBSet::operator[]): (WTF::AVLTreeDefaultBSet::set): (WTF::AVLTreeDefaultBSet::reset): (AVLTree): (WTF::AVLTree::abstractor): (WTF::AVLTree::purge): (WTF::AVLTree::is_empty): (WTF::AVLTree::AVLTree): (Iterator): (WTF::AVLTree::Iterator::Iterator): (WTF::AVLTree::Iterator::start_iter): (WTF::AVLTree::Iterator::start_iter_least): (WTF::AVLTree::Iterator::start_iter_greatest): (WTF::AVLTree::Iterator::operator*): (WTF::AVLTree::Iterator::operator++): (WTF::AVLTree::Iterator::operator--): (WTF::AVLTree::Iterator::cmp_k_n): (WTF::AVLTree::Iterator::cmp_n_n): (WTF::AVLTree::Iterator::get_lt): (WTF::AVLTree::Iterator::get_gt): (WTF::AVLTree::Iterator::null): (WTF::AVLTree::build): (abs_plus_root): (WTF::AVLTree::get_lt): (WTF::AVLTree::set_lt): (WTF::AVLTree::get_gt): (WTF::AVLTree::set_gt): (WTF::AVLTree::get_bf): (WTF::AVLTree::set_bf): (WTF::AVLTree::cmp_k_n): (WTF::AVLTree::cmp_n_n): (WTF::AVLTree::null): (WTF::AVLTree::balance): (WTF::::insert): (WTF::::search): (WTF::::search_least): (WTF::::search_greatest): (WTF::::remove): (WTF::::subst): * wtf/Alignment.h: Renamed from Source/JavaScriptCore/wtf/Alignment.h. (WTF): (WTF::swap): * wtf/AlwaysInline.h: Renamed from Source/JavaScriptCore/wtf/AlwaysInline.h. * wtf/ArrayBuffer.cpp: Renamed from Source/JavaScriptCore/wtf/ArrayBuffer.cpp. (WTF): (WTF::ArrayBuffer::transfer): (WTF::ArrayBuffer::addView): (WTF::ArrayBuffer::removeView): * wtf/ArrayBuffer.h: Renamed from Source/JavaScriptCore/wtf/ArrayBuffer.h. (WTF): (ArrayBufferContents): (WTF::ArrayBufferContents::ArrayBufferContents): (WTF::ArrayBufferContents::data): (WTF::ArrayBufferContents::sizeInBytes): (WTF::ArrayBufferContents::transfer): (ArrayBuffer): (WTF::ArrayBuffer::isNeutered): (WTF::ArrayBuffer::~ArrayBuffer): (WTF::ArrayBuffer::clampValue): (WTF::ArrayBuffer::create): (WTF::ArrayBuffer::ArrayBuffer): (WTF::ArrayBuffer::data): (WTF::ArrayBuffer::byteLength): (WTF::ArrayBuffer::slice): (WTF::ArrayBuffer::sliceImpl): (WTF::ArrayBuffer::clampIndex): (WTF::ArrayBufferContents::tryAllocate): (WTF::ArrayBufferContents::~ArrayBufferContents): * wtf/ArrayBufferView.cpp: Renamed from Source/JavaScriptCore/wtf/ArrayBufferView.cpp. (WTF): (WTF::ArrayBufferView::ArrayBufferView): (WTF::ArrayBufferView::~ArrayBufferView): (WTF::ArrayBufferView::neuter): * wtf/ArrayBufferView.h: Renamed from Source/JavaScriptCore/wtf/ArrayBufferView.h. (WTF): (WTF::ArrayBufferView::setImpl): (WTF::ArrayBufferView::setRangeImpl): (WTF::ArrayBufferView::zeroRangeImpl): (WTF::ArrayBufferView::calculateOffsetAndLength): * wtf/Assertions.cpp: Renamed from Source/JavaScriptCore/wtf/Assertions.cpp. * wtf/Assertions.h: Renamed from Source/JavaScriptCore/wtf/Assertions.h. (assertUnused): (assertWithMessageUnused): * wtf/Atomics.h: Renamed from Source/JavaScriptCore/wtf/Atomics.h. (WTF): (WTF::atomicIncrement): (WTF::atomicDecrement): (WTF::weakCompareAndSwap): (WTF::weakCompareAndSwapUIntPtr): * wtf/BitVector.cpp: Renamed from Source/JavaScriptCore/wtf/BitVector.cpp. (WTF): (WTF::BitVector::setSlow): (WTF::BitVector::resize): (WTF::BitVector::clearAll): (WTF::BitVector::OutOfLineBits::create): (WTF::BitVector::OutOfLineBits::destroy): (WTF::BitVector::resizeOutOfLine): (WTF::BitVector::dump): * wtf/BitVector.h: Renamed from Source/JavaScriptCore/wtf/BitVector.h. (WTF): (BitVector): (WTF::BitVector::BitVector): (WTF::BitVector::~BitVector): (WTF::BitVector::operator=): (WTF::BitVector::size): (WTF::BitVector::ensureSize): (WTF::BitVector::quickGet): (WTF::BitVector::quickSet): (WTF::BitVector::quickClear): (WTF::BitVector::get): (WTF::BitVector::set): (WTF::BitVector::clear): (WTF::BitVector::bitsInPointer): (WTF::BitVector::maxInlineBits): (WTF::BitVector::byteCount): (WTF::BitVector::makeInlineBits): (OutOfLineBits): (WTF::BitVector::OutOfLineBits::numBits): (WTF::BitVector::OutOfLineBits::numWords): (WTF::BitVector::OutOfLineBits::bits): (WTF::BitVector::OutOfLineBits::OutOfLineBits): (WTF::BitVector::isInline): (WTF::BitVector::outOfLineBits): (WTF::BitVector::bits): * wtf/Bitmap.h: Renamed from Source/JavaScriptCore/wtf/Bitmap.h. (WTF): (Bitmap): (WTF::::Bitmap): (WTF::::get): (WTF::::set): (WTF::::testAndSet): (WTF::::testAndClear): (WTF::::concurrentTestAndSet): (WTF::::concurrentTestAndClear): (WTF::::clear): (WTF::::clearAll): (WTF::::nextPossiblyUnset): (WTF::::findRunOfZeros): (WTF::::count): (WTF::::isEmpty): (WTF::::isFull): * wtf/BlockStack.h: Renamed from Source/JavaScriptCore/wtf/BlockStack.h. (WTF): (BlockStack): (WTF::::BlockStack): (WTF::::~BlockStack): (WTF::::blocks): (WTF::::grow): (WTF::::shrink): * wtf/BloomFilter.h: Renamed from Source/JavaScriptCore/wtf/BloomFilter.h. (WTF): (BloomFilter): (WTF::BloomFilter::maximumCount): (WTF::BloomFilter::BloomFilter): (WTF::BloomFilter::mayContain): (WTF::BloomFilter::add): (WTF::BloomFilter::remove): (WTF::BloomFilter::firstSlot): (WTF::BloomFilter::secondSlot): (WTF::::add): (WTF::::remove): (WTF::::clear): (WTF::::likelyEmpty): (WTF::::isClear): * wtf/BoundsCheckedPointer.h: Renamed from Source/JavaScriptCore/wtf/BoundsCheckedPointer.h. (WTF): (BoundsCheckedPointer): (WTF::BoundsCheckedPointer::BoundsCheckedPointer): (WTF::BoundsCheckedPointer::operator=): (WTF::BoundsCheckedPointer::operator+=): (WTF::BoundsCheckedPointer::operator-=): (WTF::BoundsCheckedPointer::operator+): (WTF::BoundsCheckedPointer::operator-): (WTF::BoundsCheckedPointer::operator++): (WTF::BoundsCheckedPointer::operator--): (WTF::BoundsCheckedPointer::operator<): (WTF::BoundsCheckedPointer::operator<=): (WTF::BoundsCheckedPointer::operator>): (WTF::BoundsCheckedPointer::operator>=): (WTF::BoundsCheckedPointer::operator==): (WTF::BoundsCheckedPointer::operator!=): (WTF::BoundsCheckedPointer::operator!): (WTF::BoundsCheckedPointer::get): (WTF::BoundsCheckedPointer::operator*): (WTF::BoundsCheckedPointer::operator[]): (WTF::BoundsCheckedPointer::strcat): (WTF::BoundsCheckedPointer::validate): * wtf/BumpPointerAllocator.h: Renamed from Source/JavaScriptCore/wtf/BumpPointerAllocator.h. (WTF): (BumpPointerPool): (WTF::BumpPointerPool::ensureCapacity): (WTF::BumpPointerPool::alloc): (WTF::BumpPointerPool::dealloc): (WTF::BumpPointerPool::operator new): (WTF::BumpPointerPool::BumpPointerPool): (WTF::BumpPointerPool::create): (WTF::BumpPointerPool::shrink): (WTF::BumpPointerPool::destroy): (WTF::BumpPointerPool::ensureCapacityCrossPool): (WTF::BumpPointerPool::deallocCrossPool): (BumpPointerAllocator): (WTF::BumpPointerAllocator::BumpPointerAllocator): (WTF::BumpPointerAllocator::~BumpPointerAllocator): (WTF::BumpPointerAllocator::startAllocator): (WTF::BumpPointerAllocator::stopAllocator): * wtf/ByteArray.cpp: Renamed from Source/JavaScriptCore/wtf/ByteArray.cpp. (WTF): (WTF::ByteArray::create): * wtf/ByteArray.h: Renamed from Source/JavaScriptCore/wtf/ByteArray.h. (ByteArray): (WTF::ByteArray::length): (WTF::ByteArray::set): (WTF::ByteArray::get): (WTF::ByteArray::data): (WTF::ByteArray::clear): (WTF::ByteArray::deref): (WTF::ByteArray::offsetOfSize): (WTF::ByteArray::offsetOfData): (WTF::ByteArray::ByteArray): * wtf/CMakeLists.txt: Renamed from Source/JavaScriptCore/wtf/CMakeLists.txt. * wtf/CONTRIBUTORS.pthreads-win32: Renamed from Source/JavaScriptCore/wtf/CONTRIBUTORS.pthreads-win32. * wtf/CheckedArithmetic.h: Renamed from Source/JavaScriptCore/wtf/CheckedArithmetic.h. (WTF): (CrashOnOverflow): (WTF::CrashOnOverflow::overflowed): (WTF::CrashOnOverflow::clearOverflow): (WTF::CrashOnOverflow::hasOverflowed): (RecordOverflow): (WTF::RecordOverflow::RecordOverflow): (WTF::RecordOverflow::overflowed): (WTF::RecordOverflow::clearOverflow): (WTF::RecordOverflow::hasOverflowed): (WTF::isInBounds): (RemoveChecked): (WTF::safeAdd): (WTF::safeSub): (WTF::safeMultiply): (WTF::safeEquals): (WTF::workAroundClangBug): (Checked): (WTF::Checked::Checked): (WTF::Checked::operator=): (WTF::Checked::operator++): (WTF::Checked::operator--): (WTF::Checked::operator!): (WTF::Checked::operator UnspecifiedBoolType*): (WTF::Checked::unsafeGet): (WTF::Checked::operator+=): (WTF::Checked::operator-=): (WTF::Checked::operator*=): (WTF::Checked::operator==): (WTF::Checked::operator!=): (WTF::operator+): (WTF::operator-): (WTF::operator*): * wtf/CheckedBoolean.h: Renamed from Source/JavaScriptCore/wtf/CheckedBoolean.h. (CheckedBoolean): (CheckedBoolean::CheckedBoolean): (CheckedBoolean::~CheckedBoolean): (CheckedBoolean::operator bool): * wtf/Compiler.h: Renamed from Source/JavaScriptCore/wtf/Compiler.h. * wtf/Complex.h: Renamed from Source/JavaScriptCore/wtf/Complex.h. (WTF): (WTF::complexFromMagnitudePhase): * wtf/CryptographicallyRandomNumber.cpp: Renamed from Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.cpp. (WTF::cryptographicallyRandomNumber): (WTF): (WTF::cryptographicallyRandomValues): * wtf/CryptographicallyRandomNumber.h: Renamed from Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.h. (WTF): * wtf/CurrentTime.cpp: Renamed from Source/JavaScriptCore/wtf/CurrentTime.cpp. (WTF): (WTF::highResUpTime): (WTF::lowResUTCTime): (WTF::qpcAvailable): (WTF::currentTime): (WTF::currentSystemTime): (WTF::monotonicallyIncreasingTime): * wtf/CurrentTime.h: Renamed from Source/JavaScriptCore/wtf/CurrentTime.h. (WTF): (WTF::currentTimeMS): (WTF::getLocalTime): * wtf/DataLog.cpp: Renamed from Source/JavaScriptCore/wtf/DataLog.cpp. (WTF): (WTF::initializeLogFileOnce): (WTF::initializeLogFile): (WTF::dataFile): (WTF::dataLogV): (WTF::dataLog): * wtf/DataLog.h: Renamed from Source/JavaScriptCore/wtf/DataLog.h. (WTF): * wtf/DateMath.cpp: Renamed from Source/JavaScriptCore/wtf/DateMath.cpp. (WTF): (WTF::isLeapYear): (WTF::daysInYear): (WTF::daysFrom1970ToYear): (WTF::msToDays): (WTF::twoDigitStringFromNumber): (WTF::msToYear): (WTF::dayInYear): (WTF::msToMilliseconds): (WTF::msToMinutes): (WTF::msToHours): (WTF::monthFromDayInYear): (WTF::checkMonth): (WTF::dayInMonthFromDayInYear): (WTF::monthToDayInYear): (WTF::dateToDaysFrom1970): (WTF::maximumYearForDST): (WTF::minimumYearForDST): (WTF::equivalentYearForDST): (WTF::calculateUTCOffset): (WTF::calculateDSTOffsetSimple): (WTF::calculateDSTOffset): (WTF::initializeDates): (WTF::ymdhmsToSeconds): (KnownZone): (WTF::skipSpacesAndComments): (WTF::findMonth): (WTF::parseLong): (WTF::parseES5DatePortion): (WTF::parseES5TimePortion): (WTF::parseES5DateFromNullTerminatedCharacters): (WTF::parseDateFromNullTerminatedCharacters): (WTF::timeClip): (WTF::makeRFC2822DateString): * wtf/DateMath.h: Renamed from Source/JavaScriptCore/wtf/DateMath.h. (WTF): (WTF::jsCurrentTime): * wtf/DecimalNumber.cpp: Renamed from Source/JavaScriptCore/wtf/DecimalNumber.cpp. (WTF): (WTF::DecimalNumber::bufferLengthForStringDecimal): (WTF::DecimalNumber::bufferLengthForStringExponential): (WTF::DecimalNumber::toStringDecimal): (WTF::DecimalNumber::toStringExponential): * wtf/DecimalNumber.h: Renamed from Source/JavaScriptCore/wtf/DecimalNumber.h. (WTF): (DecimalNumber): (WTF::DecimalNumber::DecimalNumber): (WTF::DecimalNumber::sign): (WTF::DecimalNumber::exponent): (WTF::DecimalNumber::significand): (WTF::DecimalNumber::precision): * wtf/Decoder.h: Renamed from Source/JavaScriptCore/wtf/Decoder.h. (WTF): (Decoder): (WTF::Decoder::Decoder): (WTF::Decoder::~Decoder): * wtf/Deque.h: Renamed from Source/JavaScriptCore/wtf/Deque.h. (WTF): (Deque): (WTF::Deque::size): (WTF::Deque::isEmpty): (WTF::Deque::begin): (WTF::Deque::end): (WTF::Deque::rbegin): (WTF::Deque::rend): (WTF::Deque::first): (WTF::Deque::last): (DequeIteratorBase): (WTF::DequeIteratorBase::assign): (DequeIterator): (WTF::DequeIterator::DequeIterator): (WTF::DequeIterator::operator=): (WTF::DequeIterator::operator*): (WTF::DequeIterator::operator->): (WTF::DequeIterator::operator==): (WTF::DequeIterator::operator!=): (WTF::DequeIterator::operator++): (WTF::DequeIterator::operator--): (DequeConstIterator): (WTF::DequeConstIterator::DequeConstIterator): (WTF::DequeConstIterator::operator=): (WTF::DequeConstIterator::operator*): (WTF::DequeConstIterator::operator->): (WTF::DequeConstIterator::operator==): (WTF::DequeConstIterator::operator!=): (WTF::DequeConstIterator::operator++): (WTF::DequeConstIterator::operator--): (DequeReverseIterator): (WTF::DequeReverseIterator::DequeReverseIterator): (WTF::DequeReverseIterator::operator=): (WTF::DequeReverseIterator::operator*): (WTF::DequeReverseIterator::operator->): (WTF::DequeReverseIterator::operator==): (WTF::DequeReverseIterator::operator!=): (WTF::DequeReverseIterator::operator++): (WTF::DequeReverseIterator::operator--): (DequeConstReverseIterator): (WTF::DequeConstReverseIterator::DequeConstReverseIterator): (WTF::DequeConstReverseIterator::operator=): (WTF::DequeConstReverseIterator::operator*): (WTF::DequeConstReverseIterator::operator->): (WTF::DequeConstReverseIterator::operator==): (WTF::DequeConstReverseIterator::operator!=): (WTF::DequeConstReverseIterator::operator++): (WTF::DequeConstReverseIterator::operator--): (WTF::::checkValidity): (WTF::::checkIndexValidity): (WTF::::invalidateIterators): (WTF::::Deque): (WTF::deleteAllValues): (WTF::=): (WTF::::destroyAll): (WTF::::~Deque): (WTF::::swap): (WTF::::clear): (WTF::::findIf): (WTF::::expandCapacityIfNeeded): (WTF::::expandCapacity): (WTF::::takeFirst): (WTF::::append): (WTF::::prepend): (WTF::::removeFirst): (WTF::::remove): (WTF::::addToIteratorsList): (WTF::::removeFromIteratorsList): (WTF::::DequeIteratorBase): (WTF::::~DequeIteratorBase): (WTF::::isEqual): (WTF::::increment): (WTF::::decrement): (WTF::::after): (WTF::::before): * wtf/DisallowCType.h: Renamed from Source/JavaScriptCore/wtf/DisallowCType.h. * wtf/DoublyLinkedList.h: Renamed from Source/JavaScriptCore/wtf/DoublyLinkedList.h. (WTF): (DoublyLinkedListNode): (WTF::::DoublyLinkedListNode): (WTF::::setPrev): (WTF::::setNext): (WTF::::prev): (WTF::::next): (DoublyLinkedList): (WTF::::DoublyLinkedList): (WTF::::isEmpty): (WTF::::size): (WTF::::clear): (WTF::::head): (WTF::::tail): (WTF::::push): (WTF::::append): (WTF::::remove): (WTF::::removeHead): * wtf/DynamicAnnotations.cpp: Renamed from Source/JavaScriptCore/wtf/DynamicAnnotations.cpp. (WTFAnnotateBenignRaceSized): (WTFAnnotateHappensBefore): (WTFAnnotateHappensAfter): * wtf/DynamicAnnotations.h: Renamed from Source/JavaScriptCore/wtf/DynamicAnnotations.h. * wtf/Encoder.h: Renamed from Source/JavaScriptCore/wtf/Encoder.h. (WTF): (Encoder): (WTF::Encoder::Encoder): (WTF::Encoder::~Encoder): * wtf/ExportMacros.h: Renamed from Source/JavaScriptCore/wtf/ExportMacros.h. * wtf/FastAllocBase.h: Renamed from Source/JavaScriptCore/wtf/FastAllocBase.h. (WTF): (WTF::fastNew): (Internal): (WTF::Internal::NewArrayImpl::fastNewArray): (WTF::fastNewArray): (WTF::fastDelete): (WTF::fastDeleteSkippingDestructor): (WTF::Internal::DeleteArrayImpl::fastDeleteArray): (WTF::fastDeleteArray): (WTF::fastNonNullDelete): (WTF::Internal::NonNullDeleteArrayImpl::fastNonNullDeleteArray): (WTF::fastNonNullDeleteArray): * wtf/FastMalloc.cpp: Renamed from Source/JavaScriptCore/wtf/FastMalloc.cpp. (WTF): (WTF::isForbidden): (WTF::fastMallocForbid): (WTF::fastMallocAllow): (WTF::initializeIsForbiddenKey): (Internal): (WTF::Internal::fastMallocMatchFailed): (WTF::fastZeroedMalloc): (WTF::fastStrDup): (WTF::tryFastZeroedMalloc): (WTF::tryFastMalloc): (WTF::fastMalloc): (WTF::tryFastCalloc): (WTF::fastCalloc): (WTF::fastFree): (WTF::tryFastRealloc): (WTF::fastRealloc): (WTF::releaseFastMallocFreeMemory): (WTF::fastMallocStatistics): (WTF::fastMallocSize): (FastMallocZone): (WTF::FastMallocZone::goodSize): (WTF::FastMallocZone::check): (WTF::FastMallocZone::print): (WTF::FastMallocZone::log): (WTF::FastMallocZone::forceLock): (WTF::FastMallocZone::forceUnlock): (WTF::FastMallocZone::statistics): (WTF::FastMallocZone::zoneValloc): (WTF::FastMallocZone::zoneDestroy): (WTF::KernelSupportsTLS): (WTF::CheckIfKernelSupportsTLS): (WTF::ClassIndex): (TCEntry): (WTF::LgFloor): (WTF::SLL_Next): (WTF::SLL_SetNext): (WTF::SLL_Push): (WTF::SLL_Pop): (WTF::SLL_PopRange): (WTF::SLL_PushRange): (WTF::SLL_Size): (WTF::SizeClass): (WTF::ByteSizeForClass): (WTF::NumMoveSize): (WTF::InitSizeClasses): (WTF::MetaDataAlloc): (PageHeapAllocator): (WTF::PageHeapAllocator::Init): (WTF::PageHeapAllocator::New): (WTF::PageHeapAllocator::Delete): (WTF::PageHeapAllocator::inuse): (WTF::PageHeapAllocator::recordAdministrativeRegions): (WTF::pages): (WTF::AllocationSize): (Span): (WTF::Event): (WTF::NewSpan): (WTF::DeleteSpan): (WTF::DLL_Init): (WTF::DLL_Remove): (WTF::DLL_IsEmpty): (WTF::DLL_Length): (WTF::DLL_Print): (WTF::DLL_Prepend): (StackTrace): (MapSelector): (TCMalloc_PageHeap): (WTF::TCMalloc_PageHeap::GetDescriptor): (WTF::TCMalloc_PageHeap::GetDescriptorEnsureSafe): (WTF::TCMalloc_PageHeap::SystemBytes): (WTF::TCMalloc_PageHeap::FreeBytes): (WTF::TCMalloc_PageHeap::GetSizeClassIfCached): (WTF::TCMalloc_PageHeap::CacheSizeClass): (SpanList): (WTF::TCMalloc_PageHeap::RecordSpan): (WTF::TCMalloc_PageHeap::init): (WTF::TCMalloc_PageHeap::initializeScavenger): (WTF::TCMalloc_PageHeap::isScavengerSuspended): (WTF::TCMalloc_PageHeap::scheduleScavenger): (WTF::TCMalloc_PageHeap::rescheduleScavenger): (WTF::TCMalloc_PageHeap::suspendScavenger): (WTF::TCMalloc_PageHeap::scavengerTimerFired): (WTF::TCMalloc_PageHeap::runScavengerThread): (WTF::TCMalloc_PageHeap::signalScavenger): (WTF::TCMalloc_PageHeap::scavenge): (WTF::TCMalloc_PageHeap::shouldScavenge): (WTF::TCMalloc_PageHeap::New): (WTF::TCMalloc_PageHeap::AllocLarge): (WTF::TCMalloc_PageHeap::Split): (WTF::TCMalloc_PageHeap::Carve): (WTF::mergeDecommittedStates): (WTF::TCMalloc_PageHeap::Delete): (WTF::TCMalloc_PageHeap::IncrementalScavenge): (WTF::TCMalloc_PageHeap::RegisterSizeClass): (WTF::TCMalloc_PageHeap::ReturnedBytes): (WTF::PagesToMB): (WTF::TCMalloc_PageHeap::Dump): (WTF::TCMalloc_PageHeap::GrowHeap): (WTF::TCMalloc_PageHeap::Check): (WTF::TCMalloc_PageHeap::CheckList): (WTF::TCMalloc_PageHeap::ReleaseFreeList): (WTF::TCMalloc_PageHeap::ReleaseFreePages): (TCMalloc_ThreadCache_FreeList): (WTF::TCMalloc_ThreadCache_FreeList::Init): (WTF::TCMalloc_ThreadCache_FreeList::length): (WTF::TCMalloc_ThreadCache_FreeList::empty): (WTF::TCMalloc_ThreadCache_FreeList::lowwatermark): (WTF::TCMalloc_ThreadCache_FreeList::clear_lowwatermark): (WTF::TCMalloc_ThreadCache_FreeList::Push): (WTF::TCMalloc_ThreadCache_FreeList::PushRange): (WTF::TCMalloc_ThreadCache_FreeList::PopRange): (WTF::TCMalloc_ThreadCache_FreeList::Pop): (WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects): (TCMalloc_ThreadCache): (WTF::TCMalloc_ThreadCache::freelist_length): (WTF::TCMalloc_ThreadCache::Size): (WTF::TCMalloc_ThreadCache::enumerateFreeObjects): (TCMalloc_Central_FreeList): (WTF::TCMalloc_Central_FreeList::length): (WTF::TCMalloc_Central_FreeList::tc_length): (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): (TCMalloc_Central_FreeListPadded): (WTF::getPageHeap): (WTF::TCMalloc_PageHeap::periodicScavenge): (WTF::TCMalloc_PageHeap::scavengerThread): (WTF::setThreadHeap): (WTF::TCMalloc_Central_FreeList::Init): (WTF::TCMalloc_Central_FreeList::ReleaseListToSpans): (WTF::TCMalloc_Central_FreeList::ReleaseToSpans): (WTF::TCMalloc_Central_FreeList::EvictRandomSizeClass): (WTF::TCMalloc_Central_FreeList::MakeCacheSpace): (WTF::TCMalloc_Central_FreeList::ShrinkCache): (WTF::TCMalloc_Central_FreeList::InsertRange): (WTF::TCMalloc_Central_FreeList::RemoveRange): (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe): (WTF::TCMalloc_Central_FreeList::FetchFromSpans): (WTF::TCMalloc_Central_FreeList::Populate): (WTF::TCMalloc_ThreadCache::SampleAllocation): (WTF::TCMalloc_ThreadCache::Init): (WTF::TCMalloc_ThreadCache::Cleanup): (WTF::TCMalloc_ThreadCache::Allocate): (WTF::TCMalloc_ThreadCache::Deallocate): (WTF::TCMalloc_ThreadCache::FetchFromCentralCache): (WTF::TCMalloc_ThreadCache::ReleaseToCentralCache): (WTF::TCMalloc_ThreadCache::Scavenge): (WTF::TCMalloc_ThreadCache::PickNextSample): (WTF::TCMalloc_ThreadCache::InitModule): (WTF::TCMalloc_ThreadCache::NewHeap): (WTF::TCMalloc_ThreadCache::GetThreadHeap): (WTF::TCMalloc_ThreadCache::GetCache): (WTF::TCMalloc_ThreadCache::GetCacheIfPresent): (WTF::TCMalloc_ThreadCache::InitTSD): (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): * wtf/FastMalloc.h: Renamed from Source/JavaScriptCore/wtf/FastMalloc.h. (WTF): (WTF::TryMallocReturnValue::TryMallocReturnValue): (WTF::TryMallocReturnValue::~TryMallocReturnValue): (TryMallocReturnValue): (WTF::TryMallocReturnValue::operator PossiblyNull): (WTF::TryMallocReturnValue::getValue): (FastMallocStatistics): (ValidationHeader): (Internal): (WTF::Internal::fastMallocValidationHeader): (WTF::Internal::fastMallocValidationSuffix): (WTF::Internal::fastMallocMatchValidationType): (WTF::Internal::setFastMallocMatchValidationType): (WTF::fastMallocMatchValidateMalloc): (WTF::fastMallocMatchValidateFree): (WTF::fastMallocValidate): (throw): * wtf/FixedArray.h: Renamed from Source/JavaScriptCore/wtf/FixedArray.h. (WTF): (FixedArray): (WTF::FixedArray::operator[]): (WTF::FixedArray::data): (WTF::FixedArray::size): * wtf/Float32Array.h: Renamed from Source/JavaScriptCore/wtf/Float32Array.h. (WTF): (Float32Array): (WTF::Float32Array::set): (WTF::Float32Array::item): (WTF::Float32Array::isFloatArray): (WTF::Float32Array::create): (WTF::Float32Array::Float32Array): (WTF::Float32Array::subarray): * wtf/Float64Array.h: Renamed from Source/JavaScriptCore/wtf/Float64Array.h. (WTF): (Float64Array): (WTF::Float64Array::set): (WTF::Float64Array::item): (WTF::Float64Array::isDoubleArray): (WTF::Float64Array::create): (WTF::Float64Array::Float64Array): (WTF::Float64Array::subarray): * wtf/Forward.h: Renamed from Source/JavaScriptCore/wtf/Forward.h. (WTF): * wtf/Functional.h: Renamed from Source/JavaScriptCore/wtf/Functional.h. (WTF): (HasRefAndDeref): (NoType): (BaseMixin): (WTF::R): (WTF::C::): (WTF::RefAndDeref::ref): (WTF::RefAndDeref::deref): (ParamStorageTraits): (WTF::ParamStorageTraits::wrap): (WTF::ParamStorageTraits::unwrap): (FunctionImplBase): (WTF::FunctionImplBase::~FunctionImplBase): (FunctionBase): (WTF::FunctionBase::isNull): (WTF::FunctionBase::FunctionBase): (WTF::FunctionBase::impl): (WTF::bind): * wtf/GetPtr.h: Renamed from Source/JavaScriptCore/wtf/GetPtr.h. (WTF): (WTF::getPtr): * wtf/HashCountedSet.h: Renamed from Source/JavaScriptCore/wtf/HashCountedSet.h. (WTF): (HashCountedSet): (WTF::HashCountedSet::HashCountedSet): (WTF::::size): (WTF::::capacity): (WTF::::isEmpty): (WTF::::begin): (WTF::::end): (WTF::::find): (WTF::::contains): (WTF::::count): (WTF::::add): (WTF::::remove): (WTF::::removeAll): (WTF::::clear): (WTF::copyToVector): * wtf/HashFunctions.h: Renamed from Source/JavaScriptCore/wtf/HashFunctions.h. (WTF): (WTF::intHash): (WTF::IntHash::hash): (WTF::IntHash::equal): (IntHash): (WTF::FloatHash::hash): (WTF::FloatHash::equal): (FloatHash): (WTF::PtrHash::hash): (WTF::PtrHash::equal): (PtrHash): (WTF::PairHash::hash): (WTF::PairHash::equal): (PairHash): * wtf/HashIterators.h: Renamed from Source/JavaScriptCore/wtf/HashIterators.h. (WTF): (HashTableConstKeysIterator): (WTF::HashTableConstKeysIterator::HashTableConstKeysIterator): (WTF::HashTableConstKeysIterator::get): (WTF::HashTableConstKeysIterator::operator*): (WTF::HashTableConstKeysIterator::operator->): (WTF::HashTableConstKeysIterator::operator++): (HashTableConstValuesIterator): (WTF::HashTableConstValuesIterator::HashTableConstValuesIterator): (WTF::HashTableConstValuesIterator::get): (WTF::HashTableConstValuesIterator::operator*): (WTF::HashTableConstValuesIterator::operator->): (WTF::HashTableConstValuesIterator::operator++): (HashTableKeysIterator): (WTF::HashTableKeysIterator::HashTableKeysIterator): (WTF::HashTableKeysIterator::get): (WTF::HashTableKeysIterator::operator*): (WTF::HashTableKeysIterator::operator->): (WTF::HashTableKeysIterator::operator++): (WTF::HashTableKeysIterator::operator HashTableConstKeysIterator): (HashTableValuesIterator): (WTF::HashTableValuesIterator::HashTableValuesIterator): (WTF::HashTableValuesIterator::get): (WTF::HashTableValuesIterator::operator*): (WTF::HashTableValuesIterator::operator->): (WTF::HashTableValuesIterator::operator++): (WTF::HashTableValuesIterator::operator HashTableConstValuesIterator): (WTF::operator==): (WTF::operator!=): * wtf/HashMap.h: Renamed from Source/JavaScriptCore/wtf/HashMap.h. (WTF): (ReferenceTypeMaker): (HashMap): (WTF::HashMap::keys): (WTF::HashMap::values): (HashMapKeysProxy): (WTF::HashMap::HashMapKeysProxy::begin): (WTF::HashMap::HashMapKeysProxy::end): (HashMapValuesProxy): (WTF::HashMap::HashMapValuesProxy::begin): (WTF::HashMap::HashMapValuesProxy::end): (WTF::PairFirstExtractor::extract): (WTF::HashMapTranslator::hash): (WTF::HashMapTranslator::equal): (WTF::HashMapTranslator::translate): (WTF::HashMapTranslatorAdapter::hash): (WTF::HashMapTranslatorAdapter::equal): (WTF::HashMapTranslatorAdapter::translate): (WTF::::swap): (WTF::::size): (WTF::::capacity): (WTF::::isEmpty): (WTF::::begin): (WTF::::end): (WTF::::find): (WTF::::contains): (WTF::::inlineAdd): (WTF::::set): (WTF::::add): (WTF::::get): (WTF::::remove): (WTF::::clear): (WTF::::take): (WTF::::checkConsistency): (WTF::operator==): (WTF::operator!=): (WTF::deleteAllPairSeconds): (WTF::deleteAllValues): (WTF::deleteAllPairFirsts): (WTF::deleteAllKeys): (WTF::copyKeysToVector): (WTF::copyValuesToVector): * wtf/HashSet.h: Renamed from Source/JavaScriptCore/wtf/HashSet.h. (WTF): (HashSet): (WTF::IdentityExtractor::extract): (WTF::HashSetTranslatorAdapter::hash): (WTF::HashSetTranslatorAdapter::equal): (WTF::HashSetTranslatorAdapter::translate): (WTF::::swap): (WTF::::size): (WTF::::capacity): (WTF::::isEmpty): (WTF::::begin): (WTF::::end): (WTF::::find): (WTF::::contains): (WTF::::add): (WTF::::remove): (WTF::::clear): (WTF::deleteAllValues): (WTF::fastDeleteAllValues): (WTF::copyToVector): * wtf/HashTable.cpp: Renamed from Source/JavaScriptCore/wtf/HashTable.cpp. (WTF): (WTF::hashTableStatsMutex): (WTF::HashTableStats::~HashTableStats): (WTF::HashTableStats::recordCollisionAtCount): * wtf/HashTable.h: Renamed from Source/JavaScriptCore/wtf/HashTable.h. (WTF): (HashTableStats): (WTF::addIterator): (WTF::removeIterator): (HashTableConstIterator): (WTF::HashTableConstIterator::skipEmptyBuckets): (WTF::HashTableConstIterator::HashTableConstIterator): (WTF::HashTableConstIterator::~HashTableConstIterator): (WTF::HashTableConstIterator::operator=): (WTF::HashTableConstIterator::get): (WTF::HashTableConstIterator::operator*): (WTF::HashTableConstIterator::operator->): (WTF::HashTableConstIterator::operator++): (WTF::HashTableConstIterator::operator==): (WTF::HashTableConstIterator::operator!=): (WTF::HashTableConstIterator::checkValidity): (HashTableIterator): (WTF::HashTableIterator::HashTableIterator): (WTF::HashTableIterator::get): (WTF::HashTableIterator::operator*): (WTF::HashTableIterator::operator->): (WTF::HashTableIterator::operator++): (WTF::HashTableIterator::operator==): (WTF::HashTableIterator::operator!=): (WTF::HashTableIterator::operator const_iterator): (WTF::hashTableSwap): (IdentityHashTranslator): (WTF::IdentityHashTranslator::hash): (WTF::IdentityHashTranslator::equal): (WTF::IdentityHashTranslator::translate): (HashTable): (WTF::HashTable::~HashTable): (WTF::HashTable::begin): (WTF::HashTable::end): (WTF::HashTable::size): (WTF::HashTable::capacity): (WTF::HashTable::isEmpty): (WTF::HashTable::add): (WTF::HashTable::find): (WTF::HashTable::contains): (WTF::HashTable::isEmptyBucket): (WTF::HashTable::isDeletedBucket): (WTF::HashTable::isEmptyOrDeletedBucket): (WTF::HashTable::lookup): (WTF::HashTable::checkTableConsistency): (WTF::HashTable::internalCheckTableConsistency): (WTF::HashTable::internalCheckTableConsistencyExceptSize): (WTF::HashTable::lookupForWriting): (WTF::HashTable::shouldExpand): (WTF::HashTable::mustRehashInPlace): (WTF::HashTable::shouldShrink): (WTF::HashTable::shrink): (WTF::HashTable::deleteBucket): (WTF::HashTable::makeLookupResult): (WTF::HashTable::makeIterator): (WTF::HashTable::makeConstIterator): (WTF::HashTable::makeKnownGoodIterator): (WTF::HashTable::makeKnownGoodConstIterator): (WTF::HashTable::checkTableConsistencyExceptSize): (WTF::HashTable::invalidateIterators): (WTF::::HashTable): (WTF::doubleHash): (WTF::::checkKey): (WTF::::lookup): (WTF::::lookupForWriting): (WTF::::fullLookupForWriting): (WTF::::initializeBucket): (WTF::::add): (WTF::::addPassingHashCode): (WTF::::reinsert): (WTF::::find): (WTF::::contains): (WTF::::removeAndInvalidateWithoutEntryConsistencyCheck): (WTF::::removeAndInvalidate): (WTF::::remove): (WTF::::removeWithoutEntryConsistencyCheck): (WTF::::allocateTable): (WTF::::deallocateTable): (WTF::::expand): (WTF::::rehash): (WTF::::clear): (WTF::::swap): (WTF::=): (WTF::::checkTableConsistency): (WTF::::checkTableConsistencyExceptSize): (WTF::::invalidateIterators): (WTF::HashTableConstIteratorAdapter::HashTableConstIteratorAdapter): (HashTableConstIteratorAdapter): (WTF::HashTableConstIteratorAdapter::get): (WTF::HashTableConstIteratorAdapter::operator*): (WTF::HashTableConstIteratorAdapter::operator->): (WTF::HashTableConstIteratorAdapter::operator++): (WTF::HashTableIteratorAdapter::HashTableIteratorAdapter): (HashTableIteratorAdapter): (WTF::HashTableIteratorAdapter::get): (WTF::HashTableIteratorAdapter::operator*): (WTF::HashTableIteratorAdapter::operator->): (WTF::HashTableIteratorAdapter::operator++): (WTF::HashTableIteratorAdapter::operator HashTableConstIteratorAdapter): (WTF::operator==): (WTF::operator!=): * wtf/HashTraits.h: Renamed from Source/JavaScriptCore/wtf/HashTraits.h. (WTF): (GenericHashTraits): (WTF::GenericHashTraits::emptyValue): (WTF::GenericHashTraits::store): (WTF::GenericHashTraits::passOut): (WTF::GenericHashTraits::peek): (FloatHashTraits): (WTF::FloatHashTraits::emptyValue): (WTF::FloatHashTraits::constructDeletedValue): (WTF::FloatHashTraits::isDeletedValue): (UnsignedWithZeroKeyHashTraits): (WTF::UnsignedWithZeroKeyHashTraits::emptyValue): (WTF::UnsignedWithZeroKeyHashTraits::constructDeletedValue): (WTF::UnsignedWithZeroKeyHashTraits::isDeletedValue): (SimpleClassHashTraits): (WTF::SimpleClassHashTraits::constructDeletedValue): (WTF::SimpleClassHashTraits::isDeletedValue): (PairHashTraits): (WTF::PairHashTraits::emptyValue): (WTF::PairHashTraits::constructDeletedValue): (WTF::PairHashTraits::isDeletedValue): * wtf/HexNumber.h: Renamed from Source/JavaScriptCore/wtf/HexNumber.h. (WTF): (Internal): (WTF::Internal::hexDigitsForMode): (WTF::appendByteAsHex): (WTF::placeByteAsHexCompressIfPossible): (WTF::placeByteAsHex): (WTF::appendUnsignedAsHex): (WTF::appendUnsignedAsHexFixedSize): * wtf/InlineASM.h: Renamed from Source/JavaScriptCore/wtf/InlineASM.h. * wtf/Int16Array.h: Renamed from Source/JavaScriptCore/wtf/Int16Array.h. (WTF): (Int16Array): (WTF::Int16Array::set): (WTF::Int16Array::isShortArray): (WTF::Int16Array::create): (WTF::Int16Array::Int16Array): (WTF::Int16Array::subarray): * wtf/Int32Array.h: Renamed from Source/JavaScriptCore/wtf/Int32Array.h. (WTF): (Int32Array): (WTF::Int32Array::set): (WTF::Int32Array::isIntArray): (WTF::Int32Array::create): (WTF::Int32Array::Int32Array): (WTF::Int32Array::subarray): * wtf/Int8Array.h: Renamed from Source/JavaScriptCore/wtf/Int8Array.h. (WTF): (Int8Array): (WTF::Int8Array::set): (WTF::Int8Array::isByteArray): (WTF::Int8Array::create): (WTF::Int8Array::Int8Array): (WTF::Int8Array::subarray): * wtf/IntegralTypedArrayBase.h: Renamed from Source/JavaScriptCore/wtf/IntegralTypedArrayBase.h. (WTF): (IntegralTypedArrayBase): (WTF::IntegralTypedArrayBase::set): (WTF::IntegralTypedArrayBase::item): (WTF::IntegralTypedArrayBase::IntegralTypedArrayBase): * wtf/ListHashSet.h: Renamed from Source/JavaScriptCore/wtf/ListHashSet.h. (WTF): (ListHashSet): (ListHashSetNodeAllocator): (WTF::ListHashSetNodeAllocator::ListHashSetNodeAllocator): (WTF::ListHashSetNodeAllocator::allocate): (WTF::ListHashSetNodeAllocator::deallocate): (WTF::ListHashSetNodeAllocator::pool): (WTF::ListHashSetNodeAllocator::pastPool): (WTF::ListHashSetNodeAllocator::inPool): (ListHashSetNode): (WTF::ListHashSetNode::ListHashSetNode): (WTF::ListHashSetNode::operator new): (WTF::ListHashSetNode::destroy): (WTF::ListHashSetNodeHashFunctions::hash): (WTF::ListHashSetNodeHashFunctions::equal): (ListHashSetNodeHashFunctions): (ListHashSetIterator): (WTF::ListHashSetIterator::ListHashSetIterator): (WTF::ListHashSetIterator::get): (WTF::ListHashSetIterator::operator*): (WTF::ListHashSetIterator::operator->): (WTF::ListHashSetIterator::operator++): (WTF::ListHashSetIterator::operator--): (WTF::ListHashSetIterator::operator==): (WTF::ListHashSetIterator::operator!=): (WTF::ListHashSetIterator::operator const_iterator): (WTF::ListHashSetIterator::node): (ListHashSetConstIterator): (WTF::ListHashSetConstIterator::ListHashSetConstIterator): (WTF::ListHashSetConstIterator::get): (WTF::ListHashSetConstIterator::operator*): (WTF::ListHashSetConstIterator::operator->): (WTF::ListHashSetConstIterator::operator++): (WTF::ListHashSetConstIterator::operator--): (WTF::ListHashSetConstIterator::operator==): (WTF::ListHashSetConstIterator::operator!=): (WTF::ListHashSetConstIterator::node): (ListHashSetReverseIterator): (WTF::ListHashSetReverseIterator::ListHashSetReverseIterator): (WTF::ListHashSetReverseIterator::get): (WTF::ListHashSetReverseIterator::operator*): (WTF::ListHashSetReverseIterator::operator->): (WTF::ListHashSetReverseIterator::operator++): (WTF::ListHashSetReverseIterator::operator--): (WTF::ListHashSetReverseIterator::operator==): (WTF::ListHashSetReverseIterator::operator!=): (WTF::ListHashSetReverseIterator::operator const_reverse_iterator): (WTF::ListHashSetReverseIterator::node): (ListHashSetConstReverseIterator): (WTF::ListHashSetConstReverseIterator::ListHashSetConstReverseIterator): (WTF::ListHashSetConstReverseIterator::get): (WTF::ListHashSetConstReverseIterator::operator*): (WTF::ListHashSetConstReverseIterator::operator->): (WTF::ListHashSetConstReverseIterator::operator++): (WTF::ListHashSetConstReverseIterator::operator--): (WTF::ListHashSetConstReverseIterator::operator==): (WTF::ListHashSetConstReverseIterator::operator!=): (WTF::ListHashSetConstReverseIterator::node): (WTF::ListHashSetTranslator::hash): (WTF::ListHashSetTranslator::equal): (WTF::ListHashSetTranslator::translate): (WTF::::ListHashSet): (WTF::=): (WTF::::swap): (WTF::::~ListHashSet): (WTF::::size): (WTF::::capacity): (WTF::::isEmpty): (WTF::::begin): (WTF::::end): (WTF::::rbegin): (WTF::::rend): (WTF::::first): (WTF::::last): (WTF::::removeLast): (WTF::::find): (WTF::ListHashSetTranslatorAdapter::hash): (WTF::ListHashSetTranslatorAdapter::equal): (WTF::::contains): (WTF::::add): (WTF::::insertBefore): (WTF::::remove): (WTF::::clear): (WTF::::unlinkAndDelete): (WTF::::appendNode): (WTF::::insertNodeBefore): (WTF::::deleteAllNodes): (WTF::::makeReverseIterator): (WTF::::makeConstReverseIterator): (WTF::::makeIterator): (WTF::::makeConstIterator): (WTF::deleteAllValues): * wtf/ListRefPtr.h: Renamed from Source/JavaScriptCore/wtf/ListRefPtr.h. (WTF): (ListRefPtr): (WTF::ListRefPtr::ListRefPtr): (WTF::ListRefPtr::~ListRefPtr): (WTF::ListRefPtr::operator=): (WTF::getPtr): * wtf/Locker.h: Renamed from Source/JavaScriptCore/wtf/Locker.h. (WTF): (Locker): (WTF::Locker::Locker): (WTF::Locker::~Locker): * wtf/MD5.cpp: Renamed from Source/JavaScriptCore/wtf/MD5.cpp. (WTF): (WTF::testMD5): (WTF::expectMD5): (WTF::reverseBytes): (WTF::MD5Transform): (WTF::MD5::MD5): (WTF::MD5::addBytes): (WTF::MD5::checksum): * wtf/MD5.h: Renamed from Source/JavaScriptCore/wtf/MD5.h. (WTF): (MD5): (WTF::MD5::addBytes): * wtf/MainThread.cpp: Renamed from Source/JavaScriptCore/wtf/MainThread.cpp. (WTF): (FunctionWithContext): (WTF::FunctionWithContext::FunctionWithContext): (WTF::FunctionWithContext::operator == ): (FunctionWithContextFinder): (WTF::FunctionWithContextFinder::FunctionWithContextFinder): (WTF::FunctionWithContextFinder::operator()): (WTF::mainThreadFunctionQueueMutex): (WTF::functionQueue): (WTF::initializeMainThread): (WTF::initializeMainThreadOnce): (WTF::initializeMainThreadToProcessMainThreadOnce): (WTF::initializeMainThreadToProcessMainThread): (WTF::dispatchFunctionsFromMainThread): (WTF::callOnMainThread): (WTF::callOnMainThreadAndWait): (WTF::cancelCallOnMainThread): (WTF::callFunctionObject): (WTF::setMainThreadCallbacksPaused): (WTF::isMainThread): (WTF::initializeGCThreads): (WTF::registerGCThread): (WTF::isMainThreadOrGCThread): * wtf/MainThread.h: Renamed from Source/JavaScriptCore/wtf/MainThread.h. (WTF): (WTF::isMainThreadOrGCThread): * wtf/MallocZoneSupport.h: Renamed from Source/JavaScriptCore/wtf/MallocZoneSupport.h. (WTF): (RemoteMemoryReader): (WTF::RemoteMemoryReader::RemoteMemoryReader): (WTF::RemoteMemoryReader::operator()): (WTF::RemoteMemoryReader::nextEntryInLinkedList): * wtf/MathExtras.h: Renamed from Source/JavaScriptCore/wtf/MathExtras.h. (wtf_ceil): (isfinite): (isinf): (signbit): (round): (roundf): (llround): (llroundf): (lround): (lroundf): (trunc): (abs): (isnan): (nextafter): (nextafterf): (copysign): (log2): (log2f): (wtf_atan2): (wtf_fmod): (wtf_pow): (deg2rad): (rad2deg): (deg2grad): (grad2deg): (turn2deg): (deg2turn): (rad2grad): (grad2rad): (defaultMinimumForClamp): (defaultMaximumForClamp): (clampTo): (clampToInteger): (clampToFloat): (clampToPositiveInteger): (isWithinIntRange): (decomposeDouble): (doubleToInteger): * wtf/MessageQueue.h: Renamed from Source/JavaScriptCore/wtf/MessageQueue.h. (WTF): (MessageQueue): (WTF::MessageQueue::MessageQueue): (WTF::MessageQueue::infiniteTime): (WTF::MessageQueue::alwaysTruePredicate): (WTF::::~MessageQueue): (WTF::::append): (WTF::::appendAndCheckEmpty): (WTF::::prepend): (WTF::::waitForMessage): (WTF::::waitForMessageFilteredWithTimeout): (WTF::::tryGetMessage): (WTF::::tryGetMessageIgnoringKilled): (WTF::::removeIf): (WTF::::isEmpty): (WTF::::kill): (WTF::::killed): * wtf/MetaAllocator.cpp: Renamed from Source/JavaScriptCore/wtf/MetaAllocator.cpp. (WTF): (WTF::MetaAllocator::~MetaAllocator): (WTF::MetaAllocatorTracker::notify): (WTF::MetaAllocatorTracker::release): (WTF::MetaAllocator::release): (WTF::MetaAllocatorHandle::MetaAllocatorHandle): (WTF::MetaAllocatorHandle::~MetaAllocatorHandle): (WTF::MetaAllocatorHandle::shrink): (WTF::MetaAllocator::MetaAllocator): (WTF::MetaAllocator::allocate): (WTF::MetaAllocator::currentStatistics): (WTF::MetaAllocator::findAndRemoveFreeSpace): (WTF::MetaAllocator::addFreeSpaceFromReleasedHandle): (WTF::MetaAllocator::addFreshFreeSpace): (WTF::MetaAllocator::debugFreeSpaceSize): (WTF::MetaAllocator::addFreeSpace): (WTF::MetaAllocator::incrementPageOccupancy): (WTF::MetaAllocator::decrementPageOccupancy): (WTF::MetaAllocator::roundUp): (WTF::MetaAllocator::allocFreeSpaceNode): (WTF::MetaAllocator::freeFreeSpaceNode): (WTF::MetaAllocator::dumpProfile): * wtf/MetaAllocator.h: Renamed from Source/JavaScriptCore/wtf/MetaAllocator.h. (WTF): (MetaAllocatorTracker): (WTF::MetaAllocatorTracker::find): (MetaAllocator): (WTF::MetaAllocator::trackAllocations): (WTF::MetaAllocator::bytesAllocated): (WTF::MetaAllocator::bytesReserved): (WTF::MetaAllocator::bytesCommitted): (Statistics): (WTF::MetaAllocator::dumpProfile): (FreeSpaceNode): (WTF::MetaAllocator::FreeSpaceNode::FreeSpaceNode): (WTF::MetaAllocator::FreeSpaceNode::key): * wtf/MetaAllocatorHandle.h: Renamed from Source/JavaScriptCore/wtf/MetaAllocatorHandle.h. (WTF): (MetaAllocatorHandle): (WTF::MetaAllocatorHandle::start): (WTF::MetaAllocatorHandle::end): (WTF::MetaAllocatorHandle::sizeInBytes): (WTF::MetaAllocatorHandle::isManaged): (WTF::MetaAllocatorHandle::allocator): (WTF::MetaAllocatorHandle::ownerUID): (WTF::MetaAllocatorHandle::key): * wtf/NonCopyingSort.h: Renamed from Source/JavaScriptCore/wtf/NonCopyingSort.h. (WTF): (WTF::siftDown): (WTF::heapify): (WTF::heapSort): (WTF::nonCopyingSort): * wtf/Noncopyable.h: Renamed from Source/JavaScriptCore/wtf/Noncopyable.h. * wtf/NotFound.h: Renamed from Source/JavaScriptCore/wtf/NotFound.h. (WTF): * wtf/NullPtr.cpp: Renamed from Source/JavaScriptCore/wtf/NullPtr.cpp. * wtf/NullPtr.h: Renamed from Source/JavaScriptCore/wtf/NullPtr.h. * wtf/NumberOfCores.cpp: Renamed from Source/JavaScriptCore/wtf/NumberOfCores.cpp. (WTF): (WTF::numberOfProcessorCores): * wtf/NumberOfCores.h: Renamed from Source/JavaScriptCore/wtf/NumberOfCores.h. (WTF): * wtf/OSAllocator.h: Renamed from Source/JavaScriptCore/wtf/OSAllocator.h. (WTF): (OSAllocator): (WTF::OSAllocator::reserveAndCommit): (WTF::OSAllocator::decommitAndRelease): (WTF::OSAllocator::reallocateCommitted): * wtf/OSAllocatorPosix.cpp: Renamed from Source/JavaScriptCore/wtf/OSAllocatorPosix.cpp. (WTF): (WTF::OSAllocator::reserveUncommitted): (WTF::OSAllocator::reserveAndCommit): (WTF::OSAllocator::commit): (WTF::OSAllocator::decommit): (WTF::OSAllocator::releaseDecommitted): * wtf/OSAllocatorWin.cpp: Renamed from Source/JavaScriptCore/wtf/OSAllocatorWin.cpp. (WTF): (WTF::protection): (WTF::OSAllocator::reserveUncommitted): (WTF::OSAllocator::reserveAndCommit): (WTF::OSAllocator::commit): (WTF::OSAllocator::decommit): (WTF::OSAllocator::releaseDecommitted): * wtf/OSRandomSource.cpp: Renamed from Source/JavaScriptCore/wtf/OSRandomSource.cpp. (WTF): (WTF::cryptographicallyRandomValuesFromOS): * wtf/OSRandomSource.h: Renamed from Source/JavaScriptCore/wtf/OSRandomSource.h. (WTF): * wtf/OwnArrayPtr.h: Renamed from Source/JavaScriptCore/wtf/OwnArrayPtr.h. (WTF): (OwnArrayPtr): (WTF::OwnArrayPtr::OwnArrayPtr): (WTF::OwnArrayPtr::~OwnArrayPtr): (WTF::OwnArrayPtr::get): (WTF::OwnArrayPtr::operator*): (WTF::OwnArrayPtr::operator->): (WTF::OwnArrayPtr::operator[]): (WTF::OwnArrayPtr::operator!): (WTF::OwnArrayPtr::operator UnspecifiedBoolType): (WTF::OwnArrayPtr::operator=): (WTF::OwnArrayPtr::swap): (WTF::::OwnArrayPtr): (WTF::::clear): (WTF::::release): (WTF::::leakPtr): (WTF::=): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::getPtr): * wtf/OwnPtr.h: Renamed from Source/JavaScriptCore/wtf/OwnPtr.h. (WTF): (OwnPtr): (WTF::OwnPtr::OwnPtr): (WTF::OwnPtr::~OwnPtr): (WTF::OwnPtr::get): (WTF::OwnPtr::operator*): (WTF::OwnPtr::operator->): (WTF::OwnPtr::operator!): (WTF::OwnPtr::operator UnspecifiedBoolType): (WTF::OwnPtr::operator=): (WTF::OwnPtr::swap): (WTF::OwnPtr::operator==): (WTF::OwnPtr::operator!=): (WTF::::OwnPtr): (WTF::::clear): (WTF::::release): (WTF::::leakPtr): (WTF::=): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::getPtr): * wtf/OwnPtrCommon.h: Renamed from Source/JavaScriptCore/wtf/OwnPtrCommon.h. (WTF): (WTF::deleteOwnedPtr): * wtf/PackedIntVector.h: Renamed from Source/JavaScriptCore/wtf/PackedIntVector.h. (WTF): (PackedIntVector): (WTF::PackedIntVector::PackedIntVector): (WTF::PackedIntVector::operator=): (WTF::PackedIntVector::size): (WTF::PackedIntVector::ensureSize): (WTF::PackedIntVector::resize): (WTF::PackedIntVector::clearAll): (WTF::PackedIntVector::get): (WTF::PackedIntVector::set): (WTF::PackedIntVector::mask): * wtf/PageAllocation.h: Renamed from Source/JavaScriptCore/wtf/PageAllocation.h. (WTF): (PageAllocation): (WTF::PageAllocation::PageAllocation): (WTF::PageAllocation::operator bool): (WTF::PageAllocation::allocate): (WTF::PageAllocation::deallocate): * wtf/PageAllocationAligned.cpp: Renamed from Source/JavaScriptCore/wtf/PageAllocationAligned.cpp. (WTF): (WTF::PageAllocationAligned::allocate): (WTF::PageAllocationAligned::deallocate): * wtf/PageAllocationAligned.h: Renamed from Source/JavaScriptCore/wtf/PageAllocationAligned.h. (WTF): (PageAllocationAligned): (WTF::PageAllocationAligned::PageAllocationAligned): * wtf/PageBlock.cpp: Renamed from Source/JavaScriptCore/wtf/PageBlock.cpp. (WTF): (WTF::systemPageSize): (WTF::pageSize): (WTF::pageMask): * wtf/PageBlock.h: Renamed from Source/JavaScriptCore/wtf/PageBlock.h. (WTF): (WTF::isPageAligned): (WTF::isPowerOfTwo): (PageBlock): (WTF::PageBlock::base): (WTF::PageBlock::size): (WTF::PageBlock::operator bool): (WTF::PageBlock::contains): (WTF::PageBlock::PageBlock): * wtf/PageReservation.h: Renamed from Source/JavaScriptCore/wtf/PageReservation.h. (WTF): (PageReservation): (WTF::PageReservation::PageReservation): (WTF::PageReservation::operator bool): (WTF::PageReservation::commit): (WTF::PageReservation::decommit): (WTF::PageReservation::committed): (WTF::PageReservation::reserve): (WTF::PageReservation::reserveWithGuardPages): (WTF::PageReservation::deallocate): * wtf/ParallelJobs.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobs.h. (WTF): (ParallelJobs): (WTF::ParallelJobs::ParallelJobs): (WTF::ParallelJobs::numberOfJobs): (WTF::ParallelJobs::parameter): (WTF::ParallelJobs::execute): * wtf/ParallelJobsGeneric.cpp: Renamed from Source/JavaScriptCore/wtf/ParallelJobsGeneric.cpp. (WTF): (WTF::ParallelEnvironment::ParallelEnvironment): (WTF::ParallelEnvironment::execute): (WTF::ParallelEnvironment::ThreadPrivate::tryLockFor): (WTF::ParallelEnvironment::ThreadPrivate::execute): (WTF::ParallelEnvironment::ThreadPrivate::waitForFinish): (WTF::ParallelEnvironment::ThreadPrivate::workerThread): * wtf/ParallelJobsGeneric.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobsGeneric.h. (WTF): (ParallelEnvironment): (WTF::ParallelEnvironment::numberOfJobs): (ThreadPrivate): (WTF::ParallelEnvironment::ThreadPrivate::ThreadPrivate): (WTF::ParallelEnvironment::ThreadPrivate::create): * wtf/ParallelJobsLibdispatch.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobsLibdispatch.h. (WTF): (ParallelEnvironment): (WTF::ParallelEnvironment::ParallelEnvironment): (WTF::ParallelEnvironment::numberOfJobs): (WTF::ParallelEnvironment::execute): * wtf/ParallelJobsOpenMP.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobsOpenMP.h. (WTF): (ParallelEnvironment): (WTF::ParallelEnvironment::ParallelEnvironment): (WTF::ParallelEnvironment::numberOfJobs): (WTF::ParallelEnvironment::execute): * wtf/PassOwnArrayPtr.h: Renamed from Source/JavaScriptCore/wtf/PassOwnArrayPtr.h. (WTF): (PassOwnArrayPtr): (WTF::PassOwnArrayPtr::PassOwnArrayPtr): (WTF::PassOwnArrayPtr::~PassOwnArrayPtr): (WTF::PassOwnArrayPtr::get): (WTF::PassOwnArrayPtr::operator*): (WTF::PassOwnArrayPtr::operator->): (WTF::PassOwnArrayPtr::operator!): (WTF::PassOwnArrayPtr::operator UnspecifiedBoolType): (WTF::PassOwnArrayPtr::operator=): (WTF::::leakPtr): (WTF::operator==): (WTF::operator!=): (WTF::adoptArrayPtr): (WTF::deleteOwnedArrayPtr): (WTF::static_pointer_cast): (WTF::const_pointer_cast): (WTF::getPtr): * wtf/PassOwnPtr.h: Renamed from Source/JavaScriptCore/wtf/PassOwnPtr.h. (WTF): (PassOwnPtr): (WTF::PassOwnPtr::PassOwnPtr): (WTF::PassOwnPtr::~PassOwnPtr): (WTF::PassOwnPtr::get): (WTF::PassOwnPtr::operator*): (WTF::PassOwnPtr::operator->): (WTF::PassOwnPtr::operator!): (WTF::PassOwnPtr::operator UnspecifiedBoolType): (WTF::PassOwnPtr::operator=): (WTF::PassOwnPtr::operator==): (WTF::PassOwnPtr::operator!=): (WTF::::leakPtr): (WTF::operator==): (WTF::operator!=): (WTF::adoptPtr): (WTF::static_pointer_cast): (WTF::const_pointer_cast): (WTF::getPtr): * wtf/PassRefPtr.h: Renamed from Source/JavaScriptCore/wtf/PassRefPtr.h. (WTF): (WTF::adopted): (WTF::refIfNotNull): (WTF::derefIfNotNull): (PassRefPtr): (WTF::PassRefPtr::PassRefPtr): (WTF::PassRefPtr::~PassRefPtr): (WTF::PassRefPtr::get): (WTF::PassRefPtr::operator*): (WTF::PassRefPtr::operator->): (WTF::PassRefPtr::operator!): (WTF::PassRefPtr::operator UnspecifiedBoolType): (WTF::PassRefPtr::operator=): (NonNullPassRefPtr): (WTF::NonNullPassRefPtr::NonNullPassRefPtr): (WTF::NonNullPassRefPtr::~NonNullPassRefPtr): (WTF::NonNullPassRefPtr::get): (WTF::NonNullPassRefPtr::operator*): (WTF::NonNullPassRefPtr::operator->): (WTF::NonNullPassRefPtr::operator=): (WTF::::PassRefPtr): (WTF::::leakRef): (WTF::operator==): (WTF::operator!=): (WTF::adoptRef): (WTF::static_pointer_cast): (WTF::const_pointer_cast): (WTF::getPtr): * wtf/PassTraits.h: Renamed from Source/JavaScriptCore/wtf/PassTraits.h. (WTF): (PassTraits): (WTF::PassTraits::transfer): * wtf/PlatformBlackBerry.cmake: Renamed from Source/JavaScriptCore/wtf/PlatformBlackBerry.cmake. * wtf/PlatformEfl.cmake: Renamed from Source/JavaScriptCore/wtf/PlatformEfl.cmake. * wtf/PlatformWinCE.cmake: Renamed from Source/JavaScriptCore/wtf/PlatformWinCE.cmake. * wtf/PossiblyNull.h: Renamed from Source/JavaScriptCore/wtf/PossiblyNull.h. (WTF): (WTF::PossiblyNull::PossiblyNull): (WTF::PossiblyNull::~PossiblyNull): (PossiblyNull): (WTF::::getValue): * wtf/RandomNumber.cpp: Renamed from Source/JavaScriptCore/wtf/RandomNumber.cpp. (WTF): (WTF::randomNumber): * wtf/RandomNumber.h: Renamed from Source/JavaScriptCore/wtf/RandomNumber.h. (WTF): * wtf/RandomNumberSeed.h: Renamed from Source/JavaScriptCore/wtf/RandomNumberSeed.h. (WTF): (WTF::initializeRandomNumberGenerator): * wtf/RedBlackTree.h: Renamed from Source/JavaScriptCore/wtf/RedBlackTree.h. (WTF): (RedBlackTree): (Node): (WTF::RedBlackTree::Node::successor): (WTF::RedBlackTree::Node::predecessor): (WTF::RedBlackTree::Node::reset): (WTF::RedBlackTree::Node::parent): (WTF::RedBlackTree::Node::setParent): (WTF::RedBlackTree::Node::left): (WTF::RedBlackTree::Node::setLeft): (WTF::RedBlackTree::Node::right): (WTF::RedBlackTree::Node::setRight): (WTF::RedBlackTree::Node::color): (WTF::RedBlackTree::Node::setColor): (WTF::RedBlackTree::RedBlackTree): (WTF::RedBlackTree::insert): (WTF::RedBlackTree::remove): (WTF::RedBlackTree::findExact): (WTF::RedBlackTree::findLeastGreaterThanOrEqual): (WTF::RedBlackTree::findGreatestLessThanOrEqual): (WTF::RedBlackTree::first): (WTF::RedBlackTree::last): (WTF::RedBlackTree::size): (WTF::RedBlackTree::isEmpty): (WTF::RedBlackTree::treeMinimum): (WTF::RedBlackTree::treeMaximum): (WTF::RedBlackTree::treeInsert): (WTF::RedBlackTree::leftRotate): (WTF::RedBlackTree::rightRotate): (WTF::RedBlackTree::removeFixup): * wtf/RefCounted.h: Renamed from Source/JavaScriptCore/wtf/RefCounted.h. (WTF): (RefCountedBase): (WTF::RefCountedBase::ref): (WTF::RefCountedBase::hasOneRef): (WTF::RefCountedBase::refCount): (WTF::RefCountedBase::turnOffVerifier): (WTF::RefCountedBase::relaxAdoptionRequirement): (WTF::RefCountedBase::addressOfCount): (WTF::RefCountedBase::RefCountedBase): (WTF::RefCountedBase::~RefCountedBase): (WTF::RefCountedBase::derefBase): (WTF::RefCountedBase::deletionHasBegun): (WTF::adopted): (RefCounted): (WTF::RefCounted::deref): (WTF::RefCounted::RefCounted): (WTF::RefCounted::~RefCounted): (RefCountedCustomAllocated): (WTF::RefCountedCustomAllocated::deref): (WTF::RefCountedCustomAllocated::~RefCountedCustomAllocated): (WTF::RefCountedBase::setMutexForVerifier): (WTF::RefCountedBase::setDispatchQueueForVerifier): * wtf/RefCountedArray.h: Renamed from Source/JavaScriptCore/wtf/RefCountedArray.h. (WTF): (RefCountedArray): (WTF::RefCountedArray::RefCountedArray): (WTF::RefCountedArray::operator=): (WTF::RefCountedArray::~RefCountedArray): (WTF::RefCountedArray::size): (WTF::RefCountedArray::data): (WTF::RefCountedArray::begin): (WTF::RefCountedArray::end): (WTF::RefCountedArray::at): (WTF::RefCountedArray::operator[]): (Header): (WTF::RefCountedArray::Header::size): (WTF::RefCountedArray::Header::payload): (WTF::RefCountedArray::Header::fromPayload): * wtf/RefCountedLeakCounter.cpp: Renamed from Source/JavaScriptCore/wtf/RefCountedLeakCounter.cpp. (WTF): (WTF::RefCountedLeakCounter::suppressMessages): (WTF::RefCountedLeakCounter::cancelMessageSuppression): (WTF::RefCountedLeakCounter::RefCountedLeakCounter): (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): (WTF::RefCountedLeakCounter::increment): (WTF::RefCountedLeakCounter::decrement): * wtf/RefCountedLeakCounter.h: Renamed from Source/JavaScriptCore/wtf/RefCountedLeakCounter.h. (WTF): (RefCountedLeakCounter): * wtf/RefPtr.h: Renamed from Source/JavaScriptCore/wtf/RefPtr.h. (WTF): (RefPtr): (WTF::RefPtr::RefPtr): (WTF::RefPtr::isHashTableDeletedValue): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get): (WTF::RefPtr::release): (WTF::RefPtr::operator*): (WTF::RefPtr::operator->): (WTF::RefPtr::operator!): (WTF::RefPtr::operator UnspecifiedBoolType): (WTF::RefPtr::operator=): (WTF::RefPtr::hashTableDeletedValue): (WTF::::RefPtr): (WTF::::clear): (WTF::=): (WTF::::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::const_pointer_cast): (WTF::getPtr): * wtf/RefPtrHashMap.h: Renamed from Source/JavaScriptCore/wtf/RefPtrHashMap.h. (WTF): (WTF::::swap): (WTF::::size): (WTF::::capacity): (WTF::::isEmpty): (WTF::::begin): (WTF::::end): (WTF::::find): (WTF::::contains): (WTF::::inlineAdd): (WTF::::set): (WTF::::add): (WTF::::get): (WTF::::inlineGet): (WTF::::remove): (WTF::::clear): (WTF::::take): * wtf/RetainPtr.h: Renamed from Source/JavaScriptCore/wtf/RetainPtr.h. (WTF): (WTF::adoptNSReference): (RetainPtr): (WTF::RetainPtr::RetainPtr): (WTF::RetainPtr::isHashTableDeletedValue): (WTF::RetainPtr::~RetainPtr): (WTF::RetainPtr::get): (WTF::RetainPtr::operator->): (WTF::RetainPtr::operator!): (WTF::RetainPtr::operator UnspecifiedBoolType): (WTF::RetainPtr::operator=): (WTF::RetainPtr::hashTableDeletedValue): (WTF::::RetainPtr): (WTF::::clear): (WTF::::leakRef): (WTF::=): (WTF::::adoptCF): (WTF::::adoptNS): (WTF::::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::adoptCF): (WTF::adoptNS): (WTF::retainPtr): * wtf/SHA1.cpp: Renamed from Source/JavaScriptCore/wtf/SHA1.cpp. (WTF): (WTF::testSHA1): (WTF::expectSHA1): (WTF::f): (WTF::k): (WTF::rotateLeft): (WTF::SHA1::SHA1): (WTF::SHA1::addBytes): (WTF::SHA1::computeHash): (WTF::SHA1::finalize): (WTF::SHA1::processBlock): (WTF::SHA1::reset): * wtf/SHA1.h: Renamed from Source/JavaScriptCore/wtf/SHA1.h. (WTF): (SHA1): (WTF::SHA1::addBytes): * wtf/SegmentedVector.h: Renamed from Source/JavaScriptCore/wtf/SegmentedVector.h. (WTF): (SegmentedVectorIterator): (WTF::SegmentedVectorIterator::~SegmentedVectorIterator): (WTF::SegmentedVectorIterator::operator*): (WTF::SegmentedVectorIterator::operator->): (WTF::SegmentedVectorIterator::operator++): (WTF::SegmentedVectorIterator::operator==): (WTF::SegmentedVectorIterator::operator!=): (WTF::SegmentedVectorIterator::operator=): (WTF::SegmentedVectorIterator::SegmentedVectorIterator): (SegmentedVector): (WTF::SegmentedVector::SegmentedVector): (WTF::SegmentedVector::~SegmentedVector): (WTF::SegmentedVector::size): (WTF::SegmentedVector::isEmpty): (WTF::SegmentedVector::at): (WTF::SegmentedVector::operator[]): (WTF::SegmentedVector::last): (WTF::SegmentedVector::append): (WTF::SegmentedVector::alloc): (WTF::SegmentedVector::removeLast): (WTF::SegmentedVector::grow): (WTF::SegmentedVector::clear): (WTF::SegmentedVector::begin): (WTF::SegmentedVector::end): (WTF::SegmentedVector::deleteAllSegments): (WTF::SegmentedVector::segmentExistsFor): (WTF::SegmentedVector::segmentFor): (WTF::SegmentedVector::subscriptFor): (WTF::SegmentedVector::ensureSegmentsFor): (WTF::SegmentedVector::ensureSegment): * wtf/SentinelLinkedList.h: Renamed from Source/JavaScriptCore/wtf/SentinelLinkedList.h. (WTF): (BasicRawSentinelNode): (WTF::BasicRawSentinelNode::BasicRawSentinelNode): (WTF::BasicRawSentinelNode::setPrev): (WTF::BasicRawSentinelNode::setNext): (WTF::BasicRawSentinelNode::prev): (WTF::BasicRawSentinelNode::next): (WTF::BasicRawSentinelNode::isOnList): (SentinelLinkedList): (WTF::SentinelLinkedList::isEmpty): (WTF::::remove): (WTF::::SentinelLinkedList): (WTF::::begin): (WTF::::end): (WTF::::push): * wtf/SimpleStats.h: Renamed from Source/JavaScriptCore/wtf/SimpleStats.h. (WTF): (SimpleStats): (WTF::SimpleStats::SimpleStats): (WTF::SimpleStats::add): (WTF::SimpleStats::operator!): (WTF::SimpleStats::count): (WTF::SimpleStats::sum): (WTF::SimpleStats::sumOfSquares): (WTF::SimpleStats::mean): (WTF::SimpleStats::variance): (WTF::SimpleStats::standardDeviation): * wtf/SinglyLinkedList.h: Renamed from Source/JavaScriptCore/wtf/SinglyLinkedList.h. (WTF): (SinglyLinkedList): (WTF::::SinglyLinkedList): (WTF::::isEmpty): (WTF::::push): (WTF::::pop): * wtf/SizeLimits.cpp: Renamed from Source/JavaScriptCore/wtf/SizeLimits.cpp. (WTF): (SameSizeAsRefCounted): * wtf/Spectrum.h: Renamed from Source/JavaScriptCore/wtf/Spectrum.h. (WTF): (Spectrum): (WTF::Spectrum::Spectrum): (WTF::Spectrum::add): (WTF::Spectrum::get): (WTF::Spectrum::begin): (WTF::Spectrum::end): (WTF::Spectrum::KeyAndCount::KeyAndCount): (KeyAndCount): (WTF::Spectrum::KeyAndCount::operator<): (WTF::Spectrum::buildList): * wtf/StackBounds.cpp: Renamed from Source/JavaScriptCore/wtf/StackBounds.cpp. (WTF): (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::detectGrowingDownward): (WTF::isPageWritable): (WTF::getLowerStackBound): (WTF::getUpperStackBound): * wtf/StackBounds.h: Renamed from Source/JavaScriptCore/wtf/StackBounds.h. (WTF): (StackBounds): (WTF::StackBounds::StackBounds): (WTF::StackBounds::currentThreadStackBounds): (WTF::StackBounds::origin): (WTF::StackBounds::current): (WTF::StackBounds::recursionLimit): (WTF::StackBounds::recursionCheck): (WTF::StackBounds::isGrowingDownward): (WTF::StackBounds::checkConsistency): * wtf/StaticConstructors.h: Renamed from Source/JavaScriptCore/wtf/StaticConstructors.h. * wtf/StdLibExtras.h: Renamed from Source/JavaScriptCore/wtf/StdLibExtras.h. (isPointerTypeAlignmentOkay): (reinterpret_cast_ptr): (WTF): (WTF::isPointerAligned): (WTF::is8ByteAligned): (WTF::bitwise_cast): (WTF::safeCast): (WTF::bitCount): (WTF::roundUpToMultipleOf): (WTF::binarySearch): (WTF::binarySearchWithFunctor): (WTF::genericBinarySearch): (operator new): * wtf/StringExtras.cpp: Renamed from Source/JavaScriptCore/wtf/StringExtras.cpp. (strcasecmp): (strncasecmp): * wtf/StringExtras.h: Renamed from Source/JavaScriptCore/wtf/StringExtras.h. (snprintf): (wtf_vsnprintf): (strnicmp): (stricmp): (strdup): (strncasecmp): (strcasecmp): (strnstr): * wtf/StringHasher.h: Renamed from Source/JavaScriptCore/wtf/StringHasher.h. (WTF): (StringHasher): (WTF::StringHasher::StringHasher): (WTF::StringHasher::addCharacters): (WTF::StringHasher::addCharacter): (WTF::StringHasher::hash): (WTF::StringHasher::computeHash): (WTF::StringHasher::hashMemory): (WTF::StringHasher::defaultConverter): (WTF::StringHasher::addCharactersToHash): * wtf/TCPackedCache.h: Renamed from Source/JavaScriptCore/wtf/TCPackedCache.h. (PackedCache): (PackedCache::PackedCache): (PackedCache::Put): (PackedCache::Has): (PackedCache::GetOrDefault): (PackedCache::Clear): (PackedCache::EntryToValue): (PackedCache::EntryToUpper): (PackedCache::KeyToUpper): (PackedCache::UpperToPartialKey): (PackedCache::Hash): (PackedCache::KeyMatch): * wtf/TCPageMap.h: Renamed from Source/JavaScriptCore/wtf/TCPageMap.h. (TCMalloc_PageMap1): (TCMalloc_PageMap1::init): (TCMalloc_PageMap1::Ensure): (TCMalloc_PageMap1::PreallocateMoreMemory): (TCMalloc_PageMap1::get): (TCMalloc_PageMap1::set): (TCMalloc_PageMap2): (Leaf): (TCMalloc_PageMap2::init): (TCMalloc_PageMap2::get): (TCMalloc_PageMap2::set): (TCMalloc_PageMap2::Ensure): (TCMalloc_PageMap2::PreallocateMoreMemory): (TCMalloc_PageMap2::visitValues): (TCMalloc_PageMap2::visitAllocations): (TCMalloc_PageMap3): (Node): (TCMalloc_PageMap3::NewNode): (TCMalloc_PageMap3::init): (TCMalloc_PageMap3::get): (TCMalloc_PageMap3::set): (TCMalloc_PageMap3::Ensure): (TCMalloc_PageMap3::PreallocateMoreMemory): (TCMalloc_PageMap3::visitValues): (TCMalloc_PageMap3::visitAllocations): * wtf/TCSpinLock.h: Renamed from Source/JavaScriptCore/wtf/TCSpinLock.h. (TCMalloc_SpinLock): (TCMalloc_SpinLock::Lock): (TCMalloc_SpinLock::Unlock): (TCMalloc_SpinLock::IsHeld): (TCMalloc_SpinLock::Init): (TCMalloc_SpinLock::Finalize): (TCMalloc_SlowLock): (TCMalloc_SpinLockHolder): (TCMalloc_SpinLockHolder::TCMalloc_SpinLockHolder): (TCMalloc_SpinLockHolder::~TCMalloc_SpinLockHolder): * wtf/TCSystemAlloc.cpp: Renamed from Source/JavaScriptCore/wtf/TCSystemAlloc.cpp. (TrySbrk): (TryMmap): (TryVirtualAlloc): (TryDevMem): (TCMalloc_SystemAlloc): (TCMalloc_SystemRelease): (TCMalloc_SystemCommit): * wtf/TCSystemAlloc.h: Renamed from Source/JavaScriptCore/wtf/TCSystemAlloc.h. (TCMalloc_SystemRelease): (TCMalloc_SystemCommit): * wtf/TemporaryChange.h: Renamed from Source/JavaScriptCore/wtf/TemporaryChange.h. (WTF): (TemporaryChange): (WTF::TemporaryChange::TemporaryChange): (WTF::TemporaryChange::~TemporaryChange): * wtf/ThreadFunctionInvocation.h: Renamed from Source/JavaScriptCore/wtf/ThreadFunctionInvocation.h. (WTF): (WTF::ThreadFunctionInvocation::ThreadFunctionInvocation): (ThreadFunctionInvocation): * wtf/ThreadIdentifierDataPthreads.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.cpp. (WTF): (WTF::ThreadIdentifierData::~ThreadIdentifierData): (WTF::ThreadIdentifierData::initializeOnce): (WTF::ThreadIdentifierData::identifier): (WTF::ThreadIdentifierData::initialize): (WTF::ThreadIdentifierData::destruct): * wtf/ThreadIdentifierDataPthreads.h: Renamed from Source/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.h. (WTF): (ThreadIdentifierData): (WTF::ThreadIdentifierData::ThreadIdentifierData): * wtf/ThreadRestrictionVerifier.h: Renamed from Source/JavaScriptCore/wtf/ThreadRestrictionVerifier.h. (WTF): (ThreadRestrictionVerifier): (WTF::ThreadRestrictionVerifier::ThreadRestrictionVerifier): (WTF::ThreadRestrictionVerifier::~ThreadRestrictionVerifier): (WTF::ThreadRestrictionVerifier::setMutexMode): (WTF::ThreadRestrictionVerifier::setDispatchQueueMode): (WTF::ThreadRestrictionVerifier::turnOffVerification): (WTF::ThreadRestrictionVerifier::setShared): (WTF::ThreadRestrictionVerifier::isSafeToUse): * wtf/ThreadSafeRefCounted.h: Renamed from Source/JavaScriptCore/wtf/ThreadSafeRefCounted.h. (WTF): (ThreadSafeRefCountedBase): (WTF::ThreadSafeRefCountedBase::ThreadSafeRefCountedBase): (WTF::ThreadSafeRefCountedBase::ref): (WTF::ThreadSafeRefCountedBase::hasOneRef): (WTF::ThreadSafeRefCountedBase::refCount): (WTF::ThreadSafeRefCountedBase::derefBase): (ThreadSafeRefCounted): (WTF::ThreadSafeRefCounted::deref): (WTF::ThreadSafeRefCounted::ThreadSafeRefCounted): * wtf/ThreadSpecific.h: Renamed from Source/JavaScriptCore/wtf/ThreadSpecific.h. (WTF): (ThreadSpecific): (Data): (WTF::ThreadSpecific::Data::Data): (WTF::::ThreadSpecific): (WTF::::get): (WTF::::set): (WTF::::~ThreadSpecific): (WTF::::destroy): (WTF::::isSet): (WTF::T): (WTF::::operator): * wtf/ThreadSpecificWin.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadSpecificWin.cpp. (WTF): (WTF::tlsKeyCount): (WTF::tlsKeys): (WTF::ThreadSpecificThreadExit): * wtf/Threading.cpp: Renamed from Source/JavaScriptCore/wtf/Threading.cpp. (WTF): (NewThreadContext): (WTF::NewThreadContext::NewThreadContext): (WTF::threadEntryPoint): (WTF::createThread): (WTF::ThreadFunctionWithReturnValueInvocation::ThreadFunctionWithReturnValueInvocation): (ThreadFunctionWithReturnValueInvocation): (WTF::compatEntryPoint): (WTF::waitForThreadCompletion): * wtf/Threading.h: Renamed from Source/JavaScriptCore/wtf/Threading.h. (WTF): * wtf/ThreadingNone.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadingNone.cpp. * wtf/ThreadingPrimitives.h: Renamed from Source/JavaScriptCore/wtf/ThreadingPrimitives.h. (WTF): (PlatformMutex): (PlatformCondition): (Mutex): (WTF::Mutex::impl): (ReadWriteLock): (ThreadCondition): * wtf/ThreadingPthreads.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadingPthreads.cpp. (WTF): (WTF::threadMapMutex): (WTF::initializeThreading): (WTF::lockAtomicallyInitializedStaticMutex): (WTF::unlockAtomicallyInitializedStaticMutex): (WTF::threadMap): (WTF::identifierByPthreadHandle): (WTF::establishIdentifierForPthreadHandle): (WTF::pthreadHandleForIdentifier): (WTF::clearPthreadHandleForIdentifier): (WTF::wtfThreadEntryPoint): (WTF::createThreadInternal): (WTF::initializeCurrentThreadInternal): (WTF::waitForThreadCompletion): (WTF::detachThread): (WTF::yield): (WTF::currentThread): (WTF::Mutex::Mutex): (WTF::Mutex::~Mutex): (WTF::Mutex::lock): (WTF::Mutex::tryLock): (WTF::Mutex::unlock): (WTF::ReadWriteLock::ReadWriteLock): (WTF::ReadWriteLock::~ReadWriteLock): (WTF::ReadWriteLock::readLock): (WTF::ReadWriteLock::tryReadLock): (WTF::ReadWriteLock::writeLock): (WTF::ReadWriteLock::tryWriteLock): (WTF::ReadWriteLock::unlock): (WTF::ThreadCondition::ThreadCondition): (WTF::ThreadCondition::~ThreadCondition): (WTF::ThreadCondition::wait): (WTF::ThreadCondition::timedWait): (WTF::ThreadCondition::signal): (WTF::ThreadCondition::broadcast): * wtf/ThreadingWin.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadingWin.cpp. (WTF): (tagTHREADNAME_INFO): (WTF::initializeCurrentThreadInternal): (WTF::lockAtomicallyInitializedStaticMutex): (WTF::unlockAtomicallyInitializedStaticMutex): (WTF::threadMapMutex): (WTF::initializeThreading): (WTF::threadMap): (WTF::storeThreadHandleByIdentifier): (WTF::threadHandleForIdentifier): (WTF::clearThreadHandleForIdentifier): (WTF::wtfThreadEntryPoint): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::detachThread): (WTF::yield): (WTF::currentThread): (WTF::Mutex::Mutex): (WTF::Mutex::~Mutex): (WTF::Mutex::lock): (WTF::Mutex::tryLock): (WTF::Mutex::unlock): (WTF::PlatformCondition::timedWait): (WTF::PlatformCondition::signal): (WTF::ThreadCondition::ThreadCondition): (WTF::ThreadCondition::~ThreadCondition): (WTF::ThreadCondition::wait): (WTF::ThreadCondition::timedWait): (WTF::ThreadCondition::signal): (WTF::ThreadCondition::broadcast): (WTF::absoluteTimeToWaitTimeoutInterval): * wtf/TypeTraits.cpp: Renamed from Source/JavaScriptCore/wtf/TypeTraits.cpp. (WTF): * wtf/TypeTraits.h: Renamed from Source/JavaScriptCore/wtf/TypeTraits.h. (WTF): (IsConvertibleToInteger): (IsArray): (IsSameType): (IsSubclass): (NoType): (IsSubclassOfTemplate): (RemoveTemplate): (RemoveConst): (RemoveVolatile): (RemoveConstVolatile): (RemovePointer): (RemoveReference): (RemoveExtent): (DecayArray): (IntegralConstant): * wtf/TypedArrayBase.h: Renamed from Source/JavaScriptCore/wtf/TypedArrayBase.h. (WTF): (TypedArrayBase): (WTF::TypedArrayBase::data): (WTF::TypedArrayBase::set): (WTF::TypedArrayBase::setRange): (WTF::TypedArrayBase::zeroRange): (WTF::TypedArrayBase::length): (WTF::TypedArrayBase::byteLength): (WTF::TypedArrayBase::TypedArrayBase): (WTF::TypedArrayBase::create): (WTF::TypedArrayBase::subarrayImpl): (WTF::TypedArrayBase::neuter): * wtf/Uint16Array.h: Renamed from Source/JavaScriptCore/wtf/Uint16Array.h. (WTF): (Uint16Array): (WTF::Uint16Array::set): (WTF::Uint16Array::isUnsignedShortArray): (WTF::Uint16Array::create): (WTF::Uint16Array::Uint16Array): (WTF::Uint16Array::subarray): * wtf/Uint32Array.h: Renamed from Source/JavaScriptCore/wtf/Uint32Array.h. (WTF): (Uint32Array): (WTF::Uint32Array::set): (WTF::Uint32Array::isUnsignedIntArray): (WTF::Uint32Array::create): (WTF::Uint32Array::Uint32Array): (WTF::Uint32Array::subarray): * wtf/Uint8Array.h: Renamed from Source/JavaScriptCore/wtf/Uint8Array.h. (WTF): (Uint8Array): (WTF::Uint8Array::set): (WTF::Uint8Array::isUnsignedByteArray): (WTF::Uint8Array::create): (WTF::Uint8Array::Uint8Array): (WTF::Uint8Array::subarray): * wtf/Uint8ClampedArray.h: Renamed from Source/JavaScriptCore/wtf/Uint8ClampedArray.h. (WTF): (Uint8ClampedArray): (WTF::Uint8ClampedArray::set): (WTF::Uint8ClampedArray::isUnsignedByteClampedArray): (WTF::Uint8ClampedArray::create): (WTF::Uint8ClampedArray::Uint8ClampedArray): (WTF::Uint8ClampedArray::subarray): * wtf/UnionFind.h: Renamed from Source/JavaScriptCore/wtf/UnionFind.h. (WTF): (UnionFind): (WTF::UnionFind::UnionFind): (WTF::UnionFind::find): (WTF::UnionFind::unify): * wtf/UnusedParam.h: Renamed from Source/JavaScriptCore/wtf/UnusedParam.h. (unusedParam): * wtf/VMTags.h: Renamed from Source/JavaScriptCore/wtf/VMTags.h. * wtf/ValueCheck.h: Renamed from Source/JavaScriptCore/wtf/ValueCheck.h. (WTF): (ValueCheck): (WTF::ValueCheck::checkConsistency): * wtf/Vector.h: Renamed from Source/JavaScriptCore/wtf/Vector.h. (WTF): (WTF::VectorTypeOperations::destruct): (VectorTypeOperations): (WTF::VectorTypeOperations::initialize): (WTF::VectorTypeOperations::move): (WTF::VectorTypeOperations::moveOverlapping): (WTF::VectorTypeOperations::uninitializedCopy): (WTF::VectorTypeOperations::uninitializedFill): (WTF::VectorTypeOperations::compare): (VectorBufferBase): (WTF::VectorBufferBase::allocateBuffer): (WTF::VectorBufferBase::tryAllocateBuffer): (WTF::VectorBufferBase::deallocateBuffer): (WTF::VectorBufferBase::buffer): (WTF::VectorBufferBase::bufferSlot): (WTF::VectorBufferBase::capacity): (WTF::VectorBufferBase::releaseBuffer): (WTF::VectorBufferBase::VectorBufferBase): (WTF::VectorBufferBase::~VectorBufferBase): (VectorBuffer): (WTF::VectorBuffer::VectorBuffer): (WTF::VectorBuffer::~VectorBuffer): (WTF::VectorBuffer::allocateBuffer): (WTF::VectorBuffer::tryAllocateBuffer): (WTF::VectorBuffer::deallocateBuffer): (WTF::VectorBuffer::swap): (WTF::VectorBuffer::restoreInlineBufferIfNeeded): (WTF::VectorBuffer::releaseBuffer): (WTF::VectorBuffer::inlineBuffer): (Vector): (WTF::Vector::Vector): (WTF::Vector::~Vector): (WTF::Vector::size): (WTF::Vector::capacity): (WTF::Vector::isEmpty): (WTF::Vector::at): (WTF::Vector::operator[]): (WTF::Vector::data): (WTF::Vector::dataSlot): (WTF::Vector::begin): (WTF::Vector::end): (WTF::Vector::rbegin): (WTF::Vector::rend): (WTF::Vector::reversed): (WTF::Vector::first): (WTF::Vector::last): (WTF::Vector::shrinkToFit): (WTF::Vector::clear): (WTF::Vector::removeLast): (WTF::Vector::fill): (WTF::Vector::swap): (VectorReverseProxy): (WTF::Vector::VectorReverseProxy::begin): (WTF::Vector::VectorReverseProxy::end): (WTF::operator<<): (WTF::operator>>): (WTF::::Vector): (WTF::=): (WTF::typelessPointersAreEqual): (WTF::::contains): (WTF::::find): (WTF::::reverseFind): (WTF::::fill): (WTF::::appendRange): (WTF::::expandCapacity): (WTF::::tryExpandCapacity): (WTF::::resize): (WTF::::shrink): (WTF::::grow): (WTF::::reserveCapacity): (WTF::::tryReserveCapacity): (WTF::::reserveInitialCapacity): (WTF::::shrinkCapacity): (WTF::::append): (WTF::::tryAppend): (WTF::::appendSlowCase): (WTF::::uncheckedAppend): (WTF::::insert): (WTF::::prepend): (WTF::::remove): (WTF::::reverse): (WTF::::releaseBuffer): (WTF::::checkConsistency): (WTF::deleteAllValues): (WTF::swap): (WTF::operator==): (WTF::operator!=): * wtf/VectorTraits.h: Renamed from Source/JavaScriptCore/wtf/VectorTraits.h. (WTF): (SimpleClassVectorTraits): * wtf/WTFThreadData.cpp: Renamed from Source/JavaScriptCore/wtf/WTFThreadData.cpp. (WTF): (WTF::WTFThreadData::WTFThreadData): (WTF::WTFThreadData::~WTFThreadData): (JSC): (JSC::IdentifierTable::~IdentifierTable): (JSC::IdentifierTable::add): * wtf/WTFThreadData.h: Renamed from Source/JavaScriptCore/wtf/WTFThreadData.h. (JSC): (IdentifierTable): (JSC::IdentifierTable::remove): (JSC::IdentifierTable::literalTable): (WTF): (WTFThreadData): (WTF::WTFThreadData::atomicStringTable): (WTF::WTFThreadData::currentIdentifierTable): (WTF::WTFThreadData::setCurrentIdentifierTable): (WTF::WTFThreadData::resetCurrentIdentifierTable): (WTF::WTFThreadData::stack): (WTF::wtfThreadData): * wtf/blackberry/MainThreadBlackBerry.cpp: Renamed from Source/JavaScriptCore/wtf/blackberry/MainThreadBlackBerry.cpp. (WTF): (WTF::initializeMainThreadPlatform): (WTF::scheduleDispatchFunctionsOnMainThread): * wtf/chromium/ChromiumThreading.h: Renamed from Source/JavaScriptCore/wtf/chromium/ChromiumThreading.h. (WTF): (ChromiumThreading): * wtf/chromium/MainThreadChromium.cpp: Renamed from Source/JavaScriptCore/wtf/chromium/MainThreadChromium.cpp. (WTF): (WTF::initializeMainThread): (WTF::callOnMainThread): (WTF::callOnMainThreadAndWait): (WTF::setMainThreadCallbacksPaused): (WTF::isMainThread): * wtf/dtoa.cpp: Renamed from Source/JavaScriptCore/wtf/dtoa.cpp. (WTF): (WTF::storeInc): (WTF::BigInt::BigInt): (BigInt): (WTF::BigInt::clear): (WTF::BigInt::size): (WTF::BigInt::resize): (WTF::BigInt::words): (WTF::BigInt::append): (WTF::multadd): (WTF::hi0bits): (WTF::lo0bits): (WTF::i2b): (WTF::mult): (P5Node): (WTF::P5Node::P5Node): (WTF::pow5mult): (WTF::lshift): (WTF::cmp): (WTF::diff): (WTF::d2b): (WTF::strtod): (WTF::quorem): (WTF::dtoa): * wtf/dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa.h. (WTF): * wtf/dtoa/COPYING: Renamed from Source/JavaScriptCore/wtf/dtoa/COPYING. * wtf/dtoa/LICENSE: Renamed from Source/JavaScriptCore/wtf/dtoa/LICENSE. * wtf/dtoa/README: Renamed from Source/JavaScriptCore/wtf/dtoa/README. * wtf/dtoa/bignum-dtoa.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum-dtoa.cc. * wtf/dtoa/bignum-dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum-dtoa.h. (WTF): (double_conversion): * wtf/dtoa/bignum.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum.cc. * wtf/dtoa/bignum.h: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum.h. (WTF): (double_conversion): (Bignum): (WTF::double_conversion::Bignum::Times10): (WTF::double_conversion::Bignum::Equal): (WTF::double_conversion::Bignum::LessEqual): (WTF::double_conversion::Bignum::Less): (WTF::double_conversion::Bignum::PlusEqual): (WTF::double_conversion::Bignum::PlusLessEqual): (WTF::double_conversion::Bignum::PlusLess): (WTF::double_conversion::Bignum::EnsureCapacity): (WTF::double_conversion::Bignum::BigitLength): * wtf/dtoa/cached-powers.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/cached-powers.cc. * wtf/dtoa/cached-powers.h: Renamed from Source/JavaScriptCore/wtf/dtoa/cached-powers.h. (WTF): (double_conversion): (PowersOfTenCache): * wtf/dtoa/diy-fp.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/diy-fp.cc. * wtf/dtoa/diy-fp.h: Renamed from Source/JavaScriptCore/wtf/dtoa/diy-fp.h. (WTF): (double_conversion): (DiyFp): (WTF::double_conversion::DiyFp::DiyFp): (WTF::double_conversion::DiyFp::Subtract): (WTF::double_conversion::DiyFp::Minus): (WTF::double_conversion::DiyFp::Times): (WTF::double_conversion::DiyFp::Normalize): (WTF::double_conversion::DiyFp::f): (WTF::double_conversion::DiyFp::e): (WTF::double_conversion::DiyFp::set_f): (WTF::double_conversion::DiyFp::set_e): * wtf/dtoa/double-conversion.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/double-conversion.cc. * wtf/dtoa/double-conversion.h: Renamed from Source/JavaScriptCore/wtf/dtoa/double-conversion.h. (WTF): (double_conversion): (DoubleToStringConverter): (WTF::double_conversion::DoubleToStringConverter::DoubleToStringConverter): (StringToDoubleConverter): (WTF::double_conversion::StringToDoubleConverter::StringToDoubleConverter): * wtf/dtoa/double.h: Renamed from Source/JavaScriptCore/wtf/dtoa/double.h. (WTF): (double_conversion): (WTF::double_conversion::double_to_uint64): (WTF::double_conversion::uint64_to_double): (Double): (WTF::double_conversion::Double::Double): (WTF::double_conversion::Double::AsDiyFp): (WTF::double_conversion::Double::AsNormalizedDiyFp): (WTF::double_conversion::Double::AsUint64): (WTF::double_conversion::Double::NextDouble): (WTF::double_conversion::Double::Exponent): (WTF::double_conversion::Double::Significand): (WTF::double_conversion::Double::IsDenormal): (WTF::double_conversion::Double::IsSpecial): (WTF::double_conversion::Double::IsNan): (WTF::double_conversion::Double::IsInfinite): (WTF::double_conversion::Double::Sign): (WTF::double_conversion::Double::UpperBoundary): (WTF::double_conversion::Double::NormalizedBoundaries): (WTF::double_conversion::Double::value): (WTF::double_conversion::Double::SignificandSizeForOrderOfMagnitude): (WTF::double_conversion::Double::Infinity): (WTF::double_conversion::Double::NaN): (WTF::double_conversion::Double::DiyFpToUint64): * wtf/dtoa/fast-dtoa.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/fast-dtoa.cc. * wtf/dtoa/fast-dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa/fast-dtoa.h. (WTF): (double_conversion): * wtf/dtoa/fixed-dtoa.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/fixed-dtoa.cc. * wtf/dtoa/fixed-dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa/fixed-dtoa.h. (WTF): (double_conversion): * wtf/dtoa/strtod.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/strtod.cc. * wtf/dtoa/strtod.h: Renamed from Source/JavaScriptCore/wtf/dtoa/strtod.h. (WTF): (double_conversion): * wtf/dtoa/utils.h: Renamed from Source/JavaScriptCore/wtf/dtoa/utils.h. (WTF): (double_conversion): (WTF::double_conversion::Max): (WTF::double_conversion::Min): (WTF::double_conversion::StrLength): (Vector): (WTF::double_conversion::Vector::Vector): (WTF::double_conversion::Vector::SubVector): (WTF::double_conversion::Vector::length): (WTF::double_conversion::Vector::is_empty): (WTF::double_conversion::Vector::start): (WTF::double_conversion::Vector::operator[]): (WTF::double_conversion::Vector::first): (WTF::double_conversion::Vector::last): (StringBuilder): (WTF::double_conversion::StringBuilder::StringBuilder): (WTF::double_conversion::StringBuilder::~StringBuilder): (WTF::double_conversion::StringBuilder::size): (WTF::double_conversion::StringBuilder::position): (WTF::double_conversion::StringBuilder::SetPosition): (WTF::double_conversion::StringBuilder::Reset): (WTF::double_conversion::StringBuilder::AddCharacter): (WTF::double_conversion::StringBuilder::AddString): (WTF::double_conversion::StringBuilder::AddSubstring): (WTF::double_conversion::StringBuilder::AddPadding): (WTF::double_conversion::StringBuilder::Finalize): (WTF::double_conversion::StringBuilder::is_finalized): (WTF::double_conversion::BitCast): * wtf/efl/MainThreadEfl.cpp: Renamed from Source/JavaScriptCore/wtf/efl/MainThreadEfl.cpp. (WTF): (WTF::pipeObject): (WTF::monitorDispatchFunctions): (WTF::initializeMainThreadPlatform): (WTF::scheduleDispatchFunctionsOnMainThread): * wtf/efl/OwnPtrEfl.cpp: Renamed from Source/JavaScriptCore/wtf/efl/OwnPtrEfl.cpp. (WTF): (WTF::deleteOwnedPtr): * wtf/gobject/GOwnPtr.cpp: Renamed from Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp. (WTF): (WTF::GError): (WTF::GList): (WTF::GSList): (WTF::GPatternSpec): (WTF::GDir): (WTF::GTimer): (WTF::GKeyFile): * wtf/gobject/GOwnPtr.h: Renamed from Source/JavaScriptCore/wtf/gobject/GOwnPtr.h. (WTF): (GOwnPtr): (WTF::GOwnPtr::GOwnPtr): (WTF::GOwnPtr::~GOwnPtr): (WTF::GOwnPtr::get): (WTF::GOwnPtr::release): (WTF::GOwnPtr::outPtr): (WTF::GOwnPtr::set): (WTF::GOwnPtr::clear): (WTF::GOwnPtr::operator*): (WTF::GOwnPtr::operator->): (WTF::GOwnPtr::operator!): (WTF::GOwnPtr::operator UnspecifiedBoolType): (WTF::GOwnPtr::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::getPtr): (WTF::freeOwnedGPtr): * wtf/gobject/GRefPtr.cpp: Renamed from Source/JavaScriptCore/wtf/gobject/GRefPtr.cpp. (WTF): (WTF::refGPtr): (WTF::derefGPtr): (_GVariant): * wtf/gobject/GRefPtr.h: Renamed from Source/JavaScriptCore/wtf/gobject/GRefPtr.h. (WTF): (GRefPtr): (WTF::GRefPtr::GRefPtr): (WTF::GRefPtr::~GRefPtr): (WTF::GRefPtr::clear): (WTF::GRefPtr::isHashTableDeletedValue): (WTF::GRefPtr::get): (WTF::GRefPtr::operator*): (WTF::GRefPtr::operator->): (WTF::GRefPtr::operator!): (WTF::GRefPtr::operator UnspecifiedBoolType): (WTF::GRefPtr::hashTableDeletedValue): (WTF::=): (WTF::::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::const_pointer_cast): (WTF::getPtr): (WTF::adoptGRef): (WTF::refGPtr): (WTF::derefGPtr): * wtf/gobject/GTypedefs.h: Renamed from Source/JavaScriptCore/wtf/gobject/GTypedefs.h. * wtf/gobject/GlibUtilities.cpp: Renamed from Source/JavaScriptCore/wtf/gobject/GlibUtilities.cpp. (getCurrentExecutablePath): * wtf/gobject/GlibUtilities.h: Renamed from Source/JavaScriptCore/wtf/gobject/GlibUtilities.h. * wtf/gtk/MainThreadGtk.cpp: Renamed from Source/JavaScriptCore/wtf/gtk/MainThreadGtk.cpp. (WTF): (WTF::initializeMainThreadPlatform): (WTF::timeoutFired): (WTF::scheduleDispatchFunctionsOnMainThread): * wtf/mac/MainThreadMac.mm: Renamed from Source/JavaScriptCore/wtf/mac/MainThreadMac.mm. (-[JSWTFMainThreadCaller call]): (WTF): (WTF::initializeMainThreadPlatform): (WTF::initializeMainThreadToProcessMainThreadPlatform): (WTF::timerFired): (WTF::postTimer): (WTF::scheduleDispatchFunctionsOnMainThread): (WTF::isMainThread): * wtf/qt/MainThreadQt.cpp: Renamed from Source/JavaScriptCore/wtf/qt/MainThreadQt.cpp. (WTF): (MainThreadInvoker): (WTF::MainThreadInvoker::MainThreadInvoker): (WTF::MainThreadInvoker::event): (WTF::initializeMainThreadPlatform): (WTF::scheduleDispatchFunctionsOnMainThread): * wtf/qt/StringQt.cpp: Renamed from Source/JavaScriptCore/wtf/qt/StringQt.cpp. (WTF): (WTF::String::String): (WTF::String::operator QString): (WTF::operator<<): (WTF::operator>>): * wtf/qt/UtilsQt.h: Renamed from Source/JavaScriptCore/wtf/qt/UtilsQt.h. (escapeHtml): * wtf/qt/compat/QGuiApplication: Renamed from Source/JavaScriptCore/wtf/qt/compat/QGuiApplication. * wtf/qt/compat/qguiapplication.h: Renamed from Source/JavaScriptCore/wtf/qt/compat/qguiapplication.h. (QGuiApplication): (QGuiApplication::styleHints): * wtf/text/ASCIIFastPath.h: Renamed from Source/JavaScriptCore/wtf/text/ASCIIFastPath.h. (WTF): (WTF::isAlignedToMachineWord): (WTF::alignToMachineWord): (WTF::isAllASCII): (WTF::charactersAreAllASCII): * wtf/text/AtomicString.cpp: Renamed from Source/JavaScriptCore/wtf/text/AtomicString.cpp. (WTF): (AtomicStringTable): (WTF::AtomicStringTable::create): (WTF::AtomicStringTable::table): (WTF::AtomicStringTable::destroy): (WTF::stringTable): (WTF::addToStringTable): (WTF::CStringTranslator::hash): (CStringTranslator): (WTF::CStringTranslator::equal): (WTF::CStringTranslator::translate): (WTF::AtomicString::add): (UCharBuffer): (WTF::UCharBufferTranslator::hash): (UCharBufferTranslator): (WTF::UCharBufferTranslator::equal): (WTF::UCharBufferTranslator::translate): (HashAndCharacters): (WTF::HashAndCharactersTranslator::hash): (HashAndCharactersTranslator): (WTF::HashAndCharactersTranslator::equal): (WTF::HashAndCharactersTranslator::translate): (HashAndUTF8Characters): (WTF::HashAndUTF8CharactersTranslator::hash): (HashAndUTF8CharactersTranslator): (WTF::HashAndUTF8CharactersTranslator::equal): (WTF::HashAndUTF8CharactersTranslator::translate): (SubstringLocation): (WTF::SubstringTranslator::hash): (SubstringTranslator): (WTF::SubstringTranslator::equal): (WTF::SubstringTranslator::translate): (WTF::AtomicString::addSlowCase): (WTF::AtomicString::find): (WTF::AtomicString::remove): (WTF::AtomicString::lower): (WTF::AtomicString::fromUTF8Internal): (WTF::AtomicString::show): * wtf/text/AtomicString.h: Renamed from Source/JavaScriptCore/wtf/text/AtomicString.h. (WTF): (AtomicString): (WTF::AtomicString::AtomicString): (WTF::AtomicString::isHashTableDeletedValue): (WTF::AtomicString::operator const String&): (WTF::AtomicString::string): (WTF::AtomicString::impl): (WTF::AtomicString::characters): (WTF::AtomicString::length): (WTF::AtomicString::operator[]): (WTF::AtomicString::contains): (WTF::AtomicString::find): (WTF::AtomicString::startsWith): (WTF::AtomicString::endsWith): (WTF::AtomicString::upper): (WTF::AtomicString::toInt): (WTF::AtomicString::toDouble): (WTF::AtomicString::toFloat): (WTF::AtomicString::percentage): (WTF::AtomicString::isNull): (WTF::AtomicString::isEmpty): (WTF::AtomicString::createCFString): (WTF::AtomicString::operator NSString*): (WTF::AtomicString::operator QString): (WTF::AtomicString::add): (WTF::operator==): (WTF::operator!=): (WTF::equalIgnoringCase): (WTF::AtomicString::fromUTF8): * wtf/text/AtomicStringHash.h: Renamed from Source/JavaScriptCore/wtf/text/AtomicStringHash.h. (WTF): (WTF::AtomicStringHash::hash): (AtomicStringHash): (WTF::AtomicStringHash::equal): * wtf/text/AtomicStringImpl.h: Renamed from Source/JavaScriptCore/wtf/text/AtomicStringImpl.h. (WTF): (AtomicStringImpl): (WTF::AtomicStringImpl::AtomicStringImpl): * wtf/text/CString.cpp: Renamed from Source/JavaScriptCore/wtf/text/CString.cpp. (WTF): (WTF::CString::CString): (WTF::CString::init): (WTF::CString::mutableData): (WTF::CString::newUninitialized): (WTF::CString::copyBufferIfNeeded): (WTF::operator==): * wtf/text/CString.h: Renamed from Source/JavaScriptCore/wtf/text/CString.h. (WTF): (CStringBuffer): (WTF::CStringBuffer::data): (WTF::CStringBuffer::length): (WTF::CStringBuffer::create): (WTF::CStringBuffer::CStringBuffer): (WTF::CStringBuffer::mutableData): (CString): (WTF::CString::CString): (WTF::CString::data): (WTF::CString::length): (WTF::CString::isNull): (WTF::CString::buffer): (WTF::operator!=): * wtf/text/StringBuffer.h: Renamed from Source/JavaScriptCore/wtf/text/StringBuffer.h. (WTF): (StringBuffer): (WTF::StringBuffer::StringBuffer): (WTF::StringBuffer::~StringBuffer): (WTF::StringBuffer::shrink): (WTF::StringBuffer::resize): (WTF::StringBuffer::length): (WTF::StringBuffer::characters): (WTF::StringBuffer::operator[]): (WTF::StringBuffer::release): * wtf/text/StringBuilder.cpp: Renamed from Source/JavaScriptCore/wtf/text/StringBuilder.cpp. (WTF): (WTF::StringBuilder::reifyString): (WTF::StringBuilder::resize): (WTF::StringBuilder::allocateBuffer): (WTF::StringBuilder::allocateBufferUpConvert): (WTF::LChar): (WTF::UChar): (WTF::StringBuilder::reserveCapacity): (WTF::StringBuilder::appendUninitialized): (WTF::StringBuilder::appendUninitializedSlow): (WTF::StringBuilder::append): (WTF::StringBuilder::canShrink): (WTF::StringBuilder::shrinkToFit): * wtf/text/StringBuilder.h: Renamed from Source/JavaScriptCore/wtf/text/StringBuilder.h. (WTF): (StringBuilder): (WTF::StringBuilder::StringBuilder): (WTF::StringBuilder::append): (WTF::StringBuilder::toString): (WTF::StringBuilder::toStringPreserveCapacity): (WTF::StringBuilder::toAtomicString): (WTF::StringBuilder::length): (WTF::StringBuilder::isEmpty): (WTF::StringBuilder::capacity): (WTF::StringBuilder::operator[]): (WTF::StringBuilder::characters8): (WTF::StringBuilder::characters16): (WTF::StringBuilder::characters): (WTF::StringBuilder::is8Bit): (WTF::StringBuilder::clear): (WTF::StringBuilder::swap): (WTF::LChar): (WTF::UChar): (WTF::equal): (WTF::operator==): (WTF::operator!=): * wtf/text/StringConcatenate.h: Renamed from Source/JavaScriptCore/wtf/text/StringConcatenate.h. (WTF): (WTF::sumWithOverflow): (WTF::tryMakeString): (WTF::makeString): * wtf/text/StringHash.h: Renamed from Source/JavaScriptCore/wtf/text/StringHash.h. (WTF): (WTF::StringHash::hash): (WTF::StringHash::equal): (StringHash): (CaseFoldingHash): (WTF::CaseFoldingHash::foldCase): (WTF::CaseFoldingHash::hash): (WTF::CaseFoldingHash::equal): (WTF::AlreadyHashed::hash): (AlreadyHashed): (WTF::AlreadyHashed::avoidDeletedValue): * wtf/text/StringImpl.cpp: Renamed from Source/JavaScriptCore/wtf/text/StringImpl.cpp. (WTF): (WTF::StringImpl::~StringImpl): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocate): (WTF::StringImpl::create): (WTF::StringImpl::getData16SlowCase): (WTF::StringImpl::upconvertCharacters): (WTF::StringImpl::containsOnlyWhitespace): (WTF::StringImpl::substring): (WTF::StringImpl::characterStartingAt): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::stripMatchedCharacters): (UCharPredicate): (WTF::UCharPredicate::UCharPredicate): (WTF::UCharPredicate::operator()): (SpaceOrNewlinePredicate): (WTF::SpaceOrNewlinePredicate::operator()): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::toIntStrict): (WTF::StringImpl::toUIntStrict): (WTF::StringImpl::toInt64Strict): (WTF::StringImpl::toUInt64Strict): (WTF::StringImpl::toIntPtrStrict): (WTF::StringImpl::toInt): (WTF::StringImpl::toUInt): (WTF::StringImpl::toInt64): (WTF::StringImpl::toUInt64): (WTF::StringImpl::toIntPtr): (WTF::StringImpl::toDouble): (WTF::StringImpl::toFloat): (WTF::equalIgnoringCase): (WTF::StringImpl::find): (WTF::StringImpl::findIgnoringCase): (WTF::findInner): (WTF::StringImpl::reverseFind): (WTF::reverseFindInner): (WTF::StringImpl::reverseFindIgnoringCase): (WTF::StringImpl::endsWith): (WTF::StringImpl::replace): (WTF::equal): (WTF::equalIgnoringNullity): (WTF::StringImpl::defaultWritingDirection): (WTF::StringImpl::adopt): (WTF::StringImpl::createWithTerminatingNullCharacter): * wtf/text/StringImpl.h: Renamed from Source/JavaScriptCore/wtf/text/StringImpl.h. (JSC): (WTF): (StringImpl): (WTF::StringImpl::StringImpl): (WTF::StringImpl::create): (WTF::StringImpl::create8): (WTF::StringImpl::tryCreateUninitialized): (WTF::StringImpl::flagsOffset): (WTF::StringImpl::flagIs8Bit): (WTF::StringImpl::dataOffset): (WTF::StringImpl::adopt): (WTF::StringImpl::length): (WTF::StringImpl::is8Bit): (WTF::StringImpl::characters8): (WTF::StringImpl::characters16): (WTF::StringImpl::characters): (WTF::StringImpl::cost): (WTF::StringImpl::has16BitShadow): (WTF::StringImpl::isIdentifier): (WTF::StringImpl::setIsIdentifier): (WTF::StringImpl::hasTerminatingNullCharacter): (WTF::StringImpl::isAtomic): (WTF::StringImpl::setIsAtomic): (WTF::StringImpl::setHash): (WTF::StringImpl::rawHash): (WTF::StringImpl::hasHash): (WTF::StringImpl::existingHash): (WTF::StringImpl::hash): (WTF::StringImpl::hasOneRef): (WTF::StringImpl::ref): (WTF::StringImpl::deref): (WTF::StringImpl::copyChars): (WTF::StringImpl::operator[]): (WTF::StringImpl::find): (WTF::StringImpl::findIgnoringCase): (WTF::StringImpl::startsWith): (WTF::StringImpl::bufferOwnership): (WTF::StringImpl::isStatic): (WTF::LChar): (WTF::UChar): (WTF::equal): (WTF::equalIgnoringCase): (WTF::equalIgnoringNullity): (WTF::codePointCompare): (WTF::codePointCompare8): (WTF::codePointCompare16): (WTF::codePointCompare8To16): (WTF::isSpaceOrNewline): (WTF::StringImpl::isolatedCopy): * wtf/text/StringOperators.h: Renamed from Source/JavaScriptCore/wtf/text/StringOperators.h. (WTF): (StringAppend): (WTF::StringAppend::StringAppend): (WTF::StringAppend::operator String): (WTF::StringAppend::operator AtomicString): (WTF::StringAppend::is8Bit): (WTF::StringAppend::writeTo): (WTF::StringAppend::length): (WTF::operator+): * wtf/text/StringStatics.cpp: Renamed from Source/JavaScriptCore/wtf/text/StringStatics.cpp. (WTF): (WTF::StringImpl::empty): (WTF::StringImpl::hashSlowCase): (WTF::AtomicString::init): * wtf/text/TextPosition.h: Renamed from Source/JavaScriptCore/wtf/text/TextPosition.h. (WTF): (OrdinalNumber): (WTF::OrdinalNumber::fromZeroBasedInt): (WTF::OrdinalNumber::fromOneBasedInt): (WTF::OrdinalNumber::OrdinalNumber): (WTF::OrdinalNumber::zeroBasedInt): (WTF::OrdinalNumber::oneBasedInt): (WTF::OrdinalNumber::operator==): (WTF::OrdinalNumber::operator!=): (WTF::OrdinalNumber::first): (WTF::OrdinalNumber::beforeFirst): (TextPosition): (WTF::TextPosition::TextPosition): (WTF::TextPosition::operator==): (WTF::TextPosition::operator!=): (WTF::TextPosition::minimumPosition): (WTF::TextPosition::belowRangePosition): * wtf/text/WTFString.cpp: Renamed from Source/JavaScriptCore/wtf/text/WTFString.cpp. (WTF): (WTF::String::String): (WTF::String::append): (WTF::codePointCompare): (WTF::String::insert): (WTF::String::characterStartingAt): (WTF::String::truncate): (WTF::String::remove): (WTF::String::substring): (WTF::String::substringSharingImpl): (WTF::String::lower): (WTF::String::upper): (WTF::String::stripWhiteSpace): (WTF::String::simplifyWhiteSpace): (WTF::String::removeCharacters): (WTF::String::foldCase): (WTF::String::percentage): (WTF::String::charactersWithNullTermination): (WTF::String::format): (WTF::String::number): (WTF::String::toIntStrict): (WTF::String::toUIntStrict): (WTF::String::toInt64Strict): (WTF::String::toUInt64Strict): (WTF::String::toIntPtrStrict): (WTF::String::toInt): (WTF::String::toUInt): (WTF::String::toInt64): (WTF::String::toUInt64): (WTF::String::toIntPtr): (WTF::String::toDouble): (WTF::String::toFloat): (WTF::String::isolatedCopy): (WTF::String::split): (WTF::String::ascii): (WTF::String::latin1): (WTF::putUTF8Triple): (WTF::String::utf8): (WTF::String::fromUTF8): (WTF::String::fromUTF8WithLatin1Fallback): (WTF::isCharacterAllowedInBase): (WTF::toIntegralType): (WTF::lengthOfCharactersAsInteger): (WTF::charactersToIntStrict): (WTF::charactersToUIntStrict): (WTF::charactersToInt64Strict): (WTF::charactersToUInt64Strict): (WTF::charactersToIntPtrStrict): (WTF::charactersToInt): (WTF::charactersToUInt): (WTF::charactersToInt64): (WTF::charactersToUInt64): (WTF::charactersToIntPtr): (WTF::toDoubleType): (WTF::charactersToDouble): (WTF::charactersToFloat): (WTF::charactersToFloatIgnoringJunk): (WTF::emptyString): (String::show): (string): (asciiDebug): * wtf/text/WTFString.h: Renamed from Source/JavaScriptCore/wtf/text/WTFString.h. (WebKit): (WTF): (String): (WTF::String::String): (WTF::String::~String): (WTF::String::swap): (WTF::String::adopt): (WTF::String::isNull): (WTF::String::isEmpty): (WTF::String::impl): (WTF::String::length): (WTF::String::characters): (WTF::String::characters8): (WTF::String::characters16): (WTF::String::is8Bit): (WTF::String::operator[]): (WTF::String::find): (WTF::String::reverseFind): (WTF::String::findIgnoringCase): (WTF::String::reverseFindIgnoringCase): (WTF::String::contains): (WTF::String::startsWith): (WTF::String::endsWith): (WTF::String::append): (WTF::String::replace): (WTF::String::makeLower): (WTF::String::makeUpper): (WTF::String::fill): (WTF::String::left): (WTF::String::right): (WTF::String::createUninitialized): (WTF::String::operator NSString*): (WTF::String::fromUTF8): (WTF::String::fromUTF8WithLatin1Fallback): (WTF::String::defaultWritingDirection): (WTF::String::containsOnlyWhitespace): (WTF::String::isHashTableDeletedValue): (WTF::operator+=): (WTF::operator==): (WTF::operator!=): (WTF::equalIgnoringCase): (WTF::equalPossiblyIgnoringCase): (WTF::equalIgnoringNullity): (WTF::operator!): (WTF::swap): (WTF::LChar): (WTF::UChar): (WTF::String::containsOnlyLatin1): (WTF::nsStringNilIfEmpty): (WTF::String::containsOnlyASCII): (WTF::codePointCompareLessThan): (WTF::find): (WTF::reverseFind): (WTF::append): (WTF::appendNumber): (WTF::isAllSpecialCharacters): (WTF::String::isAllSpecialCharacters): * wtf/threads/BinarySemaphore.cpp: Renamed from Source/JavaScriptCore/wtf/threads/BinarySemaphore.cpp. (WTF): (WTF::BinarySemaphore::BinarySemaphore): (WTF::BinarySemaphore::~BinarySemaphore): (WTF::BinarySemaphore::signal): (WTF::BinarySemaphore::wait): * wtf/threads/BinarySemaphore.h: Renamed from Source/JavaScriptCore/wtf/threads/BinarySemaphore.h. (WTF): (BinarySemaphore): (WTF::BinarySemaphore::event): * wtf/threads/win/BinarySemaphoreWin.cpp: Renamed from Source/JavaScriptCore/wtf/threads/win/BinarySemaphoreWin.cpp. (WTF): (WTF::BinarySemaphore::BinarySemaphore): (WTF::BinarySemaphore::~BinarySemaphore): (WTF::BinarySemaphore::signal): (WTF::BinarySemaphore::wait): * wtf/unicode/CharacterNames.h: Renamed from Source/JavaScriptCore/wtf/unicode/CharacterNames.h. (Unicode): * wtf/unicode/Collator.h: Renamed from Source/JavaScriptCore/wtf/unicode/Collator.h. (WTF): (Collator): * wtf/unicode/CollatorDefault.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/CollatorDefault.cpp. (WTF): (WTF::Collator::Collator): (WTF::Collator::~Collator): (WTF::Collator::setOrderLowerFirst): (WTF::Collator::userDefault): (WTF::Collator::collate): * wtf/unicode/ScriptCodesFromICU.h: Renamed from Source/JavaScriptCore/wtf/unicode/ScriptCodesFromICU.h. * wtf/unicode/UTF8.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/UTF8.cpp. (Unicode): (WTF::Unicode::inlineUTF8SequenceLengthNonASCII): (WTF::Unicode::inlineUTF8SequenceLength): (WTF::Unicode::UTF8SequenceLength): (WTF::Unicode::decodeUTF8Sequence): (WTF::Unicode::convertLatin1ToUTF8): (WTF::Unicode::convertUTF16ToUTF8): (WTF::Unicode::isLegalUTF8): (WTF::Unicode::readUTF8Sequence): (WTF::Unicode::convertUTF8ToUTF16): (WTF::Unicode::calculateStringHashAndLengthFromUTF8): (WTF::Unicode::equalUTF16WithUTF8): * wtf/unicode/UTF8.h: Renamed from Source/JavaScriptCore/wtf/unicode/UTF8.h. (Unicode): * wtf/unicode/Unicode.h: Renamed from Source/JavaScriptCore/wtf/unicode/Unicode.h. * wtf/unicode/UnicodeMacrosFromICU.h: Renamed from Source/JavaScriptCore/wtf/unicode/UnicodeMacrosFromICU.h. * wtf/unicode/glib/UnicodeGLib.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/glib/UnicodeGLib.cpp. (Unicode): (WTF::Unicode::foldCase): (WTF::Unicode::getUTF16LengthFromUTF8): (WTF::Unicode::convertCase): (WTF::Unicode::toLower): (WTF::Unicode::toUpper): (WTF::Unicode::direction): (WTF::Unicode::umemcasecmp): * wtf/unicode/glib/UnicodeGLib.h: Renamed from Source/JavaScriptCore/wtf/unicode/glib/UnicodeGLib.h. (Unicode): (WTF::Unicode::toLower): (WTF::Unicode::toUpper): (WTF::Unicode::toTitleCase): (WTF::Unicode::isArabicChar): (WTF::Unicode::isAlphanumeric): (WTF::Unicode::isFormatChar): (WTF::Unicode::isSeparatorSpace): (WTF::Unicode::isPrintableChar): (WTF::Unicode::isDigit): (WTF::Unicode::isPunct): (WTF::Unicode::hasLineBreakingPropertyComplexContext): (WTF::Unicode::hasLineBreakingPropertyComplexContextOrIdeographic): (WTF::Unicode::mirroredChar): (WTF::Unicode::category): (WTF::Unicode::isLower): (WTF::Unicode::digitValue): (WTF::Unicode::combiningClass): (WTF::Unicode::decompositionType): * wtf/unicode/icu/CollatorICU.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp. (WTF): (WTF::cachedCollatorMutex): (WTF::Collator::Collator): (WTF::Collator::userDefault): (WTF::Collator::~Collator): (WTF::Collator::setOrderLowerFirst): (WTF::Collator::collate): (WTF::Collator::createCollator): (WTF::Collator::releaseCollator): * wtf/unicode/icu/UnicodeIcu.h: Renamed from Source/JavaScriptCore/wtf/unicode/icu/UnicodeIcu.h. (Unicode): (WTF::Unicode::foldCase): (WTF::Unicode::toLower): (WTF::Unicode::toUpper): (WTF::Unicode::toTitleCase): (WTF::Unicode::isArabicChar): (WTF::Unicode::isAlphanumeric): (WTF::Unicode::isSeparatorSpace): (WTF::Unicode::isPrintableChar): (WTF::Unicode::isPunct): (WTF::Unicode::hasLineBreakingPropertyComplexContext): (WTF::Unicode::hasLineBreakingPropertyComplexContextOrIdeographic): (WTF::Unicode::mirroredChar): (WTF::Unicode::category): (WTF::Unicode::direction): (WTF::Unicode::isLower): (WTF::Unicode::combiningClass): (WTF::Unicode::decompositionType): (WTF::Unicode::umemcasecmp): * wtf/unicode/qt4/UnicodeQt4.h: Renamed from Source/JavaScriptCore/wtf/unicode/qt4/UnicodeQt4.h. (Properties): (QUnicodeTables): (Unicode): (WTF::Unicode::toLower): (WTF::Unicode::toUpper): (WTF::Unicode::toTitleCase): (WTF::Unicode::foldCase): (WTF::Unicode::isArabicChar): (WTF::Unicode::isPrintableChar): (WTF::Unicode::isSeparatorSpace): (WTF::Unicode::isPunct): (WTF::Unicode::isLower): (WTF::Unicode::hasLineBreakingPropertyComplexContext): (WTF::Unicode::mirroredChar): (WTF::Unicode::combiningClass): (WTF::Unicode::decompositionType): (WTF::Unicode::umemcasecmp): (WTF::Unicode::direction): (WTF::Unicode::category): * wtf/unicode/wince/UnicodeWinCE.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/wince/UnicodeWinCE.cpp. (Unicode): (WTF::Unicode::toLower): (WTF::Unicode::toUpper): (WTF::Unicode::foldCase): (WTF::Unicode::isPrintableChar): (WTF::Unicode::isSpace): (WTF::Unicode::isLetter): (WTF::Unicode::isUpper): (WTF::Unicode::isLower): (WTF::Unicode::isDigit): (WTF::Unicode::isPunct): (WTF::Unicode::isAlphanumeric): (WTF::Unicode::toTitleCase): (WTF::Unicode::direction): (WTF::Unicode::category): (WTF::Unicode::decompositionType): (WTF::Unicode::combiningClass): (WTF::Unicode::mirroredChar): (WTF::Unicode::digitValue): * wtf/unicode/wince/UnicodeWinCE.h: Renamed from Source/JavaScriptCore/wtf/unicode/wince/UnicodeWinCE.h. (Unicode): (WTF::Unicode::isSeparatorSpace): (WTF::Unicode::isHighSurrogate): (WTF::Unicode::isLowSurrogate): (WTF::Unicode::isArabicChar): (WTF::Unicode::hasLineBreakingPropertyComplexContext): (WTF::Unicode::umemcasecmp): (WTF::Unicode::surrogateToUcs4): * wtf/url/api/ParsedURL.cpp: Renamed from Source/JavaScriptCore/wtf/url/api/ParsedURL.cpp. (WTF): (WTF::ParsedURL::ParsedURL): (WTF::ParsedURL::isolatedCopy): (WTF::ParsedURL::scheme): (WTF::ParsedURL::username): (WTF::ParsedURL::password): (WTF::ParsedURL::host): (WTF::ParsedURL::port): (WTF::ParsedURL::path): (WTF::ParsedURL::query): (WTF::ParsedURL::fragment): (WTF::ParsedURL::baseAsString): (WTF::ParsedURL::segment): * wtf/url/api/ParsedURL.h: Renamed from Source/JavaScriptCore/wtf/url/api/ParsedURL.h. (WTF): (ParsedURL): (WTF::ParsedURL::ParsedURL): (WTF::ParsedURL::isValid): (WTF::ParsedURL::spec): * wtf/url/api/URLString.h: Renamed from Source/JavaScriptCore/wtf/url/api/URLString.h. (WTF): (URLString): (WTF::URLString::URLString): (WTF::URLString::string): * wtf/url/src/RawURLBuffer.h: Renamed from Source/JavaScriptCore/wtf/url/src/RawURLBuffer.h. (WTF): (RawURLBuffer): (WTF::RawURLBuffer::RawURLBuffer): (WTF::RawURLBuffer::~RawURLBuffer): (WTF::RawURLBuffer::resize): * wtf/url/src/URLBuffer.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLBuffer.h. (WTF): (URLBuffer): (WTF::URLBuffer::URLBuffer): (WTF::URLBuffer::~URLBuffer): (WTF::URLBuffer::at): (WTF::URLBuffer::set): (WTF::URLBuffer::capacity): (WTF::URLBuffer::length): (WTF::URLBuffer::data): (WTF::URLBuffer::setLength): (WTF::URLBuffer::append): (WTF::URLBuffer::grow): * wtf/url/src/URLCharacterTypes.cpp: Renamed from Source/JavaScriptCore/wtf/url/src/URLCharacterTypes.cpp. (WTF): * wtf/url/src/URLCharacterTypes.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLCharacterTypes.h. (WTF): (URLCharacterTypes): (WTF::URLCharacterTypes::isQueryChar): (WTF::URLCharacterTypes::isIPv4Char): (WTF::URLCharacterTypes::isHexChar): (WTF::URLCharacterTypes::isCharOfType): * wtf/url/src/URLComponent.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLComponent.h. (WTF): (URLComponent): (WTF::URLComponent::URLComponent): (WTF::URLComponent::fromRange): (WTF::URLComponent::isValid): (WTF::URLComponent::isNonEmpty): (WTF::URLComponent::isEmptyOrInvalid): (WTF::URLComponent::reset): (WTF::URLComponent::operator==): (WTF::URLComponent::begin): (WTF::URLComponent::setBegin): (WTF::URLComponent::length): (WTF::URLComponent::setLength): (WTF::URLComponent::end): * wtf/url/src/URLEscape.cpp: Renamed from Source/JavaScriptCore/wtf/url/src/URLEscape.cpp. (WTF): * wtf/url/src/URLEscape.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLEscape.h. (WTF): (WTF::appendURLEscapedCharacter): * wtf/url/src/URLParser.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLParser.h. (WTF): (URLParser): (WTF::URLParser::isPossibleAuthorityTerminator): (WTF::URLParser::parseAuthority): (WTF::URLParser::extractScheme): (WTF::URLParser::parseAfterScheme): (WTF::URLParser::parseStandardURL): (WTF::URLParser::parsePath): (WTF::URLParser::parsePathURL): (WTF::URLParser::parseMailtoURL): (WTF::URLParser::parsePort): (WTF::URLParser::extractFileName): (WTF::URLParser::extractQueryKeyValue): (WTF::URLParser::isURLSlash): (WTF::URLParser::shouldTrimFromURL): (WTF::URLParser::trimURL): (WTF::URLParser::consecutiveSlashes): (WTF::URLParser::isPortDigit): (WTF::URLParser::nextAuthorityTerminator): (WTF::URLParser::parseUserInfo): (WTF::URLParser::parseServerInfo): * wtf/url/src/URLQueryCanonicalizer.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLQueryCanonicalizer.h. (WTF): (URLQueryCanonicalizer): (WTF::URLQueryCanonicalizer::canonicalize): (WTF::URLQueryCanonicalizer::isAllASCII): (WTF::URLQueryCanonicalizer::isRaw8Bit): (WTF::URLQueryCanonicalizer::appendRaw8BitQueryString): (WTF::URLQueryCanonicalizer::convertToQueryEncoding): * wtf/url/src/URLSegments.cpp: Renamed from Source/JavaScriptCore/wtf/url/src/URLSegments.cpp. (WTF): (WTF::URLSegments::length): (WTF::URLSegments::charactersBefore): * wtf/url/src/URLSegments.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLSegments.h. (WTF): (URLSegments): (WTF::URLSegments::URLSegments): * wtf/win/MainThreadWin.cpp: Renamed from Source/JavaScriptCore/wtf/win/MainThreadWin.cpp. (WTF): (WTF::ThreadingWindowWndProc): (WTF::initializeMainThreadPlatform): (WTF::scheduleDispatchFunctionsOnMainThread): * wtf/win/OwnPtrWin.cpp: Renamed from Source/JavaScriptCore/wtf/win/OwnPtrWin.cpp. (WTF): (WTF::deleteOwnedPtr): * wtf/wince/FastMallocWinCE.h: Renamed from Source/JavaScriptCore/wtf/wince/FastMallocWinCE.h. (operator new): (operator delete): (operator new[]): (operator delete[]): (throw): (WTF): (Internal): (WTF::Internal::fastMallocMatchValidationType): (WTF::Internal::fastMallocMatchValidationValue): (WTF::Internal::setFastMallocMatchValidationType): (WTF::fastMallocMatchValidateMalloc): (WTF::fastMallocMatchValidateFree): * wtf/wince/MemoryManager.cpp: Renamed from Source/JavaScriptCore/wtf/wince/MemoryManager.cpp. (WTF): (WTF::memoryManager): (WTF::MemoryManager::MemoryManager): (WTF::MemoryManager::~MemoryManager): (WTF::MemoryManager::createCompatibleBitmap): (WTF::MemoryManager::createDIBSection): (WTF::MemoryManager::m_malloc): (WTF::MemoryManager::m_calloc): (WTF::MemoryManager::m_realloc): (WTF::MemoryManager::m_free): (WTF::MemoryManager::resizeMemory): (WTF::MemoryManager::allocate64kBlock): (WTF::MemoryManager::free64kBlock): (WTF::MemoryManager::onIdle): (WTF::MemoryManager::virtualAlloc): (WTF::MemoryManager::virtualFree): (WTF::fastMalloc): (WTF::fastCalloc): (WTF::fastFree): (WTF::fastRealloc): (WTF::fastMallocForbid): (WTF::fastMallocAllow): (WTF::fastZeroedMalloc): (WTF::tryFastMalloc): (WTF::tryFastZeroedMalloc): (WTF::tryFastCalloc): (WTF::tryFastRealloc): (WTF::fastStrDup): * wtf/wince/MemoryManager.h: Renamed from Source/JavaScriptCore/wtf/wince/MemoryManager.h. (WTF): (MemoryManager): (WTF::MemoryManager::allocationCanFail): (WTF::MemoryManager::setAllocationCanFail): (MemoryAllocationCanFail): (WTF::MemoryAllocationCanFail::MemoryAllocationCanFail): (WTF::MemoryAllocationCanFail::~MemoryAllocationCanFail): (MemoryAllocationCannotFail): (WTF::MemoryAllocationCannotFail::MemoryAllocationCannotFail): (WTF::MemoryAllocationCannotFail::~MemoryAllocationCannotFail): * wtf/wx/MainThreadWx.cpp: Renamed from Source/JavaScriptCore/wtf/wx/MainThreadWx.cpp. (wxCallAfter): (wxCallAfter::wxCallAfter): (wxCallAfter::OnCallback): (WTF): (WTF::initializeMainThreadPlatform): (WTF::scheduleDispatchFunctionsOnMainThread): * wtf/wx/StringWx.cpp: Renamed from Source/JavaScriptCore/wtf/wx/StringWx.cpp. (WTF): (WTF::String::String): (WTF::String::operator wxString): 2012-03-22 Hyowon Kim [EFL] Add PageClientEfl to WebCoreSupport. https://bugs.webkit.org/show_bug.cgi?id=80748 Reviewed by Noam Rosenthal. * wtf/Platform.h: Disable accelerated compositing. It's not ready yet. 2012-03-21 Beth Dakin https://bugs.webkit.org/show_bug.cgi?id=80322 Implement image-set Reviewed by Dean Jackson. For the time being, image-set is opt-in since the implementation is incomplete. Add an ENABLE flag for image-set. * wtf/Platform.h: 2012-03-21 Jessie Berlin Fix the Windows build after r111504. * WTF.vcproj/WTF.vcproj: Platform.h was moved to Source/WTF. * WTF.vcproj/copy-files.cmd: Copy Platform.h from its new source location. This separate copy will not be necessary once the full move is done and all the headers are being copied at once from the new locations. 2012-03-21 Jessie Berlin WTF headers should be in $(ConfigurationBuildDir)\include\private\wtf, not $(ConfigurationBuildDir)\include\private\JavaScriptCore\wtf. https://bugs.webkit.org/show_bug.cgi?id=81739 Reviewed by Dan Bernstein. * WTF.vcproj/copy-files.cmd: Copy the headers to private/include/wtf instead of private/include/JavaScriptCore/wtf. 2012-03-20 Eric Seidel Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf https://bugs.webkit.org/show_bug.cgi?id=80911 Reviewed by Adam Barth. Update build systems to account for the new location of Platform.h * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.vcproj/work-around-vs-dependency-tracking-bugs.py: (react_to_vsprops_changes): * WTF.xcodeproj/project.pbxproj: * config.h: I don't think this change is 100% correct (but seemed to be needed to make qt-wk2 build) - This dependency on JSC should be removed regardless (in a later patch). * wtf/Platform.h: Renamed from Source/JavaScriptCore/wtf/Platform.h. 2012-03-20 Steve Falkenburg Move WTF-related Windows project files out of JavaScriptCore https://bugs.webkit.org/show_bug.cgi?id=80680 This change only moves the vcproj and related files from JavaScriptCore/JavaScriptCore.vcproj/WTF. It does not move any source code. This is in preparation for the WTF source move out of JavaScriptCore. Reviewed by Jessie Berlin. * WTF.vcproj: Added. * WTF.vcproj/WTF.vcproj: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTF.vcproj. * WTF.vcproj/WTFCommon.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFCommon.vsprops. * WTF.vcproj/WTFDebug.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFDebug.vsprops. * WTF.vcproj/WTFDebugAll.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFDebugAll.vsprops. * WTF.vcproj/WTFDebugCairoCFLite.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFDebugCairoCFLite.vsprops. * WTF.vcproj/WTFGenerated.make: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGenerated.make. * WTF.vcproj/WTFGenerated.vcproj: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGenerated.vcproj. * WTF.vcproj/WTFGeneratedCommon.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedCommon.vsprops. * WTF.vcproj/WTFGeneratedDebug.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedDebug.vsprops. * WTF.vcproj/WTFGeneratedDebugAll.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedDebugAll.vsprops. * WTF.vcproj/WTFGeneratedDebugCairoCFLite.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedDebugCairoCFLite.vsprops. * WTF.vcproj/WTFGeneratedProduction.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedProduction.vsprops. * WTF.vcproj/WTFGeneratedRelease.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedRelease.vsprops. * WTF.vcproj/WTFGeneratedReleaseCairoCFLite.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedReleaseCairoCFLite.vsprops. * WTF.vcproj/WTFPostBuild.cmd: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFPostBuild.cmd. * WTF.vcproj/WTFPreBuild.cmd: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFPreBuild.cmd. * WTF.vcproj/WTFProduction.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFProduction.vsprops. * WTF.vcproj/WTFRelease.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFRelease.vsprops. * WTF.vcproj/WTFReleaseCairoCFLite.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFReleaseCairoCFLite.vsprops. * WTF.vcproj/build-generated-files.sh: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/build-generated-files.sh. * WTF.vcproj/copy-files.cmd: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/copy-files.cmd. * WTF.vcproj/work-around-vs-dependency-tracking-bugs.py: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/work-around-vs-dependency-tracking-bugs.py. 2012-03-20 Peter Beverloo [Chromium] Fix the Android build by building NEWWTF for host https://bugs.webkit.org/show_bug.cgi?id=81643 Reviewed by Tony Gentilcore. Chromium for Android builds the ImageDiff target for the host architecture, so all dependencies it has need to be able to build for host as well. r111258 added (new)WTF as a dependency instead of just including the header files, so make it possible to build the newwtf target for host. * WTF.gyp/WTF.gyp: 2012-03-19 Dan Bernstein Set the svn:ignore property on the Xcode project. * WTF.xcodeproj: Added property svn:ignore. 2012-03-16 Mark Rowe Build fix. Do not preserve owner and group information when installing the WTF headers. * WTF.xcodeproj/project.pbxproj: 2012-03-07 Mark Rowe Teach make to build WTF. * Makefile: Added. 2012-02-11 Filip Pizlo It should be possible to send all JSC debug logging to a file https://bugs.webkit.org/show_bug.cgi?id=78418 Reviewed by Sam Weinig. Introduced wtf/DataLog, which defines WTF::dataFile, WTF::dataLog, and WTF::dataLogV. Changed all debugging- and profiling-related printfs to use WTF::dataLog() or one of its friends. By default, debug logging goes to stderr, unless you change the setting in wtf/DataLog.cpp. * WTF.pro: 2012-02-03 Simon Hausmann [Qt] Fix build when cross-compiling https://bugs.webkit.org/show_bug.cgi?id=77634 Reviewed by Tor Arne Vestbø. * WTF.pri: Don't use icu-config for determining the library search path and libraries needed for ICU. Either we use icu-config for includes _and_ libraries or we don't. Right now we assume that icu is a system library and expect the headers in the default include search pathes (/usr/include for example). However we use icu-config to figure out where the libraries are, which breaks when cross-compiling, because icu-config isn't cross-compile friendly (I wish icu was using pkg-config). I think for the time being we should require ICU as a _system_ library, which implies the header and library availability in default search paths. This also makes the build succeed when cross-compiling with --sysroot. 2012-01-27 Zeno Albisser [Qt][Mac] Build fails after adding ICU support (r105997). https://bugs.webkit.org/show_bug.cgi?id=77118 Link to libicucore if platform Mac. Reviewed by Tor Arne Vestbø. * WTF.pri: 2012-01-26 Jesus Sanchez-Palencia [Qt] Use ICU if available https://bugs.webkit.org/show_bug.cgi?id=76821 Reviewed by Simon Hausmann. Adding libicu dependencies for a Qt5 based build. * WTF.pri: 2012-01-26 Csaba Osztrogonác [Qt][Win] One more speculative buildfix after r105970. * WTF.pri: 2012-01-26 Nikolas Zimmermann Not reviewed. Try to fix Qt/Win build by building OwnPtrWin.cpp into the WTF library. * WTF.pro: 2012-01-19 Joi Sigurdsson Enable use of precompiled headers in Chromium port on Windows. Bug 76381 - Use precompiled headers in Chromium port on Windows https://bugs.webkit.org/show_bug.cgi?id=76381 Reviewed by Tony Chang. * WTF.gyp/WTF.gyp: Include WinPrecompile.gypi. 2012-01-18 Roland Takacs Cross-platform processor core counter https://bugs.webkit.org/show_bug.cgi?id=76530 Reviewed by Zoltan Herczeg. Two files have been added to the project, namely NumberOfCores.h/cpp, that include a CPU core number determining function. * WTF.pro: 2012-01-17 Caio Marcelo de Oliveira Filho Uint8ClampedArray support https://bugs.webkit.org/show_bug.cgi?id=74455 Reviewed by Filip Pizlo. * WTF.pro: 2012-01-13 Alexis Menard Unreviewed build fix for Qt SnowLeopard build bot. This is a workaround for the moment. * wtf/Platform.h: 2012-01-12 Simon Hausmann Make the new WTF module build on Qt https://bugs.webkit.org/show_bug.cgi?id=76163 Reviewed by Tor Arne Vestbø. With this change the WTF sources are built _here_ but _from_ their old location using a VPATH. * WTF.pri: Renamed from Source/JavaScriptCore/wtf/wtf.pri. * WTF.pro: Renamed from Source/JavaScriptCore/wtf/wtf.pro. * config.h: Bring this file in sync with JavaScriptCore/config.h with regards to the inclusion / definition of the export macros. 2012-01-06 Benjamin Poulain [Mac] Sort the resources of WTF.xcodeproj https://bugs.webkit.org/show_bug.cgi?id=75639 Reviewed by Andreas Kling. * WTF.xcodeproj/project.pbxproj: 2012-01-06 Eric Seidel and Gustavo Noronha Silva Make the new WTF module build on Gtk https://bugs.webkit.org/show_bug.cgi?id=75669 * GNUmakefile.am: Added. * GNUmakefile.list.am: Added. 2011-11-19 Adam Barth Integrate Source/WTF with the Chromium build system https://bugs.webkit.org/show_bug.cgi?id=72790 Reviewed by Eric Seidel. Rename the target in this file to "newwtf" to avoid naming conflicts. * WTF.gyp/WTF.gyp: 2011-11-19 Mark Rowe WTF should have an Xcode project https://bugs.webkit.org/show_bug.cgi?id=71752 Reviewed by Adam Barth. This adds an Xcode project that includes only Stub.cpp and Stub.h. They’re built in to a library at the appropriate path for each configuration (WebKitBuild/{Debug,Release}/libWTF.a and /usr/local/lib/libWTF.a) and headers are installed in to the appropriate location (WebKitBuild/{Debug,Release}/usr/local/include/wtf and /usr/local/include/wtf). I tested building WTF in this project and everything appears to build except for DateMath.cpp (due to bug 71747). I have not yet done any work on making JavaScriptCore and other projects use the built products of this new project. * Configurations: Added. * Configurations/Base.xcconfig: Copied from Source/JavaScriptCore/Configurations/Base.xcconfig. * Configurations/CompilerVersion.xcconfig: Copied from Source/JavaScriptCore/Configurations/CompilerVersion.xcconfig. * Configurations/DebugRelease.xcconfig: Copied from Source/JavaScriptCore/Configurations/DebugRelease.xcconfig. * Configurations/WTF.xcconfig: Copied from Source/WebKit2/Configurations/Shim.xcconfig. * WTF.xcodeproj: Added. * WTF.xcodeproj/project.pbxproj: Added. * config.h: Copied from Source/JavaScriptCore/config.h. * icu: Added. * icu/LICENSE: Copied from Source/JavaScriptCore/icu/LICENSE. * icu/README: Copied from Source/JavaScriptCore/icu/README. * icu/unicode: Added. * icu/unicode/parseerr.h: Copied from Source/JavaScriptCore/icu/unicode/parseerr.h. * icu/unicode/platform.h: Copied from Source/JavaScriptCore/icu/unicode/platform.h. * icu/unicode/putil.h: Copied from Source/JavaScriptCore/icu/unicode/putil.h. * icu/unicode/uchar.h: Copied from Source/JavaScriptCore/icu/unicode/uchar.h. * icu/unicode/ucnv.h: Copied from Source/JavaScriptCore/icu/unicode/ucnv.h. * icu/unicode/ucnv_err.h: Copied from Source/JavaScriptCore/icu/unicode/ucnv_err.h. * icu/unicode/ucol.h: Copied from Source/JavaScriptCore/icu/unicode/ucol.h. * icu/unicode/uconfig.h: Copied from Source/JavaScriptCore/icu/unicode/uconfig.h. * icu/unicode/uenum.h: Copied from Source/JavaScriptCore/icu/unicode/uenum.h. * icu/unicode/uiter.h: Copied from Source/JavaScriptCore/icu/unicode/uiter.h. * icu/unicode/uloc.h: Copied from Source/JavaScriptCore/icu/unicode/uloc.h. * icu/unicode/umachine.h: Copied from Source/JavaScriptCore/icu/unicode/umachine.h. * icu/unicode/unorm.h: Copied from Source/JavaScriptCore/icu/unicode/unorm.h. * icu/unicode/urename.h: Copied from Source/JavaScriptCore/icu/unicode/urename.h. * icu/unicode/uscript.h: Copied from Source/JavaScriptCore/icu/unicode/uscript.h. * icu/unicode/uset.h: Copied from Source/JavaScriptCore/icu/unicode/uset.h. * icu/unicode/ustring.h: Copied from Source/JavaScriptCore/icu/unicode/ustring.h. * icu/unicode/utf.h: Copied from Source/JavaScriptCore/icu/unicode/utf.h. * icu/unicode/utf16.h: Copied from Source/JavaScriptCore/icu/unicode/utf16.h. * icu/unicode/utf8.h: Copied from Source/JavaScriptCore/icu/unicode/utf8.h. * icu/unicode/utf_old.h: Copied from Source/JavaScriptCore/icu/unicode/utf_old.h. * icu/unicode/utypes.h: Copied from Source/JavaScriptCore/icu/unicode/utypes.h. * icu/unicode/uversion.h: Copied from Source/JavaScriptCore/icu/unicode/uversion.h. 2011-11-03 Adam Barth Add Stub.h and Stub.cpp to Source-level WTF project https://bugs.webkit.org/show_bug.cgi?id=71497 Reviewed by Eric Seidel. This patch adds some stub files and a skelton GYP build file as a starting point for the new Source-level WTF project. Other build systems and actual code will arrive in future patches. * Stub.cpp: Added. * Stub.h: Added. * WTF.gyp/WTF.gyp: Added. * WTF.gypi: Added. 2011-11-02 Adam Barth Add stubs for WTF and Platform https://bugs.webkit.org/show_bug.cgi?id=71492 Reviewed by Eric Seidel. This patch creates the WTF directory, which begins the process of moving WTF out of JavaScriptCore.