Unreviewed, build fix on the EFL port.
[WebKit-https.git] / Source / WTF / ChangeLog
1 2013-07-25  Ryuan Choi  <ryuan.choi@samsung.com>
2
3         Unreviewed, build fix on the EFL port.
4
5         * wtf/CMakeLists.txt: Added SixCharacterHash.cpp
6
7 2013-07-25  Gabor Rapcsanyi  <rgabor@webkit.org>
8
9         Unreviewed, build fix on the Qt port.
10
11         * WTF.pro: Add additional build files for the FTL.
12
13 2013-07-25  Zan Dobersek  <zdobersek@igalia.com>
14
15         Unreviewed, further GTK build fixing.
16
17         * GNUmakefile.am: Make libWTF.la depend on any changes made to the build targets list.
18         * GNUmakefile.list.am: Add SixCharacterHash source files to the build.
19
20 2013-07-25  Csaba Osztrogonác  <ossy@webkit.org>
21
22         [GTK] Similar fix to r153304.
23
24         * GNUmakefile.list.am:
25
26 2013-07-25  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
27
28         Build break in debug after r153134: StringImpl.h:640: undefined reference to `WTF::isCompilationThread()
29         https://bugs.webkit.org/show_bug.cgi?id=119077
30
31         Reviewed by Christophe Dumez.
32
33         * wtf/CMakeLists.txt:
34         Added CompilationThread.{h/cpp}.
35
36 2013-07-24  Filip Pizlo  <fpizlo@apple.com>
37
38         fourthTier: DFG IR dumps should be easier to read
39         https://bugs.webkit.org/show_bug.cgi?id=119050
40
41         Reviewed by Mark Hahnenberg.
42         
43         Added support for dumping values within a context. By default, if you say
44         print(inContext(value, context)) it calls value.dumpInContext(out, context)
45         instead of value.dump(out).
46         
47         Hoisted the support for six-character hashes out of JSC::CodeBlockHash into
48         WTF, in the form of SixCharacterHash.h.
49         
50         Added a helper for creating dump contexts where the inContext() dump will
51         just use a short string hash to "name" the object being dumped, and then
52         will print out the full dumps in an endnote to your dump.
53         
54         Added support for using CString as a hashtable key.
55
56         * WTF.xcodeproj/project.pbxproj:
57         * wtf/PrintStream.h:
58         (WTF):
59         (ValueInContext):
60         (WTF::ValueInContext::ValueInContext):
61         (WTF::ValueInContext::dump):
62         (WTF::inContext):
63         * wtf/SixCharacterHash.cpp: Added.
64         (WTF):
65         (WTF::sixCharacterHashStringToInteger):
66         (WTF::integerToSixCharacterHashString):
67         * wtf/SixCharacterHash.h: Added.
68         (WTF):
69         * wtf/StringHashDumpContext.h: Added.
70         (WTF):
71         (StringHashDumpContext):
72         (WTF::StringHashDumpContext::StringHashDumpContext):
73         (WTF::StringHashDumpContext::getID):
74         (WTF::StringHashDumpContext::dumpBrief):
75         (WTF::StringHashDumpContext::brief):
76         (WTF::StringHashDumpContext::isEmpty):
77         (WTF::StringHashDumpContext::dump):
78         * wtf/text/CString.cpp:
79         (WTF::CString::hash):
80         (WTF):
81         (WTF::operator<):
82         (WTF::CStringHash::equal):
83         * wtf/text/CString.h:
84         (WTF::CString::CString):
85         (CString):
86         (WTF::CString::isHashTableDeletedValue):
87         (WTF):
88         (WTF::CStringHash::hash):
89         (CStringHash):
90
91 2013-07-21  Filip Pizlo  <fpizlo@apple.com>
92
93         fourthTier: DFG Nodes should be able to abstractly tell you what they read and what they write
94         https://bugs.webkit.org/show_bug.cgi?id=118910
95
96         Reviewed by Sam Weinig.
97         
98         Fix compile goof in sortedListDump().
99
100         * wtf/ListDump.h:
101         (WTF::sortedListDump):
102
103 2013-07-16  Filip Pizlo  <fpizlo@apple.com>
104
105         fourthTier: NaturalLoops should be able to quickly answer questions like "what loops own this basic block"
106         https://bugs.webkit.org/show_bug.cgi?id=118750
107
108         Reviewed by Mark Hahnenberg.
109         
110         Add a utility function for inserting an element into a vector that has bounded size,
111         and where the insertion causes things to drop off the end.
112
113         * wtf/StdLibExtras.h:
114         (WTF):
115         (WTF::insertIntoBoundedVector):
116
117 2013-07-12  Filip Pizlo  <fpizlo@apple.com>
118
119         fourthTier: DFG should have an SSA form for use by FTL
120         https://bugs.webkit.org/show_bug.cgi?id=118338
121
122         Reviewed by Mark Hahnenberg.
123         
124         - Extend variadicity of PrintStream and dataLog.
125         
126         - Give HashSet the ability to add a span of things.
127         
128         - Give HashSet the ability to == another HashSet.
129         
130         - Note FIXME's in HashTable concerning copying performance, that affects
131           the way that the DFG now uses HashSets and HashMaps.
132         
133         - Factor out the bulk-insertion logic of JSC::DFG::InsertionSet into
134           WTF::Insertion, so that it can be used in more places.
135         
136         - Create a dumper for lists and maps.
137
138         * WTF.xcodeproj/project.pbxproj:
139         * wtf/DataLog.h:
140         (WTF):
141         (WTF::dataLog):
142         * wtf/HashSet.h:
143         (HashSet):
144         (WTF):
145         (WTF::::add):
146         (WTF::=):
147         * wtf/HashTable.h:
148         (WTF::::HashTable):
149         (WTF::=):
150         * wtf/Insertion.h: Added.
151         (WTF):
152         (Insertion):
153         (WTF::Insertion::Insertion):
154         (WTF::Insertion::index):
155         (WTF::Insertion::element):
156         (WTF::Insertion::operator<):
157         (WTF::executeInsertions):
158         * wtf/ListDump.h: Added.
159         (WTF):
160         (ListDump):
161         (WTF::ListDump::ListDump):
162         (WTF::ListDump::dump):
163         (MapDump):
164         (WTF::MapDump::MapDump):
165         (WTF::MapDump::dump):
166         (WTF::listDump):
167         (WTF::sortedListDump):
168         (WTF::lessThan):
169         (WTF::mapDump):
170         (WTF::sortedMapDump):
171         * wtf/PrintStream.h:
172         (PrintStream):
173         (WTF::PrintStream::print):
174
175 2013-07-02  Filip Pizlo  <fpizlo@apple.com>
176
177         Unreviewed, fix 32-bit build.
178
179         * wtf/Platform.h:
180
181 2013-07-02  Filip Pizlo  <fpizlo@apple.com>
182
183         fourthTier: FTL should use the equivalent of llvm opt -O2 by default
184         https://bugs.webkit.org/show_bug.cgi?id=118311
185
186         Reviewed by Mark Hahnenberg.
187         
188         * wtf/LLVMHeaders.h:
189
190 2013-06-27  Filip Pizlo  <fpizlo@apple.com>
191
192         fourthTier: JSC's disassembly infrastructure should be able to disassemble the code that LLVM generates
193         https://bugs.webkit.org/show_bug.cgi?id=118148
194
195         Reviewed by Anders Carlsson.
196         
197         We now use LLVM for two things: disassembler and FTL. Separate out the question
198         of whether we have LLVM (HAVE(LLVM)) from whether we want to use the LLVM
199         disassembler (USE(LLVM_DISASSEMBLER)) and whether we enable the FTL
200         (ENABLE(FTL_JIT)).
201         
202         Also move the cruft for including LLVM headers into WTF since now we use it in
203         a bunch of places, not all related to FTL. There's no obvious place to put that
204         file in JSC so I put it in WTF.
205
206         * WTF.xcodeproj/project.pbxproj:
207         * wtf/LLVMHeaders.h: Copied from Source/JavaScriptCore/ftl/FTLLLVMHeaders.h.
208         * wtf/Platform.h:
209
210 2013-06-25  Filip Pizlo  <fpizlo@apple.com>
211
212         fourthTier: DFG should support switch_string
213         https://bugs.webkit.org/show_bug.cgi?id=117967
214
215         Reviewed by Sam Weinig.
216         
217         Make it possible to compare a RefPtr<StringImpl> and a StringImpl* without
218         having to ref the StringImpl.
219
220         * wtf/text/StringHash.h:
221         (WTF::StringHash::equal):
222
223 2013-06-24  Filip Pizlo  <fpizlo@apple.com>
224
225         fourthTier: Count external memory usage towards heap footprint
226         https://bugs.webkit.org/show_bug.cgi?id=117948
227
228         Reviewed by Geoffrey Garen.
229
230         Expose some functionality needed for properly measuring StringImpl footprint.
231
232         * wtf/Atomics.h:
233         (WTF::weakCompareAndSwapSize):
234         (WTF):
235         * wtf/MathExtras.h:
236         (divideRoundedUp):
237         * wtf/text/StringImpl.h:
238         (WTF::StringImpl::cost):
239         (StringImpl):
240         (WTF::StringImpl::costDuringGC):
241         (WTF::StringImpl::refCount):
242
243 2013-06-23  Filip Pizlo  <fpizlo@apple.com>
244
245         fourthTier: DFG should optimize identifier string equality
246         https://bugs.webkit.org/show_bug.cgi?id=117920
247
248         Reviewed by Sam Weinig.
249
250         Note that this ChangeLog was supposed to be committed in r151890.
251         
252         Expose the IsIdentifier bit to the JIT.
253         
254         * wtf/text/StringImpl.h:
255         (WTF::StringImpl::flagIsIdentifier):
256
257 2013-06-18  Filip Pizlo  <fpizlo@apple.com>
258
259         fourthTier: DFG should have switch_char
260         https://bugs.webkit.org/show_bug.cgi?id=117710
261
262         Reviewed by Michael Saboff.
263         
264         I wanted to be able to say stringImpl->at(index), and now I can!
265
266         Also made it possible to convert a UChar to a utf8 CString without
267         allocating a StringImpl.
268
269         * wtf/text/StringImpl.cpp:
270         (WTF::StringImpl::utf8Impl):
271         (WTF):
272         (WTF::StringImpl::utf8ForCharacters):
273         (WTF::StringImpl::utf8ForRange):
274         * wtf/text/StringImpl.h:
275         (StringImpl):
276         (WTF::StringImpl::at):
277         (WTF::StringImpl::operator[]):
278
279 2013-06-15  Filip Pizlo  <fpizlo@apple.com>
280
281         fourthTier: Add CFG simplification for Switch
282         https://bugs.webkit.org/show_bug.cgi?id=117677
283
284         Reviewed by Mark Hahnenberg.
285
286         * wtf/TriState.h:
287         * wtf/text/StringImpl.h:
288
289 2013-06-15  Filip Pizlo  <fpizlo@apple.com>
290
291         Printing a StringImpl* should really guard against NULL
292         https://bugs.webkit.org/show_bug.cgi?id=117675
293
294         Reviewed by Mark Hahnenberg.
295
296         * wtf/PrintStream.cpp:
297         (WTF::printInternal):
298
299 2013-06-11  Filip Pizlo  <fpizlo@apple.com>
300
301         fourthTier: DFG should support op_in and it should use patching to make it fast
302         https://bugs.webkit.org/show_bug.cgi?id=117385
303
304         Reviewed by Geoffrey Garen.
305         
306         Now if you pass a null StringImpl* then something will still get printed instead
307         of crashing. I figure that this is broadly useful for debug code, and I make use
308         of it in the JSC portion of this patch.
309
310         * wtf/PrintStream.cpp:
311         (WTF::printInternal):
312
313 2013-06-09  Filip Pizlo  <fpizlo@apple.com>
314
315         Unreviewed, fix build. On some compilers the automatic coercion from WTF::String to NSString*
316         causes operator[] to appear ambiguous. One way around this is to make WTF::String behave like
317         most of our other classes: at(unsigned) is always a valid synonym for operator[](unsigned).
318
319         * wtf/text/WTFString.h:
320         (WTF::String::at):
321         (WTF::String::operator[]):
322
323 2013-06-08  Filip Pizlo  <fpizlo@apple.com>
324
325         fourthTier: Recursive deadlock in DFG::ByteCodeParser
326         https://bugs.webkit.org/show_bug.cgi?id=117376
327
328         Reviewed by Mark Hahnenberg.
329         
330         I've often wanted to leave a lock early. Now I have that power!
331
332         * wtf/Locker.h:
333         (WTF::Locker::Locker):
334         (WTF::Locker::~Locker):
335         (Locker):
336         (WTF::Locker::unlockEarly):
337         (WTF::Locker::lock):
338
339 2013-05-27  Filip Pizlo  <fpizlo@apple.com>
340
341         It should be possible to record heap operations (both FastMalloc and JSC GC)
342         https://bugs.webkit.org/show_bug.cgi?id=116848
343
344         Reviewed by Mark Hahnenberg.
345
346         * WTF.xcodeproj/project.pbxproj:
347         * wtf/DataLog.cpp:
348         (WTF):
349         (WTF::initializeLogFileOnce):
350         * wtf/FastMalloc.cpp:
351         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
352         * wtf/Platform.h:
353
354 2013-05-21  Filip Pizlo  <fpizlo@apple.com>
355
356         fourthTier: DFG should be able to run on a separate thread
357         https://bugs.webkit.org/show_bug.cgi?id=112839
358
359         Reviewed by Geoffrey Garen.
360         
361         * wtf/ByteSpinLock.h:
362         Make it non-copyable. We previously had bugs where we used ByteSpinLock as a locker.
363         Clearly that's bad.
364
365         * wtf/MetaAllocatorHandle.h:
366         Make it thread-safe ref-counted, since we may now be passing them between the
367         concurrent JIT thread and the main thread.
368
369         * wtf/Vector.h:
370         (WTF::Vector::takeLast):
371         I've wanted this method for ages, and now I finally added.
372
373 2013-04-30  Filip Pizlo  <fpizlo@apple.com>
374
375         fourthTier: DFG tries to ref/deref StringImpls in a ton of places
376         https://bugs.webkit.org/show_bug.cgi?id=115300
377
378         Reviewed by Geoffrey Garen.
379         
380         Make it possible to do more things directly to StringImpl*'s, including being
381         able to directly do utf8 conversion on a substring without creating the
382         substring first.
383         
384         Add assertions to StringImpl that it isn't being ref/deref'd from the
385         compilation thread.
386
387         * wtf/PrintStream.cpp:
388         (WTF::printInternal):
389         (WTF):
390         * wtf/PrintStream.h:
391         (WTF):
392         (WTF::printInternal):
393         * wtf/StringPrintStream.h:
394         (WTF):
395         (WTF::toCString):
396         * wtf/text/StringImpl.cpp:
397         (WTF::StringImpl::utf8ForRange):
398         (WTF::StringImpl::utf8):
399         (WTF):
400         * wtf/text/StringImpl.h:
401         (StringImpl):
402         (WTF::StringImpl::hasAtLeastOneRef):
403         (WTF::StringImpl::ref):
404         (WTF::StringImpl::deref):
405
406 2013-04-29  Filip Pizlo  <fpizlo@apple.com>
407
408         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()
409         https://bugs.webkit.org/show_bug.cgi?id=115393
410
411         Reviewed by Geoffrey Garen.
412
413         * WTF.xcodeproj/project.pbxproj:
414         * wtf/text/ConversionMode.h: Added.
415         (WTF):
416         * wtf/text/StringImpl.cpp:
417         (WTF):
418         (WTF::putUTF8Triple):
419         (WTF::StringImpl::utf8):
420         * wtf/text/StringImpl.h:
421         (StringImpl):
422         * wtf/text/WTFString.cpp:
423         (WTF):
424         (WTF::String::utf8):
425         * wtf/text/WTFString.h:
426         (String):
427
428 2013-07-16  Oliver Hunt <oliver@apple.com>
429
430         Merge dfgFourthTier r149301
431
432     2013-04-28  Filip Pizlo  <fpizlo@apple.com>
433
434         fourthTier: ASSERT that commonly used not-thread-safe methods in the runtime are not being called during compilation
435         https://bugs.webkit.org/show_bug.cgi?id=115297
436
437         Reviewed by Geoffrey Garen.
438         
439         Taught WTF the notion of compilation threads. This allows all parts of our stack
440         to assert that we're not being called from a JSC compilation thread. This is in
441         WTF because it will probably end up being used in StringImpl and WTFString.
442
443         * WTF.xcodeproj/project.pbxproj:
444         * wtf/CompilationThread.cpp: Added.
445         (WTF):
446         (WTF::initializeCompilationThreadsOnce):
447         (WTF::initializeCompilationThreads):
448         (WTF::isCompilationThread):
449         (WTF::exchangeIsCompilationThread):
450         * wtf/CompilationThread.h: Added.
451         (WTF):
452         (CompilationScope):
453         (WTF::CompilationScope::CompilationScope):
454         (WTF::CompilationScope::~CompilationScope):
455         (WTF::CompilationScope::leaveEarly):
456
457 2013-07-16  Oliver Hunt <oliver@apple.com>
458
459         Merge dfgFourthTier r148836
460
461     2013-04-21  Filip Pizlo  <fpizlo@apple.com>
462
463         fourthTier: It should be possible to query WatchpointSets, and add Watchpoints, even if the compiler is running in another thread
464         https://bugs.webkit.org/show_bug.cgi?id=114909
465
466         Reviewed by Oliver Hunt.
467         
468         Harden our notions of memory fences, now that we're doing racy algorithms.
469
470         * wtf/Atomics.h:
471         (WTF):
472         (WTF::compilerFence):
473         (WTF::armV7_dmb):
474         (WTF::armV7_dmb_st):
475         (WTF::loadLoadFence):
476         (WTF::loadStoreFence):
477         (WTF::storeLoadFence):
478         (WTF::storeStoreFence):
479         (WTF::memoryBarrierAfterLock):
480         (WTF::memoryBarrierBeforeUnlock):
481         (WTF::x86_mfence):
482
483 2013-07-16  Oliver Hunt <oliver@apple.com>
484
485         Merge dfgFourthTier r148804
486
487     2013-04-20  Filip Pizlo  <fpizlo@apple.com>
488
489         fourthTier: value profiles and array profiles should be thread-safe enough to be accessible in a concurrent compilation thread
490         https://bugs.webkit.org/show_bug.cgi?id=114906
491
492         Reviewed by Oliver Hunt.
493         
494         Add ability to abstract whether or not the CodeBlock requires locking at all,
495         since some platforms may not support the byte spin-locking and/or may not want
496         to, if they turn off concurrent JIT.
497
498         * WTF.xcodeproj/project.pbxproj:
499         * wtf/ByteSpinLock.h:
500         * wtf/NoLock.h: Added.
501         (WTF):
502         (NoLock):
503         (WTF::NoLock::lock):
504         (WTF::NoLock::unlock):
505         (WTF::NoLock::isHeld):
506         * wtf/Platform.h:
507
508 2013-04-17  Filip Pizlo  <fpizlo@apple.com>
509
510         fourthTier: all inline caches should thread-safe enough to allow a concurrent compilation thread to read them safely
511         https://bugs.webkit.org/show_bug.cgi?id=114762
512
513         Reviewed by Mark Hahnenberg.
514         
515         Implemented a new spinlock that is optimized for compactness, by using just a byte.
516         This will be useful as we start using fine-grained locking on a bunch of places.
517         
518         At some point I'll make these byte-sized spinlocks into adaptive mutexes, but for
519         now I think it's fine to do the evil thing and use spinning particularly since we
520         only use them for short critical sections.
521
522         * WTF.xcodeproj/project.pbxproj:
523         * wtf/Atomics.h:
524         (WTF):
525         (WTF::weakCompareAndSwap):
526         * wtf/ByteSpinLock.h: Added.
527         (WTF):
528         (ByteSpinLock):
529         (WTF::ByteSpinLock::ByteSpinLock):
530         (WTF::ByteSpinLock::lock):
531         (WTF::ByteSpinLock::unlock):
532         (WTF::ByteSpinLock::isHeld):
533         * wtf/ThreadingPrimitives.h:
534         (WTF::pauseBriefly):
535         (WTF):
536
537 2013-04-12  Filip Pizlo  <fpizlo@apple.com>
538
539         fourthTier: FTL should have OSR exit
540         https://bugs.webkit.org/show_bug.cgi?id=113623
541
542         Reviewed by Oliver Hunt.
543         
544         Finally make toCString() somewhat variadic.
545
546         * wtf/StringPrintStream.h:
547         (WTF):
548         (WTF::toCString):
549
550 2013-03-31  Filip Pizlo  <fpizlo@apple.com>
551
552         https://bugs.webkit.org/show_bug.cgi?id=113656
553         Fix Sam's nits.
554
555         Unreviewed.
556         
557         Forgot to land these as part of http://trac.webkit.org/changeset/147299.
558
559         * wtf/MathExtras.h:
560         (isGreaterThanNonZeroPowerOfTwo):
561
562 2013-03-29  Filip Pizlo  <fpizlo@apple.com>
563
564         fourthTier: FTL JIT should be able run some simple function
565         https://bugs.webkit.org/show_bug.cgi?id=113481
566
567         Reviewed by Geoffrey Garen.
568
569         * wtf/Platform.h:
570
571 2013-07-22  Benjamin Poulain  <benjamin@webkit.org>
572
573         String::lower() - Skip to slow path on the first failure
574         https://bugs.webkit.org/show_bug.cgi?id=118885
575
576         Reviewed by Andreas Kling.
577
578         In the 8 bits case, we don't need to know the state of the full string before changing characters
579         to their lowercase variant.
580         Just fail immediately and start transforming characters from the point of failure.
581
582         This avoid reading the string twice when the uppercase character is not at the end of the string.
583
584         * wtf/text/StringImpl.cpp:
585         (WTF::StringImpl::lower):
586
587 2013-07-22  Brent Fulgham  <bfulgham@apple.com>
588
589         [Windows] Unreviewed build fix.
590
591         * WTF.vcxproj/WTFGenerated.make: Stop triggering a "Build All" when things have not changed.
592
593 2013-07-19  Alex Christensen  <achristensen@apple.com>
594
595         Added x64 configuration to Visual Studio build.
596         https://bugs.webkit.org/show_bug.cgi?id=118888
597
598         Reviewed by Brent Fulgham.
599
600         * WTF.vcxproj/WTF.vcxproj:
601         * WTF.vcxproj/WTF.vcxproj.filters:
602         * WTF.vcxproj/WTFGenerated.vcxproj:
603
604 2013-07-18  Benjamin Poulain  <benjamin@webkit.org>
605
606         Fix the build after r152881
607
608         * wtf/text/StringImpl.cpp:
609         (WTF::StringImpl::lower):
610
611 2013-07-18  Benjamin Poulain  <benjamin@webkit.org>
612
613         Little cleaning of StringImpl::lower() and StringImpl::upper() for ARM
614         https://bugs.webkit.org/show_bug.cgi?id=118831
615
616         Reviewed by Gavin Barraclough.
617
618         Clean lower() and upper() before trying some optimizations:
619         -Prefix the code with the empty() case. Otherwise, each descending loop starts with
620          a check for length == 0.
621         -Change ored to a 32 bits registers. ARM only has 32 bits registers and access to full word.
622          To keep the value a UChar, the compiler is adding a bunch of useless value & 0xffff in the loops.
623         -Change the pointer based loops for index based loops. The compiler does a mighty job at optimizing
624          those for each architecture. No need to make the code more complex.
625         -Don't perform the check for int32 unless we need to. The only code limited to int is Unicode::toLower.
626
627         * wtf/text/StringImpl.cpp:
628         (WTF::StringImpl::lower):
629         (WTF::StringImpl::upper):
630
631 2013-07-18  Andreas Kling  <akling@apple.com>
632
633         CodeBlock::m_argumentValueProfiles wastes a lot of memory.
634         <http://webkit.org/b/118852>
635         <rdar://problem/14481659>
636
637         Reviewed by Anders Carlsson.
638
639         Add Vector::resizeToFit(size), like resize() but without growth padding.
640
641         * wtf/Vector.h:
642         (WTF::::resizeToFit):
643
644 2013-07-17  Benjamin Poulain  <benjamin@webkit.org>
645
646         Add a thread safety assertion when creating an AtomicString from a StringImpl
647         https://bugs.webkit.org/show_bug.cgi?id=118637
648
649         Reviewed by Sam Weinig.
650
651         The goal is to prevent this kind of use:
652         -Someone create a String from a StringImpl.
653         -At some point, the string becomes atomic.
654         -Later, when the string only has one ref, its ownership is 'passed' to an other thread
655          without checking String::isSafeToSendToAnotherThread().
656         -In the thread B, an AtomicString is created from the String.
657         ->The AtomicString's StringImpl returned is not in the current thread string table.
658
659         * wtf/text/AtomicString.cpp:
660         (WTF::AtomicString::isInAtomicStringTable):
661         * wtf/text/AtomicString.h:
662         (WTF::AtomicString::add):
663
664 2013-07-17  Benjamin Poulain  <benjamin@webkit.org>
665
666         Simplify AtomicString::lower()
667         https://bugs.webkit.org/show_bug.cgi?id=118719
668         <rdar://problem/14452883>
669
670         Reviewed by Gavin Barraclough.
671
672         * wtf/text/AtomicString.cpp:
673         (WTF::AtomicString::lower): Previously, the code was using a copy constructor for two path
674         and one regular construction in another path.
675         Just put the StringImpl where it needs to be instead.
676
677 2013-07-15  Benjamin Poulain  <benjamin@webkit.org>
678
679         Add a threading assertion to AtomicString::remove
680         https://bugs.webkit.org/show_bug.cgi?id=118695
681
682         Reviewed by Sam Weinig.
683
684         * wtf/text/AtomicString.cpp:
685         (WTF::AtomicString::remove): The destructor of StringImpl remove
686         the string from the string table if it is atomic. This needs to be done
687         on the same thread as the one on which the string was added (otherwise the original
688         table would keep a dangling pointer to a dead string).
689
690 2013-07-15  Benjamin Poulain  <benjamin@webkit.org>
691
692         Minor cleaning of AtomicString::addSlowCase
693         https://bugs.webkit.org/show_bug.cgi?id=118615
694
695         Reviewed by Geoffrey Garen.
696
697         Give the variable a proper name.
698         Add assertions to clarify the in and out states.
699
700         * wtf/text/AtomicString.cpp:
701         (WTF::AtomicString::addSlowCase):
702
703 2013-07-12  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
704
705         Improve StringImpl::constructInternal() method
706         https://bugs.webkit.org/show_bug.cgi?id=118503
707
708         Reviewed by Benjamin Poulain.
709
710         StringImpl::constructInternal used 'if ()' statement to decide which constructor
711         to invoke hence compiler had to compile both branches even though optimizer would
712         have then removed one of those, and as the function is inline it could affect
713         slightly the compilation time.
714
715         The problem is solved via template specialization.
716
717         * wtf/text/StringImpl.h:
718         (WTF::LChar):
719         (WTF::UChar):
720
721 2013-07-11  Patrick Gansterer  <paroga@webkit.org>
722
723         Remove unused Windows CE files
724         https://bugs.webkit.org/show_bug.cgi?id=118557
725
726         Reviewed by Andreas Kling.
727
728         * wtf/wince/FastMallocWinCE.h: Removed.
729         * wtf/wince/MemoryManager.cpp: Removed.
730         * wtf/wince/MemoryManager.h: Removed.
731
732 2013-07-10  Michael Brüning  <michael.bruning@digia.com>
733
734         Workaround for x86 optimizer bug in MSVC 2012.
735         https://bugs.webkit.org/show_bug.cgi?id=118478
736
737         Reviewed by Benjamin Poulain.
738
739         This is a workaround for a bug in the x86 MSVC 2012 optimizer.
740
741         The problem is that the range comparison gets optimized out when
742         the templated inline function toASCIIUpper. Copying the methods 
743         content fixes the problem. 
744
745         This is unfortunately not the nicest fix, but the alternative would
746         be to turn off optimization for StringImpl::upper on the x86 MSVC 2012
747         build, which might impact overall performance negatively.
748
749         * wtf/text/StringImpl.cpp:
750         (WTF::StringImpl::upper):
751
752 2013-07-08  Carlos Garcia Campos  <cgarcia@igalia.com>
753
754         Unreviewed. Fix make distcheck.
755
756         * GNUmakefile.list.am: Add missing header files.
757
758 2013-07-08  Antti Koivisto  <antti@apple.com>
759
760         Add Deque::removeLast
761         https://bugs.webkit.org/show_bug.cgi?id=118466
762
763         Reviewed by Andreas Kling.
764         
765         Deque can remove both the first and the last element efficiently.
766         
767         Test: TestWebKitAPI/Tests/WTF/Deque.cpp
768
769         * wtf/Deque.h:
770         (WTF::::takeLast):
771         (WTF::::removeLast):
772
773 2013-07-08  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
774
775         [Qt][Windows] Buildfix after r152426.
776
777         Reviewed by Csaba Osztrogonác.
778
779         * wtf/Platform.h: Do not include WTFHeaderDetection.h on Qt build.
780
781 2013-07-06  Benjamin Poulain  <benjamin@webkit.org>
782
783         Fix the performance regressions introduced by r152418
784         https://bugs.webkit.org/show_bug.cgi?id=118438
785
786         Reviewed by Sam Weinig.
787
788         * wtf/text/StringImpl.h:
789         (WTF::equal):
790         Looping between two arbitrary pointers prevents important loop
791         optimizations.
792
793 2013-07-05  Brent Fulgham  <bfulgham@apple.com>
794
795         [Windows] Unreviewed build correction.
796
797         * WTF.vcxproj/WTFGenerated.make: Avoid syntax error in generated
798         file in cases where Legible Output support is not present.
799
800 2013-07-05  Brent Fulgham  <bfulgham@apple.com>
801
802         [Windows] Unreviewed build correction.
803
804         * WTF.vcxproj/WTFGenerated.make: Use space (rather than double
805         quotes) when handling the no-Legible-Output case.
806
807 2013-07-05  Brent Fulgham  <bfulgham@apple.com>
808
809         [Windows] Identify OS-level at build-time.
810         https://bugs.webkit.org/show_bug.cgi?id=118428
811
812         Reviewed by Anders Carlsson.
813
814         * WTF.vcxproj/WTFGenerated.make: Check for Legible Output featurs
815         and set build environment as appropriate.
816         * wtf/Platform.h: Activate Legible Output features if present.
817
818 2013-07-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
819
820         A lot of code duplication within StringImpl 'equal' functions
821         https://bugs.webkit.org/show_bug.cgi?id=118415
822
823         Reviewed by Anders Carlsson.
824
825         There has been a lot of code duplication within StringImpl 'equal' functions:
826         the whole logic was copied to every overloaded 'equal' function.
827         Fixed now using templates and std::equal.
828
829         * wtf/text/StringImpl.cpp:
830         (WTF::equalInternal):
831         (WTF::equal):
832         * wtf/text/StringImpl.h:
833         (WTF::arraysEqual):
834         (WTF::equal):
835
836 2013-07-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
837
838         Remove code duplication from StringImpl create()/reallocate() methods
839         https://bugs.webkit.org/show_bug.cgi?id=118355
840
841         Reviewed by Andreas Kling.
842
843         StringImpl create()/reallocate() methods accepting LChar and UChar used to have
844         duplicated code. The code duplication is removed now via used templates.
845
846         * wtf/text/StringImpl.cpp:
847         (WTF::StringImpl::constructInternal):
848         (WTF::LChar):
849         (WTF::StringImpl::createUninitializedInternal):
850         (WTF::StringImpl::createUninitialized):
851         (WTF::StringImpl::reallocateInternal):
852         (WTF::StringImpl::reallocate):
853         (WTF::StringImpl::createInternal):
854         (WTF::StringImpl::create):
855         * wtf/text/StringImpl.h:
856
857 2013-07-03  Brent Fulgham  <bfulgham@apple.com>
858
859         [Windows] Unreviewed build correction.
860
861         * WTF.vcxproj/copy-files.cmd: Limit path (for this file) to DOS-only to avoid
862         the Cygwin variant of rmdir from being used.
863
864 2013-07-03  Commit Queue  <commit-queue@webkit.org>
865
866         Unreviewed, rolling out r152356.
867         http://trac.webkit.org/changeset/152356
868         https://bugs.webkit.org/show_bug.cgi?id=118361
869
870         Broke JSCore tests (Requested by andersca on #webkit).
871
872         * wtf/text/StringImpl.cpp:
873         (WTF::StringImpl::createUninitialized):
874         (WTF::StringImpl::reallocate):
875         (WTF::StringImpl::create):
876         * wtf/text/StringImpl.h:
877
878 2013-07-03  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
879
880         Remove code duplication from StringImpl create()/reallocate() methods
881         https://bugs.webkit.org/show_bug.cgi?id=118355
882
883         Reviewed by Anders Carlsson.
884
885         StringImpl create()/reallocate() methods accepting LChar and UChar used to have
886         duplicated code. The code duplication is removed now via used templates.
887
888         * wtf/text/StringImpl.cpp:
889         (WTF::StringImpl::constructInternal):
890         (WTF::LChar):
891         (WTF::StringImpl::createUninitializedInternal):
892         (WTF::StringImpl::createUninitialized):
893         (WTF::StringImpl::reallocateInternal):
894         (WTF::StringImpl::reallocate):
895         (WTF::StringImpl::createInternal):
896         (WTF::StringImpl::create):
897         * wtf/text/StringImpl.h:
898
899 2013-07-03  Csaba Osztrogonác  <ossy@webkit.org>
900
901         Fix cast-align warnings in FastMalloc.cpp
902         https://bugs.webkit.org/show_bug.cgi?id=117991
903
904         Reviewed by Mark Hahnenberg.
905
906         * wtf/FastMalloc.cpp:
907
908 2013-07-02  Geoffrey Garen  <ggaren@apple.com>
909
910         plainText() is O(N^2)
911         https://bugs.webkit.org/show_bug.cgi?id=118282
912         <rdar://problem/14284360>
913
914         Reviewed by Alexey Proskuryakov.
915
916         * wtf/text/StringBuilder.cpp:
917         (WTF::expandCapacity): Factored out this helper function to simplify
918         some code that was duplicated in four places.
919
920         (WTF::StringBuilder::appendUninitializedSlow):
921         (WTF::StringBuilder::append): Use expandCapacity(). One of the cases
922         was not doing anything special, and so was O(N^2).
923
924         Also, always call expandCapacity() it in a standard way, calling
925         capacity() first, so it's easy to tell at a glance that you got it right.
926
927 2013-07-02  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
928
929         Avoid code duplication inside String::append()
930         https://bugs.webkit.org/show_bug.cgi?id=118290
931
932         Reviewed by Anders Carlsson.
933
934         The implementation of 'append(UChar)' had been repeated inside 'append(LChar)',
935         this duplication is obviated now.
936
937         * wtf/text/WTFString.cpp:
938         (WTF::String::appendInternal):
939         (WTF::String::append):
940         * wtf/text/WTFString.h:
941
942 2013-06-28  Anders Carlsson  <andersca@apple.com>
943
944         Remove String::deprecatedCharactersWithNullTermination() and related code
945         https://bugs.webkit.org/show_bug.cgi?id=118211
946
947         Reviewed by Benjamin Poulain.
948
949         Remove String::deprecatedCharactersWithNullTermination, StringImpl::createWithTerminatingNullCharacter
950         and the s_hashFlagHasTerminatingNullCharacter flag. We no longer care about whether strings have a
951         terminating null character.
952
953         * wtf/text/StringImpl.cpp:
954         (WTF::StringImpl::createFromLiteral):
955         (WTF::StringImpl::createWithoutCopying):
956         (WTF::StringImpl::getData16SlowCase):
957         (WTF::StringImpl::sizeInBytes):
958         * wtf/text/StringImpl.h:
959         (WTF::StringImpl::StringImpl):
960         (WTF::StringImpl::createFromLiteral):
961         (WTF::StringImpl::isolatedCopy):
962         * wtf/text/WTFString.cpp:
963         * wtf/text/WTFString.h:
964
965 2013-06-27  Anders Carlsson  <andersca@apple.com>
966
967         Add a new String::charactersWithNullTermination() function that returns a vector
968         https://bugs.webkit.org/show_bug.cgi?id=118155
969
970         Reviewed by Andreas Kling.
971
972         This new String::charactersWithNullTermination() function returns a new Vector<UChar>
973         and does not modify the underlying string data.
974
975         * wtf/text/WTFString.cpp:
976         (WTF::String::charactersWithNullTermination):
977         * wtf/text/WTFString.h:
978
979 2013-06-26  Anders Carlsson  <andersca@apple.com>
980
981         Deprecate StringImpl::charactersWithNullTermination
982         https://bugs.webkit.org/show_bug.cgi?id=118108
983
984         Reviewed by Beth Dakin.
985
986         The optimization in String and StringImpl to keep track of whether a string
987         has a null terminator isn't worth it; in most cases we call charactersWithNullTermination() on
988         temporary strings which ends up copying strings anyway.
989         
990         A better solution is to have a charactersWithNullTermination() function that returns a Vector<UChar>,
991         which is similar to what we have for String::utf8() and String::ascii(). This will be done in a follow-up patch.
992
993         * wtf/text/WTFString.cpp:
994         (WTF::String::deprecatedCharactersWithNullTermination):
995         * wtf/text/WTFString.h:
996
997 2013-06-26  Anders Carlsson  <andersca@apple.com>
998
999         Add JSStringCreateWithCharactersNoCopy SPI
1000         https://bugs.webkit.org/show_bug.cgi?id=118074
1001         <rdar://problem/14279905>
1002
1003         Reviewed by Geoffrey Garen.
1004
1005         * wtf/text/StringImpl.cpp:
1006         (WTF::StringImpl::createFromLiteral):
1007         Use the new ConstructWithoutCopying constructor, passing DoesHaveTerminatingNullCharacter to it.
1008         Change the other createFromLiteral overload to just call the first.
1009
1010         (WTF::StringImpl::createWithoutCopying):
1011         Add helper functions for creating strings that shouldn't copy their underlying data.
1012
1013         * wtf/text/StringImpl.h:
1014         (WTF::StringImpl::StringImpl):
1015         Rename the ConstructFromLiteralTag constructor enum to ConstructWithoutCopyingTag. Change the constructor
1016         to take an enum that states whether the string has a terminating null character or not.
1017
1018         (WTF::StringImpl::createFromLiteral):
1019         Call createWithoutCopying.
1020
1021         (WTF::StringImpl::requiresCopy):
1022         Rename this from isASCIILiteral() and make it more generic so it can handle 16-bit strings as well.
1023
1024         (WTF::StringImpl::isolatedCopy):
1025         If this string doesn't have to be copied, just create a new StringImpl object that references the current data.
1026
1027 2013-06-26  Jer Noble  <jer.noble@apple.com>
1028
1029         Potential use-after-free after neutering AudioBuffer's underlying ArrayBuffer.
1030         https://bugs.webkit.org/show_bug.cgi?id=118040
1031
1032         Reviewed by Filip Pizlo.
1033
1034         Add support for 'unneuterable' ArrayBufferViews. Views marked as such will have their underlying
1035         ArrayBuffer objects copied rather than transferred to a new view.
1036
1037         * wtf/ArrayBuffer.cpp:
1038         (WTF::ArrayBuffer::transfer): Check whether the associated views are neuterable, and if not
1039                 clone the ArrayBuffer rather than transferring it.
1040         * wtf/ArrayBuffer.h:
1041         (WTF::ArrayBufferContents::copyTo): Added. Utility function.
1042         * wtf/ArrayBufferView.cpp:
1043         (WTF::ArrayBufferView::ArrayBufferView):
1044         (WTF::ArrayBufferView::neuter):
1045         * wtf/ArrayBufferView.h:
1046         (WTF::ArrayBufferView::setNeuterable):
1047         (WTF::ArrayBufferView::isNeuterable):
1048
1049 2013-06-26  Brent Fulgham  <bfulgham@apple.com>
1050
1051         [Windows] Enable CaptionUserPreferenceMediaAF on Windows.
1052         https://bugs.webkit.org/show_bug.cgi?id=118076
1053
1054         Reviewed by Eric Carlson.
1055
1056         * wtf/Platform.h: Enable Media Accessibility Framework in Windows build environments
1057           that support it.
1058
1059 2013-06-24  Roger Fong  <roger_fong@apple.com>
1060
1061         Unreviewed. AppleWin build fix, followup to r151915.
1062
1063         * WTF.vcxproj/WTFProduction.props:
1064
1065 2013-06-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1066
1067         HashMap: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods
1068         https://bugs.webkit.org/show_bug.cgi?id=117911
1069
1070         Reviewed by Anders Carlsson.
1071
1072         The order of the template arguments at HashMap alternate 'find', 'contains' and
1073         'add' methods is reversed so that callers can just pass the translator
1074         and let the compiler deduce input argument type.
1075
1076         Another rational is consistency with HashSet class.
1077
1078         * wtf/HashMap.h:
1079
1080 2013-06-24  peavo@outlook.com  <peavo@outlook.com>
1081
1082         [WinCairo] WTF.dll is linking with CoreFoundation.lib in VS2010.
1083         https://bugs.webkit.org/show_bug.cgi?id=117294
1084
1085         Reviewed by Brent Fulgham.
1086
1087         WinCairo build should not use CoreFoundation.
1088
1089         * WTF.vcxproj/WTFCFLite.props: Added.
1090         * WTF.vcxproj/WTFCommon.props: Remove CoreFoundation.lib from depencency list.
1091         * WTF.vcxproj/WTFCoreFoundation.props: Added.
1092         * WTF.vcxproj/WTFDebug.props: Import WTFCoreFoundation.props for WinApple.
1093         * WTF.vcxproj/WTFDebugWinCairo.props: Import WTFCFLite.props for WinCairo.
1094         * WTF.vcxproj/WTFRelease.props: Import WTFCoreFoundation.props for WinApple.
1095         * WTF.vcxproj/WTFReleaseWinCairo.props: Import WTFCFLite.props for WinCairo.
1096
1097 2013-06-17  Darin Adler  <darin@apple.com>
1098
1099         Sort all the Xcode project files
1100         https://bugs.webkit.org/show_bug.cgi?id=117696
1101
1102         Reviewed by Anders Carlsson.
1103
1104         * WTF.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script.
1105
1106 2013-06-20  Sergio Correia  <sergio.correia@openbossa.org>
1107
1108         [WK2] Looping for EINTR on close() is incorrect for Linux, at least
1109         https://bugs.webkit.org/show_bug.cgi?id=117266
1110
1111         Reviewed by Darin Adler.
1112
1113         Added file UniStdExtras with a closeWithRetry() function that works around
1114         the EINTR behavior on Linux during a close() call: it closes the descriptor
1115         unconditionally even when the call is interrupted.
1116
1117         * wtf/UniStdExtras.h: Added.
1118         (WTF::closeWithRetry): Wrapper around POSIX close() that handles EINTR
1119         correctly.
1120
1121 2013-06-20  Mark Lam  <mark.lam@apple.com>
1122
1123         Refine the StackBounds computation for Windows.
1124         https://bugs.webkit.org/show_bug.cgi?id=117854.
1125
1126         Reviewed by Brent Fulgham.
1127
1128         * wtf/StackBounds.cpp:
1129         (WTF::StackBounds::initialize):
1130
1131 2013-06-20  Mark Lam  <mark.lam@apple.com>
1132
1133         [Windows] Undoing r150621 to roll r150600 back in as the jsc test
1134         failures have been fixed in r151808.
1135         https://bugs.webkit.org/show_bug.cgi?id=116661.
1136
1137         Reviewed by Brent Fulgham.
1138
1139         * wtf/StackBounds.cpp:
1140         (WTF::StackBounds::initialize):
1141
1142 2013-06-20  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1143
1144         HashSet: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods
1145         https://bugs.webkit.org/show_bug.cgi?id=117830
1146
1147         Reviewed by Anders Carlsson.
1148
1149         The order of the template arguments at HashSet alternate 'find', 'contains' and
1150         'add' methods is reversed so that callers can just pass the translator
1151         and let the compiler deduce input argument type.
1152
1153         * wtf/HashSet.h:
1154         * wtf/text/AtomicString.cpp:
1155         (WTF::addToStringTable):
1156         (WTF::findString):
1157
1158 2013-06-20  Roger Fong  <roger_fong@apple.com>
1159
1160         Make Windows makefile copy build output to a different folder.
1161         <rdar://problem/14219184>.
1162
1163         * WTF.vcxproj/WTF.make:
1164
1165 2013-06-19  Geoffrey Garen  <ggaren@apple.com>
1166
1167         Remove the SegmentedVector inline segment to shrink CodeBlock by 6X
1168         https://bugs.webkit.org/show_bug.cgi?id=117808
1169
1170         Reviewed by Oliver Hunt.
1171
1172         SegmentedVector allocation isn't super hot, but we do tend to have many
1173         live SegmentedVectors at runtime, particularly in CodeBlocks, so the
1174         right tradeoff is to allocate segments out-of-line as needed.
1175
1176         This reduces startup memory usage @ google.com by about 6MB.
1177
1178         No regression on SunSpider.
1179
1180         * wtf/SegmentedVector.h:
1181         (WTF::SegmentedVector::SegmentedVector):
1182         (WTF::SegmentedVector::at):
1183         (WTF::SegmentedVector::append):
1184         (WTF::SegmentedVector::removeLast):
1185         (WTF::SegmentedVector::clear):
1186         (WTF::SegmentedVector::deleteAllSegments): No more inline segment.
1187
1188         (WTF::SegmentedVector::ensureSegmentsFor): This code used to assume
1189         that there was always a 0 segment, so the math would underflow if there
1190         were no 0 segment. I udpated the math to account for having no segments.
1191
1192 2013-06-19  David Kilzer  <ddkilzer@apple.com>
1193
1194         BUILD FIX (r151663): Fix build for iOS WebKit
1195
1196         * wtf/text/AtomicStringTable.cpp: Include MainThread.h.
1197         (WTF::AtomicStringTable::create): Use AtomicStringTable::destroy
1198         instead of non-existent destroyAtomicStringTable function.
1199
1200 2013-06-18  Roger Fong  <roger_fong@apple.com>
1201
1202         Replace tools32 folder with tools and update WebKit Windows solution accordingly.
1203         <rdar://problem/14118143>.
1204
1205         Rubberstamped by Brent Fulgham.
1206
1207         * WTF.vcxproj/WTF.vcxproj:
1208         * WTF.vcxproj/WTFDebug.props:
1209         * WTF.vcxproj/WTFDebugWinCairo.props:
1210         * WTF.vcxproj/WTFGenerated.vcxproj:
1211         * WTF.vcxproj/WTFGeneratedDebug.props:
1212         * WTF.vcxproj/WTFGeneratedProduction.props:
1213         * WTF.vcxproj/WTFGeneratedRelease.props:
1214         * WTF.vcxproj/WTFProduction.props:
1215         * WTF.vcxproj/WTFRelease.props:
1216         * WTF.vcxproj/WTFReleaseWinCairo.props:
1217         * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
1218         (react_to_vsprops_changes):
1219
1220 2013-06-18  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1221
1222         PackedIntVector: check template arguments at compile time
1223         https://bugs.webkit.org/show_bug.cgi?id=117737
1224
1225         Use 'COMPILE_ASSERT' instead of 'ASSERT' in PackedIntVector class
1226         constructor.
1227
1228         Reviewed by Sam Weinig.
1229
1230         * wtf/PackedIntVector.h:
1231         (WTF::PackedIntVector::PackedIntVector):
1232
1233 2013-06-17  Andy Estes  <aestes@apple.com>
1234
1235         A static_assert() in RetainPtr.h sometimes causes the build to fail.
1236
1237         Wrap the first argument to a static_assert() in parentheses since it
1238         contains a comma, which sometimes tricks the preprocessor into thinking
1239         the macro is being passed three arguments rather than two.
1240
1241         Reviewed by Brian Weinstein.
1242
1243         * wtf/RetainPtr.h:
1244         (WTF::RetainPtr::RetainPtr):
1245
1246 2013-06-17  Zan Dobersek  <zdobersek@igalia.com>
1247
1248         REGRESSION (r149184): Build errors in RefPtr.h when building with Clang, C++98 standard
1249         https://bugs.webkit.org/show_bug.cgi?id=116352
1250
1251         Reviewed by Anders Carlsson.
1252
1253         Use the __has_feature macro instead of the __has_extension one when detecting what features the Clang compiler
1254         that's being used is capable to provide. With the project moving onto using C++11 throughout its components,
1255         there currently exist cases where C++11-specific functionality (for instance std::move) is used despite being
1256         guarded by compiler-specific feature guards that still get enabled even when compiling in C++98 with Clang.
1257         The problematic features are enabled because they're available as C++98 language extensions by Clang.
1258
1259         Using __has_feature instead enables the feature guard only if the tested feature is actually standardized in
1260         the currently used language standard.
1261
1262         * wtf/Compiler.h:
1263
1264 2013-06-17  Ryosuke Niwa  <rniwa@webkit.org>
1265
1266         Initialize AtomicStringTable in WTFThreadData's constructor
1267         https://bugs.webkit.org/show_bug.cgi?id=117671
1268
1269         Reviewed by Geoffrey Garen.
1270
1271         Extracted AtomicStringTable from AtomicString.cpp into AtomicStringTable.h/cpp
1272         and made WTFThreadDada::WTFThreadData create the atomic string table for the thread.
1273
1274         This eliminates a branch from stringTable() in AtomicString.cpp.
1275
1276         * GNUmakefile.list.am:
1277         * WTF.pro:
1278         * WTF.vcxproj/WTF.vcxproj:
1279         * WTF.vcxproj/WTF.vcxproj.filters:
1280         * WTF.xcodeproj/project.pbxproj:
1281         * wtf/CMakeLists.txt:
1282         * wtf/WTFThreadData.cpp:
1283         (WTF::WTFThreadData::WTFThreadData):
1284         * wtf/text/AtomicString.cpp:
1285         (WTF::stringTable):
1286         * wtf/text/AtomicStringTable.cpp: Added.
1287         (WTF::AtomicStringTable::create):
1288         (WTF::AtomicStringTable::destroy):
1289         * wtf/text/AtomicStringTable.h: Added.
1290         (WTF::AtomicStringTable::table):
1291
1292 2013-06-17  Roger Fong  <roger_fong@apple.com>
1293
1294         Modify Windows makefiles to copy some bin output into Program Files.
1295         https://bugs.webkit.org/show_bug.cgi?id=117714.
1296         <rdar://problem/14179054>
1297
1298         Reviewed by Brent Fulgham.
1299
1300         * WTF.vcxproj/WTF.make:
1301
1302 2013-06-17  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1303
1304         Unreviewed, rolling out r151632.
1305         http://trac.webkit.org/changeset/151632
1306         https://bugs.webkit.org/show_bug.cgi?id=117585
1307
1308         Debug build error ASSERT(WTF_USE_GRAMMAR_CHECKING) for non MAC
1309         platforms
1310
1311         * wtf/Platform.h:
1312
1313 2013-06-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1314
1315         Context menu grammar checking items are available when GRAMMAR_CHECKING macro is off
1316         https://bugs.webkit.org/show_bug.cgi?id=117585
1317
1318         Reviewed by Anders Carlsson.
1319
1320         Enable GRAMMAR_CHECKING for WebKit ports that use/implement it.
1321
1322         * wtf/Platform.h:
1323
1324 2013-06-14  Patrick Gansterer  <paroga@webkit.org>
1325
1326         Introduce USE(WINGDI) for the Windows port
1327         https://bugs.webkit.org/show_bug.cgi?id=116138
1328
1329         Reviewed by Ryosuke Niwa.
1330
1331         Using USE(WINGDI) instead of OS(WINCE) will allow us to
1332         compile the GDI based Windows port on WinNT too.
1333
1334         * wtf/Platform.h:
1335
1336 2013-06-13  Ryosuke Niwa  <rniwa@webkit.org>
1337
1338         Remove LiteralIdentifierTable
1339         https://bugs.webkit.org/show_bug.cgi?id=117613
1340
1341         Reviewed by Geoffrey Garen.
1342
1343         Removed LiteralIdentifierTable since it doesn't seem to have any perf. impact now.
1344
1345         * wtf/WTFThreadData.h:
1346
1347 2013-06-13  Brent Fulgham  <bfulgham@apple.com>
1348
1349         [WinCairo] Correct FeatureDefines.h Default for ENABLE_VIEW_MODE_CSS_MEDIA
1350         https://bugs.webkit.org/show_bug.cgi?id=114396
1351
1352         Reviewed by Dean Jackson.
1353
1354         * wtf/FeatureDefines.h: The WinCairo port does not (currently) support Media elements,
1355         so make sure we do not enable this feature by default for that port.
1356
1357 2013-06-13  Brent Fulgham  <bfulgham@apple.com>
1358
1359         [Windows] Unreviewed gardening.
1360
1361         * WTF.vcxproj/WTF.vcxproj: Add FeatureDefines.h to visible files.
1362         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
1363
1364 2013-06-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1365
1366         Optimize String::fromUTF8 for ASCII
1367         https://bugs.webkit.org/show_bug.cgi?id=117586
1368
1369         Reviewed by Brent Fulgham.
1370
1371         From Blink r152243 by <abarth@chromium.org>
1372
1373         Current String::fromUTF8() implementation converts 8 bit ASCII character into 16 bit.
1374         Instead of always trying to convert into a 16 bit buffer, we can add a call to charactersAreAllASCII.
1375         In the common case when characters are ASCII, we directly copy it into an 8 bit string buffer.
1376
1377         * wtf/text/WTFString.cpp:
1378         (WTF::String::fromUTF8):
1379
1380 2013-06-12  Brent Fulgham  <bfulgham@apple.com>
1381
1382         [Windows] Activate supported C++11 Features for VS2010
1383         https://bugs.webkit.org/show_bug.cgi?id=117569
1384
1385         Reviewed by Anders Carlsson.
1386
1387         * wtf/Compiler.h: Turn on rvalue references and static_assert
1388         when compiling with VS2010 (or newer)
1389
1390 2013-06-07  Roger Fong  <roger_fong@apple.com>
1391
1392         Unreviewed. Makefile fix. Copy WTF.dll over as well.
1393
1394         * WTF.vcxproj/WTF.make:
1395
1396 2013-06-07  Commit Queue  <commit-queue@webkit.org>
1397
1398         Unreviewed, rolling out r151318.
1399         http://trac.webkit.org/changeset/151318
1400         https://bugs.webkit.org/show_bug.cgi?id=117356
1401
1402         Broke Windows Release Build (Requested by bfulgham on
1403         #webkit).
1404
1405         * WTF.vcxproj/WTF.vcxproj:
1406         * WTF.vcxproj/WTFCommon.props:
1407         * WTF.vcxproj/WTFCoreFoundation.props: Removed.
1408         * WTF.vcxproj/WTFDebug.props:
1409         * WTF.vcxproj/WTFRelease.props:
1410
1411 2013-06-07  peavo@outlook.com  <peavo@outlook.com>
1412
1413         [WinCairo] WTF.dll is linking with CoreFoundation.lib in VS2010.
1414         https://bugs.webkit.org/show_bug.cgi?id=117294
1415
1416         Reviewed by Darin Adler.
1417
1418         WinCairo build should not use CoreFoundation.
1419
1420         * WTF.vcxproj/WTF.vcxproj: Exclude unneeded file from WinCairo build.
1421         * WTF.vcxproj/WTFCommon.props: Removed CoreFoundation.lib from common props.
1422         * WTF.vcxproj/WTFCoreFoundation.props: Added.
1423         * WTF.vcxproj/WTFDebug.props: Inherit from WTFCoreFoundations.props.
1424         * WTF.vcxproj/WTFRelease.props: Inherit from WTFCoreFoundations.props.
1425
1426 2013-06-06  Roger Fong  <roger_fong@apple.com>
1427
1428         Unreviewed. Fix typo with winmm linker input.
1429
1430         * WTF.vcxproj/WTFCommon.props:
1431
1432 2013-06-05  Benjamin Poulain  <bpoulain@apple.com>
1433
1434         WebSQL forces 16-bit strings
1435         https://bugs.webkit.org/show_bug.cgi?id=116935
1436
1437         Reviewed by Darin Adler.
1438
1439         Merge chromium 49c9632ac135f6f06e623a7a81d9da1f6bb7196f.
1440         https://chromium.googlesource.com/chromium/blink/+/49c9632ac135f6f06e623a7a81d9da1f6bb7196f
1441
1442         * wtf/text/StringImpl.cpp:
1443         (WTF::StringImpl::create8BitIfPossible):
1444         * wtf/text/StringImpl.h:
1445         (WTF::lengthOfNullTerminatedString):
1446         * wtf/text/WTFString.cpp:
1447         (WTF::String::String):
1448
1449 2013-06-03  Roger Fong  <roger_fong@apple.com>
1450
1451         Nuke VS2005 files from the tree.
1452         <rdar://problem/14042021>.
1453
1454         Rubberstamped by Brent Fulgham.
1455
1456         * WTF.vcproj: Removed.
1457         * WTF.vcproj/WTF.make: Removed.
1458         * WTF.vcproj/WTF.sln: Removed.
1459         * WTF.vcproj/WTF.vcproj: Removed.
1460         * WTF.vcproj/WTFCommon.vsprops: Removed.
1461         * WTF.vcproj/WTFDebug.vsprops: Removed.
1462         * WTF.vcproj/WTFDebugAll.vsprops: Removed.
1463         * WTF.vcproj/WTFDebugCairoCFLite.vsprops: Removed.
1464         * WTF.vcproj/WTFGenerated.make: Removed.
1465         * WTF.vcproj/WTFGenerated.vcproj: Removed.
1466         * WTF.vcproj/WTFGeneratedCommon.vsprops: Removed.
1467         * WTF.vcproj/WTFGeneratedDebug.vsprops: Removed.
1468         * WTF.vcproj/WTFGeneratedDebugAll.vsprops: Removed.
1469         * WTF.vcproj/WTFGeneratedDebugCairoCFLite.vsprops: Removed.
1470         * WTF.vcproj/WTFGeneratedProduction.vsprops: Removed.
1471         * WTF.vcproj/WTFGeneratedRelease.vsprops: Removed.
1472         * WTF.vcproj/WTFGeneratedReleaseCairoCFLite.vsprops: Removed.
1473         * WTF.vcproj/WTFPostBuild.cmd: Removed.
1474         * WTF.vcproj/WTFPreBuild.cmd: Removed.
1475         * WTF.vcproj/WTFProduction.vsprops: Removed.
1476         * WTF.vcproj/WTFRelease.vsprops: Removed.
1477         * WTF.vcproj/WTFReleaseCairoCFLite.vsprops: Removed.
1478         * WTF.vcproj/build-generated-files.sh: Removed.
1479         * WTF.vcproj/copy-files.cmd: Removed.
1480         * WTF.vcproj/work-around-vs-dependency-tracking-bugs.py: Removed.
1481
1482 2013-06-03  Patrick Gansterer  <paroga@webkit.org>
1483
1484         Unreviewed WinCE build fix after r150833.
1485
1486         * wtf/DateMath.cpp:
1487         (WTF::calculateDSTOffset):
1488
1489 2013-06-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1490
1491         [WTF] Add OwnArrayPtr vectortraits template 
1492         https://bugs.webkit.org/show_bug.cgi?id=117131
1493
1494         Reviewed by Darin Adler.
1495
1496         To support Vector<OwnArrayPtr<P>>, which will be used by EFL port.
1497
1498         * wtf/VectorTraits.h:
1499
1500 2013-05-31  Rafael Brandao  <rafael.lobo@openbossa.org>
1501
1502         Fix double hash lookup in PageMapMemoryUsageRecorder::visit
1503         https://bugs.webkit.org/show_bug.cgi?id=117071
1504
1505         Reviewed by Andreas Kling.
1506
1507         * wtf/FastMalloc.cpp:
1508         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1509
1510 2013-05-31  Brent Fulgham  <bfulgham@apple.com>
1511
1512         [Windows] Speculative build fix for pre-VS2010 compilers
1513
1514         * wtf/Platform.h: Only treat WTF as DLL for VS2010 builds
1515
1516 2013-05-31  Zan Dobersek  <zdobersek@igalia.com>
1517
1518         Move MD5, SHA1 unit tests from WTF to TestWebKitAPI
1519         https://bugs.webkit.org/show_bug.cgi?id=116445
1520
1521         Reviewed by Benjamin Poulain.
1522
1523         Remove the MD5 and SHA1 test cases from the WTF code. The same cases are now built and run under TestWebKitAPI.
1524
1525         * wtf/MD5.cpp:
1526         (WTF::MD5::MD5):
1527         * wtf/SHA1.cpp:
1528         (WTF::SHA1::SHA1):
1529
1530 2013-05-30  Roger Fong  <roger_fong@apple.com>
1531
1532         Another unreviewed build fix for Mac.
1533
1534         * wtf/text/WTFString.h:
1535         (WTF::String::fromUTF8WithLatin1Fallback):
1536
1537 2013-05-30  Roger Fong  <roger_fong@apple.com>
1538
1539         Unreviewed build fix for Mac.
1540
1541         * wtf/OSAllocator.h:
1542         * wtf/text/WTFString.h:
1543         (WTF::String::fromUTF8):
1544
1545 2013-05-30  Roger Fong  <roger_fong@apple.com>
1546
1547         Get rid of JavaScript exports file on AppleWin port.
1548         https://bugs.webkit.org/show_bug.cgi?id=117050.
1549
1550         Reviewed by Darin Adler.
1551
1552         This requires turning WTF into a shared library and adding the WTF_EXPORT_PRIVATE to some methods where it was missed.
1553
1554         * WTF.vcxproj/WTF.vcxproj:
1555         * WTF.vcxproj/WTFCommon.props:
1556         * wtf/DateMath.h:
1557         * wtf/ExportMacros.h:
1558         * wtf/FilePrintStream.h:
1559         * wtf/OSAllocator.h:
1560         * wtf/PageAllocationAligned.h:
1561         * wtf/Platform.h:
1562         * wtf/PrintStream.h:
1563         * wtf/StackBounds.h:
1564         * wtf/StringPrintStream.h:
1565         * wtf/ThreadSpecific.h:
1566         * wtf/WTFThreadData.h:
1567         * wtf/dtoa/cached-powers.h:
1568         * wtf/dtoa/double-conversion.h:
1569         * wtf/text/WTFString.h:
1570         * wtf/unicode/Collator.h:
1571         * wtf/unicode/UTF8.h:
1572
1573 2013-05-29  Kent Tamura  <tkent@chromium.org>
1574
1575         Remove ENABLE_INPUT_MULTIPLE_FIELDS_UI.
1576         https://bugs.webkit.org/show_bug.cgi?id=116796
1577
1578         Reviewed by Ryosuke Niwa.
1579
1580         * wtf/FeatureDefines.h:
1581
1582 2013-05-27  Gavin Barraclough  <barraclough@apple.com>
1583
1584         String(new Date(2010,10,1)) is wrong in KRAT, YAKT
1585         https://bugs.webkit.org/show_bug.cgi?id=106750
1586
1587         Reviewed by Darin Adler.
1588
1589         First part of a fix, simplfy date handling code, instead of operating separately
1590         on the UTC-standard and standard-DST offsets, just generate a combined UTC-local
1591         offset (this is what we actually need, and what the OS gives us).
1592
1593         * wtf/DateMath.cpp:
1594         (WTF::calculateUTCOffset):
1595         (WTF::calculateDSTOffset):
1596             - made static, now not called from outside of this file.
1597         (WTF::calculateLocalTimeOffset):
1598             - This combines the 2038 related adjustment from calculateDSTOffset with the
1599               maxUnixTime adjustment from calculateDSTOffsetSimple. Then, if HAVE(TM_GMTOFF)
1600               just call getLocalTime, if not use calculateUTCOffset/calculateDSTOffset.
1601         (WTF::parseDateFromNullTerminatedCharacters):
1602             - call calculateLocalTimeOffset instead of calculateUTCOffset/calculateDSTOffset
1603         * wtf/DateMath.h:
1604         (WTF::LocalTimeOffset::LocalTimeOffset):
1605         (LocalTimeOffset):
1606         (WTF::LocalTimeOffset::operator==):
1607             - new struct type, a tuple of UTC-local offset & isDST flag.
1608             - replaced calculateUTCOffset/calculateDSTOffset with calculateLocalTimeOffset
1609         * wtf/GregorianDateTime.cpp:
1610         (WTF::GregorianDateTime::setToCurrentLocalTime):
1611             - call calculateLocalTimeOffset instead of calculateUTCOffset/calculateDSTOffset
1612
1613 2013-05-27  Patrick Gansterer  <paroga@webkit.org>
1614
1615         Use correct stack size on Solaris and OpenBSD
1616         https://bugs.webkit.org/show_bug.cgi?id=114978
1617
1618         Recommit after wrong rollout in r150621.
1619
1620         * wtf/StackBounds.cpp:
1621         (WTF):
1622         (WTF::StackBounds::initialize):
1623
1624 2013-05-27  Patrick Gansterer  <paroga@webkit.org>
1625
1626         Use ICU_INCLUDE_DIRS in BlackBerry CMake files
1627         https://bugs.webkit.org/show_bug.cgi?id=116210
1628
1629         Reviewed by Rob Buis.
1630
1631         Set and use the ICU_INCLUDE_DIRS variable to avoid
1632         duplicated adding of the ICU include directory.
1633
1634         * wtf/PlatformBlackBerry.cmake:
1635
1636 2013-05-27  Ádám Kallai  <kadam@inf.u-szeged.hu>
1637
1638         [Qt] Enable parallel GC. Probably it has been fixed in r131791.
1639         https://bugs.webkit.org/show_bug.cgi?id=90957
1640
1641         Reviewed by Csaba Osztrogonác.
1642
1643         * wtf/Platform.h:
1644
1645 2013-05-26  Patrick Gansterer  <paroga@webkit.org>
1646
1647         [WINCE] Add wtf_bsearch()
1648         https://bugs.webkit.org/show_bug.cgi?id=116528
1649
1650         Reviewed by Darin Adler.
1651
1652         r149833 introduced usage of ::bsearch(), which does not exist on Windwos CE.
1653         Add our own implementation of this function as wtf_bsearch and define
1654         bsearch as wtf_bsearch to fix compilation on Windwos CE.
1655
1656         * wtf/StdLibExtras.h:
1657         (wtf_bsearch):
1658
1659 2013-05-26  Kent Tamura  <tkent@chromium.org>
1660
1661         Remove ENABLE_CALENDAR_PICKER
1662         https://bugs.webkit.org/show_bug.cgi?id=116795
1663
1664         Reviewed by Ryosuke Niwa.
1665
1666         * wtf/FeatureDefines.h:
1667
1668 2013-05-24  Benjamin Poulain  <bpoulain@apple.com>
1669
1670         Inline TCMalloc_Central_FreeList's RemoveRange and FetchFromSpansSafe
1671         https://bugs.webkit.org/show_bug.cgi?id=116700
1672
1673         Reviewed by Darin Adler.
1674
1675         The two functions only have one call site each.
1676
1677         * wtf/FastMalloc.cpp:
1678         (WTF::TCMalloc_Central_FreeList::RemoveRange):
1679         (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe):
1680
1681 2013-05-24  Filip Pizlo  <fpizlo@apple.com>
1682
1683         We broke !(0/0)
1684         https://bugs.webkit.org/show_bug.cgi?id=116736
1685
1686         Reviewed by Gavin Barraclough.
1687
1688         * wtf/MathExtras.h:
1689         (isNotZeroAndOrdered):
1690         (isZeroOrUnordered):
1691
1692 2013-05-24  Anders Carlsson  <andersca@apple.com>
1693
1694         Remove PagePopup code
1695         https://bugs.webkit.org/show_bug.cgi?id=116732
1696
1697         Reviewed by Andreas Kling.
1698
1699         Remove ENABLE_PAGE_POPUP.
1700
1701         * wtf/FeatureDefines.h:
1702
1703 2013-05-25  Jer Noble  <jer.noble@apple.com>
1704
1705         Mac: Set the default audio buffer size to a large value for <video> elements.
1706         https://bugs.webkit.org/show_bug.cgi?id=116342
1707
1708         Reviewed by Eric Carlson.
1709
1710         * wtf/Platform.h: Add a WTF_USE_AUDIO_SESSION setting.
1711
1712 2013-05-23  Brent Fulgham  <bfulgham@apple.com>
1713
1714         [Windows] Rolling back r150600 as it breaks the VS2010 builds.
1715
1716         * wtf/StackBounds.cpp: Rollback.
1717
1718 2013-05-23 Patrick Gansterer <paroga@webkit.org>
1719
1720         Use correct stack size on Solaris and OpenBSD
1721         https://bugs.webkit.org/show_bug.cgi?id=114978
1722
1723         Reviewed by Oliver Hunt.
1724
1725         Original patch by David Hill <david@wmol.com>.
1726
1727         Use stack_t.ss_size for getting the size of the stack.
1728
1729         * wtf/Platform.h:
1730         * wtf/StackBounds.cpp:
1731         (WTF):
1732         (WTF::StackBounds::initialize):
1733
1734 2013-05-23  Patrick Gansterer  <paroga@webkit.org>
1735
1736         [WIN] Implement correct detection of stack size
1737         https://bugs.webkit.org/show_bug.cgi?id=116661
1738
1739         Reviewed by Oliver Hunt.
1740
1741         * wtf/StackBounds.cpp:
1742         (WTF):
1743         (WTF::StackBounds::initialize):
1744
1745 2013-05-22  Dean Jackson  <dino@apple.com>
1746
1747         Rolling out r150555. It borked about 30 media tests.
1748
1749         * wtf/Platform.h:
1750
1751 2013-05-21  Anders Carlsson  <andersca@apple.com>
1752
1753         Build fix.
1754
1755         * wtf/NeverDestroyed.h:
1756         (NeverDestroyed):
1757
1758 2013-05-20  Anders Carlsson  <andersca@apple.com>
1759
1760         Add WTF::NeverDestroyed and start using it in WTF
1761         https://bugs.webkit.org/show_bug.cgi?id=116472
1762
1763         Reviewed by Benjamin Poulain.
1764
1765         NeverDestroyed is a class template that can be used for singletons and other objects that we never
1766         want to destroy. It's intended as a replacement for WTF_STATIC_LOCAL with the advantage that it doesn't
1767         fragment the heap.
1768
1769         * GNUmakefile.list.am:
1770         * WTF.vcproj/WTF.vcproj:
1771         * WTF.vcxproj/WTF.vcxproj:
1772         * WTF.vcxproj/WTF.vcxproj.filters:
1773         * WTF.xcodeproj/project.pbxproj:
1774         Add NeverDestroyed.h
1775
1776         * wtf/Compiler.h:
1777         Add a helper macro, WTF_DELETED_FUNCTION.
1778
1779         * wtf/CryptographicallyRandomNumber.cpp:
1780         Use NeverDestroyed.
1781
1782         * wtf/NeverDestroyed.h: Added.
1783
1784         * wtf/Noncopyable.h:
1785         Use WTF_DELETED_FUNCTION.
1786
1787         * wtf/text/WTFString.cpp:
1788         (WTF::emptyString):
1789         Use 
1790
1791 2013-05-20  Zan Dobersek  <zdobersek@igalia.com>
1792
1793         Use '__typeof__' keyword to avoid problems when compiling in C++11 standard compliance
1794         https://bugs.webkit.org/show_bug.cgi?id=116447
1795
1796         Reviewed by Darin Adler.
1797
1798         The 'typeof' keyword is a GNU C extension which becomes unavailable when compiling in ANSI or specific standard mode
1799         (such as -std=c++11). The '__typeof__' keyword should be used instead as it's available in all modes both under GCC and Clang.
1800
1801         * wtf/FastMalloc.cpp:
1802         (WTF): Replace the 'typeof' keyword with '__typeof__'.
1803
1804 2013-05-19  Anders Carlsson  <andersca@apple.com>
1805
1806         Remove link prerendering code
1807         https://bugs.webkit.org/show_bug.cgi?id=116415
1808
1809         Reviewed by Darin Adler.
1810
1811         This code was only used by Chromium and is dead now.
1812
1813         * wtf/FeatureDefines.h:
1814
1815 2013-05-18  Patrick Gansterer  <paroga@webkit.org>
1816
1817         [CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
1818         https://bugs.webkit.org/show_bug.cgi?id=114554
1819
1820         Reviewed by Gyuyoung Kim.
1821
1822         Using variables as target names is very uncommon in CMake.
1823         The usual way to specify the name of the resulting binary
1824         is to set the OUTPUT_NAME target property.
1825
1826         * wtf/CMakeLists.txt:
1827
1828 2013-05-17  Andreas Kling  <akling@apple.com>
1829
1830         Re-align the OS(AIX) macro...
1831         ...in the hopes that the resulting world rebuild will fix failures after r150294.
1832
1833         * wtf/Platform.h:
1834
1835 2013-05-17  Anders Carlsson  <andersca@apple.com>
1836
1837         WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process
1838         https://bugs.webkit.org/show_bug.cgi?id=116346
1839         <rdar://problem/13852829>
1840
1841         Reviewed by Andreas Kling.
1842
1843         Add forward declaration for Function.
1844
1845         * wtf/Forward.h:
1846
1847 2013-05-17  Patrick Gansterer  <paroga@webkit.org>
1848
1849         [CMake] Remove invalid include paths
1850         https://bugs.webkit.org/show_bug.cgi?id=116213
1851
1852         Reviewed by Gyuyoung Kim.
1853
1854         Since "${JAVASCRIPTCORE_DIR}/wtf" does not exist, it is safe
1855         to remove them from the list of include directories.
1856
1857         * wtf/PlatformEfl.cmake:
1858         * wtf/PlatformGTK.cmake:
1859
1860 2013-05-16  Benjamin Poulain  <bpoulain@apple.com>
1861
1862         Add the symbol WTFInvokeCrashHook back for binary compatibility.
1863
1864         Reviewed by Ryosuke Niwa.
1865
1866         * wtf/Assertions.cpp:
1867         * wtf/Assertions.h:
1868
1869 2013-05-16  Seokju Kwon  <seokju.kwon@gmail.com>
1870
1871         [CMAKE] Need to set WTF_LIBRARIES in wtf/CMakeLists.txt
1872         https://bugs.webkit.org/show_bug.cgi?id=116209
1873
1874         Reviewed by Gyuyoung Kim.
1875
1876         * wtf/CMakeLists.txt: Replace list with set.
1877
1878 2013-05-16  Benjamin Poulain  <benjamin@webkit.org>
1879
1880         Crash properly on iOS
1881         https://bugs.webkit.org/show_bug.cgi?id=115782
1882
1883         Reviewed by Darin Adler.
1884
1885         Improve crash handling. <rdar://problem/13842771>
1886
1887         * wtf/Assertions.cpp:
1888         * wtf/Assertions.h:
1889
1890 2013-05-15  Ryuan Choi  <ryuan.choi@samsung.com>
1891
1892         Unreviewed build fix after r150123
1893
1894         * wtf/CMakeLists.txt: 
1895
1896 2013-05-15  Oliver Hunt  <oliver@apple.com>
1897
1898         RefCountedArray needs to use vector initialisers for its backing store
1899         https://bugs.webkit.org/show_bug.cgi?id=116194
1900
1901         Reviewed by Gavin Barraclough.
1902
1903         Use VectorOperations to operate on the backing store
1904
1905         * wtf/RefCountedArray.h:
1906         (WTF::RefCountedArray::RefCountedArray):
1907         (WTF::RefCountedArray::operator=):
1908         (WTF::RefCountedArray::~RefCountedArray):
1909
1910 2013-05-15  Nico Weber  <thakis@chromium.org>
1911
1912         WebKit doesn't support MSVS2003 any more, remove preprocessor checks for older versions.
1913         https://bugs.webkit.org/show_bug.cgi?id=116157
1914
1915         Reviewed by Anders Carlsson.
1916
1917         Also remove a gcc3.2 workaround.
1918
1919         Merges parts of these two commits by the talented Nico Weber:
1920         https://chromium.googlesource.com/chromium/blink/+/3677e2f47348daeff405a40b6f90fbdf0654c2f5
1921         https://chromium.googlesource.com/chromium/blink/+/0fcd96c448dc30be1416dcc15713c53710c1a312
1922
1923         * wtf/Alignment.h:
1924         (WTF):
1925         * wtf/Assertions.h:
1926         * wtf/Atomics.h:
1927         (WTF):
1928         * wtf/Compiler.h:
1929         * wtf/DateMath.cpp:
1930         (WTF::getLocalTime):
1931         * wtf/MathExtras.h:
1932         * wtf/RefCountedLeakCounter.h:
1933         (RefCountedLeakCounter):
1934         * wtf/StaticConstructors.h:
1935
1936 2013-05-15  Patrick Gansterer  <paroga@webkit.org>
1937
1938         Consolidate lists in WTF CMake files
1939         https://bugs.webkit.org/show_bug.cgi?id=116142
1940
1941         Reviewed by Martin Robinson.
1942
1943         Move common files into the CMakeLists.txt to avoid duplicating the list of files.
1944         Also rebase the recently added GTK files to match the other CMake ports, since
1945         the submitted patch was based on an older version of the source tree.
1946
1947         * wtf/CMakeLists.txt:
1948         * wtf/PlatformBlackBerry.cmake:
1949         * wtf/PlatformEfl.cmake:
1950         * wtf/PlatformGTK.cmake:
1951         * wtf/PlatformWinCE.cmake:
1952
1953 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1954
1955         Remove WTF_USE_PLATFORM_STRATEGIES
1956         https://bugs.webkit.org/show_bug.cgi?id=114431
1957
1958         Reviewed by Darin Adler.
1959
1960         * wtf/Platform.h:
1961
1962 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1963
1964         [BlackBerry] Use requestAnimationFrame for animations
1965         https://bugs.webkit.org/show_bug.cgi?id=115896
1966
1967         Reviewed by Rob Buis.
1968
1969         * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER and
1970         WTF_USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR for BlackBerry
1971         port.
1972
1973 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1974
1975         [BlackBerry] Implement platform strategies
1976         https://bugs.webkit.org/show_bug.cgi?id=112162
1977
1978         Reviewed by Rob Buis.
1979
1980         * wtf/Platform.h: Add BlackBerry platform to the list of platforms
1981         using platform strategies.
1982
1983 2013-05-13  Benjamin Poulain  <benjamin@webkit.org>
1984
1985         Improve stringProtoFuncLastIndexOf for the prefix case
1986         https://bugs.webkit.org/show_bug.cgi?id=115952
1987
1988         Reviewed by Geoffrey Garen.
1989
1990         Add an optimized version of StringImpl::startsWith() for JavaScriptCore.
1991
1992         * wtf/text/StringImpl.cpp:
1993         (WTF::StringImpl::startsWith):
1994         * wtf/text/StringImpl.h:
1995         (StringImpl):
1996         (WTF::StringImpl::startsWith):
1997         * wtf/text/WTFString.h:
1998         (WTF::String::startsWith):
1999
2000 2013-05-13  Carlos Garcia Campos  <cgarcia@igalia.com>
2001
2002         Unreviewed. Fix Qt Linux MIPS32R2 build after r149879.
2003
2004         Bring back GLIB_CHECK_VERSION for GBytes since Qt Linux MIPS32R2
2005         depends on glib 2.24.2.
2006
2007         * wtf/gobject/GRefPtr.cpp:
2008         (_GBytes):
2009         (WTF::refGPtr):
2010         (WTF::derefGPtr):
2011
2012 2013-05-13  Anders Carlsson  <andersca@apple.com>
2013
2014         Remove UnusedParam.h
2015         https://bugs.webkit.org/show_bug.cgi?id=116029
2016
2017         Reviewed by Andreas Kling.
2018
2019         Remove UnusedParam.h, it's empty now.
2020
2021         * GNUmakefile.list.am:
2022         * WTF.pro:
2023         * WTF.vcproj/WTF.vcproj:
2024         * WTF.vcxproj/WTF.vcxproj:
2025         * WTF.vcxproj/WTF.vcxproj.filters:
2026         * WTF.xcodeproj/project.pbxproj:
2027         * wtf/CMakeLists.txt:
2028         * wtf/UnusedParam.h: Removed.
2029
2030 2013-05-13  Zalan Bujtas  <zalan@apple.com>
2031
2032         WebProcess consuming very high CPU on linkedin.com
2033         https://bugs.webkit.org/show_bug.cgi?id=115601
2034
2035         Reviewed by Andreas Kling.
2036
2037         Disable WEB_TIMING_MINIMAL.
2038         Turn off window.performance and performance.now(). Some JS frameworks expect
2039         additional Web Timing APIs, when performance.now() is available.
2040
2041         * wtf/FeatureDefines.h:
2042
2043 2013-05-12  Anders Carlsson  <andersca@apple.com>
2044
2045         Stop including UnusedParam.h
2046         https://bugs.webkit.org/show_bug.cgi?id=116003
2047
2048         Reviewed by Sam Weinig.
2049
2050         UnusedParam.h is empty now so there's no need to include it anymore.
2051
2052         * wtf/Atomics.h:
2053         * wtf/BoundsCheckedPointer.h:
2054         * wtf/DateMath.h:
2055         * wtf/FastMalloc.cpp:
2056         * wtf/NumberOfCores.cpp:
2057         * wtf/OSAllocator.h:
2058         * wtf/OSAllocatorPosix.cpp:
2059         * wtf/PageAllocation.h:
2060         * wtf/RefCounted.h:
2061         * wtf/TCSystemAlloc.cpp:
2062         * wtf/ThreadingPthreads.cpp:
2063         * wtf/Vector.h:
2064         * wtf/dtoa/cached-powers.cc:
2065         * wtf/dtoa/fixed-dtoa.cc:
2066
2067 2013-05-12  Anders Carlsson  <andersca@apple.com>
2068
2069         Move UNUSED_PARAM and UNUSED_LABEL macros to Compiler.h
2070         https://bugs.webkit.org/show_bug.cgi?id=115997
2071
2072         Reviewed by Benjamin Poulain.
2073
2074         UnusedParam.h predates Compiler.h and the macros defined there should just go into Compiler.h
2075
2076         * wtf/Compiler.h:
2077         (unusedParam):
2078         * wtf/UnusedParam.h:
2079
2080 2013-05-12  Anders Carlsson  <andersca@apple.com>
2081
2082         Remove Complex.h from WTF
2083         https://bugs.webkit.org/show_bug.cgi?id=115989
2084
2085         Reviewed by Beth Dakin.
2086
2087         Complex.h contains a typedef and a single function (that already has an equivalent in the STL).
2088         The header is used by three files in WebCore, so just use std::complex<double> and std::polar directly.
2089
2090         * GNUmakefile.list.am:
2091         * WTF.vcproj/WTF.vcproj:
2092         * WTF.vcxproj/WTF.vcxproj:
2093         * WTF.vcxproj/WTF.vcxproj.filters:
2094         * WTF.xcodeproj/project.pbxproj:
2095         * wtf/CMakeLists.txt:
2096         * wtf/Complex.h: Removed.
2097
2098 2013-05-11  Martin Robinson  <mrobinson@igalia.com>
2099
2100         [GTK] Add a basic cmake build for WTF and JavaScriptCore
2101         https://bugs.webkit.org/show_bug.cgi?id=115967
2102
2103         Reviewed by Laszlo Gombos.
2104
2105         * wtf/PlatformGTK.cmake: Added.
2106
2107 2013-05-11  Martin Robinson  <mrobinson@igalia.com>
2108
2109         Move defines to platform
2110
2111         [GTK] Move defines that will never be configured to Platform.h
2112         https://bugs.webkit.org/show_bug.cgi?id=115965
2113
2114         Reviewed by Andreas Kling.
2115
2116         * wtf/Platform.h: Add new defines that were previously in the autoconf header.
2117
2118 2013-05-12  Anders Carlsson  <andersca@apple.com>
2119
2120         Simplify AutodrainedPool
2121         https://bugs.webkit.org/show_bug.cgi?id=115986
2122
2123         Reviewed by Andreas Kling.
2124
2125         Remove the ability to cycle an AutodrainedPool, as well as the iteration count.
2126         Creating and draining pools is fast enough now that we don't need to try to be clever about it.
2127
2128         * wtf/AutodrainedPool.h:
2129         (AutodrainedPool):
2130         (WTF::AutodrainedPool::AutodrainedPool):
2131         * wtf/AutodrainedPoolMac.mm:
2132         (WTF::AutodrainedPool::AutodrainedPool):
2133
2134 2013-05-12  Anders Carlsson  <andersca@apple.com>
2135
2136         Move RemoteMemoryReader into FastMalloc.cpp
2137         https://bugs.webkit.org/show_bug.cgi?id=115985
2138
2139         Reviewed by Andreas Kling.
2140
2141         RemoteMemoryReader is only used in FastMalloc.cpp, and even had one of its member functions
2142         implemented there, so move the entire class template there and remove MallocZoneSupport.h.
2143
2144         * GNUmakefile.list.am:
2145         * WTF.pro:
2146         * WTF.vcproj/WTF.vcproj:
2147         * WTF.vcxproj/WTF.vcxproj:
2148         * WTF.vcxproj/WTF.vcxproj.filters:
2149         * WTF.xcodeproj/project.pbxproj:
2150         * wtf/CMakeLists.txt:
2151         * wtf/FastMalloc.cpp:
2152         (WTF):
2153         (PageHeapAllocator):
2154         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2155         * wtf/MallocZoneSupport.h: Removed.
2156
2157 2013-05-10  Laszlo Gombos  <l.gombos@samsung.com>
2158
2159         Remove USE(OS_RANDOMNESS)
2160         https://bugs.webkit.org/show_bug.cgi?id=108095
2161
2162         Reviewed by Darin Adler.
2163
2164         Remove the USE(OS_RANDOMNESS) guard as it is turned on for all
2165         ports.
2166
2167         * wtf/CryptographicallyRandomNumber.cpp:
2168         (WTF::cryptographicallyRandomValues):
2169         * wtf/CryptographicallyRandomNumber.h:
2170         * wtf/OSRandomSource.cpp:
2171         (WTF::cryptographicallyRandomValuesFromOS):
2172         * wtf/OSRandomSource.h:
2173         * wtf/Platform.h:
2174         * wtf/RandomNumber.cpp:
2175         (WTF::randomNumber):
2176         * wtf/RandomNumber.h:
2177         * wtf/RandomNumberSeed.h:
2178         (WTF::initializeRandomNumberGenerator):
2179
2180 2013-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2181
2182         [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
2183         https://bugs.webkit.org/show_bug.cgi?id=115904
2184
2185         Reviewed by Martin Robinson.
2186
2187         * wtf/gobject/GRefPtr.cpp:
2188
2189 2013-05-09  Darin Adler  <darin@apple.com>
2190
2191         RenderQuote has giant function for language to quotes map
2192         https://bugs.webkit.org/show_bug.cgi?id=115807
2193
2194         Reviewed by Anders Carlsson.
2195
2196         * wtf/unicode/CharacterNames.h: Added a couple of character names.
2197
2198 2013-05-08  Michael Saboff  <msaboff@apple.com>
2199
2200         JSC: There should be a disassembler for ARM Thumb 2
2201         https://bugs.webkit.org/show_bug.cgi?id=115827
2202
2203         Reviewed by Filip Pizlo.
2204
2205         Added a new disassembler for ARMv7 Thumb2 instructions for use by the JSC debugging
2206         and profiling code.  Enabled the disassembler for IOS bulds.
2207
2208         * wtf/Platform.h:
2209
2210 2013-05-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2211
2212         Simplify RetainPtrObjectHashTraits
2213         https://bugs.webkit.org/show_bug.cgi?id=115822
2214
2215         Reviewed by Benjamin Poulain.
2216
2217         RetainPtrObjectHashTraits is inherited from SimpleClassHashTraits
2218         instead of GenericHashTraits re-using more shared functionality.
2219
2220         * wtf/RetainPtr.h:
2221         (WTF::RetainPtrObjectHashTraits::emptyValue):
2222
2223 2013-05-08  Anders Carlsson  <andersca@apple.com>
2224
2225         Assert at compile time that we don't pass Objective-C object pointers to adoptCF
2226         https://bugs.webkit.org/show_bug.cgi?id=115823
2227
2228         Reviewed by Geoffrey Garen.
2229
2230         static_assert in adoptCF that the object passed in is not an Objective-C object.
2231         * wtf/RetainPtr.h:
2232
2233 2013-05-08  Anders Carlsson  <andersca@apple.com>
2234
2235         Remove RetainPtr::adoptNS and RetainPtr::adoptCF
2236         https://bugs.webkit.org/show_bug.cgi?id=115817
2237
2238         Reviewed by Jessie Berlin.
2239
2240         These functions are now unused so remove them. The preferred way to create a RetainPtr with an
2241         adopted reference is to use the adoptNS/adoptCF free functions.
2242         
2243         Rewrite the move assignment operators to just call CFRelease explicitly.
2244
2245         * wtf/RetainPtr.h:
2246
2247 2013-05-08  Anders Carlsson  <andersca@apple.com>
2248
2249         Remove ThreadingNone.cpp
2250
2251         Rubber-stamped by Beth Dakin.
2252
2253         ThreadingNone.cpp is empty and not used anywhere.
2254
2255         * wtf/ThreadingNone.cpp: Removed.
2256
2257 2013-05-08  Anders Carlsson  <andersca@apple.com>
2258
2259         Remove HashMap::deleteAllKeys
2260         https://bugs.webkit.org/show_bug.cgi?id=115806
2261
2262         Reviewed by Brent Fulgham.
2263
2264         This function was not used anywhere so let's get rid of it.
2265
2266         * wtf/HashMap.h:
2267
2268 2013-05-08  Eric Carlson  <eric.carlson@apple.com>
2269
2270         [Mac] Inband text tracks are not in track menu on Lion
2271         https://bugs.webkit.org/show_bug.cgi?id=115740
2272
2273         Reviewed by Dean Jackson.
2274
2275         * wtf/Platform.h: AVFOUNDATION_TEXT_TRACK_SUPPORT -> AVFOUNDATION_MEDIA_SELECTION_GROUP
2276
2277 2013-05-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2278
2279         HashTraits<RefPtr<P> >::peek should consider empty value
2280         https://bugs.webkit.org/show_bug.cgi?id=115799
2281
2282         Reviewed by Darin Adler.
2283
2284         HashTraits<RefPtr<P> >::peek() should consider passing of empty value which is
2285         raw pointer equal to '0', and return it right away instead of converting it to RefPtr
2286         and invoking get().
2287
2288         * wtf/HashTraits.h:
2289
2290 2013-05-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2291
2292         Avoid unnecessary arguments copying inside GenericHashTraits methods
2293         https://bugs.webkit.org/show_bug.cgi?id=115733
2294
2295         Reviewed by Darin Adler.
2296
2297         Before the change both WTF::GenericHashTraits::passOut and WTF::GenericHashTraits::passOut
2298         used to return the given argument always by value and that caused implicit extra
2299         copying of the argument. It was OK as long as argument type T was POD, as compiler
2300         could optimize it, but in case T was a class having non-trivial copy constructor the
2301         extra copying of the argument could not have been obviated.
2302
2303         The proposed solution is to provide overloaded functions that accept non-temporary
2304         values and return them by reference thus avoiding extra copying.
2305
2306         The proposed solution made an impact on the size of libjavascriptcore_efl.so (EFL
2307         release build): the size decreased from 6554992 bytes to 6554560 bytes.
2308
2309         * wtf/HashTraits.h:
2310         (WTF::GenericHashTraits::passOut): 
2311         (WTF::GenericHashTraits::peek):
2312
2313 2013-05-07  Anders Carlsson  <andersca@apple.com>
2314
2315         Remove AlwaysInline.h from WTF
2316         https://bugs.webkit.org/show_bug.cgi?id=115727
2317
2318         Reviewed by Brent Fulgham.
2319
2320         The macro that used to be in AlwaysInline.h is now in Compiler.h so there's no reason
2321         to keep AlwaysInline.h around anymore.
2322
2323         * WTF.vcproj/WTF.vcproj:
2324         * WTF.vcxproj/WTF.vcxproj:
2325         * WTF.vcxproj/WTF.vcxproj.filters:
2326         * WTF.xcodeproj/project.pbxproj:
2327         * wtf/AlwaysInline.h: Removed.
2328         * wtf/BloomFilter.h:
2329         * wtf/FastMalloc.cpp:
2330         * wtf/PassRefPtr.h:
2331         * wtf/dtoa.cpp:
2332         * wtf/gobject/GRefPtr.h:
2333
2334 2013-05-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2335
2336         HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
2337         https://bugs.webkit.org/show_bug.cgi?id=115646
2338
2339         Reviewed by Darin Adler.
2340
2341         HashTraits<RefPtr<P> >::PeekType should be raw pointer so that we
2342         can obviate multiple RefPtr copying when invoking HashMap<.., RefPtr>::get()
2343         method.
2344
2345         * wtf/HashTraits.h:
2346
2347 2013-05-06  Cosmin Truta  <ctruta@blackberry.com>
2348
2349         Cherry-pick fixes to bignum from upstream
2350         https://bugs.webkit.org/show_bug.cgi?id=115658
2351
2352         Reviewed by Darin Adler.
2353
2354         Cherry-picked the following change lists:
2355
2356         Fix bug in bignum implementation
2357         http://codereview.chromium.org/13454019
2358
2359         Make VS2005 project files compile without errors
2360         http://codereview.chromium.org/6286135
2361
2362         * wtf/dtoa/bignum.cc:
2363
2364 2013-05-06  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2365
2366         Change HashTraits<RefPtr<P> >::PassOutType to PassRefPtr for better performance
2367         https://bugs.webkit.org/show_bug.cgi?id=115410
2368
2369         Reviewed by Darin Adler.
2370
2371         The type HashTraits<RefPtr<P> >::PassOutType is PassRefPtr now to
2372         avoid extra ref/unrefing on return from HashMap methods that transfer
2373         ownership, such as take.
2374
2375         * wtf/HashTable.h:
2376         (WTF::IdentityHashTranslator::equal):
2377         * wtf/HashTraits.h:
2378
2379 2013-05-05  Anders Carlsson  <andersca@apple.com>
2380
2381         Remove Vector::prepend
2382         https://bugs.webkit.org/show_bug.cgi?id=115618
2383
2384         Reviewed by Geoffrey Garen.
2385
2386         Given the performance characteristics of prepending something to a Vector, not having prepend
2387         will hopefully make developers think about whether prepending is necessary at all. For example,
2388         the functions in HexNumber.h were easily converted to using Vector::append and then Vector::reverse.
2389
2390         * wtf/HexNumber.h:
2391         (WTF::appendUnsignedAsHex):
2392         (WTF::appendUnsignedAsHexFixedSize):
2393         * wtf/Vector.h:
2394         (Vector):
2395
2396 2013-05-05  Anders Carlsson  <andersca@apple.com>
2397
2398         Remove the Vector::append overload that takes a Vector
2399         https://bugs.webkit.org/show_bug.cgi?id=115535
2400
2401         Reviewed by Andreas Kling.
2402
2403         The Vector::append overload that takes a Vector conflicts with rvalues in C++11, so remove it and
2404         replace calls to it with calls to appendVector.
2405
2406         * wtf/Vector.h:
2407         (Vector):
2408
2409 2013-05-04  Andreas Kling  <akling@apple.com>
2410
2411         Unreviewed, rolling out r149563.
2412         http://trac.webkit.org/changeset/149563
2413         https://bugs.webkit.org/show_bug.cgi?id=115587
2414
2415         Broke LLInt build.
2416
2417         * wtf/text/StringImpl.h:
2418         (StringImpl):
2419
2420 2013-05-04  Xan Lopez  <xlopez@igalia.com>
2421
2422         No need to declare JSC::LLInt::Data as friend class of WTF::StringImpl
2423         https://bugs.webkit.org/show_bug.cgi?id=115587
2424
2425         Reviewed by Andreas Kling.
2426
2427         No need to declare LLInt::Data as friend class of WTF::StringImpl,
2428         it does not use any private method/data member of the latter.
2429
2430         * wtf/text/StringImpl.h:
2431         (StringImpl):
2432
2433 2013-05-03  Brent Fulgham  <bfulgham@webkit.org>
2434
2435         Make ThreadFunctionInvocation fast allocated.
2436         https://bugs.webkit.org/show_bug.cgi?id=115552
2437
2438         Reviewed by Benjamin Poulain.
2439
2440         * wtf/ThreadFunctionInvocation.h:
2441         (ThreadFunctionInvocation): Make Fast-allocated.
2442
2443 2013-05-03  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2444
2445         Remove WTF::ListRefPtr class
2446         https://bugs.webkit.org/show_bug.cgi?id=115516
2447
2448         Reviewed by Anders Carlsson.
2449
2450         ListRefPtr was used only by FontFamily class, besides it strongly depended
2451         on FontFamily class semantics which made it non-generic and inappropriate
2452         for being present inside WTF.
2453
2454         This patch removes WTF::ListRefPtr class and moves its the functionality
2455         into FontFamily class.
2456
2457         * GNUmakefile.list.am:
2458         * WTF.pro:
2459         * WTF.vcproj/WTF.vcproj:
2460         * WTF.vcxproj/WTF.vcxproj:
2461         * WTF.vcxproj/WTF.vcxproj.filters:
2462         * WTF.xcodeproj/project.pbxproj:
2463         * wtf/CMakeLists.txt:
2464         * wtf/Forward.h:
2465         (WTF):
2466         * wtf/ListRefPtr.h: Removed.
2467
2468 2013-05-02  Brent Fulgham  <bfulgham@webkit.org>
2469
2470         [WinCairo] Unreviewed build fix.
2471
2472         * WTF.vcxproj/WTF.vcxproj: Use WinCairo FeatureDefines
2473         * WTF.vcxproj/WTF.vcxproj.filters: Use WinCairo FeatureDefines
2474         * WTF.vcxproj/WTFDebugWinCairo.props: Added.
2475         * WTF.vcxproj/WTFReleaseWinCairo.props: Added.
2476
2477 2013-05-02  Brent Fulgham  <bfulgham@webkit.org>
2478
2479         [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html
2480         https://bugs.webkit.org/show_bug.cgi?id=115130
2481
2482         Reviewed by Tim Horton.
2483
2484         Windows is suffering from mismatched allocation/deallocation
2485         between the system allocator and fastMalloc/fastFree.  By turning
2486         off the global switch to fastMalloc, only classes specified to
2487         honor fastMalloc/fastFree are affected, and other memory allocation
2488         and freeing is done with consistent library calls.
2489
2490         * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for
2491         the Windows build.
2492
2493 2013-05-02  Eric Carlson  <eric.carlson@apple.com>
2494
2495         Caption menu does not include in-band captions
2496         https://bugs.webkit.org/show_bug.cgi?id=111934
2497
2498         Reviewed by Dean Jackson.
2499
2500         * wtf/Platform.h: Define HAVE_AVFOUNDATION_TEXT_TRACK_SUPPORT on 10.8 and higher. Added
2501             HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT.
2502
2503 2013-05-02  Brent Fulgham  <bfulgham@webkit.org>
2504
2505         Make BloomFilter fast allocated.
2506         https://bugs.webkit.org/show_bug.cgi?id=115519
2507
2508         Reviewed by Benjamin Poulain.
2509
2510         * wtf/BloomFilter.h:
2511         (BloomFilter): Make BloomFilter Fast-allocated.
2512
2513 2013-05-01  Michael Saboff  <msaboff@apple.com>
2514
2515         FastMalloc.cpp should use system defined page size instead of literal constant
2516         https://bugs.webkit.org/show_bug.cgi?id=115502
2517
2518         Reviewed by Geoffrey Garen.
2519
2520         Updated kPageShift to be PAGE_SHIFT for Mac.  Changed kMaxSize to be fixed at 32K.
2521         Updated kNumClasses for 4K and 16K page sizes.
2522
2523         * wtf/FastMalloc.cpp:
2524         kPageShift: Changed this to be PAGE_SHIFT on mac.
2525
2526 2013-05-01  Roger Fong  <roger_fong@apple.com>
2527
2528         Set Path in makefile for AppleWin.
2529
2530         * WTF.vcxproj/WTF.make:
2531
2532 2013-05-01  Anders Carlsson  <andersca@apple.com>
2533
2534         Add FunctionDispatcher class and make RunLoop derive from it
2535         https://bugs.webkit.org/show_bug.cgi?id=115480
2536
2537         Reviewed by Sam Weinig.
2538
2539         Add FunctionDispatcher files.
2540
2541         * WTF.pro:
2542         * WTF.vcproj/WTF.vcproj:
2543         * WTF.vcxproj/WTF.vcxproj:
2544         * WTF.xcodeproj/project.pbxproj:
2545         * wtf/FunctionDispatcher.cpp: Added.
2546         (WTF::FunctionDispatcher::FunctionDispatcher):
2547         (WTF::FunctionDispatcher::~FunctionDispatcher):
2548         * wtf/FunctionDispatcher.h: Added.
2549
2550 2013-05-01  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2551
2552         [Qt][Win] Fix build after r149416.
2553         https://bugs.webkit.org/show_bug.cgi?id=115474
2554
2555         Reviewed by Anders Carlsson.
2556
2557         * WTF.pro:
2558         * wtf/threads/BinarySemaphore.h:
2559         (BinarySemaphore):
2560
2561 2013-05-01  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2562
2563         [Qt] Unreviewed buildfix after r149416.
2564
2565         * WTF.pro:
2566
2567 2013-04-30  Anders Carlsson  <andersca@apple.com>
2568
2569         Remove the WebKit2 BinarySemaphore class
2570         https://bugs.webkit.org/show_bug.cgi?id=115458
2571
2572         Reviewed by Benjamin Poulain.
2573
2574         * wtf/Forward.h:
2575         Add BinarySemaphore forward declaration.
2576
2577         * wtf/threads/BinarySemaphore.h:
2578         Add WTF_EXPORT_PRIVATE to declarations.
2579
2580 2013-04-30  Commit Queue  <rniwa@webkit.org>
2581
2582         Unreviewed, rolling out r149408.
2583         http://trac.webkit.org/changeset/149408
2584         https://bugs.webkit.org/show_bug.cgi?id=115453
2585
2586         Broke Windows Build (Requested by bfulgham on #webkit).
2587
2588         * wtf/Platform.h:
2589
2590 2013-04-30  Brent Fulgham  <bfulgham@webkit.org>
2591
2592         [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html
2593         https://bugs.webkit.org/show_bug.cgi?id=115130
2594
2595         Reviewed by Tim Horton.
2596
2597         Windows is suffering from mismatched allocation/deallocation
2598         between the system allocator and fastMalloc/fastFree.  By turning
2599         off the global switch to fastMalloc, only classes specified to
2600         honor fastMalloc/fastFree are affected, and other memory allocation
2601         and freeing is done with consistent library calls.
2602
2603         * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for
2604         the Windows build.
2605
2606 2013-04-30  Commit Queue  <rniwa@webkit.org>
2607
2608         Unreviewed, rolling out r149349 and r149354.
2609         http://trac.webkit.org/changeset/149349
2610         http://trac.webkit.org/changeset/149354
2611         https://bugs.webkit.org/show_bug.cgi?id=115444
2612
2613          The Thumb version of compileSoftModulo make invalid use of
2614         registers (Requested by benjaminp on #webkit).
2615
2616         * wtf/Platform.h:
2617
2618 2013-04-30  Darin Adler  <darin@apple.com>
2619
2620         [Mac] Make adoptNS faster on platforms without garbage collection by skipping a CFRetain/NSRelease pair
2621         https://bugs.webkit.org/show_bug.cgi?id=115424
2622
2623         Reviewed by Eric Carlson.
2624
2625         * wtf/RetainPtr.h:
2626         (WTF::adoptNSReference): When OBJC_NO_GC is set, make this an empty function, because in that case
2627         CFRetain and -[NSObject retain] are the same thing and there is no need to call CFRetain and
2628         -[NSObject release] to adopt an Objective-C object.
2629
2630 2013-04-30  Anders Carlsson  <andersca@apple.com>
2631
2632         String::isolatedCopy() can avoid a copy if the original is a temporary
2633         https://bugs.webkit.org/show_bug.cgi?id=115425
2634
2635         Reviewed by Darin Adler.
2636
2637         * wtf/Compiler.h:
2638         Add WTF_COMPILER_SUPPORTS_CXX_REFERENCE_QUALIFIED_FUNCTIONS define.
2639
2640         * wtf/text/WTFString.cpp:
2641         (WTF::String::isolatedCopy):
2642         * wtf/text/WTFString.h:
2643         If COMPILER_SUPPORTS(CXX_REFERENCE_QUALIFIED_FUNCTIONS) is true, add two overloads of String::isolatedCopy().
2644         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
2645         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,
2646         and if it's refcount is 1), then we can just steal the StringImpl from the original and avoid a copy altogether.
2647
2648 2013-04-30  Zalan Bujtas  <zalan@apple.com>
2649
2650         Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/
2651         https://bugs.webkit.org/show_bug.cgi?id=111244
2652
2653         Reviewed by David Kilzer.
2654         
2655         Enable performance.now() as a minimal subset of Web Timing API. 
2656         It returns DOMHighResTimeStamp, a monotonically increasing value representing the 
2657         number of milliseconds from the start of the navigation of the current document.
2658         JS libraries use this API to check against the requestAnimationFrame() timestamp.
2659
2660         * wtf/FeatureDefines.h:
2661
2662 2013-04-29  Cosmin Truta  <ctruta@blackberry.com>
2663
2664         [ARM] Expand the use of integer division
2665         https://bugs.webkit.org/show_bug.cgi?id=115138
2666
2667         Reviewed by Benjamin Poulain.
2668
2669         * wtf/Platform.h: Added ENABLE_ARM_INTEGER_DIV.
2670
2671 2013-04-29  Anders Carlsson  <andersca@apple.com>
2672
2673         It should be an error to use adoptPtr with RefCounted subclasses
2674         https://bugs.webkit.org/show_bug.cgi?id=115389
2675
2676         Reviewed by Benjamin Poulain.
2677
2678         * wtf/PassOwnPtr.h:
2679         (WTF::adoptPtr):
2680         Add COMPILE_ASSERTs.
2681
2682 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2683
2684         [WIN] Add workaround for UNUSED_PARAM()
2685         https://bugs.webkit.org/show_bug.cgi?id=115350
2686
2687         Reviewed by Andreas Kling.
2688
2689         r147882 added an workaround for the MSVC compiler on Windows CE.
2690         Extend this workaround to whole MSVC compiler, since the same
2691         problem occurs with the Visual Studio 10 compiler too.
2692
2693         * wtf/UnusedParam.h:
2694
2695 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2696
2697         [WIN] Add WTF_USE_IMLANG_FONT_LINK2
2698         https://bugs.webkit.org/show_bug.cgi?id=115198
2699
2700         Reviewed by Andreas Kling.
2701
2702         * wtf/Platform.h:
2703
2704 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2705
2706         Define USE(ICU_UNICODE) if USE(WCHAR_UNICODE) is false
2707         https://bugs.webkit.org/show_bug.cgi?id=115349
2708
2709         Reviewed by Andreas Kling.
2710
2711         Since we support only ICU and WCHAR as Unicode backend (ICU is the default)
2712         automatically use ICU if WCHAR was not selected via compiler defines.
2713
2714         * wtf/Platform.h:
2715
2716 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2717
2718         Build fix for WinCE after r148888 and r149097
2719         https://bugs.webkit.org/show_bug.cgi?id=115168
2720
2721         Reviewed by Anders Carlsson.
2722
2723         When using compiler intrinsics on Windows CE the compiler complains
2724         about wrong linkage specification of replaced CRT functions defined
2725         in math.h. This is because the compiler has intrinsics for this
2726         functions defined, and requires them to have extern "C" linkage.
2727
2728         * wtf/MathExtras.h:
2729         (wtf_atan2): Added extern "C" to function signature.
2730         (wtf_fmod): Ditto.
2731         (wtf_pow): Ditto.
2732
2733 2013-04-29  Carlos Garcia Campos  <cgarcia@igalia.com>
2734
2735         Unreviewed. Fix make distcheck.
2736
2737         * GNUmakefile.list.am: Add missing header file to compilation.
2738
2739 2013-04-27  Darin Adler  <darin@apple.com>
2740
2741         Move from constructor and member function adoptCF/NS to free function adoptCF/NS.
2742         https://bugs.webkit.org/show_bug.cgi?id=115307
2743
2744         Reviewed by Geoffrey Garen.
2745
2746         * wtf/RunLoopTimerCF.cpp:
2747         (WTF::RunLoopTimerBase::start):
2748         * wtf/SchedulePair.h:
2749         (WTF::SchedulePair::SchedulePair):
2750         * wtf/SchedulePairMac.mm:
2751         (WTF::SchedulePair::SchedulePair):
2752         * wtf/unicode/icu/CollatorICU.cpp:
2753         (WTF::Collator::userDefault):
2754         Use adoptCF free function.
2755
2756 2013-04-26  Geoffrey Garen  <ggaren@apple.com>
2757
2758         Filled out more cases of branch folding in bytecode when emitting expressions into a branching context
2759         https://bugs.webkit.org/show_bug.cgi?id=115057
2760
2761         Reviewed by Filip Pizlo.
2762
2763         Added a helper constructor for TriState so clients can make one without
2764         branching or making assumptions about the integer values of TriStates.
2765
2766         * wtf/TriState.h:
2767         (WTF::triState):
2768         (WTF):
2769
2770 2013-04-26  Roger Fong  <roger_fong@apple.com>
2771
2772         Make Apple Windows VS2010 build results into and get dependencies from __32 suffixed folders.
2773         Make the DebugSuffix configuration use _debug dependencies.
2774
2775         * WTF.vcxproj/WTF.make:
2776         * WTF.vcxproj/WTF.vcxproj:
2777         * WTF.vcxproj/WTFCommon.props:
2778         * WTF.vcxproj/WTFDebug.props:
2779         * WTF.vcxproj/WTFGenerated.make:
2780         * WTF.vcxproj/WTFGenerated.vcxproj:
2781         * WTF.vcxproj/WTFGeneratedCommon.props:
2782         * WTF.vcxproj/WTFGeneratedDebug.props:
2783         * WTF.vcxproj/WTFGeneratedProduction.props:
2784         * WTF.vcxproj/WTFGeneratedRelease.props:
2785         * WTF.vcxproj/WTFProduction.props:
2786         * WTF.vcxproj/WTFRelease.props:
2787         * WTF.vcxproj/build-generated-files.sh:
2788         * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
2789         (react_to_vsprops_changes):
2790
2791 2013-04-26  Martin Robinson  <mrobinson@igalia.com>
2792
2793         Remove the remaining Skia #ifdefs
2794         https://bugs.webkit.org/show_bug.cgi?id=114886
2795
2796         Reviewed by Benjamin Poulain.
2797
2798         * wtf/Platform.h:
2799
2800 2013-04-26  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2801
2802         Add move semantics to RefPtr
2803         https://bugs.webkit.org/show_bug.cgi?id=115033
2804
2805         Reviewed by Anders Carlsson.
2806
2807         Add move constructors and move assignment operators to RefPtr when
2808         COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES).
2809         This obviates unnecessary reffing/ureffing when RefPtr is created
2810         or assigned from rvalue references.
2811
2812         * wtf/RefPtr.h:
2813         (RefPtr):
2814         (WTF::RefPtr::RefPtr):
2815         (WTF::RefPtr::operator=):
2816
2817 2013-04-26  Andreas Kling  <akling@apple.com>
2818
2819         Remove wxWebKit from WTF.
2820         <http://webkit.org/b/115249>
2821
2822         Reviewed by Antti Koivisto.
2823
2824         * wscript: Removed.
2825         * wtf/ArrayBufferView.h:
2826         (ArrayBufferView):
2827         * wtf/CurrentTime.cpp:
2828         * wtf/DisallowCType.h:
2829         * wtf/ExportMacros.h:
2830         * wtf/FeatureDefines.h:
2831         * wtf/Platform.h:
2832         * wtf/text/WTFString.h:
2833         (String):
2834         * wtf/wx/MainThreadWx.cpp: Removed.
2835         * wtf/wx/StringWx.cpp: Removed.
2836
2837 2013-04-25  Filip Pizlo  <fpizlo@apple.com>
2838
2839         Unreviewed, roll out http://trac.webkit.org/changeset/148999
2840         It broke http://kripken.github.io/ammo.js/examples/new/ammo.html
2841
2842         * wtf/TriState.h:
2843
2844 2013-04-25  Oliver Hunt  <oliver@apple.com>
2845
2846         Fix 32bit build
2847
2848         * wtf/StackBounds.cpp:
2849         (WTF::StackBounds::initialize):
2850
2851 2013-04-25  Oliver Hunt  <oliver@apple.com>
2852
2853         Stack guards are too conservative
2854         https://bugs.webkit.org/show_bug.cgi?id=115147
2855
2856         Reviewed by Mark Hahnenberg.
2857
2858         Use getrlimit on darwin to get the stack size for the main thread.
2859
2860         * wtf/StackBounds.cpp:
2861         (WTF::StackBounds::initialize):
2862
2863 2013-04-25  Andreas Kling  <akling@apple.com>
2864
2865         Remove ENABLE(PARSED_STYLE_SHEET_CACHING) and make it always-on.
2866
2867         Rubber-stamped by Anders Koivisto.
2868
2869         * wtf/FeatureDefines.h:
2870
2871 2013-04-25  peavo@outlook.com  <peavo@outlook.com>
2872
2873         [Windows] Compile fix.
2874         https://bugs.webkit.org/show_bug.cgi?id=115170
2875
2876         Reviewed by Filip Pizlo.
2877
2878         Forward declare function, instead of including intrin.h.
2879
2880         * wtf/Atomics.h:
2881
2882 2013-04-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2883
2884         Use std::move in AtomicString
2885         https://bugs.webkit.org/show_bug.cgi?id=115102
2886
2887         Reviewed by Anders Carlsson.
2888
2889         Use std::move in AtomicString instead of direct casting to rvalue references.
2890
2891         * wtf/text/AtomicString.h:
2892         (AtomicString):
2893         (WTF::AtomicString::AtomicString):
2894         (WTF::AtomicString::operator=):
2895
2896 2013-04-25  Patrick Gansterer  <paroga@webkit.org>
2897
2898         Unreviewed WinCE build fix after r148888.
2899
2900         * wtf/Atomics.h: WinCE version of intrin.h is called cmnintrin.h.
2901
2902 2013-04-24  Roger Fong  <roger_fong@apple.com>
2903
2904         Have VS2010 WebKit solution look in WebKit_Libraries/lib32 for dependencies.
2905
2906         * WTF.vcxproj/build-generated-files.sh:
2907
2908 2013-04-24  Benjamin Poulain  <benjamin@webkit.org>
2909
2910         Use post-branch store for RefCountedBase::derefBase
2911         https://bugs.webkit.org/show_bug.cgi?id=115078
2912
2913         Reviewed by Andreas Kling.
2914
2915         * wtf/RefCounted.h:
2916         (WTF::RefCountedBase::derefBase): This makes the assembly easier to follow.
2917
2918 2013-04-23  Geoffrey Garen  <ggaren@apple.com>
2919
2920         Filled out more cases of branch folding in bytecode when emitting expressions into a branching context
2921         https://bugs.webkit.org/show_bug.cgi?id=115057
2922
2923         Reviewed by Filip Pizlo.
2924
2925         Added a helper constructor for TriState so clients can make one without
2926         branching or making assumptions about the integer values of TriStates.
2927
2928         * wtf/TriState.h:
2929         (WTF::triState):
2930         (WTF):
2931
2932 2013-04-23  Roger Fong  <roger_fong@apple.com>
2933
2934         AppleWin build fix.
2935
2936         * WTF.vcproj/WTF.vcproj:
2937
2938 2013-04-23  Benjamin Poulain  <bpoulain@apple.com>
2939
2940         Remove unused code of RefCounted after chromium removal
2941         https://bugs.webkit.org/show_bug.cgi?id=115009
2942
2943         Reviewed by Ryosuke Niwa.
2944
2945         * wtf/RefCounted.h:
2946         (WTF::RefCountedBase::refCount):
2947         (RefCountedBase):
2948         It looks like addressOfCount() is no longer needed.
2949         Also change the type back to unsigned as it make more sense.
2950
2951 2013-04-23  David Kilzer  <ddkilzer@apple.com>
2952
2953         RetainPtr.h should compile with -Wshorten-64-to-32
2954         <http://webkit.org/b/115047>
2955
2956         Reviewed by Anders Carlsson.
2957
2958         Fixes the following warning:
2959
2960             RetainPtr.h:318:20: error: implicit conversion loses integer precision: 'CFHashCode' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
2961                         return CFHash(o.get());
2962                         ~~~~~~ ^~~~~~~~~~~~~~~
2963
2964         * wtf/RetainPtr.h:
2965         (WTF::RetainPtrObjectHash::hash): Cast return value of CFHash()
2966         to unsigned.  This has no effect on 32-bit architectures, but
2967         takes the lower 32-bits of the CFHashCode (unsigned long) on
2968         64-bit architectures, which is what happens implicitly now.
2969
2970 2013-04-22  Patrick Gansterer  <paroga@webkit.org>
2971
2972         [CMake] Move NullPtr.cpp from PlatformWinCE.cmake to CMakeLists.txt
2973         https://bugs.webkit.org/show_bug.cgi?id=114557
2974
2975         Reviewed by Laszlo Gombos.
2976
2977         This file is not specific to Windwos CE. Move it the the general
2978         CMakeLists.txt so other ports can use it to. It does not affect
2979         ports which do not need it, since it contains a preprocessor guard.
2980
2981         * wtf/CMakeLists.txt:
2982         * wtf/PlatformWinCE.cmake:
2983
2984 2013-04-22  Benjamin Poulain  <benjamin@webkit.org>
2985
2986         Remove the memory instrumentation code
2987         https://bugs.webkit.org/show_bug.cgi?id=114931
2988
2989         Reviewed by Andreas Kling.
2990
2991         On Mac x86_64, the code removal cause the binary to be
2992         9224 bytes smaller.
2993
2994         * GNUmakefile.list.am:
2995         * WTF.pro:
2996         * WTF.vcproj/WTF.vcproj:
2997         * WTF.vcxproj/WTF.vcxproj:
2998         * WTF.vcxproj/WTF.vcxproj.filters:
2999         * WTF.xcodeproj/project.pbxproj:
3000         * wtf/CMakeLists.txt:
3001         * wtf/Forward.h:
3002         * wtf/ListHashSet.h:
3003         (ListHashSet):
3004         (ListHashSetNodeAllocator):
3005         (WTF::ListHashSetNodeAllocator::pool):
3006         (WTF::ListHashSetNodeAllocator::pastPool):
3007         * wtf/MemoryInstrumentation.cpp: Removed.
3008         * wtf/MemoryInstrumentation.h: Removed.
3009         * wtf/MemoryInstrumentationArrayBufferView.h: Removed.
3010         * wtf/MemoryInstrumentationHashCountedSet.h: Removed.
3011         * wtf/MemoryInstrumentationHashMap.h: Removed.
3012         * wtf/MemoryInstrumentationHashSet.h: Removed.
3013         * wtf/MemoryInstrumentationListHashSet.h: Removed.
3014         * wtf/MemoryInstrumentationSequence.h: Removed.
3015         * wtf/MemoryInstrumentationString.h: Removed.
3016         * wtf/MemoryInstrumentationVector.h: Removed.
3017         * wtf/MemoryObjectInfo.h: Removed.
3018         * wtf/text/AtomicString.h:
3019         * wtf/text/StringImpl.h:
3020         (WTF::StringImpl::isASCIILiteral):
3021         * wtf/text/WTFString.h:
3022
3023 2013-04-22  David Kilzer  <ddkilzer@apple.com>
3024
3025         StringImpl.h should compile with -Wshorten-64-to-32
3026         <http://webkit.org/b/114970>
3027
3028         Reviewed by Darin Adler.
3029
3030         Fixes the following warnings with -Wshorten-64-to-32:
3031
3032             StringImpl.h:317:25: error: implicit conversion loses integer precision: 'uintptr_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
3033                     unsigned hash = reinterpret_cast<uintptr_t>(this);
3034                              ~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3035
3036         * wtf/text/StringImpl.h:
3037         (WTF::StringImpl::StringImpl): Add static_cast<uint32_t>() to
3038         formalize taking the lower 32-bits of the pointer value on
3039         64-bit architectures.
3040
3041 2013-04-22  Andreas Kling  <akling@apple.com>
3042
3043         Shrink baseline size of WTF::Vector on 64-bit by switching to unsigned capacity and size.
3044         <http://webkit.org/b/97268>
3045         <rdar://problem/12376519>
3046
3047         Reviewed by Sam Weinig.
3048
3049         Shrink Vector by 8 bytes on 64-bit by using 32-bit capacity and size.
3050         Vector now inherits from VectorBuffer instead of having a VectorBuffer member;
3051         this is necessary for m_size to fall into the padding after the base class members.
3052
3053         The WTF::Vector API still uses size_t.
3054
3055         Based on Blink r148313 by <cevans@chromium.org>.
3056
3057         * wtf/SizeLimits.cpp:
3058         * wtf/Vector.h:
3059         (WTF::VectorBufferBase::allocateBuffer):
3060         (WTF::VectorBufferBase::tryAllocateBuffer):
3061         (VectorBufferBase):
3062         (WTF::VectorBuffer::shouldReallocateBuffer):
3063         (Vector):
3064         (WTF::Vector::Vector):
3065         (WTF::Vector::capacity):
3066         (WTF::Vector::at):
3067         (WTF::Vector::data):
3068         (WTF::Vector::swap):
3069         (WTF::::Vector):
3070         (WTF::::reserveCapacity):
3071         (WTF::::tryReserveCapacity):
3072         (WTF::::reserveInitialCapacity):
3073         (WTF::::shrinkCapacity):
3074         (WTF::::releaseBuffer):
3075
3076 2013-04-21  Filip Pizlo  <fpizlo@apple.com>
3077
3078         Memory barrier support should also ensure that we always do a compiler fence
3079         https://bugs.webkit.org/show_bug.cgi?id=114934
3080
3081         Reviewed by Michael Saboff.
3082         
3083         This is a cherry-pick merge of the WTF part of r148836 from the dfgFourthTier
3084         branch. It fixes a memory ordering bug that is likely asymptomatic, but
3085         nonetheless real: TCSpinLock expects that using a memoryBarrierBeforeUnlock()
3086         prior to setting lockword_ to 0 will ensure that the assignment to lockword_
3087         won't get floated above any of the stores in the critical section. While that
3088         memory barrier does indeed do the right thing on ARM, it doesn't do the right
3089         thing on other architectures: it turns into empty code that the compiler blows
3090         away, which is fine for the hardware since X86 won't reorder that store - but
3091         it's not fine for the compiler, which may still do its own reorderings.
3092         
3093         The WTF part of r148836 fixes this by using a compiler fence: an empty asm
3094         volatile block that is marked as clobbering memory.
3095         
3096         Instead of doing a separate surgical fix in trunk, I decided to merge the
3097         whole WTF change over, to make merging easier in the future.
3098         
3099         Performance testing of this change in dfgFourthTier showed no regression.
3100
3101         * wtf/Atomics.h:
3102         (WTF::compilerFence):
3103         (WTF::armV7_dmb):
3104         (WTF::armV7_dmb_st):
3105         (WTF::loadLoadFence):
3106         (WTF::loadStoreFence):
3107         (WTF::storeLoadFence):
3108         (WTF::storeStoreFence):
3109         (WTF::memoryBarrierAfterLock):
3110         (WTF::memoryBarrierBeforeUnlock):
3111         (WTF::x86_mfence):
3112
3113 2013-04-22  David Kilzer  <ddkilzer@apple.com>
3114
3115         WTF::AtomicString::find() should take unsigned 'start' argument
3116         <http://webkit.org/b/114958>
3117
3118         Reviewed by Darin Adler.
3119
3120         Fixes the following warnings with -Wshorten-64-to-32:
3121
3122             AtomicString.h:113:76: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
3123                 size_t find(UChar c, size_t start = 0) const { return m_string.find(c, start); }
3124                                                                       ~~~~~~~~         ^~~~~
3125             AtomicString.h:115:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
3126                     { return m_string.find(s, start, caseSentitive); }
3127                              ~~~~~~~~         ^~~~~
3128             AtomicString.h:117:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
3129                     { return m_string.find(s, start, caseSentitive); }
3130                              ~~~~~~~~         ^~~~~
3131
3132         * wtf/text/AtomicString.h:
3133         (WTF::AtomicString::find): Change type of 'start' argument from
3134         size_t to unsigned.
3135
3136 2013-04-21  Benjamin Poulain  <benjamin@webkit.org>
3137
3138         Improve StringImpl code density for older ARM hardware
3139         https://bugs.webkit.org/show_bug.cgi?id=114898
3140
3141         Reviewed by Geoffrey Garen.
3142
3143         Reduce the number of instructions needed for StringImpl::deref
3144         on older ARM hardware.
3145
3146         The extra indirection should have a negligible impact on x86_64.
3147
3148         * wtf/text/StringImpl.cpp:
3149         (WTF::StringImpl::destroy):
3150         * wtf/text/StringImpl.h:
3151         (StringImpl):
3152         (WTF::StringImpl::deref):
3153
3154 2013-04-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3155
3156         LLint should be able to use x87 instead of SSE for floating pointer
3157         https://bugs.webkit.org/show_bug.cgi?id=112239
3158
3159         Reviewed by Filip Pizlo.
3160
3161         Disable GTK workaround now that LLInt does not require SSE2.
3162
3163         * wtf/Platform.h:
3164
3165 2013-04-19  Roger Fong  <roger_fong@apple.com>
3166
3167         Remove uses of WebKit_Source from AppleWin build in WTF.
3168
3169         * WTF.vcxproj/WTF.make:
3170         * WTF.vcxproj/copy-files.cmd:
3171         * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
3172         (react_to_vsprops_changes):
3173         (react_to_webkit1_interface_changes):
3174
3175 2013-04-19  Benjamin Poulain  <benjamin@webkit.org>
3176
3177         Remove the declaration of MemoryObjectInfo from StringImpl
3178         https://bugs.webkit.org/show_bug.cgi?id=114788
3179
3180         Reviewed by Andreas Kling.
3181
3182         * wtf/text/StringImpl.h: The declaration is an other left over from chromium.
3183
3184 2013-04-19  Benjamin Poulain  <benjamin@webkit.org>
3185
3186         Make StringImpl::cost const
3187         https://bugs.webkit.org/show_bug.cgi?id=114790
3188
3189         Reviewed by Andreas Kling.
3190
3191         * wtf/text/StringImpl.h:
3192         (WTF::StringImpl::cost):
3193
3194 2013-04-19  Roger Fong  <roger_fong@apple.com>
3195
3196         Unreviewed. WebKit_Source is incorrectly set.
3197
3198         * WTF.vcxproj/WTF.make:
3199
3200 2013-04-19  Alberto Garcia  <agarcia@igalia.com>
3201
3202         OSAllocatorPosix: fix build warnings about unused parameters in QNX
3203         https://bugs.webkit.org/show_bug.cgi?id=114859
3204
3205         Reviewed by Carlos Garcia Campos.
3206
3207         * wtf/OSAllocatorPosix.cpp:
3208         (WTF::OSAllocator::reserveUncommitted):
3209
3210 2013-04-19  Dan Beam  <dbeam@chromium.org>
3211
3212         Remove unmaintained feature REQUEST_AUTOCOMPLETE
3213         https://bugs.webkit.org/show_bug.cgi?id=114846
3214
3215         Reviewed by Kent Tamura.
3216
3217         * wtf/FeatureDefines.h: Remove REQUEST_AUTOCOMPLETE as a feature definition.
3218
3219 2013-04-18  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
3220
3221         Speculative build fix for Qt Mountain Lion Release after r148639.
3222         https://bugs.webkit.org/show_bug.cgi?id=114793
3223
3224         Reviewed by Michael Saboff.
3225
3226         * wtf/CurrentTime.cpp:
3227
3228 2013-04-17  Mark Lam  <mark.lam@apple.com>
3229
3230         Added currentCPUTime() and currentCPUTimeMS().
3231         https://bugs.webkit.org/show_bug.cgi?id=114577.
3232
3233         Reviewed by Geoffrey Garen.
3234
3235         The currentCPUTime() implementation came from the old TimeoutChecker.cpp.
3236
3237         * wtf/CurrentTime.cpp:
3238         (WTF::currentCPUTime):
3239         (WTF::currentCPUTimeMS):
3240         * wtf/CurrentTime.h:
3241
3242 2013-04-17  Ryosuke Niwa  <rniwa@webkit.org>
3243
3244         REGRESSION(r148584): WebKit nightly builds don't load any page
3245         https://bugs.webkit.org/show_bug.cgi?id=114752
3246
3247         Reviewed by Anders Carlsson.
3248
3249         We can't use C++ style (//) comments in Platform.h because WebKit2/DerivedSource.make doesn't know
3250         how to strip it to be merged with *.sb.in to generate *.sb files. Specifically, we have:
3251         
3252         # Some versions of clang incorrectly strip out // comments in c89 code.
3253         # Use -traditional as a workaround, but only when needed since that causes
3254         # other problems with later versions of clang.
3255         ifeq ($(shell echo '//x' | $(CC) -E -P -x c -std=c89 - | grep x),)
3256         TEXT_PREPROCESSOR_FLAGS=-E -P -x c -traditional -w
3257         else
3258         TEXT_PREPROCESSOR_FLAGS=-E -P -x c -std=c89 -w
3259         endif
3260
3261         * wtf/Platform.h:
3262
3263 2013-04-17  Brent Fulgham  <bfulgham@webkit.org>
3264
3265         [Windows, WinCairo] Remove Include Settings for Pthreads from WTF
3266         https://bugs.webkit.org/show_bug.cgi?id=114694
3267
3268         Reviewed by Ryosuke Niwa.
3269
3270         * WTF.vcproj/WTFCommon.vsprops: Remove pthread search path.
3271         * WTF.vcxproj/WTFCommon.props: Remove pthread search path.
3272         * wtf/FastMalloc.cpp: Guard pthread.h include for non-pthread
3273         builds.
3274
3275 2013-04-16  Oliver Hunt  <oliver@apple.com>
3276
3277         Harden FastMalloc against partial pointer overflows
3278         https://bugs.webkit.org/show_bug.cgi?id=114716
3279
3280         Reviewed by Gavin Barraclough.
3281
3282         Bite the bullet and perform object alignment checks on free.
3283         malloc/free micro benchmark shows a regression, but real
3284         benchmarks don't.  There's a little code motion in this avoid
3285         taking too much of a performance hit.  In addition to the
3286         alignment check we also validate the containing span as
3287         we've already taken the hit of finding it.
3288
3289         * wtf/FastMalloc.cpp:
3290         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3291
3292 2013-04-16  Sam Weinig  <sam@webkit.org>
3293
3294         Fix fallout after r148545.
3295
3296         * wtf/Platform.h:
3297         Move Platform defines that were incorrectly in WebCore, into Platform.h
3298
3299 2013-04-15  Commit Queue  <rniwa@webkit.org>
3300
3301         Unreviewed, rolling out r148488.
3302         http://trac.webkit.org/changeset/148488
3303         https://bugs.webkit.org/show_bug.cgi?id=114660
3304
3305         Roll back in r148462 since it was a false positive. (Requested
3306         by rniwa on #webkit).
3307
3308         * wtf/FastMalloc.cpp:
3309         (WTF):
3310         (WTF::setThreadHeap):
3311         (WTF::TCMalloc_ThreadCache::GetThreadHeap):
3312         (WTF::TCMalloc_ThreadCache::InitTSD):
3313         * wtf/ThreadSpecificWin.cpp:
3314         (WTF::destructorsList):
3315         (WTF::destructorsMutex):
3316         (WTF::threadSpecificKeyCreate):
3317         (WTF::threadSpecificKeyDelete):
3318
3319 2013-04-15  Commit Queue  <rniwa@webkit.org>
3320
3321         Unreviewed, rolling out r148462.
3322         http://trac.webkit.org/changeset/148462
3323         https://bugs.webkit.org/show_bug.cgi?id=114658
3324
3325         Broke Windows builds (Requested by rniwa on #webkit).
3326
3327         * wtf/FastMalloc.cpp:
3328         (WTF):
3329         (WTF::setThreadHeap):
3330         (WTF::TCMalloc_ThreadCache::GetThreadHeap):
3331         (WTF::TCMalloc_ThreadCache::InitTSD):
3332         * wtf/ThreadSpecificWin.cpp:
3333         (WTF::destructorsList):
3334         (WTF::destructorsMutex):
3335         (WTF::threadSpecificKeyCreate):
3336         (WTF::threadSpecificKeyDelete):
3337
3338 2013-04-15  Julien Brianceau  <jbrianceau@nds.com>
3339
3340         LLInt SH4 backend implementation
3341         https://bugs.webkit.org/show_bug.cgi?id=112886
3342
3343         Reviewed by Oliver Hunt.
3344
3345         * wtf/Platform.h:
3346
3347 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
3348
3349         [CMake] Add WTF_USE_*_UNICODE variables
3350         https://bugs.webkit.org/show_bug.cgi?id=114556
3351
3352         Reviewed by Brent Fulgham.
3353
3354         WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to
3355         reduce duplication in the platform specific CMake files.
3356
3357         * wtf/CMakeLists.txt:
3358         * wtf/PlatformBlackBerry.cmake:
3359         * wtf/PlatformEfl.cmake:
3360         * wtf/PlatformWinCE.cmake:
3361
3362 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
3363
3364         [WIN] Remove remaining calls to pthread from WTF
3365         https://bugs.webkit.org/show_bug.cgi?id=114563
3366
3367         Reviewed by Brent Fulgham.
3368
3369         Replace pthread_key_create with threadSpecificKeyCreate and
3370         pthread_setspecific with threadSpecificSet from ThreadSpecific.h.
3371         These functions provide a windows-specific implementation for the pthread functions,
3372         but require that the thread has been created with WTF::createThread(),
3373         which is the case for all threads created within WebKit.
3374         To call this function from fastMalloc we must not call fastMalloc in them.
3375         To fulfill this constraint ThreadSpecificWin will allocated its memory through the
3376         original malloc implementation and use the stack for local and static variables.
3377         Keep the Darwin implementation as it is, since it contains some performance tweaks.
3378
3379         * wtf/FastMalloc.cpp:
3380         * wtf/ThreadSpecificWin.cpp:
3381         (WTF::destructorsList):
3382         (WTF::destructorsMutex):
3383         (WTF::threadSpecificKeyCreate):
3384         (WTF::threadSpecificKeyDelete):
3385
3386 2013-04-14  Oliver Hunt  <oliver@apple.com>
3387
3388         Try to fix non-apple windows builds
3389
3390         * wtf/Platform.h:
3391
3392 2013-04-14  David Kilzer  <ddkilzer@apple.com>
3393
3394         Add EnumClass.h to project files
3395         <http://webkit.org/b/114582>
3396
3397         Rubber-stamped by Dan Bernstein.
3398
3399         * WTF.pro: Add EnumClass.h to project.
3400         * WTF.vcproj/WTF.vcproj: Ditto.
3401         * WTF.vcxproj/WTF.vcxproj: Ditto.
3402         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
3403         * WTF.xcodeproj/project.pbxproj: Ditto.
3404
3405 2013-04-12  Oliver Hunt  <oliver@apple.com>
3406
3407         Apologies to all, I have no idea what happened to cause this change.
3408
3409         * wtf/Platform.h:
3410
3411 2013-04-12  Oliver Hunt  <oliver@apple.com>
3412
3413         [Qt][Win] r148257 broke the build
3414         https://bugs.webkit.org/show_bug.cgi?id=114512
3415
3416         Build fix.
3417
3418         * wtf/Platform.h:
3419
3420 2013-04-11  Oliver Hunt  <oliver@apple.com>
3421
3422         Add more type validation to debug builds
3423         https://bugs.webkit.org/show_bug.cgi?id=114478
3424
3425         Reviewed by Mark Hahnenberg.
3426
3427         Add BINDING_VALIDATION flag and make RELEASE_ASSERT use UNLIKELY.
3428
3429         * wtf/Assertions.h:
3430         * wtf/Platform.h:
3431
3432 2013-04-10  Thiago Marcos P. Santos  <thiago.santos@intel.com>
3433
3434         [WTF] Get rid of truncated thread name warnings for non-Windows platforms
3435         https://bugs.webkit.org/show_bug.cgi?id=114266
3436
3437         Reviewed by Ryosuke Niwa.
3438
3439         Hide the annoying message from ports that are not really interested
3440         about it.
3441
3442         * wtf/Threading.cpp:
3443         (WTF::createThread):
3444
3445 2013-04-10  Benjamin Poulain  <bpoulain@apple.com>
3446
3447         Mass remove all the empty directories
3448
3449         Rubberstamped by Ryosuke Niwa.
3450
3451         * wtf/qt/compat: Removed.
3452         * wtf/unicode/glib: Removed.
3453         * wtf/unicode/qt4: Removed.
3454         * wtf/unicode/wince: Removed.
3455
3456 2013-04-08  Anders Carlsson  <andersca@apple.com>
3457
3458         Remove unneeded headers from FrameLoader.h
3459         https://bugs.webkit.org/show_bug.cgi?id=114223
3460
3461         Reviewed by Geoffrey Garen.
3462
3463         * wtf/Forward.h:
3464         Add PrintStream.
3465
3466         * wtf/HashTable.h:
3467         Don't include DataLog.h unless DUMP_HASHTABLE_STATS_PER_TABLE is 1.
3468
3469 2013-04-10  Laszlo Gombos  <l.gombos@samsung.com>
3470
3471         Remove ENABLE_3D_PLUGIN
3472         https://bugs.webkit.org/show_bug.cgi?id=108002
3473
3474         Reviewed by Antti Koivisto.
3475
3476         Remove ENABLE_3D_PLUGIN, it was only used by Chromium.
3477
3478         * wtf/FeatureDefines.h:
3479
3480 2013-04-09  Patrick Gansterer  <paroga@webkit.org>
3481
3482         [CMake] Remove conditional source file lists in WTF
3483         https://bugs.webkit.org/show_bug.cgi?id=114250
3484
3485         Reviewed by Laszlo Gombos.
3486
3487         Use the #ifdef in the source file instead of conditional adding
3488         files to the list of source files. This allows us to remove the
3489         information of enabled features from CMake in next step.
3490
3491         * wtf/CMakeLists.txt:
3492
3493 2013-04-08  Ryosuke Niwa  <rniwa@webkit.org>
3494
3495         Remove WTF.gyp/WTF.gypi
3496         https://bugs.webkit.org/show_bug.cgi?id=114237
3497
3498         Reviewed by Maciej Stachowiak.
3499
3500         * WTF.gyp: Removed.
3501         * WTF.gyp/.gitignore: Removed.
3502         * WTF.gyp/WTF.gyp: Removed.
3503         * WTF.gypi: Removed.
3504
3505 2013-04-08  Benjamin Poulain  <benjamin@webkit.org>
3506
3507         Remove HTML Notification
3508         https://bugs.webkit.org/show_bug.cgi?id=114231
3509
3510         Reviewed by Ryosuke Niwa.
3511
3512         * wtf/FeatureDefines.h:
3513
3514 2013-04-08  Benjamin Poulain  <benjamin@webkit.org>
3515
3516         wtf/dtoa/* uses a confusing name to reference its buffers
3517         https://bugs.webkit.org/show_bug.cgi?id=109709
3518
3519         Reviewed by Darin Adler.
3520
3521         The data structure Vector in wtf/dtoa has nothing to do with a traditional
3522         vector, is it just a pointer and the length of the pointed buffer.
3523
3524         Rename it to BufferReference to avoid mistakes.
3525
3526         * wtf/dtoa/bignum-dtoa.cc:
3527         * wtf/dtoa/bignum-dtoa.h:
3528         * wtf/dtoa/bignum.cc:
3529         * wtf/dtoa/bignum.h:
3530         (Bignum):
3531         * wtf/dtoa/double-conversion.cc:
3532         * wtf/dtoa/fast-dtoa.cc:
3533         * wtf/dtoa/fast-dtoa.h:
3534         * wtf/dtoa/fixed-dtoa.cc:
3535         * wtf/dtoa/fixed-dtoa.h:
3536         (double_conversion):
3537         * wtf/dtoa/strtod.cc:
3538         * wtf/dtoa/strtod.h:
3539         (double_conversion):
3540         * wtf/dtoa/utils.h:
3541         (double_conversion):
3542         (WTF::double_conversion::BufferReference::BufferReference):
3543         (WTF::double_conversion::BufferReference::SubBufferReference):
3544         (StringBuilder):
3545
3546 2013-04-08  Alberto Garcia  <agarcia@igalia.com>
3547
3548         [BlackBerry] MathExtras: macros defined in math.h conflict with the real functions
3549         https://bugs.webkit.org/show_bug.cgi?id=112683
3550
3551         Reviewed by Darin Adler.
3552
3553         After calls to signbit and friends were prefixed with std:: in
3554         r143232, the BlackBerry port no longer compiles.
3555
3556         The solution is to get rid of the macros defined in math.h and use
3557         the real functions instead.
3558
3559         * wtf/MathExtras.h:
3560
3561 2013-04-08  Max Vujovic  <mvujovic@adobe.com>
3562
3563         REGRESSION (r147502): Animations of CA filters broken
3564         https://bugs.webkit.org/show_bug.cgi?id=114067
3565
3566         Reviewed by Dean Jackson.
3567
3568         Revert r147502 [1] because it broke CA filter animations.
3569         
3570         [1]: http://trac.webkit.org/changeset/147502
3571
3572         * wtf/Platform.h:
3573
3574 2013-04-08  Andreas Kling  <akling@apple.com>
3575
3576         REGRESSION(r147894): Broke WTFReportBacktrace() on Mac.
3577         <http://webkit.org/b/114174>
3578
3579         Reviewed by Anders Carlsson.
3580
3581         An #elif !OS(ANDROID) block was erroneously removed, turn it into an #else instead since
3582         that path will still be taken for OS(DARWIN).
3583
3584         * wtf/Assertions.cpp:
3585
3586 2013-04-08  Oliver Hunt  <oliver@apple.com>
3587
3588         Build fix.
3589
3590         Remove unnecessary include of <wtf/Forward.h> from Vector.h
3591
3592         * wtf/Vector.h:
3593
3594 2013-04-08  Csaba Osztrogonác  <ossy@webkit.org>
3595
3596         Unreviewed trivial buildfix after r147799.
3597
3598         Add an ifdef guard to ensure Qt uses its own monotonicallyIncreasingTime()
3599         implemenation instead of the GLIB based one.
3600
3601         * wtf/CurrentTime.cpp:
3602         (WTF):
3603
3604 2013-04-07  Benjamin Poulain  <benjamin@webkit.org>
3605
3606         Remove the android code from WebKit Template Framework
3607         https://bugs.webkit.org/show_bug.cgi?id=114138
3608
3609         Reviewed by Dirk Schulze.
3610
3611         * wtf/Assertions.cpp:
3612         * wtf/Atomics.h:
3613         * wtf/MathExtras.h:
3614         * wtf/Platform.h:
3615         * wtf/ThreadIdentifierDataPthreads.cpp:
3616
3617 2013-04-07  Oliver Hunt  <oliver@apple.com>
3618
3619         Add bounds checking for WTF::Vector::operator[]
3620         https://bugs.webkit.org/show_bug.cgi?id=89600
3621
3622         Reviewed by Filip Pizlo.
3623
3624         Add a template parameter to Vector<> that controls whether
3625         bounds checking is performed in release builds or not.
3626         Defaults to crashing on overflow.
3627
3628         * wtf/Forward.h:
3629         (WTF):
3630         * wtf/Vector.h:
3631         (WTF):
3632         (Vector):
3633         (WTF::Vector::at):
3634         (WTF::Vector::removeLast):
3635         (WTF::::Vector):
3636         (WTF::=):
3637         (WTF::::contains):
3638         (WTF::::find):
3639         (WTF::::reverseFind):
3640         (WTF::::fill):
3641         (WTF::::appendRange):
3642         (WTF::::expandCapacity):
3643         (WTF::::tryExpandCapacity):
3644         (WTF::::resize):
3645         (WTF::::shrink):
3646         (WTF::::grow):
3647         (WTF::::reserveCapacity):
3648         (WTF::::tryReserveCapacity):
3649         (WTF::::reserveInitialCapacity):
3650         (WTF::::shrinkCapacity):
3651         (WTF::::append):
3652         (WTF::::tryAppend):
3653         (WTF::::appendSlowCase):
3654         (WTF::::uncheckedAppend):
3655         (WTF::::appendVector):
3656         (WTF::::insert):
3657         (WTF::::prepend):
3658         (WTF::::remove):
3659         (WTF::::reverse):
3660         (WTF::::releaseBuffer):
3661         (WTF::::checkConsistency):
3662         (WTF::deleteAllValues):
3663         (WTF::swap):
3664         (WTF::operator==):
3665         (WTF::operator!=):
3666
3667 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
3668
3669         [WIN] Fix problems with export macros of AutodrainedPool
3670         https://bugs.webkit.org/show_bug.cgi?id=114132
3671
3672         Reviewed by Geoffrey Garen.
3673
3674         Exporting an inline function results in an error with the MS compiler.
3675
3676         * wtf/AutodrainedPool.h:
3677         (AutodrainedPool):
3678         (WTF::AutodrainedPool::AutodrainedPool):
3679         (WTF::AutodrainedPool::~AutodrainedPool):
3680         (WTF::AutodrainedPool::cycle):
3681
3682 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
3683
3684         [WinCE] Add workaround for UNUSED_PARAM()
3685         https://bugs.webkit.org/show_bug.cgi?id=113440
3686
3687         Reviewed by Benjamin Poulain.
3688
3689         The MSVC compiler for Windwos CE throws an error when
3690         an function parameter is passed to UNUSED_PARAM() and
3691         its type is only forward declared.
3692
3693         * wtf/UnusedParam.h:
3694
3695 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
3696
3697         Do not check if WTF_ARM_ARCH_VERSION is defined in WTF_ARM_ARCH_AT_LEAST macro
3698         https://bugs.webkit.org/show_bug.cgi?id=114127