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