0053bc741d2739b22719052cbda850da4a92c532
[WebKit-https.git] / Source / WTF / ChangeLog
1 2014-04-29  Filip Pizlo  <fpizlo@apple.com>
2
3         Unreviewed, fix cloop build.
4
5         * wtf/Platform.h:
6
7 2014-04-29  Michael Saboff  <msaboff@apple.com>
8
9         For DARWIN platforms, use system temporary directory for DataLog output
10         https://bugs.webkit.org/show_bug.cgi?id=132346
11
12         Reviewed by Geoffrey Garen.
13
14         Added code to call confstr() to access the process's temporary directory to use that
15         location instead of /tmp/.  Put the code behind #ifdef DATA_LOG_TO_DARWIN_TEMP_DIR.
16
17         * wtf/DataLog.cpp:
18         (WTF::initializeLogFileOnce):
19
20 2014-04-25  Filip Pizlo  <fpizlo@apple.com>
21
22         Figure out how many cores are available for realsies.
23
24         Rubber stamped by Andreas Kling.
25         
26         HW_AVAILCPU is more canonical than HW_NCPU. For example if you use hacks to tell Darwin
27         to make it seem like there are fewer CPUs, HW_AVAILCPU will change but HW_NCPU won't.
28         HW_NCPU doesn't reflect how much actual paralellism you'll get; it's merely reporting
29         facts about the machine you're running on. HW_AVAILCPU is almost always what WebKit
30         wants since it uses this information to decide how many threads to launch for various
31         things.
32
33         * wtf/NumberOfCores.cpp:
34         (WTF::numberOfProcessorCores):
35
36 2014-04-22  Brent Fulgham  <bfulgham@apple.com>
37
38         [Win] Support Python 2.7 in Cygwin
39         https://bugs.webkit.org/show_bug.cgi?id=132023
40
41         Reviewed by Michael Saboff.
42
43         * WTF.vcxproj/WTFGenerated.make: Use proper path to Python.
44
45 2014-04-21  Eric Carlson  <eric.carlson@apple.com>
46
47         [Mac] implement WebKitDataCue
48         https://bugs.webkit.org/show_bug.cgi?id=131799
49
50         Reviewed by Dean Jackson.
51
52         * wtf/FeatureDefines.h: Define ENABLE_DATACUE_VALUE.
53
54 2014-04-21  Darin Adler  <darin@apple.com>
55
56         Add HashSet::takeAny
57         https://bugs.webkit.org/show_bug.cgi?id=131928
58
59         Reviewed by Benjamin Poulain.
60
61         * wtf/HashSet.h: Added an overload of take that takes an iterator,
62         and used it to implement both the existing take and new takeAny functions.
63
64 2014-04-20  Andreas Kling  <akling@apple.com>
65
66         Speed up jsStringWithCache() through WeakGCMap inlining.
67         <https://webkit.org/b/131923>
68
69         Add HashMap::fastAdd(), which is the same as add() except we'll tell
70         the compiler to aggressively inline it.
71
72         Reviewed by Darin Adler.
73
74         * wtf/HashMap.h:
75         * wtf/HashTable.h:
76
77 2014-04-19  Filip Pizlo  <fpizlo@apple.com>
78
79         Make it easier to check if an integer sum would overflow
80         https://bugs.webkit.org/show_bug.cgi?id=131900
81
82         Reviewed by Darin Adler.
83
84         * wtf/CheckedArithmetic.h:
85         (WTF::checkedSum):
86         (WTF::sumOverflows):
87
88 2014-04-18  Commit Queue  <commit-queue@webkit.org>
89
90         Unreviewed, rolling out r167527.
91         https://bugs.webkit.org/show_bug.cgi?id=131883
92
93         Broke 32-bit build (Requested by ap on #webkit).
94
95         Reverted changeset:
96
97         "[Mac] implement WebKitDataCue"
98         https://bugs.webkit.org/show_bug.cgi?id=131799
99         http://trac.webkit.org/changeset/167527
100
101 2014-04-18  Eric Carlson  <eric.carlson@apple.com>
102
103         [Mac] implement WebKitDataCue
104         https://bugs.webkit.org/show_bug.cgi?id=131799
105
106         Reviewed by Dean Jackson.
107
108         * wtf/FeatureDefines.h: Define ENABLE_DATACUE_VALUE.
109
110 2014-04-18  Martin Robinson  <mrobinson@igalia.com>
111
112         Remove DynamicAnnotations.h?
113         https://bugs.webkit.org/show_bug.cgi?id=131754
114
115         Reviewed by Simon Fraser.
116
117         This file, which helped support tools like Valgrind was unused.
118
119         * WTF.vcxproj/WTF.vcxproj: Remove references to the files.
120         * WTF.vcxproj/WTF.vcxproj.filters: Remove references to the files.
121         * WTF.xcodeproj/project.pbxproj: Remove references to the files.
122         * wtf/CMakeLists.txt: Remove references to the files.
123         * wtf/DynamicAnnotations.cpp: Removed.
124         * wtf/DynamicAnnotations.h: Removed.
125         * wtf/ThreadSafeRefCounted.h: Remove references to the files.
126         * wtf/text/StringStatics.cpp: Remove references to the files.
127
128 2014-04-18  Philippe Normand  <pnormand@igalia.com>
129
130         Remove NETWORK_INFO support
131         https://bugs.webkit.org/show_bug.cgi?id=131841
132
133         Reviewed by Gyuyoung Kim.
134
135         * wtf/FeatureDefines.h:
136
137 2014-04-17  Filip Pizlo  <fpizlo@apple.com>
138
139         Don't include CompilationThread.h from StringImpl.h
140         https://bugs.webkit.org/show_bug.cgi?id=131817
141
142         Reviewed by Simon Fraser.
143
144         * wtf/CompilationThread.h:
145         * wtf/StdLibExtras.h:
146         * wtf/text/StringImpl.h:
147
148 2014-04-17  Darin Adler  <darin@apple.com>
149
150         Use HashMap<unique_ptr> and Vector<unique_ptr> instead of deprecatedDeleteAllValues
151         https://bugs.webkit.org/show_bug.cgi?id=73757
152
153         Reviewed by Brent Fulgham.
154
155         * wtf/Vector.h:
156         (WTF::deprecatedDeleteAllValues): Deleted.
157
158 2014-04-17  Darin Adler  <darin@apple.com>
159
160         Add separate flag for IndexedDatabase in workers since the current implementation is not threadsafe
161         https://bugs.webkit.org/show_bug.cgi?id=131785
162         rdar://problem/16003108
163
164         Reviewed by Brady Eidson.
165
166         * wtf/FeatureDefines.h: Added INDEXED_DATABASE_IN_WORKERS.
167
168 2014-04-16  Simon Fraser  <simon.fraser@apple.com>
169
170         Don't include CryptographicallyRandomNumber.h in StringImpl.h
171         https://bugs.webkit.org/show_bug.cgi?id=131772
172
173         Reviewed by Sam Weinig.
174
175         * wtf/text/StringImpl.h:
176
177 2014-04-16  Gavin Barraclough  <barraclough@apple.com>
178
179         Update to pthread QoS SPI
180         https://bugs.webkit.org/show_bug.cgi?id=131753
181
182         Rubber stamped by Benjamin Poulain
183
184         * wtf/ThreadingPthreads.cpp:
185         (WTF::setCurrentThreadQOSUtility):
186
187 2014-04-14  Geoffrey Garen  <ggaren@apple.com>
188
189         WTF should have an optional mbmalloc target so we can benchmark FastMalloc
190         https://bugs.webkit.org/show_bug.cgi?id=131662
191
192         Reviewed by Darin Adler.
193
194         * WTF.xcodeproj/project.pbxproj: Added the target.
195         * wtf/mbmalloc.cpp: Added. Implements the libmbmalloc.dylib API required
196         by MallocBench.
197
198 2014-04-16  Darin Adler  <darin@apple.com>
199
200         Make Vector::takeLast work with move-only types (and optimize for types where move is faster)
201         https://bugs.webkit.org/show_bug.cgi?id=131735
202
203         Reviewed by Alexey Proskuryakov.
204
205         * wtf/Vector.h:
206         (WTF::Vector::takeLast): Added a missing std::move. All the other take functions have it.
207
208 2014-04-14  Mark Lam  <mark.lam@apple.com>
209
210         monotonicallyIncreasingTime() should only initialize its static timebaseInfo once.
211         <https://webkit.org/b/131630>
212
213         Reviewed by Filip Pizlo.
214
215         The current initialization of the static field is not thread safe.
216
217         * wtf/CurrentTime.cpp:
218         (WTF::monotonicallyIncreasingTime):
219
220 2014-04-14  Benjamin Poulain  <benjamin@webkit.org>
221
222         [JSC] Improve the call site of string comparison in some hot path
223         https://bugs.webkit.org/show_bug.cgi?id=131605
224
225         Reviewed by Darin Adler.
226
227         * wtf/text/StringImpl.cpp:
228         (WTF::stringImplContentEqual):
229         Inline that function to reduce the call overhead for JSC.
230         This is only inlined twice, it is not catastrophic for our binary.
231
232 2014-04-13  Andy Estes  <aestes@apple.com>
233
234         Relax adoption requirements of RefCounted objects that are NeverDestroyed
235         https://bugs.webkit.org/show_bug.cgi?id=131593
236
237         Reviewed by Dan Bernstein.
238
239         RefCounted objects that are created by NeverDestroyed<> won't have a
240         RefPtr adopting them, so call relaxAdoptionRequirements().
241
242         * wtf/NeverDestroyed.h:
243         (WTF::NeverDestroyed::NeverDestroyed):
244         (WTF::NeverDestroyed::MaybeRelax::MaybeRelax):
245
246 2014-04-10  Brent Fulgham  <bfulgham@apple.com>
247
248         [Win] Clean up some 64-bit warnings from Visual Studio analyzer
249         https://bugs.webkit.org/show_bug.cgi?id=131514
250
251         Reviewed by Tim Horton.
252
253         * WTF.vcxproj/WTF.vcxproj: Use correct platform settings for
254         64-bit build.
255         * config.h: Ditto.
256         * wtf/CurrentTime.cpp:
257         (WTF::highResUpTime): Resolve warning about deprecated API.
258         * wtf/StackBounds.cpp:
259         (WTF::StackBounds::initialize): Silence warning about
260         an uninitialized variable.
261
262 2014-04-09  Geoffrey Garen  <ggaren@apple.com>
263
264         Rolled back in r166972.
265
266         This time, we conditionally exclude linking against bmalloc in Production
267         builds. Production builds will not be able to link against bmalloc
268         until the Production build system has been updated to build bmalloc.
269
270             WTF should link against bmalloc
271             https://bugs.webkit.org/show_bug.cgi?id=131403
272
273             Reviewed by Mark Rowe.
274
275             * Configurations/WTF.xcconfig:
276             * WTF.xcodeproj/project.pbxproj:
277
278 2014-04-09  Geoffrey Garen  <ggaren@apple.com>
279
280         Put bmalloc headers in the right place
281         https://bugs.webkit.org/show_bug.cgi?id=131464
282
283         Reviewed by Mark Rowe.
284
285         * wtf/FastMalloc.cpp: Use "<bmalloc/...>" syntax so we can find our
286         headers in <header-root>/usr/local/include/bmalloc/.
287
288 2014-04-09  Geoffrey Garen  <ggaren@apple.com>
289
290         Rolled back out r166972.
291
292         The production buildbots are still broken because the build-root script
293         doesn't build bmalloc.
294
295         * WTF.xcodeproj/project.pbxproj:
296
297 2014-04-09  Geoffrey Garen  <ggaren@apple.com>
298
299         Rolled back in r166972.
300
301         The iOS buildbot's scripts have been updated to build bmalloc, so the
302         build should now succeed on the bot.
303
304         Also renamed "Frameworks" to "Libraries" as suggested in a review comment.
305
306             WTF should link against bmalloc
307             https://bugs.webkit.org/show_bug.cgi?id=131403
308
309             Reviewed by Michael Saboff.
310
311             This is required to build successfullly with bmalloc enabled.
312
313             * WTF.xcodeproj/project.pbxproj:
314
315 2014-04-08  Geoffrey Garen  <ggaren@apple.com>
316
317         Stop linking WTF against bmalloc.
318
319         Reviewed by Enrica Casucci.
320
321         This seems to have broken an iOS buildbot script. Disable it for now
322         until we can fix the script.
323
324         * WTF.xcodeproj/project.pbxproj:
325
326 2014-04-08  Geoffrey Garen  <ggaren@apple.com>
327
328         WTF should link against bmalloc
329         https://bugs.webkit.org/show_bug.cgi?id=131403
330
331         Reviewed by Michael Saboff.
332
333         This is required to build successfullly with bmalloc enabled.
334
335         * WTF.xcodeproj/project.pbxproj:
336
337 2014-04-08  Geoffrey Garen  <ggaren@apple.com>
338
339         Added a bmalloc back-end for FastMalloc
340         https://bugs.webkit.org/show_bug.cgi?id=131387
341
342         Reviewed by Andreas Kling.
343
344         We'll need to rethink some things if we adopt this back-end. For example,
345         fastMallocSize() and fastMallocGoodSize() are no longer real things. But,
346         this is enough to test for now.
347
348         * wtf/FastMalloc.cpp:
349         (WTF::fastMalloc):
350         (WTF::fastCalloc):
351         (WTF::fastRealloc):
352         (WTF::fastFree):
353         (WTF::fastMallocSize):
354         (WTF::fastMallocGoodSize):
355         (WTF::tryFastMalloc):
356         (WTF::tryFastRealloc):
357         (WTF::tryFastCalloc):
358         (WTF::releaseFastMallocFreeMemory):
359         (WTF::fastMallocStatistics):
360
361 2014-04-08  Andres Gomez  <agomez@igalia.com>
362
363         [GTK] [EFL] Build fails with GCC < 4.8.x
364         https://bugs.webkit.org/show_bug.cgi?id=130585
365
366         Reviewed by Martin Robinson.
367
368         The behavior in lower versions of GCC seem to be related to
369         http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#2132.
370
371         Provided explicit casts for the failing ambiguous overloads.
372
373         * wtf/gtk/MainThreadGtk.cpp:
374         (WTF::scheduleDispatchFunctionsOnMainThread):
375         * wtf/gtk/RunLoopGtk.cpp:
376         (WTF::RunLoop::wakeUp): Provided lambda with a RefPtr instead of
377         ref and de-referring.
378
379 2014-04-04  Mark Lam  <mark.lam@apple.com>
380
381         Date object needs to check for ES5 15.9.1.14 TimeClip limit.
382         <https://webkit.org/b/131248>
383
384         Reviewed by Mark Hahnenberg.
385
386         * wtf/DateMath.cpp:
387         - Moved the definition of maxECMAScriptTime to the .h file so that we
388           can use it in other files as well.
389         (WTF::msToYear):
390         - Removed a stale comment for parseDateFromNullTerminatedCharacters().
391         * wtf/DateMath.h:
392
393 2014-04-04  Mark Hahnenberg  <mhahnenberg@apple.com>
394
395         Enhanced GC logging
396         https://bugs.webkit.org/show_bug.cgi?id=131246
397
398         Reviewed by Geoff Garen.
399
400         Remove OBJECT_MARK_LOGGING
401
402         * wtf/FeatureDefines.h:
403         * wtf/Platform.h:
404
405 2014-04-03  Zsolt Borbely  <zsborbely.u-szeged@partner.samsung.com>
406
407         [EFL] Enable CSS JIT again, it works fine after r166666.
408
409         Reviewed by Csaba Osztrogonác.
410
411         * wtf/Platform.h:
412
413 2014-04-03  Javier Fernandez  <jfernandez@igalia.com>
414
415         [GTK][Cmake] Enable CSS JIT
416         https://bugs.webkit.org/show_bug.cgi?id=131022
417
418         Reviewed by Martin Robinson.
419
420         * wtf/Platform.h: Enable CSS JIT for GTK port.
421
422 2014-04-02  Frédéric Wang  <fred.wang@free.fr>
423
424         Operator stretching: read the Open Type MATH table
425         https://bugs.webkit.org/show_bug.cgi?id=130324
426
427         Reviewed by Chris Fleizach.
428
429         * wtf/Platform.h: enable OPENTYPE_MATH on platforms that can read OpenType tables.
430
431 2014-04-02  Alex Christensen  <achristensen@webkit.org>
432
433         [WinCairo] Build fix with GMainLoopSource.
434         https://bugs.webkit.org/show_bug.cgi?id=131089
435
436         Reviewed by Carlos Garcia Campos.
437
438         * wtf/gobject/GMainLoopSource.cpp:
439         Only compile if glib is used, which fixes compile errors with video disabled in WinCairo.
440         * wtf/gobject/GMainLoopSource.h:
441         Export the GMainLoopSource functions to WTF.dll to link with where they are called in the GStreamer code.
442         Also removed spaces to appease style bot.
443
444 2014-04-01  Zsolt Borbely  <zsborbely.u-szeged@partner.samsung.com>
445
446         [EFL] REGRESSION(166569): It made DoYouEvenBench/Full.html, CSS/QuerySelector.html and Dromaeo performance tests crash
447         https://bugs.webkit.org/show_bug.cgi?id=131039
448
449         Reviewed by Csaba Osztrogonác.
450
451         * wtf/Platform.h: Disable CSS JIT on EFL until proper fix.
452
453 2014-04-01  Commit Queue  <commit-queue@webkit.org>
454
455         Unreviewed, rolling out r166583.
456         https://bugs.webkit.org/show_bug.cgi?id=131040
457
458         It's causing frequent crashes when running Layout Tests
459         (Requested by svillar on #webkit).
460
461         Reverted changeset:
462
463         "[GTK][Cmake] Enable CSS JIT"
464         https://bugs.webkit.org/show_bug.cgi?id=131022
465         http://trac.webkit.org/changeset/166583
466
467 2014-04-01  Javier Fernandez  <jfernandez@igalia.com>
468
469         [GTK][Cmake] Enable CSS JIT
470         https://bugs.webkit.org/show_bug.cgi?id=131022
471
472         Reviewed by Martin Robinson.
473
474         * wtf/Platform.h: Enable CSS JIT for GTK port.
475
476 2014-04-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
477
478         [CMake][EFL] Enable CSS JIT
479         https://bugs.webkit.org/show_bug.cgi?id=131010
480
481         Reviewed by Benjamin Poulain.
482
483         * wtf/Platform.h: Enable CSS JIT for EFL port.
484
485 2014-03-31  Dean Jackson  <dino@apple.com>
486
487         Remove WEB_ANIMATIONS
488         https://bugs.webkit.org/show_bug.cgi?id=130989
489
490         Reviewed by Simon Fraser.
491
492         Remove this feature flag until we plan to implement.
493
494         * wtf/FeatureDefines.h:
495
496 2014-03-31  Alex Christensen  <achristensen@webkit.org>
497
498         Preparation for using Soup on Windows.
499         https://bugs.webkit.org/show_bug.cgi?id=130615
500
501         Reviewed by Carlos Garcia Campos.
502
503         * WTF.vcxproj/WTF.vcxproj:
504         * WTF.vcxproj/WTF.vcxproj.filters:
505         Add all gobject source files in WinCairo build.
506         * wtf/gobject/GRefPtr.h:
507         Export refGPtr and derefGPtr overloads in WTF.dll to fix linker errors with WebKit.dll when using soup.
508
509 2014-03-31  Zan Dobersek  <zdobersek@igalia.com>
510
511         Use std::unique_ptr in WTF::CompressedVector, WTF::GenericCompressedData
512         https://bugs.webkit.org/show_bug.cgi?id=130737
513
514         Switch to using std::unique_ptr instead of OwnPtr and PassOwnPtr
515         for the CompressedVector and GenericCompressedData classes.
516
517         * wtf/Compression.cpp:
518         (WTF::GenericCompressedData::create):
519         * wtf/Compression.h:
520         (WTF::CompressedVector::create):
521         (WTF::CompressibleVector::decompressIfNecessary):
522
523 2014-03-28  Alexey Proskuryakov  <ap@apple.com>
524
525         [Mac] Enable async text input implementation
526         https://bugs.webkit.org/show_bug.cgi?id=130856
527
528         Reviewed by Sam Weinig.
529
530         * wtf/Platform.h: Added a USE macro definition.
531
532 2014-03-28  peavo@outlook.com  <peavo@outlook.com>
533
534         Null pointer crash in String::append(UChar).
535         https://bugs.webkit.org/show_bug.cgi?id=130900
536
537         Reviewed by Michael Saboff.
538
539         * wtf/text/WTFString.cpp:
540         (WTF::String::append): Check and initialize m_impl member first, to avoid null pointer crash.
541
542 2014-03-27  Commit Queue  <commit-queue@webkit.org>
543
544         Unreviewed, rolling out r166360.
545         https://bugs.webkit.org/show_bug.cgi?id=130869
546
547         Seems to have broken PLT (Requested by ap on #webkit).
548
549         Reverted changeset:
550
551         "Connection::dispatchOneMessage() can be re-entered while
552         handling Cmd-key menu"
553         https://bugs.webkit.org/show_bug.cgi?id=130767
554         http://trac.webkit.org/changeset/166360
555
556 2014-03-27  Alexey Proskuryakov  <ap@apple.com>
557
558         Connection::dispatchOneMessage() can be re-entered while handling Cmd-key menu
559         equivalents, ASSERT(!_data->_keyDownEventBeingResent)
560         https://bugs.webkit.org/show_bug.cgi?id=130767
561         <rdar://problem/16307487>
562
563         Reviewed by Darin Adler.
564
565         Changed RunLoop to wake up and fire timers only in default run loop mode by default,
566         and added an ability to add more modes (can't use AppKit symbols in WTF).
567
568         In addition to this bug, the change also blocks modal alerts from appearing under
569         menus during menu tracking.
570
571         * wtf/RunLoop.h:
572         * wtf/cf/RunLoopCF.cpp:
573         (WTF::RunLoop::RunLoop):
574         (WTF::RunLoop::addModeForWakeUpAndTimers):
575         (WTF::RunLoop::TimerBase::start):
576
577 2014-03-26  Zan Dobersek  <zdobersek@igalia.com>
578
579         Unreviewed. Removing the remaining Automake cruft.
580
581         * GNUmakefile.list.am: Removed.
582
583 2014-03-25  Martin Robinson  <mrobinson@igalia.com>
584
585         [GTK] Remove the autotools build
586         https://bugs.webkit.org/show_bug.cgi?id=130717
587
588         Reviewed by Anders Carlsson.
589
590         * GNUmakefile.am: Removed.
591         * config.h: Removed references to the autotools configure file.
592
593 2014-03-25  Gabor Rapcsanyi  <rgabor@webkit.org>
594
595         [ARM64] GCC generates wrong code with -O2 flag in WTF::weakCompareAndSwap
596         https://bugs.webkit.org/show_bug.cgi?id=130500
597
598         Reviewed by Filip Pizlo.
599
600         Set the first operand to the exact register in the inline assembly with GCC.
601
602         * wtf/Atomics.h:
603         (WTF::weakCompareAndSwap):
604
605 2014-03-25  Gabor Rapcsanyi  <rgabor@webkit.org>
606
607         [EFL] Add ARM64 build support
608         https://bugs.webkit.org/show_bug.cgi?id=130506
609
610         Rubber stamped by Gyuyoung Kim.
611
612         * wtf/Platform.h: Set WTF_CPU_ARM64 when __aarch64__ is defined.
613
614 2014-03-24  Andy Estes  <aestes@apple.com>
615
616         Fix the iOS build.
617
618         * wtf/ThreadingPthreads.cpp:
619         (WTF::createThreadInternal):
620         (WTF::setCurrentThreadQOSUtility):
621
622 2014-03-24  Gavin Barraclough  <barraclough@apple.com>
623
624         Add support for thread QoS
625         https://bugs.webkit.org/show_bug.cgi?id=130688
626
627         Speculative EFL build fix.
628
629         * wtf/ThreadingPthreads.cpp:
630         (WTF::setCurrentThreadQOSUtility):
631
632 2014-03-24  Gavin Barraclough  <barraclough@apple.com>
633
634         Add support for thread QoS
635         https://bugs.webkit.org/show_bug.cgi?id=130688
636
637         Reviewed by Andreas Kling.
638
639         * wtf/FastMalloc.cpp:
640         (WTF::TCMalloc_PageHeap::runScavengerThread):
641             - block freeing is a utility activity.
642         * wtf/Threading.h:
643             - declaration.
644         * wtf/ThreadingPthreads.cpp:
645         (WTF::createThreadInternal):
646             - default to interactive.
647         (WTF::setCurrentThreadQOSUtility):
648             - implementation.
649         * wtf/ThreadingWin.cpp:
650         (WTF::setCurrentThreadQOSUtility):
651             - no-op implementation.
652
653 2014-03-23  Hyowon Kim  <hw1008.kim@samsung.com>
654
655         Move all EFL typedefs into EflTypedefs.h.
656         https://bugs.webkit.org/show_bug.cgi?id=130511
657
658         Reviewed by Gyuyoung Kim.
659
660         * wtf/Platform.h: include EflTypedefs.h.
661         * wtf/efl/EflTypedefs.h: Added.
662         * wtf/efl/RefPtrEfl.h: Remove EFL typedefs.
663
664 2014-03-22  Darin Adler  <darin@apple.com>
665
666         Remove String::deprecatedCharacters
667         https://bugs.webkit.org/show_bug.cgi?id=126854
668
669         Reviewed by Sam Weinig.
670
671         * wtf/text/StringBuilder.cpp:
672         (WTF::StringBuilder::reifyString): Removed code to update 16-bit shadow.
673
674         * wtf/text/StringBuilder.h: Removed deprecatedCharacters.
675         (WTF::StringBuilder::StringBuilder): Removed m_valid16BitShadowLength.
676         (WTF::StringBuilder::clear): Removed code to clear m_valid16BitShadowLength.
677         (WTF::StringBuilder::swap): Removed code to swap m_valid16BitShadowLength.
678
679         * wtf/text/StringImpl.cpp:
680         (WTF::StringImpl::~StringImpl): Removed code to free m_copyData16.
681         (WTF::StringImpl::upper): Use StringView::upconvertedCharacters for slow case.
682         (WTF::StringImpl::lower): Ditto.
683         (WTF::StringImpl::find): Use characters8/16 rather than deprecatedCharacters.
684         Added an 8-bit code path to one of the overloads. Might want to revisit later
685         to decide whether to use templates instead of copy/paste, or even use StringView
686         to cut down on duplicate code paths.
687         (WTF::StringImpl::findIgnoringCase): Ditto.
688         (WTF::StringImpl::sizeInBytes): Remove code to handle has16BitShadow case.
689         (WTF::equalIgnoringNullity): Added. To be called by the Vector template in the header.
690
691         * wtf/text/StringImpl.h: Removed deprecatedCharacters, has16BitShadow,
692         upconvertCharacters, getData16SlowCase, s_hashFlagHas16BitShadow, and m_copyData16.
693         (WTF::equalIgnoringNullity): Changed the template function into an inline that calls
694         a non-inline helper function. The non-inline function handles both 8-bit and 16-bit
695         strings.
696
697         * wtf/text/StringView.h:
698         (WTF::StringView::StringView): Added an overload so we can make one of these directly
699         from a StringImpl without first wrapping it in a string. Added an adapter so we can
700         use StringView as part of string concatenation. Added an append function so we can
701         append to a Vector<UChar>.
702
703         * wtf/text/WTFString.cpp:
704         (WTF::String::append): Use StringView::getCharactersWithUpconvert. Also changed
705         single-character append so it won't always turn an 8-bit string into a 16-bit one.
706         (WTF::String::insert): Removed one insert overload and changed the other to use
707         StringView::getCharactersWithUpconvert.
708         (WTF::String::truncate): Changed to use StringImpl::substring.
709         (WTF::String::percentage): Added characters8/16 paths instead of using
710         deprecatedCharacters.
711
712         * wtf/text/WTFString.h: Removed deprecatedCharacters, getCharactersWithUpconvert,
713         insert(UChar*, unsigned, unsigned), and the append overload for Vector<UChar>.
714
715 2014-03-20  Darin Adler  <darin@apple.com>
716
717         Fix a header guard mistake (harmless but clearly wrong)
718         https://bugs.webkit.org/show_bug.cgi?id=130559
719
720         Reviewed by Andreas Kling.
721
722         * wtf/text/StringConcatenate.h: Correct the macro name in the header guard.
723
724 2014-03-20  Hyowon Kim  <hw1008.kim@samsung.com>
725
726         Move to using std::unique_ptr for EFL objects.
727         https://bugs.webkit.org/show_bug.cgi?id=129853
728
729         Reviewed by Gyuyoung Kim.
730
731         EflUniquePtr is a template alias of std::unique_ptr
732         with a custom deleter for each Efl Objects, which is motivated by GUniquePtr.
733         This patch replaces uses of OwnPtr and PassOwnPtr for Efl objects with EflUniquePtr.
734
735         * wtf/OwnPtrCommon.h:
736         * wtf/PlatformEfl.cmake:
737         * wtf/RunLoop.h:
738         * wtf/efl/MainThreadEfl.cpp:
739         (WTF::pipeObject):
740         (WTF::initializeMainThreadPlatform):
741         * wtf/efl/OwnPtrEfl.cpp: Removed.
742         * wtf/efl/RunLoopEfl.cpp:
743         (WTF::RunLoop::RunLoop):
744         * wtf/efl/UniquePtrEfl.h: Added.
745         (WTF::EflPtrDeleter::operator()):
746
747 2014-03-20  Gavin Barraclough  <barraclough@apple.com>
748
749         Remove IdentifierTable typedef, isIdentifier()
750         https://bugs.webkit.org/show_bug.cgi?id=130533
751
752         Rubber stamped by Geoff Garen.
753
754         Code should use AtomicStringTable, isAtomic() directly.
755
756         * wtf/WTFThreadData.h:
757         (WTF::WTFThreadData::setCurrentAtomicStringTable):
758         (WTF::WTFThreadData::resetCurrentAtomicStringTable):
759             - removed IdentifierTypedef.
760         * wtf/text/StringImpl.h:
761         (WTF::StringImpl::flagIsAtomic):
762             - renamed flagIsIdentfier -> flagIsAtomic.
763
764 2014-03-20  Gavin Barraclough  <barraclough@apple.com>
765
766         Merge AtomicString, Identifier
767         https://bugs.webkit.org/show_bug.cgi?id=128624
768
769         Reviewed by Geoff Garen.
770
771         WTF::StringImpl currently supports two uniquing mechanism - AtomicString and
772         Identifer - that is one too many.
773
774         Remove Identifier in favour of AtomicString. Identifier had two interesting
775         mechanisms that we preserve.
776
777         (1) JSC API VMs each get their own string table, switch the string table on
778             API entry/exit.
779         (2) JSC caches a pointer to the string table on the VM to avoid a thread
780             specific access. Adds a new AtomicString::add method to support this.
781
782         * wtf/WTFThreadData.cpp:
783         (WTF::WTFThreadData::WTFThreadData):
784             - remove allocation of IdentifierTable.
785         (WTF::WTFThreadData::~WTFThreadData):
786             - remove deletion of IdentifierTable.
787         * wtf/WTFThreadData.h:
788         (WTF::WTFThreadData::atomicStringTable):
789             - table is now switched by JSC API, return the current table.
790         (WTF::WTFThreadData::currentIdentifierTable):
791             - now returns the current AtomicStringTable.
792         (WTF::WTFThreadData::setCurrentIdentifierTable):
793             - now sets the current AtomicStringTable.
794         (WTF::WTFThreadData::resetCurrentIdentifierTable):
795             - now resets the AtomicStringTable.
796         * wtf/text/AtomicString.cpp:
797         (WTF::AtomicString::addSlowCase):
798             - add without thread-specific access to access string table.
799         * wtf/text/AtomicString.h:
800         (WTF::AtomicString::addWithStringTableProvider):
801             - add without thread-specific access (used by JSC, string table provided by VM or ExecState).
802         * wtf/text/AtomicStringTable.cpp:
803         (WTF::AtomicStringTable::create):
804             - renamed m_atomicStringTable -> m_defaultAtomicStringTable.
805         (WTF::AtomicStringTable::~AtomicStringTable):
806         (WTF::AtomicStringTable::destroy):
807             - clearing of table moved from AtomicStringTable::destroy to destructor.
808         * wtf/text/AtomicStringTable.h:
809             - added destructor.
810         * wtf/text/StringImpl.cpp:
811         (WTF::StringImpl::~StringImpl):
812             - Identifers no longer exist; no need to remove them from IdentifierTable.
813         * wtf/text/StringImpl.h:
814         (WTF::StringImpl::StringImpl):
815             - removed s_hashFlagIsIdentifier.
816         (WTF::StringImpl::flagIsIdentifier):
817             - s_hashFlagIsIdentifier -> s_hashFlagIsAtomic.
818         (WTF::StringImpl::isIdentifier):
819             - now synonymous to isAtomic().
820         * wtf/text/StringStatics.cpp:
821         (WTF::StringImpl::hashAndFlagsForEmptyUnique):
822             - removed s_hashFlagIsIdentifier.
823
824 2014-03-20  Zan Dobersek  <zdobersek@igalia.com>
825
826         Unreviewed Clang build fix for the GTK port after r165952.
827
828         * wtf/gobject/GMainLoopSource.h: Include the <functional> header for the std::function<> objects.
829
830 2014-03-18  Carlos Garcia Campos  <cgarcia@igalia.com>
831
832         [GLIB] Add GMainLoopSource class to wrap idle and timeout sources
833         https://bugs.webkit.org/show_bug.cgi?id=130027
834
835         Reviewed by Martin Robinson.
836
837         GLib main loop sources like idle and timeouts are sometimes
838         unconvenient to use and it's very common to forget canceling the
839         source when the object is destroyed or reset the source ID in the
840         callback when called. GMainLoopSource is a wrapper class to make it
841         easier to handle sources and also to avoid those typical mistakes.
842         It forces to create sources with a name and the user doesn't have
843         to deal with the source ID anymore. The source is cancelled when
844         the object is deleted or when a new source is scheduled. It uses
845         std::function for callbacks so that we no longer need to use the
846         "proxy" static callbacks either. We can use std::bind to use a
847         function pointer or a member or even lambda functions. It also handles
848         repeating sources automatically depending on whether the given
849         function returns a bool or not.
850
851         * GNUmakefile.list.am:
852         * wtf/PlatformEfl.cmake:
853         * wtf/PlatformGTK.cmake:
854         * wtf/RunLoop.h:
855         * wtf/gobject/GMainLoopSource.cpp: Added.
856         (WTF::GMainLoopSource::createAndDeleteOnDestroy):
857         (WTF::GMainLoopSource::GMainLoopSource):
858         (WTF::GMainLoopSource::~GMainLoopSource):
859         (WTF::GMainLoopSource::cancel):
860         (WTF::GMainLoopSource::reset):
861         (WTF::GMainLoopSource::scheduleIdleSource):
862         (WTF::GMainLoopSource::schedule):
863         (WTF::GMainLoopSource::scheduleTimeoutSource):
864         (WTF::GMainLoopSource::scheduleAfterDelay):
865         (WTF::GMainLoopSource::voidCallback):
866         (WTF::GMainLoopSource::boolCallback):
867         (WTF::GMainLoopSource::socketCallback):
868         (WTF::GMainLoopSource::destroy):
869         (WTF::GMainLoopSource::voidSourceCallback):
870         (WTF::GMainLoopSource::boolSourceCallback):
871         (WTF::GMainLoopSource::socketSourceCallback):
872         * wtf/gobject/GMainLoopSource.h: Added.
873         (WTF::GMainLoopSource::isScheduled):
874         * wtf/gtk/MainThreadGtk.cpp:
875         (WTF::scheduleDispatchFunctionsOnMainThread):
876         * wtf/gtk/RunLoopGtk.cpp:
877         (WTF::RunLoop::wakeUp):
878         (WTF::RunLoop::TimerBase::TimerBase):
879         (WTF::RunLoop::TimerBase::start):
880         (WTF::RunLoop::TimerBase::stop):
881         (WTF::RunLoop::TimerBase::isActive):
882
883 2014-03-19  Gavin Barraclough  <barraclough@apple.com>
884
885         https://bugs.webkit.org/show_bug.cgi?id=130494
886         EmptyUnique strings are Identifiers/Atomic
887
888         Reviewed by Geoff Garen.
889
890         EmptyUnique strings should set the Identifier/Atomic flag.
891
892         * wtf/text/AtomicString.h:
893         (WTF::AtomicString::add):
894             - Previously we assumed the only StringImpl that was validly allowed to claim to be
895               Atomic but not be in a table was the canonical empty string. Now that EmptyUniques
896               are also marked Atomic, all empty strings may pass this condition.
897         * wtf/text/StringImpl.cpp:
898         (WTF::StringImpl::~StringImpl):
899             - EmptyUnique strings are not in the Atomic/Identfiier tabels, so don't need removing.
900         * wtf/text/StringImpl.h:
901         (WTF::StringImpl::StringImpl):
902             - Change EmptyUnique constructor to call hashAndFlagsForEmptyUnique.
903         * wtf/text/StringStatics.cpp:
904         (WTF::StringImpl::hashAndFlagsForEmptyUnique):
905             - Allocate a sequential hash code (this should be just as good for distribution & better
906               for debugging than the random value) and set flags, now including Atomic & Identifier.
907
908 2014-03-19  Gavin Barraclough  <barraclough@apple.com>
909
910         Small cleanup of empty string
911         https://bugs.webkit.org/show_bug.cgi?id=130438
912
913         Reviewed by Anders Carlson.
914
915         The empty string is weird becuase it is used as the impl for an AtomicString, but isAtomic()
916         returns false.
917         Also, we set a valid pointer for the characters pointer due to an old PCRE bug; remove this.
918         Also, we currently only create one 'static' string, the empty string. Adding more might break
919         assumtions, inhibit the constructor from being used to create other static strings for now.
920
921         * wtf/text/AtomicString.h:
922         (WTF::AtomicString::add):
923             - update assert.
924         * wtf/text/StringImpl.h:
925         (WTF::StringImpl::StringImpl):
926             - Merge ConstructStaticString constructors, only allow the empty static string to be constructed.
927         * wtf/text/StringStatics.cpp:
928         (WTF::StringImpl::empty):
929             - ConstructStaticString -> ConstructEmptyString, remove arguments, DEPRECATED_DEFINE_STATIC_LOCAL -> NeverDestroyed.
930
931 2014-03-18  Darin Adler  <darin@apple.com>
932
933         Reduce use of deprecatedCharacters in WebCore
934         https://bugs.webkit.org/show_bug.cgi?id=130318
935
936         Reviewed by Andreas Kling.
937
938         * wtf/text/WTFString.h: Export another overload of charactersToFloat since it's used
939         in WebCore now.
940
941         * wtf/text/cf/StringViewCF.cpp: Change so this can build on Windows.
942
943         * WTF.vcxproj/WTF.vcxproj: Added StringViewCF.cpp.
944         * WTF.vcxproj/WTF.vcxproj.filters: Added StringViewCF.cpp.
945
946 2014-03-18  Filip Pizlo  <fpizlo@apple.com>
947
948         More FTL enabling.
949
950         Rubber stamped by Dan Bernstein and Mark Hahnenberg.
951
952         * wtf/Platform.h:
953
954 2014-03-17  Darin Adler  <darin@apple.com>
955
956         Remove most uses of deprecatedCharacter in WTF
957         https://bugs.webkit.org/show_bug.cgi?id=130317
958
959         Reviewed by Andreas Kling.
960
961         Re-landing after fixing the "80 instead of 0x80" typo in equalLatin1WithUTF8.
962
963         * wtf/text/AtomicString.cpp:
964         (WTF::HashAndUTF8CharactersTranslator::equal): Add an 8-bit code path to the
965         non-ASCII path.
966         (WTF::SubstringTranslator8::hash): Added.
967         (WTF::SubstringTranslator8::equal): Added.
968         (WTF::SubstringTranslator16::hash): Renamed class.
969         (WTF::SubstringTranslator16::equal): Ditto.
970         (WTF::AtomicString::add): Added an 8-bit code path to the substring case.
971
972         * wtf/text/Base64.cpp:
973         (WTF::base64Decode): Added an 8 bit code path.
974         (WTF::base64URLDecode): Ditto.
975
976         * wtf/text/StringImpl.cpp:
977         (WTF::StringImpl::find): Fixed a case that was incorrectly using characters16
978         without first using is8Bit. Need to return later to remove use of deprecatedCharacters.
979
980         * wtf/unicode/UTF8.cpp:
981         (WTF::Unicode::equalUTF16WithUTF8): Added a case for when the UTF-16 characters
982         are ASCII. Also removed the aEnd argument, since the caller only calls this when the
983         lengths are equal.
984         (WTF::Unicode::equalLatin1WithUTF8): Added.
985         * wtf/unicode/UTF8.h: Updated as described above.
986
987 2014-03-17  Commit Queue  <commit-queue@webkit.org>
988
989         Unreviewed, rolling out r165721.
990         https://bugs.webkit.org/show_bug.cgi?id=130367
991
992         It makes the debug bots flaky (Requested by benjaminp on
993         #webkit).
994
995         Reverted changeset:
996
997         "Remove most uses of deprecatedCharacter in WTF"
998         https://bugs.webkit.org/show_bug.cgi?id=130317
999         http://trac.webkit.org/changeset/165721
1000
1001 2014-03-17  Zan Dobersek  <zdobersek@igalia.com>
1002
1003         Use RunLoop objects through references instead of pointers
1004         https://bugs.webkit.org/show_bug.cgi?id=130313
1005
1006         Reviewed by Andreas Kling.
1007
1008         Make RunLoop::current() and RunLoop::main() return a RunLoop reference instead
1009         of a pointer. RunLoop::Holder now uses a Ref<RunLoop> member. Timer and TimerBase
1010         constructors take in a RunLoop reference, with TimerBase now storing a RunLoop
1011         reference member instead of a pointer. Platform-specific bits of the RunLoop
1012         class are updated accordingly.
1013
1014         * wtf/RunLoop.cpp:
1015         (WTF::RunLoop::Holder::Holder):
1016         (WTF::RunLoop::Holder::runLoop):
1017         (WTF::RunLoop::initializeMainRunLoop):
1018         (WTF::RunLoop::current):
1019         (WTF::RunLoop::main):
1020         (WTF::RunLoop::isMain):
1021         * wtf/RunLoop.h:
1022         (WTF::RunLoop::Timer::Timer):
1023         * wtf/cf/RunLoopCF.cpp:
1024         (WTF::RunLoop::run):
1025         (WTF::RunLoop::TimerBase::TimerBase):
1026         (WTF::RunLoop::TimerBase::start):
1027         * wtf/efl/RunLoopEfl.cpp:
1028         (WTF::RunLoop::TimerBase::TimerBase):
1029         * wtf/gtk/RunLoopGtk.cpp:
1030         (WTF::RunLoop::run):
1031         (WTF::RunLoop::TimerBase::TimerBase):
1032         (WTF::RunLoop::TimerBase::start):
1033         * wtf/win/RunLoopWin.cpp:
1034         (WTF::RunLoop::TimerBase::TimerBase):
1035         (WTF::RunLoop::TimerBase::start):
1036         (WTF::RunLoop::TimerBase::stop):
1037         (WTF::RunLoop::TimerBase::isActive):
1038
1039 2014-03-17  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
1040
1041         One more fix after r165725.
1042
1043         Reviewed by Csaba Osztrogonác.
1044
1045         * wtf/WTFThreadData.h:
1046
1047 2014-03-17  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
1048
1049         Buildfix after r165725 for non Mac platforms.
1050
1051         Reviewed by Csaba Osztrogonác.
1052
1053         * wtf/WTFThreadData.h:
1054
1055 2014-03-17  Andreas Kling  <akling@apple.com>
1056
1057         [Mac] WTFThreadData should use _pthread_getspecific_direct().
1058         <https://webkit.org/b/130320>
1059
1060         Hack WTFThreadData to use a direct key for TLS access when available.
1061         This mechanism uses a dedicated segment register and is the same way
1062         we implement the fast path in FastMalloc.
1063
1064         Reviewed by Darin Adler.
1065
1066         * wtf/FastMalloc.cpp:
1067         * wtf/WTFThreadData.cpp:
1068         (WTF::WTFThreadData::createAndRegisterForGetspecificDirect):
1069         * wtf/WTFThreadData.h:
1070         (WTF::wtfThreadData):
1071
1072 2014-03-16  Darin Adler  <darin@apple.com>
1073
1074         Remove most uses of deprecatedCharacter in WTF
1075         https://bugs.webkit.org/show_bug.cgi?id=130317
1076
1077         Reviewed by Andreas Kling.
1078
1079         * wtf/text/AtomicString.cpp:
1080         (WTF::HashAndUTF8CharactersTranslator::equal): Add an 8-bit code path to the
1081         non-ASCII path.
1082         (WTF::SubstringTranslator8::hash): Added.
1083         (WTF::SubstringTranslator8::equal): Added.
1084         (WTF::SubstringTranslator16::hash): Renamed class.
1085         (WTF::SubstringTranslator16::equal): Ditto.
1086         (WTF::AtomicString::add): Added an 8-bit code path to the substring case.
1087
1088         * wtf/text/Base64.cpp:
1089         (WTF::base64Decode): Added an 8 bit code path.
1090         (WTF::base64URLDecode): Ditto.
1091
1092         * wtf/text/StringImpl.cpp:
1093         (WTF::StringImpl::find): Fixed a case that was incorrectly using characters16
1094         without first using is8Bit. Need to return later to remove use of deprecatedCharacters.
1095
1096         * wtf/unicode/UTF8.cpp:
1097         (WTF::Unicode::equalUTF16WithUTF8): Added a case for when the UTF-16 characters
1098         are ASCII. Also removed the aEnd argument, since the caller only calls this when the
1099         lengths are equal.
1100         (WTF::Unicode::equalLatin1WithUTF8): Added.
1101         * wtf/unicode/UTF8.h: Updated as described above.
1102
1103 2014-03-16  David Kilzer  <ddkilzer@apple.com>
1104
1105         Follow-up: Fix undefined behavior in WTF::equal() in StringImpl.h for i386/x86_64
1106         <http://webkit.org/b/130283>
1107         <rdar://problem/16281477>
1108
1109         Reviewed by Darin Adler.
1110
1111         * wtf/text/StringImpl.h:
1112         (WTF::loadUnaligned): Restore behavior prior to r165681 for
1113         compilers other than clang.
1114
1115 2014-03-16  Darin Adler  <darin@apple.com>
1116
1117         Remove all uses of deprecatedCharacters from JavaScriptCore
1118         https://bugs.webkit.org/show_bug.cgi?id=130304
1119
1120         Reviewed by Anders Carlsson.
1121
1122         * wtf/dtoa.h:
1123         (WTF::parseDouble): Added an overload that takes a StringView.
1124
1125 2014-03-15  Darin Adler  <darin@apple.com>
1126
1127         Remove all uses of deprecatedCharacters from WebKit2
1128         https://bugs.webkit.org/show_bug.cgi?id=130197
1129
1130         Reviewed by Andreas Kling.
1131
1132         * wtf/text/StringView.h: Added new getCharactersWithUpconvert and upconvertedCharacters
1133         functions. These are useful for callers that need UTF-16.
1134
1135 2014-03-15  Darin Adler  <darin@apple.com>
1136
1137         Try to fix EFL build.
1138
1139         * wtf/ThreadingPthreads.cpp: (WTF::changeThreadPriority): Code in this function
1140         was setting the priority of the current thread instead of the passed-in thread.
1141         That was triggering an unused variable warning in the compiler used to build for
1142         EFL. Fixed by using the thread handle instead of pthread_self.
1143
1144 2014-03-15  Michael Saboff  <msaboff@apple.com>
1145
1146         It should be possible to adjust DFG and FTL compiler thread priorities
1147         https://bugs.webkit.org/show_bug.cgi?id=130288
1148
1149         Reviewed by Filip Pizlo.
1150
1151         Added ability to change thread priorities relative to its current priority.
1152         Created options to adjust the priority of the DFG and FTL compilation work thread
1153         pools.  For two core systems, there might be three runnable threads, the main thread,
1154         the DFG compilation thread and the FTL compilation thread.  With the same priority,
1155         the scheduler is free to schedule whatever thread it wants.  By lowering the
1156         compilation threads, the main thread can run.  Further tests may suggest better values
1157         for the new options, priorityDeltaOfDFGCompilerThreads and priorityDeltaOfFTLCompilerThreads.
1158
1159         For a two-core device, this change has a net positive improvement of 1-3% across
1160         SunSpider, Octane, Kraken and AsmBench.
1161
1162         * wtf/Threading.h:
1163         * wtf/ThreadingPthreads.cpp:
1164         (WTF::changeThreadPriority):
1165         * wtf/ThreadingWin.cpp:
1166         (WTF::changeThreadPriority):
1167
1168 2014-03-15  David Kilzer  <ddkilzer@apple.com>
1169
1170         Fix undefined behavior in WTF::equal() in StringImpl.h for i386/x86_64
1171         <http://webkit.org/b/130283>
1172         <rdar://problem/16281477>
1173
1174         Reviewed by Geoff Garen.
1175
1176         * wtf/text/StringImpl.h:
1177         (WTF::loadUnaligned): Add template method.
1178         (WTF::equal): Switch to using loadUnaligned<>().
1179
1180 2014-03-14  Mark Rowe  <mrowe@apple.com>
1181
1182         Fix the production build.
1183
1184         Don't rely on USE_INTERNAL_SDK being set for the Production configuration since UseInternalSDK.xcconfig won't
1185         be at the expected relative path when working from installed source.
1186
1187         * Configurations/Base.xcconfig:
1188
1189 2014-03-14  Maciej Stachowiak  <mjs@apple.com>
1190
1191         Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers
1192         https://bugs.webkit.org/show_bug.cgi?id=130276
1193         <rdar://problem/16266927>
1194         
1195         Reviewed by Simon Fraser.
1196
1197         * wtf/ASCIICType.h:
1198         * wtf/AVLTree.h:
1199         * wtf/Assertions.cpp:
1200         * wtf/Assertions.h:
1201         * wtf/Atomics.cpp:
1202         * wtf/Atomics.h:
1203         * wtf/AutodrainedPool.h:
1204         * wtf/AutodrainedPoolMac.mm:
1205         * wtf/BoundsCheckedPointer.h:
1206         * wtf/CryptographicUtilities.cpp:
1207         * wtf/CryptographicallyRandomNumber.h:
1208         * wtf/CurrentTime.h:
1209         * wtf/Deque.h:
1210         * wtf/DisallowCType.h:
1211         * wtf/ExportMacros.h:
1212         * wtf/FeatureDefines.h:
1213         * wtf/GetPtr.h:
1214         * wtf/HashIterators.h:
1215         * wtf/Locker.h:
1216         * wtf/MainThread.cpp:
1217         * wtf/MainThread.h:
1218         * wtf/MathExtras.h:
1219         * wtf/MediaTime.cpp:
1220         * wtf/MediaTime.h:
1221         * wtf/MessageQueue.h:
1222         * wtf/MetaAllocator.cpp:
1223         * wtf/MetaAllocator.h:
1224         * wtf/MetaAllocatorHandle.h:
1225         * wtf/OSRandomSource.cpp:
1226         * wtf/OSRandomSource.h:
1227         * wtf/Platform.h:
1228         * wtf/RandomNumber.cpp:
1229         * wtf/RandomNumber.h:
1230         * wtf/RandomNumberSeed.h:
1231         * wtf/RedBlackTree.h:
1232         * wtf/RunLoopTimer.h:
1233         * wtf/RunLoopTimerCF.cpp:
1234         * wtf/SchedulePair.h:
1235         * wtf/SchedulePairCF.cpp:
1236         * wtf/SchedulePairMac.mm:
1237         * wtf/SegmentedVector.h:
1238         * wtf/StackBounds.h:
1239         * wtf/StaticConstructors.h:
1240         * wtf/StringExtras.h:
1241         * wtf/ThreadFunctionInvocation.h:
1242         * wtf/ThreadSafeRefCounted.h:
1243         * wtf/ThreadSpecific.h:
1244         * wtf/Threading.h:
1245         * wtf/ThreadingPrimitives.h:
1246         * wtf/ThreadingPthreads.cpp:
1247         * wtf/ThreadingWin.cpp:
1248         * wtf/WTFThreadData.cpp:
1249         * wtf/WTFThreadData.h:
1250         * wtf/efl/OwnPtrEfl.cpp:
1251         * wtf/mac/MainThreadMac.mm:
1252         * wtf/text/AtomicStringHash.h:
1253         * wtf/text/AtomicStringImpl.h:
1254         * wtf/text/Base64.h:
1255         * wtf/text/CString.cpp:
1256         * wtf/text/CString.h:
1257         * wtf/text/LChar.h:
1258         * wtf/text/cf/StringCF.cpp:
1259         * wtf/text/mac/StringMac.mm:
1260         * wtf/unicode/CharacterNames.h:
1261         * wtf/unicode/Collator.h:
1262         * wtf/unicode/CollatorDefault.cpp:
1263         * wtf/unicode/UTF8.cpp:
1264         * wtf/unicode/UTF8.h:
1265         * wtf/unicode/icu/CollatorICU.cpp:
1266         * wtf/win/MainThreadWin.cpp:
1267
1268 2014-03-14  Byungseon Shin  <sun.shin@lge.com>
1269
1270         Incorrect Date returned between March 1, 2034 and February 28, 2100.
1271         https://bugs.webkit.org/show_bug.cgi?id=130123
1272
1273         Reviewed by Mark Lam.
1274
1275         Fix logic by using predefined Date APIs.
1276
1277         * wtf/DateMath.cpp:
1278         (WTF::ymdhmsToSeconds):
1279
1280 2014-03-12  Sergio Villar Senin  <svillar@igalia.com>
1281
1282         Rename DEFINE_STATIC_LOCAL to DEPRECATED_DEFINE_STATIC_LOCAL
1283         https://bugs.webkit.org/show_bug.cgi?id=129612
1284
1285         Reviewed by Darin Adler.
1286
1287         For new code use static NeverDestroyed<T> instead.
1288
1289         * wtf/RunLoop.cpp:
1290         (WTF::RunLoop::current):
1291         * wtf/StdLibExtras.h:
1292         * wtf/ThreadingPthreads.cpp:
1293         (WTF::threadMapMutex):
1294         (WTF::threadMap):
1295         * wtf/efl/MainThreadEfl.cpp:
1296         (WTF::pipeObject):
1297         * wtf/text/StringStatics.cpp:
1298         (WTF::StringImpl::empty):
1299
1300 2014-03-13  Radu Stavila  <stavila@adobe.com>
1301
1302         Webkit not building on XCode 5.1 due to garbage collection no longer being supported
1303         https://bugs.webkit.org/show_bug.cgi?id=130087
1304
1305         Reviewed by Mark Rowe.
1306
1307         Disable garbage collection on macosx when not using internal SDK.
1308
1309         * Configurations/Base.xcconfig:
1310
1311 2014-03-12  Ryuan Choi  <ryuan.choi@samsung.com>
1312
1313         [EFL] Enable Parallel GC
1314         https://bugs.webkit.org/show_bug.cgi?id=130177
1315
1316         Reviewed by Geoffrey Garen.
1317
1318         * wtf/Platform.h: Turn on ENABLE_PARALLEL_GC for the EFL build.
1319
1320 2014-03-12  Joseph Pecoraro  <pecoraro@apple.com>
1321
1322         Web Inspector: Disable REMOTE_INSPECTOR in earlier OS X releases
1323         https://bugs.webkit.org/show_bug.cgi?id=130118
1324
1325         Reviewed by Timothy Hatcher.
1326
1327         * wtf/FeatureDefines.h:
1328
1329 2014-03-11  Brent Fulgham  <bfulgham@apple.com>
1330
1331         [Win] Unreviewed gardening.
1332
1333         * wtf/MathExtras.h: VS2013 provides an lrint implementation. No need to implement
1334         our own.
1335
1336 2014-03-10  Jer Noble  <jer.noble@apple.com>
1337
1338         Improve WeakPtr operators.
1339         https://bugs.webkit.org/show_bug.cgi?id=130053
1340
1341         Reviewed by Andreas Kling.
1342
1343         Replace the "operator!()" with an explicit bool operator.  Add an "operator->()".
1344
1345         * wtf/WeakPtr.h:
1346         (WTF::WeakPtr::operator bool):
1347         (WTF::WeakPtr::operator->):
1348
1349 2014-03-10  Brent Fulgham  <bfulgham@apple.com>
1350
1351         [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
1352         https://bugs.webkit.org/show_bug.cgi?id=130023.
1353
1354         Reviewed by Dean Jackson.
1355
1356         * WTF.vcxproj/WTF.proj: Avoid putting trailing slashes in system paths to avoid
1357         escaping during later string substitution.
1358         * WTF.vcxproj/build-generated-files.sh: Accept environment values passed by VS.
1359
1360 2014-03-10  Mark Hahnenberg  <mhahnenberg@apple.com>
1361
1362         Turn on GenGC on other 64-bit platforms
1363         https://bugs.webkit.org/show_bug.cgi?id=129258
1364
1365         Reviewed by Oliver Hunt.
1366
1367         * wtf/Platform.h: 
1368
1369 2014-03-07  peavo@outlook.com  <peavo@outlook.com>
1370
1371         [Win64] Compile error after r165128.
1372         https://bugs.webkit.org/show_bug.cgi?id=129807
1373
1374         Reviewed by Mark Lam.
1375
1376         * wtf/Platform.h: MSVC does not support computed goto.
1377         Also enabled COMPUTED_GOTO_OPCODES when !ENABLE(LLINT_C_LOOP). This is needed because the ASM LLINT operates like COMPUTED_GOTO_OPCODES,
1378         and relies on the related data structures being defined to support this. On Win32, the platform does not HAVE_COMPUTED_GOTO support,
1379         but does want ENABLE_COMPUTED_GOTO_OPCODES because it uses the ASM LLINT.
1380
1381 2014-03-06  Michael Saboff  <msaboff@apple.com>
1382
1383         JSC should disable the JIT when building for ARMv7k
1384         https://bugs.webkit.org/show_bug.cgi?id=129829
1385
1386         Reviewed by Oliver Hunt.
1387
1388         Added WTF_CPU_APPLE_ARMV7K CPU define.  Disabled the JITs when
1389         that feature define is set.
1390
1391         * wtf/Platform.h:
1392
1393 2014-03-06  Filip Pizlo  <fpizlo@apple.com>
1394
1395         Use the LLVM disassembler on ARM64 if we are enabling the FTL
1396         https://bugs.webkit.org/show_bug.cgi?id=129785
1397
1398         Reviewed by Geoffrey Garen.
1399
1400         * wtf/Platform.h:
1401
1402 2014-03-05  peavo@outlook.com  <peavo@outlook.com>
1403
1404         [Win32][LLINT] Crash when running JSC stress tests.
1405         https://bugs.webkit.org/show_bug.cgi?id=129429
1406
1407         Reviewed by Geoffrey Garen.
1408
1409         * wtf/Platform.h: Enable LLINT on Win32.
1410
1411 2014-03-04  Zan Dobersek  <zdobersek@igalia.com>
1412
1413         [GTK] Build the Udis86 disassembler
1414         https://bugs.webkit.org/show_bug.cgi?id=129679
1415
1416         Reviewed by Michael Saboff.
1417
1418         * wtf/Platform.h: Also enable the Udis86 disassembler for the GTK port on Linux.
1419
1420 2014-03-02  Jaehun Lim  <ljaehun.lim@samsung.com>
1421
1422         [EFL] Remove m_initEfl from RunLoop.
1423         https://bugs.webkit.org/show_bug.cgi?id=129568
1424
1425         Reviewed by Gyuyoung Kim.
1426
1427         We don't use m_initEfl except RunLoop constructor.
1428
1429         * wtf/RunLoop.h:
1430         * wtf/efl/RunLoopEfl.cpp:
1431         (WTF::RunLoop::RunLoop):
1432
1433 2014-03-02  Darin Adler  <darin@apple.com>
1434
1435         Cut down use of OwnPtr within WTF itself
1436         https://bugs.webkit.org/show_bug.cgi?id=129567
1437
1438         Reviewed by Sam Weinig.
1439
1440         * wtf/RefCounted.h: Removed OwnPtr includes.
1441
1442         * wtf/StreamBuffer.h: Removed OwnPtr includes and switched to use
1443         std::make_unique and std::unique_ptr instead.
1444
1445         * wtf/Threading.cpp: Removed OwnPtr includes.
1446         * wtf/ThreadingPthreads.cpp: Ditto.
1447         * wtf/Vector.h: Ditto.
1448
1449 2014-02-26  Gavin Barraclough  <barraclough@apple.com>
1450
1451         FastMalloc should use vm_page_shift intead of PAGE_SHIFT.
1452         https://bugs.webkit.org/show_bug.cgi?id=129370
1453
1454         Reviewed by Mark Rowe.
1455
1456         "Doesn't this lead to the page map using fewer bits than it was before?
1457         It seems like this will cause some page addresses to no longer be
1458         representable in the map when using 4K pages. Am I missing something?"
1459
1460         * wtf/FastMalloc.cpp:
1461             - bdash raises a valid point. This should make the TCMalloc_PageMap
1462               larger than absolutely necessary, rather than potentially too small.
1463
1464 2014-02-25  Gavin Barraclough  <barraclough@apple.com>
1465
1466         FastMalloc should use vm_page_shift intead of PAGE_SHIFT.
1467         https://bugs.webkit.org/show_bug.cgi?id=129370
1468
1469         Reviewed by Geoff Garen.
1470
1471         Previously we used PAGE_SHIFT to initialize kPageShift.
1472         Since this was a constant, it could be used to calculate other
1473         contants used in the code. Some of these values are used in the
1474         definition of certain data structures (specifiying the length of
1475         some array members).
1476
1477         Make kPageShift & dependent properties variables setup during
1478         initialization. Add upper bound values (K_PAGE_SHIFT_MAX,
1479         K_NUM_CLASSES_MAX) for use in cases where we need a constant.
1480
1481         * wtf/FastMalloc.cpp:
1482         (WTF::InitSizeClasses):
1483             - initialize kPageShift, kNumClasses, kPageSize, kMaxValidPages.
1484         (WTF::pages):
1485             - added ASSERT.
1486         (WTF::AllocationSize):
1487             - added ASSERT.
1488         (WTF::TCMalloc_PageHeap::FreeBytes):
1489             - added ASSERT.
1490         (WTF::TCMalloc_PageHeap::init):
1491             - COMPILE_ASSERT -> ASSERT
1492         (WTF::TCMalloc_PageHeap::scavenge):
1493             - added ASSERT.
1494         (WTF::TCMalloc_PageHeap::Carve):
1495             - added ASSERT.
1496         (WTF::mergeDecommittedStates):
1497             - added ASSERT.
1498         (WTF::TCMalloc_PageHeap::IncrementalScavenge):
1499             - added ASSERT.
1500         (WTF::TCMalloc_PageHeap::ReturnedBytes):
1501             - added ASSERT.
1502         (WTF::PagesToMB):
1503             - added ASSERT.
1504         (WTF::TCMalloc_PageHeap::GrowHeap):
1505             - added ASSERT.
1506         (WTF::TCMalloc_PageHeap::ReleaseFreeList):
1507             - kNumClasses -> K_NUM_CLASSES_MAX
1508         (WTF::TCMalloc_ThreadCache::enumerateFreeObjects):
1509             - added ASSERT.
1510         (WTF::TCMalloc_Central_FreeList::Init):
1511             - added ASSERT.
1512         (WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
1513             - added ASSERT.
1514         (WTF::TCMalloc_Central_FreeList::EvictRandomSizeClass):
1515             - added ASSERT.
1516         (WTF::TCMalloc_Central_FreeList::MakeCacheSpace):
1517             - added ASSERT.
1518         (WTF::TCMalloc_Central_FreeList::InsertRange):
1519             - added ASSERT.
1520         (WTF::TCMalloc_Central_FreeList::Populate):
1521             - added ASSERT.
1522         (WTF::TCMalloc_ThreadCache::Init):
1523             - added ASSERT.
1524         (WTF::TCMalloc_ThreadCache::Cleanup):
1525             - added ASSERT.
1526         (WTF::TCMalloc_ThreadCache::Scavenge):
1527             - added ASSERT.
1528         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1529             - added ASSERT.
1530
1531 2014-02-24  Alex Christensen  <achristensen@webkit.org>
1532
1533         Disabled WebGL on WinCairo.
1534
1535         Unreviewed.
1536
1537         * wtf/FeatureDefines.h:
1538         Removed ENABLE_WEBGL definition for WinCairo port.
1539         WebGL has not worked on WinCairo since r163079
1540         and it was not compiling with a recent ANGLE update.
1541
1542 2014-02-24  Mark Hahnenberg  <mhahnenberg@apple.com>
1543
1544         Turn GenGC on for 32-bit systems
1545         https://bugs.webkit.org/show_bug.cgi?id=128824
1546
1547         Reviewed by Geoffrey Garen.
1548
1549         * wtf/Platform.h:
1550
1551 2014-02-21  Benjamin Poulain  <benjamin@webkit.org>
1552
1553         jsDocumentPrototypeFunctionGetElementById should not create an AtomicString for the function argument
1554         https://bugs.webkit.org/show_bug.cgi?id=128893
1555
1556         Reviewed by Darin Adler.
1557
1558         AtomicString::find() is a special case optimized for the JavaScript bindings. The method can only
1559         be called under specific conditions.
1560         The method is renamed to findStringWithHash().
1561
1562         The new AtomicString::find is generic and does not require any propery on the input.
1563
1564         * wtf/text/AtomicString.cpp:
1565         (WTF::AtomicString::findStringWithHash):
1566         (WTF::AtomicString::findSlowCase):
1567         * wtf/text/AtomicString.h:
1568         (WTF::AtomicString::find):
1569
1570 2014-02-20  Csaba Osztrogonác  <ossy@webkit.org>
1571
1572         Add StackStats sources to cmake and autotools build files
1573         https://bugs.webkit.org/show_bug.cgi?id=129103
1574
1575         Reviewed by Anders Carlsson.
1576
1577         * GNUmakefile.list.am:
1578         * wtf/CMakeLists.txt:
1579
1580 2014-02-20  Csaba Osztrogonác  <ossy@webkit.org>
1581
1582         Get rid of redundant Platform.h includes
1583         https://bugs.webkit.org/show_bug.cgi?id=128817
1584
1585         Reviewed by Brent Fulgham.
1586
1587         * wtf/Assertions.h:
1588         * wtf/Atomics.h:
1589         * wtf/ByteOrder.h:
1590         * wtf/DataLog.h:
1591         * wtf/DisallowCType.h:
1592         * wtf/DynamicAnnotations.h:
1593         * wtf/ExportMacros.h:
1594         * wtf/FastMalloc.h:
1595         * wtf/FlipBytes.h:
1596         * wtf/InlineASM.h:
1597         * wtf/PrintStream.h:
1598         * wtf/ProcessID.h:
1599         * wtf/Threading.h:
1600         * wtf/ThreadingPrimitives.h:
1601
1602 2014-02-19  Jon Honeycutt  <jhoneycutt@apple.com>
1603
1604         Crash in WTF::StringBuilder::append()
1605
1606         https://bugs.webkit.org/show_bug.cgi?id=125817
1607         <rdar://problem/15671883>
1608
1609         Reviewed by Oliver Hunt.
1610
1611         * wtf/text/StringBuilder.cpp:
1612         (WTF::expandedCapacity):
1613         Ensure that we return a new capacity of at least 'requiredLength' in
1614         the case where requiredLength is large. Also, use unsigned rather than
1615         size_t for the parameters and the return value, as callers pass
1616         unsigned arguments and treat the result as an unsigned int.
1617
1618 2014-02-19  Anders Carlsson  <andersca@apple.com>
1619
1620         Add WTF_MAKE_FAST_ALLOCATED to more classes
1621         https://bugs.webkit.org/show_bug.cgi?id=129064
1622
1623         Reviewed by Andreas Kling.
1624
1625         * wtf/Bitmap.h:
1626
1627 2014-02-19  Zan Dobersek  <zdobersek@igalia.com>
1628
1629         Make PrintStream::print() a variadic template
1630         https://bugs.webkit.org/show_bug.cgi?id=126388
1631
1632         Reviewed by Brent Fulgham.
1633
1634         PrintStream::print() can be converted into a variadic template, printing the value
1635         of the first parameter and recursively calling itself until the single parameter version
1636         is used for printing the last value.
1637
1638         * wtf/DataLog.h:
1639         (WTF::dataLog): Convert the function to a variadic template as well.
1640         * wtf/PrintStream.h:
1641         (WTF::PrintStream::print):
1642         * wtf/StringPrintStream.h:
1643         (WTF::toCString): Ditto.
1644         (WTF::toString): Ditto.
1645
1646 2014-02-19  Zan Dobersek  <zdobersek@igalia.com>
1647
1648         Use std::swap() in HashTable::swap()
1649         https://bugs.webkit.org/show_bug.cgi?id=128995
1650
1651         Reviewed by Brent Fulgham.
1652
1653         Use std::swap() to swap the member variable values of two HashTable objects in HashTable::swap().
1654
1655         * wtf/HashTable.h:
1656         (WTF::KeyTraits>::swap):
1657
1658 2014-02-19  Zan Dobersek  <zdobersek@igalia.com>
1659
1660         SegmentedVector::append() should take in rvalue reference, forward it to Vector::uncheckedAppend()
1661         https://bugs.webkit.org/show_bug.cgi?id=128996
1662
1663         Reviewed by Brent Fulgham.
1664
1665         * wtf/SegmentedVector.h:
1666         (WTF::SegmentedVector::append): Take in an rvalue reference of the object that's to be appended and
1667         then forward it to Vector::uncheckedAppend(). This avoids unnecessary copies in the current situation
1668         where a const lvalue is accepted and passed on.
1669
1670 2014-02-19  Dan Bernstein  <mitz@apple.com>
1671
1672         Simplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions
1673         https://bugs.webkit.org/show_bug.cgi?id=129029
1674
1675         Reviewed by Mark Rowe.
1676
1677         * wtf/FeatureDefines.h:
1678         * wtf/Platform.h:
1679         * wtf/Threading.cpp:
1680         * wtf/text/cf/StringImplCF.cpp:
1681         (garbageCollectionEnabled):
1682
1683 2014-02-18  Dan Bernstein  <mitz@apple.com>
1684
1685         PLATFORM(MAC) is true when building for iOS
1686         https://bugs.webkit.org/show_bug.cgi?id=129025
1687
1688         Reviewed by Mark Rowe.
1689
1690         * wtf/Platform.h: Changed to define WTF_PLATFORM_MAC only on when building for OS X (but
1691         still not when WTF_PLATFORM_GTK or WTF_PLATFORM_EFL are defined).
1692
1693 2014-02-18  Joseph Pecoraro  <pecoraro@apple.com>
1694
1695         [iOS] Web Inspector: JSContext inspection crashes in isMainThread, uninitialized WebCoreWebThreadIsLockedOrDisabled
1696         https://bugs.webkit.org/show_bug.cgi?id=128959
1697
1698         Reviewed by David Kilzer.
1699
1700         When JavaScriptCore is used without WebCore on iOS (e.g. JSContext)
1701         the WebCoreWebThread* functions will not be initialized. Avoid
1702         calling the function pointer if it is uninitialized. This was
1703         happening with remote inspection via StringImpl::createCFString
1704         for implicit NSString / WTFString conversion which uses isMainThread.
1705
1706         * wtf/mac/MainThreadMac.mm:
1707         (WTF::webThreadIsUninitializedOrLockedOrDisabled):
1708         (WTF::isMainThread):
1709         (WTF::canAccessThreadLocalDataForThread):
1710
1711 2014-02-17  Filip Pizlo  <fpizlo@apple.com>
1712
1713         More ARM FTL glue
1714         https://bugs.webkit.org/show_bug.cgi?id=128948
1715
1716         Reviewed by Sam Weinig.
1717
1718         * wtf/Platform.h:
1719
1720 2014-02-17  Anders Carlsson  <andersca@apple.com>
1721
1722         Remove ENABLE_GLOBAL_FASTMALLOC_NEW
1723         https://bugs.webkit.org/show_bug.cgi?id=127067
1724
1725         Reviewed by Geoffrey Garen.
1726
1727         Remove the global operator new/operator delete overrides. Having ALWAYS_INLINE operators
1728         like we do is really undefined behavior according to the C++ standard and we've been lucky enough
1729         to get away with it so far, but any code that calls operator new/operator delete inside from the C++ standard
1730         library (not from headers that are included) will be mismatched and potentially crash. libc++ calls
1731         delete in it's std::thread implementation for example.
1732         
1733         The only supported way to override operator new and operator delete globally is to not use inline
1734         functions, but that would mean that any application using WebKit would not be able to provide custom
1735         operator new/operator delete functions so we'll just reuse the already existing infrastructure consisting
1736         of the WTF_MAKE_FAST_ALLOCATED macro.
1737
1738         * wtf/FastMalloc.cpp:
1739         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1740         * wtf/FastMalloc.h:
1741         * wtf/Platform.h:
1742
1743 2014-02-17  Ryan Lortie  <desrt@desrt.ca>
1744
1745         Enable DFG_JIT on FreeBSD
1746         https://bugs.webkit.org/show_bug.cgi?id=128898
1747
1748         Reviewed by Csaba Osztrogonác.
1749
1750         * wtf/Platform.h:
1751
1752 2014-02-15  Filip Pizlo  <fpizlo@apple.com>
1753
1754         FTL should inline polymorphic heap accesses
1755         https://bugs.webkit.org/show_bug.cgi?id=128795
1756
1757         Reviewed by Oliver Hunt.
1758
1759         * wtf/PrintStream.h:
1760         (WTF::PointerDumpInContext::PointerDumpInContext):
1761         (WTF::PointerDumpInContext::dump):
1762         (WTF::pointerDumpInContext):
1763
1764 2014-02-16  Zan Dobersek  <zdobersek@igalia.com>
1765
1766         Reintroduce const qualifiers for return types of (Filter|Transform)Iterator::operator*()
1767         https://bugs.webkit.org/show_bug.cgi?id=126875
1768
1769         The const qualifiers for the return types of FilterIterator::operator*() and TransformIterator::operator*()
1770         were removed in r161797 and r161802 because of compilation failures when using GCC and having an Iterator
1771         type that already had the const qualifier. std::remove_const is now used to appease GCC and enforce the const
1772         qualifier on the return type, regardless of the Iterator type and its qualifiers.
1773
1774         * wtf/IteratorAdaptors.h:
1775         (WTF::FilterIterator::operator*):
1776         (WTF::TransformIterator::operator*):
1777
1778 2014-02-15  Filip Pizlo  <fpizlo@apple.com>
1779
1780         Vector with inline capacity should work with non-PODs
1781         https://bugs.webkit.org/show_bug.cgi?id=128864
1782
1783         Reviewed by Michael Saboff.
1784         
1785         Previously, we would copy the inline storage of a vector as if it was a bag of bits.
1786         This presumed that the element type was relocatable. In general this is only true for
1787         PODs.
1788         
1789         This patch changes this by introducing a swap operation over inline storage. This swap
1790         operation requires being told about the size that is in use.
1791         
1792         Deques would have required some cleverness to make this work, because the swap
1793         operation needs to know which subset of elements are in-use and assumes that a size is
1794         sufficient for this. That's not true for deques. Instead of trying to do very clever
1795         things, I just removed the inline capacity option from Deque. I believe that this is
1796         fine since there are only two users of Deque with inline capacity, and both of them
1797         appear to be allocated rarely enough that inline capacity probably doesn't help much.
1798
1799         * wtf/Deque.h:
1800         (WTF::DequeIterator::DequeIterator):
1801         (WTF::DequeConstIterator::DequeConstIterator):
1802         (WTF::Deque<T>::checkValidity):
1803         (WTF::Deque<T>::checkIndexValidity):
1804         (WTF::Deque<T>::invalidateIterators):
1805         (WTF::Deque<T>::Deque):
1806         (WTF::=):
1807         (WTF::Deque<T>::destroyAll):
1808         (WTF::Deque<T>::~Deque):
1809         (WTF::Deque<T>::swap):
1810         (WTF::Deque<T>::clear):
1811         (WTF::Deque<T>::expandCapacityIfNeeded):
1812         (WTF::Deque<T>::expandCapacity):
1813         (WTF::Deque<T>::append):
1814         (WTF::Deque<T>::prepend):
1815         (WTF::Deque<T>::removeFirst):
1816         (WTF::Deque<T>::removeLast):
1817         (WTF::Deque<T>::remove):
1818         (WTF::DequeIteratorBase<T>::checkValidity):
1819         (WTF::DequeIteratorBase<T>::addToIteratorsList):
1820         (WTF::DequeIteratorBase<T>::removeFromIteratorsList):
1821         (WTF::DequeIteratorBase<T>::DequeIteratorBase):
1822         (WTF::DequeIteratorBase<T>::~DequeIteratorBase):
1823         (WTF::DequeIteratorBase<T>::isEqual):
1824         (WTF::DequeIteratorBase<T>::increment):
1825         (WTF::DequeIteratorBase<T>::decrement):
1826         (WTF::DequeIteratorBase<T>::after):
1827         (WTF::DequeIteratorBase<T>::before):
1828         * wtf/Vector.h:
1829         (WTF::VectorBuffer::swap):
1830         (WTF::VectorBuffer::swapInlineBuffer):
1831         (WTF::VectorBuffer::swapInlineBuffers):
1832         (WTF::Vector::swap):
1833
1834 2014-02-15  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1835
1836         Remove 'static' specifier from free inline functions in StringImpl.h
1837         https://bugs.webkit.org/show_bug.cgi?id=118554
1838
1839         Reviewed by Darin Adler.
1840
1841         At first 'static' does not bring any use here, secondly static free
1842         inline functions in headers is a bad practice in general as each instance
1843         of function defined as inline is treated as a separate function and each
1844         instance has its own copy of static locals and string literals.
1845
1846         * wtf/text/StringImpl.h:
1847         (WTF::codePointCompare):
1848         (WTF::codePointCompare8):
1849         (WTF::codePointCompare16):
1850         (WTF::codePointCompare8To16):
1851         (WTF::isSpaceOrNewline):
1852
1853 2014-02-14  Benjamin Poulain  <bpoulain@apple.com>
1854
1855         Improve the performance on mobile of FTPDirectoryDocument
1856         https://bugs.webkit.org/show_bug.cgi?id=128778
1857
1858         Reviewed by Antti Koivisto.
1859
1860         * wtf/text/WTFString.h:
1861         (WTF::String::endsWith): add a missing overload.
1862
1863 2014-02-14  Wojciech Bielawski  <w.bielawski@samsung.com>
1864
1865         (try)append and insert operations don't need new operator for PODs
1866         https://bugs.webkit.org/show_bug.cgi?id=128185
1867
1868         Reviewed by Darin Adler.
1869
1870         Vector's methods use VectorCopier to copy data.
1871         VectorCopier for PODs exteded to be used with different types. For different types placement new copy approach is applied. For the same types memcpy is applied.
1872
1873         * wtf/Vector.h:
1874         (WTF::OverflowHandler>::append): use VectorCopier to copy data.
1875         (WTF::OverflowHandler>::tryAppend): use VectorCopier to copy data.
1876         (WTF::OverflowHandler>::insert): use VectorCopier to copy data.
1877
1878 2014-02-13  Daniel Bates  <dabates@apple.com>
1879
1880         Fix the iOS build after <http://trac.webkit.org/changeset/164064
1881
1882         * wtf/Platform.h:
1883
1884 2014-02-13  Daniel Bates  <dabates@apple.com>
1885
1886         [iOS] Disable HAVE_ARM_NEON_INTRINSICS
1887
1888         For now, disable HAVE_ARM_NEON_INTRINSICS when building for iOS. We want
1889         to audit the applicable code before we enable this define.
1890
1891         * wtf/Platform.h:
1892
1893 2014-02-11  Filip Pizlo  <fpizlo@apple.com>
1894
1895         Hoist and combine array bounds checks
1896         https://bugs.webkit.org/show_bug.cgi?id=125433
1897
1898         Reviewed by Mark Hahnenberg.
1899
1900         * GNUmakefile.list.am:
1901         * WTF.vcxproj/WTF.vcxproj:
1902         * WTF.xcodeproj/project.pbxproj:
1903         * wtf/CMakeLists.txt:
1904         * wtf/HashMethod.h: Added.
1905         (WTF::HashMethod::operator()):
1906
1907 2014-02-13  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
1908
1909         Code cleanup: remove gcc<4.7 guards.
1910         https://bugs.webkit.org/show_bug.cgi?id=128729
1911
1912         Reviewed by Anders Carlsson.
1913
1914         Remove GCC_VERSION_AT_LEAST guards when it checks for pre-4.7 versions,
1915         as WK does not compile with earlier gcc versions.
1916
1917         * wtf/Assertions.cpp:
1918         * wtf/Platform.h:
1919
1920 2014-02-12  Mark Lam  <mark.lam@apple.com>
1921
1922         No need to save reservedZoneSize when dropping the JSLock.
1923         <https://webkit.org/b/128719>
1924
1925         Reviewed by Geoffrey Garen.
1926
1927         * wtf/WTFThreadData.cpp:
1928         (WTF::WTFThreadData::WTFThreadData):
1929         * wtf/WTFThreadData.h:
1930         - removed unnneeded m_savedReservedZoneSize.
1931
1932 2014-02-11  Mark Hahnenberg  <mhahnenberg@apple.com>
1933
1934         32-bit LLInt writeBarrierOnGlobalObject is wrong
1935         https://bugs.webkit.org/show_bug.cgi?id=128556
1936
1937         Reviewed by Geoffrey Garen.
1938
1939         * wtf/Platform.h: Removed OBJECT_MARK_LOGGING from Platform.h since it already exists in FeatureDefines.h
1940
1941 2014-02-11  peavo@outlook.com  <peavo@outlook.com>
1942
1943         [WinCairo] Compile error, deleted file in WTF.
1944         https://bugs.webkit.org/show_bug.cgi?id=128601
1945
1946         Reviewed by Csaba Osztrogonác.
1947
1948         * WTF.vcxproj/WTF.vcxproj: Removed reference to deleted file.
1949         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
1950
1951 2014-02-10  Michael Saboff  <msaboff@apple.com>
1952
1953         Re-enable ARM Thumb2 disassembler
1954         https://bugs.webkit.org/show_bug.cgi?id=128577
1955
1956         Reviewed by Filip Pizlo.
1957
1958         Added definition of WTF_USE_ARMV7_DISASSEMBLER back to Platform.h
1959
1960         * wtf/Platform.h:
1961
1962 2014-02-10  Benjamin Poulain  <benjamin@webkit.org>
1963
1964         Add the basic infrastructure to compile attributes matching in selectors
1965         https://bugs.webkit.org/show_bug.cgi?id=128484
1966
1967         Reviewed by Gavin Barraclough.
1968
1969         * wtf/Vector.h:
1970         (WTF::VectorBufferBase::bufferMemoryOffset):
1971         (WTF::Vector::sizeMemoryOffset):
1972         (WTF::Vector::dataMemoryOffset):
1973         Expose the memory offsets of Vector::size() and the memory buffer pointer for the JIT.
1974
1975 2014-02-10  Enrica Casucci  <enrica@apple.com>
1976
1977         copyShortASCIIString crashes on iOS after r163793.
1978         https://bugs.webkit.org/show_bug.cgi?id=128548.
1979
1980         Reviewed by Alexey Proskuryakov.
1981
1982         Adding null check.
1983
1984         * wtf/unicode/icu/CollatorICU.cpp:
1985         (WTF::copyShortASCIIString):
1986
1987 2014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
1988
1989         [GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
1990         https://bugs.webkit.org/show_bug.cgi?id=127554
1991
1992         Reviewed by Gustavo Noronha Silva.
1993
1994         GUniqueOutPtr is a simplified version of GOwnPtr for the cases
1995         where we need the address of the contained pointer. GUniqueOutPtr
1996         uses GUniquePtr to free the contained object and to release the
1997         container pointer. The API is very simple to make sure this is
1998         only used when outPtr() is needed. It can't be constructed with a
1999         pointer, and there's not method to set a new pointer. Another
2000         difference with the old GOwnPtr is that outPtr() can be used
2001         multiple times, because it frees any pointer previously set.
2002
2003         * GNUmakefile.list.am:
2004         * wtf/PlatformEfl.cmake:
2005         * wtf/PlatformGTK.cmake:
2006         * wtf/gobject/GOwnPtr.cpp: Removed.
2007         * wtf/gobject/GOwnPtr.h: Removed.
2008         * wtf/gobject/GUniquePtr.h:
2009         (WTF::GUniqueOutPtr::GUniqueOutPtr):
2010         (WTF::GUniqueOutPtr::~GUniqueOutPtr):
2011         (WTF::GUniqueOutPtr::outPtr):
2012         (WTF::GUniqueOutPtr::reset):
2013         (WTF::GUniqueOutPtr::release):
2014         (WTF::GUniqueOutPtr::operator*):
2015         (WTF::GUniqueOutPtr::operator->):
2016         (WTF::GUniqueOutPtr::get):
2017         (WTF::GUniqueOutPtr::operator!):
2018         (WTF::GUniqueOutPtr::operator UnspecifiedBoolType):
2019
2020 2014-02-10  Darin Adler  <darin@apple.com>
2021
2022         Stop using String::deprecatedCharacters to call WTF::Collator
2023         https://bugs.webkit.org/show_bug.cgi?id=128517
2024
2025         WTF passes ICU’s deprecated ULOC_REQUESTED_LOCALE to ucol_getLocaleByType()
2026         rdar://problem/15183390
2027
2028         Reviewed by Alexey Proskuryakov.
2029
2030         This patch fixes both bugs above by reworking WTF::Collator.
2031
2032         * wtf/unicode/Collator.h: Fixed formatting. Got rid of the Collator::Result type,
2033         since the collator uses the same return value scheme as strcmp and as ICU; an int
2034         will do for the return type. Simplified the support for UCONFIG_NO_COLLATION by
2035         using a separate copy of the class definition. (We should check if anyone needs
2036         UCONFIG_NO_COLLATION support, and remove it if not.) Changed the lower-first flag
2037         from a separate function to a constructor argument. Changed the arguments to
2038         the collate function to StringView. Added a collate UTF8 function. Changed the
2039         m_collate data member to no longer be mutable since we no longer allocate it lazily.
2040
2041         * wtf/unicode/CollatorDefault.cpp:
2042         (WTF::Collator::collate): Rewrote to be simpler.
2043         (WTF::Collator::collateUTF8): Added. Converts from UTF-8 to a String and then calls
2044         the collate function above.
2045
2046         * wtf/unicode/icu/CollatorICU.cpp: Added a FIXME about the fact that this file
2047         has the wrong name and location. Since we always use ICU, there's no need to mention
2048         it in the file name.
2049         (WTF::copyASCIIString): Added.
2050         (WTF::copyDefaultLocale): Added.
2051         (WTF::resolveDefaultLocale): Added. Maps null locale to a default on Mac and iOS,
2052         since on those platforms ICU does not use the correct default locale when passed null.
2053         (WTF::localesMatch): Added.
2054         (WTF::Collator::Collator): Moved most of the code from createCollator here.
2055         Simplified it by storing the collator configuration along with the collator in globals.
2056         (WTF::Collator::~Collator): Moved most of the code from releaseCollator here.
2057         (WTF::getIndexLatin1): Added.
2058         (WTF::moveLatin1): Added.
2059         (WTF::hasNextLatin1): Added.
2060         (WTF::hasPreviousLatin1): Added.
2061         (WTF::currentLatin1): Added.
2062         (WTF::nextLatin1): Added.
2063         (WTF::previousLatin1): Added.
2064         (WTF::getStateLatin1): Added.
2065         (WTF::setStateLatin1): Added.
2066         (WTF::createLatin1Iterator): Added. Uses the functions above to make a UCharIterator
2067         that works for a WTF::StringView-style Latin-1 string.
2068         (WTF::createIterator): Added. Uses either createLatin1Iterator or uiter_setString to
2069         make a UCharIterator that works for a WTF::StringView.
2070         (WTF::Collator::collate): Changed to use ucol_strcollIter.
2071         (WTF::createIteratorUTF8): Added. Uses uiter_setUTF8.
2072         (WTF::Collator::collateUTF8): Added. Like collate, but for null-terminated UTF-8 strings.
2073
2074 2014-02-10  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
2075
2076         Code cleanup: Remove BUILDING_ON / TARGETING definitions.
2077         https://bugs.webkit.org/show_bug.cgi?id=128242
2078
2079         Reviewed by Brent Fulgham.
2080
2081         The BUILDING_ON_* and TARGETING_* macros have not been used for a while.
2082         According to the FIXME: they are removed.
2083
2084         * wtf/Platform.h:
2085
2086 2014-02-09  Anders Carlsson  <andersca@apple.com>
2087
2088         Add WTF_MAKE_FAST_ALLOCATED to more classes
2089         https://bugs.webkit.org/show_bug.cgi?id=128506
2090
2091         Reviewed by Andreas Kling.
2092
2093         * wtf/Bag.h:
2094         * wtf/ListHashSet.h:
2095
2096 2014-02-08  Anders Carlsson  <andersca@apple.com>
2097
2098         Stop using getCharactersWithUpconvert in JavaScriptCore
2099         https://bugs.webkit.org/show_bug.cgi?id=128457
2100
2101         Reviewed by Andreas Kling.
2102
2103         * wtf/text/StringBuilder.h:
2104         (WTF::StringBuilder::append):
2105         Add a new overload that takes a StringView.
2106
2107         * wtf/text/StringView.h:
2108         (WTF::StringView::find):
2109         Add new find member function.
2110
2111 2014-02-08  Darin Adler  <darin@apple.com>
2112
2113         Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
2114         https://bugs.webkit.org/show_bug.cgi?id=128233
2115
2116         Reviewed by Anders Carlsson.
2117
2118         * WTF.xcodeproj/project.pbxproj: Added new source files.
2119
2120         * wtf/text/StringView.h: Added operator[], createCFStringWithoutCopying, and
2121         createNSStringWithoutCopying.
2122         * wtf/text/cf/StringViewCF.cpp:
2123         (WTF::StringView::createCFStringWithoutCopying): Added.
2124         * wtf/text/mac/StringViewObjC.mm:
2125         (WTF::StringView::createNSString): Added.
2126         (WTF::StringView::createNSStringWithoutCopying): Added.
2127
2128 2014-02-06  Andreas Kling  <akling@apple.com>
2129
2130         Remove unused ENABLE(REPAINT_THROTTLING) flag.
2131         <https://webkit.org/b/128329>
2132
2133         Reviewed by Antti Koivisto.
2134
2135         * wtf/FeatureDefines.h:
2136
2137 2014-02-06  Filip Pizlo  <fpizlo@apple.com>
2138
2139         More FTL build scaffolding
2140         https://bugs.webkit.org/show_bug.cgi?id=128330
2141
2142         Reviewed by Geoffrey Garen.
2143
2144         * wtf/Platform.h:
2145
2146 2014-02-06  Anders Carlsson  <andersca@apple.com>
2147
2148         Use std::chrono functions in dispatchFunctionsFromMainThread()
2149         https://bugs.webkit.org/show_bug.cgi?id=128308
2150
2151         Reviewed by Antti Koivisto.
2152
2153         * wtf/MainThread.cpp:
2154         (WTF::dispatchFunctionsFromMainThread):
2155
2156 2014-02-05  Zan Dobersek  <zdobersek@igalia.com>
2157
2158         Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro
2159         https://bugs.webkit.org/show_bug.cgi?id=128267
2160
2161         Reviewed by Andreas Kling.
2162
2163         Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro that was manually defined for compilers
2164         that support the C++11 initializer lists. The feature is well supported in Clang, MSVC and also GCC. It
2165         was actually already used unguarded in HashSet.
2166
2167         * wtf/Compiler.h:
2168         * wtf/HashMap.h:
2169         (WTF::HashMap::HashMap):
2170         * wtf/Vector.h:
2171         (WTF::Vector::Vector):
2172
2173 2014-02-05  Andreas Kling  <akling@apple.com>
2174
2175         Remove ENABLE(DIRECTORY_UPLOAD).
2176         <https://webkit.org/b/128275>
2177
2178         Rubber-stamped by Ryosuke Niwa.
2179
2180         * wtf/FeatureDefines.h:
2181
2182 2014-02-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2183
2184         HashMap can't be used with std::unique_ptr as value when it has a custom deleter
2185         https://bugs.webkit.org/show_bug.cgi?id=128250
2186
2187         Reviewed by Darin Adler.
2188
2189         The problem is that the HashMap is using a unique_ptr with the
2190         default deleter, so that when trying to move the unique_ptr the
2191         deleters don't match.
2192
2193         * wtf/HashTraits.h: Add the deleter also in the template
2194         definitation of the parent class for the HashTraits<std::unique_ptr<T, Deleter>>
2195
2196 2014-02-05  Csaba Osztrogonác  <ossy@webkit.org>
2197
2198         Remove ENABLE(SVG) guards
2199         https://bugs.webkit.org/show_bug.cgi?id=127991
2200
2201         Reviewed by Sam Weinig.
2202
2203         * wtf/FeatureDefines.h:
2204
2205 2014-02-04  Mark Lam  <mark.lam@apple.com>
2206
2207         The stack limit computation does not work for Windows.
2208         <https://webkit.org/b/128226>
2209
2210         Reviewed by Geoffrey Garen.
2211
2212         The current stack limit computation assumes that the stack is allocated
2213         in high memory. On Windows, the stack seems to be allocated very near
2214         address 0, and is smaller in size than our Options::maxPerThreadStackUsage().
2215         This combination triggers a bug where StackBounds::recursionLimit()
2216         underflows and computes a limit address that is ridiculously high in memory.
2217         The net effect is that the Windows port thinks its out of stack space all
2218         the time.
2219
2220         We now check for potential underflows in StackBounds and return an
2221         appropriate limit address.
2222
2223         * wtf/StackBounds.h:
2224         (WTF::StackBounds::recursionLimit):
2225
2226 2014-02-04  Andreas Kling  <akling@apple.com>
2227
2228         Remove <iframe seamless> support.
2229         <https://webkit.org/b/128213>
2230
2231         Rubber-stamped by Antti Koivisto.
2232
2233         * wtf/FeatureDefines.h:
2234
2235 2014-02-04  Anders Carlsson  <andersca@apple.com>
2236
2237         Store StringImpl substring backpointers as tail data
2238         https://bugs.webkit.org/show_bug.cgi?id=128220
2239
2240         Reviewed by Geoffrey Garen.
2241
2242         This lets us get rid of m_substringBuffer from the union.
2243
2244         * wtf/text/StringImpl.cpp:
2245         (WTF::StringImpl::~StringImpl):
2246         (WTF::StringImpl::getData16SlowCase):
2247         * wtf/text/StringImpl.h:
2248         (WTF::StringImpl::StringImpl):
2249         (WTF::StringImpl::createSubstringSharingImpl8):
2250         (WTF::StringImpl::createSubstringSharingImpl):
2251         (WTF::StringImpl::cost):
2252         (WTF::StringImpl::costDuringGC):
2253         (WTF::StringImpl::substringBuffer):
2254
2255 2014-02-04  Anders Carlsson  <andersca@apple.com>
2256
2257         Rename the substring sharing StringImpl::create variants to better indicate what they do
2258         https://bugs.webkit.org/show_bug.cgi?id=128214
2259
2260         Reviewed by Geoffrey Garen.
2261
2262         * wtf/text/AtomicString.cpp:
2263         (WTF::SubstringTranslator::translate):
2264         * wtf/text/StringBuilder.cpp:
2265         (WTF::StringBuilder::reifyString):
2266         (WTF::StringBuilder::resize):
2267         * wtf/text/StringImpl.h:
2268         (WTF::StringImpl::createSubstringSharingImpl8):
2269         (WTF::StringImpl::createSubstringSharingImpl):
2270         * wtf/text/WTFString.cpp:
2271         (WTF::String::substringSharingImpl):
2272
2273 2014-02-04  Alexey Proskuryakov  <ap@apple.com>
2274
2275         WebCrypto HMAC verification uses a non-constant-time memcmp
2276         https://bugs.webkit.org/show_bug.cgi?id=128198
2277         <rdar://problem/15976961>
2278
2279         Reviewed by Oliver Hunt.
2280
2281         Added a "constant time" memcmp that doesn't depend on data. The name is somewhat
2282         strange, as the function is of course O(length) and not constant time at all,
2283         but apparently this is how everyone calls such functions.
2284
2285         * GNUmakefile.list.am:
2286         * WTF.vcxproj/WTF.vcxproj:
2287         * WTF.vcxproj/WTF.vcxproj.filters:
2288         * WTF.xcodeproj/project.pbxproj:
2289         * wtf/CMakeLists.txt:
2290         * wtf/CryptographicUtilities.cpp: Added. (WTF::constantTimeMemcmp):
2291         * wtf/CryptographicUtilities.h: Added.
2292
2293 2014-02-04  Anders Carlsson  <andersca@apple.com>
2294
2295         Rename StringImpl::getCharacters to StringImpl::characters
2296         https://bugs.webkit.org/show_bug.cgi?id=128205
2297
2298         Reviewed by Antti Koivisto.
2299
2300         This lets us use StringImpl::getCharacters for the upconverting version.
2301         Also, change StringImpl::characters<UChar>() to call characters16() instead of deprecatedCharacters()
2302         and audit all call sites to make sure we weren't relying on upconversion anywhere.
2303
2304         * wtf/text/AtomicString.cpp:
2305         (WTF::findString):
2306         * wtf/text/StringImpl.cpp:
2307         (WTF::StringImpl::simplifyMatchedCharactersToSpace):
2308         * wtf/text/StringImpl.h:
2309         (WTF::StringImpl::characters<LChar>):
2310         (WTF::StringImpl::characters<UChar>):
2311
2312 2014-02-04  Anders Carlsson  <andersca@apple.com>
2313
2314         Rename equalNonNull to equal and make it take const StringImpl& instead
2315         https://bugs.webkit.org/show_bug.cgi?id=128206
2316
2317         Reviewed by Andreas Kling.
2318
2319         * wtf/text/StringHash.h:
2320         (WTF::StringHash::equal):
2321         * wtf/text/StringImpl.cpp:
2322         (WTF::stringImplContentEqual):
2323         (WTF::equal):
2324         * wtf/text/StringImpl.h:
2325
2326 2014-02-04  Anders Carlsson  <andersca@apple.com>
2327
2328         Get rid of StringImpl::m_buffer
2329         https://bugs.webkit.org/show_bug.cgi?id=128200
2330
2331         Reviewed by Michael Saboff.
2332
2333         Trade one lousy hack for another by changing the CreateEmptyUnique StringImpl
2334         constructor to initialize its character buffer to point to m_length instead
2335         since it will always be null.
2336
2337         Also change it to be an 8-bit string because why not.
2338
2339         * wtf/text/StringImpl.h:
2340         (WTF::StringImpl::StringImpl):
2341
2342 2014-02-04  Anders Carlsson  <andersca@apple.com>
2343
2344         Rename String::getCharacters to String::characters
2345         https://bugs.webkit.org/show_bug.cgi?id=128196
2346
2347         Reviewed by Andreas Kling.
2348
2349         This means String::characters() will end up calling either characters8() or characters16() which
2350         makes more logical sense. It also frees up the getCharacters name so we can use it for a new function
2351         that will do upconversion.
2352         
2353         * wtf/text/StringBuilder.cpp:
2354         (WTF::StringBuilder::appendUninitializedSlow):
2355         * wtf/text/WTFString.h:
2356         (WTF::String::characters<LChar>):
2357         (WTF::String::characters<UChar>):
2358
2359 2014-02-03  Anders Carlsson  <andersca@apple.com>
2360
2361         Fix Windows build.
2362
2363         * wtf/text/StringImpl.h:
2364         (WTF::StringImpl::tailOffset):
2365
2366 2014-02-03  Anders Carlsson  <andersca@apple.com>
2367
2368         StringImpl::tailOffset() should return the offset right after m_hashAndFlags
2369         https://bugs.webkit.org/show_bug.cgi?id=128141
2370
2371         Reviewed by Andreas Kling.
2372
2373         * wtf/text/StringImpl.h:
2374         (WTF::StringImpl::tailOffset):
2375
2376 2014-02-03  Anders Carlsson  <andersca@apple.com>
2377
2378         More tail pointer consolidation
2379         https://bugs.webkit.org/show_bug.cgi?id=128139
2380
2381         Reviewed by Andreas Kling.
2382
2383         Add a new tailOffset() function and reimplement allocationSize() and tailPointer()
2384         in terms of it. Use tailPointer() instead of reinterpret_cast-ing this + 1.
2385
2386         * wtf/text/StringImpl.cpp:
2387         (WTF::StringImpl::createUninitializedInternalNonEmpty):
2388         * wtf/text/StringImpl.h:
2389         (WTF::StringImpl::StringImpl):
2390         (WTF::StringImpl::requiresCopy):
2391         (WTF::StringImpl::allocationSize):
2392         (WTF::StringImpl::tailOffset):
2393         (WTF::StringImpl::tailPointer):
2394
2395 2014-02-03  Gustavo Noronha Silva  <gns@gnome.org>
2396
2397         [GTK][CMake] Enable SUBPIXEL_LAYOUT in FeatureDefines.h like EFL does
2398         https://bugs.webkit.org/show_bug.cgi?id=128136
2399
2400         Reviewed by Martin Robinson.
2401
2402         * wtf/FeatureDefines.h: enable SUBPIXEL_LAYOUT if it's not set, for GTK+.
2403
2404 2014-02-03  Mark Hahnenberg  <mhahnenberg@apple.com>
2405
2406         Turn GenGC on
2407         https://bugs.webkit.org/show_bug.cgi?id=128109
2408
2409         Reviewed by Oliver Hunt.
2410
2411         * wtf/Platform.h: Initially it will only be enabled for X86-64.
2412
2413 2014-02-03  Anders Carlsson  <andersca@apple.com>
2414
2415         Consolidate StringImpl tail handling into two functions
2416         https://bugs.webkit.org/show_bug.cgi?id=128122
2417
2418         Reviewed by Andreas Kling.
2419
2420         * wtf/text/StringImpl.cpp:
2421         (WTF::StringImpl::createUninitializedInternalNonEmpty):
2422         (WTF::StringImpl::reallocateInternal):
2423         * wtf/text/StringImpl.h:
2424         (WTF::StringImpl::tryCreateUninitialized):
2425         (WTF::StringImpl::allocationSize):
2426         (WTF::StringImpl::tailPointer):
2427
2428 2014-02-03  Darin Adler  <darin@apple.com>
2429
2430         Remove Unicode.h
2431         https://bugs.webkit.org/show_bug.cgi?id=128106
2432
2433         Reviewed by Anders Carlsson.
2434
2435         * GNUmakefile.list.am: Removed files.
2436         * WTF.vcxproj/WTF.vcxproj: Ditto.
2437         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
2438         * WTF.xcodeproj/project.pbxproj: Ditto.
2439         * wtf/CMakeLists.txt: Ditto.
2440
2441         * wtf/unicode/ScriptCodesFromICU.h: Removed.
2442         * wtf/unicode/Unicode.h: Removed.
2443         * wtf/unicode/UnicodeMacrosFromICU.h: Removed.
2444         * wtf/unicode/icu/UnicodeIcu.h: Removed.
2445         * wtf/unicode/wchar/UnicodeWchar.cpp: Removed.
2446         * wtf/unicode/wchar/UnicodeWchar.h: Removed.
2447
2448 2014-01-25  Darin Adler  <darin@apple.com>
2449
2450         Stop using Unicode.h
2451         https://bugs.webkit.org/show_bug.cgi?id=127633
2452
2453         Reviewed by Anders Carlsson.
2454
2455         * wtf/StringHasher.h:
2456         * wtf/dtoa.h:
2457         * wtf/text/ASCIIFastPath.h:
2458         * wtf/text/LChar.h:
2459         * wtf/text/StringBuffer.h:
2460         * wtf/text/StringImpl.h:
2461         * wtf/text/WTFString.cpp:
2462         * wtf/unicode/CharacterNames.h:
2463         * wtf/unicode/Collator.h:
2464         * wtf/unicode/UTF8.h:
2465         Removed includes of <wtf/unicode/Unicode.h>, adding includes of
2466         ICU headers and <wtf/text/LChar.h> as needed to replace it.
2467
2468 2014-02-02  Darin Adler  <darin@apple.com>
2469
2470         Obey "delete this" comments, including deleting String::characters and friends
2471         https://bugs.webkit.org/show_bug.cgi?id=126865
2472
2473         Reviewed by Andreas Kling.
2474
2475         * wtf/text/AtomicString.h: Deleted the characters function.
2476         * wtf/text/StringBuilder.h: Deleted the characters function, leaving behind the
2477         deprecatedCharacters function.
2478         * wtf/text/StringImpl.h: Ditto.
2479         * wtf/text/WTFString.h: Ditto. Also added a constructor that takes a StringImpl&,
2480         helpful for later string refactoring.
2481
2482 2014-02-02  Dan Bernstein  <mitz@apple.com>
2483
2484         Stop using PLATFORM(MAC) in WTF except where it means “OS X but not iOS”
2485         https://bugs.webkit.org/show_bug.cgi?id=128089
2486
2487         Reviewed by Darin Adler.
2488
2489         Replaced all uses of PLATFORM(MAC) that weren’t accompanied by !PLATFORM(IOS) with
2490         equivalent(*) tests that are more idiomatic and will not change once PLATFORM(MAC) changes to
2491         be false when building for iOS.
2492
2493         * - One exception noted below.
2494
2495         * wtf/AutodrainedPool.h: Changed PLATFORM(MAC) to USE(FOUNDATION), because NSAutoreleasePool
2496         is a Foundation class.
2497
2498         * wtf/CurrentTime.cpp:
2499         (WTF::monotonicallyIncreasingTime): Changed PLATFORM(MAC) to OS(DARWIN), because Mach is
2500         part of the Darwin kernel, but reordered such that the EFL and GLIB implementations continue
2501         to take precedence regardless of the OS.
2502
2503         * wtf/MainThread.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK).
2504         * wtf/MainThread.h: Ditto.
2505
2506         * wtf/Platform.h: Changed USE(CG) and USE(CA) to depend on COCOA, rather than MAC or IOS.
2507         Ditto for USE(CFURLCACHE), HAVE(ACCESSIBILITY), USE(PROTECTION_SPACE_AUTH_CALLBACK),
2508         USE(ACCESSIBILITY_CONTEXT_MENUS), USE(EXPORT_MACROS), USE(AVFOUNDATION),
2509         USE(REQUEST_ANIMATION_FRAME_TIMER), USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR),
2510         USE(CONTENT_FILTERING), USE(UNIFIED_TEXT_CHECKING), USE(MARKER_REMOVAL_UPON_EDITING),
2511         USE(AUDIO_SESSION), USE(IOSURFACE), and ENABLE(CSS3_TEXT_DECORATION_SKIP_INK). Changed
2512         PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK) in controlling various
2513         JavaScriptCore or JavaScriptCore-dependent behaviors.
2514
2515         * wtf/RunLoop.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2516         * wtf/RunLoopTimerCF.cpp: Ditto.
2517
2518         * wtf/SchedulePair.h: Changed PLATFORM(MAC) to USE(FOUNDATION), since it was used to guard
2519         usage of Foundation API.
2520
2521         * wtf/Threading.cpp: Added an explicit !PLATFORM(IOS) in a guard around something needed
2522         only on OS X and Windows.
2523
2524 2014-01-31  Benjamin Poulain  <bpoulain@apple.com>
2525
2526         Remove LEGACY_VIEWPORT_ADAPTION
2527         https://bugs.webkit.org/show_bug.cgi?id=128028
2528
2529         Reviewed by Anders Carlsson.
2530
2531         * wtf/FeatureDefines.h:
2532
2533 2014-01-31  Tim Horton  <timothy_horton@apple.com>
2534
2535         [wk2] PlatformCALayerRemoteCustom doesn't work on iOS
2536         https://bugs.webkit.org/show_bug.cgi?id=128025
2537         <rdar://problem/15950271>
2538
2539         Reviewed by Simon Fraser.
2540
2541         * wtf/Platform.h:
2542         Rename HAVE_LAYER_HOSTING_IN_WINDOW_SERVER to HAVE_OUT_OF_PROCESS_LAYER_HOSTING
2543         and make it true on iOS.
2544
2545 2014-01-31  Michael Saboff  <msaboff@apple.com>
2546
2547         REGRESSION: Crash in sanitizeStackForVMImpl when scrolling @ lifehacker.com.au
2548         https://bugs.webkit.org/show_bug.cgi?id=128017
2549
2550         Reviewed by Filip Pizlo.
2551
2552         Moved the setting and saving of VM::stackPointerAtVMEntry and the corresponding stack limit
2553         to JSLock and JSLock::DropAllLocks.  The saved data is now stored in per-thread in
2554         WTFThreadData.
2555
2556         * wtf/WTFThreadData.cpp:
2557         (WTF::WTFThreadData::WTFThreadData):
2558         * wtf/WTFThreadData.h:
2559         (WTF::WTFThreadData::savedStackPointerAtVMEntry):
2560         (WTF::WTFThreadData::setSavedStackPointerAtVMEntry):
2561         (WTF::WTFThreadData::savedLastStackTop):
2562         (WTF::WTFThreadData::setSavedLastStackTop):
2563         (WTF::WTFThreadData::savedReservedZoneSize):
2564         (WTF::WTFThreadData::setSavedReservedZoneSize):
2565
2566 2014-01-30  Andrei Bucur  <abucur@adobe.com>
2567
2568         Remove the ACCELERATED_COMPOSITING flag
2569         https://bugs.webkit.org/show_bug.cgi?id=127833
2570
2571         Reviewed by Antti Koivisto.
2572
2573         Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC
2574         mandatory.
2575
2576         * wtf/OwnPtrCommon.h:
2577         * wtf/Platform.h:
2578         * wtf/efl/OwnPtrEfl.cpp:
2579         (WTF::deleteOwnedPtr):
2580
2581 2014-01-28  Michael Saboff  <msaboff@apple.com>
2582
2583         Merge the jsCStack branch
2584         https://bugs.webkit.org/show_bug.cgi?id=127763
2585
2586         Reviewed by Mark Hahnenberg.
2587
2588         Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
2589         up to changeset 162958.
2590
2591 2014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
2592
2593         Remove ENABLE(JAVASCRIPT_DEBUGGER) guards
2594         https://bugs.webkit.org/show_bug.cgi?id=127840
2595
2596         Reviewed by Mark Lam.
2597
2598         * wtf/FeatureDefines.h:
2599
2600 2014-01-28  Anders Carlsson  <andersca@apple.com>
2601
2602         Actually turn stack stats back off.
2603
2604         * wtf/StackStats.cpp:
2605         * wtf/StackStats.h:
2606
2607 2014-01-28  Anders Carlsson  <andersca@apple.com>
2608
2609         Turn stack stats back off.
2610
2611         * wtf/StackStats.cpp:
2612
2613 2014-01-28  Anders Carlsson  <andersca@apple.com>
2614
2615         Use std::mutex instead of WTF::Mutex in WTF
2616         https://bugs.webkit.org/show_bug.cgi?id=127783
2617
2618         Reviewed by Antti Koivisto.
2619
2620         * wtf/CryptographicallyRandomNumber.cpp:
2621         * wtf/MainThread.cpp:
2622         (WTF::mainThreadFunctionQueueMutex):
2623         (WTF::functionQueue):
2624         (WTF::dispatchFunctionsFromMainThread):
2625         (WTF::callOnMainThread):
2626         (WTF::cancelCallOnMainThread):
2627         * wtf/StackStats.cpp:
2628         (WTF::StackStats::initialize):
2629         (WTF::StackStats::CheckPoint::CheckPoint):
2630         (WTF::StackStats::CheckPoint::~CheckPoint):
2631         (WTF::StackStats::probe):
2632         (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
2633         (WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint):
2634         * wtf/StackStats.h:
2635
2636 2014-01-27  Joseph Pecoraro  <pecoraro@apple.com>
2637
2638         WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
2639         https://bugs.webkit.org/show_bug.cgi?id=127671
2640
2641         Reviewed by Ryosuke Niwa.
2642
2643         * wtf/text/WTFString.h:
2644         (WTF::appendNumber):
2645
2646 2014-01-27  Jer Noble  <jer.noble@apple.com>
2647
2648         [WK2] callOnMainThread() from main thread sometimes results in ASSERTs.
2649         https://bugs.webkit.org/show_bug.cgi?id=127370
2650
2651         Reviewed by Alexey Proskuryakov.
2652
2653         When WEB_THREAD is enabled, and callOnMainThread() is called from the main
2654         thread, if the web thread is locked, a timer is set and the passed-in function
2655         is called on the next run-loop. However, by that time the web thread may have
2656         been unlocked, and isMainThread() will no longer return true, resulting in
2657         an assert.
2658
2659         Instead, scheduleDispatchFunctionsOnMainThread() should check isWebThread(),
2660         which is equivalent to isMainThread() when the WEB_THREAD is disabled, but
2661         will do the correct thing when WEB_THREAD is enabled.
2662
2663         * wtf/mac/MainThreadMac.mm:
2664         (WTF::scheduleDispatchFunctionsOnMainThread):
2665
2666 2014-01-27  Dan Bernstein  <mitz@apple.com>
2667
2668         Build fix.
2669
2670         * wtf/ThreadSafeRefCounted.h: Added a necessary #include.
2671
2672 2014-01-25  Sam Weinig  <sam@webkit.org>
2673
2674         Remove unused support for DRAGGABLE_REGION
2675         https://bugs.webkit.org/show_bug.cgi?id=127642
2676
2677         Reviewed by Simon Fraser.
2678
2679         * wtf/FeatureDefines.h:
2680
2681 2014-01-25  Joseph Pecoraro  <pecoraro@apple.com>
2682
2683         Add FALLTHROUGH and -Wimplicit-fallthrough to warn about unannotated implicit fallthroughs in switches
2684         https://bugs.webkit.org/show_bug.cgi?id=127637
2685
2686         Reviewed by Darin Adler.
2687
2688         For information about [[clang::fallthrough]], see:
2689         <http://clang.llvm.org/docs/LanguageExtensions.html#the-clang-fallthrough-attribute>
2690
2691         * Configurations/Base.xcconfig:
2692         Enable -Wimplicit-fallthrough warnings.
2693
2694         * wtf/Compiler.h:
2695         Define FALLTHROUGH on clang and fallback to outputing nothing when unsupported.
2696
2697         * wtf/dtoa/fast-dtoa.cc:
2698         * wtf/unicode/UTF8.cpp:
2699         (WTF::Unicode::convertLatin1ToUTF8):
2700         (WTF::Unicode::convertUTF16ToUTF8):
2701         (WTF::Unicode::isLegalUTF8):
2702         (WTF::Unicode::readUTF8Sequence):
2703         Explicitly annotate implicit fallthroughs with FALLTHROUGH.
2704
2705 2014-01-25  Darin Adler  <darin@apple.com>
2706
2707         Call deprecatedCharacters instead of characters at more call sites
2708         https://bugs.webkit.org/show_bug.cgi?id=127631
2709
2710         Reviewed by Sam Weinig.
2711
2712         * wtf/text/StringImpl.cpp:
2713         (WTF::StringImpl::replace):
2714         * wtf/text/WTFString.h:
2715         (WTF::String::isAllSpecialCharacters):
2716         Use the new name.
2717
2718 2014-01-25  Darin Adler  <darin@apple.com>
2719
2720         Add a new separate LChar.h header file, to be used after we remove Unicode.h
2721         https://bugs.webkit.org/show_bug.cgi?id=127630
2722
2723         Reviewed by Sam Weinig.
2724
2725         * GNUmakefile.list.am: Added the new file
2726         * WTF.vcxproj/WTF.vcxproj: Ditto.
2727         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
2728         * WTF.xcodeproj/project.pbxproj: Ditto.
2729         * wtf/CMakeLists.txt: Ditto.
2730         * wtf/text/LChar.h: Added.
2731
2732 2014-01-25  Darin Adler  <darin@apple.com>
2733
2734         Get rid of ICU_UNICODE and WCHAR_UNICODE remnants
2735         https://bugs.webkit.org/show_bug.cgi?id=127623
2736
2737         Reviewed by Anders Carlsson.
2738
2739         * wtf/CMakeLists.txt: Removed WTF_USE_ICU_UNICODE and
2740         WTF_USE_WCHAR_UNICODE since they are true and false respectively.
2741
2742         * wtf/Platform.h: Removed code to set WTF_USE_ICU_UNICODE.
2743
2744         * wtf/unicode/Collator.h: Removed ifdefs.
2745         * wtf/unicode/CollatorDefault.cpp: Ditto.
2746         * wtf/unicode/Unicode.h: Ditto.
2747         * wtf/unicode/icu/CollatorICU.cpp: Ditto.
2748
2749 2014-01-25  Anders Carlsson  <andersca@apple.com>
2750
2751         Remove atomicIncrement/atomicDecrement
2752         https://bugs.webkit.org/show_bug.cgi?id=127625
2753
2754         Reviewed by Andreas Kling.
2755
2756         Replace atomicIncrement/atomicDecrement with std::atomic.
2757
2758         * wtf/Atomics.h:
2759         * wtf/RefCountedLeakCounter.cpp:
2760         (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
2761         (WTF::RefCountedLeakCounter::increment):
2762         (WTF::RefCountedLeakCounter::decrement):
2763         * wtf/RefCountedLeakCounter.h:
2764         * wtf/ThreadSafeRefCounted.h:
2765         (WTF::ThreadSafeRefCountedBase::ref):
2766         (WTF::ThreadSafeRefCountedBase::refCount):
2767         (WTF::ThreadSafeRefCountedBase::derefBase):
2768
2769 2014-01-25  Anders Carlsson  <andersca@apple.com>
2770
2771         Modernize HashTable threading code
2772         https://bugs.webkit.org/show_bug.cgi?id=127621
2773
2774         Reviewed by Darin Adler.
2775
2776         Use std::mutex and std::atomic instead of WTF threading primitives.
2777
2778         * wtf/DynamicAnnotations.h:
2779         Include Platform.h here since this file relies on USE macros.
2780
2781         * wtf/HashTable.cpp:
2782         (WTF::HashTableStats::recordCollisionAtCount):
2783         Change this to take an unsigned.
2784
2785         (WTF::HashTableStats::dumpStats):
2786         * wtf/HashTable.h:
2787         (WTF::KeyTraits>::HashTable):
2788         (WTF::KeyTraits>::remove):
2789         (WTF::KeyTraits>::invalidateIterators):
2790         Use a single probe counter.
2791
2792         (WTF::addIterator):
2793         (WTF::removeIterator):
2794
2795 2014-01-25  Darin Adler  <darin@apple.com>
2796
2797         Restore alphabetical order in Compiler.h
2798         https://bugs.webkit.org/show_bug.cgi?id=127620
2799
2800         Reviewed by Sam Weinig.
2801
2802         * wtf/Compiler.h: Resorted some things into alphabetical order
2803
2804 2014-01-24  Brent Fulgham  <bfulgham@apple.com>
2805
2806         [Win] Convert some NMake files to MSBuild project files
2807         https://bugs.webkit.org/show_bug.cgi?id=127579
2808
2809         Reviewed by Tim Horton.
2810
2811         * WTF.vcxproj/WTF.make: Removed.
2812         * WTF.vcxproj/WTF.proj: Added.
2813
2814 2014-01-24  Anders Carlsson  <andersca@apple.com>
2815
2816         Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead
2817         https://bugs.webkit.org/show_bug.cgi?id=127571
2818
2819         Reviewed by Antti Koivisto.
2820
2821         * wtf/Compiler.h:
2822         Add a CONSTEXPR define so we can still use constexpr on compilers that don't support them (MSVC).
2823
2824         * wtf/CurrentTime.h:
2825         Remove monotonicallyIncreasingTimeMS().
2826
2827         * wtf/StdLibExtras.h:
2828         (std::literals::chrono_literals::operator _s):
2829         (std::literals::chrono_literals::operator _ms):
2830         Add _s and _ms literals. Once we switch over to C++14, we can drop them and just use the built-in ones.
2831
2832 2014-01-24  Anders Carlsson  <andersca@apple.com>
2833
2834         The CXX_EXPLICIT_CONVERSIONS COMPILER_SUPPORTS macro has been removed, and all
2835         compilers support explicit conversions now so simply remove the #ifdef.
2836
2837         * wtf/RetainPtr.h:
2838
2839 2014-01-24  Darin Adler  <darin@apple.com>
2840
2841         Simplify Compiler.h
2842         https://bugs.webkit.org/show_bug.cgi?id=127491
2843
2844         Reviewed by Anders Carlsson.
2845
2846         * wtf/Assertions.h: Remove COMPILER_SUPPORTS(CXX_STATIC_ASSERT), since
2847         we now have that for all compilers that can build WebKit.
2848
2849         * wtf/Compiler.h: Removed always true feature flags, including:
2850         COMPILER_SUPPORTS(CXX_VARIADIC_TEMPLATES), COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES),
2851         COMPILER_SUPPORTS(CXX_DELETED_FUNCTIONS), COMPILER_SUPPORTS(CXX_NULLPTR),
2852         COMPILER_SUPPORTS(CXX_EXPLICIT_CONVERSIONS), COMPILER_SUPPORTS(CXX_STATIC_ASSERT),
2853         COMPILER_SUPPORTS(CXX_OVERRIDE_CONTROL), COMPILER_SUPPORTS(CXX_STRONG_ENUMS), and
2854         COMPILER_SUPPORTS(CXX_AUTO_TYPE). Sorted sections alphabetically. Separated out
2855         nested #if and #else into separate checks for greater readability. Removed obsolete
2856         check for COMPILER(RVCT). Removed unused COMPILER(GCCE) detection.
2857
2858         * wtf/RefPtr.h: Remove COMPILER_SUPPORTS(CXX_NULLPTR), since we now have
2859         that for all compilers that can build WebKit.
2860         * wtf/RetainPtr.h: Ditto.
2861
2862 2014-01-23  Max Vujovic  <mvujovic@adobe.com>
2863
2864         Remove CSS Custom Filters code and tests
2865         https://bugs.webkit.org/show_bug.cgi?id=127382
2866
2867         Reviewed by Simon Fraser.
2868
2869         * wtf/FeatureDefines.h:
2870
2871 2014-01-22  Brent Fulgham  <bfulgham@apple.com>
2872
2873         [Win] Update project and solution files for 64-bit builds.
2874         https://bugs.webkit.org/show_bug.cgi?id=127457
2875
2876         Reviewed by Eric Carlson.
2877
2878         * WTF.vcxproj/WTF.submit.sln: Add x64 targets.
2879         * WTF.vcxproj/WTF.vcxproj: Update for VS2013
2880
2881 2014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>
2882
2883         Remove CSS3_TEXT_DECORATION define
2884         https://bugs.webkit.org/show_bug.cgi?id=127333
2885
2886         Reviewed by Simon Fraser.
2887
2888         This is required for unprefixing the text-decoration-* CSS properties.
2889
2890         * wtf/Platform.h:
2891
2892 2014-01-22  Jae Hyun Park  <jae.park@company100.net>
2893
2894         Remove unnecessary include in Noncopyable.h
2895         https://bugs.webkit.org/show_bug.cgi?id=127406
2896
2897         Reviewed by Anders Carlsson.
2898
2899         * wtf/Noncopyable.h: We don't need Compiler.h as of r162198.
2900
2901 2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2902
2903         [GTK] Add GUniquePtr
2904         https://bugs.webkit.org/show_bug.cgi?id=127170
2905
2906         Reviewed by Gustavo Noronha Silva.
2907
2908         The idea is to replace GOwnPtr with a template alias of
2909         std:unique_ptr. Not everything can be replaced, though, because
2910         GOwnPtr::outPtr() doesn't seem to be possible to implement with
2911         unique_ptr. This smart pointer is more flexible than GOwnPtr and
2912         allows to transfer the ownership of the pointer using
2913         std::move().
2914
2915         * GNUmakefile.list.am: Add new file to compilation.
2916         * wtf/gobject/GUniquePtr.h: Added.
2917         (WTF::GPtrDeleter::operator()):
2918
2919 2014-01-20  Anders Carlsson  <andersca@apple.com>
2920
2921         Remove an unused member variable
2922         https://bugs.webkit.org/show_bug.cgi?id=127295
2923
2924         Reviewed by Antti Koivisto.
2925
2926         * wtf/MainThread.cpp:
2927         (WTF::FunctionWithContext::FunctionWithContext):
2928         (WTF::FunctionWithContext::operator == ):
2929         (WTF::dispatchFunctionsFromMainThread):
2930
2931 2014-01-20  Anders Carlsson  <andersca@apple.com>
2932
2933         Remove MutexTryLocker
2934         https://bugs.webkit.org/show_bug.cgi?id=127294
2935
2936         Reviewed by Antti Koivisto.
2937
2938         MutexTryLocker has been replaced with std::unique_lock with std::try_to_lock everywhere now.
2939
2940         * wtf/ThreadingPrimitives.h:
2941
2942 2014-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2943
2944         [GLIB] GVariant floating references are not correctly handled by GRefPtr
2945         https://bugs.webkit.org/show_bug.cgi?id=127246
2946
2947         Reviewed by Martin Robinson.
2948
2949         GRefPtr should always use g_variant_ref_sink to deal with GVariant
2950         floating references. In case of full references,
2951         g_variant_ref_sink calls g_variant_ref, so it's safe to use it always.
2952
2953         * wtf/gobject/GRefPtr.cpp:
2954         (WTF::refGPtr): Use g_variant_ref_sink().
2955
2956 2014-01-18  Anders Carlsson  <andersca@apple.com>
2957
2958         Remove support for the viewsource attribute
2959         https://bugs.webkit.org/show_bug.cgi?id=127232
2960
2961         Reviewed by Andreas Kling.
2962
2963         * wtf/FeatureDefines.h:
2964
2965 2014-01-18  Anders Carlsson  <andersca@apple.com>
2966
2967         Remove ENABLE_THREADED_HTML_PARSER defines everywhere
2968         https://bugs.webkit.org/show_bug.cgi?id=127225
2969
2970         Reviewed by Andreas Kling.
2971
2972         This concludes the removal of over 8.8 million lines of threaded parser code.
2973
2974         * wtf/FeatureDefines.h:
2975
2976 2014-01-17  Anders Carlsson  <andersca@apple.com>
2977
2978         Add a callOnMainThreadAndWait variant in SocketStreamHandle
2979         https://bugs.webkit.org/show_bug.cgi?id=127180
2980
2981         Reviewed by Geoffrey Garen.
2982
2983         Remove callOnMainThreadAndWait from WTF.
2984
2985         * wtf/MainThread.cpp:
2986         * wtf/MainThread.h:
2987
2988 2014-01-17  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
2989
2990         Remove workaround for compilers not supporting deleted functions
2991         https://bugs.webkit.org/show_bug.cgi?id=127166
2992
2993         Reviewed by Andreas Kling.
2994
2995         * wtf/Compiler.h:
2996         * wtf/Noncopyable.h:
2997         * wtf/PassRefPtr.h:
2998
2999 2014-01-16  Benjamin Poulain  <bpoulain@apple.com>
3000
3001         Remove Nix from WTF
3002         https://bugs.webkit.org/show_bug.cgi?id=127150
3003
3004         Reviewed by Alexey Proskuryakov.
3005
3006         * wtf/DisallowCType.h:
3007         * wtf/FeatureDefines.h:
3008         * wtf/Platform.h:
3009         * wtf/PlatformNix.cmake: Removed.
3010         * wtf/nix: Removed.
3011
3012 2014-01-16  Anders Carlsson  <andersca@apple.com>
3013
3014         Remove FINAL macro
3015         https://bugs.webkit.org/show_bug.cgi?id=127149
3016
3017         Reviewed by Tim Horton.
3018
3019         * wtf/Compiler.h:
3020
3021 2014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
3022
3023         Remove workaround for compilers not supporting explicit override control
3024         https://bugs.webkit.org/show_bug.cgi?id=127111
3025
3026         Reviewed by Anders Carlsson.
3027
3028         Now all compilers support explicit override control, this workaround can be removed.
3029
3030         * wtf/Compiler.h:
3031         * wtf/FilePrintStream.h:
3032         * wtf/RunLoop.h:
3033         * wtf/StringPrintStream.h:
3034
3035 2014-01-16  Alberto Garcia  <berto@igalia.com>
3036
3037         Source/WTF/wtf/Atomics.h:300: Error: bad register name `%bpl'
3038         https://bugs.webkit.org/show_bug.cgi?id=126985
3039
3040         Reviewed by Csaba Osztrogonác.
3041
3042         Use the 'q' constraint to force using a register that allows
3043         access to its lower byte.
3044
3045         * wtf/Atomics.h:
3046         (WTF::weakCompareAndSwap):
3047
3048 2014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
3049
3050         Fix unnecessary checks for Clang compiler if the compiler is MSVC.
3051         https://bugs.webkit.org/show_bug.cgi?id=127037
3052
3053         Reviewed by Csaba Osztrogonác.
3054
3055         Inside the #if defined(_MSC_VER) there's no need for checking whether the compiler is not Clang.
3056
3057         * wtf/Compiler.h:
3058
3059 2014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
3060
3061         Require at least GCC version 4.7
3062         https://bugs.webkit.org/show_bug.cgi?id=127049
3063
3064         Reviewed by Csaba Osztrogonác.
3065
3066         r161770 added a template alias, so the minimum GCC version is 4.7 now.
3067
3068         Also fixed a typo in the error message about old MSVC version.
3069
3070         * wtf/Compiler.h:
3071
3072 2014-01-15  Alberto Garcia  <berto@igalia.com>
3073
3074         [GTK] v2.3.3 fails to build in Debian / FreeBSD
3075         https://bugs.webkit.org/show_bug.cgi?id=126502
3076
3077         Reviewed by Mark Lam.
3078
3079         * wtf/Platform.h: Add LLINT support to FreeBSD.
3080
3081 2014-01-15  Anders Carlsson  <andersca@apple.com>
3082
3083         Get rid of RefCountedCustomAllocated
3084         https://bugs.webkit.org/show_bug.cgi?id=127051
3085
3086         Reviewed by Antti Koivisto.
3087
3088         It's not used anywhere anymore, get rid of it.
3089
3090         * wtf/RefCounted.h:
3091         * wtf/SizeLimits.cpp:
3092
3093 2014-01-14  Anders Carlsson  <andersca@apple.com>
3094
3095         And yet another build fix.
3096
3097         * wtf/SizeLimits.cpp:
3098
3099 2014-01-14  Anders Carlsson  <andersca@apple.com>
3100
3101         Another build fix.
3102
3103         * wtf/SizeLimits.cpp:
3104
3105 2014-01-14  Daniel Bates  <dabates@apple.com>
3106
3107         [iOS] Enable WTF_USE_UIKIT_EDITING
3108
3109         * wtf/Platform.h:
3110
3111 2014-01-14  Daniel Bates  <dabates@apple.com>
3112
3113         [iOS] Enable QuickLook
3114         https://bugs.webkit.org/show_bug.cgi?id=126954
3115
3116         Reviewed by David Kilzer.
3117
3118         * wtf/Platform.h:
3119
3120 2014-01-14  Anders Carlsson  <andersca@apple.com>
3121
3122         Get rid of ThreadRestrictionVerifier
3123         https://bugs.webkit.org/show_bug.cgi?id=127004
3124
3125         Reviewed by Sam Weinig.
3126
3127         The ThreadRestrictionVerifier mechanism has been turned off for a while
3128         since it doesn't really have a good solution for objects that are passed between threads.
3129         Instead of having dead code in the tree, just get rid of it.
3130         
3131         * GNUmakefile.list.am:
3132         * WTF.vcxproj/WTF.vcxproj:
3133         * WTF.vcxproj/WTF.vcxproj.filters:
3134         * WTF.xcodeproj/project.pbxproj:
3135         * wtf/CMakeLists.txt:
3136         * wtf/RefCounted.h:
3137         (WTF::RefCountedBase::ref):
3138         (WTF::RefCountedBase::hasOneRef):
3139         (WTF::RefCountedBase::refCount):
3140         (WTF::RefCountedBase::derefBase):
3141         * wtf/ThreadRestrictionVerifier.h: Removed.
3142
3143 2014-01-14  Benjamin Poulain  <benjamin@webkit.org>
3144
3145         Enable the experimental selector code generator by default
3146         https://bugs.webkit.org/show_bug.cgi?id=126953
3147
3148         Reviewed by Gavin Barraclough.
3149
3150         * wtf/Platform.h:
3151         Enable CSS_SELECTOR_JIT on OS X x86_64 by default.
3152         The feature is not ready to ship but it is stable enough to enable
3153         for the bots and nightly.
3154
3155 2014-01-14  Brian J. Burg  <burg@cs.washington.edu>
3156
3157         Add ENABLE(WEB_REPLAY) feature flag to the build system
3158         https://bugs.webkit.org/show_bug.cgi?id=126949
3159
3160         Reviewed by Joseph Pecoraro.
3161
3162         * wtf/FeatureDefines.h: for now, disable the flag by default.
3163
3164 2014-01-14  peavo@outlook.com  <peavo@outlook.com>
3165
3166         [Win] Application name in user agent string is truncated.
3167         https://bugs.webkit.org/show_bug.cgi?id=126810
3168
3169         Reviewed by Anders Carlsson.
3170
3171         * wtf/text/StringConcatenate.h:
3172         (WTF::tryMakeString): Add missing 8 bit check for last argument. 
3173
3174 2014-01-13  Anders Carlsson  <andersca@apple.com>
3175
3176         Move another deprecated symbol to DeprecatedSymbolsUsedBySafari.mm
3177         https://bugs.webkit.org/show_bug.cgi?id=126909
3178
3179         Reviewed by Ryosuke Niwa.
3180
3181         * wtf/MainThread.cpp:
3182         * wtf/MainThread.h:
3183         * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
3184         (WTF::callOnMainThread):
3185
3186 2014-01-13  Anders Carlsson  <andersca@apple.com>
3187
3188         Fix Windows build.
3189
3190         * wtf/ThreadingWin.cpp:
3191         (WTF::initializeThreading):
3192
3193 2014-01-13  Anders Carlsson  <andersca@apple.com>
3194
3195         Remove AtomicallyInitializedStatic
3196         https://bugs.webkit.org/show_bug.cgi?id=126864
3197
3198         Reviewed by Andreas Kling.
3199
3200         Remove the lockAtomicallyInitializedStaticMutex and unlockAtomicallyInitializedStaticMutex functions
3201         everywhere except on Mac (where they unfortunately were used by Safari).
3202         
3203         On Mac, add them to a separate file which will hold functions and symbols that we would like
3204         to remove but that are used by Safari. Reimplement them in terms of std::call_once and std::mutex.
3205
3206         * WTF.xcodeproj/project.pbxproj:
3207         * wtf/Threading.h:
3208         * wtf/ThreadingPthreads.cpp:
3209         (WTF::initializeThreading):
3210         * wtf/ThreadingWin.cpp:
3211         (WTF::initializeThreading):
3212         * wtf/mac/DeprecatedSymbolsUsedBySafari.mm: Added.
3213         (WTF::atomicallyInitializedStaticMutex):
3214         (WTF::lockAtomicallyInitializedStaticMutex):
3215         (WTF::unlockAtomicallyInitializedStaticMutex):
3216
3217 2014-01-13  Commit Queue  <commit-queue@webkit.org>
3218
3219         Unreviewed, rolling out r161855.
3220         http://trac.webkit.org/changeset/161855
3221         https://bugs.webkit.org/show_bug.cgi?id=126880
3222
3223         Sister commit of r161852 (Requested by kling on #webkit).
3224
3225         * wtf/ThreadingPthreads.cpp:
3226         (WTF::initializeThreading):
3227
3228 2014-01-13  Commit Queue  <commit-queue@webkit.org>
3229
3230         Unreviewed, rolling out r161852.
3231         http://trac.webkit.org/changeset/161852
3232         https://bugs.webkit.org/show_bug.cgi?id=126877
3233
3234         Broke ToT with system Safari (Requested by kling on #webkit).
3235
3236         * wtf/Threading.h:
3237         * wtf/ThreadingPthreads.cpp:
3238         (WTF::initializeThreading):
3239         (WTF::lockAtomicallyInitializedStaticMutex):
3240         (WTF::unlockAtomicallyInitializedStaticMutex):
3241         * wtf/ThreadingWin.cpp:
3242         (WTF::lockAtomicallyInitializedStaticMutex):
3243         (WTF::unlockAtomicallyInitializedStaticMutex):
3244         (WTF::initializeThreading):
3245
3246 2014-01-12  Commit Queue  <commit-queue@webkit.org>
3247
3248         Unreviewed, rolling out r161840.
3249         http://trac.webkit.org/changeset/161840
3250         https://bugs.webkit.org/show_bug.cgi?id=126870
3251
3252         Caused jsscore and layout test failures (Requested by smfr on
3253         #webkit).
3254
3255         * wtf/text/StringImpl.cpp:
3256         (WTF::StringImpl::replace):
3257         * wtf/text/WTFString.h:
3258         (WTF::String::isAllSpecialCharacters):
3259
3260 2014-01-12  Dan Bernstein  <mitz@apple.com>
3261
3262         Fix an assertion failure in initializeDates() when launching Safari, which was introduced in r161852.
3263
3264         Reviewed by Andy Estes.
3265
3266         * wtf/ThreadingPthreads.cpp:
3267         (WTF::initializeThreading): Set isInitialized to true.
3268
3269 2014-01-12  Darin Adler  <darin@apple.com>
3270
3271         Add PLATFORM(COCOA) and USE(FOUNDATION)
3272         https://bugs.webkit.org/show_bug.cgi?id=126859
3273
3274         Reviewed by Anders Carlsson.
3275
3276         * wtf/Platform.h: Added PLATFORM(COCOA), which for now is set at exactly the same
3277         times that PLATFORM(MAC) is. Added USE(FOUNDATION), which is set at the same times
3278         that PLATFORM(COCOA) is. Re-organize the PLATFORM(MAC) and PLATFORM(IOS) settings
3279         in the header so they are a bit easier to read. Put HAVE_LANGINFO_H in with the
3280         rest of the OS(UNIX) settings and put HAVE_READLINE in with the rest of the
3281         OS(DARWIN) settings. Tweak formatting a bit.
3282
3283 2014-01-12  Anders Carlsson  <andersca@apple.com>
3284
3285         Remove AtomicallyInitializedStatic
3286         https://bugs.webkit.org/show_bug.cgi?id=126864
3287
3288         Reviewed by Darin Adler.
3289
3290         * wtf/Threading.h:
3291         * wtf/ThreadingPthreads.cpp:
3292         (WTF::initializeThreading):
3293         * wtf/ThreadingWin.cpp:
3294         (WTF::initializeThreading):
3295
3296 2014-01-12  Darin Adler  <darin@apple.com>
3297
3298         Add deprecatedCharacters as a synonym for characters and convert most call sites
3299         https://bugs.webkit.org/show_bug.cgi?id=126858
3300
3301         Reviewed by Anders Carlsson.
3302
3303         * wtf/text/AtomicString.cpp:
3304         (WTF::HashAndUTF8CharactersTranslator::equal):
3305         (WTF::SubstringTranslator::hash):
3306         (WTF::SubstringTranslator::equal):
3307         * wtf/text/AtomicString.h:
3308         (WTF::AtomicString::characters):
3309         * wtf/text/Base64.cpp:
3310         (WTF::base64Decode):
3311         (WTF::base64URLDecode):
3312         * wtf/text/StringBuilder.h:
3313         (WTF::StringBuilder::characters):
3314         (WTF::StringBuilder::deprecatedCharacters):
3315         * wtf/text/StringImpl.cpp:
3316         (WTF::StringImpl::getData16SlowCase):
3317         (WTF::StringImpl::upper):
3318         (WTF::StringImpl::lower):
3319         (WTF::StringImpl::find):
3320         (WTF::StringImpl::findIgnoringCase):
3321         * wtf/text/StringImpl.h:
3322         (WTF::StringImpl::characters):
3323         (WTF::StringImpl::deprecatedCharacters):
3324         (WTF::StringImpl::getCharacters<UChar>):
3325         (WTF::equalIgnoringNullity):
3326         * wtf/text/WTFString.cpp:
3327         (WTF::String::append):
3328         (WTF::String::appendInternal):
3329         (WTF::String::insert):
3330         (WTF::String::truncate):
3331         (WTF::String::percentage):
3332         * wtf/text/WTFString.h:
3333         (WTF::String::characters):
3334         (WTF::String::deprecatedCharacters):
3335         (WTF::String::getCharactersWithUpconvert<UChar>):
3336         (WTF::append):
3337         Use deprecatedCharacters instead of characters.
3338
3339 2014-01-12  Anders Carlsson  <andersca@apple.com>
3340
3341         Remove the last remaining uses of AtomicallyInitializedStatic
3342         https://bugs.webkit.org/show_bug.cgi?id=126863
3343
3344         Reviewed by Darin Adler.
3345
3346         * wtf/HashTable.cpp:
3347         (WTF::hashTableStatsMutex):
3348         (WTF::HashTableStats::recordCollisionAtCount):
3349         (WTF::HashTableStats::dumpStats):
3350         * wtf/unicode/icu/CollatorICU.cpp:
3351         (WTF::cachedCollatorMutex):
3352         (WTF::Collator::createCollator):
3353         (WTF::Collator::releaseCollator):
3354
3355 2014-01-12  Darin Adler  <darin@apple.com>
3356
3357         Reduce use of String::characters
3358         https://bugs.webkit.org/show_bug.cgi?id=126854
3359
3360         Reviewed by Sam Weinig.
3361
3362         * wtf/text/StringImpl.cpp:
3363         (WTF::StringImpl::replace): Use characters16 here since is8Bit was already checked.
3364         * wtf/text/WTFString.h:
3365         (WTF::String::isAllSpecialCharacters): Use characters16 here since is8Bit was
3366         already checked. Also renamed "len" to "length".
3367
3368 2014-01-12  Anders Carlsson  <andersca@apple.com>
3369
3370         Replace more uses of AtomicallyInitializedStatic with std::call_once
3371         https://bugs.webkit.org/show_bug.cgi?id=126847
3372
3373         Reviewed by Sam Weinig.
3374
3375         * wtf/Forward.h:
3376         Forward declare NeverDestroyed.
3377
3378 2014-01-11  Zan Dobersek  <zdobersek@igalia.com>
3379
3380         Unreviewed build fix for ports using GCC after r161770.
3381
3382         * wtf/IteratorAdaptors.h:
3383         (WTF::FilterIterator::operator*): Replicating r161797, the const qualifier for
3384         FilterIterator::operator*() is removed since it clashes with some iterator types
3385         that are also const, causing compilation failures with GCC.
3386
3387 2014-01-11  Anders Carlsson  <andersca@apple.com>
3388
3389         Use std::call_once instead of AtomicallyInitializedStatic when creating a HTTP header set
3390         https://bugs.webkit.org/show_bug.cgi?id=126837
3391
3392         Reviewed by Sam Weinig.
3393
3394         * wtf/HashSet.h:
3395         (WTF::HashSet::HashSet):
3396         Add a HashSet constructor that takes an initializer list.
3397
3398 2014-01-11  Sam Weinig  <sam@webkit.org>
3399
3400         Fix the EFL build.
3401
3402         * wtf/IteratorAdaptors.h:
3403         (WTF::TransformIterator::operator*):
3404
3405 2014-01-11  Sam Weinig  <sam@webkit.org>
3406
3407         Add support for null StringViews
3408         https://bugs.webkit.org/show_bug.cgi?id=126827
3409
3410         Reviewed by Anders Carlsson.
3411
3412         - Do some style cleanup while in the neighborhood.
3413
3414         * wtf/text/StringView.h:
3415         (WTF::StringView::StringView):
3416         Add default constructor to create a null StringView.
3417
3418         (WTF::StringView::isNull):
3419         Add isNull(), matching the semantics of String.
3420
3421         (WTF::StringView::operator bool):
3422         Add an explicit operator bool() to allow use in if-statements. 
3423
3424 2014-01-11  Sam Weinig  <sam@webkit.org>
3425
3426         Clean up iterator filter / iterator range code
3427         https://bugs.webkit.org/show_bug.cgi?id=126817
3428
3429         Reviewed by Anders Carlsson.
3430
3431         - Renames IteratorPair to IteratorRange.
3432         - Splits FilterIterator into FilterIterator (which now only filters) and
3433           TransformIterator (which does the transform part of the old FilterIterator).
3434           Move both of these to IteratorAdaptors.h
3435
3436         * GNUmakefile.list.am:
3437         * WTF.vcxproj/WTF.vcxproj:
3438         * WTF.vcxproj/WTF.vcxproj.filters:
3439         * WTF.xcodeproj/project.pbxproj:
3440         * wtf/CMakeLists.txt:
3441         * wtf/FilterIterator.h: Removed.
3442         Add/remove files.
3443
3444         * wtf/HashMap.h:
3445         (WTF::HashMap::keys):
3446         (WTF::HashMap::values):
3447         * wtf/RefPtrHashMap.h:
3448         Update for rename to IteratorRange. Simplify by using makeIteratorRange().
3449
3450         * wtf/IteratorAdaptors.h: Copied from wtf/FilterIterator.h.
3451         (WTF::FilterIterator::FilterIterator):
3452         (WTF::FilterIterator::operator*):
3453         (WTF::makeFilterIterator):
3454         (WTF::TransformIterator::TransformIterator):
3455         (WTF::TransformIterator::operator++):
3456         (WTF::TransformIterator::operator*):
3457         (WTF::TransformIterator::operator==):
3458         (WTF::TransformIterator::operator!=):
3459         (WTF::makeTransformIterator):
3460         Split up filtering and transforming. Add makeFilterIterator() and makeTransformIterator()
3461         helpers.
3462
3463         * wtf/IteratorPair.h: Removed.
3464         * wtf/IteratorRange.h: Copied from wtf/IteratorPair.h.
3465         (WTF::IteratorRange::IteratorRange):
3466         (WTF::makeIteratorRange):
3467         Renamed to IteratorRange and adds makeIteratorRange() helper.
3468
3469 2014-01-10  David Kilzer  <ddkilzer@apple.com>
3470
3471         Clean up architectures in xcconfig files
3472         <http://webkit.org/b/126794>
3473
3474         Reviewed by Andy Estes.
3475
3476         * Configurations/Base.xcconfig:
3477         - Add new arch.
3478
3479 2014-01-10  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
3480
3481         [EFL][JSC] Enable udis86 disassembler on efl.
3482         https://bugs.webkit.org/show_bug.cgi?id=125502
3483
3484         Reviewed by Michael Saboff.
3485
3486         Enable udis86 disassembler on efl and fix build warnings.
3487
3488         * wtf/Platform.h:
3489           Enable udis86 disassembler on EFL.
3490
3491 2014-01-10  Hunseop Jeong  <hs85.jeong@samsung.com>
3492
3493         [EFL] Enable the DFG_JIT on ARMv7
3494         https://bugs.webkit.org/show_bug.cgi?id=126742
3495
3496         Reviewed by Gyuyoung Kim.
3497
3498         Turn on ENABLE_DFG_JIT on ARMv7 for EFL.
3499
3500         * wtf/Platform.h:
3501
3502 2014-01-07  Mark Hahnenberg  <mhahnenberg@apple.com>
3503
3504         Marking should be generational
3505         https://bugs.webkit.org/show_bug.cgi?id=126552
3506
3507         Reviewed by Geoffrey Garen.
3508
3509         * wtf/Bitmap.h:
3510         (WTF::WordType>::count): Added a cast that became necessary when Bitmap
3511         is used with smaller types than int32_t.
3512
3513 2014-01-09  Simon Fraser  <simon.fraser@apple.com>
3514
3515         Enable async scrolling for iOS
3516         https://bugs.webkit.org/show_bug.cgi?id=126730
3517
3518         Reviewed by Tim Horton.
3519         
3520         Turn on ENABLE_ASYNC_SCROLLING for iOS.
3521
3522         * wtf/FeatureDefines.h:
3523
3524 2014-01-09  Anders Carlsson  <andersca@apple.com>
3525
3526         Remove Blackberry and QNX bits from WTF
3527         https://bugs.webkit.org/show_bug.cgi?id=126726
3528
3529         Reviewed by Benjamin Poulain.
3530
3531         * wtf/Assertions.cpp:
3532         * wtf/Atomics.h:
3533         * wtf/CurrentTime.cpp:
3534         (WTF::currentCPUTime):
3535         * wtf/DateMath.cpp:
3536         * wtf/DisallowCType.h:
3537         * wtf/FeatureDefines.h:
3538         * wtf/InlineASM.h:
3539         * wtf/MathExtras.h:
3540         * wtf/NumberOfCores.cpp:
3541         (WTF::numberOfProcessorCores):
3542         * wtf/OSAllocatorPosix.cpp:
3543         (WTF::OSAllocator::reserveUncommitted):
3544         (WTF::OSAllocator::commit):
3545         (WTF::OSAllocator::decommit):
3546         * wtf/Platform.h:
3547         * wtf/PlatformBlackBerry.cmake: Removed.
3548         * wtf/RAMSize.cpp:
3549         (WTF::computeRAMSize):
3550         * wtf/StackBounds.cpp:
3551         * wtf/ThreadingPthreads.cpp:
3552         (WTF::initializeThreading):
3553         (WTF::initializeCurrentThreadInternal):
3554         * wtf/blackberry/MainThreadBlackBerry.cpp: Removed.
3555         * wtf/blackberry/RunLoopBlackBerry.cpp: Removed.
3556         * wtf/text/AtomicString.h:
3557         * wtf/text/StringImpl.h:
3558         * wtf/text/WTFString.h:
3559
3560 2014-01-09  Daniel Bates  <dabates@apple.com>
3561
3562         [iOS] Upstream WebCore/platform changes
3563         https://bugs.webkit.org/show_bug.cgi?id=126654
3564
3565         Rubber-stamped by David Kilzer.
3566
3567         * wtf/MainThread.cpp:
3568         (WTF::canAccessThreadLocalDataForThread):
3569         * wtf/MainThread.h:
3570
3571 2014-01-09  Commit Queue  <commit-queue@webkit.org>
3572
3573         Unreviewed, rolling out r161540.
3574         http://trac.webkit.org/changeset/161540
3575         https://bugs.webkit.org/show_bug.cgi?id=126704
3576
3577         Caused assertion failures on multiple tests (Requested by ap
3578         on #webkit).
3579
3580         * wtf/Bitmap.h:
3581         (WTF::WordType>::count):
3582
3583 2014-01-07  Mark Hahnenberg  <mhahnenberg@apple.com>
3584
3585         Marking should be generational
3586         https://bugs.webkit.org/show_bug.cgi?id=126552
3587
3588         Reviewed by Geoffrey Garen.
3589
3590         * wtf/Bitmap.h:
3591         (WTF::WordType>::count): Added a cast that became necessary when Bitmap
3592         is used with smaller types than int32_t.
3593
3594 2014-01-08  Anders Carlsson  <andersca@apple.com>
3595
3596         Add WTF::StringView and use it for grammar checking
3597         https://bugs.webkit.org/show_bug.cgi?id=126644
3598
3599         Reviewed by Antti Koivisto.
3600
3601         Add a new StringView class which is an immutable reference to either an 8-bit or a 16-bit string.
3602
3603         This makes it easier to pass substrings around without having to either copy string data
3604         or upconvert and use UChar pointers.
3605
3606         The StringView class is very loosely based on the std::string_view class which is proposed for a future version of C++,
3607         see http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3609.html for more details.
3608
3609         * GNUmakefile.list.am:
3610         * WTF.vcxproj/WTF.vcxproj:
3611         * WTF.vcxproj/WTF.vcxproj.filters:
3612         * WTF.xcodeproj/project.pbxproj:
3613         * wtf/CMakeLists.txt:
3614         * wtf/Forward.h:
3615         * wtf/text/StringView.h: Added.
3616         (WTF::StringView::StringView):
3617         (WTF::StringView::empty):
3618         (WTF::StringView::characters8):
3619         (WTF::StringView::characters16):
3620         (WTF::StringView::isEmpty):
3621         (WTF::StringView::length):
3622         (WTF::StringView::is8Bit):
3623         (WTF::StringView::substring):
3624         (WTF::StringView::toString):
3625         (WTF::StringView::toStringWithoutCopying):
3626         (WTF::StringView::encodedCharacters):
3627
3628 2014-01-07  David Farler  <dfarler@apple.com>
3629
3630         [ASAN] Building with trunk clang corrupts sandbox profile with comment from Compiler.h
3631         https://bugs.webkit.org/show_bug.cgi?id=124532
3632
3633         Reviewed by David Kilzer.
3634
3635         * wtf/Compiler.h:
3636         Remove this quirk - it does nothing.
3637
3638 2014-01-06  Filip Pizlo  <fpizlo@apple.com>
3639
3640         Get rid of ENABLE(VALUE_PROFILER). It's on all the time now.
3641
3642         Rubber stamped by Mark Hahnenberg.
3643
3644         * wtf/Platform.h:
3645
3646 2014-01-06  Zan Dobersek  <zdobersek@igalia.com>
3647
3648         Remove using directives for the std namespace from WTF
3649         https://bugs.webkit.org/show_bug.cgi?id=126524
3650
3651         Reviewed by Alexey Proskuryakov.
3652
3653         Remove the using directives for the std namespace throughout the WTF code.
3654         The more explicit std:: nested name specifier should be used instead.
3655
3656         * wtf/MediaTime.cpp:
3657         (WTF::MediaTime::createWithFloat):
3658         (WTF::MediaTime::createWithDouble):
3659         * wtf/text/StringImpl.cpp:
3660         (WTF::StringImpl::create):
3661         (WTF::StringImpl::lower):
3662         (WTF::StringImpl::upper):
3663         (WTF::StringImpl::foldCase):
3664         (WTF::StringImpl::find):
3665         (WTF::StringImpl::findIgnoringCase):
3666         (WTF::reverseFindInner):
3667         (WTF::StringImpl::reverseFind):
3668         (WTF::reverseFindIgnoringCaseInner):
3669         (WTF::StringImpl::reverseFindIgnoringCase):
3670         (WTF::StringImpl::replace):
3671         (WTF::StringImpl::utf8ForCharacters):
3672         (WTF::StringImpl::utf8ForRange):
3673         * wtf/text/WTFString.cpp:
<