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