Unreviewed, rolling out r121572.
[WebKit-https.git] / Source / WTF / ChangeLog
1 2012-06-29  Tony Chang  <tony@chromium.org>
2
3         Unreviewed, rolling out r121572.
4         http://trac.webkit.org/changeset/121572
5         https://bugs.webkit.org/show_bug.cgi?id=90249
6
7         Breaks Mac build since it depends on r121547, which was rolled
8         out
9
10         * wtf/ThreadingPthreads.cpp:
11         (WTF::initializeCurrentThreadInternal):
12
13 2012-06-29  Eric Seidel  <eric@webkit.org>
14
15         Remove BUILDING_ON_LEOPARD now that no ports build on Leopard
16         https://bugs.webkit.org/show_bug.cgi?id=90249
17
18         Reviewed by Ryosuke Niwa.
19
20         * wtf/ThreadingPthreads.cpp:
21         (WTF::initializeCurrentThreadInternal):
22
23 2012-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
24
25         Unreviewed, rolling out r121529.
26         http://trac.webkit.org/changeset/121529
27         https://bugs.webkit.org/show_bug.cgi?id=90260
28
29         Failed to compile on Chromium WebKitMacBuilder (Requested by
30         keishi on #webkit).
31
32         * wtf/FastMalloc.cpp:
33         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
34         * wtf/unicode/icu/CollatorICU.cpp:
35         (WTF::Collator::userDefault):
36
37 2012-06-29  Eric Seidel  <eric@webkit.org>
38
39         Remove more BUILDING_ON_LEOPARD branches now that no port builds on Leopard
40         https://bugs.webkit.org/show_bug.cgi?id=90252
41
42         Reviewed by Ryosuke Niwa.
43
44         * wtf/FastMalloc.cpp:
45         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
46         * wtf/unicode/icu/CollatorICU.cpp:
47         (WTF::Collator::userDefault):
48
49 2012-06-29  Eric Seidel  <eric@webkit.org>
50
51         Remove more BUILDING_ON_LEOPARD usage in PLATFORM(MAC) code
52         https://bugs.webkit.org/show_bug.cgi?id=85846
53
54         Reviewed by Adam Barth.
55
56         PLATFORM(MAC) has not supported Leopard for several months now.
57         This change removes about 1/3 of the remaining BUILDING_ON_LEOPARD
58         uses in the PLATFORM(MAC) codepaths.  PLATFORM(CHROMIUM) still
59         supports BUILDING_ON_LEOPARD for now.
60
61         * wtf/Platform.h:
62
63 2012-06-28  Kalev Lember  <kalevlember@gmail.com>
64
65         ThreadingWin: Silence GCC compiler warnings
66         https://bugs.webkit.org/show_bug.cgi?id=89491
67
68         Reviewed by Adam Roben.
69
70         * wtf/ThreadingWin.cpp:
71         (WTF::createThreadInternal):
72         (WTF::PlatformCondition::timedWait):
73         (WTF::PlatformCondition::signal): Fix unused-but-set-variable
74         warnings.
75
76 2012-06-26  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77
78         [Qt] Add missing heades to HEADERS
79
80         For JavaScriptCore there aren't any Qt specific files, so we include all
81         headers for easy editing in Qt Creator.
82
83         Reviewed by Simon Hausmann.
84
85         * WTF.pro:
86
87 2012-06-25  Kent Tamura  <tkent@chromium.org>
88
89         Unreviewed, rolling out r121145.
90         http://trac.webkit.org/changeset/121145
91         https://bugs.webkit.org/show_bug.cgi?id=89847
92
93         Had an objection for the change.
94
95         * wtf/text/StringBuilder.h:
96
97 2012-06-25  Yong Li  <yoli@rim.com>
98
99         [BlackBerry] Add JSC statistics into about:memory
100         https://bugs.webkit.org/show_bug.cgi?id=89779
101
102         Reviewed by Rob Buis.
103
104         Turn on WTF_USE_EXPORT_MACROS for BlackBerry port.
105         This will make macros like JS_EXPORT_PRIVATE work without
106         extra porting.
107
108         * wtf/Platform.h:
109
110 2012-06-25  Adam Barth  <abarth@webkit.org>
111
112         Use InterpolationLow on chromium-android
113         https://bugs.webkit.org/show_bug.cgi?id=89849
114
115         Reviewed by Daniel Bates.
116
117         Introduce a USE macro to control image interpolation quality.
118
119         * wtf/Platform.h:
120
121 2012-06-25  Kent Tamura  <tkent@chromium.org>
122
123         Change the serialization format of form control state to make the code simple
124         https://bugs.webkit.org/show_bug.cgi?id=89847
125
126         Reviewed by Hajime Morita.
127
128         * wtf/text/StringBuilder.h:
129         (WTF::StringBuilder::appendEscaped): Added. This function adds the
130         escaped form of the input string. e.g. if stiring="foo,bar" escape='\'
131         special=',', the appended string is foo\,bar.
132
133 2012-06-24  Adam Barth  <abarth@webkit.org>
134
135         Remove USE(CHROMIUM_NET) because it is unused
136         https://bugs.webkit.org/show_bug.cgi?id=89850
137
138         Reviewed by Eric Seidel.
139
140         I didn't see any mentions of CHROMIUM_NET when I grepped the Source
141         directory. Also, this USE macro isn't defined on OS(DARWIN) or
142         OS(ANDROID), which seems a bit odd given that Chromium uses the same
143         network stack on all platforms.
144
145         * wtf/Platform.h:
146
147 2012-06-22  Peter Beverloo  <peter@chromium.org>
148
149         [Chromium] Disable c++0x compatibility warnings in JavaScriptCore.gyp when building for Android
150         https://bugs.webkit.org/show_bug.cgi?id=88853
151
152         Reviewed by Steve Block.
153
154         The Android exclusions were necessary to fix a gyp generation error, as
155         the gcc_version variable wasn't being defined for Android. Remove these
156         exceptions when Chromium is able to define the gcc_version variable.
157
158         * WTF.gyp/WTF.gyp:
159
160 2012-06-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
161
162         Causes crashes in LLVMPipe
163         https://bugs.webkit.org/show_bug.cgi?id=89358
164
165         Reviewed by Martin Robinson.
166
167         Change suggested by Dave Airlie and Xan Lopez.
168
169         * wtf/Platform.h: disable global fastMalloc for GTK+
170
171 2012-06-22  Mario Sanchez Prada  <msanchez@igalia.com>
172
173         Memory corruption on HashTable.h
174         https://bugs.webkit.org/show_bug.cgi?id=88419
175
176         Reviewed by Martin Robinson.
177
178         Simplify definition of WTF_USE_PTHREADS and HAVE_PTHREAD_RWLOCK
179         for the GTK platform using OS(LINUX) instead of HAVE(PTHREAD_H).
180
181         * wtf/Platform.h:
182
183 2012-06-21  Parth Patel  <parpatel@rim.com>
184
185         [Blackberry] BlackBerry::Platform::Settings::get() rename to BlackBerry::Platform::Settings::instance() to make it consistent with our other singletons
186         https://bugs.webkit.org/show_bug.cgi?id=89684
187
188         Reviewed by Yong Li.
189         
190         Update setting instance access to use instance() instead of get().
191
192         * wtf/ThreadingPthreads.cpp:
193         (WTF::createThreadInternal):
194
195 2012-06-21  Kalev Lember  <kalevlember@gmail.com>
196
197         [GTK] Fix NPAPI plugins on Windows
198         https://bugs.webkit.org/show_bug.cgi?id=54531
199
200         Reviewed by Martin Robinson.
201
202         Define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH for the GTK+ port, and
203         include OwnPtrWin.cpp in the list of files built on Windows.
204
205         * GNUmakefile.am:
206         * GNUmakefile.list.am:
207         * wtf/Platform.h:
208
209 2012-06-21  Balazs Kelemen  <kbalazs@webkit.org>
210
211         Compile error: 'bool std::isinf(float)' is not 'constexpr' with GCC 4.6 in C++11 mode
212         https://bugs.webkit.org/show_bug.cgi?id=88721
213
214         Reviewed by Csaba Osztrogonác.
215
216         Don't define these as consexpr because with gcc 4.6
217         they call non constexpr functions.
218         * wtf/MathExtras.h:
219         (std::wtf_isinf):
220         (std::wtf_isnan):
221
222 2012-06-17  Filip Pizlo  <fpizlo@apple.com>
223
224         It should be possible to look at disassembly
225         https://bugs.webkit.org/show_bug.cgi?id=89319
226
227         Reviewed by Sam Weinig.
228         
229         Made changes to Assertions.h to make it friendly to C code again.
230         
231         Added ENABLE(DISASSEMBLER) and USE(UDIS86) logic to Platform.h.
232
233         * wtf/Assertions.h:
234         * wtf/Platform.h:
235
236 2012-06-19  Jon Honeycutt  <jhoneycutt@apple.com>
237
238         REGRESSION(r120552): Many tests timing out on Windows
239         https://bugs.webkit.org/show_bug.cgi?id=89433
240
241         Reviewed by Andy Estes.
242
243         * wtf/CurrentTime.cpp:
244         (WTF::lowResUTCTime):
245         It looks like there were two bugs:
246         1) the function was converting from 100ths of nanoseconds to seconds
247            rather than 100s of nanoseconds to seconds by dividing by
248            (nsPerSecond * 100) rather than (nsPerSecond / 100)
249         2) the function should've been returning milliseconds, not seconds
250
251 2012-06-18  Tony Payne  <tpayne@chromium.org>
252
253         [chromium] Add iccjpeg and qcms to chromium port.
254         https://bugs.webkit.org/show_bug.cgi?id=81974
255
256         * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
257         to each Chromium platform, excluding Android.
258
259         Reviewed by Adam Barth.
260
261 2012-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
262
263         Unreviewed, rolling out r120485 and r120582.
264         http://trac.webkit.org/changeset/120485
265         http://trac.webkit.org/changeset/120582
266         https://bugs.webkit.org/show_bug.cgi?id=89345
267
268         chromeos tree breakage (Requested by morrita on #webkit).
269
270         * wtf/Platform.h:
271
272 2012-06-17  Patrick Gansterer  <paroga@webkit.org>
273
274         [WIN] Simplify implementation of currentTime()
275         https://bugs.webkit.org/show_bug.cgi?id=83156
276
277         Reviewed by Brent Fulgham.
278
279         Use GetSystemTimeAsFileTime() instead of ftime().
280         This avoids an unneeded call to the MS CRT and
281         brings the Win/WinCE code closer together.
282
283         * wtf/CurrentTime.cpp:
284         (WTF::lowResUTCTime):
285         (WTF::currentTime):
286
287 2012-06-15  Tony Payne  <tpayne@chromium.org>
288
289         [chromium] Add iccjpeg and qcms to chromium port.
290         https://bugs.webkit.org/show_bug.cgi?id=81974
291
292         * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
293         to each Chromium platform, excluding Android.
294
295         Reviewed by Adam Barth.
296
297 2012-06-14  Sheriff Bot  <webkit.review.bot@gmail.com>
298
299         Unreviewed, rolling out r120393.
300         http://trac.webkit.org/changeset/120393
301         https://bugs.webkit.org/show_bug.cgi?id=89163
302
303         breaks cr-mac build (Requested by morrita on #webkit).
304
305         * wtf/Platform.h:
306
307 2012-06-14  Tony Payne  <tpayne@chromium.org>
308
309         [chromium] Add iccjpeg and qcms to chromium port.
310         https://bugs.webkit.org/show_bug.cgi?id=81974
311
312         * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
313         to each Chromium platform, excluding Android.
314
315         Reviewed by Adam Barth.
316
317 2012-06-14  Yong Li  <yoli@rim.com>
318
319         [BlackBerry] Implement computeRAMSize for QNX
320         https://bugs.webkit.org/show_bug.cgi?id=89110
321
322         Reviewed by Rob Buis.
323
324         * wtf/RAMSize.cpp:
325         (WTF::computeRAMSize):
326
327 2012-06-14  Geoffrey Garen  <ggaren@apple.com>
328
329         ARMv7 should support spinlocks
330         https://bugs.webkit.org/show_bug.cgi?id=88957
331
332         Reviewed by Darin Adler.
333
334         More info @ http://infocenter.arm.com/help/topic/
335         com.arm.doc.genc007826/Barrier_Litmus_Tests_and_Cookbook_A08.pdf
336
337         * wtf/Atomics.h:
338         (WTF::memoryBarrierAfterLock):
339         (WTF::memoryBarrierBeforeUnlock): Added memory barrier primitives since
340         ARMv7 has a weakly ordered memory model.
341
342         * wtf/Platform.h: Enabled compare-and-swap on Windows so our spinlock
343         implementation would continue working on Windows.
344
345         * wtf/TCSpinLock.h:
346         (TCMalloc_SpinLock::Lock):
347         (TCMalloc_SpinLock::Unlock):
348         (TCMalloc_SpinLock): Use our compare-and-swap helper function to avoid
349         rewriting it in assembly here.
350
351         Added memory barriers since ARMv7 needs them.
352
353         Removed PPC support because our helper function doesn't support PPC.
354
355 2012-06-13  Arnaud Renevier  <arno@renevier.net>
356
357         make sure headers are included only once per file
358         https://bugs.webkit.org/show_bug.cgi?id=88929
359
360         Reviewed by Kentaro Hara.
361
362         * wtf/FastMalloc.cpp:
363         * wtf/MathExtras.h:
364         * wtf/OSAllocator.h:
365
366 2012-06-13  Benjamin Poulain  <benjamin@webkit.org>
367
368         Implement the simple constructors WTFURL's KURL
369         https://bugs.webkit.org/show_bug.cgi?id=85724
370
371         Reviewed by Adam Barth.
372
373         This patch extends WTFURL with:
374         -support basic debugging using print() methods
375         -parsing in the incomming string character set (8bits or 16bits)
376         -add a function for parsing of relative URL (but no implementation yet)
377
378         * WTF.xcodeproj/project.pbxproj:
379         * wtf/text/WTFString.h:
380         (String):
381         * wtf/url/api/ParsedURL.cpp:
382         (WTF::ParsedURL::ParsedURL):
383         (WTF):
384         (WTF::ParsedURL::hasFragment): Add this method to query the framgent availability without
385         allocating a new String.
386         (WTF::ParsedURL::withoutFragment): This method is added to implement KURL::removeFragmentIdentifier() and
387         the parsing of empty relative URL (where we return the base without fragment).
388         (WTF::ParsedURL::print):
389         * wtf/url/api/ParsedURL.h:
390         (ParsedURL):
391         (WTF::ParsedURL::spec):
392         * wtf/url/api/URLString.h:
393         (URLString):
394         * wtf/url/src/URLParser.h:
395         (WTF):
396         (URLParser):
397         (WTF::URLParser::parseURLWithBase):
398         * wtf/url/src/URLSegments.cpp:
399         (WTF::URLSegments::length):
400         (WTF::URLSegments::charactersBefore):
401         * wtf/url/src/URLSegments.h:
402         (URLSegments):
403         Change the boolean argument includeDelimiter in favor of an enum to improve readability.
404
405 2012-06-13  Filip Pizlo  <fpizlo@apple.com>
406
407         DFG should be able to set watchpoints on global variables
408         https://bugs.webkit.org/show_bug.cgi?id=88692
409
410         Reviewed by Geoffrey Garen.
411         
412         Added ability to set the inline capacity of segmented vectors.
413         
414         Also added the ability ot ASSERT_NOT_REACHED() without having to
415         propagate NO_RETURN macros, which would be a show-stopper for code
416         that is conditionally unreachable.
417
418         * wtf/Assertions.h:
419         (UNREACHABLE_FOR_PLATFORM):
420         * wtf/SegmentedVector.h:
421         (WTF):
422         (SegmentedVectorIterator):
423         (WTF::SegmentedVectorIterator::operator=):
424         (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
425         (SegmentedVector):
426
427 2012-06-13  Sheriff Bot  <webkit.review.bot@gmail.com>
428
429         Unreviewed, rolling out r120172.
430         http://trac.webkit.org/changeset/120172
431         https://bugs.webkit.org/show_bug.cgi?id=88976
432
433         The patch causes compilation failures on Gtk, Qt and Apple Win
434         bots (Requested by zdobersek on #webkit).
435
436         * wtf/SegmentedVector.h:
437         (WTF):
438         (SegmentedVectorIterator):
439         (WTF::SegmentedVectorIterator::operator=):
440         (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
441         (SegmentedVector):
442
443 2012-06-10  Filip Pizlo  <fpizlo@apple.com>
444
445         DFG should be able to set watchpoints on global variables
446         https://bugs.webkit.org/show_bug.cgi?id=88692
447
448         Reviewed by Geoffrey Garen.
449         
450         Added ability to set the inline capacity of segmented vectors.
451
452         * wtf/SegmentedVector.h:
453         (WTF):
454         (SegmentedVectorIterator):
455         (WTF::SegmentedVectorIterator::operator=):
456         (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
457         (SegmentedVector):
458
459 2012-06-12  Geoffrey Garen  <ggaren@apple.com>
460
461         Try to fix the build.
462
463         Maybe don't export inlined functions.
464
465         * wtf/ThreadingPrimitives.h:
466         (WTF::MutexTryLocker::MutexTryLocker):
467         (WTF::MutexTryLocker::~MutexTryLocker):
468         (WTF::MutexTryLocker::locked):
469
470 2012-06-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
471
472         Using extrernal ICU library on case unsensitive drives will not work
473         https://bugs.webkit.org/show_bug.cgi?id=70913
474
475         Reviewed by Csaba Osztrogonác.
476
477         Properly set the include path for the WTF module and for modules using it.
478         The path should include Source/WTF/wtf only when building WTF itself. Other
479         modules are expected to include the headers as #include <wtf/Header.h>, so
480         only add Source/WTF to their include path.
481
482         "unicode/utf8.h" should now then always reference to ICU in the include path
483         and "wtf/unicode/UTF8.h" reference to the WTF version.
484         This will work as long as WTF object files don't depend on ICU themselves.
485
486         Removed gobject, qt and unicode from the include path as those directories
487         don't exist anymore.
488
489         * WTF.pri:
490         * WTF.pro:
491
492 2012-06-11  Carlos Garcia Campos  <cgarcia@igalia.com>
493
494         Unreviewed. Fix make distcheck issues.
495
496         * GNUmakefile.list.am: Add missing header file.
497
498 2012-06-09  Dominic Cooney  <dominicc@chromium.org>
499
500         [Chromium] Remove JavaScriptCore dependencies from gyp
501         https://bugs.webkit.org/show_bug.cgi?id=88510
502
503         Reviewed by Adam Barth.
504
505         Chromium doesn't support JSC any more and there doesn't seem to be
506         a strong interest in using GYP as the common build system in other
507         ports.
508
509         * WTF.gyp/WTF.gyp:
510
511 2012-06-08  Andy Wingo  <wingo@igalia.com>
512
513         Explictly mark stubs called by JIT as being internal
514         https://bugs.webkit.org/show_bug.cgi?id=88552
515
516         Reviewed by Filip Pizlo.
517
518         * wtf/ExportMacros.h (WTF_INTERNAL, HAVE_INTERNAL_VISIBILITY): New
519         defines.  Regardless of what the port does about visibility in
520         general, for code referenced only from assembly it is useful to
521         give it internal visibility.
522         * wtf/InlineASM.h: Split SYMBOL_STRING_RELOCATION into
523         LOCAL_REFERENCE and GLOBAL_REFERENCE; the former will try to avoid
524         indirection if HAVE(INTERNAL_VISIBILITY).
525
526 2012-06-07  Csaba Osztrogonác  <ossy@webkit.org>
527
528         [Qt][Win] Fix linking WTF with ICU
529         https://bugs.webkit.org/show_bug.cgi?id=88302
530
531         Reviewed by Simon Hausmann.
532
533         * WTF.pri: Use proper library names on win32 platforms.
534
535 2012-06-06  Michael Saboff  <msaboff@apple.com>
536
537         ENH: Add Logging to GC Marking Phase
538         https://bugs.webkit.org/show_bug.cgi?id=88364
539
540         Reviewed by Filip Pizlo.
541
542         * wtf/DataLog.cpp:
543         (WTF::dataLogString): Additional method to support GC Mark logging.
544         * wtf/DataLog.h:
545         * wtf/Platform.h: New ENABLE_OBJECT_MARK_LOGGING flag macro.
546
547 2012-06-06  Andy Wingo  <wingo@igalia.com>
548
549         [GTK] Enable the LLInt
550         https://bugs.webkit.org/show_bug.cgi?id=88315
551
552         Reviewed by Filip Pizlo.
553
554         * wtf/InlineASM.h: Add an implementation of LOCAL_LABEL_STRING for
555         OS(LINUX).
556         * wtf/Platform.h: Add OS(LINUX) to the set of operating systems
557         for ENABLE_LLINT.  Add a specific check for PLATFORM(MAC) or
558         PLATFORM(IOS), and add to that a check for PLATFORM(GTK).
559
560 2012-06-05  Roland Takacs  <takacs.roland@stud.u-szeged.hu>
561
562         [Qt] Use GraphicsContext3DOpenGLES.cpp when using OpenGL ES
563         https://bugs.webkit.org/show_bug.cgi?id=78720
564
565         Reviewed by Noam Rosenthal.
566
567         Defined a global Opengl ES macro to check OpenGL ES on every platforms.
568
569         * wtf/Platform.h:
570
571 2012-06-04  Takashi Toyoshima  <toyoshim@chromium.org>
572
573         [WebSocket] Send requires super linear time against data size
574         https://bugs.webkit.org/show_bug.cgi?id=87383
575
576         Reviewed by Kent Tamura.
577
578         * wtf/StreamBuffer.h: Added.
579         (WTF):
580         (StreamBuffer):
581         (WTF::StreamBuffer::StreamBuffer):
582         (WTF::StreamBuffer::~StreamBuffer):
583         (WTF::StreamBuffer::isEmpty):
584         (WTF::StreamBuffer::append):
585         (WTF::StreamBuffer::consume):
586         (WTF::StreamBuffer::size):
587         (WTF::StreamBuffer::firstBlockData):
588         (WTF::StreamBuffer::firstBlockSize):
589
590 2012-06-04  Patrick Gansterer  <paroga@webkit.org>
591
592         Port RAMSize to WinCE
593         https://bugs.webkit.org/show_bug.cgi?id=87854
594
595         Reviewed by Geoffrey Garen.
596
597         WinCE has no GlobalMemoryStatusEx() function. Use GlobalMemoryStatus() instead.
598
599         * wtf/RAMSize.cpp:
600         (WTF::computeRAMSize):
601
602 2012-06-01  Xianzhu Wang  <wangxianzhu@chromium.org>
603
604         Remove dependency from ImageDiff to WTF
605         https://bugs.webkit.org/show_bug.cgi?id=88147
606
607         Reviewed by Adam Barth.
608
609         * WTF.gyp/WTF.gyp:
610
611 2012-06-01  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
612
613         [Qt] Save one copy when going from 8-bit WTF::String to QString
614
615         Asking for characters() of an 8-bit string will make a 16-bit copy internally
616         in WTF::String. Since we're going to copy the data to QStringData anyways, which
617         is 16-bit, we can do the conversion ourselves and save one copy.
618
619         Reviewed by Simon Hausmann.
620
621         * wtf/qt/StringQt.cpp:
622         (WTF::String::operator QString):
623
624 2012-05-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
625
626         [Qt] Make conversion from QString to WTF::String (and back again) ~free
627
628         https://bugs.webkit.org/show_bug.cgi?id=87847
629
630         Instead of copying the QString data when converting to a WTF::String we
631         make the WTF::String adopt the QString data by introducing a new buffer
632         ownership type, and pointing the internal WTF::StringImpl 16-bit data
633         member to the string data managed by QStringData.
634
635         We make sure to reference the QStringData when adopting, so that the
636         data will stay alive, and then dereference it when the WTF::StringImpl
637         is deleted, which will free the QStringData (either straight away, if
638         we're the only one holding a reference still, or later, when the ref
639         count goes to 0).
640
641         In the case of going back from a WTF::String to a QString we can cheat
642         a bit (avoid a copy), if we know that the WTF::String was adopted from
643         a QString, since it's then just a matter of having the QString adopt
644         the existing QStringData (just like a regular QString copy).
645
646         If the WTF::String buffer is not owned by QStringData, eg a regular
647         8-bit or 16-bit string/substring, we have to fall back to copying,
648         as before (though there are potential optimization tricks we can
649         apply here later on).
650
651         Reviewed by Gavin Barraclough.
652
653         * wtf/qt/StringQt.cpp:
654         * wtf/text/StringImpl.cpp:
655         * wtf/text/StringImpl.h:
656
657 2012-06-01  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
658
659         [EFL] Implement PlatformStrategies
660         https://bugs.webkit.org/show_bug.cgi?id=86946
661
662         Reviewed by Carlos Garcia Campos.
663
664         * wtf/Platform.h: Enable PLATFORM_STRATEGIES for EFL platform.
665
666 2012-05-31  Anders Carlsson  <andersca@apple.com>
667
668         Enable support for rvalue references when building with a version of clang that supports them
669         https://bugs.webkit.org/show_bug.cgi?id=88018
670
671         Re-enable support for rvalue references when building with a version of Xcode newer than 4.2.
672
673         * wtf/Compiler.h:
674
675 2012-05-31  Filip Pizlo  <fpizlo@apple.com>
676
677         DataLog should be usable outside of JSC
678         https://bugs.webkit.org/show_bug.cgi?id=88015
679
680         Reviewed by Oliver Hunt.
681
682         * wtf/DataLog.h:
683         (WTF):
684
685 2012-05-31  Anders Carlsson  <andersca@apple.com>
686
687         Disable support for rvalue references until I figure out why this is breaking the Xcode 4.2 build.
688
689         * wtf/Compiler.h:
690
691 2012-05-31  Anders Carlsson  <andersca@apple.com>
692
693         Vector should have a move constructor and move assignment operator
694         https://bugs.webkit.org/show_bug.cgi?id=87997
695
696         Reviewed by Andreas Kling.
697
698         * wtf/Compiler.h:
699         Use __has_extension so we can use move semantics and other C++11 features even when building as C++98.
700
701         * wtf/Vector.h:
702         Add a move constructor and a move assignment operator to Vector.
703
704 2012-05-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
705
706         [Qt] Simplify QT_VERSION_CHECKS for Qt5 by introducing HAVE(QT5)
707         https://bugs.webkit.org/show_bug.cgi?id=87955
708
709         Reviewed by Simon Hausmann.
710
711         * wtf/qt/UtilsQt.h:
712
713 2012-05-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
714
715         HashTable.h has using directives for std::pair and std::make_pair
716         https://bugs.webkit.org/show_bug.cgi?id=29919
717
718         Reviewed by Darin Adler.
719
720         * wtf/HashTraits.h:
721         (WTF): Remove the directives.
722
723 2012-05-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
724
725         HashTable.h has using directives for std::pair and std::make_pair
726         https://bugs.webkit.org/show_bug.cgi?id=29919
727
728         Reviewed by Darin Adler.
729
730         Change code to use std::pair and std::make_pair. Later patch will remove the
731         'using' directives.
732
733         * wtf/HashTable.h:
734         (WTF::hashTableSwap):
735         (HashTable):
736         * wtf/HashTraits.h:
737         (PairHashTraits):
738         (WTF::PairHashTraits::emptyValue):
739
740 2012-05-30  Patrick Gansterer  <paroga@webkit.org>
741
742         Build fix for WinCE after r118603.
743
744         * wtf/Atomics.h:
745         (WTF::weakCompareAndSwap):
746
747 2012-05-29  Anders Carlsson  <andersca@apple.com>
748
749         String should be move enabled/optimized
750         https://bugs.webkit.org/show_bug.cgi?id=87596
751
752         Reviewed by Andreas Kling.
753
754         Add move constructors and move assignment operators to String and AtomicString when building with
755         compilers that support rvalue references. This gets rid of ref-churn when the source of the 
756         constructor or assignment is a temporary object.
757
758         * wtf/text/AtomicString.h:
759         (AtomicString):
760         (WTF::AtomicString::AtomicString):
761         (WTF::AtomicString::operator=):
762         * wtf/text/WTFString.h:
763         (String):
764         (WTF::String::String):
765         (WTF::String::operator=):
766
767 2012-05-29  Alexandre Elias  <aelias@google.com>
768
769         Support WebKit log messages on Android
770         https://bugs.webkit.org/show_bug.cgi?id=87773
771
772         Reviewed by Darin Adler.
773
774         This sends WebKit log messages to the Android "logcat" facility, as
775         Android sends stderr to /dev/null.
776
777         * wtf/Assertions.cpp:
778
779 2012-05-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
780
781         [Qt] Remove duplication of logic for disabling selected warnings related to C++11
782
783         This is already handled in unix/default_post.prf
784
785         Reviewed by Simon Hausmann.
786
787         * WTF.pro:
788
789 2012-05-27  Darin Adler  <darin@apple.com>
790
791         Fix an incorrect assertion in Vector::remove
792         https://bugs.webkit.org/show_bug.cgi?id=87612
793
794         Reviewed by Dan Bernstein.
795
796         * wtf/Vector.h: There's no good reason to disallow calling remove
797         with a size of 0, even when the position is at the end of the vector,
798         so changed the two-argument Vector::remove assertion to assert that
799         the position is <= size rather than < size.
800
801 2012-05-27  Yoshifumi Inoue  <yosin@chromium.org>
802
803         [WTF] Introduce UINT64_C to MathExtras.h
804         https://bugs.webkit.org/show_bug.cgi?id=87485
805
806         Reviewed by Kent Tamura.
807
808         * wtf/MathExtras.h:
809
810 2012-05-25  Filip Pizlo  <fpizlo@apple.com>
811
812         weakCompareAndSwap should work on Windows
813         https://bugs.webkit.org/show_bug.cgi?id=87549
814
815         Reviewed by Jessie Berlin.
816
817         * wtf/Atomics.h:
818         (WTF):
819         (WTF::weakCompareAndSwap):
820
821 2012-05-24  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
822
823         cti_vm_throw gets kicked out by gcc 4.6 -flto
824         https://bugs.webkit.org/show_bug.cgi?id=56088
825
826         Reviewed by Darin Adler.
827
828         Define REFERENCED_FROM_ASM to __attribute__((used)) on GCC.
829
830         * wtf/Compiler.h:
831
832 2012-05-23  Darin Adler  <darin@apple.com>
833
834         Optimize iteration of empty hash tables
835         https://bugs.webkit.org/show_bug.cgi?id=87215
836
837         Reviewed by Geoffrey Garen.
838
839         Iteration of empty hash tables was showing up on simple page loading
840         profiles due to the use of hash tables in the
841         NodeListsNodeData::invalidateCaches and
842         NodeListsNodeData::invalidateCachesThatDependOnAttributes functions.
843         It's worth optimizing the case of an empty table.
844
845         * wtf/HashTable.h:
846         (WTF::HashTable::begin): Return the known-good end iterator when the
847         table is empty. This makes iterating an empty table faster because we
848         avoid skipping empty and deleted buckets.
849
850 2012-05-22  Geoffrey Garen  <ggaren@apple.com>
851
852         Build fix.
853
854         * wtf/RAMSize.cpp:
855         (WTF::computeRAMSize): sysctl expects a uint64_t, so use that and then
856         cast back to size_t. Since it's coneivable that a 32bit process would
857         run on a system with more than 4GB RAM, I added a paranoid check for
858         that condition.
859
860 2012-05-22  Jessie Berlin  <jberlin@apple.com>
861
862         Build fix.
863
864         * wtf/RAMSize.cpp:
865         (WTF::computeRAMSize):
866         If you say you are going to return a size_t, actually return a size_t.
867
868 2012-05-21  Geoffrey Garen  <ggaren@apple.com>
869
870         GC allocation trigger should be tuned to system RAM
871         https://bugs.webkit.org/show_bug.cgi?id=87039
872
873         Reviewed by Darin Adler.
874
875         Added a helper function for measuring system RAM.
876
877         * GNUmakefile.list.am:
878         * WTF.gypi:
879         * WTF.pro:
880         * WTF.vcproj/WTF.vcproj:
881         * WTF.xcodeproj/project.pbxproj:
882         * wtf/AmountOfRAM.cpp: Added.
883         (WTF):
884         (WTF::computeAmountOfRAM):
885         (WTF::amountOfRAM):
886         * wtf/AmountOfRAM.h: Added.
887         (WTF):
888         * wtf/CMakeLists.txt:
889         * wtf/StdLibExtras.h:
890         (WTF):
891
892 2012-05-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
893
894         GCC 4.7 and C++11 support.
895         https://bugs.webkit.org/show_bug.cgi?id=86465
896
897         Reviewed by Darin Adler.
898
899         Detect C++11 mode in GCC 4.7 and set appropiate compiler feature flags.
900         Turn C++11 override control into a compiler feature flag.
901         Fix non-clang support of compiler feature CXX_DELETED_FUNCTIONS.
902
903         * wtf/Compiler.h:
904         * wtf/Noncopyable.h:
905
906 2012-05-22  Filip Pizlo  <fpizlo@apple.com>
907
908         REGRESSION(r117861): It made almost all tests crash on Qt
909         https://bugs.webkit.org/show_bug.cgi?id=87082
910
911         Reviewed by Csaba Osztrogonác.
912         
913         Using OwnArrayPtr is a bad idea if you allocate array with fastCalloc.
914
915         * wtf/FastBitVector.h:
916         (WTF::FastBitVector::FastBitVector):
917         (WTF::FastBitVector::~FastBitVector):
918         (FastBitVector):
919         (WTF::FastBitVector::operator=):
920         (WTF::FastBitVector::resize):
921         (WTF::FastBitVector::setAll):
922         (WTF::FastBitVector::clearAll):
923         (WTF::FastBitVector::set):
924
925 2012-05-21  Filip Pizlo  <fpizlo@apple.com>
926
927         DFG should be able to compute dominators
928         https://bugs.webkit.org/show_bug.cgi?id=85269
929
930         Reviewed by Oliver Hunt.
931         
932         Merged r115754 from dfgopt.
933         
934         Added a bitvector class suitable for cheap static analysis. This class
935         differs from BitVector in that instead of optimizing for space, it
936         optimizes for execution time. Its API is also somewhat less friendly,
937         which is intentional; it's meant to be used in places where you know
938         up front how bit your bitvectors are going to be.
939
940         * GNUmakefile.list.am:
941         * WTF.vcproj/WTF.vcproj:
942         * WTF.xcodeproj/project.pbxproj:
943         * wtf/FastBitVector.h: Added.
944         (WTF):
945         (FastBitVector):
946         (WTF::FastBitVector::FastBitVector):
947         (WTF::FastBitVector::operator=):
948         (WTF::FastBitVector::numBits):
949         (WTF::FastBitVector::resize):
950         (WTF::FastBitVector::setAll):
951         (WTF::FastBitVector::clearAll):
952         (WTF::FastBitVector::set):
953         (WTF::FastBitVector::setAndCheck):
954         (WTF::FastBitVector::equals):
955         (WTF::FastBitVector::merge):
956         (WTF::FastBitVector::filter):
957         (WTF::FastBitVector::exclude):
958         (WTF::FastBitVector::clear):
959         (WTF::FastBitVector::get):
960         (WTF::FastBitVector::arrayLength):
961
962 2012-05-15  Gavin Barraclough  <barraclough@apple.com>
963
964         Add support for private names
965         https://bugs.webkit.org/show_bug.cgi?id=86509
966
967         Reviewed by Oliver Hunt.
968
969         The spec isn't final, but we can start adding support to allow property maps
970         to contain keys that aren't identifiers.
971
972         * wtf/text/StringImpl.h:
973         (WTF::StringImpl::StringImpl):
974         (StringImpl):
975         (WTF::StringImpl::createEmptyUnique):
976         (WTF::StringImpl::isEmptyUnique):
977             - Allow empty string impls to be allocated, which can be used as unique keys.
978
979 2012-05-21  Emil A Eklund <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
980
981         Enable SUBPIXEL_LAYOUT feature flag on Chromium
982         https://bugs.webkit.org/show_bug.cgi?id=85555
983
984         Reviewed by Eric Seidel.
985
986         Enabling sub-pixel layout on Chromium port.
987
988         * wtf/Platform.h:
989
990 2012-05-21  Andreas Kling  <kling@webkit.org>
991
992         CSS: Move duplicate property elimination to parser.
993         <http://webkit.org/b/86948>
994
995         Reviewed by Antti Koivisto.
996
997         Add WTF::BitArray, a simple, malloc free, fixed-size bit array class.
998
999         * GNUmakefile.list.am:
1000         * WTF.gypi:
1001         * WTF.pro:
1002         * WTF.vcproj/WTF.vcproj:
1003         * WTF.xcodeproj/project.pbxproj:
1004         * wtf/BitArray.h: Added.
1005         (WTF):
1006         (BitArray):
1007         (WTF::BitArray::BitArray):
1008         (WTF::BitArray::set):
1009         (WTF::BitArray::get):
1010         * wtf/CMakeLists.txt:
1011
1012 2012-05-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1013
1014         Colliding isinf/isnan between C99 and C++11 with GCC >=4.6
1015         https://bugs.webkit.org/show_bug.cgi?id=59249
1016
1017         Reviewed by Darin Adler.
1018
1019         Workaround the isinf and isnan conflict in GCC C++11.
1020
1021         * wtf/Compiler.h:
1022         * wtf/MathExtras.h:
1023         (std::wtf_isinf):
1024         (std::wtf_isnan):
1025
1026 2012-05-21  Andreas Kling  <kling@webkit.org>
1027
1028         REGRESSION(r117501): IconDatabase asserts on startup in synchronousIconForPageURL().
1029         <http://webkit.org/b/86935>
1030         <rdar://problem/11480012>
1031
1032         Reviewed by Anders Carlsson.
1033
1034         Added a swap() to HashCountedSet.
1035
1036         * wtf/HashCountedSet.h:
1037         (HashCountedSet::swap):
1038
1039 2012-05-16  Geoffrey Garen  <ggaren@apple.com>
1040
1041         This is not a joke: 3.7X speedup from removing a call to sleep
1042         https://bugs.webkit.org/show_bug.cgi?id=86702
1043
1044         Reviewed by Eric Seidel.
1045
1046         The speedup was on a GC benchmark, with a custom VM caching layer
1047         not in TOT yet.
1048
1049         Instruments showed most GC threads spending the majority of their
1050         time sleeping instead of doing useful work. Removing the call to
1051         sleep sped up the benchmark.
1052
1053         * wtf/TCSpinLock.h:
1054         (TCMalloc_SlowLock): Since a spin lock is only ever held for a short
1055         amount of time, don't sleep for a long amount of time waiting for it
1056         to unlock -- yielding to the scheduler is sufficient.
1057
1058         If we find a case where someone is sitting on a spin lock for over 2ms,
1059         we should fix the spin lock holder, not the spin lock.
1060
1061 2012-05-16  Simon Fraser  <simon.fraser@apple.com>
1062
1063         Make things build with DUMP_HASHTABLE_STATS=1
1064         https://bugs.webkit.org/show_bug.cgi?id=86571
1065
1066         Reviewed by Geoffrey Garen.
1067         
1068         DUMP_HASHTABLE_STATS bitrotted after the WTF separation. This patch
1069         makes it build.
1070         
1071         Added WTF_EXPORTDATA to the global data, and WTF_EXPORT_PRIVATE to
1072         the static HashTableStats methods. Added a dumpStats() method
1073         that is not yet called anywhere; we can no longer rely on destroying
1074         a global object to dump the stats because global destructors are
1075         disallowed.
1076
1077         * wtf/HashTable.cpp:
1078         (WTF):
1079         (WTF::HashTableStats::recordCollisionAtCount):
1080         (WTF::HashTableStats::dumpStats):
1081         * wtf/HashTable.h:
1082         (HashTableStats):
1083
1084 2012-05-15  Filip Pizlo  <fpizlo@apple.com>
1085
1086         shrinkToFit() is often not called for Vectors in CodeBlock
1087         https://bugs.webkit.org/show_bug.cgi?id=86436
1088
1089         Reviewed by Oliver Hunt.
1090         
1091         Gave SegmentedVector a shrinkToFit() method. This only shrinks the segment
1092         lookup table, which is likely to not be hugely profitable, but it is better
1093         than nothing.
1094
1095         * wtf/SegmentedVector.h:
1096         (SegmentedVector):
1097         (WTF::SegmentedVector::shrinkToFit):
1098
1099 2012-05-15  Andy Estes  <aestes@apple.com>
1100
1101         Add WTF_USE_SECURITY_FRAMEWORK and use it in place of the less specific PLATFORM(MAC)
1102         https://bugs.webkit.org/show_bug.cgi?id=86508
1103
1104         Reviewed by Sam Weinig.
1105
1106         * wtf/Platform.h:
1107
1108 2012-05-15  Zoltan Herczeg  <zherczeg@webkit.org>
1109
1110         NEONizing forceValidPreMultipliedPixels
1111         https://bugs.webkit.org/show_bug.cgi?id=86468
1112
1113         Reviewed by Nikolas Zimmermann.
1114
1115         Allow to disable all intrinsics with a single macro.
1116
1117         * wtf/Platform.h:
1118
1119 2012-05-14  Andy Estes  <aestes@apple.com>
1120
1121         Add WTF_USE_APPKIT to differentiate platforms that use AppKit.framework from other Darwin platforms
1122         https://bugs.webkit.org/show_bug.cgi?id=86432
1123
1124         Reviewed by Maciej Stachowiak.
1125
1126         * wtf/Platform.h:
1127
1128 2012-05-14  Mark Rowe  <mrowe@apple.com>
1129
1130         <http://webkit.org/b/86320> WTF.xcodeproj builds with -O3 in debug builds
1131
1132         Reviewed by Simon Fraser.
1133
1134         * WTF.xcodeproj/project.pbxproj: Ensure that the debug configuration uses the
1135         same settings as the debug variant would.
1136
1137 2012-05-14  Wei James  <james.wei@intel.com>
1138
1139         [Chromium] ImageDiff should be build for host on Android
1140         https://bugs.webkit.org/show_bug.cgi?id=82039
1141
1142         Reviewed by Adam Barth.
1143
1144         * WTF.gyp/WTF.gyp:
1145
1146 2012-05-14  Yong Li  <yoli@rim.com>
1147
1148         DFG JIT is not ARM EABI compatible
1149         https://bugs.webkit.org/show_bug.cgi?id=84449
1150
1151         Reviewed by Filip Pizlo.
1152
1153         Add COMPILER_SUPPORTS(EABI) when __ARM_EABI__
1154         or __EABI__ is defined.
1155
1156         * wtf/Compiler.h:
1157
1158 2012-05-10  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
1159
1160         [EFL] Add OwnPtr specialization for Eina_Hash.
1161         https://bugs.webkit.org/show_bug.cgi?id=85046
1162
1163         Reviewed by Andreas Kling.
1164
1165         Add an override for Eina_Hash for EFL port.
1166
1167         * wtf/OwnPtrCommon.h:
1168         (WTF):
1169         * wtf/efl/OwnPtrEfl.cpp:
1170         (WTF::deleteOwnedPtr):
1171         (WTF):
1172
1173 2012-05-09  Filip Pizlo  <fpizlo@apple.com>
1174
1175         It should be possible to get useful debug logging from the JIT memory allocator
1176         https://bugs.webkit.org/show_bug.cgi?id=86042
1177
1178         Reviewed by Geoff Garen.
1179
1180         * wtf/MetaAllocator.cpp:
1181         (WTF::MetaAllocator::findAndRemoveFreeSpace):
1182         (WTF::MetaAllocator::addFreeSpace):
1183         (WTF::MetaAllocator::dumpProfile):
1184
1185 2012-05-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1186
1187         Unreviewed, rolling out r116440.
1188         http://trac.webkit.org/changeset/116440
1189         https://bugs.webkit.org/show_bug.cgi?id=85904
1190
1191         Broke the Chromium Android bot (Requested by beverloo on
1192         #webkit).
1193
1194         * WTF.gyp/WTF.gyp:
1195
1196 2012-05-08  Adam Barth  <abarth@webkit.org>
1197
1198         [Chromium] OS(ANDROID) ImageDiff requires us to build WTF for both host and target
1199         https://bugs.webkit.org/show_bug.cgi?id=85897
1200
1201         Reviewed by Tony Chang.
1202
1203         * WTF.gyp/WTF.gyp:
1204
1205 2012-05-08  Adam Barth  <abarth@webkit.org>
1206
1207         [Chromium] Assertions.cpp should work on OS(ANDROID)
1208         https://bugs.webkit.org/show_bug.cgi?id=85867
1209
1210         Reviewed by Eric Seidel.
1211
1212         Some minor ifdefs for OS(ANDROID) on PLATFORM(CHROMIUM).
1213
1214         * wtf/Assertions.cpp:
1215
1216 2012-05-07  Adam Barth  <abarth@webkit.org>
1217
1218         [Chromium] Android wishes to use an empty implementation if AXObjectCache
1219         https://bugs.webkit.org/show_bug.cgi?id=85842
1220
1221         Reviewed by Eric Seidel.
1222
1223         Disable accessibility on OS(ANDROID) for PLATFORM(CHROMIUM).
1224
1225         * wtf/Platform.h:
1226
1227 2012-05-04  Jeff Rogers  <jrogers@rim.com>
1228
1229         [BlackBerry] Implement numberOfProcessorCores() for QNX
1230         https://bugs.webkit.org/show_bug.cgi?id=85638
1231
1232         Reviewed by Antonio Gomes.
1233
1234         * wtf/NumberOfCores.cpp:
1235         (WTF::numberOfProcessorCores):
1236
1237 2012-05-03  Yong Li  <yoli@rim.com>
1238
1239         Mutex failure when HashTable is memory moved in debug build
1240         https://bugs.webkit.org/show_bug.cgi?id=84970
1241
1242         Reviewed by Rob Buis.
1243
1244         1. Replace m_mutex with OwnPtr<m_mutex> so HashTable is still
1245            memory movable in debug build.
1246         2. Assert successes of pthread_mutex_init() and pthread_mutex_destroy().
1247
1248         * wtf/HashTable.h:
1249         (HashTable):
1250         (WTF::::HashTable):
1251         (WTF::::invalidateIterators):
1252         (WTF::addIterator):
1253         (WTF::removeIterator):
1254         * wtf/ThreadingPthreads.cpp:
1255         (WTF::Mutex::Mutex):
1256         (WTF::Mutex::~Mutex):
1257
1258 2012-05-02  Antti Koivisto  <antti@apple.com>
1259
1260         Add temporary feature define for parsed stylesheet caching
1261         https://bugs.webkit.org/show_bug.cgi?id=85413
1262
1263         Rubber-stamped by Nikolas Zimmermann.
1264
1265         While not an externally visible feature this is still a significant internal change.
1266         It is good to have define in case someone has an urgent need to turn it off.
1267         
1268         Caching is enabled by default on all platforms. The define should be removed after some bake time.
1269
1270         * wtf/Platform.h:
1271
1272 2012-05-02  Lauro Neto  <lauro.neto@openbossa.org>
1273
1274         [Qt]r57240 broke Qt build (gcc bug)
1275         https://bugs.webkit.org/show_bug.cgi?id=37253
1276
1277         Reviewed by Csaba Osztrogonác.
1278
1279         Add back the inline hack just for ARM due to old version of
1280         gcc still being used on Harmattan SDK. Thanks to Ossy for the
1281         suggestion.
1282         * wtf/PassRefPtr.h:
1283         (WTF):
1284
1285 2012-05-02  Nico Weber  <thakis@chromium.org>
1286
1287         Let WebKit parse with clang on windows with -std=c++11
1288         https://bugs.webkit.org/show_bug.cgi?id=85398
1289
1290         Reviewed by Ryosuke Niwa.
1291
1292         See http://trac.webkit.org/changeset/85945 for background on the line
1293         I'm changing. With clang, __GXX_EXPERIMENTLAL_CXX0X__ is set in c++11
1294         mode, but MSVC's c++ library doesn't have a tr1/memory header. So also
1295         check for __GLIBCXX__, like it's done in the rest of this file.
1296
1297         * wtf/TypeTraits.h:
1298
1299 2012-05-02  Adenilson Cavalcanti  <cavalcantii@gmail.com>
1300
1301         [Qt]r57240 broke Qt build (gcc bug)
1302         https://bugs.webkit.org/show_bug.cgi?id=37253
1303
1304         Reviewed by Noam Rosenthal.
1305
1306         Removing workaround macro since current gcc/Qt doesn't require it to compile.
1307
1308         * wtf/PassRefPtr.h:
1309         (WTF):
1310
1311 2012-04-30  Oliver Hunt  <oliver@apple.com>
1312
1313         Investigate overflows in Canvas putImageData routine
1314         https://bugs.webkit.org/show_bug.cgi?id=61373
1315
1316         Reviewed by Gavin Barraclough.
1317
1318         Allow floating point multiplies of checked types (complete with
1319         bounds checks).
1320
1321         * wtf/CheckedArithmetic.h:
1322         (Checked):
1323         (WTF::Checked::operator*=):
1324
1325 2012-04-30  Benjamin Poulain  <benjamin@webkit.org>
1326
1327         Add String::startsWith() and endsWith() for string literals
1328         https://bugs.webkit.org/show_bug.cgi?id=85154
1329
1330         Reviewed by Darin Adler.
1331
1332         When invoking StringImpl::startsWidth() or StringImpl::endsWith() with
1333         a string literal, a new String was constructed implicitly, allocating
1334         a new StringImpl and copying the characters for the operation.
1335
1336         This patch adds a version of those methods for single characters and
1337         string literals.
1338         This allows us to avoid allocating memory and use the characters in place,
1339         and it permits some extra shortcuts in the implementation.
1340
1341         * wtf/text/AtomicString.h:
1342         (WTF::AtomicString::startsWith):
1343         (AtomicString):
1344         (WTF::AtomicString::endsWith):
1345         * wtf/text/StringImpl.cpp:
1346         (WTF::equalInner):
1347         (WTF):
1348         (WTF::StringImpl::startsWith):
1349         (WTF::StringImpl::endsWith):
1350         * wtf/text/StringImpl.h:
1351         (WTF::StringImpl::startsWith):
1352         (StringImpl):
1353         (WTF::StringImpl::endsWith):
1354         * wtf/text/WTFString.h:
1355         (WTF::String::startsWith):
1356         (String):
1357         (WTF::String::endsWith):
1358
1359 2012-04-30  Anders Carlsson  <andersca@apple.com>
1360
1361         WTF::bind should work with blocks
1362         https://bugs.webkit.org/show_bug.cgi?id=85227
1363
1364         Reviewed by Sam Weinig.
1365
1366         Add a block type FunctionWrapper specialization.
1367
1368         * wtf/Functional.h:
1369
1370 2012-04-28  Emil A Eklund  <eae@chromium.org>
1371
1372         Add ENABLE_SUBPIXEL_LAYOUT controlling FractionalLayoutUnit denominator
1373         https://bugs.webkit.org/show_bug.cgi?id=85146
1374
1375         Reviewed by Eric Seidel.
1376
1377         Add a new flag for controlling the fixed point denominator in
1378         FractionalLayoutUnit. Controls whether the denominator is set to 60 or 1.
1379         Until we change the LayoutUnit typedef this change will have no effect.
1380
1381         * wtf/Platform.h:
1382
1383 2012-04-29  Kent Tamura  <tkent@chromium.org>
1384
1385         [Mac] Add LocalizedDateMac
1386         https://bugs.webkit.org/show_bug.cgi?id=85039
1387
1388         Reviewed by Kentaro Hara.
1389
1390         * wtf/DateMath.h:
1391         (WTF): Add monthFullName[]. It is useful to make fallback month
1392         names for calendar/date related features.
1393
1394 2012-04-26  Carlos Garcia Campos  <cgarcia@igalia.com>
1395
1396         [SOUP] Add a way to register custom uri schemes in WebKit2
1397         https://bugs.webkit.org/show_bug.cgi?id=84130
1398
1399         Reviewed by Martin Robinson.
1400
1401         Add GPtrArray template to be able to use GRefPtr with GPtrArrays.
1402
1403         * wtf/gobject/GRefPtr.cpp:
1404         (WTF::refGPtr):
1405         (WTF):
1406         (WTF::derefGPtr):
1407         * wtf/gobject/GRefPtr.h:
1408         (WTF):
1409         * wtf/gobject/GTypedefs.h:
1410
1411 2012-04-26  Nico Weber  <thakis@chromium.org>
1412
1413         Don't define WTF_COMPILER_SUPPORTS_CXX_NULLPTR twice when building with clang on windows.
1414         https://bugs.webkit.org/show_bug.cgi?id=85018
1415
1416         Reviewed by Anders Carlsson.
1417
1418         Clang sets _MSC_VER when compiling for a -pc-win32 target (just like it sets __GNUC__ on unix).
1419         As a result, WTF_COMPILER_SUPPORTS_CXX_NULLPTR gets currently set twice, once for clang and
1420         once for _MSC_VER. Guard the second instance with !COMPILER(CLANG). This matches the gcc code
1421         for WTF_COMPILER_SUPPORTS_CXX_NULLPTR in the same file.
1422
1423         * wtf/Compiler.h:
1424
1425 2012-04-26  Antonio Gomes  <agomes@rim.com>
1426
1427         [BlackBerry] properly disable DRAG_SUPPORT
1428         https://bugs.webkit.org/show_bug.cgi?id=84952
1429
1430         Reviewed by Daniel Bates.
1431
1432         * wtf/Platform.h: Remove the line that disables drag support from here
1433         for the BlackBerry port.
1434
1435 2012-04-25  Benjamin Poulain  <benjamin@webkit.org>
1436
1437         Add a version of StringImpl::find() without offset
1438         https://bugs.webkit.org/show_bug.cgi?id=83968
1439
1440         Reviewed by Sam Weinig.
1441
1442         This patch add a version of StringImpl::find() without offset, Instead of using the default
1443         value for the index.
1444
1445         By not having the index, we can skip a couple of branches and a few instructions. This gives
1446         significant gains when the strings are short-ish.
1447
1448         The case of empty string is moved below (matchLength == 1) since it is a less common operation.
1449
1450         * wtf/text/StringImpl.cpp:
1451         (WTF::StringImpl::find):
1452         (WTF):
1453         * wtf/text/StringImpl.h:
1454         (StringImpl):
1455         * wtf/text/WTFString.h:
1456         (String):
1457         (WTF::String::find):
1458
1459 2012-04-25  Darin Adler  <darin@apple.com>
1460
1461         Iterating a HashMap<String, X> involves a string equality comparison to check for the empty value
1462         https://bugs.webkit.org/show_bug.cgi?id=84524
1463
1464         Reviewed by Antti Koivisto.
1465
1466         * wtf/HashMap.h: Added a struct template, HashMapValueTraits, that derives from
1467         PairHashTraits, adds an isEmptyValue function that looks only at the key, not
1468         the mapped value, in the hash table value, and uses the isHashTraitsEmptyValue
1469         function template to check if the key is empty.
1470
1471 2012-04-25  Landry Breuil  <landry@openbsd.org>
1472
1473         Include <sys/param.h>, needed for sysctl() on OpenBSD/NetBSD
1474         https://bugs.webkit.org/show_bug.cgi?id=82585
1475
1476         Reviewed by Zoltan Herczeg.
1477
1478         * wtf/NumberOfCores.cpp: include <sys/param.h> on the BSDs
1479
1480 2012-04-25  Kenneth Russell  <kbr@google.com>
1481
1482         Delete CanvasPixelArray, ByteArray, JSByteArray and JSC code once unreferenced
1483         https://bugs.webkit.org/show_bug.cgi?id=83655
1484
1485         Reviewed by Oliver Hunt.
1486
1487         * GNUmakefile.list.am:
1488         * WTF.gypi:
1489         * WTF.pro:
1490         * WTF.vcproj/WTF.vcproj:
1491         * WTF.xcodeproj/project.pbxproj:
1492         * wtf/ByteArray.cpp: Removed.
1493         * wtf/ByteArray.h: Removed.
1494         * wtf/CMakeLists.txt:
1495
1496 2012-04-25  Philippe Normand  <pnormand@igalia.com>
1497
1498         Webkit build fails due to missing gstreamer include file on Kubuntu 8.04
1499         https://bugs.webkit.org/show_bug.cgi?id=81913
1500
1501         Reviewed by Tor Arne Vestbø.
1502
1503         * WTF.pri: GStreamer build support implies GLib support, as it's
1504         done in WebCore.pri.
1505
1506 2012-04-24  Benjamin Poulain  <bpoulain@apple.com>
1507
1508         Generalize the single character optimization of r114072
1509         https://bugs.webkit.org/show_bug.cgi?id=83961
1510
1511         Reviewed by Eric Seidel.
1512
1513         This patch makes some improvment over String::find() in the case of lookup for a single
1514         character.
1515
1516         The two function find(UChar|LChar) are replaced by a template.
1517
1518         The case of searching a UChar in a 8bit string has a shortcut if the UChar cannot
1519         possibly match any character in the range of the type LChar.
1520
1521         The slow case StringImpl::find(StringImpl*) is modified to
1522         -Do not allocate in the fast case if only one string is 8bit.
1523         -Use the shortcut for searching UChar in LChar.
1524
1525         This speed up the function by about 7% when avoiding string conversion.
1526
1527         * wtf/text/StringImpl.cpp:
1528         (WTF::StringImpl::find):
1529         * wtf/text/StringImpl.h:
1530         (StringImpl):
1531         (WTF):
1532         (WTF::find):
1533         (WTF::StringImpl::find):
1534
1535 2012-04-24  Darin Adler  <darin@apple.com>
1536
1537         Iterating a HashMap<String, X> involves a string equality comparison to check for the empty value
1538         https://bugs.webkit.org/show_bug.cgi?id=84524
1539
1540         Reviewed by Antti Koivisto.
1541
1542         Added a new algorithm for checking for empty buckets that can be specialized.
1543         Specialized it for String. We may later want to do the same thing for KURL.
1544         It's not important to do it for AtomicString, since AtomicString's == function
1545         is already a simple pointer equality compare. We may also later want to do
1546         something similar for pairs that have String objects in them.
1547
1548         * wtf/HashTable.h:
1549         (WTF::HashTable::isEmptyBucket): Call the new isHashTraitsEmptyValue function, which
1550         will do something more efficient for String.
1551
1552         * wtf/HashTraits.h: Added hasIsEmptyValueFunction to hash traits, with a default value
1553         of false. This allows us to continue to get automatic comparison with the appropriate
1554         emptyValue result for all existing traits, but supply a custom isEmptyValue function
1555         for HashTraits<String>. Putting an isEmptyValue function into the traits would require
1556         overriding it in every class that has a custom value for emptyValue. Specialized
1557         HashTraits for String to add hasIsEmptyValueFunction and declare, but not define, the
1558         isEmptyValue function.
1559         (WTF::isHashTraitsEmptyValue): Added a function that uses the HashTraitsEmptyValueChecker
1560         struct to use either == combined with the emptyValue function or the isEmptyValue function.
1561
1562         * wtf/text/StringHash.h: Removed unneeded includes and sorted the using statements at
1563         the bottom of the file.
1564         (WTF::HashTraits<String>::isEmptyValue): Define this function here, since here we have
1565         included the WTFString.h header; the HashTraits.h header compiles without WTFString.h.
1566
1567 2012-04-23  Kenneth Russell  <kbr@google.com>
1568
1569         Change ImageData to reference Uint8ClampedArray rather than CanvasPixelArray
1570         https://bugs.webkit.org/show_bug.cgi?id=73011
1571
1572         Reviewed by Oliver Hunt.
1573
1574         * wtf/ArrayBuffer.h:
1575         (ArrayBuffer):
1576         (WTF::ArrayBuffer::create):
1577         (WTF::ArrayBuffer::createUninitialized):
1578         (WTF):
1579         (WTF::ArrayBufferContents::tryAllocate):
1580         * wtf/TypedArrayBase.h:
1581         (WTF::TypedArrayBase::createUninitialized):
1582         (TypedArrayBase):
1583         * wtf/Uint8ClampedArray.h:
1584         (Uint8ClampedArray):
1585         (WTF::Uint8ClampedArray::createUninitialized):
1586         (WTF):
1587         (WTF::Uint8ClampedArray::zeroFill):
1588
1589 2012-04-23  George Staikos  <staikos@webkit.org>
1590
1591         Enable parallel GC for BlackBerry.
1592         https://bugs.webkit.org/show_bug.cgi?id=84633
1593
1594         Reviewed by Antonio Gomes.
1595
1596         * wtf/Platform.h:
1597
1598 2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1599
1600         Unreviewed, rolling out r114914.
1601         http://trac.webkit.org/changeset/114914
1602         https://bugs.webkit.org/show_bug.cgi?id=84615
1603
1604         Causing infinite hangs on some tests involving HashMaps with
1605         integer keys (Requested by dimich on #webkit).
1606
1607         * wtf/HashTable.h:
1608         (WTF::HashTable::isEmptyBucket):
1609         * wtf/HashTraits.h:
1610         * wtf/text/StringHash.h:
1611
1612 2012-04-23  Darin Adler  <darin@apple.com>
1613
1614         Iterating a HashMap<String, X> involves a string equality comparison to check for the empty value
1615         https://bugs.webkit.org/show_bug.cgi?id=84524
1616
1617         Reviewed by Antti Koivisto.
1618
1619         Added a new algorithm for checking for empty buckets that can be specialized.
1620         Specialized it for String. We may later want to do the same thing for KURL.
1621         It's not important to do it for AtomicString, since AtomicString's == function
1622         is already a simple pointer equality compare.
1623
1624         * wtf/HashTable.h:
1625         (WTF::HashTable::isEmptyBucket): Call the new isHashTraitsEmptyValue function, which
1626         will do something more efficient for String.
1627
1628         * wtf/HashTraits.h: Added hasIsEmptyValueFunction to hash traits, with a default value
1629         of false. This allows us to continue to get automatic comparison with the appropriate
1630         emptyValue result for all existing traits, but supply a custom isEmptyValue function
1631         for HashTraits<String>. Putting an isEmptyValue function into the traits would require
1632         overriding it in every class that has a custom value for emptyValue. Specialized
1633         HashTraits for String to add hasIsEmptyValueFunction and declare, but not define, the
1634         isEmptyValue function.
1635         (WTF::isHashTraitsEmptyValue): Added a function that uses the HashTraitsEmptyValueChecker
1636         struct to use either == combined with the emptyValue function or the isEmptyValue function.
1637         (PairHashTraits): Define hasIsEmptyValueFunction and isEmptyValue.
1638
1639         * wtf/text/StringHash.h: Removed unneeded includes and sorted the using statements at
1640         the bottom of the file.
1641         (WTF::HashTraits<String>::isEmptyValue): Define this function here, since here we have
1642         included the WTFString.h header; the HashTraits.h header compiles without WTFString.h.
1643
1644 2012-04-18  Myles Maxfield  <mmaxfield@google.com>
1645
1646         Somehow, there's an errant backslash in my last WTF patch
1647         https://bugs.webkit.org/show_bug.cgi?id=84290
1648
1649         Reviewed by Andreas Kling.
1650
1651         * wtf/StdLibExtras.h:
1652         (WTF::roundUpToMultipleOf):
1653
1654 2012-04-16  Nico Weber  <thakis@chromium.org>
1655
1656         Make NullPtr.h compile with clang -std=c++11 and libstdc++4.2
1657         https://bugs.webkit.org/show_bug.cgi?id=83999
1658
1659         Reviewed by Sam Weinig.
1660
1661         Before this patch, NullPtr.h assumed that a working |nullptr| implied
1662         a working |std::nullptr_t| as well. With clang and libstdc++4.2, this
1663         is not true.
1664
1665         I tested (-stdlib=libc++, -stdlib=libstdc++) x (-std=c++11, -std=c++03)
1666         with clang.
1667
1668         * wtf/NullPtr.h:
1669         (std):
1670
1671 2012-04-14  Sam Weinig  <sam@webkit.org>
1672
1673         Harden WTF::ByteArray::create()
1674         https://bugs.webkit.org/show_bug.cgi?id=83318
1675
1676         Reviewed by Maciej Stachowiak.
1677
1678         * wtf/ByteArray.cpp:
1679         (WTF::ByteArray::create):
1680         Add overflow check. I don't believe there is anyway to trigger this currently,
1681         hence no tests, so this should be considered hardening.
1682
1683 2012-04-12  Benjamin Poulain  <bpoulain@apple.com>
1684
1685         Inline StringImpl::find(UChar, ...)
1686         https://bugs.webkit.org/show_bug.cgi?id=83737
1687
1688         Reviewed by Geoffrey Garen.
1689
1690         The implementation of StringImpl::find() is a simple branch before invoking one of
1691         two inline functions. The overhead of having a function for StringImpl::find() is significant.
1692
1693         It is better to let the compiler decide if that should be inlined or not.
1694
1695         * wtf/text/StringImpl.cpp:
1696         * wtf/text/StringImpl.h:
1697         (StringImpl):
1698         (WTF::find):
1699         (WTF):
1700         (WTF::reverseFind):
1701         (WTF::StringImpl::find):
1702         * wtf/text/WTFString.h:
1703
1704 2012-04-12  Balazs Kelemen  <kbalazs@webkit.org>
1705
1706         [Qt] Fix WebKit1 build with V8
1707         https://bugs.webkit.org/show_bug.cgi?id=83322
1708
1709         Reviewed by Adam Barth.
1710
1711         * wtf/StdLibExtras.h:
1712         (WTF):
1713
1714 2012-04-12  Jer Noble  <jer.noble@apple.com>
1715
1716         ThreadingWin: Mutex::unlock() can be "over-unlocked".
1717         https://bugs.webkit.org/show_bug.cgi?id=83725
1718
1719         Reviewed by David Levin.
1720
1721         In order to support the behavior of pthread_mutex_trylock(), the Windows Mutex class includes
1722         a recursion counter which is incremented in Mutex::lock(), decremented in Mutex::unlock(),
1723         and checked in Mutex::tryLock().  If the mutex is "over-unlocked", the counter wraps around to
1724         MAX_INT, and subsequent calls to Mutex::trylock() will fail. Raise an ASSERT in this situation
1725         so the "over-unlock" will be caught.
1726
1727         * wtf/ThreadingWin.cpp:
1728         (WTF::Mutex::unlock): ASSERT if unlocking a non-locked mutex.
1729
1730 2012-04-10  Mark Rowe  <mrowe@apple.com>
1731
1732         <rdar://problem/10583749> WebKit2 should log to both ASL and stderr
1733
1734         Reviewed by Sam Weinig.
1735
1736         * wtf/Assertions.cpp: Add a WTFLogAlways function that unconditionally logs the given message.
1737         * wtf/Assertions.h:
1738
1739 2012-04-10  Patrick Gansterer  <paroga@webkit.org>
1740
1741         Cleanup wtf/Platform.h and config.h files
1742         https://bugs.webkit.org/show_bug.cgi?id=83431
1743
1744         Reviewed by Eric Seidel.
1745
1746         The ENABLE() and USE() macros take care about the case when the flag
1747         isn't defined. So there is no need to define anything with 0.
1748
1749         Also move duplicated code from the config.h files to Platform.h and
1750         merge a few preprocessor commands to make the file more readable.
1751
1752         * config.h:
1753         * wtf/Platform.h:
1754
1755 2012-04-10  Filip Pizlo  <fpizlo@apple.com>
1756
1757         DFG should flush SetLocals to arguments
1758         https://bugs.webkit.org/show_bug.cgi?id=83554
1759
1760         Reviewed by Gavin Barraclough.
1761         
1762         Added an isRoot() method that is a faster shorthand for saying
1763         find() == this.
1764
1765         * wtf/UnionFind.h:
1766         (WTF::UnionFind::isRoot):
1767         (UnionFind):
1768
1769 2012-04-10  Adam Klein  <adamk@chromium.org>
1770
1771         Remove unused NonNullPassRefPtr from WTF
1772         https://bugs.webkit.org/show_bug.cgi?id=82389
1773
1774         Reviewed by Kentaro Hara.
1775
1776         NonNullPassRefPtr seems to be unused since JSC allocation was
1777         restructured in r84052.
1778
1779         If someone decides they need this later, they can always revert this patch.
1780
1781         * wtf/PassRefPtr.h:
1782         * wtf/RefPtr.h:
1783         (RefPtr):
1784
1785 2012-04-10  Patrick Gansterer  <paroga@webkit.org>
1786
1787         [CMake] Enable USE_FOLDERS property
1788         https://bugs.webkit.org/show_bug.cgi?id=83571
1789
1790         Reviewed by Daniel Bates.
1791
1792         Setting the FOLDER property on targets gives more structure 
1793         to the generated Visual Studio solutions.
1794         This does not affect other CMake generators.
1795
1796         * wtf/CMakeLists.txt:
1797
1798 2012-04-09  Patrick Gansterer  <paroga@webkit.org>
1799
1800         Port BinarySemaphoreWin.cpp to WinCE
1801         https://bugs.webkit.org/show_bug.cgi?id=83502
1802
1803         Reviewed by Daniel Bates.
1804
1805         Replace WaitForSingleObjectEx with WaitForSingleObject since
1806         the additonal parameter supported by the extended function
1807         is not used anyway and the function does not exist on WinCE.
1808
1809         * wtf/CMakeLists.txt:
1810         * wtf/PlatformWinCE.cmake:
1811         * wtf/threads/win/BinarySemaphoreWin.cpp:
1812         (WTF::BinarySemaphore::wait):
1813
1814 2012-04-09  Patrick Gansterer  <paroga@webkit.org>
1815
1816         [CMake] Build fix for USE_SYSTEM_MALLOC after r113570.
1817
1818         * wtf/CMakeLists.txt:
1819
1820 2012-04-09  Patrick Gansterer  <paroga@webkit.org>
1821
1822         Remove HAVE_STDINT_H
1823         https://bugs.webkit.org/show_bug.cgi?id=83434
1824
1825         Reviewed by Kentaro Hara.
1826
1827         HAVE_STDINT_H is defined with 1 all the time and we us stdint.h without HAVE(STDINT_H) already.
1828
1829         * config.h:
1830         * wtf/FastMalloc.cpp:
1831         * wtf/TCPageMap.h:
1832         * wtf/TCSpinLock.h:
1833         * wtf/TCSystemAlloc.cpp:
1834
1835 2012-04-06  Benjamin Poulain  <bpoulain@apple.com>
1836
1837         Get rid of the useless flag PREEMPT_GEOLOCATION_PERMISSION
1838         https://bugs.webkit.org/show_bug.cgi?id=83325
1839
1840         Reviewed by Ryosuke Niwa.
1841
1842         * wtf/Platform.h: Remove the flag.
1843
1844 2012-04-06  Darin Adler  <darin@apple.com>
1845
1846         Streamline strtod and fix some related problems
1847         https://bugs.webkit.org/show_bug.cgi?id=82857
1848
1849         Reviewed by Geoffrey Garen.
1850
1851         Replaced the strtod function template with a parseDouble function, eliminating
1852         the following unneeded features:
1853
1854         - need for a trailing null character and a call to strlen
1855         - needless conversion of string lengths from size_t to int and back that created
1856           the possibility of incorrect truncation
1857         - one level of function call; use inlining instead
1858         - construction of the StringToDoubleConverter object; it was used to pass
1859           arguments that are known at compile time
1860         - most of the StringToDoubleConverter::StringToDouble function's body; it was
1861           code we did not need
1862         - parsing of Infinity and NaN at the strtod level; added recently when we moved
1863           from the old strtod to the new one, and not needed or helpful at this level
1864         - multiple copies of code to narrow to single byte strings; in many cases
1865           this was done even when starting with an LChar string that is already
1866           single-byte, now we handle this with an overload of parseDouble
1867
1868         * wtf/dtoa.cpp:
1869         Removed a long comment about the original strtod function that no longer
1870         applies since we deleted that function long ago. Removed a lot of includes.
1871         Removed the strtod function templates and its instantiations, since they
1872         are now replaced by the parseDouble function.
1873         (WTF::Internal::parseDoubleFromLongString): Added.
1874         * wtf/dtoa.h:
1875         Added an include of ASCIICType.h so we can use isASCII in a function in this
1876         header. Left the heretofore unneeded include of double-conversion.h, since we
1877         now want to use it in a function in this header. Removed the AllowTrailingJunkTag
1878         and AllowTrailingSpacesTag enumerations and the strtod function template. Added
1879         new parseDouble function, and inline implementation of it.
1880
1881         * wtf/dtoa/double-conversion.cc: Removed quite a bit of unused code, hardcoding
1882         all the StringToDouble function arguments that come from data members so it can
1883         be a much smaller static member function. Also changed the types of arguments
1884         from int to size_t.
1885         * wtf/dtoa/double-conversion.h: Removed most of the StringToDoubleConverter
1886         class, leaving only the conversion function as a static member function.
1887
1888         * wtf/text/StringImpl.cpp:
1889         (WTF::StringImpl::toDouble): Got rid of didReadNumber.
1890         (WTF::StringImpl::toFloat): Ditto.
1891         * wtf/text/StringImpl.h: Ditto.
1892         * wtf/text/WTFString.cpp:
1893         (WTF::String::toDouble): Got rid of didReadNumber.
1894         (WTF::String::toFloat): Ditto.
1895         (WTF::toDoubleType): Rewrote this function to use parseDouble. Moved the code
1896         to skip leading spaces here, because other callers of parseDouble don't want
1897         to do that. Repurposed the check for an empty string so it's now the same
1898         code shared by all the "parsed nothing" cases. Removed the code to convert
1899         the buffer to ASCII for two reasons: (1) We don't need that code at all when
1900         CharType is LChar, and (2) We now handle this through the two overloads for
1901         the parseDouble function. Disallowing trailing junk is now handled here,
1902         rather than inside parseDouble.
1903         (WTF::charactersToDouble): Updated for changes to toDoubleType. Removed the
1904         didReadNumber argument.
1905         (WTF::charactersToFloat): Ditto. Also added overloads that return the parsed
1906         length. These are a slightly more powerful way to do what didReadNumber was
1907         used for before.
1908
1909         * wtf/text/WTFString.h: Added comments, eliminated didReadNumber, and added
1910         overloads of charactersToFloat that replace charactersToFloatIgnoringJunk.
1911
1912 2012-04-05  Patrick Gansterer  <paroga@webkit.org>
1913
1914         [WinCE] Remove unnecessary function decleration
1915         https://bugs.webkit.org/show_bug.cgi?id=83155
1916
1917         Reviewed by Kentaro Hara.
1918
1919         * wtf/DateMath.cpp:
1920         * wtf/Platform.h:
1921
1922 2012-04-04  Patrick Gansterer  <paroga@webkit.org>
1923
1924         Add WTF::getCurrentLocalTime()
1925         https://bugs.webkit.org/show_bug.cgi?id=83164
1926
1927         Reviewed by Alexey Proskuryakov.
1928
1929         Replace the calls to WTF::getLocalTime() with time(0) with the new function.
1930         This allows us to use Win32 API on windows to get the same result in a next step.
1931
1932         Also remove the inline keyword from WTF::getLocalTime(), since there is no need for
1933         it and it will make the later Win32 API changes easier.
1934
1935         * WTF.gyp/WTF.gyp:
1936         * wtf/CurrentTime.cpp:
1937         (WTF::getLocalTime):
1938         (WTF::getCurrentLocalTime):
1939         * wtf/CurrentTime.h:
1940
1941 2012-04-04  Chris Rogers  <crogers@google.com>
1942
1943         Web Audio should use MutexTryLocker class
1944         https://bugs.webkit.org/show_bug.cgi?id=83194
1945
1946         Reviewed by Kenneth Russell.
1947
1948         Add MutexTryLocker class which can be used as a stack-based object wrapping a Mutex.
1949         It will automatically unlock the Mutex in its destructor if the tryLock() succeeded.
1950
1951         * wtf/ThreadingPrimitives.h:
1952         (MutexTryLocker):
1953         (WTF::MutexTryLocker::MutexTryLocker):
1954         (WTF::MutexTryLocker::~MutexTryLocker):
1955         (WTF::MutexTryLocker::locked):
1956         Check if the tryLock() on the Mutex succeeded.
1957         (WTF):
1958
1959 2012-04-04  Kausalya Madhusudhanan  <kmadhusu@chromium.org>
1960
1961         [Coverity] Address some uninit constructor values.
1962         https://bugs.webkit.org/show_bug.cgi?id=82424
1963
1964         Reviewed by Stephen White.
1965
1966         New tests are not required since I did not modify any code behavior. I just initialized the class member variables in the constructor.
1967
1968         * wtf/ArrayBufferView.cpp:
1969         (WTF::ArrayBufferView::ArrayBufferView):
1970
1971 2012-03-30  David Barr  <davidbarr@chromium.org>
1972
1973         Split up top-level .gitignore and .gitattributes
1974         https://bugs.webkit.org/show_bug.cgi?id=82687
1975
1976         Reviewed by Tor Arne Vestbø.
1977
1978         * WTF.gyp/.gitignore: Added.
1979
1980 2012-03-29  Kevin Ollivier  <kevino@theolliviers.com>
1981
1982         [wx] Unreviewed build fix. Add export symbols needed to
1983         build wx under Windows.
1984         
1985         * wtf/NullPtr.h:
1986         * wtf/ParallelJobsGeneric.h:
1987         (ParallelEnvironment):
1988         * wtf/ThreadSpecific.h:
1989         (WTF):
1990
1991 2012-03-29  Kevin Ollivier  <kevino@theolliviers.com>
1992
1993         [wx] Unreviewed build fix. Add WTF_EXPORT_PRIVATE_NO_RTTI
1994         so that ports not using RTTI can add symbol exports to
1995         classes that RTTI ports export with WTF_EXPORT_PRIVATE_RTTI.
1996
1997         * wtf/ArrayBufferView.h:
1998         * wtf/ExportMacros.h:
1999
2000 2012-03-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2001
2002         HashMap<>::add should return a more descriptive object
2003         https://bugs.webkit.org/show_bug.cgi?id=71063
2004
2005         Reviewed by Ryosuke Niwa.
2006
2007         Make HashTable<>::add() and derivate functions return an AddResult struct instead
2008         of a pair. This struct contains contains 'iterator' and 'isNewEntry' members, that are
2009         more readable at callsites than previous 'first' and 'second'.
2010
2011         * wtf/HashCountedSet.h:
2012         (HashCountedSet):
2013         (WTF::::add):
2014         * wtf/HashMap.h:
2015         (HashMap):
2016         (WTF):
2017         (WTF::::set):
2018         * wtf/HashSet.h:
2019         (HashSet):
2020         (WTF::::add):
2021         (WTF):
2022         * wtf/HashTable.h:
2023         (WTF::HashTableAddResult::HashTableAddResult):
2024         (HashTableAddResult):
2025         (WTF):
2026         (HashTable):
2027         (WTF::HashTable::add):
2028         (WTF::::add):
2029         (WTF::::addPassingHashCode):
2030         * wtf/ListHashSet.h:
2031         (ListHashSet):
2032         (WTF::::add):
2033         (WTF::::insertBefore):
2034         * wtf/RefPtrHashMap.h:
2035         (WTF):
2036         (WTF::::set):
2037         * wtf/Spectrum.h:
2038         (WTF::Spectrum::add):
2039         * wtf/WTFThreadData.cpp:
2040         (JSC::IdentifierTable::add):
2041         * wtf/WTFThreadData.h:
2042         (IdentifierTable):
2043         * wtf/text/AtomicString.cpp:
2044         (WTF::addToStringTable):
2045         (WTF::AtomicString::addSlowCase):
2046
2047 2012-03-29  Andreas Kling  <kling@webkit.org>
2048
2049         String: Subscript operator shouldn't force conversion to 16-bit characters.
2050         <http://webkit.org/b/82613>
2051
2052         Reviewed by Anders Carlsson.
2053
2054         Forward String::operator[] to StringImpl::operator[] instead of indexing into characters().
2055         This avoid implicit conversion of 8-bit strings to 16-bit, and as an example, reduces memory
2056         usage on http://www.allthingsd.com/ by 360kB.
2057
2058         * wtf/text/WTFString.h:
2059         (WTF::String::operator[]):
2060
2061 2012-03-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2062
2063         [GTK] Implement PlatformStrategies
2064         https://bugs.webkit.org/show_bug.cgi?id=82454
2065
2066         Reviewed by Xan Lopez.
2067
2068         * wtf/Platform.h: Define WTF_USE_PLATFORM_STRATEGIES for GTK+
2069         platform too.
2070
2071 2012-03-26  Ryosuke Niwa  <rniwa@webkit.org>
2072
2073         Set eol-style: native on WTF.sln per Ryan Sleevi's request.
2074
2075         * WTF.vcproj/WTF.sln: Added property svn:eol-style.
2076
2077 2012-03-26  Ryosuke Niwa  <rniwa@webkit.org>
2078
2079         Chromium build fix; add BitVector.h/cpp to gypi.
2080
2081         * WTF.gypi:
2082
2083 2012-03-26  Ryosuke Niwa  <rniwa@webkit.org>
2084
2085         Touch BitVector as a speculative fix for Chromium Linux.
2086
2087         * wtf/BitVector.h:
2088         (BitVector):
2089
2090 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
2091
2092         cssText should use shorthand notations
2093         https://bugs.webkit.org/show_bug.cgi?id=81737
2094
2095         Reviewed by Enrica Casucci.
2096
2097         * wtf/BitVector.h:
2098         (BitVector):
2099         (WTF::BitVector::ensureSizeAndSet): Added.
2100
2101 2012-03-26  Carlos Garcia Campos  <cgarcia@igalia.com>
2102
2103         Unreviewed. Fix make distcheck.
2104
2105         * GNUmakefile.list.am: Add config.h to the source file list.
2106
2107 2012-03-25  Kevin Ollivier  <kevino@theolliviers.com>
2108
2109         [wx] Unreviewed build fix. Move WTF to its own static lib build.
2110
2111         * wscript: Added.
2112
2113 2012-03-23  Tony Chang  <tony@chromium.org>
2114
2115         [chromium] Unreviewed, move a comment closer to where it matters and
2116         make it more specific.
2117
2118         * WTF.gyp/WTF.gyp:
2119
2120 2012-03-23  Steve Falkenburg  <sfalken@apple.com>
2121
2122         Update Apple Windows build files for WTF move
2123         https://bugs.webkit.org/show_bug.cgi?id=82069
2124
2125         Reviewed by Jessie Berlin.
2126
2127         * WTF.vcproj/WTF.make: Added.
2128         * WTF.vcproj/WTF.sln: Added.
2129
2130 2012-03-23  Dean Jackson  <dino@apple.com>
2131
2132         Disable CSS_SHADERS in Apple builds
2133         https://bugs.webkit.org/show_bug.cgi?id=81996
2134
2135         Reviewed by Simon Fraser.
2136
2137         Put ENABLE_CSS_SHADERS into Platform.h, but disable for
2138         Apple builds.
2139
2140         * wtf/Platform.h:
2141
2142 2012-03-23  Tony Chang  <tony@chromium.org>
2143
2144         [chromium] rename newwtf target back to wtf
2145         https://bugs.webkit.org/show_bug.cgi?id=82064
2146
2147         Reviewed by Adam Barth.
2148
2149         * WTF.gyp/WTF.gyp:
2150
2151 2012-03-22  Jessie Berlin  <jberlin@apple.com>
2152
2153         Windows build fix after r111778.
2154
2155         * WTF.vcproj/WTF.vcproj:
2156         DateMath.h and DateMath.cpp should be built by WTF, since they are part of WTF.
2157
2158 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
2159
2160         [CMake] Unreviewed build fix after r111778.
2161
2162         * CMakeLists.txt: Added.
2163         * wtf/CMakeLists.txt: Add ${CMAKE_BINARY_DIR} to the include paths
2164         for cmakeconfig.h to be found.
2165
2166 2012-03-22  Tony Chang  <tony@chromium.org>
2167
2168         Unreviewed, attempt to fix the chromium-win build and another attempt
2169         at fixing the chromium-android build.
2170
2171         * WTF.gyp/WTF.gyp:
2172
2173 2012-03-22  Tony Chang  <tony@chromium.org>
2174
2175         Unreviewed, attempt to fix chromium-android build.
2176
2177         * WTF.gyp/WTF.gyp:
2178
2179 2012-03-22  Tony Chang  <tony@chromium.org>
2180
2181         Unreviewed, fix chromium build after wtf move.
2182
2183         Move wtf_config and wtf settings to newwtf.
2184
2185         * WTF.gyp/WTF.gyp:
2186
2187 2012-03-22  Martin Robinson  <mrobinson@igalia.com>
2188
2189         One more GTK+ build fix after r111778.
2190
2191         * GNUmakefile.am: Adding missing include path.
2192
2193 2012-03-22  Martin Robinson  <mrobinson@igalia.com>
2194
2195         Fixed the GTK+ WTF/JavaScriptCore build after r111778.
2196
2197         * GNUmakefile.am: Remove some extra trailing backslashes and a few uncessary
2198           variables.
2199         * GNUmakefile.list.am: Ditto.
2200
2201 2012-03-22  Dan Bernstein  <mitz@apple.com>
2202
2203         Fixed the JavaScriptCore debug build after r111778.
2204
2205         * WTF.xcodeproj/project.pbxproj: Use debug DEBUG_DEFINES when building
2206         the Debug configuration.
2207
2208 2012-03-22  Csaba Osztrogonác  <ossy@webkit.org>
2209
2210         Actually move WTF files to their new home
2211         https://bugs.webkit.org/show_bug.cgi?id=81844
2212
2213         [Qt] Unreviewed buildfix after r111778.
2214
2215         * WTF.pri:
2216
2217 2012-03-22  Eric Seidel  <eric@webkit.org>
2218
2219         Actually move WTF files to their new home
2220         https://bugs.webkit.org/show_bug.cgi?id=81844
2221
2222         Unreviewed attempt to fix AppleWin.
2223
2224         * WTF.vcproj/WTFCommon.vsprops:
2225
2226 2012-03-22  Eric Seidel  <eric@webkit.org>
2227
2228         Actually move WTF files to their new home
2229         https://bugs.webkit.org/show_bug.cgi?id=81844
2230
2231         Unreviewed.  The 5MB file move is not very reviewable,
2232         but various port representatives have OK'd changes to the
2233         individual build systems.
2234
2235         * Configurations/WTF.xcconfig:
2236         * GNUmakefile.list.am:
2237         * Stub.cpp: Removed.
2238         * Stub.h: Removed.
2239         * WTF.gypi:
2240         * WTF.pri:
2241         * WTF.pro:
2242         * WTF.vcproj/WTF.vcproj:
2243         * WTF.vcproj/copy-files.cmd:
2244         * WTF.xcodeproj/project.pbxproj:
2245         * config.h:
2246         * wtf/ASCIICType.h: Renamed from Source/JavaScriptCore/wtf/ASCIICType.h.
2247         (WTF):
2248         (WTF::isASCII):
2249         (WTF::isASCIIAlpha):
2250         (WTF::isASCIIDigit):
2251         (WTF::isASCIIAlphanumeric):
2252         (WTF::isASCIIHexDigit):
2253         (WTF::isASCIILower):
2254         (WTF::isASCIIOctalDigit):
2255         (WTF::isASCIIPrintable):
2256         (WTF::isASCIISpace):
2257         (WTF::isASCIIUpper):
2258         (WTF::toASCIILower):
2259         (WTF::toASCIILowerUnchecked):
2260         (WTF::toASCIIUpper):
2261         (WTF::toASCIIHexValue):
2262         (WTF::lowerNibbleToASCIIHexDigit):
2263         (WTF::upperNibbleToASCIIHexDigit):
2264         (WTF::isASCIIAlphaCaselessEqual):
2265         * wtf/AVLTree.h: Renamed from Source/JavaScriptCore/wtf/AVLTree.h.
2266         (WTF):
2267         (AVLTreeDefaultBSet):
2268         (WTF::AVLTreeDefaultBSet::operator[]):
2269         (WTF::AVLTreeDefaultBSet::set):
2270         (WTF::AVLTreeDefaultBSet::reset):
2271         (AVLTree):
2272         (WTF::AVLTree::abstractor):
2273         (WTF::AVLTree::purge):
2274         (WTF::AVLTree::is_empty):
2275         (WTF::AVLTree::AVLTree):
2276         (Iterator):
2277         (WTF::AVLTree::Iterator::Iterator):
2278         (WTF::AVLTree::Iterator::start_iter):
2279         (WTF::AVLTree::Iterator::start_iter_least):
2280         (WTF::AVLTree::Iterator::start_iter_greatest):
2281         (WTF::AVLTree::Iterator::operator*):
2282         (WTF::AVLTree::Iterator::operator++):
2283         (WTF::AVLTree::Iterator::operator--):
2284         (WTF::AVLTree::Iterator::cmp_k_n):
2285         (WTF::AVLTree::Iterator::cmp_n_n):
2286         (WTF::AVLTree::Iterator::get_lt):
2287         (WTF::AVLTree::Iterator::get_gt):
2288         (WTF::AVLTree::Iterator::null):
2289         (WTF::AVLTree::build):
2290         (abs_plus_root):
2291         (WTF::AVLTree::get_lt):
2292         (WTF::AVLTree::set_lt):
2293         (WTF::AVLTree::get_gt):
2294         (WTF::AVLTree::set_gt):
2295         (WTF::AVLTree::get_bf):
2296         (WTF::AVLTree::set_bf):
2297         (WTF::AVLTree::cmp_k_n):
2298         (WTF::AVLTree::cmp_n_n):
2299         (WTF::AVLTree::null):
2300         (WTF::AVLTree::balance):
2301         (WTF::::insert):
2302         (WTF::::search):
2303         (WTF::::search_least):
2304         (WTF::::search_greatest):
2305         (WTF::::remove):
2306         (WTF::::subst):
2307         * wtf/Alignment.h: Renamed from Source/JavaScriptCore/wtf/Alignment.h.
2308         (WTF):
2309         (WTF::swap):
2310         * wtf/AlwaysInline.h: Renamed from Source/JavaScriptCore/wtf/AlwaysInline.h.
2311         * wtf/ArrayBuffer.cpp: Renamed from Source/JavaScriptCore/wtf/ArrayBuffer.cpp.
2312         (WTF):
2313         (WTF::ArrayBuffer::transfer):
2314         (WTF::ArrayBuffer::addView):
2315         (WTF::ArrayBuffer::removeView):
2316         * wtf/ArrayBuffer.h: Renamed from Source/JavaScriptCore/wtf/ArrayBuffer.h.
2317         (WTF):
2318         (ArrayBufferContents):
2319         (WTF::ArrayBufferContents::ArrayBufferContents):
2320         (WTF::ArrayBufferContents::data):
2321         (WTF::ArrayBufferContents::sizeInBytes):
2322         (WTF::ArrayBufferContents::transfer):
2323         (ArrayBuffer):
2324         (WTF::ArrayBuffer::isNeutered):
2325         (WTF::ArrayBuffer::~ArrayBuffer):
2326         (WTF::ArrayBuffer::clampValue):
2327         (WTF::ArrayBuffer::create):
2328         (WTF::ArrayBuffer::ArrayBuffer):
2329         (WTF::ArrayBuffer::data):
2330         (WTF::ArrayBuffer::byteLength):
2331         (WTF::ArrayBuffer::slice):
2332         (WTF::ArrayBuffer::sliceImpl):
2333         (WTF::ArrayBuffer::clampIndex):
2334         (WTF::ArrayBufferContents::tryAllocate):
2335         (WTF::ArrayBufferContents::~ArrayBufferContents):
2336         * wtf/ArrayBufferView.cpp: Renamed from Source/JavaScriptCore/wtf/ArrayBufferView.cpp.
2337         (WTF):
2338         (WTF::ArrayBufferView::ArrayBufferView):
2339         (WTF::ArrayBufferView::~ArrayBufferView):
2340         (WTF::ArrayBufferView::neuter):
2341         * wtf/ArrayBufferView.h: Renamed from Source/JavaScriptCore/wtf/ArrayBufferView.h.
2342         (WTF):
2343         (WTF::ArrayBufferView::setImpl):
2344         (WTF::ArrayBufferView::setRangeImpl):
2345         (WTF::ArrayBufferView::zeroRangeImpl):
2346         (WTF::ArrayBufferView::calculateOffsetAndLength):
2347         * wtf/Assertions.cpp: Renamed from Source/JavaScriptCore/wtf/Assertions.cpp.
2348         * wtf/Assertions.h: Renamed from Source/JavaScriptCore/wtf/Assertions.h.
2349         (assertUnused):
2350         (assertWithMessageUnused):
2351         * wtf/Atomics.h: Renamed from Source/JavaScriptCore/wtf/Atomics.h.
2352         (WTF):
2353         (WTF::atomicIncrement):
2354         (WTF::atomicDecrement):
2355         (WTF::weakCompareAndSwap):
2356         (WTF::weakCompareAndSwapUIntPtr):
2357         * wtf/BitVector.cpp: Renamed from Source/JavaScriptCore/wtf/BitVector.cpp.
2358         (WTF):
2359         (WTF::BitVector::setSlow):
2360         (WTF::BitVector::resize):
2361         (WTF::BitVector::clearAll):
2362         (WTF::BitVector::OutOfLineBits::create):
2363         (WTF::BitVector::OutOfLineBits::destroy):
2364         (WTF::BitVector::resizeOutOfLine):
2365         (WTF::BitVector::dump):
2366         * wtf/BitVector.h: Renamed from Source/JavaScriptCore/wtf/BitVector.h.
2367         (WTF):
2368         (BitVector):
2369         (WTF::BitVector::BitVector):
2370         (WTF::BitVector::~BitVector):
2371         (WTF::BitVector::operator=):
2372         (WTF::BitVector::size):
2373         (WTF::BitVector::ensureSize):
2374         (WTF::BitVector::quickGet):
2375         (WTF::BitVector::quickSet):
2376         (WTF::BitVector::quickClear):
2377         (WTF::BitVector::get):
2378         (WTF::BitVector::set):
2379         (WTF::BitVector::clear):
2380         (WTF::BitVector::bitsInPointer):
2381         (WTF::BitVector::maxInlineBits):
2382         (WTF::BitVector::byteCount):
2383         (WTF::BitVector::makeInlineBits):
2384         (OutOfLineBits):
2385         (WTF::BitVector::OutOfLineBits::numBits):
2386         (WTF::BitVector::OutOfLineBits::numWords):
2387         (WTF::BitVector::OutOfLineBits::bits):
2388         (WTF::BitVector::OutOfLineBits::OutOfLineBits):
2389         (WTF::BitVector::isInline):
2390         (WTF::BitVector::outOfLineBits):
2391         (WTF::BitVector::bits):
2392         * wtf/Bitmap.h: Renamed from Source/JavaScriptCore/wtf/Bitmap.h.
2393         (WTF):
2394         (Bitmap):
2395         (WTF::::Bitmap):
2396         (WTF::::get):
2397         (WTF::::set):
2398         (WTF::::testAndSet):
2399         (WTF::::testAndClear):
2400         (WTF::::concurrentTestAndSet):
2401         (WTF::::concurrentTestAndClear):
2402         (WTF::::clear):
2403         (WTF::::clearAll):
2404         (WTF::::nextPossiblyUnset):
2405         (WTF::::findRunOfZeros):
2406         (WTF::::count):
2407         (WTF::::isEmpty):
2408         (WTF::::isFull):
2409         * wtf/BlockStack.h: Renamed from Source/JavaScriptCore/wtf/BlockStack.h.
2410         (WTF):
2411         (BlockStack):
2412         (WTF::::BlockStack):
2413         (WTF::::~BlockStack):
2414         (WTF::::blocks):
2415         (WTF::::grow):
2416         (WTF::::shrink):
2417         * wtf/BloomFilter.h: Renamed from Source/JavaScriptCore/wtf/BloomFilter.h.
2418         (WTF):
2419         (BloomFilter):
2420         (WTF::BloomFilter::maximumCount):
2421         (WTF::BloomFilter::BloomFilter):
2422         (WTF::BloomFilter::mayContain):
2423         (WTF::BloomFilter::add):
2424         (WTF::BloomFilter::remove):
2425         (WTF::BloomFilter::firstSlot):
2426         (WTF::BloomFilter::secondSlot):
2427         (WTF::::add):
2428         (WTF::::remove):
2429         (WTF::::clear):
2430         (WTF::::likelyEmpty):
2431         (WTF::::isClear):
2432         * wtf/BoundsCheckedPointer.h: Renamed from Source/JavaScriptCore/wtf/BoundsCheckedPointer.h.
2433         (WTF):
2434         (BoundsCheckedPointer):
2435         (WTF::BoundsCheckedPointer::BoundsCheckedPointer):
2436         (WTF::BoundsCheckedPointer::operator=):
2437         (WTF::BoundsCheckedPointer::operator+=):
2438         (WTF::BoundsCheckedPointer::operator-=):
2439         (WTF::BoundsCheckedPointer::operator+):
2440         (WTF::BoundsCheckedPointer::operator-):
2441         (WTF::BoundsCheckedPointer::operator++):
2442         (WTF::BoundsCheckedPointer::operator--):
2443         (WTF::BoundsCheckedPointer::operator<):
2444         (WTF::BoundsCheckedPointer::operator<=):
2445         (WTF::BoundsCheckedPointer::operator>):
2446         (WTF::BoundsCheckedPointer::operator>=):
2447         (WTF::BoundsCheckedPointer::operator==):
2448         (WTF::BoundsCheckedPointer::operator!=):
2449         (WTF::BoundsCheckedPointer::operator!):
2450         (WTF::BoundsCheckedPointer::get):
2451         (WTF::BoundsCheckedPointer::operator*):
2452         (WTF::BoundsCheckedPointer::operator[]):
2453         (WTF::BoundsCheckedPointer::strcat):
2454         (WTF::BoundsCheckedPointer::validate):
2455         * wtf/BumpPointerAllocator.h: Renamed from Source/JavaScriptCore/wtf/BumpPointerAllocator.h.
2456         (WTF):
2457         (BumpPointerPool):
2458         (WTF::BumpPointerPool::ensureCapacity):
2459         (WTF::BumpPointerPool::alloc):
2460         (WTF::BumpPointerPool::dealloc):
2461         (WTF::BumpPointerPool::operator new):
2462         (WTF::BumpPointerPool::BumpPointerPool):
2463         (WTF::BumpPointerPool::create):
2464         (WTF::BumpPointerPool::shrink):
2465         (WTF::BumpPointerPool::destroy):
2466         (WTF::BumpPointerPool::ensureCapacityCrossPool):
2467         (WTF::BumpPointerPool::deallocCrossPool):
2468         (BumpPointerAllocator):
2469         (WTF::BumpPointerAllocator::BumpPointerAllocator):
2470         (WTF::BumpPointerAllocator::~BumpPointerAllocator):
2471         (WTF::BumpPointerAllocator::startAllocator):
2472         (WTF::BumpPointerAllocator::stopAllocator):
2473         * wtf/ByteArray.cpp: Renamed from Source/JavaScriptCore/wtf/ByteArray.cpp.
2474         (WTF):
2475         (WTF::ByteArray::create):
2476         * wtf/ByteArray.h: Renamed from Source/JavaScriptCore/wtf/ByteArray.h.
2477         (ByteArray):
2478         (WTF::ByteArray::length):
2479         (WTF::ByteArray::set):
2480         (WTF::ByteArray::get):
2481         (WTF::ByteArray::data):
2482         (WTF::ByteArray::clear):
2483         (WTF::ByteArray::deref):
2484         (WTF::ByteArray::offsetOfSize):
2485         (WTF::ByteArray::offsetOfData):
2486         (WTF::ByteArray::ByteArray):
2487         * wtf/CMakeLists.txt: Renamed from Source/JavaScriptCore/wtf/CMakeLists.txt.
2488         * wtf/CONTRIBUTORS.pthreads-win32: Renamed from Source/JavaScriptCore/wtf/CONTRIBUTORS.pthreads-win32.
2489         * wtf/CheckedArithmetic.h: Renamed from Source/JavaScriptCore/wtf/CheckedArithmetic.h.
2490         (WTF):
2491         (CrashOnOverflow):
2492         (WTF::CrashOnOverflow::overflowed):
2493         (WTF::CrashOnOverflow::clearOverflow):
2494         (WTF::CrashOnOverflow::hasOverflowed):
2495         (RecordOverflow):
2496         (WTF::RecordOverflow::RecordOverflow):
2497         (WTF::RecordOverflow::overflowed):
2498         (WTF::RecordOverflow::clearOverflow):
2499         (WTF::RecordOverflow::hasOverflowed):
2500         (WTF::isInBounds):
2501         (RemoveChecked):
2502         (WTF::safeAdd):
2503         (WTF::safeSub):
2504         (WTF::safeMultiply):
2505         (WTF::safeEquals):
2506         (WTF::workAroundClangBug):
2507         (Checked):
2508         (WTF::Checked::Checked):
2509         (WTF::Checked::operator=):
2510         (WTF::Checked::operator++):
2511         (WTF::Checked::operator--):
2512         (WTF::Checked::operator!):
2513         (WTF::Checked::operator UnspecifiedBoolType*):
2514         (WTF::Checked::unsafeGet):
2515         (WTF::Checked::operator+=):
2516         (WTF::Checked::operator-=):
2517         (WTF::Checked::operator*=):
2518         (WTF::Checked::operator==):
2519         (WTF::Checked::operator!=):
2520         (WTF::operator+):
2521         (WTF::operator-):
2522         (WTF::operator*):
2523         * wtf/CheckedBoolean.h: Renamed from Source/JavaScriptCore/wtf/CheckedBoolean.h.
2524         (CheckedBoolean):
2525         (CheckedBoolean::CheckedBoolean):
2526         (CheckedBoolean::~CheckedBoolean):
2527         (CheckedBoolean::operator bool):
2528         * wtf/Compiler.h: Renamed from Source/JavaScriptCore/wtf/Compiler.h.
2529         * wtf/Complex.h: Renamed from Source/JavaScriptCore/wtf/Complex.h.
2530         (WTF):
2531         (WTF::complexFromMagnitudePhase):
2532         * wtf/CryptographicallyRandomNumber.cpp: Renamed from Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.cpp.
2533         (WTF::cryptographicallyRandomNumber):
2534         (WTF):
2535         (WTF::cryptographicallyRandomValues):
2536         * wtf/CryptographicallyRandomNumber.h: Renamed from Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.h.
2537         (WTF):
2538         * wtf/CurrentTime.cpp: Renamed from Source/JavaScriptCore/wtf/CurrentTime.cpp.
2539         (WTF):
2540         (WTF::highResUpTime):
2541         (WTF::lowResUTCTime):
2542         (WTF::qpcAvailable):
2543         (WTF::currentTime):
2544         (WTF::currentSystemTime):
2545         (WTF::monotonicallyIncreasingTime):
2546         * wtf/CurrentTime.h: Renamed from Source/JavaScriptCore/wtf/CurrentTime.h.
2547         (WTF):
2548         (WTF::currentTimeMS):
2549         (WTF::getLocalTime):
2550         * wtf/DataLog.cpp: Renamed from Source/JavaScriptCore/wtf/DataLog.cpp.
2551         (WTF):
2552         (WTF::initializeLogFileOnce):
2553         (WTF::initializeLogFile):
2554         (WTF::dataFile):
2555         (WTF::dataLogV):
2556         (WTF::dataLog):
2557         * wtf/DataLog.h: Renamed from Source/JavaScriptCore/wtf/DataLog.h.
2558         (WTF):
2559         * wtf/DateMath.cpp: Renamed from Source/JavaScriptCore/wtf/DateMath.cpp.
2560         (WTF):
2561         (WTF::isLeapYear):
2562         (WTF::daysInYear):
2563         (WTF::daysFrom1970ToYear):
2564         (WTF::msToDays):
2565         (WTF::twoDigitStringFromNumber):
2566         (WTF::msToYear):
2567         (WTF::dayInYear):
2568         (WTF::msToMilliseconds):
2569         (WTF::msToMinutes):
2570         (WTF::msToHours):
2571         (WTF::monthFromDayInYear):
2572         (WTF::checkMonth):
2573         (WTF::dayInMonthFromDayInYear):
2574         (WTF::monthToDayInYear):
2575         (WTF::dateToDaysFrom1970):
2576         (WTF::maximumYearForDST):
2577         (WTF::minimumYearForDST):
2578         (WTF::equivalentYearForDST):
2579         (WTF::calculateUTCOffset):
2580         (WTF::calculateDSTOffsetSimple):
2581         (WTF::calculateDSTOffset):
2582         (WTF::initializeDates):
2583         (WTF::ymdhmsToSeconds):
2584         (KnownZone):
2585         (WTF::skipSpacesAndComments):
2586         (WTF::findMonth):
2587         (WTF::parseLong):
2588         (WTF::parseES5DatePortion):
2589         (WTF::parseES5TimePortion):
2590         (WTF::parseES5DateFromNullTerminatedCharacters):
2591         (WTF::parseDateFromNullTerminatedCharacters):
2592         (WTF::timeClip):
2593         (WTF::makeRFC2822DateString):
2594         * wtf/DateMath.h: Renamed from Source/JavaScriptCore/wtf/DateMath.h.
2595         (WTF):
2596         (WTF::jsCurrentTime):
2597         * wtf/DecimalNumber.cpp: Renamed from Source/JavaScriptCore/wtf/DecimalNumber.cpp.
2598         (WTF):
2599         (WTF::DecimalNumber::bufferLengthForStringDecimal):
2600         (WTF::DecimalNumber::bufferLengthForStringExponential):
2601         (WTF::DecimalNumber::toStringDecimal):
2602         (WTF::DecimalNumber::toStringExponential):
2603         * wtf/DecimalNumber.h: Renamed from Source/JavaScriptCore/wtf/DecimalNumber.h.
2604         (WTF):
2605         (DecimalNumber):
2606         (WTF::DecimalNumber::DecimalNumber):
2607         (WTF::DecimalNumber::sign):
2608         (WTF::DecimalNumber::exponent):
2609         (WTF::DecimalNumber::significand):
2610         (WTF::DecimalNumber::precision):
2611         * wtf/Decoder.h: Renamed from Source/JavaScriptCore/wtf/Decoder.h.
2612         (WTF):
2613         (Decoder):
2614         (WTF::Decoder::Decoder):
2615         (WTF::Decoder::~Decoder):
2616         * wtf/Deque.h: Renamed from Source/JavaScriptCore/wtf/Deque.h.
2617         (WTF):
2618         (Deque):
2619         (WTF::Deque::size):
2620         (WTF::Deque::isEmpty):
2621         (WTF::Deque::begin):
2622         (WTF::Deque::end):
2623         (WTF::Deque::rbegin):
2624         (WTF::Deque::rend):
2625         (WTF::Deque::first):
2626         (WTF::Deque::last):
2627         (DequeIteratorBase):
2628         (WTF::DequeIteratorBase::assign):
2629         (DequeIterator):
2630         (WTF::DequeIterator::DequeIterator):
2631         (WTF::DequeIterator::operator=):
2632         (WTF::DequeIterator::operator*):
2633         (WTF::DequeIterator::operator->):
2634         (WTF::DequeIterator::operator==):
2635         (WTF::DequeIterator::operator!=):
2636         (WTF::DequeIterator::operator++):
2637         (WTF::DequeIterator::operator--):
2638         (DequeConstIterator):
2639         (WTF::DequeConstIterator::DequeConstIterator):
2640         (WTF::DequeConstIterator::operator=):
2641         (WTF::DequeConstIterator::operator*):
2642         (WTF::DequeConstIterator::operator->):
2643         (WTF::DequeConstIterator::operator==):
2644         (WTF::DequeConstIterator::operator!=):
2645         (WTF::DequeConstIterator::operator++):
2646         (WTF::DequeConstIterator::operator--):
2647         (DequeReverseIterator):
2648         (WTF::DequeReverseIterator::DequeReverseIterator):
2649         (WTF::DequeReverseIterator::operator=):
2650         (WTF::DequeReverseIterator::operator*):
2651         (WTF::DequeReverseIterator::operator->):
2652         (WTF::DequeReverseIterator::operator==):
2653         (WTF::DequeReverseIterator::operator!=):
2654         (WTF::DequeReverseIterator::operator++):
2655         (WTF::DequeReverseIterator::operator--):
2656         (DequeConstReverseIterator):
2657         (WTF::DequeConstReverseIterator::DequeConstReverseIterator):
2658         (WTF::DequeConstReverseIterator::operator=):
2659         (WTF::DequeConstReverseIterator::operator*):
2660         (WTF::DequeConstReverseIterator::operator->):
2661         (WTF::DequeConstReverseIterator::operator==):
2662         (WTF::DequeConstReverseIterator::operator!=):
2663         (WTF::DequeConstReverseIterator::operator++):
2664         (WTF::DequeConstReverseIterator::operator--):
2665         (WTF::::checkValidity):
2666         (WTF::::checkIndexValidity):
2667         (WTF::::invalidateIterators):
2668         (WTF::::Deque):
2669         (WTF::deleteAllValues):
2670         (WTF::=):
2671         (WTF::::destroyAll):
2672         (WTF::::~Deque):
2673         (WTF::::swap):
2674         (WTF::::clear):
2675         (WTF::::findIf):
2676         (WTF::::expandCapacityIfNeeded):
2677         (WTF::::expandCapacity):
2678         (WTF::::takeFirst):
2679         (WTF::::append):
2680         (WTF::::prepend):
2681         (WTF::::removeFirst):
2682         (WTF::::remove):
2683         (WTF::::addToIteratorsList):
2684         (WTF::::removeFromIteratorsList):
2685         (WTF::::DequeIteratorBase):
2686         (WTF::::~DequeIteratorBase):
2687         (WTF::::isEqual):
2688         (WTF::::increment):
2689         (WTF::::decrement):
2690         (WTF::::after):
2691         (WTF::::before):
2692         * wtf/DisallowCType.h: Renamed from Source/JavaScriptCore/wtf/DisallowCType.h.
2693         * wtf/DoublyLinkedList.h: Renamed from Source/JavaScriptCore/wtf/DoublyLinkedList.h.
2694         (WTF):
2695         (DoublyLinkedListNode):
2696         (WTF::::DoublyLinkedListNode):
2697         (WTF::::setPrev):
2698         (WTF::::setNext):
2699         (WTF::::prev):
2700         (WTF::::next):
2701         (DoublyLinkedList):
2702         (WTF::::DoublyLinkedList):
2703         (WTF::::isEmpty):
2704         (WTF::::size):
2705         (WTF::::clear):
2706         (WTF::::head):
2707         (WTF::::tail):
2708         (WTF::::push):
2709         (WTF::::append):
2710         (WTF::::remove):
2711         (WTF::::removeHead):
2712         * wtf/DynamicAnnotations.cpp: Renamed from Source/JavaScriptCore/wtf/DynamicAnnotations.cpp.
2713         (WTFAnnotateBenignRaceSized):
2714         (WTFAnnotateHappensBefore):
2715         (WTFAnnotateHappensAfter):
2716         * wtf/DynamicAnnotations.h: Renamed from Source/JavaScriptCore/wtf/DynamicAnnotations.h.
2717         * wtf/Encoder.h: Renamed from Source/JavaScriptCore/wtf/Encoder.h.
2718         (WTF):
2719         (Encoder):
2720         (WTF::Encoder::Encoder):
2721         (WTF::Encoder::~Encoder):
2722         * wtf/ExportMacros.h: Renamed from Source/JavaScriptCore/wtf/ExportMacros.h.
2723         * wtf/FastAllocBase.h: Renamed from Source/JavaScriptCore/wtf/FastAllocBase.h.
2724         (WTF):
2725         (WTF::fastNew):
2726         (Internal):
2727         (WTF::Internal::NewArrayImpl::fastNewArray):
2728         (WTF::fastNewArray):
2729         (WTF::fastDelete):
2730         (WTF::fastDeleteSkippingDestructor):
2731         (WTF::Internal::DeleteArrayImpl::fastDeleteArray):
2732         (WTF::fastDeleteArray):
2733         (WTF::fastNonNullDelete):
2734         (WTF::Internal::NonNullDeleteArrayImpl::fastNonNullDeleteArray):
2735         (WTF::fastNonNullDeleteArray):
2736         * wtf/FastMalloc.cpp: Renamed from Source/JavaScriptCore/wtf/FastMalloc.cpp.
2737         (WTF):
2738         (WTF::isForbidden):
2739         (WTF::fastMallocForbid):
2740         (WTF::fastMallocAllow):
2741         (WTF::initializeIsForbiddenKey):
2742         (Internal):
2743         (WTF::Internal::fastMallocMatchFailed):
2744         (WTF::fastZeroedMalloc):
2745         (WTF::fastStrDup):
2746         (WTF::tryFastZeroedMalloc):
2747         (WTF::tryFastMalloc):
2748         (WTF::fastMalloc):
2749         (WTF::tryFastCalloc):
2750         (WTF::fastCalloc):
2751         (WTF::fastFree):
2752         (WTF::tryFastRealloc):
2753         (WTF::fastRealloc):
2754         (WTF::releaseFastMallocFreeMemory):
2755         (WTF::fastMallocStatistics):
2756         (WTF::fastMallocSize):
2757         (FastMallocZone):
2758         (WTF::FastMallocZone::goodSize):
2759         (WTF::FastMallocZone::check):
2760         (WTF::FastMallocZone::print):
2761         (WTF::FastMallocZone::log):
2762         (WTF::FastMallocZone::forceLock):
2763         (WTF::FastMallocZone::forceUnlock):
2764         (WTF::FastMallocZone::statistics):
2765         (WTF::FastMallocZone::zoneValloc):
2766         (WTF::FastMallocZone::zoneDestroy):
2767         (WTF::KernelSupportsTLS):
2768         (WTF::CheckIfKernelSupportsTLS):
2769         (WTF::ClassIndex):
2770         (TCEntry):
2771         (WTF::LgFloor):
2772         (WTF::SLL_Next):
2773         (WTF::SLL_SetNext):
2774         (WTF::SLL_Push):
2775         (WTF::SLL_Pop):
2776         (WTF::SLL_PopRange):
2777         (WTF::SLL_PushRange):
2778         (WTF::SLL_Size):
2779         (WTF::SizeClass):
2780         (WTF::ByteSizeForClass):
2781         (WTF::NumMoveSize):
2782         (WTF::InitSizeClasses):
2783         (WTF::MetaDataAlloc):
2784         (PageHeapAllocator):
2785         (WTF::PageHeapAllocator::Init):
2786         (WTF::PageHeapAllocator::New):
2787         (WTF::PageHeapAllocator::Delete):
2788         (WTF::PageHeapAllocator::inuse):
2789         (WTF::PageHeapAllocator::recordAdministrativeRegions):
2790         (WTF::pages):
2791         (WTF::AllocationSize):
2792         (Span):
2793         (WTF::Event):
2794         (WTF::NewSpan):
2795         (WTF::DeleteSpan):
2796         (WTF::DLL_Init):
2797         (WTF::DLL_Remove):
2798         (WTF::DLL_IsEmpty):
2799         (WTF::DLL_Length):
2800         (WTF::DLL_Print):
2801         (WTF::DLL_Prepend):
2802         (StackTrace):
2803         (MapSelector):
2804         (TCMalloc_PageHeap):
2805         (WTF::TCMalloc_PageHeap::GetDescriptor):
2806         (WTF::TCMalloc_PageHeap::GetDescriptorEnsureSafe):
2807         (WTF::TCMalloc_PageHeap::SystemBytes):
2808         (WTF::TCMalloc_PageHeap::FreeBytes):
2809         (WTF::TCMalloc_PageHeap::GetSizeClassIfCached):
2810         (WTF::TCMalloc_PageHeap::CacheSizeClass):
2811         (SpanList):
2812         (WTF::TCMalloc_PageHeap::RecordSpan):
2813         (WTF::TCMalloc_PageHeap::init):
2814         (WTF::TCMalloc_PageHeap::initializeScavenger):
2815         (WTF::TCMalloc_PageHeap::isScavengerSuspended):
2816         (WTF::TCMalloc_PageHeap::scheduleScavenger):
2817         (WTF::TCMalloc_PageHeap::rescheduleScavenger):
2818         (WTF::TCMalloc_PageHeap::suspendScavenger):
2819         (WTF::TCMalloc_PageHeap::scavengerTimerFired):
2820         (WTF::TCMalloc_PageHeap::runScavengerThread):
2821         (WTF::TCMalloc_PageHeap::signalScavenger):
2822         (WTF::TCMalloc_PageHeap::scavenge):
2823         (WTF::TCMalloc_PageHeap::shouldScavenge):
2824         (WTF::TCMalloc_PageHeap::New):
2825         (WTF::TCMalloc_PageHeap::AllocLarge):
2826         (WTF::TCMalloc_PageHeap::Split):
2827         (WTF::TCMalloc_PageHeap::Carve):
2828         (WTF::mergeDecommittedStates):
2829         (WTF::TCMalloc_PageHeap::Delete):
2830         (WTF::TCMalloc_PageHeap::IncrementalScavenge):
2831         (WTF::TCMalloc_PageHeap::RegisterSizeClass):
2832         (WTF::TCMalloc_PageHeap::ReturnedBytes):
2833         (WTF::PagesToMB):
2834         (WTF::TCMalloc_PageHeap::Dump):
2835         (WTF::TCMalloc_PageHeap::GrowHeap):
2836         (WTF::TCMalloc_PageHeap::Check):
2837         (WTF::TCMalloc_PageHeap::CheckList):
2838         (WTF::TCMalloc_PageHeap::ReleaseFreeList):
2839         (WTF::TCMalloc_PageHeap::ReleaseFreePages):
2840         (TCMalloc_ThreadCache_FreeList):
2841         (WTF::TCMalloc_ThreadCache_FreeList::Init):
2842         (WTF::TCMalloc_ThreadCache_FreeList::length):
2843         (WTF::TCMalloc_ThreadCache_FreeList::empty):
2844         (WTF::TCMalloc_ThreadCache_FreeList::lowwatermark):
2845         (WTF::TCMalloc_ThreadCache_FreeList::clear_lowwatermark):
2846         (WTF::TCMalloc_ThreadCache_FreeList::Push):
2847         (WTF::TCMalloc_ThreadCache_FreeList::PushRange):
2848         (WTF::TCMalloc_ThreadCache_FreeList::PopRange):
2849         (WTF::TCMalloc_ThreadCache_FreeList::Pop):
2850         (WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects):
2851         (TCMalloc_ThreadCache):
2852         (WTF::TCMalloc_ThreadCache::freelist_length):
2853         (WTF::TCMalloc_ThreadCache::Size):
2854         (WTF::TCMalloc_ThreadCache::enumerateFreeObjects):
2855         (TCMalloc_Central_FreeList):
2856         (WTF::TCMalloc_Central_FreeList::length):
2857         (WTF::TCMalloc_Central_FreeList::tc_length):
2858         (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects):
2859         (TCMalloc_Central_FreeListPadded):
2860         (WTF::getPageHeap):
2861         (WTF::TCMalloc_PageHeap::periodicScavenge):
2862         (WTF::TCMalloc_PageHeap::scavengerThread):
2863         (WTF::setThreadHeap):
2864         (WTF::TCMalloc_Central_FreeList::Init):
2865         (WTF::TCMalloc_Central_FreeList::ReleaseListToSpans):
2866         (WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
2867         (WTF::TCMalloc_Central_FreeList::EvictRandomSizeClass):
2868         (WTF::TCMalloc_Central_FreeList::MakeCacheSpace):
2869         (WTF::TCMalloc_Central_FreeList::ShrinkCache):
2870         (WTF::TCMalloc_Central_FreeList::InsertRange):
2871         (WTF::TCMalloc_Central_FreeList::RemoveRange):
2872         (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe):
2873         (WTF::TCMalloc_Central_FreeList::FetchFromSpans):
2874         (WTF::TCMalloc_Central_FreeList::Populate):
2875         (WTF::TCMalloc_ThreadCache::SampleAllocation):
2876         (WTF::TCMalloc_ThreadCache::Init):
2877         (WTF::TCMalloc_ThreadCache::Cleanup):
2878         (WTF::TCMalloc_ThreadCache::Allocate):
2879         (WTF::TCMalloc_ThreadCache::Deallocate):
2880         (WTF::TCMalloc_ThreadCache::FetchFromCentralCache):
2881         (WTF::TCMalloc_ThreadCache::ReleaseToCentralCache):
2882         (WTF::TCMalloc_ThreadCache::Scavenge):
2883         (WTF::TCMalloc_ThreadCache::PickNextSample):
2884         (WTF::TCMalloc_ThreadCache::InitModule):
2885         (WTF::TCMalloc_ThreadCache::NewHeap):
2886         (WTF::TCMalloc_ThreadCache::GetThreadHeap):
2887         (WTF::TCMalloc_ThreadCache::GetCache):
2888         (WTF::TCMalloc_ThreadCache::GetCacheIfPresent):
2889         (WTF::TCMalloc_ThreadCache::InitTSD):
2890         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2891         * wtf/FastMalloc.h: Renamed from Source/JavaScriptCore/wtf/FastMalloc.h.
2892         (WTF):
2893         (WTF::TryMallocReturnValue::TryMallocReturnValue):
2894         (WTF::TryMallocReturnValue::~TryMallocReturnValue):
2895         (TryMallocReturnValue):
2896         (WTF::TryMallocReturnValue::operator PossiblyNull<T>):
2897         (WTF::TryMallocReturnValue::getValue):
2898         (FastMallocStatistics):
2899         (ValidationHeader):
2900         (Internal):
2901         (WTF::Internal::fastMallocValidationHeader):
2902         (WTF::Internal::fastMallocValidationSuffix):
2903         (WTF::Internal::fastMallocMatchValidationType):
2904         (WTF::Internal::setFastMallocMatchValidationType):
2905         (WTF::fastMallocMatchValidateMalloc):
2906         (WTF::fastMallocMatchValidateFree):
2907         (WTF::fastMallocValidate):
2908         (throw):
2909         * wtf/FixedArray.h: Renamed from Source/JavaScriptCore/wtf/FixedArray.h.
2910         (WTF):
2911         (FixedArray):
2912         (WTF::FixedArray::operator[]):
2913         (WTF::FixedArray::data):
2914         (WTF::FixedArray::size):
2915         * wtf/Float32Array.h: Renamed from Source/JavaScriptCore/wtf/Float32Array.h.
2916         (WTF):
2917         (Float32Array):
2918         (WTF::Float32Array::set):
2919         (WTF::Float32Array::item):
2920         (WTF::Float32Array::isFloatArray):
2921         (WTF::Float32Array::create):
2922         (WTF::Float32Array::Float32Array):
2923         (WTF::Float32Array::subarray):
2924         * wtf/Float64Array.h: Renamed from Source/JavaScriptCore/wtf/Float64Array.h.
2925         (WTF):
2926         (Float64Array):
2927         (WTF::Float64Array::set):
2928         (WTF::Float64Array::item):
2929         (WTF::Float64Array::isDoubleArray):
2930         (WTF::Float64Array::create):
2931         (WTF::Float64Array::Float64Array):
2932         (WTF::Float64Array::subarray):
2933         * wtf/Forward.h: Renamed from Source/JavaScriptCore/wtf/Forward.h.
2934         (WTF):
2935         * wtf/Functional.h: Renamed from Source/JavaScriptCore/wtf/Functional.h.
2936         (WTF):
2937         (HasRefAndDeref):
2938         (NoType):
2939         (BaseMixin):
2940         (WTF::R):
2941         (WTF::C::):
2942         (WTF::RefAndDeref::ref):
2943         (WTF::RefAndDeref::deref):
2944         (ParamStorageTraits):
2945         (WTF::ParamStorageTraits::wrap):
2946         (WTF::ParamStorageTraits::unwrap):
2947         (FunctionImplBase):
2948         (WTF::FunctionImplBase::~FunctionImplBase):
2949         (FunctionBase):
2950         (WTF::FunctionBase::isNull):
2951         (WTF::FunctionBase::FunctionBase):
2952         (WTF::FunctionBase::impl):
2953         (WTF::bind):
2954         * wtf/GetPtr.h: Renamed from Source/JavaScriptCore/wtf/GetPtr.h.
2955         (WTF):
2956         (WTF::getPtr):
2957         * wtf/HashCountedSet.h: Renamed from Source/JavaScriptCore/wtf/HashCountedSet.h.
2958         (WTF):
2959         (HashCountedSet):
2960         (WTF::HashCountedSet::HashCountedSet):
2961         (WTF::::size):
2962         (WTF::::capacity):
2963         (WTF::::isEmpty):
2964         (WTF::::begin):
2965         (WTF::::end):
2966         (WTF::::find):
2967         (WTF::::contains):
2968         (WTF::::count):
2969         (WTF::::add):
2970         (WTF::::remove):
2971         (WTF::::removeAll):
2972         (WTF::::clear):
2973         (WTF::copyToVector):
2974         * wtf/HashFunctions.h: Renamed from Source/JavaScriptCore/wtf/HashFunctions.h.
2975         (WTF):
2976         (WTF::intHash):
2977         (WTF::IntHash::hash):
2978         (WTF::IntHash::equal):
2979         (IntHash):
2980         (WTF::FloatHash::hash):
2981         (WTF::FloatHash::equal):
2982         (FloatHash):
2983         (WTF::PtrHash::hash):
2984         (WTF::PtrHash::equal):
2985         (PtrHash):
2986         (WTF::PairHash::hash):
2987         (WTF::PairHash::equal):
2988         (PairHash):
2989         * wtf/HashIterators.h: Renamed from Source/JavaScriptCore/wtf/HashIterators.h.
2990         (WTF):
2991         (HashTableConstKeysIterator):
2992         (WTF::HashTableConstKeysIterator::HashTableConstKeysIterator):
2993         (WTF::HashTableConstKeysIterator::get):
2994         (WTF::HashTableConstKeysIterator::operator*):
2995         (WTF::HashTableConstKeysIterator::operator->):
2996         (WTF::HashTableConstKeysIterator::operator++):
2997         (HashTableConstValuesIterator):
2998         (WTF::HashTableConstValuesIterator::HashTableConstValuesIterator):
2999         (WTF::HashTableConstValuesIterator::get):
3000         (WTF::HashTableConstValuesIterator::operator*):
3001         (WTF::HashTableConstValuesIterator::operator->):
3002         (WTF::HashTableConstValuesIterator::operator++):
3003         (HashTableKeysIterator):
3004         (WTF::HashTableKeysIterator::HashTableKeysIterator):
3005         (WTF::HashTableKeysIterator::get):
3006         (WTF::HashTableKeysIterator::operator*):
3007         (WTF::HashTableKeysIterator::operator->):
3008         (WTF::HashTableKeysIterator::operator++):
3009         (WTF::HashTableKeysIterator::operator HashTableConstKeysIterator<HashTableType, KeyType, MappedType>):
3010         (HashTableValuesIterator):
3011         (WTF::HashTableValuesIterator::HashTableValuesIterator):
3012         (WTF::HashTableValuesIterator::get):
3013         (WTF::HashTableValuesIterator::operator*):
3014         (WTF::HashTableValuesIterator::operator->):
3015         (WTF::HashTableValuesIterator::operator++):
3016         (WTF::HashTableValuesIterator::operator HashTableConstValuesIterator<HashTableType, KeyType, MappedType>):
3017         (WTF::operator==):
3018         (WTF::operator!=):
3019         * wtf/HashMap.h: Renamed from Source/JavaScriptCore/wtf/HashMap.h.
3020         (WTF):
3021         (ReferenceTypeMaker):
3022         (HashMap):
3023         (WTF::HashMap::keys):
3024         (WTF::HashMap::values):
3025         (HashMapKeysProxy):
3026         (WTF::HashMap::HashMapKeysProxy::begin):
3027         (WTF::HashMap::HashMapKeysProxy::end):
3028         (HashMapValuesProxy):
3029         (WTF::HashMap::HashMapValuesProxy::begin):
3030         (WTF::HashMap::HashMapValuesProxy::end):
3031         (WTF::PairFirstExtractor::extract):
3032         (WTF::HashMapTranslator::hash):
3033         (WTF::HashMapTranslator::equal):
3034         (WTF::HashMapTranslator::translate):
3035         (WTF::HashMapTranslatorAdapter::hash):
3036         (WTF::HashMapTranslatorAdapter::equal):
3037         (WTF::HashMapTranslatorAdapter::translate):
3038         (WTF::::swap):
3039         (WTF::::size):
3040         (WTF::::capacity):
3041         (WTF::::isEmpty):
3042         (WTF::::begin):
3043         (WTF::::end):
3044         (WTF::::find):
3045         (WTF::::contains):
3046         (WTF::::inlineAdd):
3047         (WTF::::set):
3048         (WTF::::add):
3049         (WTF::::get):
3050         (WTF::::remove):
3051         (WTF::::clear):
3052         (WTF::::take):
3053         (WTF::::checkConsistency):
3054         (WTF::operator==):
3055         (WTF::operator!=):
3056         (WTF::deleteAllPairSeconds):
3057         (WTF::deleteAllValues):
3058         (WTF::deleteAllPairFirsts):
3059         (WTF::deleteAllKeys):
3060         (WTF::copyKeysToVector):
3061         (WTF::copyValuesToVector):
3062         * wtf/HashSet.h: Renamed from Source/JavaScriptCore/wtf/HashSet.h.
3063         (WTF):
3064         (HashSet):
3065         (WTF::IdentityExtractor::extract):
3066         (WTF::HashSetTranslatorAdapter::hash):
3067         (WTF::HashSetTranslatorAdapter::equal):
3068         (WTF::HashSetTranslatorAdapter::translate):
3069         (WTF::::swap):
3070         (WTF::::size):
3071         (WTF::::capacity):
3072         (WTF::::isEmpty):
3073         (WTF::::begin):
3074         (WTF::::end):
3075         (WTF::::find):
3076         (WTF::::contains):
3077         (WTF::::add):
3078         (WTF::::remove):
3079         (WTF::::clear):
3080         (WTF::deleteAllValues):
3081         (WTF::fastDeleteAllValues):
3082         (WTF::copyToVector):
3083         * wtf/HashTable.cpp: Renamed from Source/JavaScriptCore/wtf/HashTable.cpp.
3084         (WTF):
3085         (WTF::hashTableStatsMutex):
3086         (WTF::HashTableStats::~HashTableStats):
3087         (WTF::HashTableStats::recordCollisionAtCount):
3088         * wtf/HashTable.h: Renamed from Source/JavaScriptCore/wtf/HashTable.h.
3089         (WTF):
3090         (HashTableStats):
3091         (WTF::addIterator):
3092         (WTF::removeIterator):
3093         (HashTableConstIterator):
3094         (WTF::HashTableConstIterator::skipEmptyBuckets):
3095         (WTF::HashTableConstIterator::HashTableConstIterator):
3096         (WTF::HashTableConstIterator::~HashTableConstIterator):
3097         (WTF::HashTableConstIterator::operator=):
3098         (WTF::HashTableConstIterator::get):
3099         (WTF::HashTableConstIterator::operator*):
3100         (WTF::HashTableConstIterator::operator->):
3101         (WTF::HashTableConstIterator::operator++):
3102         (WTF::HashTableConstIterator::operator==):
3103         (WTF::HashTableConstIterator::operator!=):
3104         (WTF::HashTableConstIterator::checkValidity):
3105         (HashTableIterator):
3106         (WTF::HashTableIterator::HashTableIterator):
3107         (WTF::HashTableIterator::get):
3108         (WTF::HashTableIterator::operator*):
3109         (WTF::HashTableIterator::operator->):
3110         (WTF::HashTableIterator::operator++):
3111         (WTF::HashTableIterator::operator==):
3112         (WTF::HashTableIterator::operator!=):
3113         (WTF::HashTableIterator::operator const_iterator):
3114         (WTF::hashTableSwap):
3115         (IdentityHashTranslator):
3116         (WTF::IdentityHashTranslator::hash):
3117         (WTF::IdentityHashTranslator::equal):
3118         (WTF::IdentityHashTranslator::translate):
3119         (HashTable):
3120         (WTF::HashTable::~HashTable):
3121         (WTF::HashTable::begin):
3122         (WTF::HashTable::end):
3123         (WTF::HashTable::size):
3124         (WTF::HashTable::capacity):
3125         (WTF::HashTable::isEmpty):
3126         (WTF::HashTable::add):
3127         (WTF::HashTable::find):
3128         (WTF::HashTable::contains):
3129         (WTF::HashTable::isEmptyBucket):
3130         (WTF::HashTable::isDeletedBucket):
3131         (WTF::HashTable::isEmptyOrDeletedBucket):
3132         (WTF::HashTable::lookup):
3133         (WTF::HashTable::checkTableConsistency):
3134         (WTF::HashTable::internalCheckTableConsistency):
3135         (WTF::HashTable::internalCheckTableConsistencyExceptSize):
3136         (WTF::HashTable::lookupForWriting):
3137         (WTF::HashTable::shouldExpand):
3138         (WTF::HashTable::mustRehashInPlace):
3139         (WTF::HashTable::shouldShrink):
3140         (WTF::HashTable::shrink):
3141         (WTF::HashTable::deleteBucket):
3142         (WTF::HashTable::makeLookupResult):
3143         (WTF::HashTable::makeIterator):
3144         (WTF::HashTable::makeConstIterator):
3145         (WTF::HashTable::makeKnownGoodIterator):
3146         (WTF::HashTable::makeKnownGoodConstIterator):
3147         (WTF::HashTable::checkTableConsistencyExceptSize):
3148         (WTF::HashTable::invalidateIterators):
3149         (WTF::::HashTable):
3150         (WTF::doubleHash):
3151         (WTF::::checkKey):
3152         (WTF::::lookup):
3153         (WTF::::lookupForWriting):
3154         (WTF::::fullLookupForWriting):
3155         (WTF::::initializeBucket):
3156         (WTF::::add):
3157         (WTF::::addPassingHashCode):
3158         (WTF::::reinsert):
3159         (WTF::::find):
3160         (WTF::::contains):
3161         (WTF::::removeAndInvalidateWithoutEntryConsistencyCheck):
3162         (WTF::::removeAndInvalidate):
3163         (WTF::::remove):
3164         (WTF::::removeWithoutEntryConsistencyCheck):
3165         (WTF::::allocateTable):
3166         (WTF::::deallocateTable):
3167         (WTF::::expand):
3168         (WTF::::rehash):
3169         (WTF::::clear):
3170         (WTF::::swap):
3171         (WTF::=):
3172         (WTF::::checkTableConsistency):
3173         (WTF::::checkTableConsistencyExceptSize):
3174         (WTF::::invalidateIterators):
3175         (WTF::HashTableConstIteratorAdapter::HashTableConstIteratorAdapter):
3176         (HashTableConstIteratorAdapter):
3177         (WTF::HashTableConstIteratorAdapter::get):
3178         (WTF::HashTableConstIteratorAdapter::operator*):
3179         (WTF::HashTableConstIteratorAdapter::operator->):
3180         (WTF::HashTableConstIteratorAdapter::operator++):
3181         (WTF::HashTableIteratorAdapter::HashTableIteratorAdapter):
3182         (HashTableIteratorAdapter):
3183         (WTF::HashTableIteratorAdapter::get):
3184         (WTF::HashTableIteratorAdapter::operator*):
3185         (WTF::HashTableIteratorAdapter::operator->):
3186         (WTF::HashTableIteratorAdapter::operator++):
3187         (WTF::HashTableIteratorAdapter::operator HashTableConstIteratorAdapter<HashTableType, ValueType>):
3188         (WTF::operator==):
3189         (WTF::operator!=):
3190         * wtf/HashTraits.h: Renamed from Source/JavaScriptCore/wtf/HashTraits.h.
3191         (WTF):
3192         (GenericHashTraits):
3193         (WTF::GenericHashTraits::emptyValue):
3194         (WTF::GenericHashTraits::store):
3195         (WTF::GenericHashTraits::passOut):
3196         (WTF::GenericHashTraits::peek):
3197         (FloatHashTraits):
3198         (WTF::FloatHashTraits::emptyValue):
3199         (WTF::FloatHashTraits::constructDeletedValue):
3200         (WTF::FloatHashTraits::isDeletedValue):
3201         (UnsignedWithZeroKeyHashTraits):
3202         (WTF::UnsignedWithZeroKeyHashTraits::emptyValue):
3203         (WTF::UnsignedWithZeroKeyHashTraits::constructDeletedValue):
3204         (WTF::UnsignedWithZeroKeyHashTraits::isDeletedValue):
3205         (SimpleClassHashTraits):
3206         (WTF::SimpleClassHashTraits::constructDeletedValue):
3207         (WTF::SimpleClassHashTraits::isDeletedValue):
3208         (PairHashTraits):
3209         (WTF::PairHashTraits::emptyValue):
3210         (WTF::PairHashTraits::constructDeletedValue):
3211         (WTF::PairHashTraits::isDeletedValue):
3212         * wtf/HexNumber.h: Renamed from Source/JavaScriptCore/wtf/HexNumber.h.
3213         (WTF):
3214         (Internal):
3215         (WTF::Internal::hexDigitsForMode):
3216         (WTF::appendByteAsHex):
3217         (WTF::placeByteAsHexCompressIfPossible):
3218         (WTF::placeByteAsHex):
3219         (WTF::appendUnsignedAsHex):
3220         (WTF::appendUnsignedAsHexFixedSize):
3221         * wtf/InlineASM.h: Renamed from Source/JavaScriptCore/wtf/InlineASM.h.
3222         * wtf/Int16Array.h: Renamed from Source/JavaScriptCore/wtf/Int16Array.h.
3223         (WTF):
3224         (Int16Array):
3225         (WTF::Int16Array::set):
3226         (WTF::Int16Array::isShortArray):
3227         (WTF::Int16Array::create):
3228         (WTF::Int16Array::Int16Array):
3229         (WTF::Int16Array::subarray):
3230         * wtf/Int32Array.h: Renamed from Source/JavaScriptCore/wtf/Int32Array.h.
3231         (WTF):
3232         (Int32Array):
3233         (WTF::Int32Array::set):
3234         (WTF::Int32Array::isIntArray):
3235         (WTF::Int32Array::create):
3236         (WTF::Int32Array::Int32Array):
3237         (WTF::Int32Array::subarray):
3238         * wtf/Int8Array.h: Renamed from Source/JavaScriptCore/wtf/Int8Array.h.
3239         (WTF):
3240         (Int8Array):
3241         (WTF::Int8Array::set):
3242         (WTF::Int8Array::isByteArray):
3243         (WTF::Int8Array::create):
3244         (WTF::Int8Array::Int8Array):
3245         (WTF::Int8Array::subarray):
3246         * wtf/IntegralTypedArrayBase.h: Renamed from Source/JavaScriptCore/wtf/IntegralTypedArrayBase.h.
3247         (WTF):
3248         (IntegralTypedArrayBase):
3249         (WTF::IntegralTypedArrayBase::set):
3250         (WTF::IntegralTypedArrayBase::item):
3251         (WTF::IntegralTypedArrayBase::IntegralTypedArrayBase):
3252         * wtf/ListHashSet.h: Renamed from Source/JavaScriptCore/wtf/ListHashSet.h.
3253         (WTF):
3254         (ListHashSet):
3255         (ListHashSetNodeAllocator):
3256         (WTF::ListHashSetNodeAllocator::ListHashSetNodeAllocator):
3257         (WTF::ListHashSetNodeAllocator::allocate):
3258         (WTF::ListHashSetNodeAllocator::deallocate):
3259         (WTF::ListHashSetNodeAllocator::pool):
3260         (WTF::ListHashSetNodeAllocator::pastPool):
3261         (WTF::ListHashSetNodeAllocator::inPool):
3262         (ListHashSetNode):
3263         (WTF::ListHashSetNode::ListHashSetNode):
3264         (WTF::ListHashSetNode::operator new):
3265         (WTF::ListHashSetNode::destroy):
3266         (WTF::ListHashSetNodeHashFunctions::hash):
3267         (WTF::ListHashSetNodeHashFunctions::equal):
3268         (ListHashSetNodeHashFunctions):
3269         (ListHashSetIterator):
3270         (WTF::ListHashSetIterator::ListHashSetIterator):
3271         (WTF::ListHashSetIterator::get):
3272         (WTF::ListHashSetIterator::operator*):
3273         (WTF::ListHashSetIterator::operator->):
3274         (WTF::ListHashSetIterator::operator++):
3275         (WTF::ListHashSetIterator::operator--):
3276         (WTF::ListHashSetIterator::operator==):
3277         (WTF::ListHashSetIterator::operator!=):
3278         (WTF::ListHashSetIterator::operator const_iterator):
3279         (WTF::ListHashSetIterator::node):
3280         (ListHashSetConstIterator):
3281         (WTF::ListHashSetConstIterator::ListHashSetConstIterator):
3282         (WTF::ListHashSetConstIterator::get):
3283         (WTF::ListHashSetConstIterator::operator*):
3284         (WTF::ListHashSetConstIterator::operator->):
3285         (WTF::ListHashSetConstIterator::operator++):
3286         (WTF::ListHashSetConstIterator::operator--):
3287         (WTF::ListHashSetConstIterator::operator==):
3288         (WTF::ListHashSetConstIterator::operator!=):
3289         (WTF::ListHashSetConstIterator::node):
3290         (ListHashSetReverseIterator):
3291         (WTF::ListHashSetReverseIterator::ListHashSetReverseIterator):
3292         (WTF::ListHashSetReverseIterator::get):
3293         (WTF::ListHashSetReverseIterator::operator*):
3294         (WTF::ListHashSetReverseIterator::operator->):
3295         (WTF::ListHashSetReverseIterator::operator++):
3296         (WTF::ListHashSetReverseIterator::operator--):
3297         (WTF::ListHashSetReverseIterator::operator==):
3298         (WTF::ListHashSetReverseIterator::operator!=):
3299         (WTF::ListHashSetReverseIterator::operator const_reverse_iterator):
3300         (WTF::ListHashSetReverseIterator::node):
3301         (ListHashSetConstReverseIterator):
3302         (WTF::ListHashSetConstReverseIterator::ListHashSetConstReverseIterator):
3303         (WTF::ListHashSetConstReverseIterator::get):
3304         (WTF::ListHashSetConstReverseIterator::operator*):
3305         (WTF::ListHashSetConstReverseIterator::operator->):
3306         (WTF::ListHashSetConstReverseIterator::operator++):
3307         (WTF::ListHashSetConstReverseIterator::operator--):
3308         (WTF::ListHashSetConstReverseIterator::operator==):
3309         (WTF::ListHashSetConstReverseIterator::operator!=):
3310         (WTF::ListHashSetConstReverseIterator::node):
3311         (WTF::ListHashSetTranslator::hash):
3312         (WTF::ListHashSetTranslator::equal):
3313         (WTF::ListHashSetTranslator::translate):
3314         (WTF::::ListHashSet):
3315         (WTF::=):
3316         (WTF::::swap):
3317         (WTF::::~ListHashSet):
3318         (WTF::::size):
3319         (WTF::::capacity):
3320         (WTF::::isEmpty):
3321         (WTF::::begin):
3322         (WTF::::end):
3323         (WTF::::rbegin):
3324         (WTF::::rend):
3325         (WTF::::first):
3326         (WTF::::last):
3327         (WTF::::removeLast):
3328         (WTF::::find):
3329         (WTF::ListHashSetTranslatorAdapter::hash):
3330         (WTF::ListHashSetTranslatorAdapter::equal):
3331         (WTF::::contains):
3332         (WTF::::add):
3333         (WTF::::insertBefore):
3334         (WTF::::remove):
3335         (WTF::::clear):
3336         (WTF::::unlinkAndDelete):
3337         (WTF::::appendNode):
3338         (WTF::::insertNodeBefore):
3339         (WTF::::deleteAllNodes):
3340         (WTF::::makeReverseIterator):
3341         (WTF::::makeConstReverseIterator):
3342         (WTF::::makeIterator):
3343         (WTF::::makeConstIterator):
3344         (WTF::deleteAllValues):
3345         * wtf/ListRefPtr.h: Renamed from Source/JavaScriptCore/wtf/ListRefPtr.h.
3346         (WTF):
3347         (ListRefPtr):
3348         (WTF::ListRefPtr::ListRefPtr):
3349         (WTF::ListRefPtr::~ListRefPtr):
3350         (WTF::ListRefPtr::operator=):
3351         (WTF::getPtr):
3352         * wtf/Locker.h: Renamed from Source/JavaScriptCore/wtf/Locker.h.
3353         (WTF):
3354         (Locker):
3355         (WTF::Locker::Locker):
3356         (WTF::Locker::~Locker):
3357         * wtf/MD5.cpp: Renamed from Source/JavaScriptCore/wtf/MD5.cpp.
3358         (WTF):
3359         (WTF::testMD5):
3360         (WTF::expectMD5):
3361         (WTF::reverseBytes):
3362         (WTF::MD5Transform):
3363         (WTF::MD5::MD5):
3364         (WTF::MD5::addBytes):
3365         (WTF::MD5::checksum):
3366         * wtf/MD5.h: Renamed from Source/JavaScriptCore/wtf/MD5.h.
3367         (WTF):
3368         (MD5):
3369         (WTF::MD5::addBytes):
3370         * wtf/MainThread.cpp: Renamed from Source/JavaScriptCore/wtf/MainThread.cpp.
3371         (WTF):
3372         (FunctionWithContext):
3373         (WTF::FunctionWithContext::FunctionWithContext):
3374         (WTF::FunctionWithContext::operator == ):
3375         (FunctionWithContextFinder):
3376         (WTF::FunctionWithContextFinder::FunctionWithContextFinder):
3377         (WTF::FunctionWithContextFinder::operator()):
3378         (WTF::mainThreadFunctionQueueMutex):
3379         (WTF::functionQueue):
3380         (WTF::initializeMainThread):
3381         (WTF::initializeMainThreadOnce):
3382         (WTF::initializeMainThreadToProcessMainThreadOnce):
3383         (WTF::initializeMainThreadToProcessMainThread):
3384         (WTF::dispatchFunctionsFromMainThread):
3385         (WTF::callOnMainThread):
3386         (WTF::callOnMainThreadAndWait):
3387         (WTF::cancelCallOnMainThread):
3388         (WTF::callFunctionObject):
3389         (WTF::setMainThreadCallbacksPaused):
3390         (WTF::isMainThread):
3391         (WTF::initializeGCThreads):
3392         (WTF::registerGCThread):
3393         (WTF::isMainThreadOrGCThread):
3394         * wtf/MainThread.h: Renamed from Source/JavaScriptCore/wtf/MainThread.h.
3395         (WTF):
3396         (WTF::isMainThreadOrGCThread):
3397         * wtf/MallocZoneSupport.h: Renamed from Source/JavaScriptCore/wtf/MallocZoneSupport.h.
3398         (WTF):
3399         (RemoteMemoryReader):
3400         (WTF::RemoteMemoryReader::RemoteMemoryReader):
3401         (WTF::RemoteMemoryReader::operator()):
3402         (WTF::RemoteMemoryReader::nextEntryInLinkedList):
3403         * wtf/MathExtras.h: Renamed from Source/JavaScriptCore/wtf/MathExtras.h.
3404         (wtf_ceil):
3405         (isfinite):
3406         (isinf):
3407         (signbit):
3408         (round):
3409         (roundf):
3410         (llround):
3411         (llroundf):
3412         (lround):
3413         (lroundf):
3414         (trunc):
3415         (abs):
3416         (isnan):
3417         (nextafter):
3418         (nextafterf):
3419         (copysign):
3420         (log2):
3421         (log2f):
3422         (wtf_atan2):
3423         (wtf_fmod):
3424         (wtf_pow):
3425         (deg2rad):
3426         (rad2deg):
3427         (deg2grad):
3428         (grad2deg):
3429         (turn2deg):
3430         (deg2turn):
3431         (rad2grad):
3432         (grad2rad):
3433         (defaultMinimumForClamp):
3434         (defaultMaximumForClamp):
3435         (clampTo):
3436         (clampToInteger):
3437         (clampToFloat):
3438         (clampToPositiveInteger):
3439         (isWithinIntRange):
3440         (decomposeDouble):
3441         (doubleToInteger):
3442         * wtf/MessageQueue.h: Renamed from Source/JavaScriptCore/wtf/MessageQueue.h.
3443         (WTF):
3444         (MessageQueue):
3445         (WTF::MessageQueue::MessageQueue):
3446         (WTF::MessageQueue::infiniteTime):
3447         (WTF::MessageQueue::alwaysTruePredicate):
3448         (WTF::::~MessageQueue):
3449         (WTF::::append):
3450         (WTF::::appendAndCheckEmpty):
3451         (WTF::::prepend):
3452         (WTF::::waitForMessage):
3453         (WTF::::waitForMessageFilteredWithTimeout):
3454         (WTF::::tryGetMessage):
3455         (WTF::::tryGetMessageIgnoringKilled):
3456         (WTF::::removeIf):
3457         (WTF::::isEmpty):
3458         (WTF::::kill):
3459         (WTF::::killed):
3460         * wtf/MetaAllocator.cpp: Renamed from Source/JavaScriptCore/wtf/MetaAllocator.cpp.
3461         (WTF):
3462         (WTF::MetaAllocator::~MetaAllocator):
3463         (WTF::MetaAllocatorTracker::notify):
3464         (WTF::MetaAllocatorTracker::release):
3465         (WTF::MetaAllocator::release):
3466         (WTF::MetaAllocatorHandle::MetaAllocatorHandle):
3467         (WTF::MetaAllocatorHandle::~MetaAllocatorHandle):
3468         (WTF::MetaAllocatorHandle::shrink):
3469         (WTF::MetaAllocator::MetaAllocator):
3470         (WTF::MetaAllocator::allocate):
3471         (WTF::MetaAllocator::currentStatistics):
3472         (WTF::MetaAllocator::findAndRemoveFreeSpace):
3473         (WTF::MetaAllocator::addFreeSpaceFromReleasedHandle):
3474         (WTF::MetaAllocator::addFreshFreeSpace):
3475         (WTF::MetaAllocator::debugFreeSpaceSize):
3476         (WTF::MetaAllocator::addFreeSpace):
3477         (WTF::MetaAllocator::incrementPageOccupancy):
3478         (WTF::MetaAllocator::decrementPageOccupancy):
3479         (WTF::MetaAllocator::roundUp):
3480         (WTF::MetaAllocator::allocFreeSpaceNode):
3481         (WTF::MetaAllocator::freeFreeSpaceNode):
3482         (WTF::MetaAllocator::dumpProfile):
3483         * wtf/MetaAllocator.h: Renamed from Source/JavaScriptCore/wtf/MetaAllocator.h.
3484         (WTF):
3485         (MetaAllocatorTracker):
3486         (WTF::MetaAllocatorTracker::find):
3487         (MetaAllocator):
3488         (WTF::MetaAllocator::trackAllocations):
3489         (WTF::MetaAllocator::bytesAllocated):
3490         (WTF::MetaAllocator::bytesReserved):
3491         (WTF::MetaAllocator::bytesCommitted):
3492         (Statistics):
3493         (WTF::MetaAllocator::dumpProfile):
3494         (FreeSpaceNode):
3495         (WTF::MetaAllocator::FreeSpaceNode::FreeSpaceNode):
3496         (WTF::MetaAllocator::FreeSpaceNode::key):
3497         * wtf/MetaAllocatorHandle.h: Renamed from Source/JavaScriptCore/wtf/MetaAllocatorHandle.h.
3498         (WTF):
3499         (MetaAllocatorHandle):
3500         (WTF::MetaAllocatorHandle::start):
3501         (WTF::MetaAllocatorHandle::end):
3502         (WTF::MetaAllocatorHandle::sizeInBytes):
3503         (WTF::MetaAllocatorHandle::isManaged):
3504         (WTF::MetaAllocatorHandle::allocator):
3505         (WTF::MetaAllocatorHandle::ownerUID):
3506         (WTF::MetaAllocatorHandle::key):
3507         * wtf/NonCopyingSort.h: Renamed from Source/JavaScriptCore/wtf/NonCopyingSort.h.
3508         (WTF):
3509         (WTF::siftDown):
3510         (WTF::heapify):
3511         (WTF::heapSort):
3512         (WTF::nonCopyingSort):
3513         * wtf/Noncopyable.h: Renamed from Source/JavaScriptCore/wtf/Noncopyable.h.
3514         * wtf/NotFound.h: Renamed from Source/JavaScriptCore/wtf/NotFound.h.
3515         (WTF):
3516         * wtf/NullPtr.cpp: Renamed from Source/JavaScriptCore/wtf/NullPtr.cpp.
3517         * wtf/NullPtr.h: Renamed from Source/JavaScriptCore/wtf/NullPtr.h.
3518         * wtf/NumberOfCores.cpp: Renamed from Source/JavaScriptCore/wtf/NumberOfCores.cpp.
3519         (WTF):
3520         (WTF::numberOfProcessorCores):
3521         * wtf/NumberOfCores.h: Renamed from Source/JavaScriptCore/wtf/NumberOfCores.h.
3522         (WTF):
3523         * wtf/OSAllocator.h: Renamed from Source/JavaScriptCore/wtf/OSAllocator.h.
3524         (WTF):
3525         (OSAllocator):
3526         (WTF::OSAllocator::reserveAndCommit):
3527         (WTF::OSAllocator::decommitAndRelease):
3528         (WTF::OSAllocator::reallocateCommitted):
3529         * wtf/OSAllocatorPosix.cpp: Renamed from Source/JavaScriptCore/wtf/OSAllocatorPosix.cpp.
3530         (WTF):
3531         (WTF::OSAllocator::reserveUncommitted):
3532         (WTF::OSAllocator::reserveAndCommit):
3533         (WTF::OSAllocator::commit):
3534         (WTF::OSAllocator::decommit):
3535         (WTF::OSAllocator::releaseDecommitted):
3536         * wtf/OSAllocatorWin.cpp: Renamed from Source/JavaScriptCore/wtf/OSAllocatorWin.cpp.
3537         (WTF):
3538         (WTF::protection):
3539         (WTF::OSAllocator::reserveUncommitted):
3540         (WTF::OSAllocator::reserveAndCommit):
3541         (WTF::OSAllocator::commit):
3542         (WTF::OSAllocator::decommit):
3543         (WTF::OSAllocator::releaseDecommitted):
3544         * wtf/OSRandomSource.cpp: Renamed from Source/JavaScriptCore/wtf/OSRandomSource.cpp.
3545         (WTF):
3546         (WTF::cryptographicallyRandomValuesFromOS):
3547         * wtf/OSRandomSource.h: Renamed from Source/JavaScriptCore/wtf/OSRandomSource.h.
3548         (WTF):
3549         * wtf/OwnArrayPtr.h: Renamed from Source/JavaScriptCore/wtf/OwnArrayPtr.h.
3550         (WTF):
3551         (OwnArrayPtr):
3552         (WTF::OwnArrayPtr::OwnArrayPtr):
3553         (WTF::OwnArrayPtr::~OwnArrayPtr):
3554         (WTF::OwnArrayPtr::get):
3555         (WTF::OwnArrayPtr::operator*):
3556         (WTF::OwnArrayPtr::operator->):
3557         (WTF::OwnArrayPtr::operator[]):
3558         (WTF::OwnArrayPtr::operator!):
3559         (WTF::OwnArrayPtr::operator UnspecifiedBoolType):
3560         (WTF::OwnArrayPtr::operator=):
3561         (WTF::OwnArrayPtr::swap):
3562         (WTF::::OwnArrayPtr):
3563         (WTF::::clear):
3564         (WTF::::release):
3565         (WTF::::leakPtr):
3566         (WTF::=):
3567         (WTF::swap):
3568         (WTF::operator==):
3569         (WTF::operator!=):
3570         (WTF::getPtr):
3571         * wtf/OwnPtr.h: Renamed from Source/JavaScriptCore/wtf/OwnPtr.h.
3572         (WTF):
3573         (OwnPtr):
3574         (WTF::OwnPtr::OwnPtr):
3575         (WTF::OwnPtr::~OwnPtr):
3576         (WTF::OwnPtr::get):
3577         (WTF::OwnPtr::operator*):
3578         (WTF::OwnPtr::operator->):
3579         (WTF::OwnPtr::operator!):
3580         (WTF::OwnPtr::operator UnspecifiedBoolType):
3581         (WTF::OwnPtr::operator=):
3582         (WTF::OwnPtr::swap):
3583         (WTF::OwnPtr::operator==):
3584         (WTF::OwnPtr::operator!=):
3585         (WTF::::OwnPtr):
3586         (WTF::::clear):
3587         (WTF::::release):
3588         (WTF::::leakPtr):
3589         (WTF::=):
3590         (WTF::swap):
3591         (WTF::operator==):
3592         (WTF::operator!=):
3593         (WTF::getPtr):
3594         * wtf/OwnPtrCommon.h: Renamed from Source/JavaScriptCore/wtf/OwnPtrCommon.h.
3595         (WTF):
3596         (WTF::deleteOwnedPtr):
3597         * wtf/PackedIntVector.h: Renamed from Source/JavaScriptCore/wtf/PackedIntVector.h.
3598         (WTF):
3599         (PackedIntVector):
3600         (WTF::PackedIntVector::PackedIntVector):
3601         (WTF::PackedIntVector::operator=):
3602         (WTF::PackedIntVector::size):
3603         (WTF::PackedIntVector::ensureSize):
3604         (WTF::PackedIntVector::resize):
3605         (WTF::PackedIntVector::clearAll):
3606         (WTF::PackedIntVector::get):
3607         (WTF::PackedIntVector::set):
3608         (WTF::PackedIntVector::mask):
3609         * wtf/PageAllocation.h: Renamed from Source/JavaScriptCore/wtf/PageAllocation.h.
3610         (WTF):
3611         (PageAllocation):
3612         (WTF::PageAllocation::PageAllocation):
3613         (WTF::PageAllocation::operator bool):
3614         (WTF::PageAllocation::allocate):
3615         (WTF::PageAllocation::deallocate):
3616         * wtf/PageAllocationAligned.cpp: Renamed from Source/JavaScriptCore/wtf/PageAllocationAligned.cpp.
3617         (WTF):
3618         (WTF::PageAllocationAligned::allocate):
3619         (WTF::PageAllocationAligned::deallocate):
3620         * wtf/PageAllocationAligned.h: Renamed from Source/JavaScriptCore/wtf/PageAllocationAligned.h.
3621         (WTF):
3622         (PageAllocationAligned):
3623         (WTF::PageAllocationAligned::PageAllocationAligned):
3624         * wtf/PageBlock.cpp: Renamed from Source/JavaScriptCore/wtf/PageBlock.cpp.
3625         (WTF):
3626         (WTF::systemPageSize):
3627         (WTF::pageSize):
3628         (WTF::pageMask):
3629         * wtf/PageBlock.h: Renamed from Source/JavaScriptCore/wtf/PageBlock.h.
3630         (WTF):
3631         (WTF::isPageAligned):
3632         (WTF::isPowerOfTwo):
3633         (PageBlock):
3634         (WTF::PageBlock::base):
3635         (WTF::PageBlock::size):
3636         (WTF::PageBlock::operator bool):
3637         (WTF::PageBlock::contains):
3638         (WTF::PageBlock::PageBlock):
3639         * wtf/PageReservation.h: Renamed from Source/JavaScriptCore/wtf/PageReservation.h.
3640         (WTF):