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