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