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