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