1 2013-07-25 Gabor Rapcsanyi <rgabor@webkit.org>
3 Unreviewed, build fix on the Qt port.
5 * WTF.pro: Add additional build files for the FTL.
7 2013-07-25 Zan Dobersek <zdobersek@igalia.com>
9 Unreviewed, further GTK build fixing.
11 * GNUmakefile.am: Make libWTF.la depend on any changes made to the build targets list.
12 * GNUmakefile.list.am: Add SixCharacterHash source files to the build.
14 2013-07-25 Csaba Osztrogonác <ossy@webkit.org>
16 [GTK] Similar fix to r153304.
18 * GNUmakefile.list.am:
20 2013-07-25 Grzegorz Czajkowski <g.czajkowski@samsung.com>
22 Build break in debug after r153134: StringImpl.h:640: undefined reference to `WTF::isCompilationThread()
23 https://bugs.webkit.org/show_bug.cgi?id=119077
25 Reviewed by Christophe Dumez.
28 Added CompilationThread.{h/cpp}.
30 2013-07-24 Filip Pizlo <fpizlo@apple.com>
32 fourthTier: DFG IR dumps should be easier to read
33 https://bugs.webkit.org/show_bug.cgi?id=119050
35 Reviewed by Mark Hahnenberg.
37 Added support for dumping values within a context. By default, if you say
38 print(inContext(value, context)) it calls value.dumpInContext(out, context)
39 instead of value.dump(out).
41 Hoisted the support for six-character hashes out of JSC::CodeBlockHash into
42 WTF, in the form of SixCharacterHash.h.
44 Added a helper for creating dump contexts where the inContext() dump will
45 just use a short string hash to "name" the object being dumped, and then
46 will print out the full dumps in an endnote to your dump.
48 Added support for using CString as a hashtable key.
50 * WTF.xcodeproj/project.pbxproj:
54 (WTF::ValueInContext::ValueInContext):
55 (WTF::ValueInContext::dump):
57 * wtf/SixCharacterHash.cpp: Added.
59 (WTF::sixCharacterHashStringToInteger):
60 (WTF::integerToSixCharacterHashString):
61 * wtf/SixCharacterHash.h: Added.
63 * wtf/StringHashDumpContext.h: Added.
65 (StringHashDumpContext):
66 (WTF::StringHashDumpContext::StringHashDumpContext):
67 (WTF::StringHashDumpContext::getID):
68 (WTF::StringHashDumpContext::dumpBrief):
69 (WTF::StringHashDumpContext::brief):
70 (WTF::StringHashDumpContext::isEmpty):
71 (WTF::StringHashDumpContext::dump):
72 * wtf/text/CString.cpp:
76 (WTF::CStringHash::equal):
78 (WTF::CString::CString):
80 (WTF::CString::isHashTableDeletedValue):
82 (WTF::CStringHash::hash):
85 2013-07-21 Filip Pizlo <fpizlo@apple.com>
87 fourthTier: DFG Nodes should be able to abstractly tell you what they read and what they write
88 https://bugs.webkit.org/show_bug.cgi?id=118910
90 Reviewed by Sam Weinig.
92 Fix compile goof in sortedListDump().
95 (WTF::sortedListDump):
97 2013-07-16 Filip Pizlo <fpizlo@apple.com>
99 fourthTier: NaturalLoops should be able to quickly answer questions like "what loops own this basic block"
100 https://bugs.webkit.org/show_bug.cgi?id=118750
102 Reviewed by Mark Hahnenberg.
104 Add a utility function for inserting an element into a vector that has bounded size,
105 and where the insertion causes things to drop off the end.
107 * wtf/StdLibExtras.h:
109 (WTF::insertIntoBoundedVector):
111 2013-07-12 Filip Pizlo <fpizlo@apple.com>
113 fourthTier: DFG should have an SSA form for use by FTL
114 https://bugs.webkit.org/show_bug.cgi?id=118338
116 Reviewed by Mark Hahnenberg.
118 - Extend variadicity of PrintStream and dataLog.
120 - Give HashSet the ability to add a span of things.
122 - Give HashSet the ability to == another HashSet.
124 - Note FIXME's in HashTable concerning copying performance, that affects
125 the way that the DFG now uses HashSets and HashMaps.
127 - Factor out the bulk-insertion logic of JSC::DFG::InsertionSet into
128 WTF::Insertion, so that it can be used in more places.
130 - Create a dumper for lists and maps.
132 * WTF.xcodeproj/project.pbxproj:
144 * wtf/Insertion.h: Added.
147 (WTF::Insertion::Insertion):
148 (WTF::Insertion::index):
149 (WTF::Insertion::element):
150 (WTF::Insertion::operator<):
151 (WTF::executeInsertions):
152 * wtf/ListDump.h: Added.
155 (WTF::ListDump::ListDump):
156 (WTF::ListDump::dump):
158 (WTF::MapDump::MapDump):
159 (WTF::MapDump::dump):
161 (WTF::sortedListDump):
164 (WTF::sortedMapDump):
167 (WTF::PrintStream::print):
169 2013-07-02 Filip Pizlo <fpizlo@apple.com>
171 Unreviewed, fix 32-bit build.
175 2013-07-02 Filip Pizlo <fpizlo@apple.com>
177 fourthTier: FTL should use the equivalent of llvm opt -O2 by default
178 https://bugs.webkit.org/show_bug.cgi?id=118311
180 Reviewed by Mark Hahnenberg.
184 2013-06-27 Filip Pizlo <fpizlo@apple.com>
186 fourthTier: JSC's disassembly infrastructure should be able to disassemble the code that LLVM generates
187 https://bugs.webkit.org/show_bug.cgi?id=118148
189 Reviewed by Anders Carlsson.
191 We now use LLVM for two things: disassembler and FTL. Separate out the question
192 of whether we have LLVM (HAVE(LLVM)) from whether we want to use the LLVM
193 disassembler (USE(LLVM_DISASSEMBLER)) and whether we enable the FTL
196 Also move the cruft for including LLVM headers into WTF since now we use it in
197 a bunch of places, not all related to FTL. There's no obvious place to put that
198 file in JSC so I put it in WTF.
200 * WTF.xcodeproj/project.pbxproj:
201 * wtf/LLVMHeaders.h: Copied from Source/JavaScriptCore/ftl/FTLLLVMHeaders.h.
204 2013-06-25 Filip Pizlo <fpizlo@apple.com>
206 fourthTier: DFG should support switch_string
207 https://bugs.webkit.org/show_bug.cgi?id=117967
209 Reviewed by Sam Weinig.
211 Make it possible to compare a RefPtr<StringImpl> and a StringImpl* without
212 having to ref the StringImpl.
214 * wtf/text/StringHash.h:
215 (WTF::StringHash::equal):
217 2013-06-24 Filip Pizlo <fpizlo@apple.com>
219 fourthTier: Count external memory usage towards heap footprint
220 https://bugs.webkit.org/show_bug.cgi?id=117948
222 Reviewed by Geoffrey Garen.
224 Expose some functionality needed for properly measuring StringImpl footprint.
227 (WTF::weakCompareAndSwapSize):
231 * wtf/text/StringImpl.h:
232 (WTF::StringImpl::cost):
234 (WTF::StringImpl::costDuringGC):
235 (WTF::StringImpl::refCount):
237 2013-06-23 Filip Pizlo <fpizlo@apple.com>
239 fourthTier: DFG should optimize identifier string equality
240 https://bugs.webkit.org/show_bug.cgi?id=117920
242 Reviewed by Sam Weinig.
244 Note that this ChangeLog was supposed to be committed in r151890.
246 Expose the IsIdentifier bit to the JIT.
248 * wtf/text/StringImpl.h:
249 (WTF::StringImpl::flagIsIdentifier):
251 2013-06-18 Filip Pizlo <fpizlo@apple.com>
253 fourthTier: DFG should have switch_char
254 https://bugs.webkit.org/show_bug.cgi?id=117710
256 Reviewed by Michael Saboff.
258 I wanted to be able to say stringImpl->at(index), and now I can!
260 Also made it possible to convert a UChar to a utf8 CString without
261 allocating a StringImpl.
263 * wtf/text/StringImpl.cpp:
264 (WTF::StringImpl::utf8Impl):
266 (WTF::StringImpl::utf8ForCharacters):
267 (WTF::StringImpl::utf8ForRange):
268 * wtf/text/StringImpl.h:
270 (WTF::StringImpl::at):
271 (WTF::StringImpl::operator[]):
273 2013-06-15 Filip Pizlo <fpizlo@apple.com>
275 fourthTier: Add CFG simplification for Switch
276 https://bugs.webkit.org/show_bug.cgi?id=117677
278 Reviewed by Mark Hahnenberg.
281 * wtf/text/StringImpl.h:
283 2013-06-15 Filip Pizlo <fpizlo@apple.com>
285 Printing a StringImpl* should really guard against NULL
286 https://bugs.webkit.org/show_bug.cgi?id=117675
288 Reviewed by Mark Hahnenberg.
290 * wtf/PrintStream.cpp:
291 (WTF::printInternal):
293 2013-06-11 Filip Pizlo <fpizlo@apple.com>
295 fourthTier: DFG should support op_in and it should use patching to make it fast
296 https://bugs.webkit.org/show_bug.cgi?id=117385
298 Reviewed by Geoffrey Garen.
300 Now if you pass a null StringImpl* then something will still get printed instead
301 of crashing. I figure that this is broadly useful for debug code, and I make use
302 of it in the JSC portion of this patch.
304 * wtf/PrintStream.cpp:
305 (WTF::printInternal):
307 2013-06-09 Filip Pizlo <fpizlo@apple.com>
309 Unreviewed, fix build. On some compilers the automatic coercion from WTF::String to NSString*
310 causes operator[] to appear ambiguous. One way around this is to make WTF::String behave like
311 most of our other classes: at(unsigned) is always a valid synonym for operator[](unsigned).
313 * wtf/text/WTFString.h:
315 (WTF::String::operator[]):
317 2013-06-08 Filip Pizlo <fpizlo@apple.com>
319 fourthTier: Recursive deadlock in DFG::ByteCodeParser
320 https://bugs.webkit.org/show_bug.cgi?id=117376
322 Reviewed by Mark Hahnenberg.
324 I've often wanted to leave a lock early. Now I have that power!
327 (WTF::Locker::Locker):
328 (WTF::Locker::~Locker):
330 (WTF::Locker::unlockEarly):
333 2013-05-27 Filip Pizlo <fpizlo@apple.com>
335 It should be possible to record heap operations (both FastMalloc and JSC GC)
336 https://bugs.webkit.org/show_bug.cgi?id=116848
338 Reviewed by Mark Hahnenberg.
340 * WTF.xcodeproj/project.pbxproj:
343 (WTF::initializeLogFileOnce):
344 * wtf/FastMalloc.cpp:
345 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
348 2013-05-21 Filip Pizlo <fpizlo@apple.com>
350 fourthTier: DFG should be able to run on a separate thread
351 https://bugs.webkit.org/show_bug.cgi?id=112839
353 Reviewed by Geoffrey Garen.
355 * wtf/ByteSpinLock.h:
356 Make it non-copyable. We previously had bugs where we used ByteSpinLock as a locker.
359 * wtf/MetaAllocatorHandle.h:
360 Make it thread-safe ref-counted, since we may now be passing them between the
361 concurrent JIT thread and the main thread.
364 (WTF::Vector::takeLast):
365 I've wanted this method for ages, and now I finally added.
367 2013-04-30 Filip Pizlo <fpizlo@apple.com>
369 fourthTier: DFG tries to ref/deref StringImpls in a ton of places
370 https://bugs.webkit.org/show_bug.cgi?id=115300
372 Reviewed by Geoffrey Garen.
374 Make it possible to do more things directly to StringImpl*'s, including being
375 able to directly do utf8 conversion on a substring without creating the
378 Add assertions to StringImpl that it isn't being ref/deref'd from the
381 * wtf/PrintStream.cpp:
382 (WTF::printInternal):
386 (WTF::printInternal):
387 * wtf/StringPrintStream.h:
390 * wtf/text/StringImpl.cpp:
391 (WTF::StringImpl::utf8ForRange):
392 (WTF::StringImpl::utf8):
394 * wtf/text/StringImpl.h:
396 (WTF::StringImpl::hasAtLeastOneRef):
397 (WTF::StringImpl::ref):
398 (WTF::StringImpl::deref):
400 2013-04-29 Filip Pizlo <fpizlo@apple.com>
402 fourthTier: String::utf8() should also be available as StringImpl::utf8() so that you don't have to ref() a StringImpl just to get its utf8()
403 https://bugs.webkit.org/show_bug.cgi?id=115393
405 Reviewed by Geoffrey Garen.
407 * WTF.xcodeproj/project.pbxproj:
408 * wtf/text/ConversionMode.h: Added.
410 * wtf/text/StringImpl.cpp:
412 (WTF::putUTF8Triple):
413 (WTF::StringImpl::utf8):
414 * wtf/text/StringImpl.h:
416 * wtf/text/WTFString.cpp:
419 * wtf/text/WTFString.h:
422 2013-07-16 Oliver Hunt <oliver@apple.com>
424 Merge dfgFourthTier r149301
426 2013-04-28 Filip Pizlo <fpizlo@apple.com>
428 fourthTier: ASSERT that commonly used not-thread-safe methods in the runtime are not being called during compilation
429 https://bugs.webkit.org/show_bug.cgi?id=115297
431 Reviewed by Geoffrey Garen.
433 Taught WTF the notion of compilation threads. This allows all parts of our stack
434 to assert that we're not being called from a JSC compilation thread. This is in
435 WTF because it will probably end up being used in StringImpl and WTFString.
437 * WTF.xcodeproj/project.pbxproj:
438 * wtf/CompilationThread.cpp: Added.
440 (WTF::initializeCompilationThreadsOnce):
441 (WTF::initializeCompilationThreads):
442 (WTF::isCompilationThread):
443 (WTF::exchangeIsCompilationThread):
444 * wtf/CompilationThread.h: Added.
447 (WTF::CompilationScope::CompilationScope):
448 (WTF::CompilationScope::~CompilationScope):
449 (WTF::CompilationScope::leaveEarly):
451 2013-07-16 Oliver Hunt <oliver@apple.com>
453 Merge dfgFourthTier r148836
455 2013-04-21 Filip Pizlo <fpizlo@apple.com>
457 fourthTier: It should be possible to query WatchpointSets, and add Watchpoints, even if the compiler is running in another thread
458 https://bugs.webkit.org/show_bug.cgi?id=114909
460 Reviewed by Oliver Hunt.
462 Harden our notions of memory fences, now that we're doing racy algorithms.
466 (WTF::compilerFence):
469 (WTF::loadLoadFence):
470 (WTF::loadStoreFence):
471 (WTF::storeLoadFence):
472 (WTF::storeStoreFence):
473 (WTF::memoryBarrierAfterLock):
474 (WTF::memoryBarrierBeforeUnlock):
477 2013-07-16 Oliver Hunt <oliver@apple.com>
479 Merge dfgFourthTier r148804
481 2013-04-20 Filip Pizlo <fpizlo@apple.com>
483 fourthTier: value profiles and array profiles should be thread-safe enough to be accessible in a concurrent compilation thread
484 https://bugs.webkit.org/show_bug.cgi?id=114906
486 Reviewed by Oliver Hunt.
488 Add ability to abstract whether or not the CodeBlock requires locking at all,
489 since some platforms may not support the byte spin-locking and/or may not want
490 to, if they turn off concurrent JIT.
492 * WTF.xcodeproj/project.pbxproj:
493 * wtf/ByteSpinLock.h:
494 * wtf/NoLock.h: Added.
498 (WTF::NoLock::unlock):
499 (WTF::NoLock::isHeld):
502 2013-04-17 Filip Pizlo <fpizlo@apple.com>
504 fourthTier: all inline caches should thread-safe enough to allow a concurrent compilation thread to read them safely
505 https://bugs.webkit.org/show_bug.cgi?id=114762
507 Reviewed by Mark Hahnenberg.
509 Implemented a new spinlock that is optimized for compactness, by using just a byte.
510 This will be useful as we start using fine-grained locking on a bunch of places.
512 At some point I'll make these byte-sized spinlocks into adaptive mutexes, but for
513 now I think it's fine to do the evil thing and use spinning particularly since we
514 only use them for short critical sections.
516 * WTF.xcodeproj/project.pbxproj:
519 (WTF::weakCompareAndSwap):
520 * wtf/ByteSpinLock.h: Added.
523 (WTF::ByteSpinLock::ByteSpinLock):
524 (WTF::ByteSpinLock::lock):
525 (WTF::ByteSpinLock::unlock):
526 (WTF::ByteSpinLock::isHeld):
527 * wtf/ThreadingPrimitives.h:
531 2013-04-12 Filip Pizlo <fpizlo@apple.com>
533 fourthTier: FTL should have OSR exit
534 https://bugs.webkit.org/show_bug.cgi?id=113623
536 Reviewed by Oliver Hunt.
538 Finally make toCString() somewhat variadic.
540 * wtf/StringPrintStream.h:
544 2013-03-31 Filip Pizlo <fpizlo@apple.com>
546 https://bugs.webkit.org/show_bug.cgi?id=113656
551 Forgot to land these as part of http://trac.webkit.org/changeset/147299.
554 (isGreaterThanNonZeroPowerOfTwo):
556 2013-03-29 Filip Pizlo <fpizlo@apple.com>
558 fourthTier: FTL JIT should be able run some simple function
559 https://bugs.webkit.org/show_bug.cgi?id=113481
561 Reviewed by Geoffrey Garen.
565 2013-07-22 Benjamin Poulain <benjamin@webkit.org>
567 String::lower() - Skip to slow path on the first failure
568 https://bugs.webkit.org/show_bug.cgi?id=118885
570 Reviewed by Andreas Kling.
572 In the 8 bits case, we don't need to know the state of the full string before changing characters
573 to their lowercase variant.
574 Just fail immediately and start transforming characters from the point of failure.
576 This avoid reading the string twice when the uppercase character is not at the end of the string.
578 * wtf/text/StringImpl.cpp:
579 (WTF::StringImpl::lower):
581 2013-07-22 Brent Fulgham <bfulgham@apple.com>
583 [Windows] Unreviewed build fix.
585 * WTF.vcxproj/WTFGenerated.make: Stop triggering a "Build All" when things have not changed.
587 2013-07-19 Alex Christensen <achristensen@apple.com>
589 Added x64 configuration to Visual Studio build.
590 https://bugs.webkit.org/show_bug.cgi?id=118888
592 Reviewed by Brent Fulgham.
594 * WTF.vcxproj/WTF.vcxproj:
595 * WTF.vcxproj/WTF.vcxproj.filters:
596 * WTF.vcxproj/WTFGenerated.vcxproj:
598 2013-07-18 Benjamin Poulain <benjamin@webkit.org>
600 Fix the build after r152881
602 * wtf/text/StringImpl.cpp:
603 (WTF::StringImpl::lower):
605 2013-07-18 Benjamin Poulain <benjamin@webkit.org>
607 Little cleaning of StringImpl::lower() and StringImpl::upper() for ARM
608 https://bugs.webkit.org/show_bug.cgi?id=118831
610 Reviewed by Gavin Barraclough.
612 Clean lower() and upper() before trying some optimizations:
613 -Prefix the code with the empty() case. Otherwise, each descending loop starts with
614 a check for length == 0.
615 -Change ored to a 32 bits registers. ARM only has 32 bits registers and access to full word.
616 To keep the value a UChar, the compiler is adding a bunch of useless value & 0xffff in the loops.
617 -Change the pointer based loops for index based loops. The compiler does a mighty job at optimizing
618 those for each architecture. No need to make the code more complex.
619 -Don't perform the check for int32 unless we need to. The only code limited to int is Unicode::toLower.
621 * wtf/text/StringImpl.cpp:
622 (WTF::StringImpl::lower):
623 (WTF::StringImpl::upper):
625 2013-07-18 Andreas Kling <akling@apple.com>
627 CodeBlock::m_argumentValueProfiles wastes a lot of memory.
628 <http://webkit.org/b/118852>
629 <rdar://problem/14481659>
631 Reviewed by Anders Carlsson.
633 Add Vector::resizeToFit(size), like resize() but without growth padding.
636 (WTF::::resizeToFit):
638 2013-07-17 Benjamin Poulain <benjamin@webkit.org>
640 Add a thread safety assertion when creating an AtomicString from a StringImpl
641 https://bugs.webkit.org/show_bug.cgi?id=118637
643 Reviewed by Sam Weinig.
645 The goal is to prevent this kind of use:
646 -Someone create a String from a StringImpl.
647 -At some point, the string becomes atomic.
648 -Later, when the string only has one ref, its ownership is 'passed' to an other thread
649 without checking String::isSafeToSendToAnotherThread().
650 -In the thread B, an AtomicString is created from the String.
651 ->The AtomicString's StringImpl returned is not in the current thread string table.
653 * wtf/text/AtomicString.cpp:
654 (WTF::AtomicString::isInAtomicStringTable):
655 * wtf/text/AtomicString.h:
656 (WTF::AtomicString::add):
658 2013-07-17 Benjamin Poulain <benjamin@webkit.org>
660 Simplify AtomicString::lower()
661 https://bugs.webkit.org/show_bug.cgi?id=118719
662 <rdar://problem/14452883>
664 Reviewed by Gavin Barraclough.
666 * wtf/text/AtomicString.cpp:
667 (WTF::AtomicString::lower): Previously, the code was using a copy constructor for two path
668 and one regular construction in another path.
669 Just put the StringImpl where it needs to be instead.
671 2013-07-15 Benjamin Poulain <benjamin@webkit.org>
673 Add a threading assertion to AtomicString::remove
674 https://bugs.webkit.org/show_bug.cgi?id=118695
676 Reviewed by Sam Weinig.
678 * wtf/text/AtomicString.cpp:
679 (WTF::AtomicString::remove): The destructor of StringImpl remove
680 the string from the string table if it is atomic. This needs to be done
681 on the same thread as the one on which the string was added (otherwise the original
682 table would keep a dangling pointer to a dead string).
684 2013-07-15 Benjamin Poulain <benjamin@webkit.org>
686 Minor cleaning of AtomicString::addSlowCase
687 https://bugs.webkit.org/show_bug.cgi?id=118615
689 Reviewed by Geoffrey Garen.
691 Give the variable a proper name.
692 Add assertions to clarify the in and out states.
694 * wtf/text/AtomicString.cpp:
695 (WTF::AtomicString::addSlowCase):
697 2013-07-12 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
699 Improve StringImpl::constructInternal() method
700 https://bugs.webkit.org/show_bug.cgi?id=118503
702 Reviewed by Benjamin Poulain.
704 StringImpl::constructInternal used 'if ()' statement to decide which constructor
705 to invoke hence compiler had to compile both branches even though optimizer would
706 have then removed one of those, and as the function is inline it could affect
707 slightly the compilation time.
709 The problem is solved via template specialization.
711 * wtf/text/StringImpl.h:
715 2013-07-11 Patrick Gansterer <paroga@webkit.org>
717 Remove unused Windows CE files
718 https://bugs.webkit.org/show_bug.cgi?id=118557
720 Reviewed by Andreas Kling.
722 * wtf/wince/FastMallocWinCE.h: Removed.
723 * wtf/wince/MemoryManager.cpp: Removed.
724 * wtf/wince/MemoryManager.h: Removed.
726 2013-07-10 Michael Brüning <michael.bruning@digia.com>
728 Workaround for x86 optimizer bug in MSVC 2012.
729 https://bugs.webkit.org/show_bug.cgi?id=118478
731 Reviewed by Benjamin Poulain.
733 This is a workaround for a bug in the x86 MSVC 2012 optimizer.
735 The problem is that the range comparison gets optimized out when
736 the templated inline function toASCIIUpper. Copying the methods
737 content fixes the problem.
739 This is unfortunately not the nicest fix, but the alternative would
740 be to turn off optimization for StringImpl::upper on the x86 MSVC 2012
741 build, which might impact overall performance negatively.
743 * wtf/text/StringImpl.cpp:
744 (WTF::StringImpl::upper):
746 2013-07-08 Carlos Garcia Campos <cgarcia@igalia.com>
748 Unreviewed. Fix make distcheck.
750 * GNUmakefile.list.am: Add missing header files.
752 2013-07-08 Antti Koivisto <antti@apple.com>
754 Add Deque::removeLast
755 https://bugs.webkit.org/show_bug.cgi?id=118466
757 Reviewed by Andreas Kling.
759 Deque can remove both the first and the last element efficiently.
761 Test: TestWebKitAPI/Tests/WTF/Deque.cpp
767 2013-07-08 Zoltan Arvai <zarvai@inf.u-szeged.hu>
769 [Qt][Windows] Buildfix after r152426.
771 Reviewed by Csaba Osztrogonác.
773 * wtf/Platform.h: Do not include WTFHeaderDetection.h on Qt build.
775 2013-07-06 Benjamin Poulain <benjamin@webkit.org>
777 Fix the performance regressions introduced by r152418
778 https://bugs.webkit.org/show_bug.cgi?id=118438
780 Reviewed by Sam Weinig.
782 * wtf/text/StringImpl.h:
784 Looping between two arbitrary pointers prevents important loop
787 2013-07-05 Brent Fulgham <bfulgham@apple.com>
789 [Windows] Unreviewed build correction.
791 * WTF.vcxproj/WTFGenerated.make: Avoid syntax error in generated
792 file in cases where Legible Output support is not present.
794 2013-07-05 Brent Fulgham <bfulgham@apple.com>
796 [Windows] Unreviewed build correction.
798 * WTF.vcxproj/WTFGenerated.make: Use space (rather than double
799 quotes) when handling the no-Legible-Output case.
801 2013-07-05 Brent Fulgham <bfulgham@apple.com>
803 [Windows] Identify OS-level at build-time.
804 https://bugs.webkit.org/show_bug.cgi?id=118428
806 Reviewed by Anders Carlsson.
808 * WTF.vcxproj/WTFGenerated.make: Check for Legible Output featurs
809 and set build environment as appropriate.
810 * wtf/Platform.h: Activate Legible Output features if present.
812 2013-07-05 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
814 A lot of code duplication within StringImpl 'equal' functions
815 https://bugs.webkit.org/show_bug.cgi?id=118415
817 Reviewed by Anders Carlsson.
819 There has been a lot of code duplication within StringImpl 'equal' functions:
820 the whole logic was copied to every overloaded 'equal' function.
821 Fixed now using templates and std::equal.
823 * wtf/text/StringImpl.cpp:
824 (WTF::equalInternal):
826 * wtf/text/StringImpl.h:
830 2013-07-05 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
832 Remove code duplication from StringImpl create()/reallocate() methods
833 https://bugs.webkit.org/show_bug.cgi?id=118355
835 Reviewed by Andreas Kling.
837 StringImpl create()/reallocate() methods accepting LChar and UChar used to have
838 duplicated code. The code duplication is removed now via used templates.
840 * wtf/text/StringImpl.cpp:
841 (WTF::StringImpl::constructInternal):
843 (WTF::StringImpl::createUninitializedInternal):
844 (WTF::StringImpl::createUninitialized):
845 (WTF::StringImpl::reallocateInternal):
846 (WTF::StringImpl::reallocate):
847 (WTF::StringImpl::createInternal):
848 (WTF::StringImpl::create):
849 * wtf/text/StringImpl.h:
851 2013-07-03 Brent Fulgham <bfulgham@apple.com>
853 [Windows] Unreviewed build correction.
855 * WTF.vcxproj/copy-files.cmd: Limit path (for this file) to DOS-only to avoid
856 the Cygwin variant of rmdir from being used.
858 2013-07-03 Commit Queue <commit-queue@webkit.org>
860 Unreviewed, rolling out r152356.
861 http://trac.webkit.org/changeset/152356
862 https://bugs.webkit.org/show_bug.cgi?id=118361
864 Broke JSCore tests (Requested by andersca on #webkit).
866 * wtf/text/StringImpl.cpp:
867 (WTF::StringImpl::createUninitialized):
868 (WTF::StringImpl::reallocate):
869 (WTF::StringImpl::create):
870 * wtf/text/StringImpl.h:
872 2013-07-03 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
874 Remove code duplication from StringImpl create()/reallocate() methods
875 https://bugs.webkit.org/show_bug.cgi?id=118355
877 Reviewed by Anders Carlsson.
879 StringImpl create()/reallocate() methods accepting LChar and UChar used to have
880 duplicated code. The code duplication is removed now via used templates.
882 * wtf/text/StringImpl.cpp:
883 (WTF::StringImpl::constructInternal):
885 (WTF::StringImpl::createUninitializedInternal):
886 (WTF::StringImpl::createUninitialized):
887 (WTF::StringImpl::reallocateInternal):
888 (WTF::StringImpl::reallocate):
889 (WTF::StringImpl::createInternal):
890 (WTF::StringImpl::create):
891 * wtf/text/StringImpl.h:
893 2013-07-03 Csaba Osztrogonác <ossy@webkit.org>
895 Fix cast-align warnings in FastMalloc.cpp
896 https://bugs.webkit.org/show_bug.cgi?id=117991
898 Reviewed by Mark Hahnenberg.
900 * wtf/FastMalloc.cpp:
902 2013-07-02 Geoffrey Garen <ggaren@apple.com>
904 plainText() is O(N^2)
905 https://bugs.webkit.org/show_bug.cgi?id=118282
906 <rdar://problem/14284360>
908 Reviewed by Alexey Proskuryakov.
910 * wtf/text/StringBuilder.cpp:
911 (WTF::expandCapacity): Factored out this helper function to simplify
912 some code that was duplicated in four places.
914 (WTF::StringBuilder::appendUninitializedSlow):
915 (WTF::StringBuilder::append): Use expandCapacity(). One of the cases
916 was not doing anything special, and so was O(N^2).
918 Also, always call expandCapacity() it in a standard way, calling
919 capacity() first, so it's easy to tell at a glance that you got it right.
921 2013-07-02 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
923 Avoid code duplication inside String::append()
924 https://bugs.webkit.org/show_bug.cgi?id=118290
926 Reviewed by Anders Carlsson.
928 The implementation of 'append(UChar)' had been repeated inside 'append(LChar)',
929 this duplication is obviated now.
931 * wtf/text/WTFString.cpp:
932 (WTF::String::appendInternal):
933 (WTF::String::append):
934 * wtf/text/WTFString.h:
936 2013-06-28 Anders Carlsson <andersca@apple.com>
938 Remove String::deprecatedCharactersWithNullTermination() and related code
939 https://bugs.webkit.org/show_bug.cgi?id=118211
941 Reviewed by Benjamin Poulain.
943 Remove String::deprecatedCharactersWithNullTermination, StringImpl::createWithTerminatingNullCharacter
944 and the s_hashFlagHasTerminatingNullCharacter flag. We no longer care about whether strings have a
945 terminating null character.
947 * wtf/text/StringImpl.cpp:
948 (WTF::StringImpl::createFromLiteral):
949 (WTF::StringImpl::createWithoutCopying):
950 (WTF::StringImpl::getData16SlowCase):
951 (WTF::StringImpl::sizeInBytes):
952 * wtf/text/StringImpl.h:
953 (WTF::StringImpl::StringImpl):
954 (WTF::StringImpl::createFromLiteral):
955 (WTF::StringImpl::isolatedCopy):
956 * wtf/text/WTFString.cpp:
957 * wtf/text/WTFString.h:
959 2013-06-27 Anders Carlsson <andersca@apple.com>
961 Add a new String::charactersWithNullTermination() function that returns a vector
962 https://bugs.webkit.org/show_bug.cgi?id=118155
964 Reviewed by Andreas Kling.
966 This new String::charactersWithNullTermination() function returns a new Vector<UChar>
967 and does not modify the underlying string data.
969 * wtf/text/WTFString.cpp:
970 (WTF::String::charactersWithNullTermination):
971 * wtf/text/WTFString.h:
973 2013-06-26 Anders Carlsson <andersca@apple.com>
975 Deprecate StringImpl::charactersWithNullTermination
976 https://bugs.webkit.org/show_bug.cgi?id=118108
978 Reviewed by Beth Dakin.
980 The optimization in String and StringImpl to keep track of whether a string
981 has a null terminator isn't worth it; in most cases we call charactersWithNullTermination() on
982 temporary strings which ends up copying strings anyway.
984 A better solution is to have a charactersWithNullTermination() function that returns a Vector<UChar>,
985 which is similar to what we have for String::utf8() and String::ascii(). This will be done in a follow-up patch.
987 * wtf/text/WTFString.cpp:
988 (WTF::String::deprecatedCharactersWithNullTermination):
989 * wtf/text/WTFString.h:
991 2013-06-26 Anders Carlsson <andersca@apple.com>
993 Add JSStringCreateWithCharactersNoCopy SPI
994 https://bugs.webkit.org/show_bug.cgi?id=118074
995 <rdar://problem/14279905>
997 Reviewed by Geoffrey Garen.
999 * wtf/text/StringImpl.cpp:
1000 (WTF::StringImpl::createFromLiteral):
1001 Use the new ConstructWithoutCopying constructor, passing DoesHaveTerminatingNullCharacter to it.
1002 Change the other createFromLiteral overload to just call the first.
1004 (WTF::StringImpl::createWithoutCopying):
1005 Add helper functions for creating strings that shouldn't copy their underlying data.
1007 * wtf/text/StringImpl.h:
1008 (WTF::StringImpl::StringImpl):
1009 Rename the ConstructFromLiteralTag constructor enum to ConstructWithoutCopyingTag. Change the constructor
1010 to take an enum that states whether the string has a terminating null character or not.
1012 (WTF::StringImpl::createFromLiteral):
1013 Call createWithoutCopying.
1015 (WTF::StringImpl::requiresCopy):
1016 Rename this from isASCIILiteral() and make it more generic so it can handle 16-bit strings as well.
1018 (WTF::StringImpl::isolatedCopy):
1019 If this string doesn't have to be copied, just create a new StringImpl object that references the current data.
1021 2013-06-26 Jer Noble <jer.noble@apple.com>
1023 Potential use-after-free after neutering AudioBuffer's underlying ArrayBuffer.
1024 https://bugs.webkit.org/show_bug.cgi?id=118040
1026 Reviewed by Filip Pizlo.
1028 Add support for 'unneuterable' ArrayBufferViews. Views marked as such will have their underlying
1029 ArrayBuffer objects copied rather than transferred to a new view.
1031 * wtf/ArrayBuffer.cpp:
1032 (WTF::ArrayBuffer::transfer): Check whether the associated views are neuterable, and if not
1033 clone the ArrayBuffer rather than transferring it.
1034 * wtf/ArrayBuffer.h:
1035 (WTF::ArrayBufferContents::copyTo): Added. Utility function.
1036 * wtf/ArrayBufferView.cpp:
1037 (WTF::ArrayBufferView::ArrayBufferView):
1038 (WTF::ArrayBufferView::neuter):
1039 * wtf/ArrayBufferView.h:
1040 (WTF::ArrayBufferView::setNeuterable):
1041 (WTF::ArrayBufferView::isNeuterable):
1043 2013-06-26 Brent Fulgham <bfulgham@apple.com>
1045 [Windows] Enable CaptionUserPreferenceMediaAF on Windows.
1046 https://bugs.webkit.org/show_bug.cgi?id=118076
1048 Reviewed by Eric Carlson.
1050 * wtf/Platform.h: Enable Media Accessibility Framework in Windows build environments
1053 2013-06-24 Roger Fong <roger_fong@apple.com>
1055 Unreviewed. AppleWin build fix, followup to r151915.
1057 * WTF.vcxproj/WTFProduction.props:
1059 2013-06-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
1061 HashMap: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods
1062 https://bugs.webkit.org/show_bug.cgi?id=117911
1064 Reviewed by Anders Carlsson.
1066 The order of the template arguments at HashMap alternate 'find', 'contains' and
1067 'add' methods is reversed so that callers can just pass the translator
1068 and let the compiler deduce input argument type.
1070 Another rational is consistency with HashSet class.
1074 2013-06-24 peavo@outlook.com <peavo@outlook.com>
1076 [WinCairo] WTF.dll is linking with CoreFoundation.lib in VS2010.
1077 https://bugs.webkit.org/show_bug.cgi?id=117294
1079 Reviewed by Brent Fulgham.
1081 WinCairo build should not use CoreFoundation.
1083 * WTF.vcxproj/WTFCFLite.props: Added.
1084 * WTF.vcxproj/WTFCommon.props: Remove CoreFoundation.lib from depencency list.
1085 * WTF.vcxproj/WTFCoreFoundation.props: Added.
1086 * WTF.vcxproj/WTFDebug.props: Import WTFCoreFoundation.props for WinApple.
1087 * WTF.vcxproj/WTFDebugWinCairo.props: Import WTFCFLite.props for WinCairo.
1088 * WTF.vcxproj/WTFRelease.props: Import WTFCoreFoundation.props for WinApple.
1089 * WTF.vcxproj/WTFReleaseWinCairo.props: Import WTFCFLite.props for WinCairo.
1091 2013-06-17 Darin Adler <darin@apple.com>
1093 Sort all the Xcode project files
1094 https://bugs.webkit.org/show_bug.cgi?id=117696
1096 Reviewed by Anders Carlsson.
1098 * WTF.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script.
1100 2013-06-20 Sergio Correia <sergio.correia@openbossa.org>
1102 [WK2] Looping for EINTR on close() is incorrect for Linux, at least
1103 https://bugs.webkit.org/show_bug.cgi?id=117266
1105 Reviewed by Darin Adler.
1107 Added file UniStdExtras with a closeWithRetry() function that works around
1108 the EINTR behavior on Linux during a close() call: it closes the descriptor
1109 unconditionally even when the call is interrupted.
1111 * wtf/UniStdExtras.h: Added.
1112 (WTF::closeWithRetry): Wrapper around POSIX close() that handles EINTR
1115 2013-06-20 Mark Lam <mark.lam@apple.com>
1117 Refine the StackBounds computation for Windows.
1118 https://bugs.webkit.org/show_bug.cgi?id=117854.
1120 Reviewed by Brent Fulgham.
1122 * wtf/StackBounds.cpp:
1123 (WTF::StackBounds::initialize):
1125 2013-06-20 Mark Lam <mark.lam@apple.com>
1127 [Windows] Undoing r150621 to roll r150600 back in as the jsc test
1128 failures have been fixed in r151808.
1129 https://bugs.webkit.org/show_bug.cgi?id=116661.
1131 Reviewed by Brent Fulgham.
1133 * wtf/StackBounds.cpp:
1134 (WTF::StackBounds::initialize):
1136 2013-06-20 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
1138 HashSet: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods
1139 https://bugs.webkit.org/show_bug.cgi?id=117830
1141 Reviewed by Anders Carlsson.
1143 The order of the template arguments at HashSet alternate 'find', 'contains' and
1144 'add' methods is reversed so that callers can just pass the translator
1145 and let the compiler deduce input argument type.
1148 * wtf/text/AtomicString.cpp:
1149 (WTF::addToStringTable):
1152 2013-06-20 Roger Fong <roger_fong@apple.com>
1154 Make Windows makefile copy build output to a different folder.
1155 <rdar://problem/14219184>.
1157 * WTF.vcxproj/WTF.make:
1159 2013-06-19 Geoffrey Garen <ggaren@apple.com>
1161 Remove the SegmentedVector inline segment to shrink CodeBlock by 6X
1162 https://bugs.webkit.org/show_bug.cgi?id=117808
1164 Reviewed by Oliver Hunt.
1166 SegmentedVector allocation isn't super hot, but we do tend to have many
1167 live SegmentedVectors at runtime, particularly in CodeBlocks, so the
1168 right tradeoff is to allocate segments out-of-line as needed.
1170 This reduces startup memory usage @ google.com by about 6MB.
1172 No regression on SunSpider.
1174 * wtf/SegmentedVector.h:
1175 (WTF::SegmentedVector::SegmentedVector):
1176 (WTF::SegmentedVector::at):
1177 (WTF::SegmentedVector::append):
1178 (WTF::SegmentedVector::removeLast):
1179 (WTF::SegmentedVector::clear):
1180 (WTF::SegmentedVector::deleteAllSegments): No more inline segment.
1182 (WTF::SegmentedVector::ensureSegmentsFor): This code used to assume
1183 that there was always a 0 segment, so the math would underflow if there
1184 were no 0 segment. I udpated the math to account for having no segments.
1186 2013-06-19 David Kilzer <ddkilzer@apple.com>
1188 BUILD FIX (r151663): Fix build for iOS WebKit
1190 * wtf/text/AtomicStringTable.cpp: Include MainThread.h.
1191 (WTF::AtomicStringTable::create): Use AtomicStringTable::destroy
1192 instead of non-existent destroyAtomicStringTable function.
1194 2013-06-18 Roger Fong <roger_fong@apple.com>
1196 Replace tools32 folder with tools and update WebKit Windows solution accordingly.
1197 <rdar://problem/14118143>.
1199 Rubberstamped by Brent Fulgham.
1201 * WTF.vcxproj/WTF.vcxproj:
1202 * WTF.vcxproj/WTFDebug.props:
1203 * WTF.vcxproj/WTFDebugWinCairo.props:
1204 * WTF.vcxproj/WTFGenerated.vcxproj:
1205 * WTF.vcxproj/WTFGeneratedDebug.props:
1206 * WTF.vcxproj/WTFGeneratedProduction.props:
1207 * WTF.vcxproj/WTFGeneratedRelease.props:
1208 * WTF.vcxproj/WTFProduction.props:
1209 * WTF.vcxproj/WTFRelease.props:
1210 * WTF.vcxproj/WTFReleaseWinCairo.props:
1211 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
1212 (react_to_vsprops_changes):
1214 2013-06-18 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
1216 PackedIntVector: check template arguments at compile time
1217 https://bugs.webkit.org/show_bug.cgi?id=117737
1219 Use 'COMPILE_ASSERT' instead of 'ASSERT' in PackedIntVector class
1222 Reviewed by Sam Weinig.
1224 * wtf/PackedIntVector.h:
1225 (WTF::PackedIntVector::PackedIntVector):
1227 2013-06-17 Andy Estes <aestes@apple.com>
1229 A static_assert() in RetainPtr.h sometimes causes the build to fail.
1231 Wrap the first argument to a static_assert() in parentheses since it
1232 contains a comma, which sometimes tricks the preprocessor into thinking
1233 the macro is being passed three arguments rather than two.
1235 Reviewed by Brian Weinstein.
1238 (WTF::RetainPtr::RetainPtr):
1240 2013-06-17 Zan Dobersek <zdobersek@igalia.com>
1242 REGRESSION (r149184): Build errors in RefPtr.h when building with Clang, C++98 standard
1243 https://bugs.webkit.org/show_bug.cgi?id=116352
1245 Reviewed by Anders Carlsson.
1247 Use the __has_feature macro instead of the __has_extension one when detecting what features the Clang compiler
1248 that's being used is capable to provide. With the project moving onto using C++11 throughout its components,
1249 there currently exist cases where C++11-specific functionality (for instance std::move) is used despite being
1250 guarded by compiler-specific feature guards that still get enabled even when compiling in C++98 with Clang.
1251 The problematic features are enabled because they're available as C++98 language extensions by Clang.
1253 Using __has_feature instead enables the feature guard only if the tested feature is actually standardized in
1254 the currently used language standard.
1258 2013-06-17 Ryosuke Niwa <rniwa@webkit.org>
1260 Initialize AtomicStringTable in WTFThreadData's constructor
1261 https://bugs.webkit.org/show_bug.cgi?id=117671
1263 Reviewed by Geoffrey Garen.
1265 Extracted AtomicStringTable from AtomicString.cpp into AtomicStringTable.h/cpp
1266 and made WTFThreadDada::WTFThreadData create the atomic string table for the thread.
1268 This eliminates a branch from stringTable() in AtomicString.cpp.
1270 * GNUmakefile.list.am:
1272 * WTF.vcxproj/WTF.vcxproj:
1273 * WTF.vcxproj/WTF.vcxproj.filters:
1274 * WTF.xcodeproj/project.pbxproj:
1275 * wtf/CMakeLists.txt:
1276 * wtf/WTFThreadData.cpp:
1277 (WTF::WTFThreadData::WTFThreadData):
1278 * wtf/text/AtomicString.cpp:
1280 * wtf/text/AtomicStringTable.cpp: Added.
1281 (WTF::AtomicStringTable::create):
1282 (WTF::AtomicStringTable::destroy):
1283 * wtf/text/AtomicStringTable.h: Added.
1284 (WTF::AtomicStringTable::table):
1286 2013-06-17 Roger Fong <roger_fong@apple.com>
1288 Modify Windows makefiles to copy some bin output into Program Files.
1289 https://bugs.webkit.org/show_bug.cgi?id=117714.
1290 <rdar://problem/14179054>
1292 Reviewed by Brent Fulgham.
1294 * WTF.vcxproj/WTF.make:
1296 2013-06-17 Grzegorz Czajkowski <g.czajkowski@samsung.com>
1298 Unreviewed, rolling out r151632.
1299 http://trac.webkit.org/changeset/151632
1300 https://bugs.webkit.org/show_bug.cgi?id=117585
1302 Debug build error ASSERT(WTF_USE_GRAMMAR_CHECKING) for non MAC
1307 2013-06-14 Grzegorz Czajkowski <g.czajkowski@samsung.com>
1309 Context menu grammar checking items are available when GRAMMAR_CHECKING macro is off
1310 https://bugs.webkit.org/show_bug.cgi?id=117585
1312 Reviewed by Anders Carlsson.
1314 Enable GRAMMAR_CHECKING for WebKit ports that use/implement it.
1318 2013-06-14 Patrick Gansterer <paroga@webkit.org>
1320 Introduce USE(WINGDI) for the Windows port
1321 https://bugs.webkit.org/show_bug.cgi?id=116138
1323 Reviewed by Ryosuke Niwa.
1325 Using USE(WINGDI) instead of OS(WINCE) will allow us to
1326 compile the GDI based Windows port on WinNT too.
1330 2013-06-13 Ryosuke Niwa <rniwa@webkit.org>
1332 Remove LiteralIdentifierTable
1333 https://bugs.webkit.org/show_bug.cgi?id=117613
1335 Reviewed by Geoffrey Garen.
1337 Removed LiteralIdentifierTable since it doesn't seem to have any perf. impact now.
1339 * wtf/WTFThreadData.h:
1341 2013-06-13 Brent Fulgham <bfulgham@apple.com>
1343 [WinCairo] Correct FeatureDefines.h Default for ENABLE_VIEW_MODE_CSS_MEDIA
1344 https://bugs.webkit.org/show_bug.cgi?id=114396
1346 Reviewed by Dean Jackson.
1348 * wtf/FeatureDefines.h: The WinCairo port does not (currently) support Media elements,
1349 so make sure we do not enable this feature by default for that port.
1351 2013-06-13 Brent Fulgham <bfulgham@apple.com>
1353 [Windows] Unreviewed gardening.
1355 * WTF.vcxproj/WTF.vcxproj: Add FeatureDefines.h to visible files.
1356 * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
1358 2013-06-13 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1360 Optimize String::fromUTF8 for ASCII
1361 https://bugs.webkit.org/show_bug.cgi?id=117586
1363 Reviewed by Brent Fulgham.
1365 From Blink r152243 by <abarth@chromium.org>
1367 Current String::fromUTF8() implementation converts 8 bit ASCII character into 16 bit.
1368 Instead of always trying to convert into a 16 bit buffer, we can add a call to charactersAreAllASCII.
1369 In the common case when characters are ASCII, we directly copy it into an 8 bit string buffer.
1371 * wtf/text/WTFString.cpp:
1372 (WTF::String::fromUTF8):
1374 2013-06-12 Brent Fulgham <bfulgham@apple.com>
1376 [Windows] Activate supported C++11 Features for VS2010
1377 https://bugs.webkit.org/show_bug.cgi?id=117569
1379 Reviewed by Anders Carlsson.
1381 * wtf/Compiler.h: Turn on rvalue references and static_assert
1382 when compiling with VS2010 (or newer)
1384 2013-06-07 Roger Fong <roger_fong@apple.com>
1386 Unreviewed. Makefile fix. Copy WTF.dll over as well.
1388 * WTF.vcxproj/WTF.make:
1390 2013-06-07 Commit Queue <commit-queue@webkit.org>
1392 Unreviewed, rolling out r151318.
1393 http://trac.webkit.org/changeset/151318
1394 https://bugs.webkit.org/show_bug.cgi?id=117356
1396 Broke Windows Release Build (Requested by bfulgham on
1399 * WTF.vcxproj/WTF.vcxproj:
1400 * WTF.vcxproj/WTFCommon.props:
1401 * WTF.vcxproj/WTFCoreFoundation.props: Removed.
1402 * WTF.vcxproj/WTFDebug.props:
1403 * WTF.vcxproj/WTFRelease.props:
1405 2013-06-07 peavo@outlook.com <peavo@outlook.com>
1407 [WinCairo] WTF.dll is linking with CoreFoundation.lib in VS2010.
1408 https://bugs.webkit.org/show_bug.cgi?id=117294
1410 Reviewed by Darin Adler.
1412 WinCairo build should not use CoreFoundation.
1414 * WTF.vcxproj/WTF.vcxproj: Exclude unneeded file from WinCairo build.
1415 * WTF.vcxproj/WTFCommon.props: Removed CoreFoundation.lib from common props.
1416 * WTF.vcxproj/WTFCoreFoundation.props: Added.
1417 * WTF.vcxproj/WTFDebug.props: Inherit from WTFCoreFoundations.props.
1418 * WTF.vcxproj/WTFRelease.props: Inherit from WTFCoreFoundations.props.
1420 2013-06-06 Roger Fong <roger_fong@apple.com>
1422 Unreviewed. Fix typo with winmm linker input.
1424 * WTF.vcxproj/WTFCommon.props:
1426 2013-06-05 Benjamin Poulain <bpoulain@apple.com>
1428 WebSQL forces 16-bit strings
1429 https://bugs.webkit.org/show_bug.cgi?id=116935
1431 Reviewed by Darin Adler.
1433 Merge chromium 49c9632ac135f6f06e623a7a81d9da1f6bb7196f.
1434 https://chromium.googlesource.com/chromium/blink/+/49c9632ac135f6f06e623a7a81d9da1f6bb7196f
1436 * wtf/text/StringImpl.cpp:
1437 (WTF::StringImpl::create8BitIfPossible):
1438 * wtf/text/StringImpl.h:
1439 (WTF::lengthOfNullTerminatedString):
1440 * wtf/text/WTFString.cpp:
1441 (WTF::String::String):
1443 2013-06-03 Roger Fong <roger_fong@apple.com>
1445 Nuke VS2005 files from the tree.
1446 <rdar://problem/14042021>.
1448 Rubberstamped by Brent Fulgham.
1450 * WTF.vcproj: Removed.
1451 * WTF.vcproj/WTF.make: Removed.
1452 * WTF.vcproj/WTF.sln: Removed.
1453 * WTF.vcproj/WTF.vcproj: Removed.
1454 * WTF.vcproj/WTFCommon.vsprops: Removed.
1455 * WTF.vcproj/WTFDebug.vsprops: Removed.
1456 * WTF.vcproj/WTFDebugAll.vsprops: Removed.
1457 * WTF.vcproj/WTFDebugCairoCFLite.vsprops: Removed.
1458 * WTF.vcproj/WTFGenerated.make: Removed.
1459 * WTF.vcproj/WTFGenerated.vcproj: Removed.
1460 * WTF.vcproj/WTFGeneratedCommon.vsprops: Removed.
1461 * WTF.vcproj/WTFGeneratedDebug.vsprops: Removed.
1462 * WTF.vcproj/WTFGeneratedDebugAll.vsprops: Removed.
1463 * WTF.vcproj/WTFGeneratedDebugCairoCFLite.vsprops: Removed.
1464 * WTF.vcproj/WTFGeneratedProduction.vsprops: Removed.
1465 * WTF.vcproj/WTFGeneratedRelease.vsprops: Removed.
1466 * WTF.vcproj/WTFGeneratedReleaseCairoCFLite.vsprops: Removed.
1467 * WTF.vcproj/WTFPostBuild.cmd: Removed.
1468 * WTF.vcproj/WTFPreBuild.cmd: Removed.
1469 * WTF.vcproj/WTFProduction.vsprops: Removed.
1470 * WTF.vcproj/WTFRelease.vsprops: Removed.
1471 * WTF.vcproj/WTFReleaseCairoCFLite.vsprops: Removed.
1472 * WTF.vcproj/build-generated-files.sh: Removed.
1473 * WTF.vcproj/copy-files.cmd: Removed.
1474 * WTF.vcproj/work-around-vs-dependency-tracking-bugs.py: Removed.
1476 2013-06-03 Patrick Gansterer <paroga@webkit.org>
1478 Unreviewed WinCE build fix after r150833.
1481 (WTF::calculateDSTOffset):
1483 2013-06-03 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1485 [WTF] Add OwnArrayPtr vectortraits template
1486 https://bugs.webkit.org/show_bug.cgi?id=117131
1488 Reviewed by Darin Adler.
1490 To support Vector<OwnArrayPtr<P>>, which will be used by EFL port.
1492 * wtf/VectorTraits.h:
1494 2013-05-31 Rafael Brandao <rafael.lobo@openbossa.org>
1496 Fix double hash lookup in PageMapMemoryUsageRecorder::visit
1497 https://bugs.webkit.org/show_bug.cgi?id=117071
1499 Reviewed by Andreas Kling.
1501 * wtf/FastMalloc.cpp:
1502 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1504 2013-05-31 Brent Fulgham <bfulgham@apple.com>
1506 [Windows] Speculative build fix for pre-VS2010 compilers
1508 * wtf/Platform.h: Only treat WTF as DLL for VS2010 builds
1510 2013-05-31 Zan Dobersek <zdobersek@igalia.com>
1512 Move MD5, SHA1 unit tests from WTF to TestWebKitAPI
1513 https://bugs.webkit.org/show_bug.cgi?id=116445
1515 Reviewed by Benjamin Poulain.
1517 Remove the MD5 and SHA1 test cases from the WTF code. The same cases are now built and run under TestWebKitAPI.
1524 2013-05-30 Roger Fong <roger_fong@apple.com>
1526 Another unreviewed build fix for Mac.
1528 * wtf/text/WTFString.h:
1529 (WTF::String::fromUTF8WithLatin1Fallback):
1531 2013-05-30 Roger Fong <roger_fong@apple.com>
1533 Unreviewed build fix for Mac.
1535 * wtf/OSAllocator.h:
1536 * wtf/text/WTFString.h:
1537 (WTF::String::fromUTF8):
1539 2013-05-30 Roger Fong <roger_fong@apple.com>
1541 Get rid of JavaScript exports file on AppleWin port.
1542 https://bugs.webkit.org/show_bug.cgi?id=117050.
1544 Reviewed by Darin Adler.
1546 This requires turning WTF into a shared library and adding the WTF_EXPORT_PRIVATE to some methods where it was missed.
1548 * WTF.vcxproj/WTF.vcxproj:
1549 * WTF.vcxproj/WTFCommon.props:
1551 * wtf/ExportMacros.h:
1552 * wtf/FilePrintStream.h:
1553 * wtf/OSAllocator.h:
1554 * wtf/PageAllocationAligned.h:
1556 * wtf/PrintStream.h:
1557 * wtf/StackBounds.h:
1558 * wtf/StringPrintStream.h:
1559 * wtf/ThreadSpecific.h:
1560 * wtf/WTFThreadData.h:
1561 * wtf/dtoa/cached-powers.h:
1562 * wtf/dtoa/double-conversion.h:
1563 * wtf/text/WTFString.h:
1564 * wtf/unicode/Collator.h:
1565 * wtf/unicode/UTF8.h:
1567 2013-05-29 Kent Tamura <tkent@chromium.org>
1569 Remove ENABLE_INPUT_MULTIPLE_FIELDS_UI.
1570 https://bugs.webkit.org/show_bug.cgi?id=116796
1572 Reviewed by Ryosuke Niwa.
1574 * wtf/FeatureDefines.h:
1576 2013-05-27 Gavin Barraclough <barraclough@apple.com>
1578 String(new Date(2010,10,1)) is wrong in KRAT, YAKT
1579 https://bugs.webkit.org/show_bug.cgi?id=106750
1581 Reviewed by Darin Adler.
1583 First part of a fix, simplfy date handling code, instead of operating separately
1584 on the UTC-standard and standard-DST offsets, just generate a combined UTC-local
1585 offset (this is what we actually need, and what the OS gives us).
1588 (WTF::calculateUTCOffset):
1589 (WTF::calculateDSTOffset):
1590 - made static, now not called from outside of this file.
1591 (WTF::calculateLocalTimeOffset):
1592 - This combines the 2038 related adjustment from calculateDSTOffset with the
1593 maxUnixTime adjustment from calculateDSTOffsetSimple. Then, if HAVE(TM_GMTOFF)
1594 just call getLocalTime, if not use calculateUTCOffset/calculateDSTOffset.
1595 (WTF::parseDateFromNullTerminatedCharacters):
1596 - call calculateLocalTimeOffset instead of calculateUTCOffset/calculateDSTOffset
1598 (WTF::LocalTimeOffset::LocalTimeOffset):
1600 (WTF::LocalTimeOffset::operator==):
1601 - new struct type, a tuple of UTC-local offset & isDST flag.
1602 - replaced calculateUTCOffset/calculateDSTOffset with calculateLocalTimeOffset
1603 * wtf/GregorianDateTime.cpp:
1604 (WTF::GregorianDateTime::setToCurrentLocalTime):
1605 - call calculateLocalTimeOffset instead of calculateUTCOffset/calculateDSTOffset
1607 2013-05-27 Patrick Gansterer <paroga@webkit.org>
1609 Use correct stack size on Solaris and OpenBSD
1610 https://bugs.webkit.org/show_bug.cgi?id=114978
1612 Recommit after wrong rollout in r150621.
1614 * wtf/StackBounds.cpp:
1616 (WTF::StackBounds::initialize):
1618 2013-05-27 Patrick Gansterer <paroga@webkit.org>
1620 Use ICU_INCLUDE_DIRS in BlackBerry CMake files
1621 https://bugs.webkit.org/show_bug.cgi?id=116210
1623 Reviewed by Rob Buis.
1625 Set and use the ICU_INCLUDE_DIRS variable to avoid
1626 duplicated adding of the ICU include directory.
1628 * wtf/PlatformBlackBerry.cmake:
1630 2013-05-27 Ádám Kallai <kadam@inf.u-szeged.hu>
1632 [Qt] Enable parallel GC. Probably it has been fixed in r131791.
1633 https://bugs.webkit.org/show_bug.cgi?id=90957
1635 Reviewed by Csaba Osztrogonác.
1639 2013-05-26 Patrick Gansterer <paroga@webkit.org>
1641 [WINCE] Add wtf_bsearch()
1642 https://bugs.webkit.org/show_bug.cgi?id=116528
1644 Reviewed by Darin Adler.
1646 r149833 introduced usage of ::bsearch(), which does not exist on Windwos CE.
1647 Add our own implementation of this function as wtf_bsearch and define
1648 bsearch as wtf_bsearch to fix compilation on Windwos CE.
1650 * wtf/StdLibExtras.h:
1653 2013-05-26 Kent Tamura <tkent@chromium.org>
1655 Remove ENABLE_CALENDAR_PICKER
1656 https://bugs.webkit.org/show_bug.cgi?id=116795
1658 Reviewed by Ryosuke Niwa.
1660 * wtf/FeatureDefines.h:
1662 2013-05-24 Benjamin Poulain <bpoulain@apple.com>
1664 Inline TCMalloc_Central_FreeList's RemoveRange and FetchFromSpansSafe
1665 https://bugs.webkit.org/show_bug.cgi?id=116700
1667 Reviewed by Darin Adler.
1669 The two functions only have one call site each.
1671 * wtf/FastMalloc.cpp:
1672 (WTF::TCMalloc_Central_FreeList::RemoveRange):
1673 (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe):
1675 2013-05-24 Filip Pizlo <fpizlo@apple.com>
1678 https://bugs.webkit.org/show_bug.cgi?id=116736
1680 Reviewed by Gavin Barraclough.
1683 (isNotZeroAndOrdered):
1684 (isZeroOrUnordered):
1686 2013-05-24 Anders Carlsson <andersca@apple.com>
1688 Remove PagePopup code
1689 https://bugs.webkit.org/show_bug.cgi?id=116732
1691 Reviewed by Andreas Kling.
1693 Remove ENABLE_PAGE_POPUP.
1695 * wtf/FeatureDefines.h:
1697 2013-05-25 Jer Noble <jer.noble@apple.com>
1699 Mac: Set the default audio buffer size to a large value for <video> elements.
1700 https://bugs.webkit.org/show_bug.cgi?id=116342
1702 Reviewed by Eric Carlson.
1704 * wtf/Platform.h: Add a WTF_USE_AUDIO_SESSION setting.
1706 2013-05-23 Brent Fulgham <bfulgham@apple.com>
1708 [Windows] Rolling back r150600 as it breaks the VS2010 builds.
1710 * wtf/StackBounds.cpp: Rollback.
1712 2013-05-23 Patrick Gansterer <paroga@webkit.org>
1714 Use correct stack size on Solaris and OpenBSD
1715 https://bugs.webkit.org/show_bug.cgi?id=114978
1717 Reviewed by Oliver Hunt.
1719 Original patch by David Hill <david@wmol.com>.
1721 Use stack_t.ss_size for getting the size of the stack.
1724 * wtf/StackBounds.cpp:
1726 (WTF::StackBounds::initialize):
1728 2013-05-23 Patrick Gansterer <paroga@webkit.org>
1730 [WIN] Implement correct detection of stack size
1731 https://bugs.webkit.org/show_bug.cgi?id=116661
1733 Reviewed by Oliver Hunt.
1735 * wtf/StackBounds.cpp:
1737 (WTF::StackBounds::initialize):
1739 2013-05-22 Dean Jackson <dino@apple.com>
1741 Rolling out r150555. It borked about 30 media tests.
1745 2013-05-21 Anders Carlsson <andersca@apple.com>
1749 * wtf/NeverDestroyed.h:
1752 2013-05-20 Anders Carlsson <andersca@apple.com>
1754 Add WTF::NeverDestroyed and start using it in WTF
1755 https://bugs.webkit.org/show_bug.cgi?id=116472
1757 Reviewed by Benjamin Poulain.
1759 NeverDestroyed is a class template that can be used for singletons and other objects that we never
1760 want to destroy. It's intended as a replacement for WTF_STATIC_LOCAL with the advantage that it doesn't
1763 * GNUmakefile.list.am:
1764 * WTF.vcproj/WTF.vcproj:
1765 * WTF.vcxproj/WTF.vcxproj:
1766 * WTF.vcxproj/WTF.vcxproj.filters:
1767 * WTF.xcodeproj/project.pbxproj:
1768 Add NeverDestroyed.h
1771 Add a helper macro, WTF_DELETED_FUNCTION.
1773 * wtf/CryptographicallyRandomNumber.cpp:
1776 * wtf/NeverDestroyed.h: Added.
1778 * wtf/Noncopyable.h:
1779 Use WTF_DELETED_FUNCTION.
1781 * wtf/text/WTFString.cpp:
1785 2013-05-20 Zan Dobersek <zdobersek@igalia.com>
1787 Use '__typeof__' keyword to avoid problems when compiling in C++11 standard compliance
1788 https://bugs.webkit.org/show_bug.cgi?id=116447
1790 Reviewed by Darin Adler.
1792 The 'typeof' keyword is a GNU C extension which becomes unavailable when compiling in ANSI or specific standard mode
1793 (such as -std=c++11). The '__typeof__' keyword should be used instead as it's available in all modes both under GCC and Clang.
1795 * wtf/FastMalloc.cpp:
1796 (WTF): Replace the 'typeof' keyword with '__typeof__'.
1798 2013-05-19 Anders Carlsson <andersca@apple.com>
1800 Remove link prerendering code
1801 https://bugs.webkit.org/show_bug.cgi?id=116415
1803 Reviewed by Darin Adler.
1805 This code was only used by Chromium and is dead now.
1807 * wtf/FeatureDefines.h:
1809 2013-05-18 Patrick Gansterer <paroga@webkit.org>
1811 [CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
1812 https://bugs.webkit.org/show_bug.cgi?id=114554
1814 Reviewed by Gyuyoung Kim.
1816 Using variables as target names is very uncommon in CMake.
1817 The usual way to specify the name of the resulting binary
1818 is to set the OUTPUT_NAME target property.
1820 * wtf/CMakeLists.txt:
1822 2013-05-17 Andreas Kling <akling@apple.com>
1824 Re-align the OS(AIX) macro...
1825 ...in the hopes that the resulting world rebuild will fix failures after r150294.
1829 2013-05-17 Anders Carlsson <andersca@apple.com>
1831 WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process
1832 https://bugs.webkit.org/show_bug.cgi?id=116346
1833 <rdar://problem/13852829>
1835 Reviewed by Andreas Kling.
1837 Add forward declaration for Function.
1841 2013-05-17 Patrick Gansterer <paroga@webkit.org>
1843 [CMake] Remove invalid include paths
1844 https://bugs.webkit.org/show_bug.cgi?id=116213
1846 Reviewed by Gyuyoung Kim.
1848 Since "${JAVASCRIPTCORE_DIR}/wtf" does not exist, it is safe
1849 to remove them from the list of include directories.
1851 * wtf/PlatformEfl.cmake:
1852 * wtf/PlatformGTK.cmake:
1854 2013-05-16 Benjamin Poulain <bpoulain@apple.com>
1856 Add the symbol WTFInvokeCrashHook back for binary compatibility.
1858 Reviewed by Ryosuke Niwa.
1860 * wtf/Assertions.cpp:
1863 2013-05-16 Seokju Kwon <seokju.kwon@gmail.com>
1865 [CMAKE] Need to set WTF_LIBRARIES in wtf/CMakeLists.txt
1866 https://bugs.webkit.org/show_bug.cgi?id=116209
1868 Reviewed by Gyuyoung Kim.
1870 * wtf/CMakeLists.txt: Replace list with set.
1872 2013-05-16 Benjamin Poulain <benjamin@webkit.org>
1874 Crash properly on iOS
1875 https://bugs.webkit.org/show_bug.cgi?id=115782
1877 Reviewed by Darin Adler.
1879 Improve crash handling. <rdar://problem/13842771>
1881 * wtf/Assertions.cpp:
1884 2013-05-15 Ryuan Choi <ryuan.choi@samsung.com>
1886 Unreviewed build fix after r150123
1888 * wtf/CMakeLists.txt:
1890 2013-05-15 Oliver Hunt <oliver@apple.com>
1892 RefCountedArray needs to use vector initialisers for its backing store
1893 https://bugs.webkit.org/show_bug.cgi?id=116194
1895 Reviewed by Gavin Barraclough.
1897 Use VectorOperations to operate on the backing store
1899 * wtf/RefCountedArray.h:
1900 (WTF::RefCountedArray::RefCountedArray):
1901 (WTF::RefCountedArray::operator=):
1902 (WTF::RefCountedArray::~RefCountedArray):
1904 2013-05-15 Nico Weber <thakis@chromium.org>
1906 WebKit doesn't support MSVS2003 any more, remove preprocessor checks for older versions.
1907 https://bugs.webkit.org/show_bug.cgi?id=116157
1909 Reviewed by Anders Carlsson.
1911 Also remove a gcc3.2 workaround.
1913 Merges parts of these two commits by the talented Nico Weber:
1914 https://chromium.googlesource.com/chromium/blink/+/3677e2f47348daeff405a40b6f90fbdf0654c2f5
1915 https://chromium.googlesource.com/chromium/blink/+/0fcd96c448dc30be1416dcc15713c53710c1a312
1924 (WTF::getLocalTime):
1926 * wtf/RefCountedLeakCounter.h:
1927 (RefCountedLeakCounter):
1928 * wtf/StaticConstructors.h:
1930 2013-05-15 Patrick Gansterer <paroga@webkit.org>
1932 Consolidate lists in WTF CMake files
1933 https://bugs.webkit.org/show_bug.cgi?id=116142
1935 Reviewed by Martin Robinson.
1937 Move common files into the CMakeLists.txt to avoid duplicating the list of files.
1938 Also rebase the recently added GTK files to match the other CMake ports, since
1939 the submitted patch was based on an older version of the source tree.
1941 * wtf/CMakeLists.txt:
1942 * wtf/PlatformBlackBerry.cmake:
1943 * wtf/PlatformEfl.cmake:
1944 * wtf/PlatformGTK.cmake:
1945 * wtf/PlatformWinCE.cmake:
1947 2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
1949 Remove WTF_USE_PLATFORM_STRATEGIES
1950 https://bugs.webkit.org/show_bug.cgi?id=114431
1952 Reviewed by Darin Adler.
1956 2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
1958 [BlackBerry] Use requestAnimationFrame for animations
1959 https://bugs.webkit.org/show_bug.cgi?id=115896
1961 Reviewed by Rob Buis.
1963 * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER and
1964 WTF_USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR for BlackBerry
1967 2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
1969 [BlackBerry] Implement platform strategies
1970 https://bugs.webkit.org/show_bug.cgi?id=112162
1972 Reviewed by Rob Buis.
1974 * wtf/Platform.h: Add BlackBerry platform to the list of platforms
1975 using platform strategies.
1977 2013-05-13 Benjamin Poulain <benjamin@webkit.org>
1979 Improve stringProtoFuncLastIndexOf for the prefix case
1980 https://bugs.webkit.org/show_bug.cgi?id=115952
1982 Reviewed by Geoffrey Garen.
1984 Add an optimized version of StringImpl::startsWith() for JavaScriptCore.
1986 * wtf/text/StringImpl.cpp:
1987 (WTF::StringImpl::startsWith):
1988 * wtf/text/StringImpl.h:
1990 (WTF::StringImpl::startsWith):
1991 * wtf/text/WTFString.h:
1992 (WTF::String::startsWith):
1994 2013-05-13 Carlos Garcia Campos <cgarcia@igalia.com>
1996 Unreviewed. Fix Qt Linux MIPS32R2 build after r149879.
1998 Bring back GLIB_CHECK_VERSION for GBytes since Qt Linux MIPS32R2
1999 depends on glib 2.24.2.
2001 * wtf/gobject/GRefPtr.cpp:
2006 2013-05-13 Anders Carlsson <andersca@apple.com>
2008 Remove UnusedParam.h
2009 https://bugs.webkit.org/show_bug.cgi?id=116029
2011 Reviewed by Andreas Kling.
2013 Remove UnusedParam.h, it's empty now.
2015 * GNUmakefile.list.am:
2017 * WTF.vcproj/WTF.vcproj:
2018 * WTF.vcxproj/WTF.vcxproj:
2019 * WTF.vcxproj/WTF.vcxproj.filters:
2020 * WTF.xcodeproj/project.pbxproj:
2021 * wtf/CMakeLists.txt:
2022 * wtf/UnusedParam.h: Removed.
2024 2013-05-13 Zalan Bujtas <zalan@apple.com>
2026 WebProcess consuming very high CPU on linkedin.com
2027 https://bugs.webkit.org/show_bug.cgi?id=115601
2029 Reviewed by Andreas Kling.
2031 Disable WEB_TIMING_MINIMAL.
2032 Turn off window.performance and performance.now(). Some JS frameworks expect
2033 additional Web Timing APIs, when performance.now() is available.
2035 * wtf/FeatureDefines.h:
2037 2013-05-12 Anders Carlsson <andersca@apple.com>
2039 Stop including UnusedParam.h
2040 https://bugs.webkit.org/show_bug.cgi?id=116003
2042 Reviewed by Sam Weinig.
2044 UnusedParam.h is empty now so there's no need to include it anymore.
2047 * wtf/BoundsCheckedPointer.h:
2049 * wtf/FastMalloc.cpp:
2050 * wtf/NumberOfCores.cpp:
2051 * wtf/OSAllocator.h:
2052 * wtf/OSAllocatorPosix.cpp:
2053 * wtf/PageAllocation.h:
2055 * wtf/TCSystemAlloc.cpp:
2056 * wtf/ThreadingPthreads.cpp:
2058 * wtf/dtoa/cached-powers.cc:
2059 * wtf/dtoa/fixed-dtoa.cc:
2061 2013-05-12 Anders Carlsson <andersca@apple.com>
2063 Move UNUSED_PARAM and UNUSED_LABEL macros to Compiler.h
2064 https://bugs.webkit.org/show_bug.cgi?id=115997
2066 Reviewed by Benjamin Poulain.
2068 UnusedParam.h predates Compiler.h and the macros defined there should just go into Compiler.h
2072 * wtf/UnusedParam.h:
2074 2013-05-12 Anders Carlsson <andersca@apple.com>
2076 Remove Complex.h from WTF
2077 https://bugs.webkit.org/show_bug.cgi?id=115989
2079 Reviewed by Beth Dakin.
2081 Complex.h contains a typedef and a single function (that already has an equivalent in the STL).
2082 The header is used by three files in WebCore, so just use std::complex<double> and std::polar directly.
2084 * GNUmakefile.list.am:
2085 * WTF.vcproj/WTF.vcproj:
2086 * WTF.vcxproj/WTF.vcxproj:
2087 * WTF.vcxproj/WTF.vcxproj.filters:
2088 * WTF.xcodeproj/project.pbxproj:
2089 * wtf/CMakeLists.txt:
2090 * wtf/Complex.h: Removed.
2092 2013-05-11 Martin Robinson <mrobinson@igalia.com>
2094 [GTK] Add a basic cmake build for WTF and JavaScriptCore
2095 https://bugs.webkit.org/show_bug.cgi?id=115967
2097 Reviewed by Laszlo Gombos.
2099 * wtf/PlatformGTK.cmake: Added.
2101 2013-05-11 Martin Robinson <mrobinson@igalia.com>
2103 Move defines to platform
2105 [GTK] Move defines that will never be configured to Platform.h
2106 https://bugs.webkit.org/show_bug.cgi?id=115965
2108 Reviewed by Andreas Kling.
2110 * wtf/Platform.h: Add new defines that were previously in the autoconf header.
2112 2013-05-12 Anders Carlsson <andersca@apple.com>
2114 Simplify AutodrainedPool
2115 https://bugs.webkit.org/show_bug.cgi?id=115986
2117 Reviewed by Andreas Kling.
2119 Remove the ability to cycle an AutodrainedPool, as well as the iteration count.
2120 Creating and draining pools is fast enough now that we don't need to try to be clever about it.
2122 * wtf/AutodrainedPool.h:
2124 (WTF::AutodrainedPool::AutodrainedPool):
2125 * wtf/AutodrainedPoolMac.mm:
2126 (WTF::AutodrainedPool::AutodrainedPool):
2128 2013-05-12 Anders Carlsson <andersca@apple.com>
2130 Move RemoteMemoryReader into FastMalloc.cpp
2131 https://bugs.webkit.org/show_bug.cgi?id=115985
2133 Reviewed by Andreas Kling.
2135 RemoteMemoryReader is only used in FastMalloc.cpp, and even had one of its member functions
2136 implemented there, so move the entire class template there and remove MallocZoneSupport.h.
2138 * GNUmakefile.list.am:
2140 * WTF.vcproj/WTF.vcproj:
2141 * WTF.vcxproj/WTF.vcxproj:
2142 * WTF.vcxproj/WTF.vcxproj.filters:
2143 * WTF.xcodeproj/project.pbxproj:
2144 * wtf/CMakeLists.txt:
2145 * wtf/FastMalloc.cpp:
2147 (PageHeapAllocator):
2148 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2149 * wtf/MallocZoneSupport.h: Removed.
2151 2013-05-10 Laszlo Gombos <l.gombos@samsung.com>
2153 Remove USE(OS_RANDOMNESS)
2154 https://bugs.webkit.org/show_bug.cgi?id=108095
2156 Reviewed by Darin Adler.
2158 Remove the USE(OS_RANDOMNESS) guard as it is turned on for all
2161 * wtf/CryptographicallyRandomNumber.cpp:
2162 (WTF::cryptographicallyRandomValues):
2163 * wtf/CryptographicallyRandomNumber.h:
2164 * wtf/OSRandomSource.cpp:
2165 (WTF::cryptographicallyRandomValuesFromOS):
2166 * wtf/OSRandomSource.h:
2168 * wtf/RandomNumber.cpp:
2169 (WTF::randomNumber):
2170 * wtf/RandomNumber.h:
2171 * wtf/RandomNumberSeed.h:
2172 (WTF::initializeRandomNumberGenerator):
2174 2013-05-10 Carlos Garcia Campos <cgarcia@igalia.com>
2176 [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
2177 https://bugs.webkit.org/show_bug.cgi?id=115904
2179 Reviewed by Martin Robinson.
2181 * wtf/gobject/GRefPtr.cpp:
2183 2013-05-09 Darin Adler <darin@apple.com>
2185 RenderQuote has giant function for language to quotes map
2186 https://bugs.webkit.org/show_bug.cgi?id=115807
2188 Reviewed by Anders Carlsson.
2190 * wtf/unicode/CharacterNames.h: Added a couple of character names.
2192 2013-05-08 Michael Saboff <msaboff@apple.com>
2194 JSC: There should be a disassembler for ARM Thumb 2
2195 https://bugs.webkit.org/show_bug.cgi?id=115827
2197 Reviewed by Filip Pizlo.
2199 Added a new disassembler for ARMv7 Thumb2 instructions for use by the JSC debugging
2200 and profiling code. Enabled the disassembler for IOS bulds.
2204 2013-05-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2206 Simplify RetainPtrObjectHashTraits
2207 https://bugs.webkit.org/show_bug.cgi?id=115822
2209 Reviewed by Benjamin Poulain.
2211 RetainPtrObjectHashTraits is inherited from SimpleClassHashTraits
2212 instead of GenericHashTraits re-using more shared functionality.
2215 (WTF::RetainPtrObjectHashTraits::emptyValue):
2217 2013-05-08 Anders Carlsson <andersca@apple.com>
2219 Assert at compile time that we don't pass Objective-C object pointers to adoptCF
2220 https://bugs.webkit.org/show_bug.cgi?id=115823
2222 Reviewed by Geoffrey Garen.
2224 static_assert in adoptCF that the object passed in is not an Objective-C object.
2227 2013-05-08 Anders Carlsson <andersca@apple.com>
2229 Remove RetainPtr::adoptNS and RetainPtr::adoptCF
2230 https://bugs.webkit.org/show_bug.cgi?id=115817
2232 Reviewed by Jessie Berlin.
2234 These functions are now unused so remove them. The preferred way to create a RetainPtr with an
2235 adopted reference is to use the adoptNS/adoptCF free functions.
2237 Rewrite the move assignment operators to just call CFRelease explicitly.
2241 2013-05-08 Anders Carlsson <andersca@apple.com>
2243 Remove ThreadingNone.cpp
2245 Rubber-stamped by Beth Dakin.
2247 ThreadingNone.cpp is empty and not used anywhere.
2249 * wtf/ThreadingNone.cpp: Removed.
2251 2013-05-08 Anders Carlsson <andersca@apple.com>
2253 Remove HashMap::deleteAllKeys
2254 https://bugs.webkit.org/show_bug.cgi?id=115806
2256 Reviewed by Brent Fulgham.
2258 This function was not used anywhere so let's get rid of it.
2262 2013-05-08 Eric Carlson <eric.carlson@apple.com>
2264 [Mac] Inband text tracks are not in track menu on Lion
2265 https://bugs.webkit.org/show_bug.cgi?id=115740
2267 Reviewed by Dean Jackson.
2269 * wtf/Platform.h: AVFOUNDATION_TEXT_TRACK_SUPPORT -> AVFOUNDATION_MEDIA_SELECTION_GROUP
2271 2013-05-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2273 HashTraits<RefPtr<P> >::peek should consider empty value
2274 https://bugs.webkit.org/show_bug.cgi?id=115799
2276 Reviewed by Darin Adler.
2278 HashTraits<RefPtr<P> >::peek() should consider passing of empty value which is
2279 raw pointer equal to '0', and return it right away instead of converting it to RefPtr
2284 2013-05-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2286 Avoid unnecessary arguments copying inside GenericHashTraits methods
2287 https://bugs.webkit.org/show_bug.cgi?id=115733
2289 Reviewed by Darin Adler.
2291 Before the change both WTF::GenericHashTraits::passOut and WTF::GenericHashTraits::passOut
2292 used to return the given argument always by value and that caused implicit extra
2293 copying of the argument. It was OK as long as argument type T was POD, as compiler
2294 could optimize it, but in case T was a class having non-trivial copy constructor the
2295 extra copying of the argument could not have been obviated.
2297 The proposed solution is to provide overloaded functions that accept non-temporary
2298 values and return them by reference thus avoiding extra copying.
2300 The proposed solution made an impact on the size of libjavascriptcore_efl.so (EFL
2301 release build): the size decreased from 6554992 bytes to 6554560 bytes.
2304 (WTF::GenericHashTraits::passOut):
2305 (WTF::GenericHashTraits::peek):
2307 2013-05-07 Anders Carlsson <andersca@apple.com>
2309 Remove AlwaysInline.h from WTF
2310 https://bugs.webkit.org/show_bug.cgi?id=115727
2312 Reviewed by Brent Fulgham.
2314 The macro that used to be in AlwaysInline.h is now in Compiler.h so there's no reason
2315 to keep AlwaysInline.h around anymore.
2317 * WTF.vcproj/WTF.vcproj:
2318 * WTF.vcxproj/WTF.vcxproj:
2319 * WTF.vcxproj/WTF.vcxproj.filters:
2320 * WTF.xcodeproj/project.pbxproj:
2321 * wtf/AlwaysInline.h: Removed.
2322 * wtf/BloomFilter.h:
2323 * wtf/FastMalloc.cpp:
2326 * wtf/gobject/GRefPtr.h:
2328 2013-05-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2330 HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
2331 https://bugs.webkit.org/show_bug.cgi?id=115646
2333 Reviewed by Darin Adler.
2335 HashTraits<RefPtr<P> >::PeekType should be raw pointer so that we
2336 can obviate multiple RefPtr copying when invoking HashMap<.., RefPtr>::get()
2341 2013-05-06 Cosmin Truta <ctruta@blackberry.com>
2343 Cherry-pick fixes to bignum from upstream
2344 https://bugs.webkit.org/show_bug.cgi?id=115658
2346 Reviewed by Darin Adler.
2348 Cherry-picked the following change lists:
2350 Fix bug in bignum implementation
2351 http://codereview.chromium.org/13454019
2353 Make VS2005 project files compile without errors
2354 http://codereview.chromium.org/6286135
2356 * wtf/dtoa/bignum.cc:
2358 2013-05-06 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2360 Change HashTraits<RefPtr<P> >::PassOutType to PassRefPtr for better performance
2361 https://bugs.webkit.org/show_bug.cgi?id=115410
2363 Reviewed by Darin Adler.
2365 The type HashTraits<RefPtr<P> >::PassOutType is PassRefPtr now to
2366 avoid extra ref/unrefing on return from HashMap methods that transfer
2367 ownership, such as take.
2370 (WTF::IdentityHashTranslator::equal):
2373 2013-05-05 Anders Carlsson <andersca@apple.com>
2375 Remove Vector::prepend
2376 https://bugs.webkit.org/show_bug.cgi?id=115618
2378 Reviewed by Geoffrey Garen.
2380 Given the performance characteristics of prepending something to a Vector, not having prepend
2381 will hopefully make developers think about whether prepending is necessary at all. For example,
2382 the functions in HexNumber.h were easily converted to using Vector::append and then Vector::reverse.
2385 (WTF::appendUnsignedAsHex):
2386 (WTF::appendUnsignedAsHexFixedSize):
2390 2013-05-05 Anders Carlsson <andersca@apple.com>
2392 Remove the Vector::append overload that takes a Vector
2393 https://bugs.webkit.org/show_bug.cgi?id=115535
2395 Reviewed by Andreas Kling.
2397 The Vector::append overload that takes a Vector conflicts with rvalues in C++11, so remove it and
2398 replace calls to it with calls to appendVector.
2403 2013-05-04 Andreas Kling <akling@apple.com>
2405 Unreviewed, rolling out r149563.
2406 http://trac.webkit.org/changeset/149563
2407 https://bugs.webkit.org/show_bug.cgi?id=115587
2411 * wtf/text/StringImpl.h:
2414 2013-05-04 Xan Lopez <xlopez@igalia.com>
2416 No need to declare JSC::LLInt::Data as friend class of WTF::StringImpl
2417 https://bugs.webkit.org/show_bug.cgi?id=115587
2419 Reviewed by Andreas Kling.
2421 No need to declare LLInt::Data as friend class of WTF::StringImpl,
2422 it does not use any private method/data member of the latter.
2424 * wtf/text/StringImpl.h:
2427 2013-05-03 Brent Fulgham <bfulgham@webkit.org>
2429 Make ThreadFunctionInvocation fast allocated.
2430 https://bugs.webkit.org/show_bug.cgi?id=115552
2432 Reviewed by Benjamin Poulain.
2434 * wtf/ThreadFunctionInvocation.h:
2435 (ThreadFunctionInvocation): Make Fast-allocated.
2437 2013-05-03 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2439 Remove WTF::ListRefPtr class
2440 https://bugs.webkit.org/show_bug.cgi?id=115516
2442 Reviewed by Anders Carlsson.
2444 ListRefPtr was used only by FontFamily class, besides it strongly depended
2445 on FontFamily class semantics which made it non-generic and inappropriate
2446 for being present inside WTF.
2448 This patch removes WTF::ListRefPtr class and moves its the functionality
2449 into FontFamily class.
2451 * GNUmakefile.list.am:
2453 * WTF.vcproj/WTF.vcproj:
2454 * WTF.vcxproj/WTF.vcxproj:
2455 * WTF.vcxproj/WTF.vcxproj.filters:
2456 * WTF.xcodeproj/project.pbxproj:
2457 * wtf/CMakeLists.txt:
2460 * wtf/ListRefPtr.h: Removed.
2462 2013-05-02 Brent Fulgham <bfulgham@webkit.org>
2464 [WinCairo] Unreviewed build fix.
2466 * WTF.vcxproj/WTF.vcxproj: Use WinCairo FeatureDefines
2467 * WTF.vcxproj/WTF.vcxproj.filters: Use WinCairo FeatureDefines
2468 * WTF.vcxproj/WTFDebugWinCairo.props: Added.
2469 * WTF.vcxproj/WTFReleaseWinCairo.props: Added.
2471 2013-05-02 Brent Fulgham <bfulgham@webkit.org>
2473 [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html
2474 https://bugs.webkit.org/show_bug.cgi?id=115130
2476 Reviewed by Tim Horton.
2478 Windows is suffering from mismatched allocation/deallocation
2479 between the system allocator and fastMalloc/fastFree. By turning
2480 off the global switch to fastMalloc, only classes specified to
2481 honor fastMalloc/fastFree are affected, and other memory allocation
2482 and freeing is done with consistent library calls.
2484 * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for
2487 2013-05-02 Eric Carlson <eric.carlson@apple.com>
2489 Caption menu does not include in-band captions
2490 https://bugs.webkit.org/show_bug.cgi?id=111934
2492 Reviewed by Dean Jackson.
2494 * wtf/Platform.h: Define HAVE_AVFOUNDATION_TEXT_TRACK_SUPPORT on 10.8 and higher. Added
2495 HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT.
2497 2013-05-02 Brent Fulgham <bfulgham@webkit.org>
2499 Make BloomFilter fast allocated.
2500 https://bugs.webkit.org/show_bug.cgi?id=115519
2502 Reviewed by Benjamin Poulain.
2504 * wtf/BloomFilter.h:
2505 (BloomFilter): Make BloomFilter Fast-allocated.
2507 2013-05-01 Michael Saboff <msaboff@apple.com>
2509 FastMalloc.cpp should use system defined page size instead of literal constant
2510 https://bugs.webkit.org/show_bug.cgi?id=115502
2512 Reviewed by Geoffrey Garen.
2514 Updated kPageShift to be PAGE_SHIFT for Mac. Changed kMaxSize to be fixed at 32K.
2515 Updated kNumClasses for 4K and 16K page sizes.
2517 * wtf/FastMalloc.cpp:
2518 kPageShift: Changed this to be PAGE_SHIFT on mac.
2520 2013-05-01 Roger Fong <roger_fong@apple.com>
2522 Set Path in makefile for AppleWin.
2524 * WTF.vcxproj/WTF.make:
2526 2013-05-01 Anders Carlsson <andersca@apple.com>
2528 Add FunctionDispatcher class and make RunLoop derive from it
2529 https://bugs.webkit.org/show_bug.cgi?id=115480
2531 Reviewed by Sam Weinig.
2533 Add FunctionDispatcher files.
2536 * WTF.vcproj/WTF.vcproj:
2537 * WTF.vcxproj/WTF.vcxproj:
2538 * WTF.xcodeproj/project.pbxproj:
2539 * wtf/FunctionDispatcher.cpp: Added.
2540 (WTF::FunctionDispatcher::FunctionDispatcher):
2541 (WTF::FunctionDispatcher::~FunctionDispatcher):
2542 * wtf/FunctionDispatcher.h: Added.
2544 2013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu>
2546 [Qt][Win] Fix build after r149416.
2547 https://bugs.webkit.org/show_bug.cgi?id=115474
2549 Reviewed by Anders Carlsson.
2552 * wtf/threads/BinarySemaphore.h:
2555 2013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu>
2557 [Qt] Unreviewed buildfix after r149416.
2561 2013-04-30 Anders Carlsson <andersca@apple.com>
2563 Remove the WebKit2 BinarySemaphore class
2564 https://bugs.webkit.org/show_bug.cgi?id=115458
2566 Reviewed by Benjamin Poulain.
2569 Add BinarySemaphore forward declaration.
2571 * wtf/threads/BinarySemaphore.h:
2572 Add WTF_EXPORT_PRIVATE to declarations.
2574 2013-04-30 Commit Queue <rniwa@webkit.org>
2576 Unreviewed, rolling out r149408.
2577 http://trac.webkit.org/changeset/149408
2578 https://bugs.webkit.org/show_bug.cgi?id=115453
2580 Broke Windows Build (Requested by bfulgham on #webkit).
2584 2013-04-30 Brent Fulgham <bfulgham@webkit.org>
2586 [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html
2587 https://bugs.webkit.org/show_bug.cgi?id=115130
2589 Reviewed by Tim Horton.
2591 Windows is suffering from mismatched allocation/deallocation
2592 between the system allocator and fastMalloc/fastFree. By turning
2593 off the global switch to fastMalloc, only classes specified to
2594 honor fastMalloc/fastFree are affected, and other memory allocation
2595 and freeing is done with consistent library calls.
2597 * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for
2600 2013-04-30 Commit Queue <rniwa@webkit.org>
2602 Unreviewed, rolling out r149349 and r149354.
2603 http://trac.webkit.org/changeset/149349
2604 http://trac.webkit.org/changeset/149354
2605 https://bugs.webkit.org/show_bug.cgi?id=115444
2607 The Thumb version of compileSoftModulo make invalid use of
2608 registers (Requested by benjaminp on #webkit).
2612 2013-04-30 Darin Adler <darin@apple.com>
2614 [Mac] Make adoptNS faster on platforms without garbage collection by skipping a CFRetain/NSRelease pair
2615 https://bugs.webkit.org/show_bug.cgi?id=115424
2617 Reviewed by Eric Carlson.
2620 (WTF::adoptNSReference): When OBJC_NO_GC is set, make this an empty function, because in that case
2621 CFRetain and -[NSObject retain] are the same thing and there is no need to call CFRetain and
2622 -[NSObject release] to adopt an Objective-C object.
2624 2013-04-30 Anders Carlsson <andersca@apple.com>
2626 String::isolatedCopy() can avoid a copy if the original is a temporary
2627 https://bugs.webkit.org/show_bug.cgi?id=115425
2629 Reviewed by Darin Adler.
2632 Add WTF_COMPILER_SUPPORTS_CXX_REFERENCE_QUALIFIED_FUNCTIONS define.
2634 * wtf/text/WTFString.cpp:
2635 (WTF::String::isolatedCopy):
2636 * wtf/text/WTFString.h:
2637 If COMPILER_SUPPORTS(CXX_REFERENCE_QUALIFIED_FUNCTIONS) is true, add two overloads of String::isolatedCopy().
2638 One is used if *this is an lvalue, and one is used if *this is an rvalue. In the latter case, we know that the original
2639 String object is a temporary and will be going away, so if it's safe to send it to another thread (if it's not an AtomicString,
2640 and if it's refcount is 1), then we can just steal the StringImpl from the original and avoid a copy altogether.
2642 2013-04-30 Zalan Bujtas <zalan@apple.com>
2644 Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/
2645 https://bugs.webkit.org/show_bug.cgi?id=111244
2647 Reviewed by David Kilzer.
2649 Enable performance.now() as a minimal subset of Web Timing API.
2650 It returns DOMHighResTimeStamp, a monotonically increasing value representing the
2651 number of milliseconds from the start of the navigation of the current document.
2652 JS libraries use this API to check against the requestAnimationFrame() timestamp.
2654 * wtf/FeatureDefines.h:
2656 2013-04-29 Cosmin Truta <ctruta@blackberry.com>
2658 [ARM] Expand the use of integer division
2659 https://bugs.webkit.org/show_bug.cgi?id=115138
2661 Reviewed by Benjamin Poulain.
2663 * wtf/Platform.h: Added ENABLE_ARM_INTEGER_DIV.
2665 2013-04-29 Anders Carlsson <andersca@apple.com>
2667 It should be an error to use adoptPtr with RefCounted subclasses
2668 https://bugs.webkit.org/show_bug.cgi?id=115389
2670 Reviewed by Benjamin Poulain.
2674 Add COMPILE_ASSERTs.
2676 2013-04-29 Patrick Gansterer <paroga@webkit.org>
2678 [WIN] Add workaround for UNUSED_PARAM()
2679 https://bugs.webkit.org/show_bug.cgi?id=115350
2681 Reviewed by Andreas Kling.
2683 r147882 added an workaround for the MSVC compiler on Windows CE.
2684 Extend this workaround to whole MSVC compiler, since the same
2685 problem occurs with the Visual Studio 10 compiler too.
2687 * wtf/UnusedParam.h:
2689 2013-04-29 Patrick Gansterer <paroga@webkit.org>
2691 [WIN] Add WTF_USE_IMLANG_FONT_LINK2
2692 https://bugs.webkit.org/show_bug.cgi?id=115198
2694 Reviewed by Andreas Kling.
2698 2013-04-29 Patrick Gansterer <paroga@webkit.org>
2700 Define USE(ICU_UNICODE) if USE(WCHAR_UNICODE) is false
2701 https://bugs.webkit.org/show_bug.cgi?id=115349
2703 Reviewed by Andreas Kling.
2705 Since we support only ICU and WCHAR as Unicode backend (ICU is the default)
2706 automatically use ICU if WCHAR was not selected via compiler defines.
2710 2013-04-29 Patrick Gansterer <paroga@webkit.org>
2712 Build fix for WinCE after r148888 and r149097
2713 https://bugs.webkit.org/show_bug.cgi?id=115168
2715 Reviewed by Anders Carlsson.
2717 When using compiler intrinsics on Windows CE the compiler complains
2718 about wrong linkage specification of replaced CRT functions defined
2719 in math.h. This is because the compiler has intrinsics for this
2720 functions defined, and requires them to have extern "C" linkage.
2723 (wtf_atan2): Added extern "C" to function signature.
2727 2013-04-29 Carlos Garcia Campos <cgarcia@igalia.com>
2729 Unreviewed. Fix make distcheck.
2731 * GNUmakefile.list.am: Add missing header file to compilation.
2733 2013-04-27 Darin Adler <darin@apple.com>
2735 Move from constructor and member function adoptCF/NS to free function adoptCF/NS.
2736 https://bugs.webkit.org/show_bug.cgi?id=115307
2738 Reviewed by Geoffrey Garen.
2740 * wtf/RunLoopTimerCF.cpp:
2741 (WTF::RunLoopTimerBase::start):
2742 * wtf/SchedulePair.h:
2743 (WTF::SchedulePair::SchedulePair):
2744 * wtf/SchedulePairMac.mm:
2745 (WTF::SchedulePair::SchedulePair):
2746 * wtf/unicode/icu/CollatorICU.cpp:
2747 (WTF::Collator::userDefault):
2748 Use adoptCF free function.
2750 2013-04-26 Geoffrey Garen <ggaren@apple.com>
2752 Filled out more cases of branch folding in bytecode when emitting expressions into a branching context
2753 https://bugs.webkit.org/show_bug.cgi?id=115057
2755 Reviewed by Filip Pizlo.
2757 Added a helper constructor for TriState so clients can make one without
2758 branching or making assumptions about the integer values of TriStates.
2764 2013-04-26 Roger Fong <roger_fong@apple.com>
2766 Make Apple Windows VS2010 build results into and get dependencies from __32 suffixed folders.
2767 Make the DebugSuffix configuration use _debug dependencies.
2769 * WTF.vcxproj/WTF.make:
2770 * WTF.vcxproj/WTF.vcxproj:
2771 * WTF.vcxproj/WTFCommon.props:
2772 * WTF.vcxproj/WTFDebug.props:
2773 * WTF.vcxproj/WTFGenerated.make:
2774 * WTF.vcxproj/WTFGenerated.vcxproj:
2775 * WTF.vcxproj/WTFGeneratedCommon.props:
2776 * WTF.vcxproj/WTFGeneratedDebug.props:
2777 * WTF.vcxproj/WTFGeneratedProduction.props:
2778 * WTF.vcxproj/WTFGeneratedRelease.props:
2779 * WTF.vcxproj/WTFProduction.props:
2780 * WTF.vcxproj/WTFRelease.props:
2781 * WTF.vcxproj/build-generated-files.sh:
2782 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
2783 (react_to_vsprops_changes):
2785 2013-04-26 Martin Robinson <mrobinson@igalia.com>
2787 Remove the remaining Skia #ifdefs
2788 https://bugs.webkit.org/show_bug.cgi?id=114886
2790 Reviewed by Benjamin Poulain.
2794 2013-04-26 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2796 Add move semantics to RefPtr
2797 https://bugs.webkit.org/show_bug.cgi?id=115033
2799 Reviewed by Anders Carlsson.
2801 Add move constructors and move assignment operators to RefPtr when
2802 COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES).
2803 This obviates unnecessary reffing/ureffing when RefPtr is created
2804 or assigned from rvalue references.
2808 (WTF::RefPtr::RefPtr):
2809 (WTF::RefPtr::operator=):
2811 2013-04-26 Andreas Kling <akling@apple.com>
2813 Remove wxWebKit from WTF.
2814 <http://webkit.org/b/115249>
2816 Reviewed by Antti Koivisto.
2819 * wtf/ArrayBufferView.h:
2821 * wtf/CurrentTime.cpp:
2822 * wtf/DisallowCType.h:
2823 * wtf/ExportMacros.h:
2824 * wtf/FeatureDefines.h:
2826 * wtf/text/WTFString.h:
2828 * wtf/wx/MainThreadWx.cpp: Removed.
2829 * wtf/wx/StringWx.cpp: Removed.
2831 2013-04-25 Filip Pizlo <fpizlo@apple.com>
2833 Unreviewed, roll out http://trac.webkit.org/changeset/148999
2834 It broke http://kripken.github.io/ammo.js/examples/new/ammo.html
2838 2013-04-25 Oliver Hunt <oliver@apple.com>
2842 * wtf/StackBounds.cpp:
2843 (WTF::StackBounds::initialize):
2845 2013-04-25 Oliver Hunt <oliver@apple.com>
2847 Stack guards are too conservative
2848 https://bugs.webkit.org/show_bug.cgi?id=115147
2850 Reviewed by Mark Hahnenberg.
2852 Use getrlimit on darwin to get the stack size for the main thread.
2854 * wtf/StackBounds.cpp:
2855 (WTF::StackBounds::initialize):
2857 2013-04-25 Andreas Kling <akling@apple.com>
2859 Remove ENABLE(PARSED_STYLE_SHEET_CACHING) and make it always-on.
2861 Rubber-stamped by Anders Koivisto.
2863 * wtf/FeatureDefines.h:
2865 2013-04-25 peavo@outlook.com <peavo@outlook.com>
2867 [Windows] Compile fix.
2868 https://bugs.webkit.org/show_bug.cgi?id=115170
2870 Reviewed by Filip Pizlo.
2872 Forward declare function, instead of including intrin.h.
2876 2013-04-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2878 Use std::move in AtomicString
2879 https://bugs.webkit.org/show_bug.cgi?id=115102
2881 Reviewed by Anders Carlsson.
2883 Use std::move in AtomicString instead of direct casting to rvalue references.
2885 * wtf/text/AtomicString.h:
2887 (WTF::AtomicString::AtomicString):
2888 (WTF::AtomicString::operator=):
2890 2013-04-25 Patrick Gansterer <paroga@webkit.org>
2892 Unreviewed WinCE build fix after r148888.
2894 * wtf/Atomics.h: WinCE version of intrin.h is called cmnintrin.h.
2896 2013-04-24 Roger Fong <roger_fong@apple.com>
2898 Have VS2010 WebKit solution look in WebKit_Libraries/lib32 for dependencies.
2900 * WTF.vcxproj/build-generated-files.sh:
2902 2013-04-24 Benjamin Poulain <benjamin@webkit.org>
2904 Use post-branch store for RefCountedBase::derefBase
2905 https://bugs.webkit.org/show_bug.cgi?id=115078
2907 Reviewed by Andreas Kling.
2910 (WTF::RefCountedBase::derefBase): This makes the assembly easier to follow.
2912 2013-04-23 Geoffrey Garen <ggaren@apple.com>
2914 Filled out more cases of branch folding in bytecode when emitting expressions into a branching context
2915 https://bugs.webkit.org/show_bug.cgi?id=115057
2917 Reviewed by Filip Pizlo.
2919 Added a helper constructor for TriState so clients can make one without
2920 branching or making assumptions about the integer values of TriStates.
2926 2013-04-23 Roger Fong <roger_fong@apple.com>
2930 * WTF.vcproj/WTF.vcproj:
2932 2013-04-23 Benjamin Poulain <bpoulain@apple.com>
2934 Remove unused code of RefCounted after chromium removal
2935 https://bugs.webkit.org/show_bug.cgi?id=115009
2937 Reviewed by Ryosuke Niwa.
2940 (WTF::RefCountedBase::refCount):
2942 It looks like addressOfCount() is no longer needed.
2943 Also change the type back to unsigned as it make more sense.
2945 2013-04-23 David Kilzer <ddkilzer@apple.com>
2947 RetainPtr.h should compile with -Wshorten-64-to-32
2948 <http://webkit.org/b/115047>
2950 Reviewed by Anders Carlsson.
2952 Fixes the following warning:
2954 RetainPtr.h:318:20: error: implicit conversion loses integer precision: 'CFHashCode' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
2955 return CFHash(o.get());
2956 ~~~~~~ ^~~~~~~~~~~~~~~
2959 (WTF::RetainPtrObjectHash::hash): Cast return value of CFHash()
2960 to unsigned. This has no effect on 32-bit architectures, but
2961 takes the lower 32-bits of the CFHashCode (unsigned long) on
2962 64-bit architectures, which is what happens implicitly now.
2964 2013-04-22 Patrick Gansterer <paroga@webkit.org>
2966 [CMake] Move NullPtr.cpp from PlatformWinCE.cmake to CMakeLists.txt
2967 https://bugs.webkit.org/show_bug.cgi?id=114557
2969 Reviewed by Laszlo Gombos.
2971 This file is not specific to Windwos CE. Move it the the general
2972 CMakeLists.txt so other ports can use it to. It does not affect
2973 ports which do not need it, since it contains a preprocessor guard.
2975 * wtf/CMakeLists.txt:
2976 * wtf/PlatformWinCE.cmake:
2978 2013-04-22 Benjamin Poulain <benjamin@webkit.org>
2980 Remove the memory instrumentation code
2981 https://bugs.webkit.org/show_bug.cgi?id=114931
2983 Reviewed by Andreas Kling.
2985 On Mac x86_64, the code removal cause the binary to be
2988 * GNUmakefile.list.am:
2990 * WTF.vcproj/WTF.vcproj:
2991 * WTF.vcxproj/WTF.vcxproj:
2992 * WTF.vcxproj/WTF.vcxproj.filters:
2993 * WTF.xcodeproj/project.pbxproj:
2994 * wtf/CMakeLists.txt:
2996 * wtf/ListHashSet.h:
2998 (ListHashSetNodeAllocator):
2999 (WTF::ListHashSetNodeAllocator::pool):
3000 (WTF::ListHashSetNodeAllocator::pastPool):
3001 * wtf/MemoryInstrumentation.cpp: Removed.
3002 * wtf/MemoryInstrumentation.h: Removed.
3003 * wtf/MemoryInstrumentationArrayBufferView.h: Removed.
3004 * wtf/MemoryInstrumentationHashCountedSet.h: Removed.
3005 * wtf/MemoryInstrumentationHashMap.h: Removed.
3006 * wtf/MemoryInstrumentationHashSet.h: Removed.
3007 * wtf/MemoryInstrumentationListHashSet.h: Removed.
3008 * wtf/MemoryInstrumentationSequence.h: Removed.
3009 * wtf/MemoryInstrumentationString.h: Removed.
3010 * wtf/MemoryInstrumentationVector.h: Removed.
3011 * wtf/MemoryObjectInfo.h: Removed.
3012 * wtf/text/AtomicString.h:
3013 * wtf/text/StringImpl.h:
3014 (WTF::StringImpl::isASCIILiteral):
3015 * wtf/text/WTFString.h:
3017 2013-04-22 David Kilzer <ddkilzer@apple.com>
3019 StringImpl.h should compile with -Wshorten-64-to-32
3020 <http://webkit.org/b/114970>
3022 Reviewed by Darin Adler.
3024 Fixes the following warnings with -Wshorten-64-to-32:
3026 StringImpl.h:317:25: error: implicit conversion loses integer precision: 'uintptr_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
3027 unsigned hash = reinterpret_cast<uintptr_t>(this);
3028 ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3030 * wtf/text/StringImpl.h:
3031 (WTF::StringImpl::StringImpl): Add static_cast<uint32_t>() to
3032 formalize taking the lower 32-bits of the pointer value on
3033 64-bit architectures.
3035 2013-04-22 Andreas Kling <akling@apple.com>
3037 Shrink baseline size of WTF::Vector on 64-bit by switching to unsigned capacity and size.
3038 <http://webkit.org/b/97268>
3039 <rdar://problem/12376519>
3041 Reviewed by Sam Weinig.
3043 Shrink Vector by 8 bytes on 64-bit by using 32-bit capacity and size.
3044 Vector now inherits from VectorBuffer instead of having a VectorBuffer member;
3045 this is necessary for m_size to fall into the padding after the base class members.
3047 The WTF::Vector API still uses size_t.
3049 Based on Blink r148313 by <cevans@chromium.org>.
3051 * wtf/SizeLimits.cpp:
3053 (WTF::VectorBufferBase::allocateBuffer):
3054 (WTF::VectorBufferBase::tryAllocateBuffer):
3056 (WTF::VectorBuffer::shouldReallocateBuffer):
3058 (WTF::Vector::Vector):
3059 (WTF::Vector::capacity):
3061 (WTF::Vector::data):
3062 (WTF::Vector::swap):
3064 (WTF::::reserveCapacity):
3065 (WTF::::tryReserveCapacity):
3066 (WTF::::reserveInitialCapacity):
3067 (WTF::::shrinkCapacity):
3068 (WTF::::releaseBuffer):
3070 2013-04-21 Filip Pizlo <fpizlo@apple.com>
3072 Memory barrier support should also ensure that we always do a compiler fence
3073 https://bugs.webkit.org/show_bug.cgi?id=114934
3075 Reviewed by Michael Saboff.
3077 This is a cherry-pick merge of the WTF part of r148836 from the dfgFourthTier
3078 branch. It fixes a memory ordering bug that is likely asymptomatic, but
3079 nonetheless real: TCSpinLock expects that using a memoryBarrierBeforeUnlock()
3080 prior to setting lockword_ to 0 will ensure that the assignment to lockword_
3081 won't get floated above any of the stores in the critical section. While that
3082 memory barrier does indeed do the right thing on ARM, it doesn't do the right
3083 thing on other architectures: it turns into empty code that the compiler blows
3084 away, which is fine for the hardware since X86 won't reorder that store - but
3085 it's not fine for the compiler, which may still do its own reorderings.
3087 The WTF part of r148836 fixes this by using a compiler fence: an empty asm
3088 volatile block that is marked as clobbering memory.
3090 Instead of doing a separate surgical fix in trunk, I decided to merge the
3091 whole WTF change over, to make merging easier in the future.
3093 Performance testing of this change in dfgFourthTier showed no regression.
3096 (WTF::compilerFence):
3098 (WTF::armV7_dmb_st):
3099 (WTF::loadLoadFence):
3100 (WTF::loadStoreFence):
3101 (WTF::storeLoadFence):
3102 (WTF::storeStoreFence):
3103 (WTF::memoryBarrierAfterLock):
3104 (WTF::memoryBarrierBeforeUnlock):
3107 2013-04-22 David Kilzer <ddkilzer@apple.com>
3109 WTF::AtomicString::find() should take unsigned 'start' argument
3110 <http://webkit.org/b/114958>
3112 Reviewed by Darin Adler.
3114 Fixes the following warnings with -Wshorten-64-to-32:
3116 AtomicString.h:113:76: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
3117 size_t find(UChar c, size_t start = 0) const { return m_string.find(c, start); }
3119 AtomicString.h:115:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
3120 { return m_string.find(s, start, caseSentitive); }
3122 AtomicString.h:117:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
3123 { return m_string.find(s, start, caseSentitive); }
3126 * wtf/text/AtomicString.h:
3127 (WTF::AtomicString::find): Change type of 'start' argument from
3130 2013-04-21 Benjamin Poulain <benjamin@webkit.org>
3132 Improve StringImpl code density for older ARM hardware
3133 https://bugs.webkit.org/show_bug.cgi?id=114898
3135 Reviewed by Geoffrey Garen.
3137 Reduce the number of instructions needed for StringImpl::deref
3138 on older ARM hardware.
3140 The extra indirection should have a negligible impact on x86_64.
3142 * wtf/text/StringImpl.cpp:
3143 (WTF::StringImpl::destroy):
3144 * wtf/text/StringImpl.h:
3146 (WTF::StringImpl::deref):
3148 2013-04-20 Allan Sandfeld Jensen <allan.jensen@digia.com>
3150 LLint should be able to use x87 instead of SSE for floating pointer
3151 https://bugs.webkit.org/show_bug.cgi?id=112239
3153 Reviewed by Filip Pizlo.
3155 Disable GTK workaround now that LLInt does not require SSE2.
3159 2013-04-19 Roger Fong <roger_fong@apple.com>
3161 Remove uses of WebKit_Source from AppleWin build in WTF.
3163 * WTF.vcxproj/WTF.make:
3164 * WTF.vcxproj/copy-files.cmd:
3165 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
3166 (react_to_vsprops_changes):
3167 (react_to_webkit1_interface_changes):
3169 2013-04-19 Benjamin Poulain <benjamin@webkit.org>
3171 Remove the declaration of MemoryObjectInfo from StringImpl
3172 https://bugs.webkit.org/show_bug.cgi?id=114788
3174 Reviewed by Andreas Kling.
3176 * wtf/text/StringImpl.h: The declaration is an other left over from chromium.
3178 2013-04-19 Benjamin Poulain <benjamin@webkit.org>
3180 Make StringImpl::cost const
3181 https://bugs.webkit.org/show_bug.cgi?id=114790
3183 Reviewed by Andreas Kling.
3185 * wtf/text/StringImpl.h:
3186 (WTF::StringImpl::cost):
3188 2013-04-19 Roger Fong <roger_fong@apple.com>
3190 Unreviewed. WebKit_Source is incorrectly set.
3192 * WTF.vcxproj/WTF.make:
3194 2013-04-19 Alberto Garcia <agarcia@igalia.com>
3196 OSAllocatorPosix: fix build warnings about unused parameters in QNX
3197 https://bugs.webkit.org/show_bug.cgi?id=114859
3199 Reviewed by Carlos Garcia Campos.
3201 * wtf/OSAllocatorPosix.cpp:
3202 (WTF::OSAllocator::reserveUncommitted):
3204 2013-04-19 Dan Beam <dbeam@chromium.org>
3206 Remove unmaintained feature REQUEST_AUTOCOMPLETE
3207 https://bugs.webkit.org/show_bug.cgi?id=114846
3209 Reviewed by Kent Tamura.
3211 * wtf/FeatureDefines.h: Remove REQUEST_AUTOCOMPLETE as a feature definition.
3213 2013-04-18 Zoltan Arvai <zarvai@inf.u-szeged.hu>
3215 Speculative build fix for Qt Mountain Lion Release after r148639.
3216 https://bugs.webkit.org/show_bug.cgi?id=114793
3218 Reviewed by Michael Saboff.
3220 * wtf/CurrentTime.cpp:
3222 2013-04-17 Mark Lam <mark.lam@apple.com>
3224 Added currentCPUTime() and currentCPUTimeMS().
3225 https://bugs.webkit.org/show_bug.cgi?id=114577.
3227 Reviewed by Geoffrey Garen.
3229 The currentCPUTime() implementation came from the old TimeoutChecker.cpp.
3231 * wtf/CurrentTime.cpp:
3232 (WTF::currentCPUTime):
3233 (WTF::currentCPUTimeMS):
3234 * wtf/CurrentTime.h:
3236 2013-04-17 Ryosuke Niwa <rniwa@webkit.org>
3238 REGRESSION(r148584): WebKit nightly builds don't load any page
3239 https://bugs.webkit.org/show_bug.cgi?id=114752
3241 Reviewed by Anders Carlsson.
3243 We can't use C++ style (//) comments in Platform.h because WebKit2/DerivedSource.make doesn't know
3244 how to strip it to be merged with *.sb.in to generate *.sb files. Specifically, we have:
3246 # Some versions of clang incorrectly strip out // comments in c89 code.
3247 # Use -traditional as a workaround, but only when needed since that causes
3248 # other problems with later versions of clang.
3249 ifeq ($(shell echo '//x' | $(CC) -E -P -x c -std=c89 - | grep x),)
3250 TEXT_PREPROCESSOR_FLAGS=-E -P -x c -traditional -w
3252 TEXT_PREPROCESSOR_FLAGS=-E -P -x c -std=c89 -w
3257 2013-04-17 Brent Fulgham <bfulgham@webkit.org>
3259 [Windows, WinCairo] Remove Include Settings for Pthreads from WTF
3260 https://bugs.webkit.org/show_bug.cgi?id=114694
3262 Reviewed by Ryosuke Niwa.
3264 * WTF.vcproj/WTFCommon.vsprops: Remove pthread search path.
3265 * WTF.vcxproj/WTFCommon.props: Remove pthread search path.
3266 * wtf/FastMalloc.cpp: Guard pthread.h include for non-pthread
3269 2013-04-16 Oliver Hunt <oliver@apple.com>
3271 Harden FastMalloc against partial pointer overflows
3272 https://bugs.webkit.org/show_bug.cgi?id=114716
3274 Reviewed by Gavin Barraclough.
3276 Bite the bullet and perform object alignment checks on free.
3277 malloc/free micro benchmark shows a regression, but real
3278 benchmarks don't. There's a little code motion in this avoid
3279 taking too much of a performance hit. In addition to the
3280 alignment check we also validate the containing span as
3281 we've already taken the hit of finding it.
3283 * wtf/FastMalloc.cpp:
3284 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3286 2013-04-16 Sam Weinig <sam@webkit.org>
3288 Fix fallout after r148545.
3291 Move Platform defines that were incorrectly in WebCore, into Platform.h
3293 2013-04-15 Commit Queue <rniwa@webkit.org>
3295 Unreviewed, rolling out r148488.
3296 http://trac.webkit.org/changeset/148488
3297 https://bugs.webkit.org/show_bug.cgi?id=114660
3299 Roll back in r148462 since it was a false positive. (Requested
3300 by rniwa on #webkit).
3302 * wtf/FastMalloc.cpp:
3304 (WTF::setThreadHeap):
3305 (WTF::TCMalloc_ThreadCache::GetThreadHeap):
3306 (WTF::TCMalloc_ThreadCache::InitTSD):
3307 * wtf/ThreadSpecificWin.cpp:
3308 (WTF::destructorsList):
3309 (WTF::destructorsMutex):
3310 (WTF::threadSpecificKeyCreate):
3311 (WTF::threadSpecificKeyDelete):
3313 2013-04-15 Commit Queue <rniwa@webkit.org>
3315 Unreviewed, rolling out r148462.
3316 http://trac.webkit.org/changeset/148462
3317 https://bugs.webkit.org/show_bug.cgi?id=114658
3319 Broke Windows builds (Requested by rniwa on #webkit).
3321 * wtf/FastMalloc.cpp:
3323 (WTF::setThreadHeap):
3324 (WTF::TCMalloc_ThreadCache::GetThreadHeap):
3325 (WTF::TCMalloc_ThreadCache::InitTSD):
3326 * wtf/ThreadSpecificWin.cpp:
3327 (WTF::destructorsList):
3328 (WTF::destructorsMutex):
3329 (WTF::threadSpecificKeyCreate):
3330 (WTF::threadSpecificKeyDelete):
3332 2013-04-15 Julien Brianceau <jbrianceau@nds.com>
3334 LLInt SH4 backend implementation
3335 https://bugs.webkit.org/show_bug.cgi?id=112886
3337 Reviewed by Oliver Hunt.
3341 2013-04-15 Patrick Gansterer <paroga@webkit.org>
3343 [CMake] Add WTF_USE_*_UNICODE variables
3344 https://bugs.webkit.org/show_bug.cgi?id=114556
3346 Reviewed by Brent Fulgham.
3348 WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to
3349 reduce duplication in the platform specific CMake files.
3351 * wtf/CMakeLists.txt:
3352 * wtf/PlatformBlackBerry.cmake:
3353 * wtf/PlatformEfl.cmake:
3354 * wtf/PlatformWinCE.cmake:
3356 2013-04-15 Patrick Gansterer <paroga@webkit.org>
3358 [WIN] Remove remaining calls to pthread from WTF
3359 https://bugs.webkit.org/show_bug.cgi?id=114563
3361 Reviewed by Brent Fulgham.
3363 Replace pthread_key_create with threadSpecificKeyCreate and
3364 pthread_setspecific with threadSpecificSet from ThreadSpecific.h.
3365 These functions provide a windows-specific implementation for the pthread functions,
3366 but require that the thread has been created with WTF::createThread(),
3367 which is the case for all threads created within WebKit.
3368 To call this function from fastMalloc we must not call fastMalloc in them.
3369 To fulfill this constraint ThreadSpecificWin will allocated its memory through the
3370 original malloc implementation and use the stack for local and static variables.
3371 Keep the Darwin implementation as it is, since it contains some performance tweaks.
3373 * wtf/FastMalloc.cpp:
3374 * wtf/ThreadSpecificWin.cpp:
3375 (WTF::destructorsList):
3376 (WTF::destructorsMutex):
3377 (WTF::threadSpecificKeyCreate):
3378 (WTF::threadSpecificKeyDelete):
3380 2013-04-14 Oliver Hunt <oliver@apple.com>
3382 Try to fix non-apple windows builds
3386 2013-04-14 David Kilzer <ddkilzer@apple.com>
3388 Add EnumClass.h to project files
3389 <http://webkit.org/b/114582>
3391 Rubber-stamped by Dan Bernstein.
3393 * WTF.pro: Add EnumClass.h to project.
3394 * WTF.vcproj/WTF.vcproj: Ditto.
3395 * WTF.vcxproj/WTF.vcxproj: Ditto.
3396 * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
3397 * WTF.xcodeproj/project.pbxproj: Ditto.
3399 2013-04-12 Oliver Hunt <oliver@apple.com>
3401 Apologies to all, I have no idea what happened to cause this change.
3405 2013-04-12 Oliver Hunt <oliver@apple.com>
3407 [Qt][Win] r148257 broke the build
3408 https://bugs.webkit.org/show_bug.cgi?id=114512
3414 2013-04-11 Oliver Hunt <oliver@apple.com>
3416 Add more type validation to debug builds
3417 https://bugs.webkit.org/show_bug.cgi?id=114478
3419 Reviewed by Mark Hahnenberg.
3421 Add BINDING_VALIDATION flag and make RELEASE_ASSERT use UNLIKELY.
3426 2013-04-10 Thiago Marcos P. Santos <thiago.santos@intel.com>
3428 [WTF] Get rid of truncated thread name warnings for non-Windows platforms
3429 https://bugs.webkit.org/show_bug.cgi?id=114266
3431 Reviewed by Ryosuke Niwa.
3433 Hide the annoying message from ports that are not really interested
3436 * wtf/Threading.cpp:
3437 (WTF::createThread):
3439 2013-04-10 Benjamin Poulain <bpoulain@apple.com>
3441 Mass remove all the empty directories
3443 Rubberstamped by Ryosuke Niwa.
3445 * wtf/qt/compat: Removed.
3446 * wtf/unicode/glib: Removed.
3447 * wtf/unicode/qt4: Removed.
3448 * wtf/unicode/wince: Removed.
3450 2013-04-08 Anders Carlsson <andersca@apple.com>
3452 Remove unneeded headers from FrameLoader.h
3453 https://bugs.webkit.org/show_bug.cgi?id=114223
3455 Reviewed by Geoffrey Garen.
3461 Don't include DataLog.h unless DUMP_HASHTABLE_STATS_PER_TABLE is 1.
3463 2013-04-10 Laszlo Gombos <l.gombos@samsung.com>
3465 Remove ENABLE_3D_PLUGIN
3466 https://bugs.webkit.org/show_bug.cgi?id=108002
3468 Reviewed by Antti Koivisto.
3470 Remove ENABLE_3D_PLUGIN, it was only used by Chromium.
3472 * wtf/FeatureDefines.h:
3474 2013-04-09 Patrick Gansterer <paroga@webkit.org>
3476 [CMake] Remove conditional source file lists in WTF
3477 https://bugs.webkit.org/show_bug.cgi?id=114250
3479 Reviewed by Laszlo Gombos.
3481 Use the #ifdef in the source file instead of conditional adding
3482 files to the list of source files. This allows us to remove the
3483 information of enabled features from CMake in next step.
3485 * wtf/CMakeLists.txt:
3487 2013-04-08 Ryosuke Niwa <rniwa@webkit.org>
3489 Remove WTF.gyp/WTF.gypi
3490 https://bugs.webkit.org/show_bug.cgi?id=114237
3492 Reviewed by Maciej Stachowiak.
3495 * WTF.gyp/.gitignore: Removed.
3496 * WTF.gyp/WTF.gyp: Removed.
3497 * WTF.gypi: Removed.
3499 2013-04-08 Benjamin Poulain <benjamin@webkit.org>
3501 Remove HTML Notification
3502 https://bugs.webkit.org/show_bug.cgi?id=114231
3504 Reviewed by Ryosuke Niwa.
3506 * wtf/FeatureDefines.h:
3508 2013-04-08 Benjamin Poulain <benjamin@webkit.org>
3510 wtf/dtoa/* uses a confusing name to reference its buffers
3511 https://bugs.webkit.org/show_bug.cgi?id=109709
3513 Reviewed by Darin Adler.
3515 The data structure Vector in wtf/dtoa has nothing to do with a traditional
3516 vector, is it just a pointer and the length of the pointed buffer.
3518 Rename it to BufferReference to avoid mistakes.
3520 * wtf/dtoa/bignum-dtoa.cc:
3521 * wtf/dtoa/bignum-dtoa.h:
3522 * wtf/dtoa/bignum.cc:
3523 * wtf/dtoa/bignum.h:
3525 * wtf/dtoa/double-conversion.cc:
3526 * wtf/dtoa/fast-dtoa.cc:
3527 * wtf/dtoa/fast-dtoa.h:
3528 * wtf/dtoa/fixed-dtoa.cc:
3529 * wtf/dtoa/fixed-dtoa.h:
3530 (double_conversion):
3531 * wtf/dtoa/strtod.cc:
3532 * wtf/dtoa/strtod.h:
3533 (double_conversion):
3535 (double_conversion):
3536 (WTF::double_conversion::BufferReference::BufferReference):
3537 (WTF::double_conversion::BufferReference::SubBufferReference):
3540 2013-04-08 Alberto Garcia <agarcia@igalia.com>
3542 [BlackBerry] MathExtras: macros defined in math.h conflict with the real functions
3543 https://bugs.webkit.org/show_bug.cgi?id=112683
3545 Reviewed by Darin Adler.
3547 After calls to signbit and friends were prefixed with std:: in
3548 r143232, the BlackBerry port no longer compiles.
3550 The solution is to get rid of the macros defined in math.h and use
3551 the real functions instead.
3555 2013-04-08 Max Vujovic <mvujovic@adobe.com>
3557 REGRESSION (r147502): Animations of CA filters broken
3558 https://bugs.webkit.org/show_bug.cgi?id=114067
3560 Reviewed by Dean Jackson.
3562 Revert r147502 [1] because it broke CA filter animations.
3564 [1]: http://trac.webkit.org/changeset/147502
3568 2013-04-08 Andreas Kling <akling@apple.com>
3570 REGRESSION(r147894): Broke WTFReportBacktrace() on Mac.
3571 <http://webkit.org/b/114174>
3573 Reviewed by Anders Carlsson.
3575 An #elif !OS(ANDROID) block was erroneously removed, turn it into an #else instead since
3576 that path will still be taken for OS(DARWIN).
3578 * wtf/Assertions.cpp:
3580 2013-04-08 Oliver Hunt <oliver@apple.com>
3584 Remove unnecessary include of <wtf/Forward.h> from Vector.h
3588 2013-04-08 Csaba Osztrogonác <ossy@webkit.org>
3590 Unreviewed trivial buildfix after r147799.
3592 Add an ifdef guard to ensure Qt uses its own monotonicallyIncreasingTime()
3593 implemenation instead of the GLIB based one.
3595 * wtf/CurrentTime.cpp:
3598 2013-04-07 Benjamin Poulain <benjamin@webkit.org>
3600 Remove the android code from WebKit Template Framework
3601 https://bugs.webkit.org/show_bug.cgi?id=114138
3603 Reviewed by Dirk Schulze.
3605 * wtf/Assertions.cpp:
3609 * wtf/ThreadIdentifierDataPthreads.cpp:
3611 2013-04-07 Oliver Hunt <oliver@apple.com>
3613 Add bounds checking for WTF::Vector::operator[]
3614 https://bugs.webkit.org/show_bug.cgi?id=89600
3616 Reviewed by Filip Pizlo.
3618 Add a template parameter to Vector<> that controls whether
3619 bounds checking is performed in release builds or not.
3620 Defaults to crashing on overflow.
3628 (WTF::Vector::removeLast):
3633 (WTF::::reverseFind):
3635 (WTF::::appendRange):
3636 (WTF::::expandCapacity):
3637 (WTF::::tryExpandCapacity):
3641 (WTF::::reserveCapacity):
3642 (WTF::::tryReserveCapacity):
3643 (WTF::::reserveInitialCapacity):
3644 (WTF::::shrinkCapacity):
3647 (WTF::::appendSlowCase):
3648 (WTF::::uncheckedAppend):
3649 (WTF::::appendVector):
3654 (WTF::::releaseBuffer):
3655 (WTF::::checkConsistency):
3656 (WTF::deleteAllValues):
3661 2013-04-07 Patrick Gansterer <paroga@webkit.org>
3663 [WIN] Fix problems with export macros of AutodrainedPool
3664 https://bugs.webkit.org/show_bug.cgi?id=114132
3666 Reviewed by Geoffrey Garen.
3668 Exporting an inline function results in an error with the MS compiler.
3670 * wtf/AutodrainedPool.h:
3672 (WTF::AutodrainedPool::AutodrainedPool):
3673 (WTF::AutodrainedPool::~AutodrainedPool):
3674 (WTF::AutodrainedPool::cycle):
3676 2013-04-07 Patrick Gansterer <paroga@webkit.org>
3678 [WinCE] Add workaround for UNUSED_PARAM()
3679 https://bugs.webkit.org/show_bug.cgi?id=113440
3681 Reviewed by Benjamin Poulain.
3683 The MSVC compiler for Windwos CE throws an error when
3684 an function parameter is passed to UNUSED_PARAM() and
3685 its type is only forward declared.
3687 * wtf/UnusedParam.h:
3689 2013-04-07 Patrick Gansterer <paroga@webkit.org>
3691 Do not check if WTF_ARM_ARCH_VERSION is defined in WTF_ARM_ARCH_AT_LEAST macro
3692 https://bugs.webkit.org/show_bug.cgi?id=114127
3694 Reviewed by Benjamin Poulain.
3696 Platform.h defines WTF_ARM_ARCH_VERSION for CPU(ARM) always and removing
3697 the check works around a bug in older Microsoft compiler versions.
3701 2013-04-07 David Kilzer <ddkilzer@apple.com>
3703 Remove the rest of SVG_DOM_OBJC_BINDINGS
3704 <http://webkit.org/b/114112>
3706 Reviewed by Geoffrey Garen.
3708 * wtf/FeatureDefines.h:
3709 - Remove ENABLE_SVG_DOM_OBJC_BINDINGS macro.
3711 2013-04-06 Geoffrey Garen <ggaren@apple.com>
3713 Removed v8 bindings hooks from IDL files
3714 https://bugs.webkit.org/show_bug.cgi?id=114091
3716 Reviewed by Anders Carlsson and Sam Weinig.
3718 * wtf/ArrayBuffer.h:
3720 (WTF::ArrayBufferContents::ArrayBufferContents):
3721 (WTF::ArrayBufferContents::transfer):
3722 (ArrayBufferContents):
3724 (WTF::ArrayBufferContents::~ArrayBufferContents):
3727 2013-04-05 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
3729 [GTK] Change from PLATFORM(GTK) to USE(GLIB) in WTF/CurrentTime.cpp
3730 https://bugs.webkit.org/show_bug.cgi?id=114061
3732 Reviewed by Gustavo Noronha Silva.
3734 Now other ports using GLib can use the correct implementation
3735 and not the fallback one without adding any other PLATFORM guards
3738 * wtf/CurrentTime.cpp:
3741 2013-04-05 Geoffrey Garen <ggaren@apple.com>
3743 Made USE(JSC) unconditional
3744 https://bugs.webkit.org/show_bug.cgi?id=114058
3746 Reviewed by Anders Carlsson.
3748 * wtf/ThreadRestrictionVerifier.h:
3750 * wtf/WTFThreadData.cpp:
3751 (WTF::WTFThreadData::WTFThreadData):
3752 (WTF::WTFThreadData::~WTFThreadData):
3753 * wtf/WTFThreadData.h:
3755 * wtf/text/StringImpl.cpp:
3756 (WTF::StringImpl::~StringImpl):
3758 2013-04-05 Roger Fong <roger_fong@apple.com>
3760 More VS2010 solution makefile fixes.
3761 <rdar://problem/13588964>
3763 * WTF.vcxproj/WTF.make:
3765 2013-04-05 Anders Carlsson <andersca@apple.com>
3767 Remove more dead Chromium code from WTF
3768 https://bugs.webkit.org/show_bug.cgi?id=114037
3770 Reviewed by Allan Sandfeld Jensen.
3772 * wtf/CurrentTime.cpp:
3774 * wtf/DisallowCType.h:
3775 * wtf/ExportMacros.h:
3776 * wtf/MainThread.cpp:
3779 2013-04-05 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
3781 [EFL] Disable GLOBAL_FAST_MALLOC_NEW by default.
3782 https://bugs.webkit.org/show_bug.cgi?id=114031
3784 Reviewed by Alexis Menard.
3786 Follow what some other ports already do and avoid globally overriding
3787 the `new' and `delete' operators with the ones in FastMalloc.
3789 In many cases, third-party or client code allocates memory with
3790 standard library calls but the memory gets deleted by FastMalloc,
3791 causing a crash. The reverse (ie. memory being allocated by FastMalloc
3792 and freed by the system libraries) is also possible.
3794 Commits 135666 and 121018 provide more information about this, as well
3795 as comment 6 in bug 89358.
3799 2013-04-05 Benjamin Poulain <bpoulain@apple.com>
3801 Remove WTFURL from WebKit
3802 https://bugs.webkit.org/show_bug.cgi?id=113994
3804 Reviewed by Ryosuke Niwa.
3806 Painful, but that is for the best now :(
3808 * GNUmakefile.list.am:
3809 * WTF.xcodeproj/project.pbxproj:
3810 * wtf/MemoryInstrumentationParsedURL.h: Removed.
3811 * wtf/url/api/ParsedURL.cpp: Removed.
3812 * wtf/url/api/ParsedURL.h: Removed.
3813 * wtf/url/api/URLBuffer.h: Removed.
3814 * wtf/url/api/URLQueryCharsetConverter.h: Removed.
3815 * wtf/url/api/URLString.cpp: Removed.
3816 * wtf/url/api/URLString.h: Removed.
3817 * wtf/url/src/RawURLBuffer.h: Removed.
3818 * wtf/url/src/URLCanon.h: Removed.
3819 * wtf/url/src/URLCanonEtc.cpp: Removed.
3820 * wtf/url/src/URLCanonFilesystemurl.cpp: Removed.
3821 * wtf/url/src/URLCanonFileurl.cpp: Removed.
3822 * wtf/url/src/URLCanonHost.cpp: Removed.
3823 * wtf/url/src/URLCanonICU.cpp: Removed.
3824 * wtf/url/src/URLCanonIP.cpp: Removed.
3825 * wtf/url/src/URLCanonInternal.cpp: Removed.
3826 * wtf/url/src/URLCanonInternal.h: Removed.
3827 * wtf/url/src/URLCanonMailto.cpp: Removed.
3828 * wtf/url/src/URLCanonPath.cpp: Removed.
3829 * wtf/url/src/URLCanonPathurl.cpp: Removed.
3830 * wtf/url/src/URLCanonQuery.cpp: Removed.
3831 * wtf/url/src/URLCanonRelative.cpp: Removed.
3832 * wtf/url/src/URLCanonStdURL.cpp: Removed.
3833 * wtf/url/src/URLCharacterTypes.cpp: Removed.
3834 * wtf/url/src/URLCharacterTypes.h: Removed.
3835 * wtf/url/src/URLComponent.h: Removed.
3836 * wtf/url/src/URLFile.h: Removed.
3837 * wtf/url/src/URLParse.cpp: Removed.
3838 * wtf/url/src/URLParse.h: Removed.
3839 * wtf/url/src/URLParseFile.cpp: Removed.
3840 * wtf/url/src/URLParseInternal.h: Removed.
3841 * wtf/url/src/URLSegments.cpp: Removed.
3842 * wtf/url/src/URLSegments.h: Removed.
3843 * wtf/url/src/URLUtil.cpp: Removed.
3844 * wtf/url/src/URLUtil.h: Removed.
3845 * wtf/url/src/URLUtilInternal.h: Removed.
3847 2013-04-04 Geoffrey Garen <ggaren@apple.com>
3849 Nixed the defunct chromium folder from WTF
3850 https://bugs.webkit.org/show_bug.cgi?id=113992
3852 Reviewed by Ryosuke Niwa.
3854 * wtf/chromium: Removed.
3855 * wtf/chromium/ChromiumThreading.h: Removed.
3856 * wtf/chromium/MainThreadChromium.cpp: Removed.
3858 2013-04-04 Martin Robinson <mrobinson@igalia.com>
3860 [GTK] Remove the gyp build
3861 https://bugs.webkit.org/show_bug.cgi?id=113942
3863 Reviewed by Gustavo Noronha Silva.
3865 * WTF.gyp/WTFGTK.gyp: Removed.
3867 2013-04-04 Anders Carlsson <andersca@apple.com>
3869 ObjcRuntimeExtras.h should use variadic templates
3870 https://bugs.webkit.org/show_bug.cgi?id=113941
3872 Reviewed by Andreas Kling.
3874 Reimplement wtfObjcMsgSend and wtfCallIMP as variadic function templates.
3876 * wtf/ObjcRuntimeExtras.h:
3880 2013-04-04 Andras Becsi <andras.becsi@digia.com>
3882 Fix the build with GCC 4.8
3883 https://bugs.webkit.org/show_bug.cgi?id=113147
3885 Reviewed by Allan Sandfeld Jensen.
3887 Disable diagnostic warning -Wunused-local-typedefs for GCC 4.8
3888 since dummy typedefs are commonly used in the codebase.
3892 2013-04-03 Pratik Solanki <psolanki@apple.com>
3894 Enable HAVE_MADV_FREE_REUSE on iOS
3895 https://bugs.webkit.org/show_bug.cgi?id=113892
3896 <rdar://problem/12787563>
3898 Reviewed by Mark Rowe.
3902 2013-04-02 Ryosuke Niwa <rniwa@webkit.org>
3904 Remove code for Mac 10.5 and earlier from WTF and WebKit2
3905 https://bugs.webkit.org/show_bug.cgi?id=113844
3907 Reviewed by Benjamin Poulain.
3909 Removed the code for 10.5 and removed if-def for 10.6.
3911 * wtf/FastMalloc.cpp:
3912 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3914 * wtf/ThreadingPthreads.cpp:
3915 (WTF::initializeCurrentThreadInternal):
3916 * wtf/unicode/icu/CollatorICU.cpp:
3917 (WTF::Collator::userDefault):
3919 2013-04-02 Max Vujovic <mvujovic@adobe.com>
3921 [CSS Filters] Filter outsets clipped on composited layers when filter is applied after first layout
3922 https://bugs.webkit.org/show_bug.cgi?id=109098
3924 Reviewed by Dean Jackson.
3927 Add flag for HAVE(COMPOSITOR_FILTER_OUTSETS) macro. This is used to check if a
3928 platform's compositor expands layers internally for filter outsets when it applies
3929 filters like drop-shadow and blur. Currently, only CoreAnimation does has this
3932 2013-04-02 Yury Semikhatsky <yurys@chromium.org>
3934 Web Inspector: memory instrumentation for external arrays is broken
3935 https://bugs.webkit.org/show_bug.cgi?id=113790
3937 Reviewed by Pavel Feldman.
3939 * wtf/MemoryInstrumentationArrayBufferView.h: report buffer pointer as retaining one as
3940 we know that the pointer is not broken.
3941 (WTF::reportMemoryUsage):
3943 2013-04-01 Han Shen <shenhan@google.com>
3945 Move definition of nested classes that inherit enclosing class outside class definition.
3946 https://bugs.webkit.org/show_bug.cgi?id=113454
3948 Reviewed by Benjamin Poulain.
3950 HashMap.h does not build on GCC 4.8. Inside this file,
3951 HashMapKeysProxy and HashMapValuesProxy are defined as nested
3952 class inside HashMap - which is legal - the illegal part is that
3953 these 2 classes inherit HashMap, that is the enclosing class, that
3954 causes "reference to in-complete definition" error.
3956 The fix is to move outside the definition of these 2 classes, and
3957 leave only declaration part inside HashMap as is illustrated below -
3959 template class <typename T>
3964 class HashMapKeysProxy;
3966 // ERROR - nested class inherits enclosing class.
3967 class HashMapKeysProxy : private HashMap {
3972 class HashMapKeysProxy : private HashMap {
3980 template class <typename T>
3985 class HashMapKeysProxy;
3986 class HashMapValuesProxy;
3992 template <typename T>
3993 class HashMap<T>::HashMapKeysProxy : private HashMap<T> {
3997 template <typename T>
3998 class HashMap<T>::HashMapValuesProxy : private HashMap<T> {
4004 (WTF): Factor out nested class definition from enclosing class.
4006 2013-03-31 Mark Hahnenberg <mhahnenberg@apple.com>
4008 Regions should be allocated from the same contiguous segment of virtual memory
4009 https://bugs.webkit.org/show_bug.cgi?id=113662
4011 Reviewed by Filip Pizlo.
4013 Instead of letting the OS spread our Regions all over the place, we should allocate them all within
4014 some range of each other. This change will open the door to some other optimizations, e.g. doing simple
4015 range checks for our write barriers and compressing JSCell pointers to 32-bits.
4017 * wtf/MetaAllocator.cpp: Changed the MetaAllocator to allow custom page sizes if the derived class wants to
4018 use something other than the system page size.
4019 (WTF::MetaAllocator::MetaAllocator):
4020 * wtf/MetaAllocator.h:
4023 2013-04-01 Yury Semikhatsky <yurys@chromium.org>
4025 Web Inspector: add memory instrumentation for StringBuffer
4026 https://bugs.webkit.org/show_bug.cgi?id=113507
4028 Reviewed by Pavel Feldman.
4030 Added memory instrumentation for StringBuffer.
4032 * wtf/MemoryInstrumentationString.h:
4034 (WTF::reportMemoryUsage):
4036 2013-03-30 Tom Sepez <tsepez@chromium.org>
4038 View-source iframes are dangerous (and not very useful).
4039 https://bugs.webkit.org/show_bug.cgi?id=113345
4041 Reviewed by Adam Barth.
4043 * wtf/FeatureDefines.h:
4044 Default definition of ENABLE_VIEWSOURCE_ATTRIBUTE is enabled.
4046 2013-03-27 Patrick Gansterer <paroga@webkit.org>
4048 Set WTF_ARM_ARCH_VERSION to correct value when used with MSVC
4049 https://bugs.webkit.org/show_bug.cgi?id=113436
4051 Reviewed by Benjamin Poulain.
4053 The Microsoft compiler defines _M_ARM with used ARM version.
4057 2013-03-27 Allan Sandfeld Jensen <allan.jensen@digia.com>
4059 Support C++11 static_assert
4060 https://bugs.webkit.org/show_bug.cgi?id=113308
4062 Reviewed by Alexey Proskuryakov.
4064 Use the C++11 static_assert for COMPILE_ASSERT when it is available. Note that
4065 even when compiling with C++11 support, static_assert will not always be available
4066 since Assertions.h may also be used outside of C++.
4068 C11 _Static_assert is enabled for GCC when it has C11 support (gcc>=4.7 -std=c11).
4073 2013-03-25 Oliver Hunt <oliver@apple.com>
4075 RefCountedArray needs a size based constructor
4076 https://bugs.webkit.org/show_bug.cgi?id=113277
4078 Reviewed by Benjamin Poulain.
4080 Simple patch to add a size based constructor for RefCountedArray
4081 so that we can create an sharable array without a copy.
4083 * wtf/RefCountedArray.h:
4085 (WTF::RefCountedArray::RefCountedArray):
4087 2013-03-26 James Robinson <jamesr@chromium.org>
4089 Compile fix - OS(WINDOWS), not OS(WIN).
4092 (WTF::getCurrentProcessID):
4094 2013-03-26 James Robinson <jamesr@chromium.org>
4096 Fix compile for OS(WIN) != PLATFORM(WIN)
4097 https://bugs.webkit.org/show_bug.cgi?id=113356
4099 Reviewed by Tim Horton.
4102 (WTF::getCurrentProcessID):
4104 2013-03-23 Filip Pizlo <fpizlo@apple.com>
4106 JSC_enableProfiler=true should also cause JSGlobalData to save the profiler output somewhere
4107 https://bugs.webkit.org/show_bug.cgi?id=113144
4109 Reviewed by Geoffrey Garen.
4111 I got tired of the fact that getpid(2) is not a syscall on Windows (unless you do
4112 _getpid() I believe), so I wrote a header that abstracts it. I also changed existing
4113 code that uses getpid() to use WTF::getCurrentProcessID().
4115 * GNUmakefile.list.am:
4118 * WTF.vcproj/WTF.vcproj:
4119 * WTF.xcodeproj/project.pbxproj:
4120 * wtf/CMakeLists.txt:
4121 * wtf/MetaAllocator.cpp:
4122 (WTF::MetaAllocator::dumpProfile):
4123 * wtf/ProcessID.h: Added.
4125 (WTF::getCurrentProcessID):
4126 * wtf/text/StringImpl.cpp:
4127 (WTF::StringStats::printStats):
4129 2013-03-25 Kent Tamura <tkent@chromium.org>
4131 Rename ENABLE_INPUT_TYPE_DATETIME
4132 https://bugs.webkit.org/show_bug.cgi?id=113254
4134 Reviewed by Kentaro Hara.
4136 Rename ENABLE_INPUT_TYPE_DATETIME to ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE.
4137 Actually I'd like to remove the code, but we shouldn't remove it yet
4138 because we shipped products with it on some platforms.
4140 * wtf/FeatureDefines.h:
4142 2013-03-25 David Kilzer <ddkilzer@apple.com>
4144 WTF::binarySearchImpl() should compile with -Wshorten-64-to-32
4145 <http://webkit.org/b/113170>
4147 Reviewed by Dan Bernstein.
4149 Fixes the following build failure:
4151 /usr/local/include/wtf/StdLibExtras.h:190:30: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
4152 int pos = (size - 1) >> 1;
4156 * wtf/StdLibExtras.h:
4157 (WTF::binarySearchImpl): Switch type from int to size_t.
4159 2013-03-22 Benjamin Poulain <bpoulain@apple.com>
4161 Remove 2 bad branches from StringHash::equal() and CaseFoldingHash::equal()
4162 https://bugs.webkit.org/show_bug.cgi?id=113003
4164 Reviewed by Eric Seidel.
4166 StringHash::equal() and CaseFoldingHash::equal() were both testing for
4167 the nullity of the two input pointers. The catch is: neither traits handle
4168 null pointers, and any client code would have crashed on hash(), before equal()
4170 Consequently, the two branches had a pass rate of zero when called from a HashMap code.
4172 The function is also never inlined because it is too big (the code of equal() for characters
4173 is always inlined, causing the function to be quite big).
4175 This patch introduces two new functions in the StringImpl API: equalNonNull() and
4176 equalIgnoringCaseNonNull(). Those functions are similar to their equal() equivalent
4177 but make the assumtion the input is never null.
4179 The functions are used for StringHash to avoid the useless branches.
4181 * wtf/text/StringHash.h:
4182 (WTF::StringHash::equal):
4183 (WTF::CaseFoldingHash::equal):
4184 * wtf/text/StringImpl.cpp:
4185 (WTF::stringImplContentEqual):
4187 (WTF::equalNonNull):
4188 (WTF::equalIgnoringCase):
4189 (WTF::equalIgnoringCaseNonNull):
4190 (WTF::equalIgnoringNullity):
4191 * wtf/text/StringImpl.h:
4192 (WTF::equalIgnoringCase):
4194 2013-03-22 Benjamin Poulain <bpoulain@apple.com>
4196 Name correctly the argument of StringImpl::setIsAtomic()
4197 https://bugs.webkit.org/show_bug.cgi?id=113000
4199 Reviewed by Geoffrey Garen.
4201 * wtf/text/StringImpl.h:
4202 (WTF::StringImpl::setIsAtomic):
4203 The argument was probably an unfortunate copy-paste from setIsIdentifier().
4206 2013-03-22 Hajime Morrita <morrita@google.com>
4208 Custom Elements: "readyCallback" lifecycle callback should be called.
4209 https://bugs.webkit.org/show_bug.cgi?id=112538
4211 Reviewed by Elliott Sprehn.
4214 (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.
4216 2013-03-22 Sheriff Bot <webkit.review.bot@gmail.com>
4218 Unreviewed, rolling out r146534 and r146565.
4219 http://trac.webkit.org/changeset/146534
4220 http://trac.webkit.org/changeset/146565
4221 https://bugs.webkit.org/show_bug.cgi?id=113017
4223 "r146534 caused perf regression on Chromium Linux x64"
4224 (Requested by yurys on #webkit).
4228 (WTF::copyToVector):
4230 2013-03-21 Hajime Morrita <morrita@google.com>
4232 Custom Elements: "readyCallback" lifecycle callback should be called.
4233 https://bugs.webkit.org/show_bug.cgi?id=112538
4235 Reviewed by Elliott Sprehn.
4238 (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.
4240 2013-03-21 Mark Lam <mark.lam@apple.com>
4242 Introducing String::findNextLineStart().
4243 https://bugs.webkit.org/show_bug.cgi?id=112957.
4245 Reviewed by Geoffrey Garen.
4247 This is replaces String::reverseFindLineTerminator() in the JSC
4248 debugger's code for computing column numbers.
4250 * wtf/text/StringImpl.cpp:
4251 (WTF::StringImpl::findNextLineStart):
4252 * wtf/text/StringImpl.h:
4253 (WTF::findNextLineStart):
4254 * wtf/text/WTFString.h:
4255 (WTF::String::findNextLineStart):
4257 2013-03-21 Adam Barth <abarth@webkit.org>
4259 HTMLNames should construct strings at compile time
4260 https://bugs.webkit.org/show_bug.cgi?id=112831
4262 Reviewed by Darin Adler.
4264 * wtf/text/StringImpl.h:
4266 (StaticASCIILiteral):
4267 - This struct lets us construct StringImpl objects at compile time.
4268 (WTF::StringImpl::assertHashIsCorrect):
4269 - This function lets us sanity check StringImpl objects created from StaticData.
4270 (WTF::StringImpl::find): Remove a stray ;
4271 (WTF::StringImpl::findIgnoringCase): ditto
4272 (WTF::StringImpl::startsWith): ditto
4273 (WTF::ValueCheck<StringImpl*>):
4274 * wtf/text/AtomicStringImpl.h:
4275 (WTF::ValueCheck<AtomicStringImpl*>):
4277 2013-03-21 Gabor Rapcsanyi <rgabor@webkit.org>
4279 Implement LLInt for CPU(ARM_TRADITIONAL)
4280 https://bugs.webkit.org/show_bug.cgi?id=97589
4282 Reviewed by Zoltan Herczeg.
4284 Enable LLInt for ARMv5 and ARMv7 traditional as well.
4288 2013-03-20 Sheriff Bot <webkit.review.bot@gmail.com>
4290 Unreviewed, rolling out r146419.
4291 http://trac.webkit.org/changeset/146419
4292 https://bugs.webkit.org/show_bug.cgi?id=112870
4294 Broke many tests on debug builds (Requested by rniwa_ on
4297 * wtf/text/StringImpl.h:
4300 2013-03-20 Adam Barth <abarth@webkit.org>
4302 HTMLNames should construct strings at compile time
4303 https://bugs.webkit.org/show_bug.cgi?id=112831
4305 Reviewed by Darin Adler.
4307 * wtf/text/StringImpl.h:
4309 (StaticASCIILiteral):
4310 - This struct lets us construct StringImpl objects at compile time.
4311 (WTF::StringImpl::assertValidHash):
4312 - This function lets us sanity check StringImpl objects created from StaticData.
4314 2013-03-20 Jessie Berlin <jberlin@apple.com>
4316 REGRESSION(r145592): AutodrainedPool.h. RunLoopTimer.h, SchedulePair.h are being copied into
4318 https://bugs.webkit.org/show_bug.cgi?id=112833
4320 Reviewed by Darin Adler.
4322 * WTF.xcodeproj/project.pbxproj:
4323 Make sure those three headers are copied with the rest of the WTF headers.
4325 2013-03-20 Mark Rowe <mrowe@apple.com>
4327 FastMalloc scavenge timer specifies an overly narrow leeway value.
4329 Reviewed by Alexey Proskuryakov.
4331 There's no need to allow only 1ms of leeway on a 2s timer.
4333 * wtf/FastMalloc.cpp:
4334 (WTF::TCMalloc_PageHeap::initializeScavenger): Bump the leeway window
4335 to 10% of the scavenge timer.
4337 2013-03-20 JungJik Lee <jungjik.lee@samsung.com>
4339 [EFL] Disable REQUEST_ANIMATION_FRAME_TIMER to render a new animation frame.
4340 https://bugs.webkit.org/show_bug.cgi?id=112114
4342 Reviewed by Kenneth Rohde Christiansen.
4344 The issue is that if the animation starts outside of the area covered by keepRects,
4345 the web process does not create tiles of the animation layer and the layer moves
4346 without having any tiles. In order to fix this issue, CoordinatedLayerHost must call
4347 scheduleLayerFlush to create new tiles when the layer enters the area covered by keepRect.
4348 However EFL port didn't call scheduleLayerFlush periodically for animation.
4349 We can tie scripted animations with synchronization of the layer and that already
4350 has been implemented in r123786 by Qt port. This patch is for activating r123786 patch.
4352 The testing is covered by ManualTests/animation/transition-on-and-offscreen-animation.html
4354 * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER.
4356 2013-03-20 Mark Lam <mark.lam@apple.com>
4358 Introducing String::reverseFindLineTerminator().
4359 https://bugs.webkit.org/show_bug.cgi?id=112741.
4361 Reviewed by Oliver Hunt.
4363 This is needed by the JSC debugger code for computing column numbers.
4365 * wtf/text/StringImpl.cpp:
4366 (WTF::StringImpl::reverseFindLineTerminator):
4367 * wtf/text/StringImpl.h:
4369 (WTF::reverseFindLineTerminator):
4370 * wtf/text/WTFString.h:
4371 (WTF::String::reverseFindLineTerminator):
4373 2013-03-19 Martin Robinson <mrobinson@igalia.com>
4375 Fix the WTF gyp build for GTK+.