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