Make SVGTransform::valueAsString use StringBuilder
[WebKit-https.git] / Source / WTF / ChangeLog
1 2013-09-17  Darin Adler  <darin@apple.com>
2
3         Make SVGTransform::valueAsString use StringBuilder
4         https://bugs.webkit.org/show_bug.cgi?id=121498
5
6         Reviewed by Andreas Kling.
7
8         * wtf/text/StringBuilder.cpp: Added appendNumber functions corresponding to all remaining
9         String::number functions. If we find we don't need all of these we can delete them later,
10         but I don't want to give clients a reason to prefer less-efficient API to StringBuilder.
11         * wtf/text/StringBuilder.h: Ditto.
12
13 2013-09-16  Anders Carlsson  <andersca@apple.com>
14
15         HashMap should work with move-only keys
16         https://bugs.webkit.org/show_bug.cgi?id=121310
17
18         Reviewed by Darin Adler.
19
20         Add extra overloads for add and set where the key is an rvalue reference, but not a
21         template parameter rvalue reference. This way we'll coerce the key parameter to have the expected
22         type instead of the passed in type, causing map.add(StringImpl::create("Hello"), 123) work when the
23         type of map is HashMap<String, unsigned>.
24
25         Also, sprinkle && and std::forward where appropriate.
26
27         * wtf/HashMap.h:
28         * wtf/HashTable.h:
29
30 2013-09-17  Sergio Martins  <sergio.martins@kdab.com>
31
32         Fix Windows CE build on ARM.
33         https://bugs.webkit.org/show_bug.cgi?id=121490
34
35         Reviewed by Darin Adler.
36
37         * wtf/dtoa/utils.h:
38
39 2013-09-17  Mihnea Ovidenie  <mihnea@adobe.com>
40
41         REGRESSION(r155910): WebKit nightly builds don't load any page
42         https://bugs.webkit.org/show_bug.cgi?id=121482
43
44         Reviewed by Andreas Kling.
45
46         Replaced C++ style comments with C style comments.
47
48         * wtf/Platform.h:
49
50 2013-09-16  Joseph Pecoraro  <pecoraro@apple.com>
51
52         USE(WEB_THREAD): More explicit WebThread initialization
53         https://bugs.webkit.org/show_bug.cgi?id=121454
54
55         Reviewed by Benjamin Poulain.
56
57         Be more explicit when initializing WebThread only data.
58
59         * wtf/MainThread.h:
60         * wtf/MainThread.cpp:
61         (WTF::initializeWebThreadOnce):
62         (WTF::initializeWebThread):
63         Ensure one time initialization.
64
65         * wtf/mac/MainThreadMac.mm:
66         (WTF::initializeMainThreadPlatform):
67         (WTF::initializeWebThreadPlatform):
68         Move WebThread value initialization to its own function.
69
70         (WTF::isMainThread):
71         Remove no longer invalid assert if WebThread was not initialized.
72
73 2013-09-16  Benjamin Poulain  <benjamin@webkit.org>
74
75         Fix WebKit1 build after r155910
76
77         Reviewed by Anders Carlsson.
78
79         * wtf/Platform.h: Some files in WebKit include system headers before
80         WTF headers, causing the macro to be defined twice. #undef the macro
81         to support that case.
82
83 2013-09-16  Benjamin Poulain  <benjamin@webkit.org>
84
85         Disable OS X's unprefixed debug macro
86         https://bugs.webkit.org/show_bug.cgi?id=121460
87
88         Reviewed by Anders Carlsson.
89
90         * wtf/Platform.h: OS X defines a series of platform macros for debugging.
91         Some of them are really annoying because they use common names (e.g. check()).
92
93         Disable those macros so that we are not limited in how we name methods and functions.
94
95 2013-09-16  Anders Carlsson  <andersca@apple.com>
96
97         MessageQueue should use a Deque of OwnPtrs
98         https://bugs.webkit.org/show_bug.cgi?id=121450
99
100         Reviewed by Andreas Kling.
101
102         * wtf/MessageQueue.h:
103
104 2013-09-16  Anders Carlsson  <andersca@apple.com>
105
106         WTF::Deque should work with move only types
107         https://bugs.webkit.org/show_bug.cgi?id=121446
108
109         Reviewed by Andreas Kling.
110
111         * wtf/Deque.h:
112         Use std::move and std::forward where appropriate and get rid of the PassTraits include.
113
114 2013-09-16  Anders Carlsson  <andersca@apple.com>
115
116         Change a couple of COMPILE_ASSERTs to static_assert
117         https://bugs.webkit.org/show_bug.cgi?id=121441
118
119         Reviewed by Andreas Kling.
120
121         * wtf/BloomFilter.h:
122         * wtf/PackedIntVector.h:
123         (WTF::PackedIntVector::PackedIntVector):
124         * wtf/StdLibExtras.h:
125         (WTF::bitwise_cast):
126         (WTF::safeCast):
127         (WTF::roundUpToMultipleOf):
128         * wtf/StringHasher.h:
129         (WTF::StringHasher::hashMemory):
130         * wtf/Vector.h:
131         * wtf/text/AtomicString.cpp:
132         * wtf/unicode/Unicode.h:
133
134 2013-09-15  Gustavo Noronha Silva  <gns@gnome.org>
135
136         Unreviewed make distcheck fix.
137
138         * GNUmakefile.list.am:
139
140 2013-09-15  Patrick Gansterer  <paroga@webkit.org>
141
142         Fix build with Visual Studio 2012 after r153764.
143         https://bugs.webkit.org/show_bug.cgi?id=121406
144
145         Reviewed by Brent Fulgham.
146
147         * wtf/MathExtras.h:
148
149 2013-09-15  Alberto Garcia  <berto@igalia.com>
150
151         Unreviewed GTK gardening.
152
153         * GNUmakefile.list.am: remove FastAllocBase.h, this file disappeared
154         in r155251.
155
156 2013-09-15  Patrick Gansterer  <paroga@webkit.org>
157
158         [WIN] Fix build without precompiled header after r155454.
159
160         * wtf/win/GDIObject.h: Added missing windows.h include.
161
162 2013-09-15  Andreas Kling  <akling@apple.com>
163
164         Remove Ref(const T&) constructor.
165         <https://webkit.org/b/121384>
166
167         Reviewed by Anders Carlsson.
168
169         This constructor was added as a stopgap measure until we got better support
170         for move semantics in Vector.
171
172         * wtf/Ref.h:
173
174 2013-09-15  Andreas Kling  <akling@apple.com>
175
176         Unreviewed, fix ridiculous bug in WeakPtr.
177
178         I made operator!() null check the pointer to the WeakReference. :|
179
180         Caught by plugins/destroy-on-setwindow.html on bots.
181
182         * wtf/WeakPtr.h:
183         (WTF::WeakPtr::operator!):
184
185 2013-09-14  Andreas Kling  <akling@apple.com>
186
187         Get rid of ref-counting on RenderWidget.
188         <https://webkit.org/b/121357>
189
190         Reviewed by Darin Adler.
191
192         * wtf/WeakPtr.h:
193         (WTF::WeakPtr::operator!):
194
195             Add operator! to WeakPtr.
196
197 2013-09-14  Darin Adler  <darin@apple.com>
198
199         Add NeverDestroyed::get
200         https://bugs.webkit.org/show_bug.cgi?id=121358
201
202         Reviewed by Anders Carlsson.
203
204         * wtf/NeverDestroyed.h: Removed code to make this non-copyable, since we also
205         use a macro to accomplish that.
206         (WTF::NeverDestroyed::get): Added. Useful in conjuction with auto to avoid
207         having to repeat the type when we want to put one of these into a reference.
208
209 2013-09-13  Anders Carlsson  <andersca@apple.com>
210
211         Pick the correct overload when a const reference is passed to appendSlowCase.
212         https://bugs.webkit.org/show_bug.cgi?id=121326
213
214         Reviewed by Darin Adler.
215
216         * wtf/Vector.h:
217         (WTF::Vector::appendSlowCase):
218         Make sure that the pointer to the element isn't const so we'll pick the right expandCapacity overload.
219
220 2013-09-13  Anders Carlsson  <andersca@apple.com>
221
222         Avoid a couple of zero-sized fastMalloc calls
223         https://bugs.webkit.org/show_bug.cgi?id=121333
224
225         Reviewed by Geoffrey Garen.
226
227         * wtf/text/StringBuffer.h:
228         (WTF::StringBuffer::StringBuffer):
229         Initialize m_data to null if m_length is null, and use Checked<size_t> to check for
230         overflow when multiplying m_length with the character size.
231
232 2013-09-13  Brent Fulgham  <bfulgham@apple.com>
233
234         [Windows] Activate FastMalloc hardening
235         https://bugs.webkit.org/show_bug.cgi?id=121307
236
237         Reviewed by Oliver Hunt.
238
239         * wtf/FastMalloc.cpp: 
240         (WTF::SLL_Next): Add workaround for MSVC compiler bug.
241
242 2013-09-13  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
243
244         OwnArrayPtr: Never allow implicit pointer conversion
245         https://bugs.webkit.org/show_bug.cgi?id=121291
246
247         Reviewed by Anders Carlsson.
248
249         We should never allow implicit pointer conversion in OwnArrayPtr 
250         and remove its template copy constructor & template assignment operator, as:
251         - these methods are never used
252         - these methods are inappropriate to have in OwnArrayPtr as arrays do not
253           interact well with polymorphism.
254
255         * wtf/OwnArrayPtr.h:
256
257 2013-09-13  Allan Sandfeld Jensen  <allan.jensen@digia.com>
258
259         Remove support for QXmlStream as the XML parser.
260         https://bugs.webkit.org/show_bug.cgi?id=121229
261
262         Reviewed by Andreas Kling.
263
264         Removed USE flags.
265
266         * wtf/Platform.h:
267
268 2013-09-12  Mark Hahnenberg  <mhahnenberg@apple.com>
269
270         Bitmap's WordType should be a template parameter
271         https://bugs.webkit.org/show_bug.cgi?id=121238
272
273         Reviewed by Darin Adler.
274
275         The code is written as if it already is. We just need to lift it out of the class.
276         This simplifies code that wants to load, for example, a single byte rather than an 
277         entire 32-bit word. 
278
279         * wtf/Bitmap.h:
280         (WTF::Bitmap::Bitmap):
281         (WTF::Bitmap::get):
282         (WTF::Bitmap::set):
283         (WTF::Bitmap::testAndSet):
284         (WTF::Bitmap::testAndClear):
285         (WTF::Bitmap::concurrentTestAndSet):
286         (WTF::Bitmap::concurrentTestAndClear):
287         (WTF::Bitmap::clear):
288         (WTF::Bitmap::clearAll):
289         (WTF::Bitmap::nextPossiblyUnset):
290         (WTF::Bitmap::findRunOfZeros):
291         (WTF::Bitmap::count):
292         (WTF::Bitmap::isEmpty):
293         (WTF::Bitmap::isFull):
294
295 2013-09-12  Anders Carlsson  <andersca@apple.com>
296
297         Add rudimentary support for move-only types as values in HashMap
298         https://bugs.webkit.org/show_bug.cgi?id=121226
299
300         Reviewed by Andreas Kling.
301
302         * wtf/HashMap.h:
303         Change a bunch of functions to so they can take both rvalue and lvalue references and use std::forward.
304
305         * wtf/HashTraits.h:
306         (WTF::KeyValuePair::KeyValuePair):
307         Change constructors to accept both lvalues and rvalues.
308
309 2013-09-12  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
310
311         Remove home-brewed nullptr
312         https://bugs.webkit.org/show_bug.cgi?id=119624
313
314         Reviewed by Anders Carlsson.
315
316         The standard C++11 nullptr and std::nullptr_t type should be used now.
317
318         * GNUmakefile.list.am:
319         * WTF.pro:
320         * WTF.vcxproj/WTF.vcxproj:
321         * WTF.vcxproj/WTF.vcxproj.filters:
322         * WTF.xcodeproj/project.pbxproj:
323         * wtf/CMakeLists.txt:
324         * wtf/NullPtr.cpp: Removed.
325         * wtf/NullPtr.h: Removed.
326         * wtf/OwnArrayPtr.h:
327         * wtf/OwnPtr.h:
328         * wtf/PassOwnPtr.h:
329         * wtf/PassRefPtr.h:
330         * wtf/RetainPtr.h:
331         * wtf/win/GDIObject.h:
332
333 2013-09-11  Anders Carlsson  <andersca@apple.com>
334
335         Use the new C++11 function declaration syntax throughout our hash collection classes
336         https://bugs.webkit.org/show_bug.cgi?id=121195
337
338         Reviewed by Andreas Kling.
339
340         * wtf/HashMap.h:
341         * wtf/HashSet.h:
342         * wtf/HashTable.h:
343
344 2013-09-11  Anders Carlsson  <andersca@apple.com>
345
346         Add HashSet::take
347         https://bugs.webkit.org/show_bug.cgi?id=121192
348
349         Reviewed by Darin Adler.
350
351         This is mostly done to see if we can use the new C++11 function declaration syntax,
352         and for parity with HashMap::take. 
353
354         * wtf/HashMap.h:
355         * wtf/HashSet.h:
356
357 2013-09-11  Anders Carlsson  <andersca@apple.com>
358
359         HashSet should work with move only types
360         https://bugs.webkit.org/show_bug.cgi?id=121188
361
362         Reviewed by Geoffrey Garen.
363
364         * wtf/HashSet.h:
365         (WTF::HashSet::add):
366         Add a new rvalue reference overload and use std::move when calling HashTable::add.
367
368         * wtf/HashTable.h:
369         (WTF::IdentityHashTranslator::translate):
370         Change this to take an rvalue reference for the value so we can invoke the move assignment operator.
371
372         (WTF::HashTable::add):
373         Call the add member function template, using std::move to move the value.
374
375         (WTF::HashTable::add):
376         Add std::forward so we'll potentially move extra.
377
378 2013-09-11  Anders Carlsson  <andersca@apple.com>
379
380         Avoid copying a hash table bucket when inserting causes a rehash
381         https://bugs.webkit.org/show_bug.cgi?id=121185
382
383         Reviewed by Darin Adler.
384
385         Allow rehashing to track a hash bucket and return the new pointer to it, thus avoiding
386         having to do a copy of a hash table bucket as well as an extra hash lookup.
387
388         * wtf/HashTable.h:
389
390 2013-09-11  Brent Fulgham  <bfulgham@apple.com>
391
392         [Windows] Unreviewed build fix.
393
394         * wtf/win/GDIObject.h:
395         (WTF::GDIObject::GDIObject): I forgot to check in as part of
396         r155557 by using webkit-patch land in a sub-directory!
397
398 2013-09-11  Oliver Hunt  <oliver@apple.com>
399
400         Partial Information Leakage in Hash Table implementations (PrivateName)
401         https://bugs.webkit.org/show_bug.cgi?id=120663
402
403         Reviewed by Michael Saboff.
404
405         Unique strings now just generate a completely random value as their
406         hash, rather than using their this pointer.
407
408         * wtf/text/StringImpl.h:
409         (WTF::StringImpl::StringImpl):
410
411 2013-09-11  Brent Fulgham  <bfulgham@apple.com>
412
413         Unreviewed build correction.
414
415         * WTF.vcxproj/copy-files.cmd: Touch file to force WTFGenerated
416         build to copy updated GDIObject.h header file on build machines.
417
418 2013-09-11  Anders Carlsson  <andersca@apple.com>
419
420         Vector::append doesn't work if element type has overloaded operator&
421         https://bugs.webkit.org/show_bug.cgi?id=121175
422
423         Reviewed by Brent Fulgham.
424
425         Use std::addressof to get the address of the given object.
426
427         * wtf/Vector.h:
428         (WTF::::appendSlowCase):
429         (WTF::::uncheckedAppend):
430
431 2013-09-11  Anders Carlsson  <andersca@apple.com>
432
433         Vector::append doesn't work if element type has overloaded operator&
434         https://bugs.webkit.org/show_bug.cgi?id=121175
435
436         Reviewed by Brent Fulgham.
437
438         Use std::addressof to get the address of the given object.
439
440         * wtf/Vector.h:
441         (WTF::::appendSlowCase):
442         (WTF::::uncheckedAppend):
443
444 2013-09-11  Anders Carlsson  <andersca@apple.com>
445
446         VectorBuffer::swap doesn't need to use std::swap_ranges
447         https://bugs.webkit.org/show_bug.cgi?id=121164
448
449         Reviewed by Darin Adler.
450
451         There's a std::swap overload for swapping arrays, just use it instead.
452
453         * wtf/Vector.h:
454         (WTF::VectorBuffer::swap):
455
456 2013-09-11  Anders Carlsson  <andersca@apple.com>
457
458         Implement Vector::append for move-only types
459         https://bugs.webkit.org/show_bug.cgi?id=120805
460
461         Reviewed by Andreas Kling.
462
463         * wtf/Vector.h:
464         (WTF::::expandCapacity):
465         Remove const from the pointer passed to expandCapacity, it can be non-const if we're moving.
466
467         (WTF::::append):
468         Change append to take U&& and use std::forward when constructing the element and when passing
469         the element along to appendSlowCase if that's necessary.
470         
471         (WTF::::appendSlowCase):
472         Use std::forward.
473
474         (WTF::::uncheckedAppend):
475         Rename val to value.
476
477 2013-09-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
478
479         WTF::OwnPtr should behave similarly with the rest of WTF smart pointers
480         https://bugs.webkit.org/show_bug.cgi?id=120773
481
482         Reviewed by Anders Carlsson.
483
484         Before the change OwnPtr could take either the pointer type or the pointed-to type, which was bad
485         for the following reasons:
486         - It distinguished OwnPtr behaviour from other WTF smart pointer classes behaviour (so it was confusing for the Client).
487         - It was potential error-prone as it actually modified the type given by the Client in opaque way.
488
489         * wtf/OwnPtr.h:
490         * wtf/PassOwnPtr.h:
491
492 2013-09-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
493
494         OwnPtr: Use copy/move-and-swap for assignment operators
495         https://bugs.webkit.org/show_bug.cgi?id=121154
496
497         Reviewed by Anders Carlsson.
498
499         Rationals:
500         - decrease of repeated code
501         - consistency with RefPtr
502
503         * wtf/OwnPtr.h:
504         (WTF::=):
505
506 2013-09-11  Patrick Gansterer  <paroga@webkit.org>
507
508         [CMake] Split out generic Windows files into its own file
509         https://bugs.webkit.org/show_bug.cgi?id=119514
510
511         Reviewed by Gyuyoung Kim.
512
513         This allows us to add smaller CMakeLists.txt files when
514         adding additional Windows ports.
515
516         * wtf/PlatformWin.cmake: Renamed from Source/WTF/wtf/PlatformWinCE.cmake.
517
518 2013-09-10  Daniel Bates  <dabates@apple.com>
519
520         [iOS] Upstream text autosizing
521         https://bugs.webkit.org/show_bug.cgi?id=121111
522
523         Reviewed by Andy Estes and Sam Weinig.
524
525         Define iOS text autosizing to be enabled on iOS unless otherwise defined.
526
527         * wtf/FeatureDefines.h:
528
529 2013-09-10  Anders Carlsson  <andersca@apple.com>
530
531         Remove wtf/Alignment.h
532         https://bugs.webkit.org/show_bug.cgi?id=121077
533
534         Reviewed by Andreas Kling.
535
536         * GNUmakefile.list.am:
537         * WTF.pro:
538         * WTF.vcxproj/WTF.vcxproj:
539         * WTF.vcxproj/WTF.vcxproj.filters:
540         * WTF.xcodeproj/project.pbxproj:
541         * wtf/Alignment.h: Removed.
542         * wtf/CMakeLists.txt:
543         * wtf/text/ASCIIFastPath.h:
544
545 2013-09-10  Anders Carlsson  <andersca@apple.com>
546
547         More WTF/Alignment.h removal
548         https://bugs.webkit.org/show_bug.cgi?id=121125
549
550         Reviewed by Andreas Kling.
551
552         * wtf/Alignment.h:
553         * wtf/Vector.h:
554         (WTF::VectorBuffer::swap):
555         (WTF::VectorBuffer::inlineBuffer):
556         * wtf/text/ASCIIFastPath.h:
557         (WTF::isAlignedTo):
558         (WTF::isAlignedToMachineWord):
559
560 2013-09-10  Brent Fulgham  <bfulgham@apple.com>
561
562         Unreviewed build fix after r155476.
563
564         * GNUmakefile.list.am: Remove reference to deleted OwnPtrWin.cpp file.
565         * WTF.pro: Ditto.
566         * wtf/CMakeLists.txt: Ditto.
567
568 2013-09-10  Brent Fulgham  <bfulgham@apple.com>
569
570         [Windows] Create SharedGDIObject Class Template
571         https://bugs.webkit.org/show_bug.cgi?id=121037
572
573         Reviewed by Anders Carlsson.
574
575         Now that the SharedGDIObject class exists we can get rid of
576         the Windows-specific code in OwnPtr.
577
578         * WTF.vcxproj/WTF.vcxproj: Remove OwnPtrWin.cpp.
579         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
580         * wtf/OwnPtrCommon.h: 
581         (WTF::deleteOwnedPtr): Remove Windows declarations that
582         are no longer needed.
583         * wtf/win/GDIObject.h:
584         (WTF::GDIObject::get): Change to 'const' to match
585         signature (and use cases) elsewhere in the code base for
586         our smart pointer classes.
587         * wtf/win/OwnPtrWin.cpp: Removed.
588
589 2013-09-10  Anders Carlsson  <andersca@apple.com>
590
591         Remove more uses of WTF::AlignedBuffer
592         https://bugs.webkit.org/show_bug.cgi?id=121119
593
594         Reviewed by Andreas Kling.
595
596         * wtf/HashTable.h:
597         * wtf/SizeLimits.cpp:
598
599 2013-09-10  Anders Carlsson  <andersca@apple.com>
600
601         Clean up wtf/Noncopyable.h
602         https://bugs.webkit.org/show_bug.cgi?id=121115
603
604         Reviewed by Darin Adler.
605
606         Use std::aligned_storage instead of WTF::AlignedBuffer.
607
608         * wtf/NeverDestroyed.h:
609         (WTF::NeverDestroyed::NeverDestroyed):
610
611 2013-09-09  Brent Fulgham  <bfulgham@apple.com>
612
613         [Windows] Change from using OwnPtr<GDI Stuff> to new GDIObject template.
614         https://bugs.webkit.org/show_bug.cgi?id=120778
615
616         Reviewed by Anders Carlsson.
617
618         * WTF.vcxproj/WTF.vcxproj: Add new GDIObject header file.
619         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
620         * WTF.vcxproj/copy-files.cmd: Copy new header file.
621         * wtf/OwnPtrCommon.h: Remove some GDI specializations.
622         * wtf/win/GDIObject.h: Added.
623         (WTF::GDIObject::GDIObject):
624         (WTF::GDIObject::~GDIObject):
625         (WTF::GDIObject::get):
626         (WTF::GDIObject::operator!):
627         (WTF::GDIObject::operator UnspecifiedBoolType):
628         (WTF::GDIObject::operator=):
629         (WTF::GDIObject::swap):
630         (WTF::::clear):
631         (WTF::::leak):
632         (WTF::::GDIObject):
633         (WTF::=):
634         (WTF::adoptGDIObject):
635         (WTF::swap):
636         (WTF::T):
637         (WTF::HDC):
638         * wtf/win/OwnPtrWin.cpp:
639         (WTF::deleteOwnedPtr): Remove some GDI specializations.
640
641 2013-09-09  Anders Carlsson  <andersca@apple.com>
642
643         Introduce WTF::createOwned
644         https://bugs.webkit.org/show_bug.cgi?id=121059
645
646         Reviewed by Andreas Kling.
647
648         WTF::createOwned is a function template that does adoptPtr + new in a single function call,
649         with all the arguments being perfectly forwarded thanks to C++11.
650         
651         Being forward-looking, createOwned returns an OwnPtr rather than a PassOwnPtr since the plan is 
652         to get rid of PassOwnPtr and just use std::move instead.
653
654         * wtf/FilePrintStream.cpp:
655         * wtf/FilePrintStream.h:
656         * wtf/HashTable.h:
657         * wtf/ListHashSet.h:
658         * wtf/OwnPtr.h:
659         (WTF::OwnPtr::OwnPtr):
660         (WTF::createOwned):
661         (WTF::createThread):
662         (WTF::establishIdentifierForPthreadHandle):
663         (WTF::createThreadInternal):
664         (WTF::Collator::userDefault):
665         (WTF::Collator::userDefault):
666
667 2013-09-09  Anders Carlsson  <andersca@apple.com>
668
669         Remove wtf/TypeTraits.h
670         https://bugs.webkit.org/show_bug.cgi?id=121047
671
672         Reviewed by Darin Adler.
673
674         * GNUmakefile.list.am:
675         * WTF.pro:
676         * WTF.vcxproj/WTF.vcxproj:
677         * WTF.vcxproj/WTF.vcxproj.filters:
678         * WTF.xcodeproj/project.pbxproj:
679         * wtf/CMakeLists.txt:
680         * wtf/TypeTraits.cpp: Removed.
681         * wtf/TypeTraits.h: Removed.
682         * wtf/VectorTraits.h:
683
684 2013-09-09  Luciano Wolf  <luciano.wolf@openbossa.org>
685
686         Nix upstreaming - Adding stubs and Nix specific platform files
687         https://bugs.webkit.org/show_bug.cgi?id=118358
688
689         Reviewed by Benjamin Poulain.
690
691         Basically adding all files that have "Nix" in their names and
692         are related to WebCore module.
693
694         * wtf/nix/FeatureDefinesNix.h: Added.
695         * wtf/nix/PlatformNix.h: Added.
696
697 2013-09-08  Anders Carlsson  <andersca@apple.com>
698
699         Begin moving off of TypeTraits.h
700         https://bugs.webkit.org/show_bug.cgi?id=121006
701
702         Reviewed by Darin Adler.
703
704         The C++11 has its own type traits implementation that is more complete and handles corner cases better
705         since it ties into the compiler. Begin switching uses of WTF type traits to STL type traits.
706
707         * wtf/CheckedArithmetic.h:
708         * wtf/HashTraits.h:
709         * wtf/NeverDestroyed.h:
710         * wtf/OwnPtr.h:
711         * wtf/PassOwnPtr.h:
712         (WTF::adoptPtr):
713         * wtf/RetainPtr.h:
714
715 2013-09-09  Julien Brianceau  <jbriance@cisco.com>
716
717         [Qt] Remove FastAllocBase.h from WTF.pro.
718         https://bugs.webkit.org/show_bug.cgi?id=121024
719
720         Reviewed by Jocelyn Turcotte.
721
722         * WTF.pro: Remove FastAllocBase.h as this file disappeared in r155251.
723
724 2013-09-08  Darin Adler  <darin@apple.com>
725
726         Deprecate AdoptCF and AdoptNS (on all platforms except iOS for now)
727         https://bugs.webkit.org/show_bug.cgi?id=121017
728
729         Reviewed by Andreas Kling.
730
731         * wtf/RetainPtr.h: Use the preprocessor to rename AdoptCF and AdoptNS
732         to DeprecatedAdoptCF and DeprecatedAdoptNS on all platforms except
733         for iOS. Also removed an unneeded explicit conversion in the retainPtr
734         function. Also re-sorted the using lines at the end of the file.
735
736 2013-09-08  Anders Carlsson  <andersca@apple.com>
737
738         Move WTF::notFound to Vector.h and delete NotFound.h
739         https://bugs.webkit.org/show_bug.cgi?id=120990
740
741         Reviewed by Sam Weinig.
742
743         * GNUmakefile.list.am:
744         * WTF.pro:
745         * WTF.vcxproj/WTF.vcxproj:
746         * WTF.vcxproj/WTF.vcxproj.filters:
747         * WTF.xcodeproj/project.pbxproj:
748         * wtf/CMakeLists.txt:
749         * wtf/NotFound.h: Removed.
750         * wtf/Vector.h:
751
752 2013-09-07  David Kilzer  <ddkilzer@apple.com>
753
754         gtest fails to build due to integer type mismatch in WTF::insertIntoBoundedVector()
755         <http://webkit.org/b/120983>
756
757         Reviewed by Dan Bernstein.
758
759         Fixes the following build failure:
760
761             WebKitBuild/Debug/usr/local/include/wtf/StdLibExtras.h:266:23: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
762             for (unsigned i = size; i-- > index + 1;)
763                           ~   ^~~~
764
765         * wtf/StdLibExtras.h:
766         (WTF::insertIntoBoundedVector): Use size_t instead of unsigned
767         as for loop index variable.
768
769 2013-09-07  Anders Carlsson  <andersca@apple.com>
770
771         Remove NonCopyableSort.h from WTF
772         https://bugs.webkit.org/show_bug.cgi?id=120984
773
774         Reviewed by Andreas Kling.
775
776         std::sort as defined by C++11 moves elements when possible, so there's no need for nonCopyableSort anymore.
777
778         * GNUmakefile.list.am:
779         * WTF.pro:
780         * WTF.vcxproj/WTF.vcxproj:
781         * WTF.vcxproj/WTF.vcxproj.filters:
782         * WTF.xcodeproj/project.pbxproj:
783         * wtf/NonCopyingSort.h: Removed.
784
785 2013-09-07  Anders Carlsson  <andersca@apple.com>
786
787         Get rid of PassOwnArrayPtr
788         https://bugs.webkit.org/show_bug.cgi?id=120964
789
790         Reviewed by Andreas Kling.
791
792         Make OwnArrayPtr a proper move-only type and get rid of PassOwnArrayPtr.
793         
794         Ultimately I'd like to get rid of OwnArrayPtr as well and just have it be a specialization
795         of OwnPtr<T[]>, but this is a step in the right direction.
796
797         * GNUmakefile.list.am:
798         * WTF.pro:
799         * WTF.vcxproj/WTF.vcxproj:
800         * WTF.vcxproj/WTF.vcxproj.filters:
801         * WTF.xcodeproj/project.pbxproj:
802         * wtf/Assertions.cpp:
803         * wtf/CMakeLists.txt:
804         * wtf/DateMath.h:
805         * wtf/FastBitVector.h:
806         * wtf/Forward.h:
807         * wtf/OwnArrayPtr.h:
808         * wtf/PassOwnArrayPtr.h: Removed.
809
810 2013-09-07  Anders Carlsson  <andersca@apple.com>
811
812         VectorMover should use std::move
813         https://bugs.webkit.org/show_bug.cgi?id=120959
814
815         Reviewed by Geoffrey Garen.
816
817         This lets the compiler use move constructors when moving data, which can be a performance improvement.
818         If the vector element type isn't movable it will be copied instead.
819
820         * wtf/Vector.h:
821         (WTF::VectorTypeOperations::move):
822         (WTF::VectorTypeOperations::moveOverlapping):
823
824 2013-09-07  Anders Carlsson  <andersca@apple.com>
825
826         Get rid of FastAllocBase.h
827         https://bugs.webkit.org/show_bug.cgi?id=120952
828
829         Reviewed by Antti Koivisto.
830
831         FastAllocBase.h now only contains the WTF_MAKE_FAST_ALLOCATED macro. 
832         Move that macro to FastMalloc.h instead and remove FastAllocBase.h.
833
834         * WTF.vcxproj/WTF.vcxproj:
835         * WTF.vcxproj/WTF.vcxproj.filters:
836         * WTF.xcodeproj/project.pbxproj:
837         * wtf/DeferrableRefCounted.h:
838         * wtf/FastAllocBase.h: Removed.
839         * wtf/FastMalloc.h:
840         * wtf/HashSet.h:
841         * wtf/MediaTime.h:
842         * wtf/PrintStream.h:
843         * wtf/RefCounted.h:
844         * wtf/RefPtr.h:
845         * wtf/ThreadingPrimitives.h:
846         * wtf/Vector.h:
847         * wtf/gobject/GMutexLocker.h:
848         * wtf/unicode/Collator.h:
849
850 2013-09-06  Anders Carlsson  <andersca@apple.com>
851
852         Add a new smart pointer type for fastMalloc'ed memory
853         https://bugs.webkit.org/show_bug.cgi?id=120911
854
855         Reviewed by Andreas Kling.
856
857         Due to an oversight on my part, Vector::releaseBuffer() currently returns an OwnPtr
858         which means that its data will be freed with operator delete instead of fastFree.
859         
860         Fix this by introducing a new MllocPtr smart pointer class and change Vector::releaseBuffer() to return it instead.
861
862         * WTF.pro:
863         * WTF.vcxproj/WTF.vcxproj:
864         * WTF.vcxproj/WTF.vcxproj.filters:
865         * WTF.xcodeproj/project.pbxproj:
866         * wtf/CMakeLists.txt:
867         * wtf/FastAllocBase.h:
868         * wtf/MallocPtr.h: Added.
869         * wtf/Vector.h:
870         * wtf/text/StringBuffer.h:
871         * wtf/text/StringImpl.h:
872
873 2013-09-06  Andreas Kling  <akling@apple.com>
874
875         Remove old workaround for Nokia's Harmattan GCC on Qt/ARM.
876         <https://webkit.org/b/37253>
877
878         Reviewed by Anders Carlsson.
879
880         Apparently this was a workaround for GCC getting stuck in an infinite loop
881         when building for ARM in a Nokia SDK over 2 years ago.
882
883         I think it's safe to remove this now, but if I'm wrong, and you're reading
884         this ChangeLog wondering why I did this to you, feel free to put it back in.
885
886         * wtf/PassRefPtr.h:
887         (WTF::refIfNotNull):
888         (WTF::derefIfNotNull):
889
890 2013-09-06  Andreas Kling  <akling@apple.com>
891
892         Remove unused RefPtr(PlacementNewAdopt) constructor.
893         <https://webkit.org/b/120914>
894
895         Reviewed by Anders Carlsson.
896
897         * wtf/RefPtr.h:
898
899 2013-09-06  David Kilzer  <ddkilzer@apple.com>
900
901         BUILD FIX (r155171): INSTALL_PATH_PREFIX should no longer be used beneath BUILT_PRODUCTS_DIR in HEADER_SEARCH_PATHS for iOS
902
903         * Configurations/Base.xcconfig:
904         (HEADER_SEARCH_PATHS): Change
905         $(BUILT_PRODUCTS_DIR)/$(INSTALL_PATH_PREFIX)/usr/local/include to
906         $(BUILT_PRODUCTS_DIR)/usr/local/include.
907
908 2013-09-06  Anders Carlsson  <andersca@apple.com>
909
910         Remove fastNew/fastDelete
911         https://bugs.webkit.org/show_bug.cgi?id=120904
912
913         Reviewed by Andreas Kling.
914
915         Remove the various variants of fastNew and fastDelete.
916
917         * wtf/FastAllocBase.h:
918
919 2013-09-06  Alberto Garcia  <berto@igalia.com>
920
921         [GTK] GlibUtilities: getCurrentExecutablePath() does not compile on GNU/Hurd
922         https://bugs.webkit.org/show_bug.cgi?id=120793
923
924         Reviewed by Gustavo Noronha Silva.
925
926         Original patch by Svante Signell <svante.signell@telia.com>.
927
928         PATH_MAX is not defined in GNU/Hurd, this patch adds a dummy
929         implementation to make it compile.
930
931         * wtf/gobject/GlibUtilities.cpp:
932         (getCurrentExecutablePath):
933
934 2013-09-05  Dan Bernstein  <mitz@apple.com>
935
936         INSTALL_PATH_PREFIX is used even when not installing
937         https://bugs.webkit.org/show_bug.cgi?id=120810
938
939         Reviewed by Andy Estes.
940
941         * Configurations/CopyWTFHeaders.xcconfig: Removed INSTALL_PATH_PREFIX from
942         the definition of PRIVATE_HEADERS_FOLDER_PATH. Also removed the leading
943         slash, because the Xcode definition of this build setting is relative.
944         * WTF.xcodeproj/project.pbxproj: Prepend INSTALL_PATH_PREFIX here when installing.
945
946 2013-09-05  Anders Carlsson  <andersca@apple.com>
947
948         Fix build with older versions of clang from Xcode.
949
950         * wtf/Compiler.h:
951
952 2013-09-05  Anders Carlsson  <andersca@apple.com>
953
954         Make Vector::uncheckedAppend work with move-only types
955         https://bugs.webkit.org/show_bug.cgi?id=120799
956
957         Reviewed by Andreas Kling.
958
959         * wtf/Vector.h:
960         (WTF::::uncheckedAppend):
961         Use std::forward to invoke the move constructor when possible.
962
963 2013-09-05  Anders Carlsson  <andersca@apple.com>
964
965         Add COMPILER_SUPPORTS(CXX_AUTO_TYPE) and #error if it's 0
966         https://bugs.webkit.org/show_bug.cgi?id=120794
967
968         Reviewed by Andreas Kling.
969
970         People have already begun using C++11 auto in WebCore, so let's make it a prerequisite.
971
972         * wtf/Compiler.h:
973
974 2013-09-05  Anders Carlsson  <andersca@apple.com>
975
976         Clean up wtf/Compiler.h
977         https://bugs.webkit.org/show_bug.cgi?id=120790
978
979         Reviewed by Andreas Kling.
980
981         - Get rid of the CLANG_PRAGMA define, it's not used anywhere.
982         - Remove a workaround for a bug in the version of clang that came with Xcode 4.2.
983         - Replace WTF_COMPILER_SUPPORTS_CXX_FINAL_CONTROL with a compiler quirk for versions of clang
984           that have a buggy final implementation and fix a bug in the macro where final would be disabled
985           for versions of clang where __clang_minor__ is less than 2, regardless of the major version.
986         - Fail if someone tries to compile the WebKit stack with a compiler that doesn't support rvalue
987           references or static_assert.
988
989         * wtf/Compiler.h:
990
991 2013-09-05  Anders Carlsson  <andersca@apple.com>
992
993         Change StringBuffer back to not use an OwnPtr in an attempt to fix ports.
994         
995         * wtf/text/StringBuffer.h:
996
997 2013-09-04  Anders Carlsson  <andersca@apple.com>
998
999         Vector::releaseBuffer should return an OwnPtr
1000         https://bugs.webkit.org/show_bug.cgi?id=120718
1001
1002         Reviewed by Andreas Kling.
1003
1004         Change Vector::releaseBuffer() to return an OwnPtr. I intentionally chose
1005         to use an OwnPtr over a PassOwnPtr since we're trying to move away from PassOwnPtr objects.
1006         
1007         Fix fallout from this change by adopting OwnPtr/PassOwnPtr in StringBuffer and the two StringImpl
1008         constructors that adopt the passed in pointer.
1009
1010         * wtf/Vector.h:
1011         * wtf/text/StringBuffer.h:
1012         * wtf/text/StringImpl.h:
1013
1014 2013-09-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1015
1016         Remove String(RefPtr<StringImpl>) constructor
1017         https://bugs.webkit.org/show_bug.cgi?id=120767
1018
1019         Reviewed by Anders Carlsson.
1020
1021         The String(RefPtr<StringImpl>) constructor should be removed for the following reasons:
1022         - It almost does not have clients, so it is unneeded.
1023         - RefPtr should never be passed by value
1024
1025         * wtf/text/StringBuilder.cpp:
1026         (WTF::StringBuilder::shrinkToFit):
1027         * wtf/text/WTFString.h:
1028
1029 2013-09-05  Jaehun Lim  <ljaehun.lim@samsung.com>
1030
1031         Unreviewed. Fix build after r155083
1032
1033         Source/WTF/wtf/Vector.h:1210:48: error: ‘>>’ should be ‘> >’ within a nested template argument list
1034
1035         * wtf/Vector.h: Add missing space.
1036
1037 2013-09-04  Mark Rowe  <mrowe@apple.com>
1038
1039         Fix AutodrainedPool.h to compile without errors under ARC.
1040
1041         Rubber-stamped by Anders Carlsson.
1042
1043         * wtf/AutodrainedPool.h: Some versions of Clang complain about any use of NSAutoreleasePool under ARC.
1044         Change the type of the member variable to id to work around this. Since the implementation file is compiled
1045         under manual reference counting, everything will work fine.
1046
1047 2013-09-04  Anders Carlsson  <andersca@apple.com>
1048
1049         De-indent Vector.h.
1050
1051         Rubber-stamped by Andreas Kling.
1052         
1053         I'm cleaning up Vector and making it work with move-only objects, and the namespace WTF
1054         indentation is driving me crazy.
1055
1056         * wtf/Vector.h:
1057
1058 2013-09-03  Filip Pizlo  <fpizlo@apple.com>
1059
1060         CodeBlock memory cost reporting should be rationalized
1061         https://bugs.webkit.org/show_bug.cgi?id=120615
1062
1063         Reviewed by Darin Adler.
1064
1065         * wtf/RefCountedArray.h:
1066         (WTF::RefCountedArray::refCount):
1067
1068 2013-09-03  Enrica Casucci  <enrica@apple.com>
1069
1070         Follow up to http://trac.webkit.org/changeset/155014
1071
1072         Reviewed by Alexey Proskuryakov.
1073
1074         In the r155014 I renamed hasLineBreakingPropertyComplexContext
1075         to requiresComplexContextForWordBreaking but forgot to
1076         make the same change in UnicodeWchar.h.
1077
1078         * wtf/unicode/wchar/UnicodeWchar.cpp:
1079         (WTF::Unicode::requiresComplexContextForWordBreaking):
1080         * wtf/unicode/wchar/UnicodeWchar.h:
1081
1082 2013-09-03  Enrica Casucci  <enrica@apple.com>
1083
1084         Can't select Katakana word by double-clicking.
1085         <rdar://problem/14654926>
1086
1087         Reviewed by Alexey Proskuryakov and Ryosuke Niwa.
1088
1089         For some languages, like Japanese we need
1090         to use more context for word breaking.
1091         I've renamed the function to better reflect its use
1092         and remove the unused hasLineBreakingPropertyComplexContextOrIdeographic.
1093
1094         * wtf/unicode/icu/UnicodeIcu.h:
1095         (WTF::Unicode::requiresComplexContextForWordBreaking):
1096
1097 2013-09-03  Andreas Kling  <akling@apple.com>
1098
1099         Support Vector<Ref<T>>.
1100         <https://webkit.org/b/120637>
1101
1102         Reviewed by Antti Koivisto.
1103
1104         Add a Ref(const T&) constructor to enable Vector<Ref<T>>. This looks a bit awkward
1105         but is necessary for Vector::append(const T&) to find a constructor.
1106
1107         An alternative would be to add something like std::vector::emplace_back, but I can't
1108         think of a good name for that, and it'd be nice if append() would "just work."
1109
1110         Also add operator->(). I initially excluded this because I felt it made for
1111         unsafe-looking code. Things quickly got out of hand with .get() everywhere though.
1112
1113         IMO -> looks OK as long as it's only used on the first link in a dereference chain,
1114         as that variable and its type will be "in context."
1115
1116         * wtf/Ref.h:
1117         (WTF::Ref::Ref):
1118         (WTF::Ref::~Ref):
1119         (WTF::Ref::operator->):
1120         (WTF::Ref::get):
1121         * wtf/VectorTraits.h:
1122
1123             Add simple traits for Ref<T> so it can be moved around freely by Vector.
1124
1125 2013-09-03  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1126
1127         Check WTF::VectorFiller template argument type size in compile time
1128         https://bugs.webkit.org/show_bug.cgi?id=120631
1129
1130         Reviewed by Darin Adler.
1131
1132         The template argument's type size in WTF::VectorFiller 'memset' specialization
1133         should be checked during compilation rather than in runtime.
1134
1135         * wtf/Vector.h:
1136
1137 2013-09-02  Darin Adler  <darin@apple.com>
1138
1139         Cut down on double hashing and code needlessly using hash table iterators
1140         https://bugs.webkit.org/show_bug.cgi?id=120611
1141
1142         Reviewed by Andreas Kling.
1143
1144         Double hashing is common in code that needs to combine a remove with some
1145         action to only be done if the code is removed. The only way to avoid it is
1146         to write code using find and a hash table iterator. To help with this, add
1147         a boolean return value to remove functions to indicate if anything was removed.
1148
1149         Double hashing also happens in code that does a get followed by a remove.
1150         The take function is helpful in this case. To help with this, add a takeFirst
1151         funciton to ListHashSet.
1152
1153         * wtf/HashCountedSet.h:
1154         (WTF::HashCountedSet::removeAll): Added a boolean return value, analogous to the one
1155         that the HashCountedSet::remove function already has.
1156
1157         * wtf/HashMap.h:
1158         (WTF::HashMap::remove): Added a boolean return value, true if something was removed.
1159         * wtf/HashSet.h:
1160         (WTF::HashSet::remove): Ditto.
1161         * wtf/RefPtrHashMap.h:
1162         (WTF::RefPtrHashMap::remove): Ditto.
1163
1164         * wtf/ListHashSet.h:
1165         (WTF::ListHashSet::takeFirst): Added.
1166         (WTF::ListHashSet::takeLast): Added.
1167         (WTF::ListHashSet::remove): Added a boolean return value, true if something was removed.
1168
1169         * wtf/WTFThreadData.h:
1170         (JSC::IdentifierTable::remove): Use the new remove return value to get rid of most of
1171         the code in this function.
1172
1173 2013-09-02  David Kilzer  <ddkilzer@apple.com>
1174
1175         Remove duplicate entries found by Xcode in WTF project
1176
1177         Platform.h was duplicated in r111778 after being added in
1178         r111504.
1179
1180         A dangling reference to Ref.h was added in r154962.
1181
1182         * WTF.xcodeproj/project.pbxproj: Remove duplicate entries for
1183         Platform.h and Ref.h.
1184
1185 2013-09-02  Andreas Kling  <akling@apple.com>
1186
1187         Actually add Ref.h
1188
1189 2013-09-02  Darin Adler  <darin@apple.com>
1190
1191         [Mac] No need for HardAutorelease, which is same as CFBridgingRelease
1192         https://bugs.webkit.org/show_bug.cgi?id=120569
1193
1194         Reviewed by Andy Estes.
1195
1196         * wtf/ObjcRuntimeExtras.h: Added a FIXME about miscapitalization of ObjC.
1197         Deleted HardAutorelease.
1198         (wtfObjcMsgSend): Dropped the use of abbreviations in local class and argument names.
1199         (wtfCallIMP): Ditto.
1200
1201 2013-09-01  Andreas Kling  <akling@apple.com>
1202
1203         Ref: A smart pointer for the reference age.
1204         <https://webkit.org/b/120570>
1205
1206         Reviewed by Antti Koivisto.
1207
1208         Add a very simple simple Ref<T> smart pointer class that is never null.
1209         It's initialized by passing a T& to the constructor and cannot be assigned to.
1210
1211         operator-> is not overloaded, to prevent unsafe-looking code.
1212         The value is extracted by "T& get()", since C++ does not let you override operator.()
1213
1214         * wtf/Ref.h:
1215
1216 2013-08-30  Oliver Hunt  <oliver@apple.com>
1217
1218         Make JSValue bool conversion less dangerous
1219         https://bugs.webkit.org/show_bug.cgi?id=120505
1220
1221         Reviewed by Darin Adler.
1222
1223         Make LIKELY and UNLIKELY macros coerce to bool before
1224         passing to expect.
1225
1226         * wtf/Compiler.h:
1227
1228 2013-08-30  Antti Koivisto  <antti@apple.com>
1229
1230         Remove code behind ENABLE(DIALOG_ELEMENT)
1231         https://bugs.webkit.org/show_bug.cgi?id=120467
1232
1233         Reviewed by Darin Adler.
1234
1235         * wtf/FeatureDefines.h:
1236
1237 2013-08-29  Sam Weinig  <sam@webkit.org>
1238
1239         Add ENABLE guards for Promises
1240         https://bugs.webkit.org/show_bug.cgi?id=120488
1241
1242         Reviewed by Andreas Kling.
1243
1244         * wtf/FeatureDefines.h:
1245
1246 2013-08-28  Zan Dobersek  <zdobersek@igalia.com>
1247
1248         [GTK] Add support for building JSC with FTL JIT enabled
1249         https://bugs.webkit.org/show_bug.cgi?id=120270
1250
1251         Reviewed by Filip Pizlo.
1252
1253         * wtf/Platform.h: Define ENABLE_FTL_JIT to the value of 1 for the GTK port if building for the x86-64
1254         architecture with LLVM present and the define not being previously defined. This is applicable when
1255         configuring the Automake build with '--enable-ftl-jit=auto'.
1256
1257 2013-08-27  Arunprasad Rajkumar  <arurajku@cisco.com>
1258
1259         Replace currentTime() with monotonicallyIncreasingTime() in WebCore
1260         https://bugs.webkit.org/show_bug.cgi?id=119958
1261
1262         Reviewed by Alexey Proskuryakov.
1263
1264         WTF::currentTime() is prone to NTP and manual adjustments, so use
1265         WTF::monotonicallyIncreasingTime() to measure elapsed time.
1266
1267         It is a continuation of r154201.
1268
1269         * wtf/CurrentTime.h: Edited comment.
1270
1271 2013-08-27  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
1272
1273         [gstreamer] Make sure gstreamer source element is thread-safe
1274         https://bugs.webkit.org/show_bug.cgi?id=115352
1275
1276         Reviewed by Philippe Normand.
1277
1278         Add convenience class that simplifies locking and unlocking a GMutex.
1279
1280         * GNUmakefile.list.am:
1281         * wtf/gobject/GMutexLocker.h: Added.
1282         (WebCore::GMutexLocker::GMutexLocker):
1283         (WebCore::GMutexLocker::~GMutexLocker):
1284         (WebCore::GMutexLocker::lock):
1285         (WebCore::GMutexLocker::unlock):
1286         (WebCore::GMutexLocker::mutex):
1287
1288 2013-08-26  Andy Estes  <aestes@apple.com>
1289
1290         Don't leak objects in HardAutorelease when OBJC_NO_GC is undefined but
1291         Objective-C GC is disabled at runtime.
1292         
1293         Reviewed by Darin Adler.
1294
1295         * wtf/ObjcRuntimeExtras.h:
1296         (HardAutorelease):
1297
1298 2013-08-23  Andy Estes  <aestes@apple.com>
1299
1300         Fix issues found by the Clang Static Analyzer
1301         https://bugs.webkit.org/show_bug.cgi?id=120230
1302
1303         Reviewed by Darin Adler.
1304
1305         * wtf/ObjcRuntimeExtras.h:
1306         (HardAutorelease): Added a canonical implementation of HardAutorelease.
1307
1308 2013-08-26  Zan Dobersek  <zdobersek@igalia.com>
1309
1310         Undefine __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS before redefining them
1311         https://bugs.webkit.org/show_bug.cgi?id=120313
1312
1313         Reviewed by Darin Adler.
1314
1315         * wtf/LLVMHeaders.h: Undefine the two macros before they are defined again.
1316         This way we avoid the compilation-time warnings about the macros being invalidly redefined.
1317
1318 2013-08-26  Oliver Hunt  <oliver@apple.com>
1319
1320         Building is so overrated.
1321
1322         * wtf/Compression.cpp:
1323         (WTF::GenericCompressedData::decompress):
1324
1325 2013-08-26  Oliver Hunt  <oliver@apple.com>
1326
1327         Disable compression under MSVC for now as we're getting
1328         weird release-only failures.
1329
1330         * wtf/Compression.cpp:
1331
1332 2013-08-24  Benjamin Poulain  <benjamin@webkit.org>
1333
1334         Save three bytes per CStringBuffer object
1335         https://bugs.webkit.org/show_bug.cgi?id=120040
1336
1337         Reviewed by Darin Adler.
1338
1339         Merge https://chromium.googlesource.com/chromium/blink/+/894ae8eafdb64912aefd8f9c809f4ccda84f3b89
1340
1341         sizeof(CStringBuffer) was rounded up to 8 on account of struct size and
1342         alignment rules. This is clearly not what was intended.
1343
1344         * wtf/text/CString.cpp:
1345         (WTF::CStringBuffer::createUninitialized):
1346         * wtf/text/CString.h:
1347         (WTF::CStringBuffer::data):
1348         (WTF::CStringBuffer::mutableData):
1349
1350 2013-08-24  Darin Adler  <darin@apple.com>
1351
1352         RetainPtr lacks move constructor for case when argument is a RetainPtr of a different type
1353         https://bugs.webkit.org/show_bug.cgi?id=120255
1354
1355         Reviewed by Andreas Kling.
1356
1357         * wtf/RetainPtr.h: Added missing move constructor, modeled on the other move constructor,
1358         and the one from RetPtr.
1359
1360 2013-08-24  Oliver Hunt  <oliver@apple.com>
1361
1362         Make the world build.
1363
1364         * wtf/Compression.h:
1365
1366 2013-08-24  Oliver Hunt  <oliver@apple.com>
1367
1368         REGRESSION(r154498): Crashes on EFL, GTK, Qt on release configurations
1369         https://bugs.webkit.org/show_bug.cgi?id=120246
1370
1371         Reviewed by Antti Koivisto.
1372
1373         Undestroy all the platforms that don't use the global new overload
1374
1375         * wtf/Compression.h:
1376
1377 2013-08-21  Mark Rowe  <mrowe@apple.com>
1378
1379         <https://webkit.org/b/120141> Make RetainPtr work with ARC.
1380
1381         Have RetainPtr store the object its managing as a CFTypeRef and manage its lifetime with
1382         CFRetain / CFRelease. This is necessary to have explicit control over the lifetime of
1383         Objective-C objects when automatic reference counting is in use. Two helper methods are
1384         introduced to convert between the pointer type that the RetainPtr manages and the CFTypeRef
1385         that the pointer is stored as. For CF types and Objective-C types with ARC disabled,
1386         these methods are simply casts. For Objective-C types under ARC they need to use the
1387         special bridging casts to keep the compiler happy.
1388
1389         Reviewed by Anders Carlsson.
1390
1391         * wtf/RetainPtr.h:
1392         (WTF::RetainPtr::RetainPtr): Use the helper methods to convert to and from the storage
1393         types when necessary.
1394         (WTF::RetainPtr::~RetainPtr): Ditto.
1395         (WTF::RetainPtr::get): Ditto.
1396         (WTF::RetainPtr::operator->): Ditto.
1397         (WTF::RetainPtr::operator PtrType): Ditto.
1398         (WTF::::RetainPtr): Ditto.
1399         (WTF::::clear): Ditto.
1400         (WTF::::leakRef): Ditto.
1401         (WTF::=): Ditto.
1402
1403         (WTF::RetainPtr::fromStorageTypeHelper): Use crazy template magic to determine whether to use
1404         a bridging cast or not depending on the desired return type.
1405         (WTF::RetainPtr::fromStorageType):
1406         (WTF::RetainPtr::toStorageType): Overloading is sufficient here.
1407
1408 2013-08-21  Mark Rowe  <mrowe@apple.com>
1409
1410         Revert r153637.
1411
1412         It didn't work with ARC like it said it would. We'll need to take a slightly different approach.
1413
1414         Rubber-stamped by Anders Carlsson.
1415
1416         * wtf/RetainPtr.h:
1417         (WTF::RetainPtr::RetainPtr):
1418         (WTF::RetainPtr::~RetainPtr):
1419         (WTF::RetainPtr::operator UnspecifiedBoolType):
1420         (WTF::::RetainPtr):
1421         (WTF::::clear):
1422         (WTF::=):
1423         (WTF::adoptCF):
1424         (WTF::adoptNS):
1425
1426 2013-08-23  Brent Fulgham  <bfulgham@apple.com>
1427
1428         [Windows] Unreviewed build correction after r154513.
1429
1430         * WTF.vcxproj/build-generated-files.sh: Variable was missing '$' character.
1431
1432 2013-08-23  Darin Adler  <darin@apple.com>
1433
1434         Cut down repeated code in RefPtr and RetainPtr by using copy/move-and-swap for assignment operators
1435         https://bugs.webkit.org/show_bug.cgi?id=120223
1436
1437         Reviewed by Anders Carlsson.
1438
1439         * wtf/RefPtr.h: Switch to copy-and-swap in the assignment operators. The move ones already were done
1440         that way.
1441         * wtf/RetainPtr.h: Ditto, except for the move ones too.
1442
1443 2013-08-23  Oliver Hunt  <oliver@apple.com>
1444
1445         Add more validation logic to CompressibleVector
1446         https://bugs.webkit.org/show_bug.cgi?id=120227
1447
1448         Reviewed by Brent Fulgham.
1449
1450         Add a pile of assertions to try on catch whatever is going wrong
1451         in the windows environment or other platforms.
1452
1453         * wtf/Compression.cpp:
1454         (WTF::GenericCompressedData::create):
1455         (WTF::GenericCompressedData::decompress):
1456         * wtf/Compression.h:
1457         (WTF::CompressedVector::decompress):
1458
1459 2013-08-23  Alex Christensen  <achristensen@apple.com>
1460
1461         Re-separating Win32 and Win64 builds.
1462         https://bugs.webkit.org/show_bug.cgi?id=120178
1463
1464         Reviewed by Brent Fulgham.
1465
1466         * WTF.vcxproj/WTFGenerated.make:
1467         Pass PlatformArchitecture as a command line parameter to bash scripts.
1468         * WTF.vcxproj/build-generated-files.sh:
1469         Use PlatformArchitecture from command line to determine which object directory to use (obj32 or obj64).
1470
1471 2013-08-22  Filip Pizlo  <fpizlo@apple.com>
1472
1473         build-jsc --ftl-jit should work
1474         https://bugs.webkit.org/show_bug.cgi?id=120194
1475
1476         Reviewed by Oliver Hunt.
1477
1478         * wtf/LLVMHeaders.h: I don't know what went wrong here. If HAVE(LLVM), then we need those headers!
1479
1480 2013-08-23  Brent Fulgham  <bfulgham@apple.com>
1481
1482         [Windows] Unreviewed build correction after r154498.
1483
1484         * WTF.vcxproj/WTF.vcxproj.filters: Adjust files so they show up
1485         in the proper folders.
1486         * WTF.vcxproj/WTFCommon.props: Add search path for zlib header and
1487         include link directive.
1488
1489 2013-08-23  Oliver Hunt  <oliver@apple.com>
1490
1491         Attempt to appease windows bot.
1492
1493         * wtf/Compression.h:
1494
1495 2013-08-23  Oliver Hunt  <oliver@apple.com>
1496
1497         Re-sort xcode project file
1498
1499         * WTF.xcodeproj/project.pbxproj:
1500
1501 2013-08-23  Oliver Hunt  <oliver@apple.com>
1502
1503         Support in memory compression of rarely used data
1504         https://bugs.webkit.org/show_bug.cgi?id=120143
1505
1506         Reviewed by Gavin Barraclough.
1507
1508         Adds a set of utility functions to wrap the use of zlib over a generic
1509         type or a Vector<> as well as adding CompressibleVector that wraps
1510         either a Vector<> or compressed data.
1511
1512         * GNUmakefile.list.am:
1513         * WTF.pro:
1514         * WTF.vcxproj/WTF.vcxproj:
1515         * WTF.xcodeproj/project.pbxproj:
1516         * wtf/CMakeLists.txt:
1517         * wtf/CheckedArithmetic.h:
1518         * wtf/Compression.cpp: Added.
1519         (WTF::zAlloc):
1520         (WTF::zFree):
1521         (WTF::GenericCompressedData::create):
1522         (WTF::GenericCompressedData::decompress):
1523         * wtf/Compression.h: Added.
1524         (WTF::GenericCompressedData::compressedSize):
1525         (WTF::GenericCompressedData::originalSize):
1526         (WTF::GenericCompressedData::GenericCompressedData):
1527         (WTF::CompressedVector::create):
1528         (WTF::CompressedVector::decompress):
1529         (WTF::CompressedVector::size):
1530         (WTF::CompressibleVector::CompressibleVector):
1531         (WTF::CompressibleVector::shrinkToFit):
1532         (WTF::CompressibleVector::size):
1533         (WTF::CompressibleVector::operator[]):
1534         (WTF::CompressibleVector::at):
1535         (WTF::CompressibleVector::begin):
1536         (WTF::CompressibleVector::end):
1537         (WTF::CompressibleVector::data):
1538         (WTF::CompressibleVector::decompressIfNecessary):
1539
1540 2013-08-21  Commit Queue  <commit-queue@webkit.org>
1541
1542         Unreviewed, rolling out r154416.
1543         http://trac.webkit.org/changeset/154416
1544         https://bugs.webkit.org/show_bug.cgi?id=120147
1545
1546         Broke Windows builds (Requested by rniwa on #webkit).
1547
1548         * WTF.vcxproj/WTFGenerated.make:
1549         * WTF.vcxproj/build-generated-files.sh:
1550
1551 2013-08-21  Alex Christensen  <achristensen@apple.com>
1552
1553         <https://webkit.org/b/120137> Separating Win32 and Win64 builds.
1554
1555         Reviewed by Brent Fulgham.
1556
1557         * WTF.vcxproj/WTFGenerated.make:
1558         Pass PlatformArchitecture as a command line parameter to bash scripts.
1559         * WTF.vcxproj/build-generated-files.sh:
1560         Use PlatformArchitecture from command line to determine which object directory to use (obj32 or obj64).
1561
1562 2013-08-21  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1563
1564         Disable maybe-uninitialized warning in GCC 4.8
1565         https://bugs.webkit.org/show_bug.cgi?id=119835
1566
1567         Reviewed by Anders Carlsson.
1568
1569         Disable the maybe-uninitialized warning.
1570
1571         * wtf/Compiler.h:
1572
1573 2013-08-20  Alex Christensen  <achristensen@apple.com>
1574
1575         Use PlatformArchitecture to distinguish between 32-bit and 64-bit builds on Windows.
1576         https://bugs.webkit.org/show_bug.cgi?id=119512
1577
1578         Reviewed by Brent Fulgham.
1579
1580         * WTF.vcxproj/WTFGeneratedCommon.props:
1581         Replaced obj32, bin32, and lib32 with macros for 64-bit build.
1582
1583 2013-08-20  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
1584
1585         <https://webkit.org/b/120056> [GTK][ARM] enable DFG_JIT
1586
1587         Reviewed by Martin Robinson.
1588
1589         Enable DFG_JIT in GTK+ platform for ARM/Thumb architecture
1590
1591         * wtf/Platform.h:
1592
1593 2013-08-19  Ryosuke Niwa  <rniwa@webkit.org>
1594
1595         <https://webkit.org/b/120049> Delete code for Snow Leopard
1596
1597         Reviewed by Benjamin Poulain.
1598
1599         * wtf/FastMalloc.cpp:
1600         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1601         * wtf/FeatureDefines.h:
1602         * wtf/Platform.h:
1603
1604 2013-08-19  Joseph Pecoraro  <pecoraro@apple.com>
1605
1606         <https://webkit.org/b/120036> [iOS] Upstream Source/WTF Xcode project for iOS
1607
1608         Reviewed by David Kilzer.
1609
1610         Include iOS only WebCoreThread.* files in an ios group, and clean up
1611         the included files a bit.
1612
1613         * WTF.xcodeproj/project.pbxproj:
1614         * wtf/ios/WebCoreThread.cpp:
1615         * wtf/ios/WebCoreThread.h:
1616
1617 2013-08-19  Joseph Pecoraro  <pecoraro@apple.com>
1618
1619         <https://webkit.org/b/119905> [iOS] Upstream Source/WTF
1620
1621         Reviewed by Benjamin Poulain.
1622
1623         Upstream iOS WebKit Source/WTF.
1624
1625         * Configurations/Base.xcconfig:
1626         JavaScriptCore.framework is a public framework.
1627
1628         * wtf/Assertions.h:
1629         Define an export macro for iOS projects just including <wtf/Assertions.h>.
1630
1631         * wtf/Platform.h:
1632         * wtf/FeatureDefines.h:
1633         iOS ENABLE and USE defines.
1634
1635         * wtf/MainThread.h:
1636         * wtf/mac/MainThreadMac.mm:
1637         (WTF::initializeApplicationUIThreadIdentifier):
1638         (WTF::initializeWebThreadIdentifier):
1639         (WTF::canAccessThreadLocalDataForThread):
1640         * wtf/WeakPtr.h:
1641         (WTF::WeakReference::get):
1642         (WTF::WeakReference::clear):
1643         Shared WebThread and MainThread access to thread local data.
1644
1645         * wtf/WTFThreadData.cpp:
1646         (WTF::WTFThreadData::WTFThreadData):
1647         Shared WebThread and MainThread identifier tables.
1648
1649         * wtf/ThreadSpecific.h:
1650         (WTF::::replace):
1651         Used later on so that WebThread can share the MainThread's thread global data.
1652
1653         * wtf/text/StringStatics.cpp:
1654         (WTF::AtomicString::init):
1655         When USE(WEB_THREAD) assert AtomicString::init is initialized on the realMainThread.
1656
1657         * wtf/unicode/CharacterNames.h:
1658         * wtf/unicode/icu/UnicodeIcu.h:
1659         (WTF::Unicode::hasLineBreakingPropertyComplexContextOrIdeographic):
1660         Minor iOS constants and functions used later by WebCore.
1661
1662 2013-08-16  Arunprasad Rajkumar  <arurajku@cisco.com>
1663
1664         <https://webkit.org/b/119785> Replace currentTime() with monotonicallyIncreasingTime() in WebCore
1665
1666         Reviewed by Alexey Proskuryakov.
1667
1668         WTF::currentTime() is prone to DST changes and NTP adjustments, so use
1669         WTF::monotonicallyIncreasingTime() to measure elapsed time.
1670
1671         * wtf/CurrentTime.h:
1672         (WTF::monotonicallyIncreasingTimeMS): Added mille second version of monotonic time API.
1673
1674 2013-08-15  Filip Pizlo  <fpizlo@apple.com>
1675
1676         refCount() of a StringImpl could be zero if it's static; in that case we shouldn't report extra memory cost
1677         https://bugs.webkit.org/show_bug.cgi?id=119870
1678
1679         Reviewed by Mark Hahnenberg.
1680
1681         * wtf/text/StringImpl.h:
1682         (WTF::StringImpl::costDuringGC):
1683         (WTF::StringImpl::isStatic):
1684         (WTF::StringImpl::bufferOwnership):
1685
1686 2013-08-14  Filip Pizlo  <fpizlo@apple.com>
1687
1688         Typed arrays should be rewritten
1689         https://bugs.webkit.org/show_bug.cgi?id=119064
1690
1691         Reviewed by Oliver Hunt.
1692         
1693         - Added the notion of a reference counted object that can be marked Deferred,
1694           which is like a special-purpose upref.
1695         
1696         - Added a common byte flipper.
1697
1698         Automake work courtesy of Zan Dobersek <zdobersek@igalia.com>.
1699
1700         * GNUmakefile.list.am:
1701         * WTF.xcodeproj/project.pbxproj:
1702         * wtf/DeferrableRefCounted.h: Added.
1703         (WTF::DeferrableRefCountedBase::ref):
1704         (WTF::DeferrableRefCountedBase::hasOneRef):
1705         (WTF::DeferrableRefCountedBase::refCount):
1706         (WTF::DeferrableRefCountedBase::isDeferred):
1707         (WTF::DeferrableRefCountedBase::DeferrableRefCountedBase):
1708         (WTF::DeferrableRefCountedBase::~DeferrableRefCountedBase):
1709         (WTF::DeferrableRefCountedBase::derefBase):
1710         (WTF::DeferrableRefCountedBase::setIsDeferredBase):
1711         (WTF::DeferrableRefCounted::deref):
1712         (WTF::DeferrableRefCounted::setIsDeferred):
1713         (WTF::DeferrableRefCounted::DeferrableRefCounted):
1714         (WTF::DeferrableRefCounted::~DeferrableRefCounted):
1715         * wtf/FlipBytes.h: Added.
1716         (WTF::needToFlipBytesIfLittleEndian):
1717         (WTF::flipBytes):
1718         (WTF::flipBytesIfLittleEndian):
1719
1720 2013-08-14  Julien Brianceau  <jbrianceau@nds.com>
1721
1722         DFG_JIT implementation for sh4 architecture.
1723         https://bugs.webkit.org/show_bug.cgi?id=119737
1724
1725         Reviewed by Oliver Hunt.
1726
1727         * wtf/Platform.h:
1728
1729 2013-08-13  Arunprasad Rajkumar  <arurajku@cisco.com>
1730
1731         [WTF] [JSC] Replace currentTime() with monotonicallyIncreasingTime() in all possible places
1732         https://bugs.webkit.org/show_bug.cgi?id=119762
1733
1734         Reviewed by Geoffrey Garen.
1735
1736         * wtf/MainThread.cpp:
1737         (WTF::dispatchFunctionsFromMainThread):
1738
1739 2013-08-12  Ragner Magalhaes  <ranger.n@samsung.com>
1740
1741         Broken build with build-webkit --no-webgl
1742         https://bugs.webkit.org/show_bug.cgi?id=119272
1743
1744         Reviewed by Alexandru Chiculita.
1745
1746         CSS_SHADERS requires WEBGL enabled.
1747         Add error message to dependency failure.
1748
1749         * wtf/FeatureDefines.h:
1750
1751 2013-08-12  Joseph Pecoraro  <pecoraro@apple.com>
1752
1753         [iOS] isMainThread implementation with USE(WEB_THREAD)
1754         https://bugs.webkit.org/show_bug.cgi?id=119644
1755
1756         Reviewed by Benjamin Poulain.
1757
1758         On iOS isMainThread() means that the current thread is either the
1759         MainThread or WebThread and the current thread has the WebThreadLock.
1760
1761         * wtf/ios/WebCoreThread.cpp: Added.
1762         * wtf/ios/WebCoreThread.h: Added.
1763         * wtf/mac/MainThreadMac.mm:
1764         (WTF::isMainThread):
1765
1766 2013-08-11  Carlos Garcia Campos  <cgarcia@igalia.com>
1767
1768         Unreviewed. Fix make distcheck.
1769
1770         * GNUmakefile.list.am: Add missing header file.
1771
1772 2013-08-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1773
1774         Make atob() throw an InvalidCharacterError on excess padding characters
1775         https://bugs.webkit.org/show_bug.cgi?id=118898
1776
1777         Reviewed by Darin Adler.
1778
1779         Add a Base64FailOnInvalidCharacterOrExcessPadding value to the Base64DecodePolicy
1780         enumeration so that the caller can request strict padding validation in addition
1781         to strict character validation. This is needed so that we can use
1782         WTF::base64Decode() for window.atob().
1783
1784         * wtf/text/Base64.cpp:
1785         (WTF::base64DecodeInternal):
1786         * wtf/text/Base64.h:
1787
1788 2013-08-07  Alex Christensen  <achristensen@apple.com>
1789
1790         Fixed wrong definition for AppleWin port's WebGL after r153768.
1791
1792         Rubberstamped by Benjamin Poulain.
1793
1794         * wtf/Platform.h: Replaced WTF_USE_SURFACE with WTF_USE_GRAPHICS_SURFACE.
1795
1796 2013-08-04  Sam Weinig  <sam@webkit.org>
1797
1798         Remove support for HTML5 MicroData
1799         https://bugs.webkit.org/show_bug.cgi?id=119480
1800
1801         Reviewed by Anders Carlsson.
1802
1803         * wtf/FeatureDefines.h:
1804
1805 2013-08-06  Alex Christensen  <achristensen@apple.com>
1806
1807         Enabled WebGL on WinCairo port.
1808         https://bugs.webkit.org/show_bug.cgi?id=119502
1809
1810         Reviewed by Benjamin Poulain.
1811
1812         * wtf/FeatureDefines.h: Enabled WebGL.
1813         * wtf/Platform.h: Added definitions required for WebGL on Windows.
1814
1815 2013-08-05  Mark Rowe  <mrowe@apple.com>
1816
1817         <rdar://problem/5927399> FastMalloc should support MallocStackLogging
1818
1819         Call the malloc stack logging function from within the various entry points to FastMalloc
1820         when stack logging is enabled.
1821
1822         Reviewed by Oliver Hunt and Geoff Garen.
1823
1824         * wtf/FastMalloc.cpp:
1825         Call in to MallocHook::InvokeNewHook / MallocHook::InvokeDeleteHook at the appropriate entry
1826         points to FastMalloc. The naming comes from TCMalloc's existing, unused concept of malloc hooks.
1827         (WTF::MallocHook::record): Call the stack logging function with appropriate argument types.
1828         (WTF::MallocHook::recordAllocation): Out-of-line slow path for when stack logging is enabled
1829         that calls record with the values in the right arguments.
1830         (WTF::MallocHook::recordDeallocation): Ditto.
1831         (WTF::MallocHook::init): Stack logging is enabled if the system allocator has enabled stack logging.
1832         (WTF::MallocHook::InvokeNewHook): Call recordAllocation in the unlikely event that stack logging is
1833         enabled.
1834         (WTF::MallocHook::InvokeDeleteHook): Ditto for recordDeallocation.
1835         (WTF::TCMalloc_ThreadCache::InitModule): Initialize the malloc hook.
1836
1837 2013-08-06  Brent Fulgham  <bfulgham@apple.com>
1838
1839         [Windows] Unreviewed build correction after r153754 and r153757.
1840
1841         * wtf/MathExtras.h:
1842         (remainder): Provide implementation of C99 remainder for VS2010 (and earlier).
1843
1844 2013-07-23  David Farler  <dfarler@apple.com> 
1845         Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
1846         https://bugs.webkit.org/show_bug.cgi?id=117762
1847
1848         Reviewed by Mark Rowe.
1849
1850         * Configurations/DebugRelease.xcconfig:
1851         Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS.
1852
1853 2013-08-05  Mark Rowe  <mrowe@apple.com>
1854
1855         Build fix for Qt Windows.
1856
1857         * wtf/Assertions.cpp: Include StringExtras.h rather than StdLibExtras.h, since the former is where
1858         strncasecmp is declared.
1859
1860 2013-07-26  Mark Rowe  <mrowe@apple.com>
1861
1862         Logging should be configurable using human-readable channel names rather than crazy bitmasks
1863         <http://webkit.org/b/119031>
1864
1865         Implement shared logic for initializing logging channels based on human-readable channel names in WTF,
1866         and rework the WebCore, WebKit and WebKit2 logging initialization on top of it.
1867
1868         Logging channels may now be enabled by providing a comma-separated list of channel names, with the special
1869         "all" name enabling all channels. Channel names prefixed with a leading "-" will result in the named channel
1870         being disabled. For instance, specifying "all,-history,-loading" will result in all logging channels except
1871         for history and loading being enabled.
1872
1873         For OS X developers, this also changes the name of the user defaults used to enable logging. This is done to allow
1874         the old user defaults to remain set for those people that need to switch between version of WebKit before and
1875         after this change. Where the old user default keys were WebCoreLogLevel, WebKitLogLevel and WebKit2LogLevel,
1876         the new user default keys are WebCoreLogging, WebKitLogging and WebKit2Logging.
1877
1878         For GTK developers, this changes the separator used in the WEBKIT_DEBUG environment variable to a comma for
1879         consistency with the other platforms and to enable more code sharing.
1880
1881         While doing this work I've also taken the opportunity to eliminate the need to touch multiple files when
1882         adding a new logging channel. Now only the header in the relevant project needs to be updated.
1883
1884         Reviewed by Sam Weinig.
1885
1886         * wtf/Assertions.cpp:
1887         (WTFLogChannelByName): Iterate over the provided array of log channels, returning the first whose name
1888         matches case-insensitively.
1889         (setStateOfAllChannels): Helper function to set the state of all channels to a single value.
1890         (WTFInitializeLogChannelStatesFromString): Parse a string containing a case-insensitive, comma-separated list
1891         of channel names to enable or disable, with the latter being prefixed by a "-".
1892         * wtf/Assertions.h: Update the layout of WTFLogChannel to include only the state of the channel and its name.
1893         Declare WTFLogChannelByName and WTFInitializeLogChannelStatesFromString.
1894         * wtf/RefCountedLeakCounter.cpp: Update to the new format of WTFLogChannel.
1895
1896 2013-08-05  Benjamin Poulain  <bpoulain@apple.com>
1897
1898         Disable <meter> by default on iOS, it is enabled through the xconfig files
1899         https://bugs.webkit.org/show_bug.cgi?id=119503
1900
1901         Reviewed by Alexey Proskuryakov.
1902
1903         * wtf/FeatureDefines.h:
1904
1905 2013-08-05  Oliver Hunt  <oliver@apple.com>
1906
1907         Move TypedArray implementation into JSC
1908         https://bugs.webkit.org/show_bug.cgi?id=119489
1909
1910         Reviewed by Filip Pizlo.
1911
1912         Remove TypedArray implementation from WTF
1913
1914         * GNUmakefile.list.am:
1915         * WTF.xcodeproj/project.pbxproj:
1916         * wtf/Forward.h:
1917
1918 2013-08-02  Benjamin Poulain  <benjamin@webkit.org>
1919
1920         Remove a bunch of redundant checks for empty string in StringImpl
1921         https://bugs.webkit.org/show_bug.cgi?id=118768
1922
1923         Reviewed by Ryosuke Niwa.
1924
1925         The first thing done by createUninitialized() is check if the length passed
1926         is zero. Internally, there are many cases for which we know the check will never succeed.
1927
1928         Clang is usually really smart for those kind of things, but there are a few cases where
1929         the condition to avoid returning empty() is not simply a check for the length.
1930         This patch adds an internal initializer to deal with that.
1931
1932         * wtf/text/StringImpl.cpp:
1933         (WTF::StringImpl::createUninitializedInternal):
1934         (WTF::StringImpl::createUninitializedInternalNonEmpty):
1935         (WTF::StringImpl::createInternal): Create internal has a special case for null pointer
1936         for the characters. The test also check length, the second check for length cannot fail.
1937         (WTF::StringImpl::create8BitIfPossible): ditto.
1938         (WTF::StringImpl::lower): 3 of the calls cannot be reached for empty length. On an empty length,
1939         the test for (noUpper && !(ored & ~0x7F)) would have caused the function to return "this".
1940
1941         For the last createUninitialized(), there is no guarantee the realLength is not zero.
1942
1943         (WTF::StringImpl::replace): The first thing we do in replace(UChar,UChar) is check if there is anything
1944         to replace. The check for length will never succeed as there must be a character to replace at that point.
1945         * wtf/text/StringImpl.h:
1946
1947 2013-08-02  Mark Lam  <mark.lam@apple.com>
1948
1949         Gardening: Touched a line in Platform.h to get all bots to do a clean build.
1950
1951         Not reviewed.
1952
1953         * wtf/Platform.h:
1954
1955 2013-08-02  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1956
1957         Check WTF::Vector size with '0' inline capacity
1958         https://bugs.webkit.org/show_bug.cgi?id=119397
1959
1960         Reviewed by Andreas Kling.
1961
1962         Putting in place the compile assertion that had been removed with r153514.
1963
1964         * wtf/SizeLimits.cpp:
1965
1966 2013-07-26  Mark Rowe  <mrowe@apple.com>
1967
1968         <http://webkit.org/b/119169> RetainPtr should support ARC for Objective-C objects.
1969
1970         While RetainPtr is not necessary under ARC, having it available makes it easier to transition
1971         existing code from manual retain / release to ARC.
1972
1973         Under ARC, the object member of RetainPtr is treated as a strong reference by the compiler.
1974         This means that merely assigning to the member variable is sufficient to retain the object,
1975         and clearing the member variable is sufficient to release it. We still need to explicitly
1976         CFRetain / CFRelease CoreFoundation types so the explicit calls to these functions are
1977         moved in to helper functions and overloading is used to have the Objective-C object versions
1978         of them be no-ops under ARC.
1979
1980         Reviewed by Anders Carlsson.
1981
1982         * wtf/RetainPtr.h:
1983         (WTF::retain): Continue to always CFRetain / CFRelease CoreFoundation objects. Only CFRetain / CFRelease
1984         Objective-C objects when using manual retain / release.
1985         (WTF::release): Ditto.
1986         (WTF::adoptNSReference): Adopting references will be handled automatically by the compiler
1987         when possible under ARC by eliminating redundant retain / release pairs.
1988         (WTF::RetainPtr::ImplicitConversionToBoolIsNotAllowed): A new method that exists only to be used by the
1989         conversion to the unspecified bool type.
1990         (WTF::RetainPtr::operator UnspecifiedBoolType): Switch to using a pointer to a member function as the
1991         unspecified bool type to avoid warnings from the compiler when casting Objective-C object types under ARC.
1992
1993         (WTF::RetainPtr::RetainPtr): Switch to our retain / release helper functions.
1994         (WTF::RetainPtr::~RetainPtr): Ditto.
1995         (WTF::::RetainPtr): Ditto.
1996         (WTF::::clear): Ditto.
1997         (WTF::=): Ditto.
1998         (WTF::adoptCF): Annotate the argument with CF_RELEASES_ARGUMENT on both the declaration and the definition.
1999         (WTF::adoptNS): Ditto for NS_RELEASES_ARGUMENT.
2000
2001 2013-08-01  Mark Rowe  <mrowe@apple.com>
2002
2003         <rdar://problem/14235491> FastMalloc zone enumerator responding to MALLOC_PTR_REGION_RANGE_TYPE with individual allocations
2004
2005         Teach PageMapMemoryUsageRecorder::recordPendingRegions to only record data of the type that it's asked for.
2006         This also fixes the vmmap output to associate some regions with the FastMalloc malloc zone that were previously
2007         associated with it only via the VM tag, meaning they were incorrectly being omitted from the malloc statistics
2008         section of the report.
2009
2010         Reviewed by Dan Bernstein.
2011
2012         * wtf/FastMalloc.cpp:
2013         (WTF::PageMapMemoryUsageRecorder::recordPendingRegions): Report the individual allocations only when requested. Add
2014         the ability to report the regions containing pointers separately from the allocations.
2015
2016 2013-08-01  Mark Rowe  <mrowe@apple.com>
2017
2018         <rdar://problem/14528244> False-positive leaks from FastMalloc.
2019
2020         A logic error in the page map enumeration code within FastMalloc could result in a subset of the memory regions
2021         owned by FastMalloc being skipped by the malloc zone enumeration code used by leaks and other performance tools.
2022         If the only reference to an allocated object lived within one of the skipped memory regions, leaks would believe
2023         it had been leaked since it would not find any references to the object.
2024
2025         The logic error manifested when a FastMalloc span owned a region of memory that crossed a 16MB address space boundary,
2026         and when there was one or more other spans immediately after it in the address space. Crossing the 16MB address space
2027         boundary means that the start and end points of the span are in different leaf nodes of the page map trie, and the
2028         code within the page map's visitValues method didn't correctly account this case when skipping to the end of the span
2029         after visiting it. It would resume iterating from the start of the next leaf node rather than continuing to skip values
2030         until the end of the span was passed. The value representing the end of the span would then be processed as if it were
2031         the start of a new span, and more values would be skipped even though they may contain actual spans.
2032
2033         The solution is to rework the algorithm used in visitValues so that it will skip the correct number of values even when
2034         some of the values are in different leaf nodes. This is a more involved change than it may seem since it's also necessary
2035         to deal with the case where a memory region spans two separate root nodes, which can happen if the region happens to cross
2036         a 64GB boundary in the address space.
2037
2038         Reviewed by Geoff Garen.
2039
2040         * wtf/TCPageMap.h:
2041         (TCMalloc_PageMap3::visitValues): Use a single loop to iterate, with the loop index being the key in to the page map in the
2042         same form as used by get and set. This allows us to correctly deal with the index being skipped to a different intermediate or
2043         root node as a result of visiting a span that crosses a 16MB boundary in memory.
2044         (TCMalloc_PageMap2::visitValues): Ditto, but without having to deal with intermediate nodes.
2045
2046 2013-08-01  Ruth Fong  <ruth_fong@apple.com>
2047
2048         [Forms: color] <input type='color'> popover color well implementation
2049         <rdar://problem/14411008> and https://bugs.webkit.org/show_bug.cgi?id=119356
2050
2051         Reviewed by Benjamin Poulain.
2052
2053         * wtf/FeatureDefines.h: Added and enabled INPUT_TYPE_COLOR_POPOVER.
2054
2055 2013-08-01  Simon Fraser  <simon.fraser@apple.com>
2056
2057         REGRESSION(r145592): AutodrainedPool.h. RunLoopTimer.h, SchedulePair.h are being copied into the wrong location
2058         https://bugs.webkit.org/show_bug.cgi?id=112833
2059
2060         Reviewed by Sam Weinig.
2061         
2062         AutodrainedPool.h and SchedulePair.h should just be project headers, not
2063         private headers, so they get copied into <build dir>/usr/local/include/wtf
2064         not <build dir>/usr/local/include
2065
2066         * WTF.xcodeproj/project.pbxproj:
2067
2068 2013-07-31  Ruth Fong  <ruth_fong@apple.com>
2069
2070         <input type=color> Mac UI behaviour
2071         <rdar://problem/10269922> and https://bugs.webkit.org/show_bug.cgi?id=61276
2072
2073         Reviewed by Brady Eidson.
2074
2075         * wtf/FeatureDefines.h: Enabled INPUT_TYPE_COLOR on Mac port.
2076
2077 2013-07-31  Andreas Kling  <akling@apple.com>
2078
2079         Shrink Vectors with inline capacity.
2080         <http://webkit.org/b/119295>
2081         <rdar://problem/14598360>
2082
2083         Reviewed by Anders Carlsson.
2084
2085         Pack Vector::m_size next to VectorBufferBase::m_capacity so there's no space wasted
2086         on padding when sizeof(T) >= 8. Since m_size is not conceptually part of the buffer,
2087         I just using'ed it into Vector.
2088
2089         * wtf/SizeLimits.cpp:
2090         * wtf/Vector.h:
2091         (WTF::VectorBufferBase::VectorBufferBase):
2092         (WTF::VectorBuffer::VectorBuffer):
2093         (WTF::Vector::Vector):
2094         (WTF::::Vector):
2095
2096 2013-07-30  Patrick Gansterer  <paroga@webkit.org>
2097
2098         Move WindowsExtras.h from WebCore to WTF
2099         https://bugs.webkit.org/show_bug.cgi?id=118125
2100
2101         Reviewed by Anders Carlsson.
2102
2103         Move it to WTF to be able to use the functions in WTF too.
2104
2105         * wtf/WindowsExtras.h: Renamed from Source/WebCore/platform/win/WindowsExtras.h.
2106         (WTF::getRegistryValue):
2107         (WTF::getWindowPointer):
2108         (WTF::setWindowPointer):
2109         * wtf/win/MainThreadWin.cpp:
2110         (WTF::initializeMainThreadPlatform):
2111
2112 2013-07-29  Carlos Garcia Campos  <cgarcia@igalia.com>
2113
2114         Unreviewed. Fix make distcheck.
2115
2116         * GNUmakefile.list.am: Add missing files to compilation.
2117
2118 2013-07-29  Mark Rowe  <mrowe@apple.com>
2119
2120         <rdar://problem/14528244> Tons of FastMalloc leaks reported by leaks of objects that have already been deallocated
2121
2122         Reviewed by Sam Weinig.
2123
2124         * wtf/FastMalloc.cpp:
2125         (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): Mark objects in the transfer cache as being free.
2126
2127 2013-07-29  Zan Dobersek  <zdobersek@igalia.com>
2128
2129         Reintroduce convenience CheckedInt*, CheckedUint* types
2130         https://bugs.webkit.org/show_bug.cgi?id=119213
2131
2132         Reviewed by Oliver Hunt.
2133
2134         Reintroduce CheckedInt* and CheckedUint* types that were previously provided for convenience
2135         through the CheckedInt header that was removed in r153095. The types are now based on the
2136         Checked class, using the RecordOverflow class as the overflow handler.
2137
2138         * wtf/CheckedArithmetic.h:
2139
2140 2013-07-27  Ryosuke Niwa  <rniwa@webkit.org>
2141
2142         REGRESSION(r153380): Can't open messages on Gmail
2143         https://bugs.webkit.org/show_bug.cgi?id=119165
2144
2145         Reviewed by Andreas Kling.
2146
2147         This bug was caused by r153380. The bug doesn't reproduce as long as WebKit is built by clang 4.2 and later
2148         or final is disabled (it could be clang 4.1 and later but we don't have information about that).
2149
2150         Fix the bug by disabling final on earlier versions of clang. Unfortunately we can only check versions of
2151         Apple clang since __clang_major__ and __clang_minor__ are vendor dependent.
2152
2153         * wtf/Compiler.h:
2154
2155 2013-07-26  Oliver Hunt <oliver@apple.com>
2156
2157         ASSERT failure in wtf/CheckedBoolean.h line 43 on Windows
2158         https://bugs.webkit.org/show_bug.cgi?id=119170
2159
2160         Reviewed by Michael Saboff.
2161
2162         Added a copy constructor to CheckedBoolean.
2163
2164         * wtf/CheckedBoolean.h:
2165         (CheckedBoolean::CheckedBoolean):
2166
2167 2013-07-25  Brent Fulgham  <bfulgham@apple.com>
2168
2169         [Windows] Unreviewed build fix.
2170
2171         * WTF.vcxproj/WTF.vcxproj: Add missing SixCharacterHash.h,.cpp files.
2172         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
2173         * wtf/NumberOfCores.h: Add export macro to numberOfProcessorCores.
2174         * wtf/PrintStream.h: Add export macro to dumpCharacter.
2175         * wtf/SixCharacterHash.h: Add export macro to sixCharacterHashStringToInteger
2176         and integerToSixCharacterHashString.
2177         * wtf/text/CString.h: Add export macro to hash and equal methods.
2178         (WTF::CStringHash::hash): Add export macro.
2179
2180 2013-07-25  peavo@outlook.com  <peavo@outlook.com>
2181
2182         [Windows] Provide ASM implemenation of 8-bit compare-and-swap
2183         https://bugs.webkit.org/show_bug.cgi?id=119084
2184
2185         Reviewed by Brent Fulgham.
2186
2187         * wtf/Atomics.h:
2188         (WTF::weakCompareAndSwap): Add a 32-bit X86 Assembly path for
2189         Windows build.
2190
2191 2013-07-25  Brent Fulgham  <bfulgham@apple.com>
2192
2193         [Windows] Unreviewed build fix.
2194
2195         * WTF.vcxproj/WTF.vcxproj: Add missing CompilationThread.h,.cpp
2196         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
2197
2198 2013-07-25  Michael Brüning  <michael.bruning@digia.com>
2199
2200         Fix Windows build after r153134.
2201         https://bugs.webkit.org/show_bug.cgi?id=119090
2202
2203         Reviewed by Oliver Hunt.
2204
2205         Add USE(PTHREADS) guards around pthread specific code
2206         for now. This will cause isCompilationThread to always
2207         return false on non pthread platforms such as Windows.
2208
2209         We might be able to use the Windows one-time initialization
2210         for this, but this is only available from Windows Vista on.
2211
2212         * wtf/CompilationThread.cpp:
2213         (WTF::initializeCompilationThreads):
2214
2215 2013-07-25  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2216
2217         Fix windows build after FTL upstream
2218
2219         Unreviewed build fix.
2220
2221         * wtf/Atomics.h:
2222         (WTF::weakCompareAndSwap):
2223
2224 2013-07-25  Ryuan Choi  <ryuan.choi@samsung.com>
2225
2226         Unreviewed, build fix on the EFL port.
2227
2228         * wtf/CMakeLists.txt: Added SixCharacterHash.cpp
2229
2230 2013-07-25  Gabor Rapcsanyi  <rgabor@webkit.org>
2231
2232         Unreviewed, build fix on the Qt port.
2233
2234         * WTF.pro: Add additional build files for the FTL.
2235
2236 2013-07-25  Zan Dobersek  <zdobersek@igalia.com>
2237
2238         Unreviewed, further GTK build fixing.
2239
2240         * GNUmakefile.am: Make libWTF.la depend on any changes made to the build targets list.
2241         * GNUmakefile.list.am: Add SixCharacterHash source files to the build.
2242
2243 2013-07-25  Csaba Osztrogonác  <ossy@webkit.org>
2244
2245         [GTK] Similar fix to r153304.
2246
2247         * GNUmakefile.list.am:
2248
2249 2013-07-25  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2250
2251         Build break in debug after r153134: StringImpl.h:640: undefined reference to `WTF::isCompilationThread()
2252         https://bugs.webkit.org/show_bug.cgi?id=119077
2253
2254         Reviewed by Christophe Dumez.
2255
2256         * wtf/CMakeLists.txt:
2257         Added CompilationThread.{h/cpp}.
2258
2259 2013-07-24  Filip Pizlo  <fpizlo@apple.com>
2260
2261         fourthTier: DFG IR dumps should be easier to read
2262         https://bugs.webkit.org/show_bug.cgi?id=119050
2263
2264         Reviewed by Mark Hahnenberg.
2265         
2266         Added support for dumping values within a context. By default, if you say
2267         print(inContext(value, context)) it calls value.dumpInContext(out, context)
2268         instead of value.dump(out).
2269         
2270         Hoisted the support for six-character hashes out of JSC::CodeBlockHash into
2271         WTF, in the form of SixCharacterHash.h.
2272         
2273         Added a helper for creating dump contexts where the inContext() dump will
2274         just use a short string hash to "name" the object being dumped, and then
2275         will print out the full dumps in an endnote to your dump.
2276         
2277         Added support for using CString as a hashtable key.
2278
2279         * WTF.xcodeproj/project.pbxproj:
2280         * wtf/PrintStream.h:
2281         (WTF):
2282         (ValueInContext):
2283         (WTF::ValueInContext::ValueInContext):
2284         (WTF::ValueInContext::dump):
2285         (WTF::inContext):
2286         * wtf/SixCharacterHash.cpp: Added.
2287         (WTF):
2288         (WTF::sixCharacterHashStringToInteger):
2289         (WTF::integerToSixCharacterHashString):
2290         * wtf/SixCharacterHash.h: Added.
2291         (WTF):
2292         * wtf/StringHashDumpContext.h: Added.
2293         (WTF):
2294         (StringHashDumpContext):
2295         (WTF::StringHashDumpContext::StringHashDumpContext):
2296         (WTF::StringHashDumpContext::getID):
2297         (WTF::StringHashDumpContext::dumpBrief):
2298         (WTF::StringHashDumpContext::brief):
2299         (WTF::StringHashDumpContext::isEmpty):
2300         (WTF::StringHashDumpContext::dump):
2301         * wtf/text/CString.cpp:
2302         (WTF::CString::hash):
2303         (WTF):
2304         (WTF::operator<):
2305         (WTF::CStringHash::equal):
2306         * wtf/text/CString.h:
2307         (WTF::CString::CString):
2308         (CString):
2309         (WTF::CString::isHashTableDeletedValue):
2310         (WTF):
2311         (WTF::CStringHash::hash):
2312         (CStringHash):
2313
2314 2013-07-21  Filip Pizlo  <fpizlo@apple.com>
2315
2316         fourthTier: DFG Nodes should be able to abstractly tell you what they read and what they write
2317         https://bugs.webkit.org/show_bug.cgi?id=118910
2318
2319         Reviewed by Sam Weinig.
2320         
2321         Fix compile goof in sortedListDump().
2322
2323         * wtf/ListDump.h:
2324         (WTF::sortedListDump):
2325
2326 2013-07-16  Filip Pizlo  <fpizlo@apple.com>
2327
2328         fourthTier: NaturalLoops should be able to quickly answer questions like "what loops own this basic block"
2329         https://bugs.webkit.org/show_bug.cgi?id=118750
2330
2331         Reviewed by Mark Hahnenberg.
2332         
2333         Add a utility function for inserting an element into a vector that has bounded size,
2334         and where the insertion causes things to drop off the end.
2335
2336         * wtf/StdLibExtras.h:
2337         (WTF):
2338         (WTF::insertIntoBoundedVector):
2339
2340 2013-07-12  Filip Pizlo  <fpizlo@apple.com>
2341
2342         fourthTier: DFG should have an SSA form for use by FTL
2343         https://bugs.webkit.org/show_bug.cgi?id=118338
2344
2345         Reviewed by Mark Hahnenberg.
2346         
2347         - Extend variadicity of PrintStream and dataLog.
2348         
2349         - Give HashSet the ability to add a span of things.
2350         
2351         - Give HashSet the ability to == another HashSet.
2352         
2353         - Note FIXME's in HashTable concerning copying performance, that affects
2354           the way that the DFG now uses HashSets and HashMaps.
2355         
2356         - Factor out the bulk-insertion logic of JSC::DFG::InsertionSet into
2357           WTF::Insertion, so that it can be used in more places.
2358         
2359         - Create a dumper for lists and maps.
2360
2361         * WTF.xcodeproj/project.pbxproj:
2362         * wtf/DataLog.h:
2363         (WTF):
2364         (WTF::dataLog):
2365         * wtf/HashSet.h:
2366         (HashSet):
2367         (WTF):
2368         (WTF::::add):
2369         (WTF::=):
2370         * wtf/HashTable.h:
2371         (WTF::::HashTable):
2372         (WTF::=):
2373         * wtf/Insertion.h: Added.
2374         (WTF):
2375         (Insertion):
2376         (WTF::Insertion::Insertion):
2377         (WTF::Insertion::index):
2378         (WTF::Insertion::element):
2379         (WTF::Insertion::operator<):
2380         (WTF::executeInsertions):
2381         * wtf/ListDump.h: Added.
2382         (WTF):
2383         (ListDump):
2384         (WTF::ListDump::ListDump):
2385         (WTF::ListDump::dump):
2386         (MapDump):
2387         (WTF::MapDump::MapDump):
2388         (WTF::MapDump::dump):
2389         (WTF::listDump):
2390         (WTF::sortedListDump):
2391         (WTF::lessThan):
2392         (WTF::mapDump):
2393         (WTF::sortedMapDump):
2394         * wtf/PrintStream.h:
2395         (PrintStream):
2396         (WTF::PrintStream::print):
2397
2398 2013-07-02  Filip Pizlo  <fpizlo@apple.com>
2399
2400         Unreviewed, fix 32-bit build.
2401
2402         * wtf/Platform.h:
2403
2404 2013-07-02  Filip Pizlo  <fpizlo@apple.com>
2405
2406         fourthTier: FTL should use the equivalent of llvm opt -O2 by default
2407         https://bugs.webkit.org/show_bug.cgi?id=118311
2408
2409         Reviewed by Mark Hahnenberg.
2410         
2411         * wtf/LLVMHeaders.h:
2412
2413 2013-06-27  Filip Pizlo  <fpizlo@apple.com>
2414
2415         fourthTier: JSC's disassembly infrastructure should be able to disassemble the code that LLVM generates
2416         https://bugs.webkit.org/show_bug.cgi?id=118148
2417
2418         Reviewed by Anders Carlsson.
2419         
2420         We now use LLVM for two things: disassembler and FTL. Separate out the question
2421         of whether we have LLVM (HAVE(LLVM)) from whether we want to use the LLVM
2422         disassembler (USE(LLVM_DISASSEMBLER)) and whether we enable the FTL
2423         (ENABLE(FTL_JIT)).
2424         
2425         Also move the cruft for including LLVM headers into WTF since now we use it in
2426         a bunch of places, not all related to FTL. There's no obvious place to put that
2427         file in JSC so I put it in WTF.
2428
2429         * WTF.xcodeproj/project.pbxproj:
2430         * wtf/LLVMHeaders.h: Copied from Source/JavaScriptCore/ftl/FTLLLVMHeaders.h.
2431         * wtf/Platform.h:
2432
2433 2013-06-25  Filip Pizlo  <fpizlo@apple.com>
2434
2435         fourthTier: DFG should support switch_string
2436         https://bugs.webkit.org/show_bug.cgi?id=117967
2437
2438         Reviewed by Sam Weinig.
2439         
2440         Make it possible to compare a RefPtr<StringImpl> and a StringImpl* without
2441         having to ref the StringImpl.
2442
2443         * wtf/text/StringHash.h:
2444         (WTF::StringHash::equal):
2445
2446 2013-06-24  Filip Pizlo  <fpizlo@apple.com>
2447
2448         fourthTier: Count external memory usage towards heap footprint
2449         https://bugs.webkit.org/show_bug.cgi?id=117948
2450
2451         Reviewed by Geoffrey Garen.
2452
2453         Expose some functionality needed for properly measuring StringImpl footprint.
2454
2455         * wtf/Atomics.h:
2456         (WTF::weakCompareAndSwapSize):
2457         (WTF):
2458         * wtf/MathExtras.h:
2459         (divideRoundedUp):
2460         * wtf/text/StringImpl.h:
2461         (WTF::StringImpl::cost):
2462         (StringImpl):
2463         (WTF::StringImpl::costDuringGC):
2464         (WTF::StringImpl::refCount):
2465
2466 2013-06-23  Filip Pizlo  <fpizlo@apple.com>
2467
2468         fourthTier: DFG should optimize identifier string equality
2469         https://bugs.webkit.org/show_bug.cgi?id=117920
2470
2471         Reviewed by Sam Weinig.
2472
2473         Note that this ChangeLog was supposed to be committed in r151890.
2474         
2475         Expose the IsIdentifier bit to the JIT.
2476         
2477         * wtf/text/StringImpl.h:
2478         (WTF::StringImpl::flagIsIdentifier):
2479
2480 2013-06-18  Filip Pizlo  <fpizlo@apple.com>
2481
2482         fourthTier: DFG should have switch_char
2483         https://bugs.webkit.org/show_bug.cgi?id=117710
2484
2485         Reviewed by Michael Saboff.
2486         
2487         I wanted to be able to say stringImpl->at(index), and now I can!
2488
2489         Also made it possible to convert a UChar to a utf8 CString without
2490         allocating a StringImpl.
2491
2492         * wtf/text/StringImpl.cpp:
2493         (WTF::StringImpl::utf8Impl):
2494         (WTF):
2495         (WTF::StringImpl::utf8ForCharacters):
2496         (WTF::StringImpl::utf8ForRange):
2497         * wtf/text/StringImpl.h:
2498         (StringImpl):
2499         (WTF::StringImpl::at):
2500         (WTF::StringImpl::operator[]):
2501
2502 2013-06-15  Filip Pizlo  <fpizlo@apple.com>
2503
2504         fourthTier: Add CFG simplification for Switch
2505         https://bugs.webkit.org/show_bug.cgi?id=117677
2506
2507         Reviewed by Mark Hahnenberg.
2508
2509         * wtf/TriState.h:
2510         * wtf/text/StringImpl.h:
2511
2512 2013-06-15  Filip Pizlo  <fpizlo@apple.com>
2513
2514         Printing a StringImpl* should really guard against NULL
2515         https://bugs.webkit.org/show_bug.cgi?id=117675
2516
2517         Reviewed by Mark Hahnenberg.
2518
2519         * wtf/PrintStream.cpp:
2520         (WTF::printInternal):
2521
2522 2013-06-11  Filip Pizlo  <fpizlo@apple.com>
2523
2524         fourthTier: DFG should support op_in and it should use patching to make it fast
2525         https://bugs.webkit.org/show_bug.cgi?id=117385
2526
2527         Reviewed by Geoffrey Garen.
2528         
2529         Now if you pass a null StringImpl* then something will still get printed instead
2530         of crashing. I figure that this is broadly useful for debug code, and I make use
2531         of it in the JSC portion of this patch.
2532
2533         * wtf/PrintStream.cpp:
2534         (WTF::printInternal):
2535
2536 2013-06-09  Filip Pizlo  <fpizlo@apple.com>
2537
2538         Unreviewed, fix build. On some compilers the automatic coercion from WTF::String to NSString*
2539         causes operator[] to appear ambiguous. One way around this is to make WTF::String behave like
2540         most of our other classes: at(unsigned) is always a valid synonym for operator[](unsigned).
2541
2542         * wtf/text/WTFString.h:
2543         (WTF::String::at):
2544         (WTF::String::operator[]):
2545
2546 2013-06-08  Filip Pizlo  <fpizlo@apple.com>
2547
2548         fourthTier: Recursive deadlock in DFG::ByteCodeParser
2549         https://bugs.webkit.org/show_bug.cgi?id=117376
2550
2551         Reviewed by Mark Hahnenberg.
2552         
2553         I've often wanted to leave a lock early. Now I have that power!
2554
2555         * wtf/Locker.h:
2556         (WTF::Locker::Locker):
2557         (WTF::Locker::~Locker):
2558         (Locker):
2559         (WTF::Locker::unlockEarly):
2560         (WTF::Locker::lock):
2561
2562 2013-05-27  Filip Pizlo  <fpizlo@apple.com>
2563
2564         It should be possible to record heap operations (both FastMalloc and JSC GC)
2565         https://bugs.webkit.org/show_bug.cgi?id=116848
2566
2567         Reviewed by Mark Hahnenberg.
2568
2569         * WTF.xcodeproj/project.pbxproj:
2570         * wtf/DataLog.cpp:
2571         (WTF):
2572         (WTF::initializeLogFileOnce):
2573         * wtf/FastMalloc.cpp:
2574         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2575         * wtf/Platform.h:
2576
2577 2013-05-21  Filip Pizlo  <fpizlo@apple.com>
2578
2579         fourthTier: DFG should be able to run on a separate thread
2580         https://bugs.webkit.org/show_bug.cgi?id=112839
2581
2582         Reviewed by Geoffrey Garen.
2583         
2584         * wtf/ByteSpinLock.h:
2585         Make it non-copyable. We previously had bugs where we used ByteSpinLock as a locker.
2586         Clearly that's bad.
2587
2588         * wtf/MetaAllocatorHandle.h:
2589         Make it thread-safe ref-counted, since we may now be passing them between the
2590         concurrent JIT thread and the main thread.
2591
2592         * wtf/Vector.h:
2593         (WTF::Vector::takeLast):
2594         I've wanted this method for ages, and now I finally added.
2595
2596 2013-04-30  Filip Pizlo  <fpizlo@apple.com>
2597
2598         fourthTier: DFG tries to ref/deref StringImpls in a ton of places
2599         https://bugs.webkit.org/show_bug.cgi?id=115300
2600
2601         Reviewed by Geoffrey Garen.
2602         
2603         Make it possible to do more things directly to StringImpl*'s, including being
2604         able to directly do utf8 conversion on a substring without creating the
2605         substring first.
2606         
2607         Add assertions to StringImpl that it isn't being ref/deref'd from the
2608         compilation thread.
2609
2610         * wtf/PrintStream.cpp:
2611         (WTF::printInternal):
2612         (WTF):
2613         * wtf/PrintStream.h:
2614         (WTF):
2615         (WTF::printInternal):
2616         * wtf/StringPrintStream.h:
2617         (WTF):
2618         (WTF::toCString):
2619         * wtf/text/StringImpl.cpp:
2620         (WTF::StringImpl::utf8ForRange):
2621         (WTF::StringImpl::utf8):
2622         (WTF):
2623         * wtf/text/StringImpl.h:
2624         (StringImpl):
2625         (WTF::StringImpl::hasAtLeastOneRef):
2626         (WTF::StringImpl::ref):
2627         (WTF::StringImpl::deref):
2628
2629 2013-04-29  Filip Pizlo  <fpizlo@apple.com>
2630
2631         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()
2632         https://bugs.webkit.org/show_bug.cgi?id=115393
2633
2634         Reviewed by Geoffrey Garen.
2635
2636         * WTF.xcodeproj/project.pbxproj:
2637         * wtf/text/ConversionMode.h: Added.
2638         (WTF):
2639         * wtf/text/StringImpl.cpp:
2640         (WTF):
2641         (WTF::putUTF8Triple):
2642         (WTF::StringImpl::utf8):
2643         * wtf/text/StringImpl.h:
2644         (StringImpl):
2645         * wtf/text/WTFString.cpp:
2646         (WTF):
2647         (WTF::String::utf8):
2648         * wtf/text/WTFString.h:
2649         (String):
2650
2651 2013-07-16  Oliver Hunt <oliver@apple.com>
2652
2653         Merge dfgFourthTier r149301
2654
2655     2013-04-28  Filip Pizlo  <fpizlo@apple.com>
2656
2657         fourthTier: ASSERT that commonly used not-thread-safe methods in the runtime are not being called during compilation
2658         https://bugs.webkit.org/show_bug.cgi?id=115297
2659
2660         Reviewed by Geoffrey Garen.
2661         
2662         Taught WTF the notion of compilation threads. This allows all parts of our stack
2663         to assert that we're not being called from a JSC compilation thread. This is in
2664         WTF because it will probably end up being used in StringImpl and WTFString.
2665
2666         * WTF.xcodeproj/project.pbxproj:
2667         * wtf/CompilationThread.cpp: Added.
2668         (WTF):
2669         (WTF::initializeCompilationThreadsOnce):
2670         (WTF::initializeCompilationThreads):
2671         (WTF::isCompilationThread):
2672         (WTF::exchangeIsCompilationThread):
2673         * wtf/CompilationThread.h: Added.
2674         (WTF):
2675         (CompilationScope):
2676         (WTF::CompilationScope::CompilationScope):
2677         (WTF::CompilationScope::~CompilationScope):
2678         (WTF::CompilationScope::leaveEarly):
2679
2680 2013-07-16  Oliver Hunt <oliver@apple.com>
2681
2682         Merge dfgFourthTier r148836
2683
2684     2013-04-21  Filip Pizlo  <fpizlo@apple.com>
2685
2686         fourthTier: It should be possible to query WatchpointSets, and add Watchpoints, even if the compiler is running in another thread
2687         https://bugs.webkit.org/show_bug.cgi?id=114909
2688
2689         Reviewed by Oliver Hunt.
2690         
2691         Harden our notions of memory fences, now that we're doing racy algorithms.
2692
2693         * wtf/Atomics.h:
2694         (WTF):
2695         (WTF::compilerFence):
2696         (WTF::armV7_dmb):
2697         (WTF::armV7_dmb_st):
2698         (WTF::loadLoadFence):
2699         (WTF::loadStoreFence):
2700         (WTF::storeLoadFence):
2701         (WTF::storeStoreFence):
2702         (WTF::memoryBarrierAfterLock):
2703         (WTF::memoryBarrierBeforeUnlock):
2704         (WTF::x86_mfence):
2705
2706 2013-07-16  Oliver Hunt <oliver@apple.com>
2707
2708         Merge dfgFourthTier r148804
2709
2710     2013-04-20  Filip Pizlo  <fpizlo@apple.com>
2711
2712         fourthTier: value profiles and array profiles should be thread-safe enough to be accessible in a concurrent compilation thread
2713         https://bugs.webkit.org/show_bug.cgi?id=114906
2714
2715         Reviewed by Oliver Hunt.
2716         
2717         Add ability to abstract whether or not the CodeBlock requires locking at all,
2718         since some platforms may not support the byte spin-locking and/or may not want
2719         to, if they turn off concurrent JIT.
2720
2721         * WTF.xcodeproj/project.pbxproj:
2722         * wtf/ByteSpinLock.h:
2723         * wtf/NoLock.h: Added.
2724         (WTF):
2725         (NoLock):
2726         (WTF::NoLock::lock):
2727         (WTF::NoLock::unlock):
2728         (WTF::NoLock::isHeld):
2729         * wtf/Platform.h:
2730
2731 2013-04-17  Filip Pizlo  <fpizlo@apple.com>
2732
2733         fourthTier: all inline caches should thread-safe enough to allow a concurrent compilation thread to read them safely
2734         https://bugs.webkit.org/show_bug.cgi?id=114762
2735
2736         Reviewed by Mark Hahnenberg.
2737         
2738         Implemented a new spinlock that is optimized for compactness, by using just a byte.
2739         This will be useful as we start using fine-grained locking on a bunch of places.
2740         
2741         At some point I'll make these byte-sized spinlocks into adaptive mutexes, but for
2742         now I think it's fine to do the evil thing and use spinning particularly since we
2743         only use them for short critical sections.
2744
2745         * WTF.xcodeproj/project.pbxproj:
2746         * wtf/Atomics.h:
2747         (WTF):
2748         (WTF::weakCompareAndSwap):
2749         * wtf/ByteSpinLock.h: Added.
2750         (WTF):
2751         (ByteSpinLock):
2752         (WTF::ByteSpinLock::ByteSpinLock):
2753         (WTF::ByteSpinLock::lock):
2754         (WTF::ByteSpinLock::unlock):
2755         (WTF::ByteSpinLock::isHeld):
2756         * wtf/ThreadingPrimitives.h:
2757         (WTF::pauseBriefly):
2758         (WTF):
2759
2760 2013-04-12  Filip Pizlo  <fpizlo@apple.com>
2761
2762         fourthTier: FTL should have OSR exit
2763         https://bugs.webkit.org/show_bug.cgi?id=113623
2764
2765         Reviewed by Oliver Hunt.
2766         
2767         Finally make toCString() somewhat variadic.
2768
2769         * wtf/StringPrintStream.h:
2770         (WTF):
2771         (WTF::toCString):
2772
2773 2013-03-31  Filip Pizlo  <fpizlo@apple.com>
2774
2775         https://bugs.webkit.org/show_bug.cgi?id=113656
2776         Fix Sam's nits.
2777
2778         Unreviewed.
2779         
2780         Forgot to land these as part of http://trac.webkit.org/changeset/147299.
2781
2782         * wtf/MathExtras.h:
2783         (isGreaterThanNonZeroPowerOfTwo):
2784
2785 2013-03-29  Filip Pizlo  <fpizlo@apple.com>
2786
2787         fourthTier: FTL JIT should be able run some simple function
2788         https://bugs.webkit.org/show_bug.cgi?id=113481
2789
2790         Reviewed by Geoffrey Garen.
2791
2792         * wtf/Platform.h:
2793
2794 2013-07-22  Benjamin Poulain  <benjamin@webkit.org>
2795
2796         String::lower() - Skip to slow path on the first failure
2797         https://bugs.webkit.org/show_bug.cgi?id=118885
2798
2799         Reviewed by Andreas Kling.
2800
2801         In the 8 bits case, we don't need to know the state of the full string before changing characters
2802         to their lowercase variant.
2803         Just fail immediately and start transforming characters from the point of failure.
2804
2805         This avoid reading the string twice when the uppercase character is not at the end of the string.
2806
2807         * wtf/text/StringImpl.cpp:
2808         (WTF::StringImpl::lower):
2809
2810 2013-07-22  Brent Fulgham  <bfulgham@apple.com>
2811
2812         [Windows] Unreviewed build fix.
2813
2814         * WTF.vcxproj/WTFGenerated.make: Stop triggering a "Build All" when things have not changed.
2815
2816 2013-07-19  Alex Christensen  <achristensen@apple.com>
2817
2818         Added x64 configuration to Visual Studio build.
2819         https://bugs.webkit.org/show_bug.cgi?id=118888
2820
2821         Reviewed by Brent Fulgham.
2822
2823         * WTF.vcxproj/WTF.vcxproj:
2824         * WTF.vcxproj/WTF.vcxproj.filters:
2825         * WTF.vcxproj/WTFGenerated.vcxproj:
2826
2827 2013-07-18  Benjamin Poulain  <benjamin@webkit.org>
2828
2829         Fix the build after r152881
2830
2831         * wtf/text/StringImpl.cpp:
2832         (WTF::StringImpl::lower):
2833
2834 2013-07-18  Benjamin Poulain  <benjamin@webkit.org>
2835
2836         Little cleaning of StringImpl::lower() and StringImpl::upper() for ARM
2837         https://bugs.webkit.org/show_bug.cgi?id=118831
2838
2839         Reviewed by Gavin Barraclough.
2840
2841         Clean lower() and upper() before trying some optimizations:
2842         -Prefix the code with the empty() case. Otherwise, each descending loop starts with
2843          a check for length == 0.
2844         -Change ored to a 32 bits registers. ARM only has 32 bits registers and access to full word.
2845          To keep the value a UChar, the compiler is adding a bunch of useless value & 0xffff in the loops.
2846         -Change the pointer based loops for index based loops. The compiler does a mighty job at optimizing
2847          those for each architecture. No need to make the code more complex.
2848         -Don't perform the check for int32 unless we need to. The only code limited to int is Unicode::toLower.
2849
2850         * wtf/text/StringImpl.cpp:
2851         (WTF::StringImpl::lower):
2852         (WTF::StringImpl::upper):
2853
2854 2013-07-18  Andreas Kling  <akling@apple.com>
2855
2856         CodeBlock::m_argumentValueProfiles wastes a lot of memory.
2857         <http://webkit.org/b/118852>
2858         <rdar://problem/14481659>
2859
2860         Reviewed by Anders Carlsson.
2861
2862         Add Vector::resizeToFit(size), like resize() but without growth padding.
2863
2864         * wtf/Vector.h:
2865         (WTF::::resizeToFit):
2866
2867 2013-07-17  Benjamin Poulain  <benjamin@webkit.org>
2868
2869         Add a thread safety assertion when creating an AtomicString from a StringImpl
2870         https://bugs.webkit.org/show_bug.cgi?id=118637
2871
2872         Reviewed by Sam Weinig.
2873
2874         The goal is to prevent this kind of use:
2875         -Someone create a String from a StringImpl.
2876         -At some point, the string becomes atomic.
2877         -Later, when the string only has one ref, its ownership is 'passed' to an other thread
2878          without checking String::isSafeToSendToAnotherThread().
2879         -In the thread B, an AtomicString is created from the String.
2880         ->The AtomicString's StringImpl returned is not in the current thread string table.
2881
2882         * wtf/text/AtomicString.cpp:
2883         (WTF::AtomicString::isInAtomicStringTable):
2884         * wtf/text/AtomicString.h:
2885         (WTF::AtomicString::add):
2886
2887 2013-07-17  Benjamin Poulain  <benjamin@webkit.org>
2888
2889         Simplify AtomicString::lower()
2890         https://bugs.webkit.org/show_bug.cgi?id=118719
2891         <rdar://problem/14452883>
2892
2893         Reviewed by Gavin Barraclough.
2894
2895         * wtf/text/AtomicString.cpp:
2896         (WTF::AtomicString::lower): Previously, the code was using a copy constructor for two path
2897         and one regular construction in another path.
2898         Just put the StringImpl where it needs to be instead.
2899
2900 2013-07-15  Benjamin Poulain  <benjamin@webkit.org>
2901
2902         Add a threading assertion to AtomicString::remove
2903         https://bugs.webkit.org/show_bug.cgi?id=118695
2904
2905         Reviewed by Sam Weinig.
2906
2907         * wtf/text/AtomicString.cpp:
2908         (WTF::AtomicString::remove): The destructor of StringImpl remove
2909         the string from the string table if it is atomic. This needs to be done
2910         on the same thread as the one on which the string was added (otherwise the original
2911         table would keep a dangling pointer to a dead string).
2912
2913 2013-07-15  Benjamin Poulain  <benjamin@webkit.org>
2914
2915         Minor cleaning of AtomicString::addSlowCase
2916         https://bugs.webkit.org/show_bug.cgi?id=118615
2917
2918         Reviewed by Geoffrey Garen.
2919
2920         Give the variable a proper name.
2921         Add assertions to clarify the in and out states.
2922
2923         * wtf/text/AtomicString.cpp:
2924         (WTF::AtomicString::addSlowCase):
2925
2926 2013-07-12  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2927
2928         Improve StringImpl::constructInternal() method
2929         https://bugs.webkit.org/show_bug.cgi?id=118503
2930
2931         Reviewed by Benjamin Poulain.
2932
2933         StringImpl::constructInternal used 'if ()' statement to decide which constructor
2934         to invoke hence compiler had to compile both branches even though optimizer would
2935         have then removed one of those, and as the function is inline it could affect
2936         slightly the compilation time.
2937
2938         The problem is solved via template specialization.
2939
2940         * wtf/text/StringImpl.h:
2941         (WTF::LChar):
2942         (WTF::UChar):
2943
2944 2013-07-11  Patrick Gansterer  <paroga@webkit.org>
2945
2946         Remove unused Windows CE files
2947         https://bugs.webkit.org/show_bug.cgi?id=118557
2948
2949         Reviewed by Andreas Kling.
2950
2951         * wtf/wince/FastMallocWinCE.h: Removed.
2952         * wtf/wince/MemoryManager.cpp: Removed.
2953         * wtf/wince/MemoryManager.h: Removed.
2954
2955 2013-07-10  Michael Brüning  <michael.bruning@digia.com>
2956
2957         Workaround for x86 optimizer bug in MSVC 2012.
2958         https://bugs.webkit.org/show_bug.cgi?id=118478
2959
2960         Reviewed by Benjamin Poulain.
2961
2962         This is a workaround for a bug in the x86 MSVC 2012 optimizer.
2963
2964         The problem is that the range comparison gets optimized out when
2965         the templated inline function toASCIIUpper. Copying the methods 
2966         content fixes the problem. 
2967
2968         This is unfortunately not the nicest fix, but the alternative would
2969         be to turn off optimization for StringImpl::upper on the x86 MSVC 2012
2970         build, which might impact overall performance negatively.
2971
2972         * wtf/text/StringImpl.cpp:
2973         (WTF::StringImpl::upper):
2974
2975 2013-07-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2976
2977         Unreviewed. Fix make distcheck.
2978
2979         * GNUmakefile.list.am: Add missing header files.
2980
2981 2013-07-08  Antti Koivisto  <antti@apple.com>
2982
2983         Add Deque::removeLast
2984         https://bugs.webkit.org/show_bug.cgi?id=118466
2985
2986         Reviewed by Andreas Kling.
2987         
2988         Deque can remove both the first and the last element efficiently.
2989         
2990         Test: TestWebKitAPI/Tests/WTF/Deque.cpp
2991
2992         * wtf/Deque.h:
2993         (WTF::::takeLast):
2994         (WTF::::removeLast):
2995
2996 2013-07-08  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2997
2998         [Qt][Windows] Buildfix after r152426.
2999
3000         Reviewed by Csaba Osztrogonác.
3001
3002         * wtf/Platform.h: Do not include WTFHeaderDetection.h on Qt build.
3003
3004 2013-07-06  Benjamin Poulain  <benjamin@webkit.org>
3005
3006         Fix the performance regressions introduced by r152418
3007         https://bugs.webkit.org/show_bug.cgi?id=118438
3008
3009         Reviewed by Sam Weinig.
3010
3011         * wtf/text/StringImpl.h:
3012         (WTF::equal):
3013         Looping between two arbitrary pointers prevents important loop
3014         optimizations.
3015
3016 2013-07-05  Brent Fulgham  <bfulgham@apple.com>
3017
3018         [Windows] Unreviewed build correction.
3019
3020         * WTF.vcxproj/WTFGenerated.make: Avoid syntax error in generated
3021         file in cases where Legible Output support is not present.
3022
3023 2013-07-05  Brent Fulgham  <bfulgham@apple.com>
3024
3025         [Windows] Unreviewed build correction.
3026
3027         * WTF.vcxproj/WTFGenerated.make: Use space (rather than double
3028         quotes) when handling the no-Legible-Output case.
3029
3030 2013-07-05  Brent Fulgham  <bfulgham@apple.com>
3031
3032         [Windows] Identify OS-level at build-time.
3033         https://bugs.webkit.org/show_bug.cgi?id=118428
3034
3035         Reviewed by Anders Carlsson.
3036
3037         * WTF.vcxproj/WTFGenerated.make: Check for Legible Output featurs
3038         and set build environment as appropriate.
3039         * wtf/Platform.h: Activate Legible Output features if present.
3040
3041 2013-07-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3042
3043         A lot of code duplication within StringImpl 'equal' functions
3044         https://bugs.webkit.org/show_bug.cgi?id=118415
3045
3046         Reviewed by Anders Carlsson.
3047
3048         There has been a lot of code duplication within StringImpl 'equal' functions:
3049         the whole logic was copied to every overloaded 'equal' function.
3050         Fixed now using templates and std::equal.
3051
3052         * wtf/text/StringImpl.cpp:
3053         (WTF::equalInternal):
3054         (WTF::equal):
3055         * wtf/text/StringImpl.h:
3056         (WTF::arraysEqual):
3057         (WTF::equal):
3058
3059 2013-07-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3060
3061         Remove code duplication from StringImpl create()/reallocate() methods
3062         https://bugs.webkit.org/show_bug.cgi?id=118355
3063
3064         Reviewed by Andreas Kling.
3065
3066         StringImpl create()/reallocate() methods accepting LChar and UChar used to have
3067         duplicated code. The code duplication is removed now via used templates.
3068
3069         * wtf/text/StringImpl.cpp:
3070         (WTF::StringImpl::constructInternal):
3071         (WTF::LChar):
3072         (WTF::StringImpl::createUninitializedInternal):
3073         (WTF::StringImpl::createUninitialized):
3074         (WTF::StringImpl::reallocateInternal):
3075         (WTF::StringImpl::reallocate):
3076         (WTF::StringImpl::createInternal):
3077         (WTF::StringImpl::create):
3078         * wtf/text/StringImpl.h:
3079
3080 2013-07-03  Brent Fulgham  <bfulgham@apple.com>
3081
3082         [Windows] Unreviewed build correction.
3083
3084         * WTF.vcxproj/copy-files.cmd: Limit path (for this file) to DOS-only to avoid
3085         the Cygwin variant of rmdir from being used.
3086
3087 2013-07-03  Commit Queue  <commit-queue@webkit.org>
3088
3089         Unreviewed, rolling out r152356.
3090         http://trac.webkit.org/changeset/152356
3091         https://bugs.webkit.org/show_bug.cgi?id=118361
3092
3093         Broke JSCore tests (Requested by andersca on #webkit).
3094
3095         * wtf/text/StringImpl.cpp:
3096         (WTF::StringImpl::createUninitialized):
3097         (WTF::StringImpl::reallocate):
3098         (WTF::StringImpl::create):
3099         * wtf/text/StringImpl.h:
3100
3101 2013-07-03  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3102
3103         Remove code duplication from StringImpl create()/reallocate() methods
3104         https://bugs.webkit.org/show_bug.cgi?id=118355
3105
3106         Reviewed by Anders Carlsson.
3107
3108         StringImpl create()/reallocate() methods accepting LChar and UChar used to have
3109         duplicated code. The code duplication is removed now via used templates.
3110
3111         * wtf/text/StringImpl.cpp:
3112         (WTF::StringImpl::constructInternal):
3113         (WTF::LChar):
3114         (WTF::StringImpl::createUninitializedInternal):
3115         (WTF::StringImpl::createUninitialized):
3116         (WTF::StringImpl::reallocateInternal):
3117         (WTF::StringImpl::reallocate):
3118         (WTF::StringImpl::createInternal):
3119         (WTF::StringImpl::create):
3120         * wtf/text/StringImpl.h:
3121
3122 2013-07-03  Csaba Osztrogonác  <ossy@webkit.org>
3123
3124         Fix cast-align warnings in FastMalloc.cpp
3125         https://bugs.webkit.org/show_bug.cgi?id=117991
3126
3127         Reviewed by Mark Hahnenberg.
3128
3129         * wtf/FastMalloc.cpp:
3130
3131 2013-07-02  Geoffrey Garen  <ggaren@apple.com>
3132
3133         plainText() is O(N^2)
3134         https://bugs.webkit.org/show_bug.cgi?id=118282
3135         <rdar://problem/14284360>
3136
3137         Reviewed by Alexey Proskuryakov.
3138
3139         * wtf/text/StringBuilder.cpp:
3140         (WTF::expandCapacity): Factored out this helper function to simplify
3141         some code that was duplicated in four places.
3142
3143         (WTF::StringBuilder::appendUninitializedSlow):
3144         (WTF::StringBuilder::append): Use expandCapacity(). One of the cases
3145         was not doing anything special, and so was O(N^2).
3146
3147         Also, always call expandCapacity() it in a standard way, calling
3148         capacity() first, so it's easy to tell at a glance that you got it right.
3149
3150 2013-07-02  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3151
3152         Avoid code duplication inside String::append()
3153         https://bugs.webkit.org/show_bug.cgi?id=118290
3154
3155         Reviewed by Anders Carlsson.
3156
3157         The implementation of 'append(UChar)' had been repeated inside 'append(LChar)',
3158         this duplication is obviated now.
3159
3160         * wtf/text/WTFString.cpp:
3161         (WTF::String::appendInternal):
3162         (WTF::String::append):
3163         * wtf/text/WTFString.h:
3164
3165 2013-06-28  Anders Carlsson  <andersca@apple.com>
3166
3167         Remove String::deprecatedCharactersWithNullTermination() and related code
3168         https://bugs.webkit.org/show_bug.cgi?id=118211
3169
3170         Reviewed by Benjamin Poulain.
3171
3172         Remove String::deprecatedCharactersWithNullTermination, StringImpl::createWithTerminatingNullCharacter
3173         and the s_hashFlagHasTerminatingNullCharacter flag. We no longer care about whether strings have a
3174         terminating null character.
3175
3176         * wtf/text/StringImpl.cpp:
3177         (WTF::StringImpl::createFromLiteral):
3178         (WTF::StringImpl::createWithoutCopying):
3179         (WTF::StringImpl::getData16SlowCase):
3180         (WTF::StringImpl::sizeInBytes):
3181         * wtf/text/StringImpl.h:
3182         (WTF::StringImpl::StringImpl):
3183         (WTF::StringImpl::createFromLiteral):
3184         (WTF::StringImpl::isolatedCopy):
3185         * wtf/text/WTFString.cpp:
3186         * wtf/text/WTFString.h:
3187
3188 2013-06-27  Anders Carlsson  <andersca@apple.com>
3189
3190         Add a new String::charactersWithNullTermination() function that returns a vector
3191         https://bugs.webkit.org/show_bug.cgi?id=118155
3192
3193         Reviewed by Andreas Kling.
3194
3195         This new String::charactersWithNullTermination() function returns a new Vector<UChar>
3196         and does not modify the underlying string data.
3197
3198         * wtf/text/WTFString.cpp:
3199         (WTF::String::charactersWithNullTermination):
3200         * wtf/text/WTFString.h:
3201
3202 2013-06-26  Anders Carlsson  <andersca@apple.com>
3203
3204         Deprecate StringImpl::charactersWithNullTermination
3205         https://bugs.webkit.org/show_bug.cgi?id=118108
3206
3207         Reviewed by Beth Dakin.
3208
3209         The optimization in String and StringImpl to keep track of whether a string
3210         has a null terminator isn't worth it; in most cases we call charactersWithNullTermination() on
3211         temporary strings which ends up copying strings anyway.
3212         
3213         A better solution is to have a charactersWithNullTermination() function that returns a Vector<UChar>,
3214         which is similar to what we have for String::utf8() and String::ascii(). This will be done in a follow-up patch.
3215
3216         * wtf/text/WTFString.cpp:
3217         (WTF::String::deprecatedCharactersWithNullTermination):
3218         * wtf/text/WTFString.h:
3219
3220 2013-06-26  Anders Carlsson  <andersca@apple.com>
3221
3222         Add JSStringCreateWithCharactersNoCopy SPI
3223         https://bugs.webkit.org/show_bug.cgi?id=118074
3224         <rdar://problem/14279905>
3225
3226         Reviewed by Geoffrey Garen.
3227
3228         * wtf/text/StringImpl.cpp:
3229         (WTF::StringImpl::createFromLiteral):
3230         Use the new ConstructWithoutCopying constructor, passing DoesHaveTerminatingNullCharacter to it.
3231         Change the other createFromLiteral overload to just call the first.
3232
3233         (WTF::StringImpl::createWithoutCopying):
3234         Add helper functions for creating strings that shouldn't copy their underlying data.
3235
3236         * wtf/text/StringImpl.h:
3237         (WTF::StringImpl::StringImpl):
3238         Rename the ConstructFromLiteralTag constructor enum to ConstructWithoutCopyingTag. Change the constructor
3239         to take an enum that states whether the string has a terminating null character or not.
3240
3241         (WTF::StringImpl::createFromLiteral):
3242         Call createWithoutCopying.
3243
3244         (WTF::StringImpl::requiresCopy):
3245         Rename this from isASCIILiteral() and make it more generic so it can handle 16-bit strings as well.
3246
3247         (WTF::StringImpl::isolatedCopy):
3248         If this string doesn't have to be copied, just create a new StringImpl object that references the current data.
3249
3250 2013-06-26  Jer Noble  <jer.noble@apple.com>
3251
3252         Potential use-after-free after neutering AudioBuffer's underlying ArrayBuffer.
3253         https://bugs.webkit.org/show_bug.cgi?id=118040
3254
3255         Reviewed by Filip Pizlo.
3256
3257         Add support for 'unneuterable' ArrayBufferViews. Views marked as such will have their underlying
3258         ArrayBuffer objects copied rather than transferred to a new view.
3259
3260         * wtf/ArrayBuffer.cpp:
3261         (WTF::ArrayBuffer::transfer): Check whether the associated views are neuterable, and if not
3262                 clone the ArrayBuffer rather than transferring it.
3263         * wtf/ArrayBuffer.h:
3264         (WTF::ArrayBufferContents::copyTo): Added. Utility function.
3265         * wtf/ArrayBufferView.cpp:
3266         (WTF::ArrayBufferView::ArrayBufferView):
3267         (WTF::ArrayBufferView::neuter):
3268         * wtf/ArrayBufferView.h:
3269         (WTF::ArrayBufferView::setNeuterable):
3270         (WTF::ArrayBufferView::isNeuterable):
3271
3272 2013-06-26  Brent Fulgham  <bfulgham@apple.com>
3273
3274         [Windows] Enable CaptionUserPreferenceMediaAF on Windows.
3275         https://bugs.webkit.org/show_bug.cgi?id=118076
3276
3277         Reviewed by Eric Carlson.
3278
3279         * wtf/Platform.h: Enable Media Accessibility Framework in Windows build environments
3280           that support it.
3281
3282 2013-06-24  Roger Fong  <roger_fong@apple.com>
3283
3284         Unreviewed. AppleWin build fix, followup to r151915.
3285
3286         * WTF.vcxproj/WTFProduction.props:
3287
3288 2013-06-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3289
3290         HashMap: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods
3291         https://bugs.webkit.org/show_bug.cgi?id=117911
3292
3293         Reviewed by Anders Carlsson.
3294
3295         The order of the template arguments at HashMap alternate 'find', 'contains' and
3296         'add' methods is reversed so that callers can just pass the translator
3297         and let the compiler deduce input argument type.
3298
3299         Another rational is consistency with HashSet class.
3300
3301         * wtf/HashMap.h:
3302
3303 2013-06-24  peavo@outlook.com  <peavo@outlook.com>
3304
3305         [WinCairo] WTF.dll is linking with CoreFoundation.lib in VS2010.
3306         https://bugs.webkit.org/show_bug.cgi?id=117294
3307
3308         Reviewed by Brent Fulgham.
3309
3310         WinCairo build should not use CoreFoundation.
3311
3312         * WTF.vcxproj/WTFCFLite.props: Added.
3313         * WTF.vcxproj/WTFCommon.props: Remove CoreFoundation.lib from depencency list.
3314         * WTF.vcxproj/WTFCoreFoundation.props: Added.
3315         * WTF.vcxproj/WTFDebug.props: Import WTFCoreFoundation.props for WinApple.
3316         * WTF.vcxproj/WTFDebugWinCairo.props: Import WTFCFLite.props for WinCairo.
3317         * WTF.vcxproj/WTFRelease.props: Import WTFCoreFoundation.props for WinApple.
3318         * WTF.vcxproj/WTFReleaseWinCairo.props: Import WTFCFLite.props for WinCairo.
3319
3320 2013-06-17  Darin Adler  <darin@apple.com>
3321
3322         Sort all the Xcode project files
3323         https://bugs.webkit.org/show_bug.cgi?id=117696
3324
3325         Reviewed by Anders Carlsson.
3326
3327         * WTF.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script.
3328
3329 2013-06-20  Sergio Correia  <sergio.correia@openbossa.org>
3330
3331         [WK2] Looping for EINTR on close() is incorrect for Linux, at least
3332         https://bugs.webkit.org/show_bug.cgi?id=117266
3333
3334         Reviewed by Darin Adler.
3335
3336         Added file UniStdExtras with a closeWithRetry() function that works around
3337         the EINTR behavior on Linux during a close() call: it closes the descriptor
3338         unconditionally even when the call is interrupted.
3339
3340         * wtf/UniStdExtras.h: Added.
3341         (WTF::closeWithRetry): Wrapper around POSIX close() that handles EINTR
3342         correctly.
3343
3344 2013-06-20  Mark Lam  <mark.lam@apple.com>
3345
3346         Refine the StackBounds computation for Windows.
3347         https://bugs.webkit.org/show_bug.cgi?id=117854.
3348
3349         Reviewed by Brent Fulgham.
3350
3351         * wtf/StackBounds.cpp:
3352         (WTF::StackBounds::initialize):
3353
3354 2013-06-20  Mark Lam  <mark.lam@apple.com>
3355
3356         [Windows] Undoing r150621 to roll r150600 back in as the jsc test
3357         failures have been fixed in r151808.
3358         https://bugs.webkit.org/show_bug.cgi?id=116661.
3359
3360         Reviewed by Brent Fulgham.
3361
3362         * wtf/StackBounds.cpp:
3363         (WTF::StackBounds::initialize):
3364
3365 2013-06-20  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3366
3367         HashSet: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods
3368         https://bugs.webkit.org/show_bug.cgi?id=117830
3369
3370         Reviewed by Anders Carlsson.
3371
3372         The order of the template arguments at HashSet alternate 'find', 'contains' and
3373         'add' methods is reversed so that callers can just pass the translator
3374         and let the compiler deduce input argument type.
3375
3376         * wtf/HashSet.h:
3377         * wtf/text/AtomicString.cpp:
3378         (WTF::addToStringTable):
3379         (WTF::findString):
3380
3381 2013-06-20  Roger Fong  <roger_fong@apple.com>
3382
3383         Make Windows makefile copy build output to a different folder.
3384         <rdar://problem/14219184>.
3385
3386         * WTF.vcxproj/WTF.make:
3387
3388 2013-06-19  Geoffrey Garen  <ggaren@apple.com>
3389
3390         Remove the SegmentedVector inline segment to shrink CodeBlock by 6X
3391         https://bugs.webkit.org/show_bug.cgi?id=117808
3392
3393         Reviewed by Oliver Hunt.
3394
3395         SegmentedVector allocation isn't super hot, but we do tend to have many
3396         live SegmentedVectors at runtime, particularly in CodeBlocks, so the
3397         right tradeoff is to allocate segments out-of-line as needed.
3398
3399         This reduces startup memory usage @ google.com by about 6MB.
3400
3401         No regression on SunSpider.
3402
3403         * wtf/SegmentedVector.h:
3404         (WTF::SegmentedVector::SegmentedVector):
3405         (WTF::SegmentedVector::at):
3406         (WTF::SegmentedVector::append):
3407         (WTF::SegmentedVector::removeLast):
3408         (WTF::SegmentedVector::clear):
3409         (WTF::SegmentedVector::deleteAllSegments): No more inline segment.
3410
3411         (WTF::SegmentedVector::ensureSegmentsFor): This code used to assume
3412         that there was always a 0 segment, so the math would underflow if there
3413         were no 0 segment. I udpated the math to account for having no segments.
3414
3415 2013-06-19  David Kilzer  <ddkilzer@apple.com>
3416
3417         BUILD FIX (r151663): Fix build for iOS WebKit
3418
3419         * wtf/text/AtomicStringTable.cpp: Include MainThread.h.
3420         (WTF::AtomicStringTable::create): Use AtomicStringTable::destroy
3421         instead of non-existent destroyAtomicStringTable function.
3422
3423 2013-06-18  Roger Fong  <roger_fong@apple.com>
3424
3425         Replace tools32 folder with tools and update WebKit Windows solution accordingly.
3426         <rdar://problem/14118143>.
3427
3428         Rubberstamped by Brent Fulgham.
3429
3430         * WTF.vcxproj/WTF.vcxproj:
3431         * WTF.vcxproj/WTFDebug.props:
3432         * WTF.vcxproj/WTFDebugWinCairo.props:
3433         * WTF.vcxproj/WTFGenerated.vcxproj:
3434         * WTF.vcxproj/WTFGeneratedDebug.props:
3435         * WTF.vcxproj/WTFGeneratedProduction.props:
3436         * WTF.vcxproj/WTFGeneratedRelease.props:
3437         * WTF.vcxproj/WTFProduction.props:
3438         * WTF.vcxproj/WTFRelease.props:
3439         * WTF.vcxproj/WTFReleaseWinCairo.props:
3440         * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
3441         (react_to_vsprops_changes):
3442
3443 2013-06-18  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3444
3445         PackedIntVector: check template arguments at compile time
3446         https://bugs.webkit.org/show_bug.cgi?id=117737
3447
3448         Use 'COMPILE_ASSERT' instead of 'ASSERT' in PackedIntVector class
3449         constructor.
3450
3451         Reviewed by Sam Weinig.
3452
3453         * wtf/PackedIntVector.h:
3454         (WTF::PackedIntVector::PackedIntVector):
3455
3456 2013-06-17  Andy Estes  <aestes@apple.com>
3457
3458         A static_assert() in RetainPtr.h sometimes causes the build to fail.
3459
3460         Wrap the first argument to a static_assert() in parentheses since it
3461         contains a comma, which sometimes tricks the preprocessor into thinking
3462         the macro is being passed three arguments rather than two.
3463
3464         Reviewed by Brian Weinstein.
3465
3466         * wtf/RetainPtr.h:
3467         (WTF::RetainPtr::RetainPtr):
3468
3469 2013-06-17  Zan Dobersek  <zdobersek@igalia.com>
3470
3471         REGRESSION (r149184): Build errors in RefPtr.h when building with Clang, C++98 standard
3472         https://bugs.webkit.org/show_bug.cgi?id=116352
3473
3474         Reviewed by Anders Carlsson.
3475
3476         Use the __has_feature macro instead of the __has_extension one when detecting what features the Clang compiler
3477         that's being used is capable to provide. With the project moving onto using C++11 throughout its components,
3478         there currently exist cases where C++11-specific functionality (for instance std::move) is used despite being
3479         guarded by compiler-specific feature guards that still get enabled even when compiling in C++98 with Clang.
3480         The problematic features are enabled because they're available as C++98 language extensions by Clang.
3481
3482         Using __has_feature instead enables the feature guard only if the tested feature is actually standardized in
3483         the currently used language standard.
3484
3485         * wtf/Compiler.h:
3486
3487 2013-06-17  Ryosuke Niwa  <rniwa@webkit.org>
3488
3489         Initialize AtomicStringTable in WTFThreadData's constructor
3490         https://bugs.webkit.org/show_bug.cgi?id=117671
3491
3492         Reviewed by Geoffrey Garen.
3493
3494         Extracted AtomicStringTable from AtomicString.cpp into AtomicStringTable.h/cpp
3495         and made WTFThreadDada::WTFThreadData create the atomic string table for the thread.
3496
3497         This eliminates a branch from stringTable() in AtomicString.cpp.
3498
3499         * GNUmakefile.list.am:
3500         * WTF.pro:
3501         * WTF.vcxproj/WTF.vcxproj:
3502         * WTF.vcxproj/WTF.vcxproj.filters:
3503         * WTF.xcodeproj/project.pbxproj:
3504         * wtf/CMakeLists.txt:
3505         * wtf/WTFThreadData.cpp:
3506         (WTF::WTFThreadData::WTFThreadData):
3507         * wtf/text/AtomicString.cpp:
3508         (WTF::stringTable):
3509         * wtf/text/AtomicStringTable.cpp: Added.
3510         (WTF::AtomicStringTable::create):
3511         (WTF::AtomicStringTable::destroy):
3512         * wtf/text/AtomicStringTable.h: Added.
3513         (WTF::AtomicStringTable::table):
3514
3515 2013-06-17  Roger Fong  <roger_fong@apple.com>
3516
3517         Modify Windows makefiles to copy some bin output into Program Files.
3518         https://bugs.webkit.org/show_bug.cgi?id=117714.
3519         <rdar://problem/14179054>
3520
3521         Reviewed by Brent Fulgham.
3522
3523         * WTF.vcxproj/WTF.make:
3524
3525 2013-06-17  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3526
3527         Unreviewed, rolling out r151632.
3528         http://trac.webkit.org/changeset/151632
3529         https://bugs.webkit.org/show_bug.cgi?id=117585
3530
3531         Debug build error ASSERT(WTF_USE_GRAMMAR_CHECKING) for non MAC
3532         platforms
3533
3534         * wtf/Platform.h:
3535
3536 2013-06-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3537
3538         Context menu grammar checking items are available when GRAMMAR_CHECKING macro is off
3539         https://bugs.webkit.org/show_bug.cgi?id=117585
3540
3541         Reviewed by Anders Carlsson.
3542
3543         Enable GRAMMAR_CHECKING for WebKit ports that use/implement it.
3544
3545         * wtf/Platform.h:
3546
3547 2013-06-14  Patrick Gansterer  <paroga@webkit.org>
3548
3549         Introduce USE(WINGDI) for the Windows port
3550         https://bugs.webkit.org/show_bug.cgi?id=116138
3551
3552         Reviewed by Ryosuke Niwa.
3553
3554         Using USE(WINGDI) instead of OS(WINCE) will allow us to
3555         compile the GDI based Windows port on WinNT too.
3556
3557         * wtf/Platform.h:
3558
3559 2013-06-13  Ryosuke Niwa  <rniwa@webkit.org>
3560
3561         Remove LiteralIdentifierTable
3562         https://bugs.webkit.org/show_bug.cgi?id=117613
3563
3564         Reviewed by Geoffrey Garen.
3565
3566         Removed LiteralIdentifierTable since it doesn't seem to have any perf. impact now.
3567
3568         * wtf/WTFThreadData.h:
3569
3570 2013-06-13  Brent Fulgham  <bfulgham@apple.com>
3571
3572         [WinCairo] Correct FeatureDefines.h Default for ENABLE_VIEW_MODE_CSS_MEDIA
3573         https://bugs.webkit.org/show_bug.cgi?id=114396
3574
3575         Reviewed by Dean Jackson.
3576
3577         * wtf/FeatureDefines.h: The WinCairo port does not (currently) support Media elements,
3578         so make sure we do not enable this feature by default for that port.
3579
3580 2013-06-13  Brent Fulgham  <bfulgham@apple.com>
3581
3582         [Windows] Unreviewed gardening.
3583
3584         * WTF.vcxproj/WTF.vcxproj: Add FeatureDefines.h to visible files.
3585         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
3586
3587 2013-06-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3588
3589         Optimize String::fromUTF8 for ASCII
3590         https://bugs.webkit.org/show_bug.cgi?id=117586
3591
3592         Reviewed by Brent Fulgham.
3593
3594         From Blink r152243 by <abarth@chromium.org>
3595
3596         Current String::fromUTF8() implementation converts 8 bit ASCII character into 16 bit.
3597         Instead of always trying to convert into a 16 bit buffer, we can add a call to charactersAreAllASCII.
3598         In the common case when characters are ASCII, we directly copy it into an 8 bit string buffer.
3599
3600         * wtf/text/WTFString.cpp:
3601         (WTF::String::fromUTF8):
3602
3603 2013-06-12  Brent Fulgham  <bfulgham@apple.com>
3604
3605         [Windows] Activate supported C++11 Features for VS2010
3606         https://bugs.webkit.org/show_bug.cgi?id=117569
3607
3608         Reviewed by Anders Carlsson.
3609
3610         * wtf/Compiler.h: Turn on rvalue references and static_assert
3611         when compiling with VS2010 (or newer)
3612
3613 2013-06-07  Roger Fong  <roger_fong@apple.com>
3614
3615         Unreviewed. Makefile fix. Copy WTF.dll over as well.
3616
3617         * WTF.vcxproj/WTF.make:
3618
3619 2013-06-07  Commit Queue  <commit-queue@webkit.org>
3620
3621         Unreviewed, rolling out r151318.
3622         http://trac.webkit.org/changeset/151318
3623         https://bugs.webkit.org/show_bug.cgi?id=117356
3624
3625         Broke Windows Release Build (Requested by bfulgham on
3626         #webkit).
3627
3628         * WTF.vcxproj/WTF.vcxproj:
3629         * WTF.vcxproj/WTFCommon.props:
3630         * WTF.vcxproj/WTFCoreFoundation.props: Removed.
3631         * WTF.vcxproj/WTFDebug.props:
3632         * WTF.vcxproj/WTFRelease.props:
3633
3634 2013-06-07  peavo@outlook.com  <peavo@outlook.com>
3635
3636         [WinCairo] WTF.dll is linking with CoreFoundation.lib in VS2010.
3637         https://bugs.webkit.org/show_bug.cgi?id=117294
3638
3639         Reviewed by Darin Adler.
3640
3641         WinCairo build should not use CoreFoundation.
3642
3643         * WTF.vcxproj/WTF.vcxproj: Exclude unneeded file from WinCairo build.
3644         * WTF.vcxproj/WTFCommon.props: Removed CoreFoundation.lib from common props.
3645         * WTF.vcxproj/WTFCoreFoundation.props: Added.
3646         * WTF.vcxproj/WTFDebug.props: Inherit from WTFCoreFoundations.props.
3647         * WTF.vcxproj/WTFRelease.props: Inherit from WTFCoreFoundations.props.
3648
3649 2013-06-06  Roger Fong  <roger_fong@apple.com>
3650
3651         Unreviewed. Fix typo with winmm linker input.
3652
3653         * WTF.vcxproj/WTFCommon.props:
3654
3655 2013-06-05  Benjamin Poulain  <bpoulain@apple.com>
3656
3657         WebSQL forces 16-bit strings
3658         https://bugs.webkit.org/show_bug.cgi?id=116935
3659
3660         Reviewed by Darin Adler.
3661
3662         Merge chromium 49c9632ac135f6f06e623a7a81d9da1f6bb7196f.
3663         https://chromium.googlesource.com/chromium/blink/+/49c9632ac135f6f06e623a7a81d9da1f6bb7196f
3664
3665         * wtf/text/StringImpl.cpp:
3666         (WTF::StringImpl::create8BitIfPossible):
3667         * wtf/text/StringImpl.h:
3668         (WTF::lengthOfNullTerminatedString):
3669         * wtf/text/WTFString.cpp:
3670         (WTF::String::String):
3671
3672 2013-06-03  Roger Fong  <roger_fong@apple.com>
3673
3674         Nuke VS2005 files from the tree.
3675         <rdar://problem/14042021>.
3676
3677         Rubberstamped by Brent Fulgham.
3678
3679         * WTF.vcproj: Removed.
3680         * WTF.vcproj/WTF.make: Removed.
3681         * WTF.vcproj/WTF.sln: Removed.
3682         * WTF.vcproj/WTF.vcproj: Removed.
3683         * WTF.vcproj/WTFCommon.vsprops: Removed.
3684         * WTF.vcproj/WTFDebug.vsprops: Removed.
3685         * WTF.vcproj/WTFDebugAll.vsprops: Removed.
3686         * WTF.vcproj/WTFDebugCairoCFLite.vsprops: Removed.
3687         * WTF.vcproj/WTFGenerated.make: Removed.
3688         * WTF.vcproj/WTFGenerated.vcproj: Removed.
3689         * WTF.vcproj/WTFGeneratedCommon.vsprops: Removed.
3690         * WTF.vcproj/WTFGeneratedDebug.vsprops: Removed.
3691         * WTF.vcproj/WTFGeneratedDebugAll.vsprops: Removed.
3692         * WTF.vcproj/WTFGeneratedDebugCairoCFLite.vsprops: Removed.
3693         * WTF.vcproj/WTFGeneratedProduction.vsprops: Removed.
3694         * WTF.vcproj/WTFGeneratedRelease.vsprops: Removed.
3695         * WTF.vcproj/WTFGeneratedReleaseCairoCFLite.vsprops: Removed.
3696         * WTF.vcproj/WTFPostBuild.cmd: Removed.
3697         * WTF.vcproj/WTFPreBuild.cmd: Removed.
3698         * WTF.vcproj/WTFProduction.vsprops: Removed.
3699         * WTF.vcproj/WTFRelease.vsprops: Removed.
3700         * WTF.vcproj/WTFReleaseCairoCFLite.vsprops: Removed.
3701         * WTF.vcproj/build-generated-files.sh: Removed.
3702         * WTF.vcproj/copy-files.cmd: Removed.
3703         * WTF.vcproj/work-around-vs-dependency-tracking-bugs.py: Removed.
3704
3705 2013-06-03  Patrick Gansterer  <paroga@webkit.org>
3706
3707         Unreviewed WinCE build fix after r150833.
3708
3709         * wtf/DateMath.cpp:
3710         (WTF::calculateDSTOffset):
3711
3712 2013-06-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3713
3714         [WTF] Add OwnArrayPtr vectortraits template 
3715         https://bugs.webkit.org/show_bug.cgi?id=117131
3716
3717         Reviewed by Darin Adler.
3718
3719         To support Vector<OwnArrayPtr<P>>, which will be used by EFL port.
3720
3721         * wtf/VectorTraits.h:
3722
3723 2013-05-31  Rafael Brandao  <rafael.lobo@openbossa.org>
3724
3725         Fix double hash lookup in PageMapMemoryUsageRecorder::visit
3726         https://bugs.webkit.org/show_bug.cgi?id=117071
3727
3728         Reviewed by Andreas Kling.
3729
3730         * wtf/FastMalloc.cpp:
3731         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3732
3733 2013-05-31  Brent Fulgham  <bfulgham@apple.com>
3734
3735         [Windows] Speculative build fix for pre-VS2010 compilers
3736
3737         * wtf/Platform.h: Only treat WTF as DLL for VS2010 builds
3738
3739 2013-05-31  Zan Dobersek  <zdobersek@igalia.com>
3740
3741         Move MD5, SHA1 unit tests from WTF to TestWebKitAPI
3742         https://bugs.webkit.org/show_bug.cgi?id=116445
3743
3744         Reviewed by Benjamin Poulain.
3745
3746         Remove the MD5 and SHA1 test cases from the WTF code. The same cases are now built and run under TestWebKitAPI.
3747
3748         * wtf/MD5.cpp:
3749         (WTF::MD5::MD5):
3750         * wtf/SHA1.cpp:
3751         (WTF::SHA1::SHA1):
3752
3753 2013-05-30  Roger Fong  <roger_fong@apple.com>
3754
3755         Another unreviewed build fix for Mac.
3756
3757         * wtf/text/WTFString.h:
3758         (WTF::String::fromUTF8WithLatin1Fallback):
3759
3760 2013-05-30  Roger Fong  <roger_fong@apple.com>
3761
3762         Unreviewed build fix for Mac.
3763
3764         * wtf/OSAllocator.h:
3765         * wtf/text/WTFString.h:
3766         (WTF::String::fromUTF8):
3767
3768 2013-05-30  Roger Fong  <roger_fong@apple.com>
3769
3770         Get rid of JavaScript exports file on AppleWin port.
3771         https://bugs.webkit.org/show_bug.cgi?id=117050.
3772
3773         Reviewed by Darin Adler.
3774
3775         This requires turning WTF into a shared library and adding the WTF_EXPORT_PRIVATE to some methods where it was missed.
3776
3777         * WTF.vcxproj/WTF.vcxproj:
3778         * WTF.vcxproj/WTFCommon.props:
3779         * wtf/DateMath.h:
3780         * wtf/ExportMacros.h:
3781         * wtf/FilePrintStream.h:
3782         * wtf/OSAllocator.h:
3783         * wtf/PageAllocationAligned.h:
3784         * wtf/Platform.h:
3785         * wtf/PrintStream.h:
3786         * wtf/StackBounds.h:
3787         * wtf/StringPrintStream.h:
3788         * wtf/ThreadSpecific.h:
3789         * wtf/WTFThreadData.h:
3790         * wtf/dtoa/cached-powers.h:
3791         * wtf/dtoa/double-conversion.h:
3792         * wtf/text/WTFString.h:
3793         * wtf/unicode/Collator.h:
3794         * wtf/unicode/UTF8.h:
3795
3796 2013-05-29  Kent Tamura  <tkent@chromium.org>
3797
3798         Remove ENABLE_INPUT_MULTIPLE_FIELDS_UI.
3799         https://bugs.webkit.org/show_bug.cgi?id=116796
3800
3801         Reviewed by Ryosuke Niwa.
3802
3803         * wtf/FeatureDefines.h:
3804
3805 2013-05-27  Gavin Barraclough  <barraclough@apple.com>
3806
3807         String(new Date(2010,10,1)) is wrong in KRAT, YAKT
3808         https://bugs.webkit.org/show_bug.cgi?id=106750
3809
3810         Reviewed by Darin Adler.
3811
3812         First part of a fix, simplfy date handling code, instead of operating separately
3813         on the UTC-standard and standard-DST offsets, just generate a combined UTC-local
3814         offset (this is what we actually need, and what the OS gives us).
3815
3816         * wtf/DateMath.cpp:
3817         (WTF::calculateUTCOffset):
3818         (WTF::calculateDSTOffset):
3819             - made static, now not called from outside of this file.
3820         (WTF::calculateLocalTimeOffset):
3821             - This combines the 2038 related adjustment from calculateDSTOffset with the
3822               maxUnixTime adjustment from calculateDSTOffsetSimple. Then, if HAVE(TM_GMTOFF)
3823               just call getLocalTime, if not use calculateUTCOffset/calculateDSTOffset.
3824         (WTF::parseDateFromNullTerminatedCharacters):
3825             - call calculateLocalTimeOffset instead of calculateUTCOffset/calculateDSTOffset
3826         * wtf/DateMath.h:
3827         (WTF::LocalTimeOffset::LocalTimeOffset):
3828         (LocalTimeOffset):
3829         (WTF::LocalTimeOffset::operator==):
3830             - new struct type, a tuple of UTC-local offset & isDST flag.
3831             - replaced calculateUTCOffset/calculateDSTOffset with calculateLocalTimeOffset
3832         * wtf/GregorianDateTime.cpp:
3833         (WTF::GregorianDateTime::setToCurrentLocalTime):
3834             - call calculateLocalTimeOffset instead of calculateUTCOffset/calculateDSTOffset
3835
3836 2013-05-27  Patrick Gansterer  <paroga@webkit.org>
3837
3838         Use correct stack size on Solaris and OpenBSD
3839         https://bugs.webkit.org/show_bug.cgi?id=114978
3840
3841         Recommit after wrong rollout in r150621.
3842
3843         * wtf/StackBounds.cpp:
3844         (WTF):
3845         (WTF::StackBounds::initialize):
3846
3847 2013-05-27  Patrick Gansterer  <paroga@webkit.org>
3848
3849         Use ICU_INCLUDE_DIRS in BlackBerry CMake files
3850         https://bugs.webkit.org/show_bug.cgi?id=116210
3851
3852         Reviewed by Rob Buis.
3853
3854         Set and use the ICU_INCLUDE_DIRS variable to avoid
3855         duplicated adding of the ICU include directory.
3856
3857         * wtf/PlatformBlackBerry.cmake:
3858
3859 2013-05-27  Ádám Kallai  <kadam@inf.u-szeged.hu>
3860
3861         [Qt] Enable parallel GC. Probably it has been fixed in r131791.
3862         https://bugs.webkit.org/show_bug.cgi?id=90957
3863
3864         Reviewed by Csaba Osztrogonác.
3865
3866         * wtf/Platform.h:
3867
3868 2013-05-26  Patrick Gansterer  <paroga@webkit.org>
3869
3870         [WINCE] Add wtf_bsearch()
3871         https://bugs.webkit.org/show_bug.cgi?id=116528
3872
3873         Reviewed by Darin Adler.
3874
3875         r149833 introduced usage of ::bsearch(), which does not exist on Windwos CE.
3876         Add our own implementation of this function as wtf_bsearch and define
3877         bsearch as wtf_bsearch to fix compilation on Windwos CE.
3878
3879         * wtf/StdLibExtras.h:
3880         (wtf_bsearch):
3881
3882 2013-05-26  Kent Tamura  <tkent@chromium.org>
3883
3884         Remove ENABLE_CALENDAR_PICKER
3885         https://bugs.webkit.org/show_bug.cgi?id=116795
3886
3887         Reviewed by Ryosuke Niwa.
3888
3889         * wtf/FeatureDefines.h:
3890
3891 2013-05-24  Benjamin Poulain  <bpoulain@apple.com>
3892
3893         Inline TCMalloc_Central_FreeList's RemoveRange and FetchFromSpansSafe
3894         https://bugs.webkit.org/show_bug.cgi?id=116700
3895
3896         Reviewed by Darin Adler.
3897
3898         The two functions only have one call site each.
3899
3900         * wtf/FastMalloc.cpp:
3901         (WTF::TCMalloc_Central_FreeList::RemoveRange):
3902         (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe):
3903
3904 2013-05-24  Filip Pizlo  <fpizlo@apple.com>
3905
3906         We broke !(0/0)
3907         https://bugs.webkit.org/show_bug.cgi?id=116736
3908
3909         Reviewed by Gavin Barraclough.
3910
3911         * wtf/MathExtras.h:
3912         (isNotZeroAndOrdered):
3913         (isZeroOrUnordered):
3914
3915 2013-05-24  Anders Carlsson  <andersca@apple.com>
3916
3917         Remove PagePopup code
3918         https://bugs.webkit.org/show_bug.cgi?id=116732
3919
3920         Reviewed by Andreas Kling.
3921
3922         Remove ENABLE_PAGE_POPUP.
3923
3924         * wtf/FeatureDefines.h:
3925
3926 2013-05-25  Jer Noble  <jer.noble@apple.com>
3927
3928         Mac: Set the default audio buffer size to a large value for <video> elements.
3929         https://bugs.webkit.org/show_bug.cgi?id=116342
3930
3931         Reviewed by Eric Carlson.
3932
3933         * wtf/Platform.h: Add a WTF_USE_AUDIO_SESSION setting.
3934
3935 2013-05-23  Brent Fulgham  <bfulgham@apple.com>
3936
3937         [Windows] Rolling back r150600 as it breaks the VS2010 builds.
3938
3939         * wtf/StackBounds.cpp: Rollback.
3940
3941 2013-05-23 Patrick Gansterer <paroga@webkit.org>
3942
3943         Use correct stack size on Solaris and OpenBSD
3944         https://bugs.webkit.org/show_bug.cgi?id=114978
3945
3946         Reviewed by Oliver Hunt.
3947
3948         Original patch by David Hill <david@wmol.com>.
3949
3950         Use stack_t.ss_size for getting the size of the stack.
3951
3952         * wtf/Platform.h:
3953         * wtf/StackBounds.cpp:
3954         (WTF):
3955         (WTF::StackBounds::initialize):
3956
3957 2013-05-23  Patrick Gansterer  <paroga@webkit.org>
3958
3959         [WIN] Implement correct detection of stack size
3960         https://bugs.webkit.org/show_bug.cgi?id=116661
3961
3962         Reviewed by Oliver Hunt.
3963
3964         * wtf/StackBounds.cpp:
3965         (WTF):
3966         (WTF::StackBounds::initialize):
3967
3968 2013-05-22  Dean Jackson  <dino@apple.com>
3969
3970         Rolling out r150555. It borked about 30 media tests.
3971
3972         * wtf/Platform.h:
3973
3974 2013-05-21  Anders Carlsson  <andersca@apple.com>
3975
3976         Build fix.
3977
3978         * wtf/NeverDestroyed.h:
3979         (NeverDestroyed):
3980
3981 2013-05-20  Anders Carlsson  <andersca@apple.com>
3982
3983         Add WTF::NeverDestroyed and start using it in WTF
3984         https://bugs.webkit.org/show_bug.cgi?id=116472
3985
3986         Reviewed by Benjamin Poulain.
3987
3988         NeverDestroyed is a class template that can be used for singletons and other objects that we never
3989         want to destroy. It's intended as a replacement for WTF_STATIC_LOCAL with the advantage that it doesn't
3990         fragment the heap.
3991
3992         * GNUmakefile.list.am:
3993         * WTF.vcproj/WTF.vcproj:
3994         * WTF.vcxproj/WTF.vcxproj:
3995         * WTF.vcxproj/WTF.vcxproj.filters:
3996         * WTF.xcodeproj/project.pbxproj:
3997         Add NeverDestroyed.h
3998
3999         * wtf/Compiler.h:
4000         Add a helper macro, WTF_DELETED_FUNCTION.
4001
4002         * wtf/CryptographicallyRandomNumber.cpp:
4003         Use NeverDestroyed.
4004
4005         * wtf/NeverDestroyed.h: Added.
4006
4007         * wtf/Noncopyable.h:
4008         Use WTF_DELETED_FUNCTION.
4009
4010         * wtf/text/WTFString.cpp:
4011         (WTF::emptyString):
4012         Use 
4013
4014 2013-05-20  Zan Dobersek  <zdobersek@igalia.com>
4015
4016         Use '__typeof__' keyword to avoid problems when compiling in C++11 standard compliance
4017         https://bugs.webkit.org/show_bug.cgi?id=116447
4018
4019         Reviewed by Darin Adler.
4020
4021         The 'typeof' keyword is a GNU C extension which becomes unavailable when compiling in ANSI or specific standard mode
4022         (such as -std=c++11). The '__typeof__' keyword should be used instead as it's available in all modes both under GCC and Clang.
4023
4024         * wtf/FastMalloc.cpp:
4025         (WTF): Replace the 'typeof' keyword with '__typeof__'.
4026
4027 2013-05-19  Anders Carlsson  <andersca@apple.com>
4028
4029         Remove link prerendering code
4030         https://bugs.webkit.org/show_bug.cgi?id=116415
4031
4032         Reviewed by Darin Adler.
4033
4034         This code was only used by Chromium and is dead now.
4035
4036         * wtf/FeatureDefines.h:
4037
4038 2013-05-18  Patrick Gansterer  <paroga@webkit.org>
4039
4040         [CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
4041         https://bugs.webkit.org/show_bug.cgi?id=114554
4042
4043         Reviewed by Gyuyoung Kim.
4044
4045         Using variables as target names is very uncommon in CMake.
4046         The usual way to specify the name of the resulting binary
4047         is to set the OUTPUT_NAME target property.
4048
4049         * wtf/CMakeLists.txt:
4050
4051 2013-05-17  Andreas Kling  <akling@apple.com>
4052
4053         Re-align the OS(AIX) macro...
4054         ...in the hopes that the resulting world rebuild will fix failures after r150294.
4055
4056         * wtf/Platform.h:
4057
4058 2013-05-17  Anders Carlsson  <andersca@apple.com>
4059
4060         WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process
4061         https://bugs.webkit.org/show_bug.cgi?id=116346
4062         <rdar://problem/13852829>
4063
4064         Reviewed by Andreas Kling.
4065
4066         Add forward declaration for Function.
4067
4068         * wtf/Forward.h:
4069
4070 2013-05-17  Patrick Gansterer  <paroga@webkit.org>
4071
4072         [CMake] Remove invalid include paths
4073         https://bugs.webkit.org/show_bug.cgi?id=116213
4074
4075         Reviewed by Gyuyoung Kim.
4076
4077         Since "${JAVASCRIPTCORE_DIR}/wtf" does not exist, it is safe
4078         to remove them from the list of include directories.
4079
4080         * wtf/PlatformEfl.cmake:
4081         * wtf/PlatformGTK.cmake:
4082
4083 2013-05-16  Benjamin Poulain  <bpoulain@apple.com>
4084
4085         Add the symbol WTFInvokeCrashHook back for binary compatibility.
4086
4087         Reviewed by Ryosuke Niwa.
4088
4089         * wtf/Assertions.cpp:
4090         * wtf/Assertions.h:
4091
4092 2013-05-16  Seokju Kwon  <seokju.kwon@gmail.com>
4093
4094         [CMAKE] Need to set WTF_LIBRARIES in wtf/CMakeLists.txt
4095         https://bugs.webkit.org/show_bug.cgi?id=116209
4096
4097         Reviewed by Gyuyoung Kim.
4098
4099         * wtf/CMakeLists.txt: Replace list with set.
4100
4101 2013-05-16  Benjamin Poulain  <benjamin@webkit.org>
4102
4103         Crash properly on iOS
4104         https://bugs.webkit.org/show_bug.cgi?id=115782
4105
4106         Reviewed by Darin Adler.
4107
4108         Improve crash handling. <rdar://problem/13842771>
4109
4110         * wtf/Assertions.cpp:
4111         * wtf/Assertions.h:
4112
4113 2013-05-15  Ryuan Choi  <ryuan.choi@samsung.com>
4114
4115         Unreviewed build fix after r150123
4116
4117         * wtf/CMakeLists.txt: 
4118
4119 2013-05-15  Oliver Hunt  <oliver@apple.com>
4120
4121         RefCountedArray needs to use vector initialisers for its backing store
4122         https://bugs.webkit.org/show_bug.cgi?id=116194
4123
4124         Reviewed by Gavin Barraclough.
4125
4126         Use VectorOperations to operate on the backing store
4127
4128         * wtf/RefCountedArray.h:
4129         (WTF::RefCountedArray::RefCountedArray):
4130         (WTF::RefCountedArray::operator=):
4131         (WTF::RefCountedArray::~RefCountedArray):
4132
4133 2013-05-15  Nico Weber  <thakis@chromium.org>
4134
4135         WebKit doesn't support MSVS2003 any more, remove preprocessor checks for older versions.
4136         https://bugs.webkit.org/show_bug.cgi?id=116157
4137
4138         Reviewed by Anders Carlsson.
4139
4140         Also remove a gcc3.2 workaround.
4141
4142         Merges parts of these two commits by the talented Nico Weber:
4143         https://chromium.googlesource.com/chromium/blink/+/3677e2f47348daeff405a40b6f90fbdf0654c2f5
4144         https://chromium.googlesource.com/chromium/blink/+/0fcd96c448dc30be1416dcc15713c53710c1a312
4145
4146         * wtf/Alignment.h:
4147         (WTF):
4148         * wtf/Assertions.h:
4149         * wtf/Atomics.h:
4150         (WTF):
4151         * wtf/Compiler.h:
4152         * wtf/DateMath.cpp:
4153         (WTF::getLocalTime):
4154         * wtf/MathExtras.h:
4155         * wtf/RefCountedLeakCounter.h:
4156         (RefCountedLeakCounter):
4157         * wtf/StaticConstructors.h:
4158
4159 2013-05-15  Patrick Gansterer  <paroga@webkit.org>
4160
4161         Consolidate lists in WTF CMake files
4162         https://bugs.webkit.org/show_bug.cgi?id=116142
4163
4164         Reviewed by Martin Robinson.
4165
4166         Move common files into the CMakeLists.txt to avoid duplicating the list of files.
4167         Also rebase the recently added GTK files to match the other CMake ports, since
4168         the submitted patch was based on an older version of the source tree.
4169
4170         * wtf/CMakeLists.txt:
4171         * wtf/PlatformBlackBerry.cmake:
4172         * wtf/PlatformEfl.cmake:
4173         * wtf/PlatformGTK.cmake:
4174         * wtf/PlatformWinCE.cmake:
4175
4176 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
4177
4178         Remove WTF_USE_PLATFORM_STRATEGIES
4179         https://bugs.webkit.org/show_bug.cgi?id=114431
4180
4181         Reviewed by Darin Adler.
4182
4183         * wtf/Platform.h:
4184
4185 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
4186
4187         [BlackBerry] Use requestAnimationFrame for animations
4188         https://bugs.webkit.org/show_bug.cgi?id=115896
4189
4190         Reviewed by Rob Buis.
4191
4192         * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER and
4193         WTF_USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR for BlackBerry
4194         port.
4195
4196 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
4197
4198         [BlackBerry] Implement platform strategies
4199         https://bugs.webkit.org/show_bug.cgi?id=112162
4200
4201         Reviewed by Rob Buis.
4202
4203         * wtf/Platform.h: Add BlackBerry platform to the list of platforms
4204         using platform strategies.
4205
4206 2013-05-13  Benjamin Poulain  <benjamin@webkit.org>
4207
4208         Improve stringProtoFuncLastIndexOf for the prefix case
4209         https://bugs.webkit.org/show_bug.cgi?id=115952
4210
4211         Reviewed by Geoffrey Garen.
4212
4213         Add an optimized version of StringImpl::startsWith() for JavaScriptCore.
4214
4215         * wtf/text/StringImpl.cpp:
4216         (WTF::StringImpl::startsWith):
4217         * wtf/text/StringImpl.h:
4218         (StringImpl):
4219         (WTF::StringImpl::startsWith):
4220         * wtf/text/WTFString.h:
4221         (WTF::String::startsWith):
4222
4223 2013-05-13  Carlos Garcia Campos  <cgarcia@igalia.com>
4224
4225         Unreviewed. Fix Qt Linux MIPS32R2 build after r149879.
4226
4227         Bring back GLIB_CHECK_VERSION for GBytes since Qt Linux MIPS32R2
4228         depends on glib 2.24.2.
4229
4230         * wtf/gobject/GRefPtr.cpp:
4231         (_GBytes):
4232         (WTF::refGPtr):
4233         (WTF::derefGPtr):
4234
4235 2013-05-13  Anders Carlsson  <andersca@apple.com>
4236
4237         Remove UnusedParam.h
4238         https://bugs.webkit.org/show_bug.cgi?id=116029
4239
4240         Reviewed by Andreas Kling.
4241
4242         Remove UnusedParam.h, it's empty now.
4243
4244         * GNUmakefile.list.am:
4245         * WTF.pro:
4246         * WTF.vcproj/WTF.vcproj:
4247         * WTF.vcxproj/WTF.vcxproj:
4248         * WTF.vcxproj/WTF.vcxproj.filters:
4249         * WTF.xcodeproj/project.pbxproj:
4250         * wtf/CMakeLists.txt:
4251         * wtf/UnusedParam.h: Removed.
4252
4253 2013-05-13  Zalan Bujtas  <zalan@apple.com>
4254
4255         WebProcess consuming very high CPU on linkedin.com
4256         https://bugs.webkit.org/show_bug.cgi?id=115601
4257
4258         Reviewed by Andreas Kling.
4259
4260         Disable WEB_TIMING_MINIMAL.
4261         Turn off window.performance and performance.now(). Some JS frameworks expect
4262         additional Web Timing APIs, when performance.now() is available.
4263
4264         * wtf/FeatureDefines.h:
4265
4266 2013-05-12  Anders Carlsson  <andersca@apple.com>
4267
4268         Stop including UnusedParam.h
4269         https://bugs.webkit.org/show_bug.cgi?id=116003
4270
4271         Reviewed by Sam Weinig.
4272
4273         UnusedParam.h is empty now so there's no need to include it anymore.
4274
4275         * wtf/Atomics.h:
4276         * wtf/BoundsCheckedPointer.h:
4277         * wtf/DateMath.h:
4278         * wtf/FastMalloc.cpp:
4279         * wtf/NumberOfCores.cpp:
4280         * wtf/OSAllocator.h:
4281         * wtf/OSAllocatorPosix.cpp:
4282         * wtf/PageAllocation.h:
4283         * wtf/RefCounted.h:
4284         * wtf/TCSystemAlloc.cpp:
4285         * wtf/ThreadingPthreads.cpp:
4286         * wtf/Vector.h:
4287         * wtf/dtoa/cached-powers.cc:
4288         * wtf/dtoa/fixed-dtoa.cc:
4289
4290 2013-05-12  Anders Carlsson  <andersca@apple.com>
4291
4292         Move UNUSED_PARAM and UNUSED_LABEL macros to Compiler.h
4293         https://bugs.webkit.org/show_bug.cgi?id=115997
4294
4295         Reviewed by Benjamin Poulain.
4296
4297         UnusedParam.h predates Compiler.h and the macros defined there should just go into Compiler.h
4298
4299         * wtf/Compiler.h:
4300         (unusedParam):
4301         * wtf/UnusedParam.h:
4302
4303 2013-05-12  Anders Carlsson  <andersca@apple.com>
4304
4305         Remove Complex.h from WTF
4306         https://bugs.webkit.org/show_bug.cgi?id=115989
4307
4308         Reviewed by Beth Dakin.
4309
4310         Complex.h contains a typedef and a single function (that already has an equivalent in the STL).
4311         The header is used by three files in WebCore, so just use std::complex<double> and std::polar directly.
4312
4313         * GNUmakefile.list.am:
4314         * WTF.vcproj/WTF.vcproj:
4315         * WTF.vcxproj/WTF.vcxproj:
4316         * WTF.vcxproj/WTF.vcxproj.filters:
4317         * WTF.xcodeproj/project.pbxproj:
4318         * wtf/CMakeLists.txt:
4319         * wtf/Complex.h: Removed.
4320
4321 2013-05-11  Martin Robinson  <mrobinson@igalia.com>
4322
4323         [GTK] Add a basic cmake build for WTF and JavaScriptCore
4324        &