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