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