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