de2b117f60ad39f47d4f7d03431eef55ab18ab52
[WebKit-https.git] / Source / WTF / ChangeLog
1 2013-07-25  Gabor Rapcsanyi  <rgabor@webkit.org>
2
3         Unreviewed, build fix on the Qt port.
4
5         * WTF.pro: Add additional build files for the FTL.
6
7 2013-07-25  Zan Dobersek  <zdobersek@igalia.com>
8
9         Unreviewed, further GTK build fixing.
10
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.
13
14 2013-07-25  Csaba Osztrogonác  <ossy@webkit.org>
15
16         [GTK] Similar fix to r153304.
17
18         * GNUmakefile.list.am:
19
20 2013-07-25  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
21
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
24
25         Reviewed by Christophe Dumez.
26
27         * wtf/CMakeLists.txt:
28         Added CompilationThread.{h/cpp}.
29
30 2013-07-24  Filip Pizlo  <fpizlo@apple.com>
31
32         fourthTier: DFG IR dumps should be easier to read
33         https://bugs.webkit.org/show_bug.cgi?id=119050
34
35         Reviewed by Mark Hahnenberg.
36         
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).
40         
41         Hoisted the support for six-character hashes out of JSC::CodeBlockHash into
42         WTF, in the form of SixCharacterHash.h.
43         
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.
47         
48         Added support for using CString as a hashtable key.
49
50         * WTF.xcodeproj/project.pbxproj:
51         * wtf/PrintStream.h:
52         (WTF):
53         (ValueInContext):
54         (WTF::ValueInContext::ValueInContext):
55         (WTF::ValueInContext::dump):
56         (WTF::inContext):
57         * wtf/SixCharacterHash.cpp: Added.
58         (WTF):
59         (WTF::sixCharacterHashStringToInteger):
60         (WTF::integerToSixCharacterHashString):
61         * wtf/SixCharacterHash.h: Added.
62         (WTF):
63         * wtf/StringHashDumpContext.h: Added.
64         (WTF):
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:
73         (WTF::CString::hash):
74         (WTF):
75         (WTF::operator<):
76         (WTF::CStringHash::equal):
77         * wtf/text/CString.h:
78         (WTF::CString::CString):
79         (CString):
80         (WTF::CString::isHashTableDeletedValue):
81         (WTF):
82         (WTF::CStringHash::hash):
83         (CStringHash):
84
85 2013-07-21  Filip Pizlo  <fpizlo@apple.com>
86
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
89
90         Reviewed by Sam Weinig.
91         
92         Fix compile goof in sortedListDump().
93
94         * wtf/ListDump.h:
95         (WTF::sortedListDump):
96
97 2013-07-16  Filip Pizlo  <fpizlo@apple.com>
98
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
101
102         Reviewed by Mark Hahnenberg.
103         
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.
106
107         * wtf/StdLibExtras.h:
108         (WTF):
109         (WTF::insertIntoBoundedVector):
110
111 2013-07-12  Filip Pizlo  <fpizlo@apple.com>
112
113         fourthTier: DFG should have an SSA form for use by FTL
114         https://bugs.webkit.org/show_bug.cgi?id=118338
115
116         Reviewed by Mark Hahnenberg.
117         
118         - Extend variadicity of PrintStream and dataLog.
119         
120         - Give HashSet the ability to add a span of things.
121         
122         - Give HashSet the ability to == another HashSet.
123         
124         - Note FIXME's in HashTable concerning copying performance, that affects
125           the way that the DFG now uses HashSets and HashMaps.
126         
127         - Factor out the bulk-insertion logic of JSC::DFG::InsertionSet into
128           WTF::Insertion, so that it can be used in more places.
129         
130         - Create a dumper for lists and maps.
131
132         * WTF.xcodeproj/project.pbxproj:
133         * wtf/DataLog.h:
134         (WTF):
135         (WTF::dataLog):
136         * wtf/HashSet.h:
137         (HashSet):
138         (WTF):
139         (WTF::::add):
140         (WTF::=):
141         * wtf/HashTable.h:
142         (WTF::::HashTable):
143         (WTF::=):
144         * wtf/Insertion.h: Added.
145         (WTF):
146         (Insertion):
147         (WTF::Insertion::Insertion):
148         (WTF::Insertion::index):
149         (WTF::Insertion::element):
150         (WTF::Insertion::operator<):
151         (WTF::executeInsertions):
152         * wtf/ListDump.h: Added.
153         (WTF):
154         (ListDump):
155         (WTF::ListDump::ListDump):
156         (WTF::ListDump::dump):
157         (MapDump):
158         (WTF::MapDump::MapDump):
159         (WTF::MapDump::dump):
160         (WTF::listDump):
161         (WTF::sortedListDump):
162         (WTF::lessThan):
163         (WTF::mapDump):
164         (WTF::sortedMapDump):
165         * wtf/PrintStream.h:
166         (PrintStream):
167         (WTF::PrintStream::print):
168
169 2013-07-02  Filip Pizlo  <fpizlo@apple.com>
170
171         Unreviewed, fix 32-bit build.
172
173         * wtf/Platform.h:
174
175 2013-07-02  Filip Pizlo  <fpizlo@apple.com>
176
177         fourthTier: FTL should use the equivalent of llvm opt -O2 by default
178         https://bugs.webkit.org/show_bug.cgi?id=118311
179
180         Reviewed by Mark Hahnenberg.
181         
182         * wtf/LLVMHeaders.h:
183
184 2013-06-27  Filip Pizlo  <fpizlo@apple.com>
185
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
188
189         Reviewed by Anders Carlsson.
190         
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
194         (ENABLE(FTL_JIT)).
195         
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.
199
200         * WTF.xcodeproj/project.pbxproj:
201         * wtf/LLVMHeaders.h: Copied from Source/JavaScriptCore/ftl/FTLLLVMHeaders.h.
202         * wtf/Platform.h:
203
204 2013-06-25  Filip Pizlo  <fpizlo@apple.com>
205
206         fourthTier: DFG should support switch_string
207         https://bugs.webkit.org/show_bug.cgi?id=117967
208
209         Reviewed by Sam Weinig.
210         
211         Make it possible to compare a RefPtr<StringImpl> and a StringImpl* without
212         having to ref the StringImpl.
213
214         * wtf/text/StringHash.h:
215         (WTF::StringHash::equal):
216
217 2013-06-24  Filip Pizlo  <fpizlo@apple.com>
218
219         fourthTier: Count external memory usage towards heap footprint
220         https://bugs.webkit.org/show_bug.cgi?id=117948
221
222         Reviewed by Geoffrey Garen.
223
224         Expose some functionality needed for properly measuring StringImpl footprint.
225
226         * wtf/Atomics.h:
227         (WTF::weakCompareAndSwapSize):
228         (WTF):
229         * wtf/MathExtras.h:
230         (divideRoundedUp):
231         * wtf/text/StringImpl.h:
232         (WTF::StringImpl::cost):
233         (StringImpl):
234         (WTF::StringImpl::costDuringGC):
235         (WTF::StringImpl::refCount):
236
237 2013-06-23  Filip Pizlo  <fpizlo@apple.com>
238
239         fourthTier: DFG should optimize identifier string equality
240         https://bugs.webkit.org/show_bug.cgi?id=117920
241
242         Reviewed by Sam Weinig.
243
244         Note that this ChangeLog was supposed to be committed in r151890.
245         
246         Expose the IsIdentifier bit to the JIT.
247         
248         * wtf/text/StringImpl.h:
249         (WTF::StringImpl::flagIsIdentifier):
250
251 2013-06-18  Filip Pizlo  <fpizlo@apple.com>
252
253         fourthTier: DFG should have switch_char
254         https://bugs.webkit.org/show_bug.cgi?id=117710
255
256         Reviewed by Michael Saboff.
257         
258         I wanted to be able to say stringImpl->at(index), and now I can!
259
260         Also made it possible to convert a UChar to a utf8 CString without
261         allocating a StringImpl.
262
263         * wtf/text/StringImpl.cpp:
264         (WTF::StringImpl::utf8Impl):
265         (WTF):
266         (WTF::StringImpl::utf8ForCharacters):
267         (WTF::StringImpl::utf8ForRange):
268         * wtf/text/StringImpl.h:
269         (StringImpl):
270         (WTF::StringImpl::at):
271         (WTF::StringImpl::operator[]):
272
273 2013-06-15  Filip Pizlo  <fpizlo@apple.com>
274
275         fourthTier: Add CFG simplification for Switch
276         https://bugs.webkit.org/show_bug.cgi?id=117677
277
278         Reviewed by Mark Hahnenberg.
279
280         * wtf/TriState.h:
281         * wtf/text/StringImpl.h:
282
283 2013-06-15  Filip Pizlo  <fpizlo@apple.com>
284
285         Printing a StringImpl* should really guard against NULL
286         https://bugs.webkit.org/show_bug.cgi?id=117675
287
288         Reviewed by Mark Hahnenberg.
289
290         * wtf/PrintStream.cpp:
291         (WTF::printInternal):
292
293 2013-06-11  Filip Pizlo  <fpizlo@apple.com>
294
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
297
298         Reviewed by Geoffrey Garen.
299         
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.
303
304         * wtf/PrintStream.cpp:
305         (WTF::printInternal):
306
307 2013-06-09  Filip Pizlo  <fpizlo@apple.com>
308
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).
312
313         * wtf/text/WTFString.h:
314         (WTF::String::at):
315         (WTF::String::operator[]):
316
317 2013-06-08  Filip Pizlo  <fpizlo@apple.com>
318
319         fourthTier: Recursive deadlock in DFG::ByteCodeParser
320         https://bugs.webkit.org/show_bug.cgi?id=117376
321
322         Reviewed by Mark Hahnenberg.
323         
324         I've often wanted to leave a lock early. Now I have that power!
325
326         * wtf/Locker.h:
327         (WTF::Locker::Locker):
328         (WTF::Locker::~Locker):
329         (Locker):
330         (WTF::Locker::unlockEarly):
331         (WTF::Locker::lock):
332
333 2013-05-27  Filip Pizlo  <fpizlo@apple.com>
334
335         It should be possible to record heap operations (both FastMalloc and JSC GC)
336         https://bugs.webkit.org/show_bug.cgi?id=116848
337
338         Reviewed by Mark Hahnenberg.
339
340         * WTF.xcodeproj/project.pbxproj:
341         * wtf/DataLog.cpp:
342         (WTF):
343         (WTF::initializeLogFileOnce):
344         * wtf/FastMalloc.cpp:
345         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
346         * wtf/Platform.h:
347
348 2013-05-21  Filip Pizlo  <fpizlo@apple.com>
349
350         fourthTier: DFG should be able to run on a separate thread
351         https://bugs.webkit.org/show_bug.cgi?id=112839
352
353         Reviewed by Geoffrey Garen.
354         
355         * wtf/ByteSpinLock.h:
356         Make it non-copyable. We previously had bugs where we used ByteSpinLock as a locker.
357         Clearly that's bad.
358
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.
362
363         * wtf/Vector.h:
364         (WTF::Vector::takeLast):
365         I've wanted this method for ages, and now I finally added.
366
367 2013-04-30  Filip Pizlo  <fpizlo@apple.com>
368
369         fourthTier: DFG tries to ref/deref StringImpls in a ton of places
370         https://bugs.webkit.org/show_bug.cgi?id=115300
371
372         Reviewed by Geoffrey Garen.
373         
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
376         substring first.
377         
378         Add assertions to StringImpl that it isn't being ref/deref'd from the
379         compilation thread.
380
381         * wtf/PrintStream.cpp:
382         (WTF::printInternal):
383         (WTF):
384         * wtf/PrintStream.h:
385         (WTF):
386         (WTF::printInternal):
387         * wtf/StringPrintStream.h:
388         (WTF):
389         (WTF::toCString):
390         * wtf/text/StringImpl.cpp:
391         (WTF::StringImpl::utf8ForRange):
392         (WTF::StringImpl::utf8):
393         (WTF):
394         * wtf/text/StringImpl.h:
395         (StringImpl):
396         (WTF::StringImpl::hasAtLeastOneRef):
397         (WTF::StringImpl::ref):
398         (WTF::StringImpl::deref):
399
400 2013-04-29  Filip Pizlo  <fpizlo@apple.com>
401
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
404
405         Reviewed by Geoffrey Garen.
406
407         * WTF.xcodeproj/project.pbxproj:
408         * wtf/text/ConversionMode.h: Added.
409         (WTF):
410         * wtf/text/StringImpl.cpp:
411         (WTF):
412         (WTF::putUTF8Triple):
413         (WTF::StringImpl::utf8):
414         * wtf/text/StringImpl.h:
415         (StringImpl):
416         * wtf/text/WTFString.cpp:
417         (WTF):
418         (WTF::String::utf8):
419         * wtf/text/WTFString.h:
420         (String):
421
422 2013-07-16  Oliver Hunt <oliver@apple.com>
423
424         Merge dfgFourthTier r149301
425
426     2013-04-28  Filip Pizlo  <fpizlo@apple.com>
427
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
430
431         Reviewed by Geoffrey Garen.
432         
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.
436
437         * WTF.xcodeproj/project.pbxproj:
438         * wtf/CompilationThread.cpp: Added.
439         (WTF):
440         (WTF::initializeCompilationThreadsOnce):
441         (WTF::initializeCompilationThreads):
442         (WTF::isCompilationThread):
443         (WTF::exchangeIsCompilationThread):
444         * wtf/CompilationThread.h: Added.
445         (WTF):
446         (CompilationScope):
447         (WTF::CompilationScope::CompilationScope):
448         (WTF::CompilationScope::~CompilationScope):
449         (WTF::CompilationScope::leaveEarly):
450
451 2013-07-16  Oliver Hunt <oliver@apple.com>
452
453         Merge dfgFourthTier r148836
454
455     2013-04-21  Filip Pizlo  <fpizlo@apple.com>
456
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
459
460         Reviewed by Oliver Hunt.
461         
462         Harden our notions of memory fences, now that we're doing racy algorithms.
463
464         * wtf/Atomics.h:
465         (WTF):
466         (WTF::compilerFence):
467         (WTF::armV7_dmb):
468         (WTF::armV7_dmb_st):
469         (WTF::loadLoadFence):
470         (WTF::loadStoreFence):
471         (WTF::storeLoadFence):
472         (WTF::storeStoreFence):
473         (WTF::memoryBarrierAfterLock):
474         (WTF::memoryBarrierBeforeUnlock):
475         (WTF::x86_mfence):
476
477 2013-07-16  Oliver Hunt <oliver@apple.com>
478
479         Merge dfgFourthTier r148804
480
481     2013-04-20  Filip Pizlo  <fpizlo@apple.com>
482
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
485
486         Reviewed by Oliver Hunt.
487         
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.
491
492         * WTF.xcodeproj/project.pbxproj:
493         * wtf/ByteSpinLock.h:
494         * wtf/NoLock.h: Added.
495         (WTF):
496         (NoLock):
497         (WTF::NoLock::lock):
498         (WTF::NoLock::unlock):
499         (WTF::NoLock::isHeld):
500         * wtf/Platform.h:
501
502 2013-04-17  Filip Pizlo  <fpizlo@apple.com>
503
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
506
507         Reviewed by Mark Hahnenberg.
508         
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.
511         
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.
515
516         * WTF.xcodeproj/project.pbxproj:
517         * wtf/Atomics.h:
518         (WTF):
519         (WTF::weakCompareAndSwap):
520         * wtf/ByteSpinLock.h: Added.
521         (WTF):
522         (ByteSpinLock):
523         (WTF::ByteSpinLock::ByteSpinLock):
524         (WTF::ByteSpinLock::lock):
525         (WTF::ByteSpinLock::unlock):
526         (WTF::ByteSpinLock::isHeld):
527         * wtf/ThreadingPrimitives.h:
528         (WTF::pauseBriefly):
529         (WTF):
530
531 2013-04-12  Filip Pizlo  <fpizlo@apple.com>
532
533         fourthTier: FTL should have OSR exit
534         https://bugs.webkit.org/show_bug.cgi?id=113623
535
536         Reviewed by Oliver Hunt.
537         
538         Finally make toCString() somewhat variadic.
539
540         * wtf/StringPrintStream.h:
541         (WTF):
542         (WTF::toCString):
543
544 2013-03-31  Filip Pizlo  <fpizlo@apple.com>
545
546         https://bugs.webkit.org/show_bug.cgi?id=113656
547         Fix Sam's nits.
548
549         Unreviewed.
550         
551         Forgot to land these as part of http://trac.webkit.org/changeset/147299.
552
553         * wtf/MathExtras.h:
554         (isGreaterThanNonZeroPowerOfTwo):
555
556 2013-03-29  Filip Pizlo  <fpizlo@apple.com>
557
558         fourthTier: FTL JIT should be able run some simple function
559         https://bugs.webkit.org/show_bug.cgi?id=113481
560
561         Reviewed by Geoffrey Garen.
562
563         * wtf/Platform.h:
564
565 2013-07-22  Benjamin Poulain  <benjamin@webkit.org>
566
567         String::lower() - Skip to slow path on the first failure
568         https://bugs.webkit.org/show_bug.cgi?id=118885
569
570         Reviewed by Andreas Kling.
571
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.
575
576         This avoid reading the string twice when the uppercase character is not at the end of the string.
577
578         * wtf/text/StringImpl.cpp:
579         (WTF::StringImpl::lower):
580
581 2013-07-22  Brent Fulgham  <bfulgham@apple.com>
582
583         [Windows] Unreviewed build fix.
584
585         * WTF.vcxproj/WTFGenerated.make: Stop triggering a "Build All" when things have not changed.
586
587 2013-07-19  Alex Christensen  <achristensen@apple.com>
588
589         Added x64 configuration to Visual Studio build.
590         https://bugs.webkit.org/show_bug.cgi?id=118888
591
592         Reviewed by Brent Fulgham.
593
594         * WTF.vcxproj/WTF.vcxproj:
595         * WTF.vcxproj/WTF.vcxproj.filters:
596         * WTF.vcxproj/WTFGenerated.vcxproj:
597
598 2013-07-18  Benjamin Poulain  <benjamin@webkit.org>
599
600         Fix the build after r152881
601
602         * wtf/text/StringImpl.cpp:
603         (WTF::StringImpl::lower):
604
605 2013-07-18  Benjamin Poulain  <benjamin@webkit.org>
606
607         Little cleaning of StringImpl::lower() and StringImpl::upper() for ARM
608         https://bugs.webkit.org/show_bug.cgi?id=118831
609
610         Reviewed by Gavin Barraclough.
611
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.
620
621         * wtf/text/StringImpl.cpp:
622         (WTF::StringImpl::lower):
623         (WTF::StringImpl::upper):
624
625 2013-07-18  Andreas Kling  <akling@apple.com>
626
627         CodeBlock::m_argumentValueProfiles wastes a lot of memory.
628         <http://webkit.org/b/118852>
629         <rdar://problem/14481659>
630
631         Reviewed by Anders Carlsson.
632
633         Add Vector::resizeToFit(size), like resize() but without growth padding.
634
635         * wtf/Vector.h:
636         (WTF::::resizeToFit):
637
638 2013-07-17  Benjamin Poulain  <benjamin@webkit.org>
639
640         Add a thread safety assertion when creating an AtomicString from a StringImpl
641         https://bugs.webkit.org/show_bug.cgi?id=118637
642
643         Reviewed by Sam Weinig.
644
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.
652
653         * wtf/text/AtomicString.cpp:
654         (WTF::AtomicString::isInAtomicStringTable):
655         * wtf/text/AtomicString.h:
656         (WTF::AtomicString::add):
657
658 2013-07-17  Benjamin Poulain  <benjamin@webkit.org>
659
660         Simplify AtomicString::lower()
661         https://bugs.webkit.org/show_bug.cgi?id=118719
662         <rdar://problem/14452883>
663
664         Reviewed by Gavin Barraclough.
665
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.
670
671 2013-07-15  Benjamin Poulain  <benjamin@webkit.org>
672
673         Add a threading assertion to AtomicString::remove
674         https://bugs.webkit.org/show_bug.cgi?id=118695
675
676         Reviewed by Sam Weinig.
677
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).
683
684 2013-07-15  Benjamin Poulain  <benjamin@webkit.org>
685
686         Minor cleaning of AtomicString::addSlowCase
687         https://bugs.webkit.org/show_bug.cgi?id=118615
688
689         Reviewed by Geoffrey Garen.
690
691         Give the variable a proper name.
692         Add assertions to clarify the in and out states.
693
694         * wtf/text/AtomicString.cpp:
695         (WTF::AtomicString::addSlowCase):
696
697 2013-07-12  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
698
699         Improve StringImpl::constructInternal() method
700         https://bugs.webkit.org/show_bug.cgi?id=118503
701
702         Reviewed by Benjamin Poulain.
703
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.
708
709         The problem is solved via template specialization.
710
711         * wtf/text/StringImpl.h:
712         (WTF::LChar):
713         (WTF::UChar):
714
715 2013-07-11  Patrick Gansterer  <paroga@webkit.org>
716
717         Remove unused Windows CE files
718         https://bugs.webkit.org/show_bug.cgi?id=118557
719
720         Reviewed by Andreas Kling.
721
722         * wtf/wince/FastMallocWinCE.h: Removed.
723         * wtf/wince/MemoryManager.cpp: Removed.
724         * wtf/wince/MemoryManager.h: Removed.
725
726 2013-07-10  Michael Brüning  <michael.bruning@digia.com>
727
728         Workaround for x86 optimizer bug in MSVC 2012.
729         https://bugs.webkit.org/show_bug.cgi?id=118478
730
731         Reviewed by Benjamin Poulain.
732
733         This is a workaround for a bug in the x86 MSVC 2012 optimizer.
734
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. 
738
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.
742
743         * wtf/text/StringImpl.cpp:
744         (WTF::StringImpl::upper):
745
746 2013-07-08  Carlos Garcia Campos  <cgarcia@igalia.com>
747
748         Unreviewed. Fix make distcheck.
749
750         * GNUmakefile.list.am: Add missing header files.
751
752 2013-07-08  Antti Koivisto  <antti@apple.com>
753
754         Add Deque::removeLast
755         https://bugs.webkit.org/show_bug.cgi?id=118466
756
757         Reviewed by Andreas Kling.
758         
759         Deque can remove both the first and the last element efficiently.
760         
761         Test: TestWebKitAPI/Tests/WTF/Deque.cpp
762
763         * wtf/Deque.h:
764         (WTF::::takeLast):
765         (WTF::::removeLast):
766
767 2013-07-08  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
768
769         [Qt][Windows] Buildfix after r152426.
770
771         Reviewed by Csaba Osztrogonác.
772
773         * wtf/Platform.h: Do not include WTFHeaderDetection.h on Qt build.
774
775 2013-07-06  Benjamin Poulain  <benjamin@webkit.org>
776
777         Fix the performance regressions introduced by r152418
778         https://bugs.webkit.org/show_bug.cgi?id=118438
779
780         Reviewed by Sam Weinig.
781
782         * wtf/text/StringImpl.h:
783         (WTF::equal):
784         Looping between two arbitrary pointers prevents important loop
785         optimizations.
786
787 2013-07-05  Brent Fulgham  <bfulgham@apple.com>
788
789         [Windows] Unreviewed build correction.
790
791         * WTF.vcxproj/WTFGenerated.make: Avoid syntax error in generated
792         file in cases where Legible Output support is not present.
793
794 2013-07-05  Brent Fulgham  <bfulgham@apple.com>
795
796         [Windows] Unreviewed build correction.
797
798         * WTF.vcxproj/WTFGenerated.make: Use space (rather than double
799         quotes) when handling the no-Legible-Output case.
800
801 2013-07-05  Brent Fulgham  <bfulgham@apple.com>
802
803         [Windows] Identify OS-level at build-time.
804         https://bugs.webkit.org/show_bug.cgi?id=118428
805
806         Reviewed by Anders Carlsson.
807
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.
811
812 2013-07-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
813
814         A lot of code duplication within StringImpl 'equal' functions
815         https://bugs.webkit.org/show_bug.cgi?id=118415
816
817         Reviewed by Anders Carlsson.
818
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.
822
823         * wtf/text/StringImpl.cpp:
824         (WTF::equalInternal):
825         (WTF::equal):
826         * wtf/text/StringImpl.h:
827         (WTF::arraysEqual):
828         (WTF::equal):
829
830 2013-07-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
831
832         Remove code duplication from StringImpl create()/reallocate() methods
833         https://bugs.webkit.org/show_bug.cgi?id=118355
834
835         Reviewed by Andreas Kling.
836
837         StringImpl create()/reallocate() methods accepting LChar and UChar used to have
838         duplicated code. The code duplication is removed now via used templates.
839
840         * wtf/text/StringImpl.cpp:
841         (WTF::StringImpl::constructInternal):
842         (WTF::LChar):
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:
850
851 2013-07-03  Brent Fulgham  <bfulgham@apple.com>
852
853         [Windows] Unreviewed build correction.
854
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.
857
858 2013-07-03  Commit Queue  <commit-queue@webkit.org>
859
860         Unreviewed, rolling out r152356.
861         http://trac.webkit.org/changeset/152356
862         https://bugs.webkit.org/show_bug.cgi?id=118361
863
864         Broke JSCore tests (Requested by andersca on #webkit).
865
866         * wtf/text/StringImpl.cpp:
867         (WTF::StringImpl::createUninitialized):
868         (WTF::StringImpl::reallocate):
869         (WTF::StringImpl::create):
870         * wtf/text/StringImpl.h:
871
872 2013-07-03  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
873
874         Remove code duplication from StringImpl create()/reallocate() methods
875         https://bugs.webkit.org/show_bug.cgi?id=118355
876
877         Reviewed by Anders Carlsson.
878
879         StringImpl create()/reallocate() methods accepting LChar and UChar used to have
880         duplicated code. The code duplication is removed now via used templates.
881
882         * wtf/text/StringImpl.cpp:
883         (WTF::StringImpl::constructInternal):
884         (WTF::LChar):
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:
892
893 2013-07-03  Csaba Osztrogonác  <ossy@webkit.org>
894
895         Fix cast-align warnings in FastMalloc.cpp
896         https://bugs.webkit.org/show_bug.cgi?id=117991
897
898         Reviewed by Mark Hahnenberg.
899
900         * wtf/FastMalloc.cpp:
901
902 2013-07-02  Geoffrey Garen  <ggaren@apple.com>
903
904         plainText() is O(N^2)
905         https://bugs.webkit.org/show_bug.cgi?id=118282
906         <rdar://problem/14284360>
907
908         Reviewed by Alexey Proskuryakov.
909
910         * wtf/text/StringBuilder.cpp:
911         (WTF::expandCapacity): Factored out this helper function to simplify
912         some code that was duplicated in four places.
913
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).
917
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.
920
921 2013-07-02  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
922
923         Avoid code duplication inside String::append()
924         https://bugs.webkit.org/show_bug.cgi?id=118290
925
926         Reviewed by Anders Carlsson.
927
928         The implementation of 'append(UChar)' had been repeated inside 'append(LChar)',
929         this duplication is obviated now.
930
931         * wtf/text/WTFString.cpp:
932         (WTF::String::appendInternal):
933         (WTF::String::append):
934         * wtf/text/WTFString.h:
935
936 2013-06-28  Anders Carlsson  <andersca@apple.com>
937
938         Remove String::deprecatedCharactersWithNullTermination() and related code
939         https://bugs.webkit.org/show_bug.cgi?id=118211
940
941         Reviewed by Benjamin Poulain.
942
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.
946
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:
958
959 2013-06-27  Anders Carlsson  <andersca@apple.com>
960
961         Add a new String::charactersWithNullTermination() function that returns a vector
962         https://bugs.webkit.org/show_bug.cgi?id=118155
963
964         Reviewed by Andreas Kling.
965
966         This new String::charactersWithNullTermination() function returns a new Vector<UChar>
967         and does not modify the underlying string data.
968
969         * wtf/text/WTFString.cpp:
970         (WTF::String::charactersWithNullTermination):
971         * wtf/text/WTFString.h:
972
973 2013-06-26  Anders Carlsson  <andersca@apple.com>
974
975         Deprecate StringImpl::charactersWithNullTermination
976         https://bugs.webkit.org/show_bug.cgi?id=118108
977
978         Reviewed by Beth Dakin.
979
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.
983         
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.
986
987         * wtf/text/WTFString.cpp:
988         (WTF::String::deprecatedCharactersWithNullTermination):
989         * wtf/text/WTFString.h:
990
991 2013-06-26  Anders Carlsson  <andersca@apple.com>
992
993         Add JSStringCreateWithCharactersNoCopy SPI
994         https://bugs.webkit.org/show_bug.cgi?id=118074
995         <rdar://problem/14279905>
996
997         Reviewed by Geoffrey Garen.
998
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.
1003
1004         (WTF::StringImpl::createWithoutCopying):
1005         Add helper functions for creating strings that shouldn't copy their underlying data.
1006
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.
1011
1012         (WTF::StringImpl::createFromLiteral):
1013         Call createWithoutCopying.
1014
1015         (WTF::StringImpl::requiresCopy):
1016         Rename this from isASCIILiteral() and make it more generic so it can handle 16-bit strings as well.
1017
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.
1020
1021 2013-06-26  Jer Noble  <jer.noble@apple.com>
1022
1023         Potential use-after-free after neutering AudioBuffer's underlying ArrayBuffer.
1024         https://bugs.webkit.org/show_bug.cgi?id=118040
1025
1026         Reviewed by Filip Pizlo.
1027
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.
1030
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):
1042
1043 2013-06-26  Brent Fulgham  <bfulgham@apple.com>
1044
1045         [Windows] Enable CaptionUserPreferenceMediaAF on Windows.
1046         https://bugs.webkit.org/show_bug.cgi?id=118076
1047
1048         Reviewed by Eric Carlson.
1049
1050         * wtf/Platform.h: Enable Media Accessibility Framework in Windows build environments
1051           that support it.
1052
1053 2013-06-24  Roger Fong  <roger_fong@apple.com>
1054
1055         Unreviewed. AppleWin build fix, followup to r151915.
1056
1057         * WTF.vcxproj/WTFProduction.props:
1058
1059 2013-06-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1060
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
1063
1064         Reviewed by Anders Carlsson.
1065
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.
1069
1070         Another rational is consistency with HashSet class.
1071
1072         * wtf/HashMap.h:
1073
1074 2013-06-24  peavo@outlook.com  <peavo@outlook.com>
1075
1076         [WinCairo] WTF.dll is linking with CoreFoundation.lib in VS2010.
1077         https://bugs.webkit.org/show_bug.cgi?id=117294
1078
1079         Reviewed by Brent Fulgham.
1080
1081         WinCairo build should not use CoreFoundation.
1082
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.
1090
1091 2013-06-17  Darin Adler  <darin@apple.com>
1092
1093         Sort all the Xcode project files
1094         https://bugs.webkit.org/show_bug.cgi?id=117696
1095
1096         Reviewed by Anders Carlsson.
1097
1098         * WTF.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script.
1099
1100 2013-06-20  Sergio Correia  <sergio.correia@openbossa.org>
1101
1102         [WK2] Looping for EINTR on close() is incorrect for Linux, at least
1103         https://bugs.webkit.org/show_bug.cgi?id=117266
1104
1105         Reviewed by Darin Adler.
1106
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.
1110
1111         * wtf/UniStdExtras.h: Added.
1112         (WTF::closeWithRetry): Wrapper around POSIX close() that handles EINTR
1113         correctly.
1114
1115 2013-06-20  Mark Lam  <mark.lam@apple.com>
1116
1117         Refine the StackBounds computation for Windows.
1118         https://bugs.webkit.org/show_bug.cgi?id=117854.
1119
1120         Reviewed by Brent Fulgham.
1121
1122         * wtf/StackBounds.cpp:
1123         (WTF::StackBounds::initialize):
1124
1125 2013-06-20  Mark Lam  <mark.lam@apple.com>
1126
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.
1130
1131         Reviewed by Brent Fulgham.
1132
1133         * wtf/StackBounds.cpp:
1134         (WTF::StackBounds::initialize):
1135
1136 2013-06-20  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1137
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
1140
1141         Reviewed by Anders Carlsson.
1142
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.
1146
1147         * wtf/HashSet.h:
1148         * wtf/text/AtomicString.cpp:
1149         (WTF::addToStringTable):
1150         (WTF::findString):
1151
1152 2013-06-20  Roger Fong  <roger_fong@apple.com>
1153
1154         Make Windows makefile copy build output to a different folder.
1155         <rdar://problem/14219184>.
1156
1157         * WTF.vcxproj/WTF.make:
1158
1159 2013-06-19  Geoffrey Garen  <ggaren@apple.com>
1160
1161         Remove the SegmentedVector inline segment to shrink CodeBlock by 6X
1162         https://bugs.webkit.org/show_bug.cgi?id=117808
1163
1164         Reviewed by Oliver Hunt.
1165
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.
1169
1170         This reduces startup memory usage @ google.com by about 6MB.
1171
1172         No regression on SunSpider.
1173
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.
1181
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.
1185
1186 2013-06-19  David Kilzer  <ddkilzer@apple.com>
1187
1188         BUILD FIX (r151663): Fix build for iOS WebKit
1189
1190         * wtf/text/AtomicStringTable.cpp: Include MainThread.h.
1191         (WTF::AtomicStringTable::create): Use AtomicStringTable::destroy
1192         instead of non-existent destroyAtomicStringTable function.
1193
1194 2013-06-18  Roger Fong  <roger_fong@apple.com>
1195
1196         Replace tools32 folder with tools and update WebKit Windows solution accordingly.
1197         <rdar://problem/14118143>.
1198
1199         Rubberstamped by Brent Fulgham.
1200
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):
1213
1214 2013-06-18  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1215
1216         PackedIntVector: check template arguments at compile time
1217         https://bugs.webkit.org/show_bug.cgi?id=117737
1218
1219         Use 'COMPILE_ASSERT' instead of 'ASSERT' in PackedIntVector class
1220         constructor.
1221
1222         Reviewed by Sam Weinig.
1223
1224         * wtf/PackedIntVector.h:
1225         (WTF::PackedIntVector::PackedIntVector):
1226
1227 2013-06-17  Andy Estes  <aestes@apple.com>
1228
1229         A static_assert() in RetainPtr.h sometimes causes the build to fail.
1230
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.
1234
1235         Reviewed by Brian Weinstein.
1236
1237         * wtf/RetainPtr.h:
1238         (WTF::RetainPtr::RetainPtr):
1239
1240 2013-06-17  Zan Dobersek  <zdobersek@igalia.com>
1241
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
1244
1245         Reviewed by Anders Carlsson.
1246
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.
1252
1253         Using __has_feature instead enables the feature guard only if the tested feature is actually standardized in
1254         the currently used language standard.
1255
1256         * wtf/Compiler.h:
1257
1258 2013-06-17  Ryosuke Niwa  <rniwa@webkit.org>
1259
1260         Initialize AtomicStringTable in WTFThreadData's constructor
1261         https://bugs.webkit.org/show_bug.cgi?id=117671
1262
1263         Reviewed by Geoffrey Garen.
1264
1265         Extracted AtomicStringTable from AtomicString.cpp into AtomicStringTable.h/cpp
1266         and made WTFThreadDada::WTFThreadData create the atomic string table for the thread.
1267
1268         This eliminates a branch from stringTable() in AtomicString.cpp.
1269
1270         * GNUmakefile.list.am:
1271         * WTF.pro:
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:
1279         (WTF::stringTable):
1280         * wtf/text/AtomicStringTable.cpp: Added.
1281         (WTF::AtomicStringTable::create):
1282         (WTF::AtomicStringTable::destroy):
1283         * wtf/text/AtomicStringTable.h: Added.
1284         (WTF::AtomicStringTable::table):
1285
1286 2013-06-17  Roger Fong  <roger_fong@apple.com>
1287
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>
1291
1292         Reviewed by Brent Fulgham.
1293
1294         * WTF.vcxproj/WTF.make:
1295
1296 2013-06-17  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1297
1298         Unreviewed, rolling out r151632.
1299         http://trac.webkit.org/changeset/151632
1300         https://bugs.webkit.org/show_bug.cgi?id=117585
1301
1302         Debug build error ASSERT(WTF_USE_GRAMMAR_CHECKING) for non MAC
1303         platforms
1304
1305         * wtf/Platform.h:
1306
1307 2013-06-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1308
1309         Context menu grammar checking items are available when GRAMMAR_CHECKING macro is off
1310         https://bugs.webkit.org/show_bug.cgi?id=117585
1311
1312         Reviewed by Anders Carlsson.
1313
1314         Enable GRAMMAR_CHECKING for WebKit ports that use/implement it.
1315
1316         * wtf/Platform.h:
1317
1318 2013-06-14  Patrick Gansterer  <paroga@webkit.org>
1319
1320         Introduce USE(WINGDI) for the Windows port
1321         https://bugs.webkit.org/show_bug.cgi?id=116138
1322
1323         Reviewed by Ryosuke Niwa.
1324
1325         Using USE(WINGDI) instead of OS(WINCE) will allow us to
1326         compile the GDI based Windows port on WinNT too.
1327
1328         * wtf/Platform.h:
1329
1330 2013-06-13  Ryosuke Niwa  <rniwa@webkit.org>
1331
1332         Remove LiteralIdentifierTable
1333         https://bugs.webkit.org/show_bug.cgi?id=117613
1334
1335         Reviewed by Geoffrey Garen.
1336
1337         Removed LiteralIdentifierTable since it doesn't seem to have any perf. impact now.
1338
1339         * wtf/WTFThreadData.h:
1340
1341 2013-06-13  Brent Fulgham  <bfulgham@apple.com>
1342
1343         [WinCairo] Correct FeatureDefines.h Default for ENABLE_VIEW_MODE_CSS_MEDIA
1344         https://bugs.webkit.org/show_bug.cgi?id=114396
1345
1346         Reviewed by Dean Jackson.
1347
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.
1350
1351 2013-06-13  Brent Fulgham  <bfulgham@apple.com>
1352
1353         [Windows] Unreviewed gardening.
1354
1355         * WTF.vcxproj/WTF.vcxproj: Add FeatureDefines.h to visible files.
1356         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
1357
1358 2013-06-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1359
1360         Optimize String::fromUTF8 for ASCII
1361         https://bugs.webkit.org/show_bug.cgi?id=117586
1362
1363         Reviewed by Brent Fulgham.
1364
1365         From Blink r152243 by <abarth@chromium.org>
1366
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.
1370
1371         * wtf/text/WTFString.cpp:
1372         (WTF::String::fromUTF8):
1373
1374 2013-06-12  Brent Fulgham  <bfulgham@apple.com>
1375
1376         [Windows] Activate supported C++11 Features for VS2010
1377         https://bugs.webkit.org/show_bug.cgi?id=117569
1378
1379         Reviewed by Anders Carlsson.
1380
1381         * wtf/Compiler.h: Turn on rvalue references and static_assert
1382         when compiling with VS2010 (or newer)
1383
1384 2013-06-07  Roger Fong  <roger_fong@apple.com>
1385
1386         Unreviewed. Makefile fix. Copy WTF.dll over as well.
1387
1388         * WTF.vcxproj/WTF.make:
1389
1390 2013-06-07  Commit Queue  <commit-queue@webkit.org>
1391
1392         Unreviewed, rolling out r151318.
1393         http://trac.webkit.org/changeset/151318
1394         https://bugs.webkit.org/show_bug.cgi?id=117356
1395
1396         Broke Windows Release Build (Requested by bfulgham on
1397         #webkit).
1398
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:
1404
1405 2013-06-07  peavo@outlook.com  <peavo@outlook.com>
1406
1407         [WinCairo] WTF.dll is linking with CoreFoundation.lib in VS2010.
1408         https://bugs.webkit.org/show_bug.cgi?id=117294
1409
1410         Reviewed by Darin Adler.
1411
1412         WinCairo build should not use CoreFoundation.
1413
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.
1419
1420 2013-06-06  Roger Fong  <roger_fong@apple.com>
1421
1422         Unreviewed. Fix typo with winmm linker input.
1423
1424         * WTF.vcxproj/WTFCommon.props:
1425
1426 2013-06-05  Benjamin Poulain  <bpoulain@apple.com>
1427
1428         WebSQL forces 16-bit strings
1429         https://bugs.webkit.org/show_bug.cgi?id=116935
1430
1431         Reviewed by Darin Adler.
1432
1433         Merge chromium 49c9632ac135f6f06e623a7a81d9da1f6bb7196f.
1434         https://chromium.googlesource.com/chromium/blink/+/49c9632ac135f6f06e623a7a81d9da1f6bb7196f
1435
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):
1442
1443 2013-06-03  Roger Fong  <roger_fong@apple.com>
1444
1445         Nuke VS2005 files from the tree.
1446         <rdar://problem/14042021>.
1447
1448         Rubberstamped by Brent Fulgham.
1449
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.
1475
1476 2013-06-03  Patrick Gansterer  <paroga@webkit.org>
1477
1478         Unreviewed WinCE build fix after r150833.
1479
1480         * wtf/DateMath.cpp:
1481         (WTF::calculateDSTOffset):
1482
1483 2013-06-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1484
1485         [WTF] Add OwnArrayPtr vectortraits template 
1486         https://bugs.webkit.org/show_bug.cgi?id=117131
1487
1488         Reviewed by Darin Adler.
1489
1490         To support Vector<OwnArrayPtr<P>>, which will be used by EFL port.
1491
1492         * wtf/VectorTraits.h:
1493
1494 2013-05-31  Rafael Brandao  <rafael.lobo@openbossa.org>
1495
1496         Fix double hash lookup in PageMapMemoryUsageRecorder::visit
1497         https://bugs.webkit.org/show_bug.cgi?id=117071
1498
1499         Reviewed by Andreas Kling.
1500
1501         * wtf/FastMalloc.cpp:
1502         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1503
1504 2013-05-31  Brent Fulgham  <bfulgham@apple.com>
1505
1506         [Windows] Speculative build fix for pre-VS2010 compilers
1507
1508         * wtf/Platform.h: Only treat WTF as DLL for VS2010 builds
1509
1510 2013-05-31  Zan Dobersek  <zdobersek@igalia.com>
1511
1512         Move MD5, SHA1 unit tests from WTF to TestWebKitAPI
1513         https://bugs.webkit.org/show_bug.cgi?id=116445
1514
1515         Reviewed by Benjamin Poulain.
1516
1517         Remove the MD5 and SHA1 test cases from the WTF code. The same cases are now built and run under TestWebKitAPI.
1518
1519         * wtf/MD5.cpp:
1520         (WTF::MD5::MD5):
1521         * wtf/SHA1.cpp:
1522         (WTF::SHA1::SHA1):
1523
1524 2013-05-30  Roger Fong  <roger_fong@apple.com>
1525
1526         Another unreviewed build fix for Mac.
1527
1528         * wtf/text/WTFString.h:
1529         (WTF::String::fromUTF8WithLatin1Fallback):
1530
1531 2013-05-30  Roger Fong  <roger_fong@apple.com>
1532
1533         Unreviewed build fix for Mac.
1534
1535         * wtf/OSAllocator.h:
1536         * wtf/text/WTFString.h:
1537         (WTF::String::fromUTF8):
1538
1539 2013-05-30  Roger Fong  <roger_fong@apple.com>
1540
1541         Get rid of JavaScript exports file on AppleWin port.
1542         https://bugs.webkit.org/show_bug.cgi?id=117050.
1543
1544         Reviewed by Darin Adler.
1545
1546         This requires turning WTF into a shared library and adding the WTF_EXPORT_PRIVATE to some methods where it was missed.
1547
1548         * WTF.vcxproj/WTF.vcxproj:
1549         * WTF.vcxproj/WTFCommon.props:
1550         * wtf/DateMath.h:
1551         * wtf/ExportMacros.h:
1552         * wtf/FilePrintStream.h:
1553         * wtf/OSAllocator.h:
1554         * wtf/PageAllocationAligned.h:
1555         * wtf/Platform.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:
1566
1567 2013-05-29  Kent Tamura  <tkent@chromium.org>
1568
1569         Remove ENABLE_INPUT_MULTIPLE_FIELDS_UI.
1570         https://bugs.webkit.org/show_bug.cgi?id=116796
1571
1572         Reviewed by Ryosuke Niwa.
1573
1574         * wtf/FeatureDefines.h:
1575
1576 2013-05-27  Gavin Barraclough  <barraclough@apple.com>
1577
1578         String(new Date(2010,10,1)) is wrong in KRAT, YAKT
1579         https://bugs.webkit.org/show_bug.cgi?id=106750
1580
1581         Reviewed by Darin Adler.
1582
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).
1586
1587         * wtf/DateMath.cpp:
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
1597         * wtf/DateMath.h:
1598         (WTF::LocalTimeOffset::LocalTimeOffset):
1599         (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
1606
1607 2013-05-27  Patrick Gansterer  <paroga@webkit.org>
1608
1609         Use correct stack size on Solaris and OpenBSD
1610         https://bugs.webkit.org/show_bug.cgi?id=114978
1611
1612         Recommit after wrong rollout in r150621.
1613
1614         * wtf/StackBounds.cpp:
1615         (WTF):
1616         (WTF::StackBounds::initialize):
1617
1618 2013-05-27  Patrick Gansterer  <paroga@webkit.org>
1619
1620         Use ICU_INCLUDE_DIRS in BlackBerry CMake files
1621         https://bugs.webkit.org/show_bug.cgi?id=116210
1622
1623         Reviewed by Rob Buis.
1624
1625         Set and use the ICU_INCLUDE_DIRS variable to avoid
1626         duplicated adding of the ICU include directory.
1627
1628         * wtf/PlatformBlackBerry.cmake:
1629
1630 2013-05-27  Ádám Kallai  <kadam@inf.u-szeged.hu>
1631
1632         [Qt] Enable parallel GC. Probably it has been fixed in r131791.
1633         https://bugs.webkit.org/show_bug.cgi?id=90957
1634
1635         Reviewed by Csaba Osztrogonác.
1636
1637         * wtf/Platform.h:
1638
1639 2013-05-26  Patrick Gansterer  <paroga@webkit.org>
1640
1641         [WINCE] Add wtf_bsearch()
1642         https://bugs.webkit.org/show_bug.cgi?id=116528
1643
1644         Reviewed by Darin Adler.
1645
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.
1649
1650         * wtf/StdLibExtras.h:
1651         (wtf_bsearch):
1652
1653 2013-05-26  Kent Tamura  <tkent@chromium.org>
1654
1655         Remove ENABLE_CALENDAR_PICKER
1656         https://bugs.webkit.org/show_bug.cgi?id=116795
1657
1658         Reviewed by Ryosuke Niwa.
1659
1660         * wtf/FeatureDefines.h:
1661
1662 2013-05-24  Benjamin Poulain  <bpoulain@apple.com>
1663
1664         Inline TCMalloc_Central_FreeList's RemoveRange and FetchFromSpansSafe
1665         https://bugs.webkit.org/show_bug.cgi?id=116700
1666
1667         Reviewed by Darin Adler.
1668
1669         The two functions only have one call site each.
1670
1671         * wtf/FastMalloc.cpp:
1672         (WTF::TCMalloc_Central_FreeList::RemoveRange):
1673         (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe):
1674
1675 2013-05-24  Filip Pizlo  <fpizlo@apple.com>
1676
1677         We broke !(0/0)
1678         https://bugs.webkit.org/show_bug.cgi?id=116736
1679
1680         Reviewed by Gavin Barraclough.
1681
1682         * wtf/MathExtras.h:
1683         (isNotZeroAndOrdered):
1684         (isZeroOrUnordered):
1685
1686 2013-05-24  Anders Carlsson  <andersca@apple.com>
1687
1688         Remove PagePopup code
1689         https://bugs.webkit.org/show_bug.cgi?id=116732
1690
1691         Reviewed by Andreas Kling.
1692
1693         Remove ENABLE_PAGE_POPUP.
1694
1695         * wtf/FeatureDefines.h:
1696
1697 2013-05-25  Jer Noble  <jer.noble@apple.com>
1698
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
1701
1702         Reviewed by Eric Carlson.
1703
1704         * wtf/Platform.h: Add a WTF_USE_AUDIO_SESSION setting.
1705
1706 2013-05-23  Brent Fulgham  <bfulgham@apple.com>
1707
1708         [Windows] Rolling back r150600 as it breaks the VS2010 builds.
1709
1710         * wtf/StackBounds.cpp: Rollback.
1711
1712 2013-05-23 Patrick Gansterer <paroga@webkit.org>
1713
1714         Use correct stack size on Solaris and OpenBSD
1715         https://bugs.webkit.org/show_bug.cgi?id=114978
1716
1717         Reviewed by Oliver Hunt.
1718
1719         Original patch by David Hill <david@wmol.com>.
1720
1721         Use stack_t.ss_size for getting the size of the stack.
1722
1723         * wtf/Platform.h:
1724         * wtf/StackBounds.cpp:
1725         (WTF):
1726         (WTF::StackBounds::initialize):
1727
1728 2013-05-23  Patrick Gansterer  <paroga@webkit.org>
1729
1730         [WIN] Implement correct detection of stack size
1731         https://bugs.webkit.org/show_bug.cgi?id=116661
1732
1733         Reviewed by Oliver Hunt.
1734
1735         * wtf/StackBounds.cpp:
1736         (WTF):
1737         (WTF::StackBounds::initialize):
1738
1739 2013-05-22  Dean Jackson  <dino@apple.com>
1740
1741         Rolling out r150555. It borked about 30 media tests.
1742
1743         * wtf/Platform.h:
1744
1745 2013-05-21  Anders Carlsson  <andersca@apple.com>
1746
1747         Build fix.
1748
1749         * wtf/NeverDestroyed.h:
1750         (NeverDestroyed):
1751
1752 2013-05-20  Anders Carlsson  <andersca@apple.com>
1753
1754         Add WTF::NeverDestroyed and start using it in WTF
1755         https://bugs.webkit.org/show_bug.cgi?id=116472
1756
1757         Reviewed by Benjamin Poulain.
1758
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
1761         fragment the heap.
1762
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
1769
1770         * wtf/Compiler.h:
1771         Add a helper macro, WTF_DELETED_FUNCTION.
1772
1773         * wtf/CryptographicallyRandomNumber.cpp:
1774         Use NeverDestroyed.
1775
1776         * wtf/NeverDestroyed.h: Added.
1777
1778         * wtf/Noncopyable.h:
1779         Use WTF_DELETED_FUNCTION.
1780
1781         * wtf/text/WTFString.cpp:
1782         (WTF::emptyString):
1783         Use 
1784
1785 2013-05-20  Zan Dobersek  <zdobersek@igalia.com>
1786
1787         Use '__typeof__' keyword to avoid problems when compiling in C++11 standard compliance
1788         https://bugs.webkit.org/show_bug.cgi?id=116447
1789
1790         Reviewed by Darin Adler.
1791
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.
1794
1795         * wtf/FastMalloc.cpp:
1796         (WTF): Replace the 'typeof' keyword with '__typeof__'.
1797
1798 2013-05-19  Anders Carlsson  <andersca@apple.com>
1799
1800         Remove link prerendering code
1801         https://bugs.webkit.org/show_bug.cgi?id=116415
1802
1803         Reviewed by Darin Adler.
1804
1805         This code was only used by Chromium and is dead now.
1806
1807         * wtf/FeatureDefines.h:
1808
1809 2013-05-18  Patrick Gansterer  <paroga@webkit.org>
1810
1811         [CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
1812         https://bugs.webkit.org/show_bug.cgi?id=114554
1813
1814         Reviewed by Gyuyoung Kim.
1815
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.
1819
1820         * wtf/CMakeLists.txt:
1821
1822 2013-05-17  Andreas Kling  <akling@apple.com>
1823
1824         Re-align the OS(AIX) macro...
1825         ...in the hopes that the resulting world rebuild will fix failures after r150294.
1826
1827         * wtf/Platform.h:
1828
1829 2013-05-17  Anders Carlsson  <andersca@apple.com>
1830
1831         WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process
1832         https://bugs.webkit.org/show_bug.cgi?id=116346
1833         <rdar://problem/13852829>
1834
1835         Reviewed by Andreas Kling.
1836
1837         Add forward declaration for Function.
1838
1839         * wtf/Forward.h:
1840
1841 2013-05-17  Patrick Gansterer  <paroga@webkit.org>
1842
1843         [CMake] Remove invalid include paths
1844         https://bugs.webkit.org/show_bug.cgi?id=116213
1845
1846         Reviewed by Gyuyoung Kim.
1847
1848         Since "${JAVASCRIPTCORE_DIR}/wtf" does not exist, it is safe
1849         to remove them from the list of include directories.
1850
1851         * wtf/PlatformEfl.cmake:
1852         * wtf/PlatformGTK.cmake:
1853
1854 2013-05-16  Benjamin Poulain  <bpoulain@apple.com>
1855
1856         Add the symbol WTFInvokeCrashHook back for binary compatibility.
1857
1858         Reviewed by Ryosuke Niwa.
1859
1860         * wtf/Assertions.cpp:
1861         * wtf/Assertions.h:
1862
1863 2013-05-16  Seokju Kwon  <seokju.kwon@gmail.com>
1864
1865         [CMAKE] Need to set WTF_LIBRARIES in wtf/CMakeLists.txt
1866         https://bugs.webkit.org/show_bug.cgi?id=116209
1867
1868         Reviewed by Gyuyoung Kim.
1869
1870         * wtf/CMakeLists.txt: Replace list with set.
1871
1872 2013-05-16  Benjamin Poulain  <benjamin@webkit.org>
1873
1874         Crash properly on iOS
1875         https://bugs.webkit.org/show_bug.cgi?id=115782
1876
1877         Reviewed by Darin Adler.
1878
1879         Improve crash handling. <rdar://problem/13842771>
1880
1881         * wtf/Assertions.cpp:
1882         * wtf/Assertions.h:
1883
1884 2013-05-15  Ryuan Choi  <ryuan.choi@samsung.com>
1885
1886         Unreviewed build fix after r150123
1887
1888         * wtf/CMakeLists.txt: 
1889
1890 2013-05-15  Oliver Hunt  <oliver@apple.com>
1891
1892         RefCountedArray needs to use vector initialisers for its backing store
1893         https://bugs.webkit.org/show_bug.cgi?id=116194
1894
1895         Reviewed by Gavin Barraclough.
1896
1897         Use VectorOperations to operate on the backing store
1898
1899         * wtf/RefCountedArray.h:
1900         (WTF::RefCountedArray::RefCountedArray):
1901         (WTF::RefCountedArray::operator=):
1902         (WTF::RefCountedArray::~RefCountedArray):
1903
1904 2013-05-15  Nico Weber  <thakis@chromium.org>
1905
1906         WebKit doesn't support MSVS2003 any more, remove preprocessor checks for older versions.
1907         https://bugs.webkit.org/show_bug.cgi?id=116157
1908
1909         Reviewed by Anders Carlsson.
1910
1911         Also remove a gcc3.2 workaround.
1912
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
1916
1917         * wtf/Alignment.h:
1918         (WTF):
1919         * wtf/Assertions.h:
1920         * wtf/Atomics.h:
1921         (WTF):
1922         * wtf/Compiler.h:
1923         * wtf/DateMath.cpp:
1924         (WTF::getLocalTime):
1925         * wtf/MathExtras.h:
1926         * wtf/RefCountedLeakCounter.h:
1927         (RefCountedLeakCounter):
1928         * wtf/StaticConstructors.h:
1929
1930 2013-05-15  Patrick Gansterer  <paroga@webkit.org>
1931
1932         Consolidate lists in WTF CMake files
1933         https://bugs.webkit.org/show_bug.cgi?id=116142
1934
1935         Reviewed by Martin Robinson.
1936
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.
1940
1941         * wtf/CMakeLists.txt:
1942         * wtf/PlatformBlackBerry.cmake:
1943         * wtf/PlatformEfl.cmake:
1944         * wtf/PlatformGTK.cmake:
1945         * wtf/PlatformWinCE.cmake:
1946
1947 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1948
1949         Remove WTF_USE_PLATFORM_STRATEGIES
1950         https://bugs.webkit.org/show_bug.cgi?id=114431
1951
1952         Reviewed by Darin Adler.
1953
1954         * wtf/Platform.h:
1955
1956 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1957
1958         [BlackBerry] Use requestAnimationFrame for animations
1959         https://bugs.webkit.org/show_bug.cgi?id=115896
1960
1961         Reviewed by Rob Buis.
1962
1963         * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER and
1964         WTF_USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR for BlackBerry
1965         port.
1966
1967 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1968
1969         [BlackBerry] Implement platform strategies
1970         https://bugs.webkit.org/show_bug.cgi?id=112162
1971
1972         Reviewed by Rob Buis.
1973
1974         * wtf/Platform.h: Add BlackBerry platform to the list of platforms
1975         using platform strategies.
1976
1977 2013-05-13  Benjamin Poulain  <benjamin@webkit.org>
1978
1979         Improve stringProtoFuncLastIndexOf for the prefix case
1980         https://bugs.webkit.org/show_bug.cgi?id=115952
1981
1982         Reviewed by Geoffrey Garen.
1983
1984         Add an optimized version of StringImpl::startsWith() for JavaScriptCore.
1985
1986         * wtf/text/StringImpl.cpp:
1987         (WTF::StringImpl::startsWith):
1988         * wtf/text/StringImpl.h:
1989         (StringImpl):
1990         (WTF::StringImpl::startsWith):
1991         * wtf/text/WTFString.h:
1992         (WTF::String::startsWith):
1993
1994 2013-05-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1995
1996         Unreviewed. Fix Qt Linux MIPS32R2 build after r149879.
1997
1998         Bring back GLIB_CHECK_VERSION for GBytes since Qt Linux MIPS32R2
1999         depends on glib 2.24.2.
2000
2001         * wtf/gobject/GRefPtr.cpp:
2002         (_GBytes):
2003         (WTF::refGPtr):
2004         (WTF::derefGPtr):
2005
2006 2013-05-13  Anders Carlsson  <andersca@apple.com>
2007
2008         Remove UnusedParam.h
2009         https://bugs.webkit.org/show_bug.cgi?id=116029
2010
2011         Reviewed by Andreas Kling.
2012
2013         Remove UnusedParam.h, it's empty now.
2014
2015         * GNUmakefile.list.am:
2016         * WTF.pro:
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.
2023
2024 2013-05-13  Zalan Bujtas  <zalan@apple.com>
2025
2026         WebProcess consuming very high CPU on linkedin.com
2027         https://bugs.webkit.org/show_bug.cgi?id=115601
2028
2029         Reviewed by Andreas Kling.
2030
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.
2034
2035         * wtf/FeatureDefines.h:
2036
2037 2013-05-12  Anders Carlsson  <andersca@apple.com>
2038
2039         Stop including UnusedParam.h
2040         https://bugs.webkit.org/show_bug.cgi?id=116003
2041
2042         Reviewed by Sam Weinig.
2043
2044         UnusedParam.h is empty now so there's no need to include it anymore.
2045
2046         * wtf/Atomics.h:
2047         * wtf/BoundsCheckedPointer.h:
2048         * wtf/DateMath.h:
2049         * wtf/FastMalloc.cpp:
2050         * wtf/NumberOfCores.cpp:
2051         * wtf/OSAllocator.h:
2052         * wtf/OSAllocatorPosix.cpp:
2053         * wtf/PageAllocation.h:
2054         * wtf/RefCounted.h:
2055         * wtf/TCSystemAlloc.cpp:
2056         * wtf/ThreadingPthreads.cpp:
2057         * wtf/Vector.h:
2058         * wtf/dtoa/cached-powers.cc:
2059         * wtf/dtoa/fixed-dtoa.cc:
2060
2061 2013-05-12  Anders Carlsson  <andersca@apple.com>
2062
2063         Move UNUSED_PARAM and UNUSED_LABEL macros to Compiler.h
2064         https://bugs.webkit.org/show_bug.cgi?id=115997
2065
2066         Reviewed by Benjamin Poulain.
2067
2068         UnusedParam.h predates Compiler.h and the macros defined there should just go into Compiler.h
2069
2070         * wtf/Compiler.h:
2071         (unusedParam):
2072         * wtf/UnusedParam.h:
2073
2074 2013-05-12  Anders Carlsson  <andersca@apple.com>
2075
2076         Remove Complex.h from WTF
2077         https://bugs.webkit.org/show_bug.cgi?id=115989
2078
2079         Reviewed by Beth Dakin.
2080
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.
2083
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.
2091
2092 2013-05-11  Martin Robinson  <mrobinson@igalia.com>
2093
2094         [GTK] Add a basic cmake build for WTF and JavaScriptCore
2095         https://bugs.webkit.org/show_bug.cgi?id=115967
2096
2097         Reviewed by Laszlo Gombos.
2098
2099         * wtf/PlatformGTK.cmake: Added.
2100
2101 2013-05-11  Martin Robinson  <mrobinson@igalia.com>
2102
2103         Move defines to platform
2104
2105         [GTK] Move defines that will never be configured to Platform.h
2106         https://bugs.webkit.org/show_bug.cgi?id=115965
2107
2108         Reviewed by Andreas Kling.
2109
2110         * wtf/Platform.h: Add new defines that were previously in the autoconf header.
2111
2112 2013-05-12  Anders Carlsson  <andersca@apple.com>
2113
2114         Simplify AutodrainedPool
2115         https://bugs.webkit.org/show_bug.cgi?id=115986
2116
2117         Reviewed by Andreas Kling.
2118
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.
2121
2122         * wtf/AutodrainedPool.h:
2123         (AutodrainedPool):
2124         (WTF::AutodrainedPool::AutodrainedPool):
2125         * wtf/AutodrainedPoolMac.mm:
2126         (WTF::AutodrainedPool::AutodrainedPool):
2127
2128 2013-05-12  Anders Carlsson  <andersca@apple.com>
2129
2130         Move RemoteMemoryReader into FastMalloc.cpp
2131         https://bugs.webkit.org/show_bug.cgi?id=115985
2132
2133         Reviewed by Andreas Kling.
2134
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.
2137
2138         * GNUmakefile.list.am:
2139         * WTF.pro:
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:
2146         (WTF):
2147         (PageHeapAllocator):
2148         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2149         * wtf/MallocZoneSupport.h: Removed.
2150
2151 2013-05-10  Laszlo Gombos  <l.gombos@samsung.com>
2152
2153         Remove USE(OS_RANDOMNESS)
2154         https://bugs.webkit.org/show_bug.cgi?id=108095
2155
2156         Reviewed by Darin Adler.
2157
2158         Remove the USE(OS_RANDOMNESS) guard as it is turned on for all
2159         ports.
2160
2161         * wtf/CryptographicallyRandomNumber.cpp:
2162         (WTF::cryptographicallyRandomValues):
2163         * wtf/CryptographicallyRandomNumber.h:
2164         * wtf/OSRandomSource.cpp:
2165         (WTF::cryptographicallyRandomValuesFromOS):
2166         * wtf/OSRandomSource.h:
2167         * wtf/Platform.h:
2168         * wtf/RandomNumber.cpp:
2169         (WTF::randomNumber):
2170         * wtf/RandomNumber.h:
2171         * wtf/RandomNumberSeed.h:
2172         (WTF::initializeRandomNumberGenerator):
2173
2174 2013-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2175
2176         [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
2177         https://bugs.webkit.org/show_bug.cgi?id=115904
2178
2179         Reviewed by Martin Robinson.
2180
2181         * wtf/gobject/GRefPtr.cpp:
2182
2183 2013-05-09  Darin Adler  <darin@apple.com>
2184
2185         RenderQuote has giant function for language to quotes map
2186         https://bugs.webkit.org/show_bug.cgi?id=115807
2187
2188         Reviewed by Anders Carlsson.
2189
2190         * wtf/unicode/CharacterNames.h: Added a couple of character names.
2191
2192 2013-05-08  Michael Saboff  <msaboff@apple.com>
2193
2194         JSC: There should be a disassembler for ARM Thumb 2
2195         https://bugs.webkit.org/show_bug.cgi?id=115827
2196
2197         Reviewed by Filip Pizlo.
2198
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.
2201
2202         * wtf/Platform.h:
2203
2204 2013-05-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2205
2206         Simplify RetainPtrObjectHashTraits
2207         https://bugs.webkit.org/show_bug.cgi?id=115822
2208
2209         Reviewed by Benjamin Poulain.
2210
2211         RetainPtrObjectHashTraits is inherited from SimpleClassHashTraits
2212         instead of GenericHashTraits re-using more shared functionality.
2213
2214         * wtf/RetainPtr.h:
2215         (WTF::RetainPtrObjectHashTraits::emptyValue):
2216
2217 2013-05-08  Anders Carlsson  <andersca@apple.com>
2218
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
2221
2222         Reviewed by Geoffrey Garen.
2223
2224         static_assert in adoptCF that the object passed in is not an Objective-C object.
2225         * wtf/RetainPtr.h:
2226
2227 2013-05-08  Anders Carlsson  <andersca@apple.com>
2228
2229         Remove RetainPtr::adoptNS and RetainPtr::adoptCF
2230         https://bugs.webkit.org/show_bug.cgi?id=115817
2231
2232         Reviewed by Jessie Berlin.
2233
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.
2236         
2237         Rewrite the move assignment operators to just call CFRelease explicitly.
2238
2239         * wtf/RetainPtr.h:
2240
2241 2013-05-08  Anders Carlsson  <andersca@apple.com>
2242
2243         Remove ThreadingNone.cpp
2244
2245         Rubber-stamped by Beth Dakin.
2246
2247         ThreadingNone.cpp is empty and not used anywhere.
2248
2249         * wtf/ThreadingNone.cpp: Removed.
2250
2251 2013-05-08  Anders Carlsson  <andersca@apple.com>
2252
2253         Remove HashMap::deleteAllKeys
2254         https://bugs.webkit.org/show_bug.cgi?id=115806
2255
2256         Reviewed by Brent Fulgham.
2257
2258         This function was not used anywhere so let's get rid of it.
2259
2260         * wtf/HashMap.h:
2261
2262 2013-05-08  Eric Carlson  <eric.carlson@apple.com>
2263
2264         [Mac] Inband text tracks are not in track menu on Lion
2265         https://bugs.webkit.org/show_bug.cgi?id=115740
2266
2267         Reviewed by Dean Jackson.
2268
2269         * wtf/Platform.h: AVFOUNDATION_TEXT_TRACK_SUPPORT -> AVFOUNDATION_MEDIA_SELECTION_GROUP
2270
2271 2013-05-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2272
2273         HashTraits<RefPtr<P> >::peek should consider empty value
2274         https://bugs.webkit.org/show_bug.cgi?id=115799
2275
2276         Reviewed by Darin Adler.
2277
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
2280         and invoking get().
2281
2282         * wtf/HashTraits.h:
2283
2284 2013-05-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2285
2286         Avoid unnecessary arguments copying inside GenericHashTraits methods
2287         https://bugs.webkit.org/show_bug.cgi?id=115733
2288
2289         Reviewed by Darin Adler.
2290
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.
2296
2297         The proposed solution is to provide overloaded functions that accept non-temporary
2298         values and return them by reference thus avoiding extra copying.
2299
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.
2302
2303         * wtf/HashTraits.h:
2304         (WTF::GenericHashTraits::passOut): 
2305         (WTF::GenericHashTraits::peek):
2306
2307 2013-05-07  Anders Carlsson  <andersca@apple.com>
2308
2309         Remove AlwaysInline.h from WTF
2310         https://bugs.webkit.org/show_bug.cgi?id=115727
2311
2312         Reviewed by Brent Fulgham.
2313
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.
2316
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:
2324         * wtf/PassRefPtr.h:
2325         * wtf/dtoa.cpp:
2326         * wtf/gobject/GRefPtr.h:
2327
2328 2013-05-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2329
2330         HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
2331         https://bugs.webkit.org/show_bug.cgi?id=115646
2332
2333         Reviewed by Darin Adler.
2334
2335         HashTraits<RefPtr<P> >::PeekType should be raw pointer so that we
2336         can obviate multiple RefPtr copying when invoking HashMap<.., RefPtr>::get()
2337         method.
2338
2339         * wtf/HashTraits.h:
2340
2341 2013-05-06  Cosmin Truta  <ctruta@blackberry.com>
2342
2343         Cherry-pick fixes to bignum from upstream
2344         https://bugs.webkit.org/show_bug.cgi?id=115658
2345
2346         Reviewed by Darin Adler.
2347
2348         Cherry-picked the following change lists:
2349
2350         Fix bug in bignum implementation
2351         http://codereview.chromium.org/13454019
2352
2353         Make VS2005 project files compile without errors
2354         http://codereview.chromium.org/6286135
2355
2356         * wtf/dtoa/bignum.cc:
2357
2358 2013-05-06  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2359
2360         Change HashTraits<RefPtr<P> >::PassOutType to PassRefPtr for better performance
2361         https://bugs.webkit.org/show_bug.cgi?id=115410
2362
2363         Reviewed by Darin Adler.
2364
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.
2368
2369         * wtf/HashTable.h:
2370         (WTF::IdentityHashTranslator::equal):
2371         * wtf/HashTraits.h:
2372
2373 2013-05-05  Anders Carlsson  <andersca@apple.com>
2374
2375         Remove Vector::prepend
2376         https://bugs.webkit.org/show_bug.cgi?id=115618
2377
2378         Reviewed by Geoffrey Garen.
2379
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.
2383
2384         * wtf/HexNumber.h:
2385         (WTF::appendUnsignedAsHex):
2386         (WTF::appendUnsignedAsHexFixedSize):
2387         * wtf/Vector.h:
2388         (Vector):
2389
2390 2013-05-05  Anders Carlsson  <andersca@apple.com>
2391
2392         Remove the Vector::append overload that takes a Vector
2393         https://bugs.webkit.org/show_bug.cgi?id=115535
2394
2395         Reviewed by Andreas Kling.
2396
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.
2399
2400         * wtf/Vector.h:
2401         (Vector):
2402
2403 2013-05-04  Andreas Kling  <akling@apple.com>
2404
2405         Unreviewed, rolling out r149563.
2406         http://trac.webkit.org/changeset/149563
2407         https://bugs.webkit.org/show_bug.cgi?id=115587
2408
2409         Broke LLInt build.
2410
2411         * wtf/text/StringImpl.h:
2412         (StringImpl):
2413
2414 2013-05-04  Xan Lopez  <xlopez@igalia.com>
2415
2416         No need to declare JSC::LLInt::Data as friend class of WTF::StringImpl
2417         https://bugs.webkit.org/show_bug.cgi?id=115587
2418
2419         Reviewed by Andreas Kling.
2420
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.
2423
2424         * wtf/text/StringImpl.h:
2425         (StringImpl):
2426
2427 2013-05-03  Brent Fulgham  <bfulgham@webkit.org>
2428
2429         Make ThreadFunctionInvocation fast allocated.
2430         https://bugs.webkit.org/show_bug.cgi?id=115552
2431
2432         Reviewed by Benjamin Poulain.
2433
2434         * wtf/ThreadFunctionInvocation.h:
2435         (ThreadFunctionInvocation): Make Fast-allocated.
2436
2437 2013-05-03  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2438
2439         Remove WTF::ListRefPtr class
2440         https://bugs.webkit.org/show_bug.cgi?id=115516
2441
2442         Reviewed by Anders Carlsson.
2443
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.
2447
2448         This patch removes WTF::ListRefPtr class and moves its the functionality
2449         into FontFamily class.
2450
2451         * GNUmakefile.list.am:
2452         * WTF.pro:
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:
2458         * wtf/Forward.h:
2459         (WTF):
2460         * wtf/ListRefPtr.h: Removed.
2461
2462 2013-05-02  Brent Fulgham  <bfulgham@webkit.org>
2463
2464         [WinCairo] Unreviewed build fix.
2465
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.
2470
2471 2013-05-02  Brent Fulgham  <bfulgham@webkit.org>
2472
2473         [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html
2474         https://bugs.webkit.org/show_bug.cgi?id=115130
2475
2476         Reviewed by Tim Horton.
2477
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.
2483
2484         * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for
2485         the Windows build.
2486
2487 2013-05-02  Eric Carlson  <eric.carlson@apple.com>
2488
2489         Caption menu does not include in-band captions
2490         https://bugs.webkit.org/show_bug.cgi?id=111934
2491
2492         Reviewed by Dean Jackson.
2493
2494         * wtf/Platform.h: Define HAVE_AVFOUNDATION_TEXT_TRACK_SUPPORT on 10.8 and higher. Added
2495             HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT.
2496
2497 2013-05-02  Brent Fulgham  <bfulgham@webkit.org>
2498
2499         Make BloomFilter fast allocated.
2500         https://bugs.webkit.org/show_bug.cgi?id=115519
2501
2502         Reviewed by Benjamin Poulain.
2503
2504         * wtf/BloomFilter.h:
2505         (BloomFilter): Make BloomFilter Fast-allocated.
2506
2507 2013-05-01  Michael Saboff  <msaboff@apple.com>
2508
2509         FastMalloc.cpp should use system defined page size instead of literal constant
2510         https://bugs.webkit.org/show_bug.cgi?id=115502
2511
2512         Reviewed by Geoffrey Garen.
2513
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.
2516
2517         * wtf/FastMalloc.cpp:
2518         kPageShift: Changed this to be PAGE_SHIFT on mac.
2519
2520 2013-05-01  Roger Fong  <roger_fong@apple.com>
2521
2522         Set Path in makefile for AppleWin.
2523
2524         * WTF.vcxproj/WTF.make:
2525
2526 2013-05-01  Anders Carlsson  <andersca@apple.com>
2527
2528         Add FunctionDispatcher class and make RunLoop derive from it
2529         https://bugs.webkit.org/show_bug.cgi?id=115480
2530
2531         Reviewed by Sam Weinig.
2532
2533         Add FunctionDispatcher files.
2534
2535         * WTF.pro:
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.
2543
2544 2013-05-01  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2545
2546         [Qt][Win] Fix build after r149416.
2547         https://bugs.webkit.org/show_bug.cgi?id=115474
2548
2549         Reviewed by Anders Carlsson.
2550
2551         * WTF.pro:
2552         * wtf/threads/BinarySemaphore.h:
2553         (BinarySemaphore):
2554
2555 2013-05-01  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2556
2557         [Qt] Unreviewed buildfix after r149416.
2558
2559         * WTF.pro:
2560
2561 2013-04-30  Anders Carlsson  <andersca@apple.com>
2562
2563         Remove the WebKit2 BinarySemaphore class
2564         https://bugs.webkit.org/show_bug.cgi?id=115458
2565
2566         Reviewed by Benjamin Poulain.
2567
2568         * wtf/Forward.h:
2569         Add BinarySemaphore forward declaration.
2570
2571         * wtf/threads/BinarySemaphore.h:
2572         Add WTF_EXPORT_PRIVATE to declarations.
2573
2574 2013-04-30  Commit Queue  <rniwa@webkit.org>
2575
2576         Unreviewed, rolling out r149408.
2577         http://trac.webkit.org/changeset/149408
2578         https://bugs.webkit.org/show_bug.cgi?id=115453
2579
2580         Broke Windows Build (Requested by bfulgham on #webkit).
2581
2582         * wtf/Platform.h:
2583
2584 2013-04-30  Brent Fulgham  <bfulgham@webkit.org>
2585
2586         [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html
2587         https://bugs.webkit.org/show_bug.cgi?id=115130
2588
2589         Reviewed by Tim Horton.
2590
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.
2596
2597         * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for
2598         the Windows build.
2599
2600 2013-04-30  Commit Queue  <rniwa@webkit.org>
2601
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
2606
2607          The Thumb version of compileSoftModulo make invalid use of
2608         registers (Requested by benjaminp on #webkit).
2609
2610         * wtf/Platform.h:
2611
2612 2013-04-30  Darin Adler  <darin@apple.com>
2613
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
2616
2617         Reviewed by Eric Carlson.
2618
2619         * wtf/RetainPtr.h:
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.
2623
2624 2013-04-30  Anders Carlsson  <andersca@apple.com>
2625
2626         String::isolatedCopy() can avoid a copy if the original is a temporary
2627         https://bugs.webkit.org/show_bug.cgi?id=115425
2628
2629         Reviewed by Darin Adler.
2630
2631         * wtf/Compiler.h:
2632         Add WTF_COMPILER_SUPPORTS_CXX_REFERENCE_QUALIFIED_FUNCTIONS define.
2633
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.
2641
2642 2013-04-30  Zalan Bujtas  <zalan@apple.com>
2643
2644         Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/
2645         https://bugs.webkit.org/show_bug.cgi?id=111244
2646
2647         Reviewed by David Kilzer.
2648         
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.
2653
2654         * wtf/FeatureDefines.h:
2655
2656 2013-04-29  Cosmin Truta  <ctruta@blackberry.com>
2657
2658         [ARM] Expand the use of integer division
2659         https://bugs.webkit.org/show_bug.cgi?id=115138
2660
2661         Reviewed by Benjamin Poulain.
2662
2663         * wtf/Platform.h: Added ENABLE_ARM_INTEGER_DIV.
2664
2665 2013-04-29  Anders Carlsson  <andersca@apple.com>
2666
2667         It should be an error to use adoptPtr with RefCounted subclasses
2668         https://bugs.webkit.org/show_bug.cgi?id=115389
2669
2670         Reviewed by Benjamin Poulain.
2671
2672         * wtf/PassOwnPtr.h:
2673         (WTF::adoptPtr):
2674         Add COMPILE_ASSERTs.
2675
2676 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2677
2678         [WIN] Add workaround for UNUSED_PARAM()
2679         https://bugs.webkit.org/show_bug.cgi?id=115350
2680
2681         Reviewed by Andreas Kling.
2682
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.
2686
2687         * wtf/UnusedParam.h:
2688
2689 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2690
2691         [WIN] Add WTF_USE_IMLANG_FONT_LINK2
2692         https://bugs.webkit.org/show_bug.cgi?id=115198
2693
2694         Reviewed by Andreas Kling.
2695
2696         * wtf/Platform.h:
2697
2698 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2699
2700         Define USE(ICU_UNICODE) if USE(WCHAR_UNICODE) is false
2701         https://bugs.webkit.org/show_bug.cgi?id=115349
2702
2703         Reviewed by Andreas Kling.
2704
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.
2707
2708         * wtf/Platform.h:
2709
2710 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2711
2712         Build fix for WinCE after r148888 and r149097
2713         https://bugs.webkit.org/show_bug.cgi?id=115168
2714
2715         Reviewed by Anders Carlsson.
2716
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.
2721
2722         * wtf/MathExtras.h:
2723         (wtf_atan2): Added extern "C" to function signature.
2724         (wtf_fmod): Ditto.
2725         (wtf_pow): Ditto.
2726
2727 2013-04-29  Carlos Garcia Campos  <cgarcia@igalia.com>
2728
2729         Unreviewed. Fix make distcheck.
2730
2731         * GNUmakefile.list.am: Add missing header file to compilation.
2732
2733 2013-04-27  Darin Adler  <darin@apple.com>
2734
2735         Move from constructor and member function adoptCF/NS to free function adoptCF/NS.
2736         https://bugs.webkit.org/show_bug.cgi?id=115307
2737
2738         Reviewed by Geoffrey Garen.
2739
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.
2749
2750 2013-04-26  Geoffrey Garen  <ggaren@apple.com>
2751
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
2754
2755         Reviewed by Filip Pizlo.
2756
2757         Added a helper constructor for TriState so clients can make one without
2758         branching or making assumptions about the integer values of TriStates.
2759
2760         * wtf/TriState.h:
2761         (WTF::triState):
2762         (WTF):
2763
2764 2013-04-26  Roger Fong  <roger_fong@apple.com>
2765
2766         Make Apple Windows VS2010 build results into and get dependencies from __32 suffixed folders.
2767         Make the DebugSuffix configuration use _debug dependencies.
2768
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):
2784
2785 2013-04-26  Martin Robinson  <mrobinson@igalia.com>
2786
2787         Remove the remaining Skia #ifdefs
2788         https://bugs.webkit.org/show_bug.cgi?id=114886
2789
2790         Reviewed by Benjamin Poulain.
2791
2792         * wtf/Platform.h:
2793
2794 2013-04-26  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2795
2796         Add move semantics to RefPtr
2797         https://bugs.webkit.org/show_bug.cgi?id=115033
2798
2799         Reviewed by Anders Carlsson.
2800
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.
2805
2806         * wtf/RefPtr.h:
2807         (RefPtr):
2808         (WTF::RefPtr::RefPtr):
2809         (WTF::RefPtr::operator=):
2810
2811 2013-04-26  Andreas Kling  <akling@apple.com>
2812
2813         Remove wxWebKit from WTF.
2814         <http://webkit.org/b/115249>
2815
2816         Reviewed by Antti Koivisto.
2817
2818         * wscript: Removed.
2819         * wtf/ArrayBufferView.h:
2820         (ArrayBufferView):
2821         * wtf/CurrentTime.cpp:
2822         * wtf/DisallowCType.h:
2823         * wtf/ExportMacros.h:
2824         * wtf/FeatureDefines.h:
2825         * wtf/Platform.h:
2826         * wtf/text/WTFString.h:
2827         (String):
2828         * wtf/wx/MainThreadWx.cpp: Removed.
2829         * wtf/wx/StringWx.cpp: Removed.
2830
2831 2013-04-25  Filip Pizlo  <fpizlo@apple.com>
2832
2833         Unreviewed, roll out http://trac.webkit.org/changeset/148999
2834         It broke http://kripken.github.io/ammo.js/examples/new/ammo.html
2835
2836         * wtf/TriState.h:
2837
2838 2013-04-25  Oliver Hunt  <oliver@apple.com>
2839
2840         Fix 32bit build
2841
2842         * wtf/StackBounds.cpp:
2843         (WTF::StackBounds::initialize):
2844
2845 2013-04-25  Oliver Hunt  <oliver@apple.com>
2846
2847         Stack guards are too conservative
2848         https://bugs.webkit.org/show_bug.cgi?id=115147
2849
2850         Reviewed by Mark Hahnenberg.
2851
2852         Use getrlimit on darwin to get the stack size for the main thread.
2853
2854         * wtf/StackBounds.cpp:
2855         (WTF::StackBounds::initialize):
2856
2857 2013-04-25  Andreas Kling  <akling@apple.com>
2858
2859         Remove ENABLE(PARSED_STYLE_SHEET_CACHING) and make it always-on.
2860
2861         Rubber-stamped by Anders Koivisto.
2862
2863         * wtf/FeatureDefines.h:
2864
2865 2013-04-25  peavo@outlook.com  <peavo@outlook.com>
2866
2867         [Windows] Compile fix.
2868         https://bugs.webkit.org/show_bug.cgi?id=115170
2869
2870         Reviewed by Filip Pizlo.
2871
2872         Forward declare function, instead of including intrin.h.
2873
2874         * wtf/Atomics.h:
2875
2876 2013-04-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2877
2878         Use std::move in AtomicString
2879         https://bugs.webkit.org/show_bug.cgi?id=115102
2880
2881         Reviewed by Anders Carlsson.
2882
2883         Use std::move in AtomicString instead of direct casting to rvalue references.
2884
2885         * wtf/text/AtomicString.h:
2886         (AtomicString):
2887         (WTF::AtomicString::AtomicString):
2888         (WTF::AtomicString::operator=):
2889
2890 2013-04-25  Patrick Gansterer  <paroga@webkit.org>
2891
2892         Unreviewed WinCE build fix after r148888.
2893
2894         * wtf/Atomics.h: WinCE version of intrin.h is called cmnintrin.h.
2895
2896 2013-04-24  Roger Fong  <roger_fong@apple.com>
2897
2898         Have VS2010 WebKit solution look in WebKit_Libraries/lib32 for dependencies.
2899
2900         * WTF.vcxproj/build-generated-files.sh:
2901
2902 2013-04-24  Benjamin Poulain  <benjamin@webkit.org>
2903
2904         Use post-branch store for RefCountedBase::derefBase
2905         https://bugs.webkit.org/show_bug.cgi?id=115078
2906
2907         Reviewed by Andreas Kling.
2908
2909         * wtf/RefCounted.h:
2910         (WTF::RefCountedBase::derefBase): This makes the assembly easier to follow.
2911
2912 2013-04-23  Geoffrey Garen  <ggaren@apple.com>
2913
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
2916
2917         Reviewed by Filip Pizlo.
2918
2919         Added a helper constructor for TriState so clients can make one without
2920         branching or making assumptions about the integer values of TriStates.
2921
2922         * wtf/TriState.h:
2923         (WTF::triState):
2924         (WTF):
2925
2926 2013-04-23  Roger Fong  <roger_fong@apple.com>
2927
2928         AppleWin build fix.
2929
2930         * WTF.vcproj/WTF.vcproj:
2931
2932 2013-04-23  Benjamin Poulain  <bpoulain@apple.com>
2933
2934         Remove unused code of RefCounted after chromium removal
2935         https://bugs.webkit.org/show_bug.cgi?id=115009
2936
2937         Reviewed by Ryosuke Niwa.
2938
2939         * wtf/RefCounted.h:
2940         (WTF::RefCountedBase::refCount):
2941         (RefCountedBase):
2942         It looks like addressOfCount() is no longer needed.
2943         Also change the type back to unsigned as it make more sense.
2944
2945 2013-04-23  David Kilzer  <ddkilzer@apple.com>
2946
2947         RetainPtr.h should compile with -Wshorten-64-to-32
2948         <http://webkit.org/b/115047>
2949
2950         Reviewed by Anders Carlsson.
2951
2952         Fixes the following warning:
2953
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                         ~~~~~~ ^~~~~~~~~~~~~~~
2957
2958         * wtf/RetainPtr.h:
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.
2963
2964 2013-04-22  Patrick Gansterer  <paroga@webkit.org>
2965
2966         [CMake] Move NullPtr.cpp from PlatformWinCE.cmake to CMakeLists.txt
2967         https://bugs.webkit.org/show_bug.cgi?id=114557
2968
2969         Reviewed by Laszlo Gombos.
2970
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.
2974
2975         * wtf/CMakeLists.txt:
2976         * wtf/PlatformWinCE.cmake:
2977
2978 2013-04-22  Benjamin Poulain  <benjamin@webkit.org>
2979
2980         Remove the memory instrumentation code
2981         https://bugs.webkit.org/show_bug.cgi?id=114931
2982
2983         Reviewed by Andreas Kling.
2984
2985         On Mac x86_64, the code removal cause the binary to be
2986         9224 bytes smaller.
2987
2988         * GNUmakefile.list.am:
2989         * WTF.pro:
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:
2995         * wtf/Forward.h:
2996         * wtf/ListHashSet.h:
2997         (ListHashSet):
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:
3016
3017 2013-04-22  David Kilzer  <ddkilzer@apple.com>
3018
3019         StringImpl.h should compile with -Wshorten-64-to-32
3020         <http://webkit.org/b/114970>
3021
3022         Reviewed by Darin Adler.
3023
3024         Fixes the following warnings with -Wshorten-64-to-32:
3025
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                              ~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3029
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.
3034
3035 2013-04-22  Andreas Kling  <akling@apple.com>
3036
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>
3040
3041         Reviewed by Sam Weinig.
3042
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.
3046
3047         The WTF::Vector API still uses size_t.
3048
3049         Based on Blink r148313 by <cevans@chromium.org>.
3050
3051         * wtf/SizeLimits.cpp:
3052         * wtf/Vector.h:
3053         (WTF::VectorBufferBase::allocateBuffer):
3054         (WTF::VectorBufferBase::tryAllocateBuffer):
3055         (VectorBufferBase):
3056         (WTF::VectorBuffer::shouldReallocateBuffer):
3057         (Vector):
3058         (WTF::Vector::Vector):
3059         (WTF::Vector::capacity):
3060         (WTF::Vector::at):
3061         (WTF::Vector::data):
3062         (WTF::Vector::swap):
3063         (WTF::::Vector):
3064         (WTF::::reserveCapacity):
3065         (WTF::::tryReserveCapacity):
3066         (WTF::::reserveInitialCapacity):
3067         (WTF::::shrinkCapacity):
3068         (WTF::::releaseBuffer):
3069
3070 2013-04-21  Filip Pizlo  <fpizlo@apple.com>
3071
3072         Memory barrier support should also ensure that we always do a compiler fence
3073         https://bugs.webkit.org/show_bug.cgi?id=114934
3074
3075         Reviewed by Michael Saboff.
3076         
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.
3086         
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.
3089         
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.
3092         
3093         Performance testing of this change in dfgFourthTier showed no regression.
3094
3095         * wtf/Atomics.h:
3096         (WTF::compilerFence):
3097         (WTF::armV7_dmb):
3098         (WTF::armV7_dmb_st):
3099         (WTF::loadLoadFence):
3100         (WTF::loadStoreFence):
3101         (WTF::storeLoadFence):
3102         (WTF::storeStoreFence):
3103         (WTF::memoryBarrierAfterLock):
3104         (WTF::memoryBarrierBeforeUnlock):
3105         (WTF::x86_mfence):
3106
3107 2013-04-22  David Kilzer  <ddkilzer@apple.com>
3108
3109         WTF::AtomicString::find() should take unsigned 'start' argument
3110         <http://webkit.org/b/114958>
3111
3112         Reviewed by Darin Adler.
3113
3114         Fixes the following warnings with -Wshorten-64-to-32:
3115
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); }
3118                                                                       ~~~~~~~~         ^~~~~
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); }
3121                              ~~~~~~~~         ^~~~~
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); }
3124                              ~~~~~~~~         ^~~~~
3125
3126         * wtf/text/AtomicString.h:
3127         (WTF::AtomicString::find): Change type of 'start' argument from
3128         size_t to unsigned.
3129
3130 2013-04-21  Benjamin Poulain  <benjamin@webkit.org>
3131
3132         Improve StringImpl code density for older ARM hardware
3133         https://bugs.webkit.org/show_bug.cgi?id=114898
3134
3135         Reviewed by Geoffrey Garen.
3136
3137         Reduce the number of instructions needed for StringImpl::deref
3138         on older ARM hardware.
3139
3140         The extra indirection should have a negligible impact on x86_64.
3141
3142         * wtf/text/StringImpl.cpp:
3143         (WTF::StringImpl::destroy):
3144         * wtf/text/StringImpl.h:
3145         (StringImpl):
3146         (WTF::StringImpl::deref):
3147
3148 2013-04-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3149
3150         LLint should be able to use x87 instead of SSE for floating pointer
3151         https://bugs.webkit.org/show_bug.cgi?id=112239
3152
3153         Reviewed by Filip Pizlo.
3154
3155         Disable GTK workaround now that LLInt does not require SSE2.
3156
3157         * wtf/Platform.h:
3158
3159 2013-04-19  Roger Fong  <roger_fong@apple.com>
3160
3161         Remove uses of WebKit_Source from AppleWin build in WTF.
3162
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):
3168
3169 2013-04-19  Benjamin Poulain  <benjamin@webkit.org>
3170
3171         Remove the declaration of MemoryObjectInfo from StringImpl
3172         https://bugs.webkit.org/show_bug.cgi?id=114788
3173
3174         Reviewed by Andreas Kling.
3175
3176         * wtf/text/StringImpl.h: The declaration is an other left over from chromium.
3177
3178 2013-04-19  Benjamin Poulain  <benjamin@webkit.org>
3179
3180         Make StringImpl::cost const
3181         https://bugs.webkit.org/show_bug.cgi?id=114790
3182
3183         Reviewed by Andreas Kling.
3184
3185         * wtf/text/StringImpl.h:
3186         (WTF::StringImpl::cost):
3187
3188 2013-04-19  Roger Fong  <roger_fong@apple.com>
3189
3190         Unreviewed. WebKit_Source is incorrectly set.
3191
3192         * WTF.vcxproj/WTF.make:
3193
3194 2013-04-19  Alberto Garcia  <agarcia@igalia.com>
3195
3196         OSAllocatorPosix: fix build warnings about unused parameters in QNX
3197         https://bugs.webkit.org/show_bug.cgi?id=114859
3198
3199         Reviewed by Carlos Garcia Campos.
3200
3201         * wtf/OSAllocatorPosix.cpp:
3202         (WTF::OSAllocator::reserveUncommitted):
3203
3204 2013-04-19  Dan Beam  <dbeam@chromium.org>
3205
3206         Remove unmaintained feature REQUEST_AUTOCOMPLETE
3207         https://bugs.webkit.org/show_bug.cgi?id=114846
3208
3209         Reviewed by Kent Tamura.
3210
3211         * wtf/FeatureDefines.h: Remove REQUEST_AUTOCOMPLETE as a feature definition.
3212
3213 2013-04-18  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
3214
3215         Speculative build fix for Qt Mountain Lion Release after r148639.
3216         https://bugs.webkit.org/show_bug.cgi?id=114793
3217
3218         Reviewed by Michael Saboff.
3219
3220         * wtf/CurrentTime.cpp:
3221
3222 2013-04-17  Mark Lam  <mark.lam@apple.com>
3223
3224         Added currentCPUTime() and currentCPUTimeMS().
3225         https://bugs.webkit.org/show_bug.cgi?id=114577.
3226
3227         Reviewed by Geoffrey Garen.
3228
3229         The currentCPUTime() implementation came from the old TimeoutChecker.cpp.
3230
3231         * wtf/CurrentTime.cpp:
3232         (WTF::currentCPUTime):
3233         (WTF::currentCPUTimeMS):
3234         * wtf/CurrentTime.h:
3235
3236 2013-04-17  Ryosuke Niwa  <rniwa@webkit.org>
3237
3238         REGRESSION(r148584): WebKit nightly builds don't load any page
3239         https://bugs.webkit.org/show_bug.cgi?id=114752
3240
3241         Reviewed by Anders Carlsson.
3242
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:
3245         
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
3251         else
3252         TEXT_PREPROCESSOR_FLAGS=-E -P -x c -std=c89 -w
3253         endif
3254
3255         * wtf/Platform.h:
3256
3257 2013-04-17  Brent Fulgham  <bfulgham@webkit.org>
3258
3259         [Windows, WinCairo] Remove Include Settings for Pthreads from WTF
3260         https://bugs.webkit.org/show_bug.cgi?id=114694
3261
3262         Reviewed by Ryosuke Niwa.
3263
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
3267         builds.
3268
3269 2013-04-16  Oliver Hunt  <oliver@apple.com>
3270
3271         Harden FastMalloc against partial pointer overflows
3272         https://bugs.webkit.org/show_bug.cgi?id=114716
3273
3274         Reviewed by Gavin Barraclough.
3275
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.
3282
3283         * wtf/FastMalloc.cpp:
3284         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3285
3286 2013-04-16  Sam Weinig  <sam@webkit.org>
3287
3288         Fix fallout after r148545.
3289
3290         * wtf/Platform.h:
3291         Move Platform defines that were incorrectly in WebCore, into Platform.h
3292
3293 2013-04-15  Commit Queue  <rniwa@webkit.org>
3294
3295         Unreviewed, rolling out r148488.
3296         http://trac.webkit.org/changeset/148488
3297         https://bugs.webkit.org/show_bug.cgi?id=114660
3298
3299         Roll back in r148462 since it was a false positive. (Requested
3300         by rniwa on #webkit).
3301
3302         * wtf/FastMalloc.cpp:
3303         (WTF):
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):
3312
3313 2013-04-15  Commit Queue  <rniwa@webkit.org>
3314
3315         Unreviewed, rolling out r148462.
3316         http://trac.webkit.org/changeset/148462
3317         https://bugs.webkit.org/show_bug.cgi?id=114658
3318
3319         Broke Windows builds (Requested by rniwa on #webkit).
3320
3321         * wtf/FastMalloc.cpp:
3322         (WTF):
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):
3331
3332 2013-04-15  Julien Brianceau  <jbrianceau@nds.com>
3333
3334         LLInt SH4 backend implementation
3335         https://bugs.webkit.org/show_bug.cgi?id=112886
3336
3337         Reviewed by Oliver Hunt.
3338
3339         * wtf/Platform.h:
3340
3341 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
3342
3343         [CMake] Add WTF_USE_*_UNICODE variables
3344         https://bugs.webkit.org/show_bug.cgi?id=114556
3345
3346         Reviewed by Brent Fulgham.
3347
3348         WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to
3349         reduce duplication in the platform specific CMake files.
3350
3351         * wtf/CMakeLists.txt:
3352         * wtf/PlatformBlackBerry.cmake:
3353         * wtf/PlatformEfl.cmake:
3354         * wtf/PlatformWinCE.cmake:
3355
3356 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
3357
3358         [WIN] Remove remaining calls to pthread from WTF
3359         https://bugs.webkit.org/show_bug.cgi?id=114563
3360
3361         Reviewed by Brent Fulgham.
3362
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.
3372
3373         * wtf/FastMalloc.cpp:
3374         * wtf/ThreadSpecificWin.cpp:
3375         (WTF::destructorsList):
3376         (WTF::destructorsMutex):
3377         (WTF::threadSpecificKeyCreate):
3378         (WTF::threadSpecificKeyDelete):
3379
3380 2013-04-14  Oliver Hunt  <oliver@apple.com>
3381
3382         Try to fix non-apple windows builds
3383
3384         * wtf/Platform.h:
3385
3386 2013-04-14  David Kilzer  <ddkilzer@apple.com>
3387
3388         Add EnumClass.h to project files
3389         <http://webkit.org/b/114582>
3390
3391         Rubber-stamped by Dan Bernstein.
3392
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.
3398
3399 2013-04-12  Oliver Hunt  <oliver@apple.com>
3400
3401         Apologies to all, I have no idea what happened to cause this change.
3402
3403         * wtf/Platform.h:
3404
3405 2013-04-12  Oliver Hunt  <oliver@apple.com>
3406
3407         [Qt][Win] r148257 broke the build
3408         https://bugs.webkit.org/show_bug.cgi?id=114512
3409
3410         Build fix.
3411
3412         * wtf/Platform.h:
3413
3414 2013-04-11  Oliver Hunt  <oliver@apple.com>
3415
3416         Add more type validation to debug builds
3417         https://bugs.webkit.org/show_bug.cgi?id=114478
3418
3419         Reviewed by Mark Hahnenberg.
3420
3421         Add BINDING_VALIDATION flag and make RELEASE_ASSERT use UNLIKELY.
3422
3423         * wtf/Assertions.h:
3424         * wtf/Platform.h:
3425
3426 2013-04-10  Thiago Marcos P. Santos  <thiago.santos@intel.com>
3427
3428         [WTF] Get rid of truncated thread name warnings for non-Windows platforms
3429         https://bugs.webkit.org/show_bug.cgi?id=114266
3430
3431         Reviewed by Ryosuke Niwa.
3432
3433         Hide the annoying message from ports that are not really interested
3434         about it.
3435
3436         * wtf/Threading.cpp:
3437         (WTF::createThread):
3438
3439 2013-04-10  Benjamin Poulain  <bpoulain@apple.com>
3440
3441         Mass remove all the empty directories
3442
3443         Rubberstamped by Ryosuke Niwa.
3444
3445         * wtf/qt/compat: Removed.
3446         * wtf/unicode/glib: Removed.
3447         * wtf/unicode/qt4: Removed.
3448         * wtf/unicode/wince: Removed.
3449
3450 2013-04-08  Anders Carlsson  <andersca@apple.com>
3451
3452         Remove unneeded headers from FrameLoader.h
3453         https://bugs.webkit.org/show_bug.cgi?id=114223
3454
3455         Reviewed by Geoffrey Garen.
3456
3457         * wtf/Forward.h:
3458         Add PrintStream.
3459
3460         * wtf/HashTable.h:
3461         Don't include DataLog.h unless DUMP_HASHTABLE_STATS_PER_TABLE is 1.
3462
3463 2013-04-10  Laszlo Gombos  <l.gombos@samsung.com>
3464
3465         Remove ENABLE_3D_PLUGIN
3466         https://bugs.webkit.org/show_bug.cgi?id=108002
3467
3468         Reviewed by Antti Koivisto.
3469
3470         Remove ENABLE_3D_PLUGIN, it was only used by Chromium.
3471
3472         * wtf/FeatureDefines.h:
3473
3474 2013-04-09  Patrick Gansterer  <paroga@webkit.org>
3475
3476         [CMake] Remove conditional source file lists in WTF
3477         https://bugs.webkit.org/show_bug.cgi?id=114250
3478
3479         Reviewed by Laszlo Gombos.
3480
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.
3484
3485         * wtf/CMakeLists.txt:
3486
3487 2013-04-08  Ryosuke Niwa  <rniwa@webkit.org>
3488
3489         Remove WTF.gyp/WTF.gypi
3490         https://bugs.webkit.org/show_bug.cgi?id=114237
3491
3492         Reviewed by Maciej Stachowiak.
3493
3494         * WTF.gyp: Removed.
3495         * WTF.gyp/.gitignore: Removed.
3496         * WTF.gyp/WTF.gyp: Removed.
3497         * WTF.gypi: Removed.
3498
3499 2013-04-08  Benjamin Poulain  <benjamin@webkit.org>
3500
3501         Remove HTML Notification
3502         https://bugs.webkit.org/show_bug.cgi?id=114231
3503
3504         Reviewed by Ryosuke Niwa.
3505
3506         * wtf/FeatureDefines.h:
3507
3508 2013-04-08  Benjamin Poulain  <benjamin@webkit.org>
3509
3510         wtf/dtoa/* uses a confusing name to reference its buffers
3511         https://bugs.webkit.org/show_bug.cgi?id=109709
3512
3513         Reviewed by Darin Adler.
3514
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.
3517
3518         Rename it to BufferReference to avoid mistakes.
3519
3520         * wtf/dtoa/bignum-dtoa.cc:
3521         * wtf/dtoa/bignum-dtoa.h:
3522         * wtf/dtoa/bignum.cc:
3523         * wtf/dtoa/bignum.h:
3524         (Bignum):
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):
3534         * wtf/dtoa/utils.h:
3535         (double_conversion):
3536         (WTF::double_conversion::BufferReference::BufferReference):
3537         (WTF::double_conversion::BufferReference::SubBufferReference):
3538         (StringBuilder):
3539
3540 2013-04-08  Alberto Garcia  <agarcia@igalia.com>
3541
3542         [BlackBerry] MathExtras: macros defined in math.h conflict with the real functions
3543         https://bugs.webkit.org/show_bug.cgi?id=112683
3544
3545         Reviewed by Darin Adler.
3546
3547         After calls to signbit and friends were prefixed with std:: in
3548         r143232, the BlackBerry port no longer compiles.
3549
3550         The solution is to get rid of the macros defined in math.h and use
3551         the real functions instead.
3552
3553         * wtf/MathExtras.h:
3554
3555 2013-04-08  Max Vujovic  <mvujovic@adobe.com>
3556
3557         REGRESSION (r147502): Animations of CA filters broken
3558         https://bugs.webkit.org/show_bug.cgi?id=114067
3559
3560         Reviewed by Dean Jackson.
3561
3562         Revert r147502 [1] because it broke CA filter animations.
3563         
3564         [1]: http://trac.webkit.org/changeset/147502
3565
3566         * wtf/Platform.h:
3567
3568 2013-04-08  Andreas Kling  <akling@apple.com>
3569
3570         REGRESSION(r147894): Broke WTFReportBacktrace() on Mac.
3571         <http://webkit.org/b/114174>
3572
3573         Reviewed by Anders Carlsson.
3574
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).
3577
3578         * wtf/Assertions.cpp:
3579
3580 2013-04-08  Oliver Hunt  <oliver@apple.com>
3581
3582         Build fix.
3583
3584         Remove unnecessary include of <wtf/Forward.h> from Vector.h
3585
3586         * wtf/Vector.h:
3587
3588 2013-04-08  Csaba Osztrogonác  <ossy@webkit.org>
3589
3590         Unreviewed trivial buildfix after r147799.
3591
3592         Add an ifdef guard to ensure Qt uses its own monotonicallyIncreasingTime()
3593         implemenation instead of the GLIB based one.
3594
3595         * wtf/CurrentTime.cpp:
3596         (WTF):
3597
3598 2013-04-07  Benjamin Poulain  <benjamin@webkit.org>
3599
3600         Remove the android code from WebKit Template Framework
3601         https://bugs.webkit.org/show_bug.cgi?id=114138
3602
3603         Reviewed by Dirk Schulze.
3604
3605         * wtf/Assertions.cpp:
3606         * wtf/Atomics.h:
3607         * wtf/MathExtras.h:
3608         * wtf/Platform.h:
3609         * wtf/ThreadIdentifierDataPthreads.cpp:
3610
3611 2013-04-07  Oliver Hunt  <oliver@apple.com>
3612
3613         Add bounds checking for WTF::Vector::operator[]
3614         https://bugs.webkit.org/show_bug.cgi?id=89600
3615
3616         Reviewed by Filip Pizlo.
3617
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.
3621
3622         * wtf/Forward.h:
3623         (WTF):
3624         * wtf/Vector.h:
3625         (WTF):
3626         (Vector):
3627         (WTF::Vector::at):
3628         (WTF::Vector::removeLast):
3629         (WTF::::Vector):
3630         (WTF::=):
3631         (WTF::::contains):
3632         (WTF::::find):
3633         (WTF::::reverseFind):
3634         (WTF::::fill):
3635         (WTF::::appendRange):
3636         (WTF::::expandCapacity):
3637         (WTF::::tryExpandCapacity):
3638         (WTF::::resize):
3639         (WTF::::shrink):
3640         (WTF::::grow):
3641         (WTF::::reserveCapacity):
3642         (WTF::::tryReserveCapacity):
3643         (WTF::::reserveInitialCapacity):
3644         (WTF::::shrinkCapacity):
3645         (WTF::::append):
3646         (WTF::::tryAppend):
3647         (WTF::::appendSlowCase):
3648         (WTF::::uncheckedAppend):
3649         (WTF::::appendVector):
3650         (WTF::::insert):
3651         (WTF::::prepend):
3652         (WTF::::remove):
3653         (WTF::::reverse):
3654         (WTF::::releaseBuffer):
3655         (WTF::::checkConsistency):
3656         (WTF::deleteAllValues):
3657         (WTF::swap):
3658         (WTF::operator==):
3659         (WTF::operator!=):
3660
3661 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
3662
3663         [WIN] Fix problems with export macros of AutodrainedPool
3664         https://bugs.webkit.org/show_bug.cgi?id=114132
3665
3666         Reviewed by Geoffrey Garen.
3667
3668         Exporting an inline function results in an error with the MS compiler.
3669
3670         * wtf/AutodrainedPool.h:
3671         (AutodrainedPool):
3672         (WTF::AutodrainedPool::AutodrainedPool):
3673         (WTF::AutodrainedPool::~AutodrainedPool):
3674         (WTF::AutodrainedPool::cycle):
3675
3676 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
3677
3678         [WinCE] Add workaround for UNUSED_PARAM()
3679         https://bugs.webkit.org/show_bug.cgi?id=113440
3680
3681         Reviewed by Benjamin Poulain.
3682
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.
3686
3687         * wtf/UnusedParam.h:
3688
3689 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
3690
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
3693
3694         Reviewed by Benjamin Poulain.
3695
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.
3698
3699         * wtf/Platform.h:
3700
3701 2013-04-07  David Kilzer  <ddkilzer@apple.com>
3702
3703         Remove the rest of SVG_DOM_OBJC_BINDINGS
3704         <http://webkit.org/b/114112>
3705
3706         Reviewed by Geoffrey Garen.
3707
3708         * wtf/FeatureDefines.h:
3709         - Remove ENABLE_SVG_DOM_OBJC_BINDINGS macro.
3710
3711 2013-04-06  Geoffrey Garen  <ggaren@apple.com>
3712
3713         Removed v8 bindings hooks from IDL files
3714         https://bugs.webkit.org/show_bug.cgi?id=114091
3715
3716         Reviewed by Anders Carlsson and Sam Weinig.
3717
3718         * wtf/ArrayBuffer.h:
3719         (WTF):
3720         (WTF::ArrayBufferContents::ArrayBufferContents):
3721         (WTF::ArrayBufferContents::transfer):
3722         (ArrayBufferContents):
3723         (ArrayBuffer):
3724         (WTF::ArrayBufferContents::~ArrayBufferContents):
3725         * wtf/Platform.h:
3726
3727 2013-04-05  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3728
3729         [GTK] Change from PLATFORM(GTK) to USE(GLIB) in WTF/CurrentTime.cpp
3730         https://bugs.webkit.org/show_bug.cgi?id=114061
3731
3732         Reviewed by Gustavo Noronha Silva.
3733
3734         Now other ports using GLib can use the correct implementation
3735         and not the fallback one without adding any other PLATFORM guards
3736         here.
3737
3738         * wtf/CurrentTime.cpp:
3739         (WTF):
3740
3741 2013-04-05  Geoffrey Garen  <ggaren@apple.com>
3742
3743         Made USE(JSC) unconditional
3744         https://bugs.webkit.org/show_bug.cgi?id=114058
3745
3746         Reviewed by Anders Carlsson.
3747
3748         * wtf/ThreadRestrictionVerifier.h:
3749         (WTF):
3750         * wtf/WTFThreadData.cpp:
3751         (WTF::WTFThreadData::WTFThreadData):
3752         (WTF::WTFThreadData::~WTFThreadData):
3753         * wtf/WTFThreadData.h:
3754         (WTFThreadData):
3755         * wtf/text/StringImpl.cpp:
3756         (WTF::StringImpl::~StringImpl):
3757
3758 2013-04-05  Roger Fong  <roger_fong@apple.com>
3759
3760         More VS2010 solution makefile fixes.
3761         <rdar://problem/13588964>
3762
3763         * WTF.vcxproj/WTF.make:
3764
3765 2013-04-05  Anders Carlsson  <andersca@apple.com>
3766
3767         Remove more dead Chromium code from WTF
3768         https://bugs.webkit.org/show_bug.cgi?id=114037
3769
3770         Reviewed by Allan Sandfeld Jensen.
3771
3772         * wtf/CurrentTime.cpp:
3773         (WTF):
3774         * wtf/DisallowCType.h:
3775         * wtf/ExportMacros.h:
3776         * wtf/MainThread.cpp:
3777         * wtf/Platform.h:
3778
3779 2013-04-05  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
3780
3781         [EFL] Disable GLOBAL_FAST_MALLOC_NEW by default.
3782         https://bugs.webkit.org/show_bug.cgi?id=114031
3783
3784         Reviewed by Alexis Menard.
3785
3786         Follow what some other ports already do and avoid globally overriding
3787         the `new' and `delete' operators with the ones in FastMalloc.
3788
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.
3793
3794         Commits 135666 and 121018 provide more information about this, as well
3795         as comment 6 in bug 89358.
3796
3797         * wtf/Platform.h:
3798
3799 2013-04-05  Benjamin Poulain  <bpoulain@apple.com>
3800
3801         Remove WTFURL from WebKit
3802         https://bugs.webkit.org/show_bug.cgi?id=113994
3803
3804         Reviewed by Ryosuke Niwa.
3805
3806         Painful, but that is for the best now :(
3807
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.
3846
3847 2013-04-04  Geoffrey Garen  <ggaren@apple.com>
3848
3849         Nixed the defunct chromium folder from WTF
3850         https://bugs.webkit.org/show_bug.cgi?id=113992
3851
3852         Reviewed by Ryosuke Niwa.
3853
3854         * wtf/chromium: Removed.
3855         * wtf/chromium/ChromiumThreading.h: Removed.
3856         * wtf/chromium/MainThreadChromium.cpp: Removed.
3857
3858 2013-04-04  Martin Robinson  <mrobinson@igalia.com>
3859
3860         [GTK] Remove the gyp build
3861         https://bugs.webkit.org/show_bug.cgi?id=113942
3862
3863         Reviewed by Gustavo Noronha Silva.
3864
3865         * WTF.gyp/WTFGTK.gyp: Removed.
3866
3867 2013-04-04  Anders Carlsson  <andersca@apple.com>
3868
3869         ObjcRuntimeExtras.h should use variadic templates
3870         https://bugs.webkit.org/show_bug.cgi?id=113941
3871
3872         Reviewed by Andreas Kling.
3873
3874         Reimplement wtfObjcMsgSend and wtfCallIMP as variadic function templates.
3875
3876         * wtf/ObjcRuntimeExtras.h:
3877         (wtfObjcMsgSend):
3878         (wtfCallIMP):
3879
3880 2013-04-04  Andras Becsi  <andras.becsi@digia.com>
3881
3882         Fix the build with GCC 4.8
3883         https://bugs.webkit.org/show_bug.cgi?id=113147
3884
3885         Reviewed by Allan Sandfeld Jensen.
3886
3887         Disable diagnostic warning -Wunused-local-typedefs for GCC 4.8
3888         since dummy typedefs are commonly used in the codebase.
3889
3890         * wtf/Compiler.h:
3891
3892 2013-04-03  Pratik Solanki  <psolanki@apple.com>
3893
3894         Enable HAVE_MADV_FREE_REUSE on iOS
3895         https://bugs.webkit.org/show_bug.cgi?id=113892
3896         <rdar://problem/12787563>
3897
3898         Reviewed by Mark Rowe.
3899
3900         * wtf/Platform.h:
3901
3902 2013-04-02  Ryosuke Niwa  <rniwa@webkit.org>
3903
3904         Remove code for Mac 10.5 and earlier from WTF and WebKit2
3905         https://bugs.webkit.org/show_bug.cgi?id=113844
3906
3907         Reviewed by Benjamin Poulain.
3908
3909         Removed the code for 10.5 and removed if-def for 10.6.
3910
3911         * wtf/FastMalloc.cpp:
3912         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3913         * wtf/Platform.h:
3914         * wtf/ThreadingPthreads.cpp:
3915         (WTF::initializeCurrentThreadInternal):
3916         * wtf/unicode/icu/CollatorICU.cpp:
3917         (WTF::Collator::userDefault):
3918
3919 2013-04-02  Max Vujovic  <mvujovic@adobe.com>
3920
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
3923
3924         Reviewed by Dean Jackson.
3925
3926         * wtf/Platform.h:
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
3930             capability.
3931
3932 2013-04-02  Yury Semikhatsky  <yurys@chromium.org>
3933
3934         Web Inspector: memory instrumentation for external arrays is broken
3935         https://bugs.webkit.org/show_bug.cgi?id=113790
3936
3937         Reviewed by Pavel Feldman.
3938
3939         * wtf/MemoryInstrumentationArrayBufferView.h: report buffer pointer as retaining one as
3940         we know that the pointer is not broken.
3941         (WTF::reportMemoryUsage):
3942
3943 2013-04-01  Han Shen  <shenhan@google.com>
3944
3945         Move definition of nested classes that inherit enclosing class outside class definition.
3946         https://bugs.webkit.org/show_bug.cgi?id=113454
3947
3948         Reviewed by Benjamin Poulain.
3949
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.
3955
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 -
3958
3959           template class <typename T>
3960           class HashMap {
3961             ... ...
3962             ... ...
3963           private:
3964             class HashMapKeysProxy;
3965
3966             // ERROR - nested class inherits enclosing class.
3967             class HashMapKeysProxy : private HashMap {
3968                 ... ...
3969             };
3970             ... ...
3971             ... ...
3972             class HashMapKeysProxy : private HashMap {
3973                 ... ...
3974             };
3975             ... ...
3976             ... ...
3977           };
3978
3979         Fixed as below:
3980           template class <typename T>
3981           class HashMap {
3982             ... ...
3983             ... ...
3984           private:
3985             class HashMapKeysProxy;
3986             class HashMapValuesProxy;
3987
3988             ... ...
3989             ... ...
3990           };
3991
3992           template <typename T>
3993           class HashMap<T>::HashMapKeysProxy : private HashMap<T> {
3994             ... ...
3995           };
3996
3997           template <typename T>
3998           class HashMap<T>::HashMapValuesProxy : private HashMap<T> {
3999             ... ...
4000           };
4001
4002         * wtf/HashMap.h:
4003         (HashMap):
4004         (WTF): Factor out nested class definition from enclosing class.
4005
4006 2013-03-31  Mark Hahnenberg  <mhahnenberg@apple.com>
4007
4008         Regions should be allocated from the same contiguous segment of virtual memory
4009         https://bugs.webkit.org/show_bug.cgi?id=113662
4010
4011         Reviewed by Filip Pizlo.
4012
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.
4016
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:
4021         (MetaAllocator):
4022
4023 2013-04-01  Yury Semikhatsky  <yurys@chromium.org>
4024
4025         Web Inspector: add memory instrumentation for StringBuffer
4026         https://bugs.webkit.org/show_bug.cgi?id=113507
4027
4028         Reviewed by Pavel Feldman.
4029
4030         Added memory instrumentation for StringBuffer.
4031
4032         * wtf/MemoryInstrumentationString.h:
4033         (WTF):
4034         (WTF::reportMemoryUsage):
4035
4036 2013-03-30  Tom Sepez  <tsepez@chromium.org>
4037
4038         View-source iframes are dangerous (and not very useful).
4039         https://bugs.webkit.org/show_bug.cgi?id=113345
4040
4041         Reviewed by Adam Barth.
4042
4043         * wtf/FeatureDefines.h:
4044         Default definition of ENABLE_VIEWSOURCE_ATTRIBUTE is enabled.
4045
4046 2013-03-27  Patrick Gansterer  <paroga@webkit.org>
4047
4048         Set WTF_ARM_ARCH_VERSION to correct value when used with MSVC
4049         https://bugs.webkit.org/show_bug.cgi?id=113436
4050
4051         Reviewed by Benjamin Poulain.
4052
4053         The Microsoft compiler defines _M_ARM with used ARM version.
4054
4055         * wtf/Platform.h:
4056
4057 2013-03-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
4058
4059         Support C++11 static_assert
4060         https://bugs.webkit.org/show_bug.cgi?id=113308
4061
4062         Reviewed by Alexey Proskuryakov.
4063
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++.
4067
4068         C11 _Static_assert is enabled for GCC when it has C11 support (gcc>=4.7 -std=c11).
4069
4070         * wtf/Assertions.h:
4071         * wtf/Compiler.h:
4072
4073 2013-03-25  Oliver Hunt  <oliver@apple.com>
4074
4075         RefCountedArray needs a size based constructor
4076         https://bugs.webkit.org/show_bug.cgi?id=113277
4077
4078         Reviewed by Benjamin Poulain.
4079
4080         Simple patch to add a size based constructor for RefCountedArray
4081         so that we can create an sharable array without a copy.
4082
4083         * wtf/RefCountedArray.h:
4084         (RefCountedArray):
4085         (WTF::RefCountedArray::RefCountedArray):
4086
4087 2013-03-26  James Robinson  <jamesr@chromium.org>
4088
4089         Compile fix - OS(WINDOWS), not OS(WIN).
4090
4091         * wtf/ProcessID.h:
4092         (WTF::getCurrentProcessID):
4093
4094 2013-03-26  James Robinson  <jamesr@chromium.org>
4095
4096         Fix compile for OS(WIN) != PLATFORM(WIN)
4097         https://bugs.webkit.org/show_bug.cgi?id=113356
4098
4099         Reviewed by Tim Horton.
4100
4101         * wtf/ProcessID.h:
4102         (WTF::getCurrentProcessID):
4103
4104 2013-03-23  Filip Pizlo  <fpizlo@apple.com>
4105
4106         JSC_enableProfiler=true should also cause JSGlobalData to save the profiler output somewhere
4107         https://bugs.webkit.org/show_bug.cgi?id=113144
4108
4109         Reviewed by Geoffrey Garen.
4110         
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().
4114
4115         * GNUmakefile.list.am:
4116         * WTF.gypi:
4117         * WTF.pro:
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.
4124         (WTF):
4125         (WTF::getCurrentProcessID):
4126         * wtf/text/StringImpl.cpp:
4127         (WTF::StringStats::printStats):
4128
4129 2013-03-25  Kent Tamura  <tkent@chromium.org>
4130
4131         Rename ENABLE_INPUT_TYPE_DATETIME
4132         https://bugs.webkit.org/show_bug.cgi?id=113254
4133
4134         Reviewed by Kentaro Hara.
4135
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.
4139
4140         * wtf/FeatureDefines.h:
4141
4142 2013-03-25  David Kilzer  <ddkilzer@apple.com>
4143
4144         WTF::binarySearchImpl() should compile with -Wshorten-64-to-32
4145         <http://webkit.org/b/113170>
4146
4147         Reviewed by Dan Bernstein.
4148
4149         Fixes the following build failure:
4150
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;
4153                         ~~~   ~~~~~~~~~~~^~~~
4154             1 error generated.
4155
4156         * wtf/StdLibExtras.h:
4157         (WTF::binarySearchImpl): Switch type from int to size_t.
4158
4159 2013-03-22  Benjamin Poulain  <bpoulain@apple.com>
4160
4161         Remove 2 bad branches from StringHash::equal() and CaseFoldingHash::equal()
4162         https://bugs.webkit.org/show_bug.cgi?id=113003
4163
4164         Reviewed by Eric Seidel.
4165
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()
4169         is called.
4170         Consequently, the two branches had a pass rate of zero when called from a HashMap code.
4171
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).
4174
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.
4178
4179         The functions are used for StringHash to avoid the useless branches.
4180
4181         * wtf/text/StringHash.h:
4182         (WTF::StringHash::equal):
4183         (WTF::CaseFoldingHash::equal):
4184         * wtf/text/StringImpl.cpp:
4185         (WTF::stringImplContentEqual):
4186         (WTF::equal):
4187         (WTF::equalNonNull):
4188         (WTF::equalIgnoringCase):
4189         (WTF::equalIgnoringCaseNonNull):
4190         (WTF::equalIgnoringNullity):
4191         * wtf/text/StringImpl.h:
4192         (WTF::equalIgnoringCase):
4193
4194 2013-03-22  Benjamin Poulain  <bpoulain@apple.com>
4195
4196         Name correctly the argument of StringImpl::setIsAtomic()
4197         https://bugs.webkit.org/show_bug.cgi?id=113000
4198
4199         Reviewed by Geoffrey Garen.
4200
4201         * wtf/text/StringImpl.h:
4202         (WTF::StringImpl::setIsAtomic):
4203         The argument was probably an unfortunate copy-paste from setIsIdentifier().
4204         Fix the name.
4205
4206 2013-03-22  Hajime Morrita  <morrita@google.com>
4207
4208         Custom Elements: "readyCallback" lifecycle callback should be called.
4209         https://bugs.webkit.org/show_bug.cgi?id=112538
4210
4211         Reviewed by Elliott Sprehn.
4212
4213         * wtf/HashSet.h:
4214         (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.
4215
4216 2013-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
4217
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
4222
4223         "r146534 caused perf regression on Chromium Linux x64"
4224         (Requested by yurys on #webkit).
4225
4226         * wtf/HashSet.h:
4227         (WTF):
4228         (WTF::copyToVector):
4229
4230 2013-03-21  Hajime Morrita  <morrita@google.com>
4231
4232         Custom Elements: "readyCallback" lifecycle callback should be called.
4233         https://bugs.webkit.org/show_bug.cgi?id=112538
4234
4235         Reviewed by Elliott Sprehn.
4236
4237         * wtf/HashSet.h:
4238         (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.
4239
4240 2013-03-21  Mark Lam  <mark.lam@apple.com>
4241
4242         Introducing String::findNextLineStart().
4243         https://bugs.webkit.org/show_bug.cgi?id=112957.
4244
4245         Reviewed by Geoffrey Garen.
4246
4247         This is replaces String::reverseFindLineTerminator() in the JSC
4248         debugger's code for computing column numbers.
4249
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):
4256
4257 2013-03-21  Adam Barth  <abarth@webkit.org>
4258
4259         HTMLNames should construct strings at compile time
4260         https://bugs.webkit.org/show_bug.cgi?id=112831
4261
4262         Reviewed by Darin Adler.
4263
4264         * wtf/text/StringImpl.h:
4265         (StringImpl):
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*>):
4276
4277 2013-03-21  Gabor Rapcsanyi  <rgabor@webkit.org>
4278
4279         Implement LLInt for CPU(ARM_TRADITIONAL)
4280         https://bugs.webkit.org/show_bug.cgi?id=97589
4281
4282         Reviewed by Zoltan Herczeg.
4283
4284         Enable LLInt for ARMv5 and ARMv7 traditional as well.
4285
4286         * wtf/Platform.h:
4287
4288 2013-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
4289
4290         Unreviewed, rolling out r146419.
4291         http://trac.webkit.org/changeset/146419
4292         https://bugs.webkit.org/show_bug.cgi?id=112870
4293
4294         Broke many tests on debug builds (Requested by rniwa_ on
4295         #webkit).
4296
4297         * wtf/text/StringImpl.h:
4298         (StringImpl):
4299
4300 2013-03-20  Adam Barth  <abarth@webkit.org>
4301
4302         HTMLNames should construct strings at compile time
4303         https://bugs.webkit.org/show_bug.cgi?id=112831
4304
4305         Reviewed by Darin Adler.
4306
4307         * wtf/text/StringImpl.h:
4308         (StringImpl):
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.
4313
4314 2013-03-20  Jessie Berlin  <jberlin@apple.com>
4315
4316         REGRESSION(r145592): AutodrainedPool.h. RunLoopTimer.h, SchedulePair.h are being copied into
4317         the wrong location
4318         https://bugs.webkit.org/show_bug.cgi?id=112833
4319
4320         Reviewed by Darin Adler.
4321
4322         * WTF.xcodeproj/project.pbxproj:
4323         Make sure those three headers are copied with the rest of the WTF headers.
4324
4325 2013-03-20  Mark Rowe  <mrowe@apple.com>
4326
4327         FastMalloc scavenge timer specifies an overly narrow leeway value.
4328
4329         Reviewed by Alexey Proskuryakov.
4330
4331         There's no need to allow only 1ms of leeway on a 2s timer.
4332
4333         * wtf/FastMalloc.cpp:
4334         (WTF::TCMalloc_PageHeap::initializeScavenger): Bump the leeway window
4335         to 10% of the scavenge timer.
4336
4337 2013-03-20  JungJik Lee  <jungjik.lee@samsung.com>
4338
4339         [EFL] Disable REQUEST_ANIMATION_FRAME_TIMER to render a new animation frame.
4340         https://bugs.webkit.org/show_bug.cgi?id=112114
4341
4342         Reviewed by Kenneth Rohde Christiansen.
4343
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.
4351
4352         The testing is covered by ManualTests/animation/transition-on-and-offscreen-animation.html
4353
4354         * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER.
4355
4356 2013-03-20  Mark Lam  <mark.lam@apple.com>
4357
4358         Introducing String::reverseFindLineTerminator().
4359         https://bugs.webkit.org/show_bug.cgi?id=112741.
4360
4361         Reviewed by Oliver Hunt.
4362
4363         This is needed by the JSC debugger code for computing column numbers.
4364
4365         * wtf/text/StringImpl.cpp:
4366         (WTF::StringImpl::reverseFindLineTerminator):
4367         * wtf/text/StringImpl.h:
4368         (StringImpl):
4369         (WTF::reverseFindLineTerminator):
4370         * wtf/text/WTFString.h:
4371         (WTF::String::reverseFindLineTerminator):
4372
4373 2013-03-19  Martin Robinson  <mrobinson@igalia.com>
4374
4375         Fix the WTF gyp build for GTK+.
4376