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