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