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