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