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