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