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