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