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