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