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