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