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