12013-10-12  Anders Carlsson  <andersca@apple.com>
2
3        Change callOnMainThread to take an std::function
4        https://bugs.webkit.org/show_bug.cgi?id=122698
5
6        Reviewed by Darin Adler.
7
8        This will let us pass anything that can be converted to an std::function (including lambdas and
9        WTF::Function objects) to callOnMainThread.
10
11        * wtf/MainThread.cpp:
12        (WTF::callOnMainThread):
13        * wtf/MainThread.h:
14
152013-09-06  Jessica Pease  <jessica_n_pease@apple.com>
16
17        Replace bounds checking ASSERTs with ASSERT_WITH_SECURITY_IMPLICATION
18        https://bugs.webkit.org/show_bug.cgi?id=120893
19
20        Reviewed by Darin Adler.
21
22        * wtf/BumpPointerAllocator.h:
23        (WTF::BumpPointerPool::ensureCapacity):
24        (WTF::BumpPointerPool::alloc):
25        (WTF::BumpPointerPool::ensureCapacityCrossPool):
26        * wtf/FastMalloc.cpp:
27        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
28        * wtf/StringPrintStream.cpp:
29        (WTF::StringPrintStream::increaseSize):
30        * wtf/dtoa/utils.h:
31        (WTF::double_conversion::BufferReference::SubBufferReference):
32        * wtf/text/WTFString.cpp:
33        (WTF::String::fromUTF8):
34
352013-10-11  Darin Adler  <darin@apple.com>
36
37        Change most call sites to call ICU directly instead of through WTF::Unicode
38        https://bugs.webkit.org/show_bug.cgi?id=122635
39
40        Reviewed by Alexey Proskuryakov.
41
42        * wtf/text/StringHash.h:
43        (WTF::CaseFoldingHash::foldCase): Use u_foldCase instead of WTF::Unicode::foldCase.
44        (WTF::CaseFoldingHash::hash): Added an overload for a StringImpl& because why not.
45
46        * wtf/text/StringImpl.cpp:
47        (WTF::StringImpl::lower): Use u_tolower rather than WTF::Unicode::toLower. Also added
48        an assertion to check that the lowercase version is also part of Latin-1. If this
49        is not guaranteed it would be good to know in a debug build at least. Use u_strToLower
50        rather than WTF::Unicode::toLower. Also removed #if USE(ICU_UNICODE) around the
51        locale-specific version.
52        (WTF::StringImpl::upper): Use u_toupper and u_strToUpper, as above.
53        (WTF::StringImpl::foldCase): Use u_tolower and u_strFoldCase, as above.
54        (WTF::equalIgnoringCase): Use u_foldCase instead of WTF::Unicode::foldCase.
55        (WTF::StringImpl::defaultWritingDirection): Use u_charDirection and UCharDirection
56        instead of WTF::Unicode::direction and WTF::Unicode::Direction.
57
58        * wtf/text/StringImpl.h:
59        (WTF::equalIgnoringCase): Use u_memcasecmp instead of WTF::Unicode::umemcasecmp.
60        (WTF::isSpaceOrNewline): Use u_charDirection instead of WTF::Unicode::direction.
61
62        * wtf/text/WTFString.h:
63        (WTF::String::defaultWritingDirection): Use UCharDirection instead of WTF::Unicode::Direction.
64
65        * wtf/unicode/icu/UnicodeIcu.h: Removed almost everything.
66
67        * wtf/unicode/wchar/UnicodeWchar.cpp: Tried to do the right thing in this file, but
68        I did not actually compile it. Also, the implementations here aren't really sufficient
69        to make WebKit work broadly. There are many things that just aren't working with this
70        implementation, such as parsing that uses u_charType to figure out which characters are valid.
71        (unorm_normalize): Added.
72        (u_charDirection): Added.
73        (u_charMirror): Added.
74        (u_charType): Added.
75        (u_getCombiningClass): Added.
76        (u_getIntPropertyValue): Added.
77        (u_memcasecmp): Added.
78        (convertWithFunction): Changed to work with ICU-style status code instead of error bool.
79        (u_strFoldCase): Added.
80        (u_strToLower): Added.
81        (u_strToUpper): Added.
82        * wtf/unicode/wchar/UnicodeWchar.h: Ditto. Later this file should just be named like the
83        real ICU headers so the code can include it the same way it would ICU. But that will be
84        in a future patch.
85
862013-10-11  Anders Carlsson  <andersca@apple.com>
87
88        Remove gesture event support from WebCore
89        https://bugs.webkit.org/show_bug.cgi?id=122650
90
91        Reviewed by Ryosuke Niwa.
92
93        * wtf/FeatureDefines.h:
94        * wtf/nix/FeatureDefinesNix.h:
95
962013-10-09  Filip Pizlo  <fpizlo@apple.com>
97
98        FTL: Soft-link LLVM as a workaround for LLVM's static initializers and exit-time destructors
99        https://bugs.webkit.org/show_bug.cgi?id=122566
100
101        Reviewed by Mark Rowe.
102        
103        Remove all LLVM stuff from WTF since to get LLVM you need to soft-link and it's
104        entirely the responsibility of JSC to do that.
105        
106        Also fixed an export goof that I found after fixing the weak thingy script in JSC.
107
108        * WTF.xcodeproj/project.pbxproj:
109        * wtf/LLVMHeaders.h: Removed.
110        * wtf/text/CString.h:
111        (WTF::CStringHash::hash):
112
1132013-10-10  Mark Rowe  <mrowe@apple.com>
114
115        <rdar://problem/13341666> WebKit should always build against an SDK.
116
117        Have all projects default to building against the OS X Internal SDK for the Production
118        configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig
119        to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK.
120
121        Reviewed by Dan Bernstein.
122
123        * Configurations/Base.xcconfig:
124        * Configurations/DebugRelease.xcconfig:
125
1262013-10-10  Hans Muller  <hmuller@adobe.com>
127
128        [CSS Shapes] clampToUnsigned() should return unsigned, not int
129        https://bugs.webkit.org/show_bug.cgi?id=122601
130
131        Corrected the return type for clampToUnsigned() in MathExtras.h. It's now unsigned.
132
133        Reviewed by Andreas Kling.
134
135        * wtf/MathExtras.h:
136        (clampToUnsigned):
137
1382013-10-08  Filip Pizlo  <fpizlo@apple.com>
139
140        FTL should be able to do simple OSR exits using llvm.webkit.stackmap
141        https://bugs.webkit.org/show_bug.cgi?id=122538
142
143        Reviewed by Oliver Hunt.
144
145        * wtf/PrintStream.cpp:
146        (WTF::printInternal):
147        * wtf/PrintStream.h:
148        * wtf/RefCountedArray.h:
149        (WTF::RefCountedArray::byteSize):
150
1512013-10-09  Michael Saboff  <msaboff@apple.com>
152
153        Change to std::unique_ptr breaks wtf/DataLog.cpp when DATA_LOG_TO_FILE set to 1
154        https://bugs.webkit.org/show_bug.cgi?id=122557
155
156        Reviewed by Filip Pizlo.
157
158        Changed the leakPtr() to release().
159
160        * wtf/DataLog.cpp:
161        (WTF::initializeLogFileOnce):
162
1632013-10-08  Tim Horton  <timothy_horton@apple.com>
164
165        Turn threaded scrolling on for all Mac ports.
166        Rubber-stamped by Simon Fraser and Sam Weinig.
167
168        * wtf/FeatureDefines.h:
169
1702013-10-06  Darin Adler  <darin@apple.com>
171
172        Improve HashMap::add comment and other similar comments
173        https://bugs.webkit.org/show_bug.cgi?id=122432
174
175        Reviewed by Andreas Kling.
176
177        * wtf/HashCountedSet.h:
178        * wtf/HashMap.h:
179        * wtf/HashSet.h:
180        Updated comment wording. They were a bit old and out of date.
181        They also featured the word "interator".
182
1832013-10-07  Darin Adler  <darin@apple.com>
184
185        Make Vector::insert work for move-only types
186        https://bugs.webkit.org/show_bug.cgi?id=122429
187
188        Reviewed by Anders Carlsson.
189
190        * wtf/Vector.h:
191        (WTF::Vector::insert): Take an rvalue reference instead of a const reference.
192        (WTF::Vector::insertVector): Renamed to avoid overloading troubles, analogous
193        to what we did for appendVector.
194
1952013-10-07  Anders Carlsson  <andersca@apple.com>
196
197        Fix Windows build.
198
199        * wtf/StdLibExtras.h:
200        (std::make_unique):
201
2022013-10-07  Roger Fong  <roger_fong@apple.com>
203
204        Modify WTF makefile for x64 build.
205        https://bugs.webkit.org/show_bug.cgi?id=122467.
206        <rdar://problem/15169174>.
207
208        Reviewed by Brent Fulgham.
209
210        * WTF.vcxproj/WTF.make:
211
2122013-10-07  Anders Carlsson  <andersca@apple.com>
213
214        Remove passIn and passOut from HashTraits
215        https://bugs.webkit.org/show_bug.cgi?id=122452
216
217        Reviewed by Sam Weinig.
218
219        Change RefPtrHashMap to not use passOut (just like the regular HashMap) and get rid of the
220        passIn and passOut functions and related typedefs.
221
222        * wtf/HashTraits.h:
223        * wtf/RefPtrHashMap.h:
224
2252013-10-06  Anders Carlsson  <andersca@apple.com>
226
227        Add OVERRIDE and virtual where appropriate
228        https://bugs.webkit.org/show_bug.cgi?id=122439
229
230        Reviewed by Antti Koivisto.
231
232        * wtf/Compiler.h:
233        * wtf/FilePrintStream.h:
234        * wtf/StringPrintStream.h:
235
2362013-10-06  Andreas Kling  <akling@apple.com>
237
238        Range constructors should take a Document&.
239        <https://webkit.org/b/122435>
240
241        Reviewed by Sam Weinig.
242
243        Give Ref an assignment operator.
244
2452013-10-05  Anders Carlsson  <andersca@apple.com>
246
247        Clean up MessageQueue.h
248        https://bugs.webkit.org/show_bug.cgi?id=122392
249
250        Reviewed by Andreas Kling.
251
252        Make MessageQueue use std::unique_ptr and change findIf and removeIf to take const references.
253
254        * wtf/Deque.h:
255        Change findIf to take an rvalue reference.
256
257        * wtf/MessageQueue.h:
258        (WTF::::append):
259        (WTF::::appendAndKill):
260        (WTF::::appendAndCheckEmpty):
261        (WTF::::prepend):
262        (WTF::::removeIf):
263
2642013-10-05  Anders Carlsson  <andersca@apple.com>
265
266        Try to #define final to sealed when building with MSVC
267        https://bugs.webkit.org/show_bug.cgi?id=122386
268
269        Reviewed by Darin Adler.
270
271        * wtf/Compiler.h:
272
2732013-10-05  Anders Carlsson  <andersca@apple.com>
274
275        Remove createOwned
276        https://bugs.webkit.org/show_bug.cgi?id=122388
277
278        Reviewed by Darin Adler.
279
280        Since we're going with std::unique_ptr instead of OwnPtr, there's no need for makeOwned to exist.
281        Get rid of it and replace it with calls to std::make_unique.
282
283        * wtf/FilePrintStream.cpp:
284        (WTF::FilePrintStream::open):
285        * wtf/FilePrintStream.h:
286        * wtf/HashTable.h:
287        (WTF::::HashTable):
288        * wtf/ListHashSet.h:
289        (WTF::::ListHashSet):
290        * wtf/OwnPtr.h:
291        * wtf/Threading.cpp:
292        (WTF::compatEntryPoint):
293        (WTF::createThread):
294        * wtf/ThreadingPthreads.cpp:
295        (WTF::wtfThreadEntryPoint):
296        (WTF::createThreadInternal):
297        * wtf/unicode/Collator.h:
298        * wtf/unicode/CollatorDefault.cpp:
299        (WTF::Collator::userDefault):
300        * wtf/unicode/icu/CollatorICU.cpp:
301        (WTF::Collator::userDefault):
302
3032013-10-05  Darin Adler  <darin@apple.com>
304
305        Remove COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES) since it's required now
306        https://bugs.webkit.org/show_bug.cgi?id=122387
307
308        Reviewed by Anders Carlsson.
309
310        * wtf/RefPtr.h:
311        * wtf/RetainPtr.h:
312        * wtf/Vector.h:
313        * wtf/text/AtomicString.h:
314        * wtf/text/WTFString.h:
315        Take out conditionals.
316
3172013-10-05  Darin Adler  <darin@apple.com>
318
319        Add AtomicString::number and use it
320        https://bugs.webkit.org/show_bug.cgi?id=122384
321
322        Reviewed by Anders Carlsson.
323
324        * wtf/text/AtomicString.cpp:
325        (WTF::AtomicString::number): Added.
326        * wtf/text/AtomicString.h: Ditto.
327
328        * wtf/text/IntegerToStringConversion.h: Simplify includes, renamed ConversionTrait to
329        IntegerToStringConversionTrait. Changed String version to use String since we no longer
330        need to use PassRefPtr to efficiently handle return values. Replaced UnsignedIntegerTrait
331        with std::make_unsigned. Added AtomicString support. Use nullptr instead of 0.
332
3332013-10-05  Darin Adler  <darin@apple.com>
334
335        Cut down on use of String::number
336        https://bugs.webkit.org/show_bug.cgi?id=122382
337
338        Reviewed by Anders Carlsson.
339
340        * wtf/DateMath.cpp:
341        (WTF::appendTwoDigitNumber): Added. Replaces twoDigitStringFromNumber, which returned a
342        String and also allocated a temporary string for any number 10 or higher.
343        (WTF::makeRFC2822DateString): Updated to use the new function.
344
3452013-10-05  Anders Carlsson  <andersca@apple.com>
346
347        Test the waters and begin using lambdas
348        https://bugs.webkit.org/show_bug.cgi?id=121809
349
350        Reviewed by Andreas Kling.
351
352        * wtf/ListDump.h:
353        (WTF::sortedListDump):
354        Use std::less instead of a custom lessThan function.
355
3562013-10-04  Darin Adler  <darin@apple.com>
357
358        text-transform: lowercase is not lang-dependent (Turkish languages : tr,az)
359        https://bugs.webkit.org/show_bug.cgi?id=21312
360
361        Reviewed by Ryosuke Niwa.
362
363        * wtf/text/StringImpl.cpp:
364        (WTF::StringImpl::upper): Removed an extra call that would unnecessarily reallocate
365        a StringImpl in the general non-ASCII case. Added an overload that takes a locale identifier.
366        (WTF::StringImpl::lower): Ditto.
367        * wtf/text/StringImpl.h: Ditto.
368        * wtf/text/WTFString.cpp:
369        (WTF::String::lower): Ditto.
370        (WTF::String::upper): Ditto.
371        * wtf/text/WTFString.h: Ditto. Also deleted the makeLower and makeUpper functions since they
372        offer no advantages over the lower and upper functions. Also added a constructor that takes
373        a RefPtr<StringImpl> with move construction to help.
374
3752013-10-04  Brent Fulgham  <bfulgham@apple.com>
376
377        Remove Qt definitions from Platform.h
378        https://bugs.webkit.org/show_bug.cgi?id=122349
379
380        Reviewed by Anders Carlsson.
381
382        * wtf/Platform.h: Remove unused PLATFORM(QT) stanzas from file.
383
3842013-10-04  Brent Fulgham  <bfulgham@apple.com>
385
386        [Win] Turn off FastMalloc on Windows
387        https://bugs.webkit.org/show_bug.cgi?id=122352
388
389        Reviewed by Darin Adler.
390
391        * wtf/Platform.h: Enable USE_SYSTEM_MALLOC when building on
392        Windows to stick to the MSVCRT allocator/deallocator.
393
3942013-10-04  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
395
396        Remove WTF smart pointers 'const_pointer_cast'
397        https://bugs.webkit.org/show_bug.cgi?id=122325
398
399        Reviewed by Darin Adler.
400
401        Removed WTF smart pointers 'const_pointer_cast' functions as:
402        - they were not used
403        - their implementation was wrong as they tried to cast to a different pointer type
404
405        * wtf/PassOwnPtr.h:
406        * wtf/PassRefPtr.h:
407        * wtf/RefPtr.h:
408
4092013-10-04  Oliver Hunt  <oliver@apple.com>
410
411        Support for-of syntax
412        https://bugs.webkit.org/show_bug.cgi?id=122339
413
414        Reviewed by Geoffrey Garen.
415
416        Update assertions and add a helper function to StringImpl
417        to save repeated unique or identifier calls.
418
419        * wtf/text/StringImpl.h:
420        (WTF::StringImpl::isIdentifierOrUnique):
421        (WTF::StringImpl::setIsIdentifier):
422        (WTF::StringImpl::setIsAtomic):
423
4242013-10-02  Brent Fulgham  <bfulgham@apple.com>
425
426        [Win] Update solutions and projects to support 64-bit build.
427        https://bugs.webkit.org/show_bug.cgi?id=122225
428
429        Reviewed by Anders Carlsson.
430
431        * WTF.vcxproj/WTF.submit.sln: Add x64 architecture targets.
432        * WTF.vcxproj/WTF.vcxproj: Correct path to config.h file.
433        * WTF.vcxproj/WTF.vcxproj.filters: Correct path to config.h file.
434
435
4362013-10-02  Nadav Rotem  <nrotem@apple.com>
437
438        Eliminate a branch in FastBitVector setAndCheck, make it vectorizable.
439        https://bugs.webkit.org/show_bug.cgi?id=122229
440
441        Reviewed by Geoffrey Garen.
442
443        The CPU is unlikely to predict the branch in setAndCheck. I changed the code to use conditional instructions.
444
445        * wtf/FastBitVector.h:
446        (WTF::FastBitVector::setAndCheck):
447
4482013-10-02  Anders Carlsson  <andersca@apple.com>
449
450        Remove Qt code from WTF
451        https://bugs.webkit.org/show_bug.cgi?id=122221
452
453        Reviewed by Antti Koivisto.
454
455        I'm keeping the PLATFORM(QT) defines in Platform.h for now so we can assess if there are any
456        Qt only features that we can remove later.
457
458        * WTF.pri: Removed.
459        * WTF.pro: Removed.
460        * wtf/Assertions.cpp:
461        * wtf/CurrentTime.cpp:
462        * wtf/DisallowCType.h:
463        * wtf/FastMalloc.cpp:
464        * wtf/FeatureDefines.h:
465        * wtf/qt/MainThreadQt.cpp: Removed.
466        * wtf/qt/StringQt.cpp: Removed.
467        * wtf/text/AtomicString.h:
468        * wtf/text/StringImpl.cpp:
469        (WTF::StringImpl::~StringImpl):
470        * wtf/text/StringImpl.h:
471        * wtf/text/WTFString.cpp:
472        (WTF::String::format):
473        * wtf/text/WTFString.h:
474
4752013-09-30  Sam Weinig  <sam@webkit.org>
476
477        Remove support for DOMFileSystem
478        https://bugs.webkit.org/show_bug.cgi?id=122137
479
480        Reviewed by Anders Carlsson.
481
482        * wtf/FeatureDefines.h:
483
4842013-09-30  Benjamin Poulain  <benjamin@webkit.org>
485
486        Remove the code guarded by STYLE_SCOPED
487        https://bugs.webkit.org/show_bug.cgi?id=122123
488
489        Reviewed by Anders Carlsson.
490
491        * wtf/FeatureDefines.h:
492
4932013-09-28  Mark Rowe  <mrowe@apple.com>
494
495        Take Xcode's advice and enable some extra warnings.
496
497        Reviewed by Sam Weinig.
498
499        * Configurations/Base.xcconfig:
500        * WTF.xcodeproj/project.pbxproj:
501
5022013-09-28  Mark Rowe  <mrowe@apple.com>
503
504        <rdar://problem/15079224> WTF fails to build with newer versions of clang.
505
506        Reviewed by Sam Weinig.
507
508        * wtf/DateMath.cpp: Remove some unused constants.
509        * wtf/FastMalloc.cpp: #if some constants and functions that are unused in some configurations.
510        Remove a function that's unused on all platforms.
511        * wtf/TCSystemAlloc.cpp: Remove some unused constants.
512        (TCMalloc_SystemRelease): Remove an if whose body is never executed.
513        * wtf/dtoa.cpp: #if things such that storeInc is only defined when USE_LONG_LONG is undefined.
514        Remove an unused constant.
515
5162013-09-27  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
517
518        [Nix] Updating Nix trunk files
519        https://bugs.webkit.org/show_bug.cgi?id=121752
520
521        Reviewed by Benjamin Poulain.
522
523        * wtf/nix/FeatureDefinesNix.h:
524
5252013-09-06  Jer Noble  <jer.noble@apple.com>
526
527        [Mac] Implement the media controls in JavaScript.
528        https://bugs.webkit.org/show_bug.cgi?id=120895
529
530        Reviewed by Dean Jackson.
531
532        Define and turn on ENABLE_MEDIA_CONTROLS_SCRIPT.
533
534        * wtf/FeatureDefines.h:
535
5362013-09-27  Gustavo Noronha Silva  <gns@gnome.org>
537
538        [GCC] Fix build with gcc < 4.8.1, which does not have is_trivially_destructible
539        https://bugs.webkit.org/show_bug.cgi?id=121999
540
541        Reviewed by Benjamin Poulain.
542
543        * wtf/StdLibExtras.h:
544
5452013-09-26  Anders Carlsson  <andersca@apple.com>
546
547        "Build fix".
548
549        We can't use std::move. Explicitly destroy the old value and then construct the new in place.
550
551        * wtf/HashTable.h:
552
5532013-09-26  Anders Carlsson  <andersca@apple.com>
554
555        Use the move assignment operator when reinserting values in the hash map
556        https://bugs.webkit.org/show_bug.cgi?id=122003
557
558        Reviewed by Alexey Proskuryakov.
559
560        Using the move assignment operator ensures that the existing values will be destroyed correctly.
561
562        * wtf/HashTable.h:
563
5642013-09-26  Brent Fulgham  <bfulgham@apple.com>
565
566        [Windows] Work around missing C++11 features of MSVC by providing an implementation for
567        std::is_trivially_destructible based on the existing std::has_trivial_destructor.
568
569        Rubber-stamped by Anders Carlsson.
570
571        * wtf/StdLibExtras.h: Add implementation for is_trivially_destructable for MSVC 2010 and prior.
572
5732013-09-26  Anders Carlsson  <andersca@apple.com>
574
575        Remove needsDestruction from vector and hash traits
576        https://bugs.webkit.org/show_bug.cgi?id=121983
577
578        Reviewed by Sam Weinig.
579
580        For Vector, use std::is_trivially_destructible to determine whether to call the destructor.
581        For HashTable, always call the destructor; if it is trivial then no code will be generated for it and the loops will be folded away. 
582
583        Removing this does break the ability to store objects with non-trivial destructors in vectors and hash maps
584        and have their destructors not be called when removed, but we've never used this feature in WebKit so the extra
585        code complexity is not worth it.
586
587        * wtf/HashTable.h:
588        (WTF::::deallocateTable):
589        * wtf/HashTraits.h:
590        * wtf/Vector.h:
591        (WTF::VectorTypeOperations::destruct):
592        * wtf/VectorTraits.h:
593
5942013-09-26  Anders Carlsson  <andersca@apple.com>
595
596        Build fixes.
597
598        Fix a paste-o.
599
600        * wtf/StdLibExtras.h:
601        (std::make_unique):
602
6032013-09-26  Anders Carlsson  <andersca@apple.com>
604
605        Remove the hash table mover
606        https://bugs.webkit.org/show_bug.cgi?id=121980
607
608        Reviewed by Andreas Kling.
609
610        Use std::move instead.
611
612        * wtf/HashTable.h:
613
6142013-09-26  Anders Carlsson  <andersca@apple.com>
615
616        Change a couple of HashMap value types from OwnPtr to std::unique_ptr
617        https://bugs.webkit.org/show_bug.cgi?id=121973
618
619        Reviewed by Andreas Kling.
620
621        * wtf/RefPtrHashMap.h:
622        Add a missing std::forward.
623
624        * wtf/StdLibExtras.h:
625        (std::make_unique):
626        Add more overloads.
627
6282013-09-26  Julien Brianceau  <jbriance@cisco.com>
629
630        [Qt] Remove PassTraits.h from WTF.pro.
631        https://bugs.webkit.org/show_bug.cgi?id=121946
632
633        Reviewed by Andreas Kling.
634
635        * WTF.pro: Remove PassTraits.h as this file disappeared in r156298.
636
6372013-09-25  Patrick Gansterer  <paroga@webkit.org>
638
639        Fix compilation with new MSVC compiler for Windows CE
640        https://bugs.webkit.org/show_bug.cgi?id=121914
641
642        Reviewed by Darin Adler.
643
644        Remove code to support older Windows CE versions, since those old
645        versions do not support C+11, which is required in the meantime.
646
647        * wtf/Atomics.h:
648        * wtf/Platform.h:
649
6502013-09-25  Anders Carlsson  <andersca@apple.com>
651
652        Move KeyValuePairTraits inside HashMap
653        https://bugs.webkit.org/show_bug.cgi?id=121931
654
655        Reviewed by Sam Weinig.
656
657        Also rename the ValueType typedef to KeyValuePairType since it's always a key value pair.
658
659        * wtf/HashMap.h:
660        (WTF::HashMap::KeyValuePairTraits::isEmptyValue):
661        (WTF::HashMap::find):
662        (WTF::HashMap::contains):
663
6642013-09-25  Anders Carlsson  <andersca@apple.com>
665
666        Un-indent HashMap.h.
667
668        Rubber-stamped by Andreas Kling.
669
670        * wtf/HashMap.h:
671
6722013-09-25  Anders Carlsson  <andersca@apple.com>
673
674        Un-indent HashTraits.h.
675
676        Rubber-stamped by Andreas Kling.
677
678        * wtf/HashTraits.h:
679
6802013-09-25  Patrick Gansterer  <paroga@webkit.org>
681
682        Fix template deduction for CollatorDefault
683
684        * wtf/unicode/CollatorDefault.cpp:
685        (WTF::Collator::userDefault): Use nullptr instead of 0.
686
6872013-09-24  Anders Carlsson  <andersca@apple.com>
688
689        Remove encoder create functions
690        https://bugs.webkit.org/show_bug.cgi?id=121853
691
692        Reviewed by Sam Weinig.
693
694        Add a variadic version of createOwned.
695
696        * wtf/OwnPtr.h:
697        (WTF::createOwned):
698
6992013-09-24  Mark Rowe  <mrowe@apple.com>
700
701        <rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8
702
703        Reviewed by Dan Bernstein.
704
705        * Configurations/Base.xcconfig:
706
7072013-09-23  Anders Carlsson  <andersca@apple.com>
708
709        Remove WTF_USE_SCROLLBAR_PAINTER #define
710        https://bugs.webkit.org/show_bug.cgi?id=121819
711
712        Reviewed by Sam Weinig.
713
714        All our supported systems use the scrollbar painter now, so get rid of the #ifdef.
715
716        * wtf/Platform.h:
717
7182013-09-23  Commit Queue  <commit-queue@webkit.org>
719
720        Unreviewed, rolling out r156307.
721        http://trac.webkit.org/changeset/156307
722        https://bugs.webkit.org/show_bug.cgi?id=121817
723
724        Broke the build, and crashes the compiler (Requested by ap on
725        #webkit).
726
727        * wtf/ListDump.h:
728        (WTF::lessThan):
729        (WTF::sortedListDump):
730
7312013-09-23  Anders Carlsson  <andersca@apple.com>
732
733        Test the waters and begin using lambdas
734        https://bugs.webkit.org/show_bug.cgi?id=121809
735
736        Reviewed by Andreas Kling.
737
738        * wtf/ListDump.h:
739        (WTF::sortedListDump):
740        Use std::less instead of a custom lessThan function.
741
7422013-09-23  Anders Carlsson  <andersca@apple.com>
743
744        ListHashSet::removeLast should only remove one element.
745        
746        * wtf/ListHashSet.h:
747        (WTF::ListHashSet::removeLast):
748
7492013-09-23  Anders Carlsson  <andersca@apple.com>
750
751        Add hash traits for std::unique_ptr
752        https://bugs.webkit.org/show_bug.cgi?id=121807
753
754        Reviewed by Antti Koivisto.
755
756        Also, convert the thread map over to using std::unique_ptr instead of OwnPtr.
757
758        * wtf/HashMap.h:
759        Remove unnecessary typedefs and add missing calls to std::forward.
760
761        * wtf/HashTraits.h:
762        Add hash trait for std::unique_ptr.
763        
764        * wtf/RefPtrHashMap.h:
765        Use std::add_lvalue_reference.
766
767        * wtf/ThreadingPthreads.cpp:
768        (WTF::establishIdentifierForPthreadHandle):
769        Change ThreadMap to be a hash map from ThreadIdentifier to std::unique_ptr<PthreadState>.
770
7712013-09-23  Patrick Gansterer  <paroga@webkit.org>
772
773        use NOMINMAX instead of #define min min
774        https://bugs.webkit.org/show_bug.cgi?id=73563
775
776        Reviewed by Brent Fulgham.
777
778        Use NOMINMAX instead of #define min/max as a cleaner
779        way of ensuring that Windows system header files don't
780        define min/max as macro in the first place.
781
782        * config.h:
783
7842013-09-23  Anders Carlsson  <andersca@apple.com>
785
786        Remove PassTraits.h
787        https://bugs.webkit.org/show_bug.cgi?id=121805
788
789        Reviewed by Andreas Kling.
790
791        We no longer need PassTraits.h, get rid of it.
792
793        * GNUmakefile.list.am:
794        * WTF.vcxproj/WTF.vcxproj:
795        * WTF.vcxproj/WTF.vcxproj.filters:
796        * WTF.xcodeproj/project.pbxproj:
797        * wtf/CMakeLists.txt:
798        * wtf/PassTraits.h: Removed.
799
8002013-09-23  Anders Carlsson  <andersca@apple.com>
801
802        ListHashSet should work with move-only types
803        https://bugs.webkit.org/show_bug.cgi?id=121802
804
805        Reviewed by Andreas Kling.
806
807        Add rvalue reference overloads and calls to std::forward and std::move where appropriate.
808
809        * wtf/ListHashSet.h:
810        (WTF::::removeFirst):
811        Implement this in terms of takeFirst.
812
813        (WTF::::takeFirst):
814        Look up the iterator before we move out the value so we won't break the hash invariant.
815        
816        (WTF::::removeLast):
817        Implement this in terms of takeLast.
818
819        (WTF::::takeLast):
820        Look up the iterator before we move out the value so we won't break the hash invariant.
821
8222013-09-23  Anders Carlsson  <andersca@apple.com>
823
824        Clean up ListHashSet
825        https://bugs.webkit.org/show_bug.cgi?id=121797
826
827        Reviewed by Antti Koivisto.
828
829        * wtf/ListHashSet.h:
830
8312013-09-23  Anders Carlsson  <andersca@apple.com>
832
833        ListHashSet should use std::reverse_iterator for reverse iterators
834        https://bugs.webkit.org/show_bug.cgi?id=121795
835
836        Reviewed by Antti Koivisto.
837
838        Get rid of the custom reverse iterators and just use std::reverse_iterator instead.
839
840        * wtf/ListHashSet.h:
841
8422013-09-23  Anders Carlsson  <andersca@apple.com>
843
844        De-indent ListHashSet in preparation of more changes.
845
846        Rubber-stamped by Sam Weinig.
847
848        * wtf/ListHashSet.h:
849
8502013-09-23  Patrick Gansterer  <paroga@webkit.org>
851
852        Cleanup CMake files in WTF
853        https://bugs.webkit.org/show_bug.cgi?id=121761
854
855        Reviewed by Gyuyoung Kim.
856
857        Sort files and unify the style.
858
859        * wtf/CMakeLists.txt:
860        * wtf/PlatformEfl.cmake:
861        * wtf/PlatformGTK.cmake:
862
8632013-09-22  Andreas Kling  <akling@apple.com>
864
865        Give purity hints to compiler to avoid penalizing repeated calls to some functions.
866        <https://webkit.org/b/121744>
867
868        Reviewed by Darin Adler.
869
870        Added a PURE_FUNCTION macro. This is supported on GCC and Clang for now.
871        Marking a function pure means that the compiler's CSE pass is free to coalesce
872        multiple calls to this function because it has no globally observable side
873        effects beyond the first call.
874
8752013-09-20  Anders Carlsson  <andersca@apple.com>
876
877        Add an implementation of std::index_sequence from C++14
878        https://bugs.webkit.org/show_bug.cgi?id=121718
879
880        Reviewed by Ryosuke Niwa.
881
882        This will make it easier to do things like pack expansion of tuple elements.
883
884        * wtf/StdLibExtras.h:
885
8862013-09-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
887
888        Atomics.h does not build on MinGW
889        https://bugs.webkit.org/show_bug.cgi?id=121663
890
891        Reviewed by Darin Adler.
892
893        MinGW does not have _ReadWriteBarrier() intrinsic, but does have GCC
894        inline assembler, so use the GCC definitions instead of MSVC ones.
895
896        * wtf/Atomics.h:
897        (WTF::compilerFence):
898
8992013-09-20  Patrick Gansterer  <paroga@webkit.org>
900
901        [CMake] Use COMPILE_DEFINITIONS target property for setting BUILDING_* defines
902        https://bugs.webkit.org/show_bug.cgi?id=121672
903
904        Reviewed by Gyuyoung Kim.
905
906        Since the scope of add_definitions() is always a whole file, we need to use
907        target properties instead to set definitions only for specific targets.
908
909        * wtf/CMakeLists.txt:
910
9112013-09-20  Patrick Gansterer  <paroga@webkit.org>
912
913        Remove duplicated secondsPerDay variables
914        https://bugs.webkit.org/show_bug.cgi?id=121601
915
916        Reviewed by Andreas Kling.
917
918        Move secondsPerDay from the source into the header file
919        to make it accessible by other code too.
920
921        * wtf/DateMath.cpp:
922        * wtf/DateMath.h:
923
9242013-09-19  Joseph Pecoraro  <pecoraro@apple.com>
925
926        ASSERTs in isMainThread after USE(WEB_THREAD) MainThread changes
927        https://bugs.webkit.org/show_bug.cgi?id=121650
928
929        Reviewed by Benjamin Poulain.
930
931        * wtf/mac/MainThreadMac.mm:
932        (WTF::initializeMainThreadPlatform):
933
9342013-09-19  Daniel Bates  <dabates@apple.com>
935
936        [iOS] Define mainThreadEstablishedAsPthreadMain to be true in WTF::initializeMainThreadPlatform()
937
938        Reviewed by Joseph Pecoraro.
939
940        This change was inadvertently left out of <http://trac.webkit.org/changeset/155926>.
941
942        * wtf/mac/MainThreadMac.mm:
943        (WTF::initializeMainThreadPlatform):
944
9452013-09-19  Sam Weinig  <sam@webkit.org>
946
947        Remove OwnArrayPtr
948        https://bugs.webkit.org/show_bug.cgi?id=121612
949
950        Reviewed by Anders Carlsson.
951
952        * GNUmakefile.list.am:
953        * WTF.pro:
954        * WTF.vcxproj/WTF.vcxproj:
955        * WTF.vcxproj/WTF.vcxproj.filters:
956        * WTF.xcodeproj/project.pbxproj:
957        * wtf/Assertions.cpp:
958        * wtf/CMakeLists.txt:
959        * wtf/DateMath.h:
960        * wtf/FastBitVector.h:
961        * wtf/Forward.h:
962        * wtf/OwnArrayPtr.h: Removed.
963        * wtf/VectorTraits.h:
964
9652013-09-19  Daniel Bates  <dabates@apple.com>
966
967        Substitute return type void for bool in function declaration for WTF::initializeWebThread()
968
969        Reviewed by Joseph Pecoraro.
970
971        Make the declaration of WTF::initializeWebThread() match the function prototype
972        of its definition.
973
974        * wtf/MainThread.h:
975
9762013-09-19  Andreas Kling  <akling@apple.com>
977
978        Assume allocator success in Vector unless using try* functions.
979        <https://webkit.org/b/121629>
980
981        Reviewed by Anders Carlsson.
982
983        Turn some Vector::begin() null checking into assertions instead.
984
985        We have try* style functions for when an allocation request is so
986        large that it might actually fail. fastMalloc() will never return
987        null (it will just CRASH() instead.)
988
9892013-09-18  Brent Fulgham  <bfulgham@apple.com>
990
991        [Windows] Unreviewed build correction.
992
993        * WTF.vcxproj/WTFGeneratedCommon.props: Export PLATFORMARCHITECTURE macro for use in
994        Makefiles and shell scripts.
995        * WTF.vcxproj/build-generated-files.sh: Output header search path to identify when the build
996        is confused about build architecture.
997
9982013-09-18  Anders Carlsson  <andersca@apple.com>
999
1000        RefPtrHashMap should work with move only types
1001        https://bugs.webkit.org/show_bug.cgi?id=121564
1002
1003        Reviewed by Andreas Kling.
1004
1005        Add the same rvalue references and std::forward calls that already exist in HashMap.
1006
1007        * wtf/RefPtrHashMap.h:
1008
10092013-09-18  Filip Pizlo  <fpizlo@apple.com>
1010
1011        DFG should support Int52 for local variables
1012        https://bugs.webkit.org/show_bug.cgi?id=121064
1013
1014        Reviewed by Oliver Hunt.
1015
1016        * wtf/PrintStream.h:
1017        (WTF::ValueIgnoringContext::ValueIgnoringContext):
1018        (WTF::ValueIgnoringContext::dump):
1019        (WTF::ignoringContext):
1020
10212013-09-18  Andreas Kling  <akling@apple.com>
1022
1023        Put constant CachedPower table in read-only memory.
1024        <https://webkit.org/b/121546>
1025
1026        Reviewed by Anders Carlsson.
1027
1028        * wtf/dtoa/cached-powers.cc:
1029
10302013-09-18  Commit Queue  <commit-queue@webkit.org>
1031
1032        Unreviewed, rolling out r156019 and r156020.
1033        http://trac.webkit.org/changeset/156019
1034        http://trac.webkit.org/changeset/156020
1035        https://bugs.webkit.org/show_bug.cgi?id=121540
1036
1037        Broke tests (Requested by ap on #webkit).
1038
1039        * wtf/PrintStream.h:
1040
10412013-09-16  Filip Pizlo  <fpizlo@apple.com>
1042
1043        DFG should support Int52 for local variables
1044        https://bugs.webkit.org/show_bug.cgi?id=121064
1045
1046        Reviewed by Oliver Hunt.
1047
1048        * wtf/PrintStream.h:
1049        (WTF::ValueIgnoringContext::ValueIgnoringContext):
1050        (WTF::ValueIgnoringContext::dump):
1051        (WTF::ignoringContext):
1052
10532013-09-17  Anders Carlsson  <andersca@apple.com>
1054
1055        Stop explicitly using PassOwnPtr in WebCore/html
1056        https://bugs.webkit.org/show_bug.cgi?id=121511
1057
1058        Reviewed by Andreas Kling.
1059
1060        Make operator= work work for different types of OwnPtrs.
1061
1062        * wtf/OwnPtr.h:
1063
10642013-09-17  Sam Weinig  <sam@webkit.org>
1065
1066        Add make_unique and start using it
1067        https://bugs.webkit.org/show_bug.cgi?id=121523
1068
1069        Reviewed by Anders Carlsson.
1070
1071        * wtf/StdLibExtras.h:
1072        (std::make_unique):
1073        Add temporary implementation of std::make_unique that we can use until our standard
1074        libraries have support for it.
1075
10762013-09-17  Darin Adler  <darin@apple.com>
1077
1078        Make SVGTransform::valueAsString use StringBuilder
1079        https://bugs.webkit.org/show_bug.cgi?id=121498
1080
1081        Reviewed by Andreas Kling.
1082
1083        * wtf/text/StringBuilder.cpp: Added appendNumber functions corresponding to all remaining
1084        String::number functions. If we find we don't need all of these we can delete them later,
1085        but I don't want to give clients a reason to prefer less-efficient API to StringBuilder.
1086        * wtf/text/StringBuilder.h: Ditto.
1087
10882013-09-16  Anders Carlsson  <andersca@apple.com>
1089
1090        HashMap should work with move-only keys
1091        https://bugs.webkit.org/show_bug.cgi?id=121310
1092
1093        Reviewed by Darin Adler.
1094
1095        Add extra overloads for add and set where the key is an rvalue reference, but not a
1096        template parameter rvalue reference. This way we'll coerce the key parameter to have the expected
1097        type instead of the passed in type, causing map.add(StringImpl::create("Hello"), 123) work when the
1098        type of map is HashMap<String, unsigned>.
1099
1100        Also, sprinkle && and std::forward where appropriate.
1101
1102        * wtf/HashMap.h:
1103        * wtf/HashTable.h:
1104
11052013-09-17  Sergio Martins  <sergio.martins@kdab.com>
1106
1107        Fix Windows CE build on ARM.
1108        https://bugs.webkit.org/show_bug.cgi?id=121490
1109
1110        Reviewed by Darin Adler.
1111
1112        * wtf/dtoa/utils.h:
1113
11142013-09-17  Mihnea Ovidenie  <mihnea@adobe.com>
1115
1116        REGRESSION(r155910): WebKit nightly builds don't load any page
1117        https://bugs.webkit.org/show_bug.cgi?id=121482
1118
1119        Reviewed by Andreas Kling.
1120
1121        Replaced C++ style comments with C style comments.
1122
1123        * wtf/Platform.h:
1124
11252013-09-16  Joseph Pecoraro  <pecoraro@apple.com>
1126
1127        USE(WEB_THREAD): More explicit WebThread initialization
1128        https://bugs.webkit.org/show_bug.cgi?id=121454
1129
1130        Reviewed by Benjamin Poulain.
1131
1132        Be more explicit when initializing WebThread only data.
1133
1134        * wtf/MainThread.h:
1135        * wtf/MainThread.cpp:
1136        (WTF::initializeWebThreadOnce):
1137        (WTF::initializeWebThread):
1138        Ensure one time initialization.
1139
1140        * wtf/mac/MainThreadMac.mm:
1141        (WTF::initializeMainThreadPlatform):
1142        (WTF::initializeWebThreadPlatform):
1143        Move WebThread value initialization to its own function.
1144
1145        (WTF::isMainThread):
1146        Remove no longer invalid assert if WebThread was not initialized.
1147
11482013-09-16  Benjamin Poulain  <benjamin@webkit.org>
1149
1150        Fix WebKit1 build after r155910
1151
1152        Reviewed by Anders Carlsson.
1153
1154        * wtf/Platform.h: Some files in WebKit include system headers before
1155        WTF headers, causing the macro to be defined twice. #undef the macro
1156        to support that case.
1157
11582013-09-16  Benjamin Poulain  <benjamin@webkit.org>
1159
1160        Disable OS X's unprefixed debug macro
1161        https://bugs.webkit.org/show_bug.cgi?id=121460
1162
1163        Reviewed by Anders Carlsson.
1164
1165        * wtf/Platform.h: OS X defines a series of platform macros for debugging.
1166        Some of them are really annoying because they use common names (e.g. check()).
1167
1168        Disable those macros so that we are not limited in how we name methods and functions.
1169
11702013-09-16  Anders Carlsson  <andersca@apple.com>
1171
1172        MessageQueue should use a Deque of OwnPtrs
1173        https://bugs.webkit.org/show_bug.cgi?id=121450
1174
1175        Reviewed by Andreas Kling.
1176
1177        * wtf/MessageQueue.h:
1178
11792013-09-16  Anders Carlsson  <andersca@apple.com>
1180
1181        WTF::Deque should work with move only types
1182        https://bugs.webkit.org/show_bug.cgi?id=121446
1183
1184        Reviewed by Andreas Kling.
1185
1186        * wtf/Deque.h:
1187        Use std::move and std::forward where appropriate and get rid of the PassTraits include.
1188
11892013-09-16  Anders Carlsson  <andersca@apple.com>
1190
1191        Change a couple of COMPILE_ASSERTs to static_assert
1192        https://bugs.webkit.org/show_bug.cgi?id=121441
1193
1194        Reviewed by Andreas Kling.
1195
1196        * wtf/BloomFilter.h:
1197        * wtf/PackedIntVector.h:
1198        (WTF::PackedIntVector::PackedIntVector):
1199        * wtf/StdLibExtras.h:
1200        (WTF::bitwise_cast):
1201        (WTF::safeCast):
1202        (WTF::roundUpToMultipleOf):
1203        * wtf/StringHasher.h:
1204        (WTF::StringHasher::hashMemory):
1205        * wtf/Vector.h:
1206        * wtf/text/AtomicString.cpp:
1207        * wtf/unicode/Unicode.h:
1208
12092013-09-15  Gustavo Noronha Silva  <gns@gnome.org>
1210
1211        Unreviewed make distcheck fix.
1212
1213        * GNUmakefile.list.am:
1214
12152013-09-15  Patrick Gansterer  <paroga@webkit.org>
1216
1217        Fix build with Visual Studio 2012 after r153764.
1218        https://bugs.webkit.org/show_bug.cgi?id=121406
1219
1220        Reviewed by Brent Fulgham.
1221
1222        * wtf/MathExtras.h:
1223
12242013-09-15  Alberto Garcia  <berto@igalia.com>
1225
1226        Unreviewed GTK gardening.
1227
1228        * GNUmakefile.list.am: remove FastAllocBase.h, this file disappeared
1229        in r155251.
1230
12312013-09-15  Patrick Gansterer  <paroga@webkit.org>
1232
1233        [WIN] Fix build without precompiled header after r155454.
1234
1235        * wtf/win/GDIObject.h: Added missing windows.h include.
1236
12372013-09-15  Andreas Kling  <akling@apple.com>
1238
1239        Remove Ref(const T&) constructor.
1240        <https://webkit.org/b/121384>
1241
1242        Reviewed by Anders Carlsson.
1243
1244        This constructor was added as a stopgap measure until we got better support
1245        for move semantics in Vector.
1246
1247        * wtf/Ref.h:
1248
12492013-09-15  Andreas Kling  <akling@apple.com>
1250
1251        Unreviewed, fix ridiculous bug in WeakPtr.
1252
1253        I made operator!() null check the pointer to the WeakReference. :|
1254
1255        Caught by plugins/destroy-on-setwindow.html on bots.
1256
1257        * wtf/WeakPtr.h:
1258        (WTF::WeakPtr::operator!):
1259
12602013-09-14  Andreas Kling  <akling@apple.com>
1261
1262        Get rid of ref-counting on RenderWidget.
1263        <https://webkit.org/b/121357>
1264
1265        Reviewed by Darin Adler.
1266
1267        * wtf/WeakPtr.h:
1268        (WTF::WeakPtr::operator!):
1269
1270            Add operator! to WeakPtr.
1271
12722013-09-14  Darin Adler  <darin@apple.com>
1273
1274        Add NeverDestroyed::get
1275        https://bugs.webkit.org/show_bug.cgi?id=121358
1276
1277        Reviewed by Anders Carlsson.
1278
1279        * wtf/NeverDestroyed.h: Removed code to make this non-copyable, since we also
1280        use a macro to accomplish that.
1281        (WTF::NeverDestroyed::get): Added. Useful in conjuction with auto to avoid
1282        having to repeat the type when we want to put one of these into a reference.
1283
12842013-09-13  Anders Carlsson  <andersca@apple.com>
1285
1286        Pick the correct overload when a const reference is passed to appendSlowCase.
1287        https://bugs.webkit.org/show_bug.cgi?id=121326
1288
1289        Reviewed by Darin Adler.
1290
1291        * wtf/Vector.h:
1292        (WTF::Vector::appendSlowCase):
1293        Make sure that the pointer to the element isn't const so we'll pick the right expandCapacity overload.
1294
12952013-09-13  Anders Carlsson  <andersca@apple.com>
1296
1297        Avoid a couple of zero-sized fastMalloc calls
1298        https://bugs.webkit.org/show_bug.cgi?id=121333
1299
1300        Reviewed by Geoffrey Garen.
1301
1302        * wtf/text/StringBuffer.h:
1303        (WTF::StringBuffer::StringBuffer):
1304        Initialize m_data to null if m_length is null, and use Checked<size_t> to check for
1305        overflow when multiplying m_length with the character size.
1306
13072013-09-13  Brent Fulgham  <bfulgham@apple.com>
1308
1309        [Windows] Activate FastMalloc hardening
1310        https://bugs.webkit.org/show_bug.cgi?id=121307
1311
1312        Reviewed by Oliver Hunt.
1313
1314        * wtf/FastMalloc.cpp: 
1315        (WTF::SLL_Next): Add workaround for MSVC compiler bug.
1316
13172013-09-13  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1318
1319        OwnArrayPtr: Never allow implicit pointer conversion
1320        https://bugs.webkit.org/show_bug.cgi?id=121291
1321
1322        Reviewed by Anders Carlsson.
1323
1324        We should never allow implicit pointer conversion in OwnArrayPtr 
1325        and remove its template copy constructor & template assignment operator, as:
1326        - these methods are never used
1327        - these methods are inappropriate to have in OwnArrayPtr as arrays do not
1328          interact well with polymorphism.
1329
1330        * wtf/OwnArrayPtr.h:
1331
13322013-09-13  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1333
1334        Remove support for QXmlStream as the XML parser.
1335        https://bugs.webkit.org/show_bug.cgi?id=121229
1336
1337        Reviewed by Andreas Kling.
1338
1339        Removed USE flags.
1340
1341        * wtf/Platform.h:
1342
13432013-09-12  Mark Hahnenberg  <mhahnenberg@apple.com>
1344
1345        Bitmap's WordType should be a template parameter
1346        https://bugs.webkit.org/show_bug.cgi?id=121238
1347
1348        Reviewed by Darin Adler.
1349
1350        The code is written as if it already is. We just need to lift it out of the class.
1351        This simplifies code that wants to load, for example, a single byte rather than an 
1352        entire 32-bit word. 
1353
1354        * wtf/Bitmap.h:
1355        (WTF::Bitmap::Bitmap):
1356        (WTF::Bitmap::get):
1357        (WTF::Bitmap::set):
1358        (WTF::Bitmap::testAndSet):
1359        (WTF::Bitmap::testAndClear):
1360        (WTF::Bitmap::concurrentTestAndSet):
1361        (WTF::Bitmap::concurrentTestAndClear):
1362        (WTF::Bitmap::clear):
1363        (WTF::Bitmap::clearAll):
1364        (WTF::Bitmap::nextPossiblyUnset):
1365        (WTF::Bitmap::findRunOfZeros):
1366        (WTF::Bitmap::count):
1367        (WTF::Bitmap::isEmpty):
1368        (WTF::Bitmap::isFull):
1369
13702013-09-12  Anders Carlsson  <andersca@apple.com>
1371
1372        Add rudimentary support for move-only types as values in HashMap
1373        https://bugs.webkit.org/show_bug.cgi?id=121226
1374
1375        Reviewed by Andreas Kling.
1376
1377        * wtf/HashMap.h:
1378        Change a bunch of functions to so they can take both rvalue and lvalue references and use std::forward.
1379
1380        * wtf/HashTraits.h:
1381        (WTF::KeyValuePair::KeyValuePair):
1382        Change constructors to accept both lvalues and rvalues.
1383
13842013-09-12  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1385
1386        Remove home-brewed nullptr
1387        https://bugs.webkit.org/show_bug.cgi?id=119624
1388
1389        Reviewed by Anders Carlsson.
1390
1391        The standard C++11 nullptr and std::nullptr_t type should be used now.
1392
1393        * GNUmakefile.list.am:
1394        * WTF.pro:
1395        * WTF.vcxproj/WTF.vcxproj:
1396        * WTF.vcxproj/WTF.vcxproj.filters:
1397        * WTF.xcodeproj/project.pbxproj:
1398        * wtf/CMakeLists.txt:
1399        * wtf/NullPtr.cpp: Removed.
1400        * wtf/NullPtr.h: Removed.
1401        * wtf/OwnArrayPtr.h:
1402        * wtf/OwnPtr.h:
1403        * wtf/PassOwnPtr.h:
1404        * wtf/PassRefPtr.h:
1405        * wtf/RetainPtr.h:
1406        * wtf/win/GDIObject.h:
1407
14082013-09-11  Anders Carlsson  <andersca@apple.com>
1409
1410        Use the new C++11 function declaration syntax throughout our hash collection classes
1411        https://bugs.webkit.org/show_bug.cgi?id=121195
1412
1413        Reviewed by Andreas Kling.
1414
1415        * wtf/HashMap.h:
1416        * wtf/HashSet.h:
1417        * wtf/HashTable.h:
1418
14192013-09-11  Anders Carlsson  <andersca@apple.com>
1420
1421        Add HashSet::take
1422        https://bugs.webkit.org/show_bug.cgi?id=121192
1423
1424        Reviewed by Darin Adler.
1425
1426        This is mostly done to see if we can use the new C++11 function declaration syntax,
1427        and for parity with HashMap::take. 
1428
1429        * wtf/HashMap.h:
1430        * wtf/HashSet.h:
1431
14322013-09-11  Anders Carlsson  <andersca@apple.com>
1433
1434        HashSet should work with move only types
1435        https://bugs.webkit.org/show_bug.cgi?id=121188
1436
1437        Reviewed by Geoffrey Garen.
1438
1439        * wtf/HashSet.h:
1440        (WTF::HashSet::add):
1441        Add a new rvalue reference overload and use std::move when calling HashTable::add.
1442
1443        * wtf/HashTable.h:
1444        (WTF::IdentityHashTranslator::translate):
1445        Change this to take an rvalue reference for the value so we can invoke the move assignment operator.
1446
1447        (WTF::HashTable::add):
1448        Call the add member function template, using std::move to move the value.
1449
1450        (WTF::HashTable::add):
1451        Add std::forward so we'll potentially move extra.
1452
14532013-09-11  Anders Carlsson  <andersca@apple.com>
1454
1455        Avoid copying a hash table bucket when inserting causes a rehash
1456        https://bugs.webkit.org/show_bug.cgi?id=121185
1457
1458        Reviewed by Darin Adler.
1459
1460        Allow rehashing to track a hash bucket and return the new pointer to it, thus avoiding
1461        having to do a copy of a hash table bucket as well as an extra hash lookup.
1462
1463        * wtf/HashTable.h:
1464
14652013-09-11  Brent Fulgham  <bfulgham@apple.com>
1466
1467        [Windows] Unreviewed build fix.
1468
1469        * wtf/win/GDIObject.h:
1470        (WTF::GDIObject::GDIObject): I forgot to check in as part of
1471        r155557 by using webkit-patch land in a sub-directory!
1472
14732013-09-11  Oliver Hunt  <oliver@apple.com>
1474
1475        Partial Information Leakage in Hash Table implementations (PrivateName)
1476        https://bugs.webkit.org/show_bug.cgi?id=120663
1477
1478        Reviewed by Michael Saboff.
1479
1480        Unique strings now just generate a completely random value as their
1481        hash, rather than using their this pointer.
1482
1483        * wtf/text/StringImpl.h:
1484        (WTF::StringImpl::StringImpl):
1485
14862013-09-11  Brent Fulgham  <bfulgham@apple.com>
1487
1488        Unreviewed build correction.
1489
1490        * WTF.vcxproj/copy-files.cmd: Touch file to force WTFGenerated
1491        build to copy updated GDIObject.h header file on build machines.
1492
14932013-09-11  Anders Carlsson  <andersca@apple.com>
1494
1495        Vector::append doesn't work if element type has overloaded operator&
1496        https://bugs.webkit.org/show_bug.cgi?id=121175
1497
1498        Reviewed by Brent Fulgham.
1499
1500        Use std::addressof to get the address of the given object.
1501
1502        * wtf/Vector.h:
1503        (WTF::::appendSlowCase):
1504        (WTF::::uncheckedAppend):
1505
15062013-09-11  Anders Carlsson  <andersca@apple.com>
1507
1508        Vector::append doesn't work if element type has overloaded operator&
1509        https://bugs.webkit.org/show_bug.cgi?id=121175
1510
1511        Reviewed by Brent Fulgham.
1512
1513        Use std::addressof to get the address of the given object.
1514
1515        * wtf/Vector.h:
1516        (WTF::::appendSlowCase):
1517        (WTF::::uncheckedAppend):
1518
15192013-09-11  Anders Carlsson  <andersca@apple.com>
1520
1521        VectorBuffer::swap doesn't need to use std::swap_ranges
1522        https://bugs.webkit.org/show_bug.cgi?id=121164
1523
1524        Reviewed by Darin Adler.
1525
1526        There's a std::swap overload for swapping arrays, just use it instead.
1527
1528        * wtf/Vector.h:
1529        (WTF::VectorBuffer::swap):
1530
15312013-09-11  Anders Carlsson  <andersca@apple.com>
1532
1533        Implement Vector::append for move-only types
1534        https://bugs.webkit.org/show_bug.cgi?id=120805
1535
1536        Reviewed by Andreas Kling.
1537
1538        * wtf/Vector.h:
1539        (WTF::::expandCapacity):
1540        Remove const from the pointer passed to expandCapacity, it can be non-const if we're moving.
1541
1542        (WTF::::append):
1543        Change append to take U&& and use std::forward when constructing the element and when passing
1544        the element along to appendSlowCase if that's necessary.
1545        
1546        (WTF::::appendSlowCase):
1547        Use std::forward.
1548
1549        (WTF::::uncheckedAppend):
1550        Rename val to value.
1551
15522013-09-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1553
1554        WTF::OwnPtr should behave similarly with the rest of WTF smart pointers
1555        https://bugs.webkit.org/show_bug.cgi?id=120773
1556
1557        Reviewed by Anders Carlsson.
1558
1559        Before the change OwnPtr could take either the pointer type or the pointed-to type, which was bad
1560        for the following reasons:
1561        - It distinguished OwnPtr behaviour from other WTF smart pointer classes behaviour (so it was confusing for the Client).
1562        - It was potential error-prone as it actually modified the type given by the Client in opaque way.
1563
1564        * wtf/OwnPtr.h:
1565        * wtf/PassOwnPtr.h:
1566
15672013-09-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1568
1569        OwnPtr: Use copy/move-and-swap for assignment operators
1570        https://bugs.webkit.org/show_bug.cgi?id=121154
1571
1572        Reviewed by Anders Carlsson.
1573
1574        Rationals:
1575        - decrease of repeated code
1576        - consistency with RefPtr
1577
1578        * wtf/OwnPtr.h:
1579        (WTF::=):
1580
15812013-09-11  Patrick Gansterer  <paroga@webkit.org>
1582
1583        [CMake] Split out generic Windows files into its own file
1584        https://bugs.webkit.org/show_bug.cgi?id=119514
1585
1586        Reviewed by Gyuyoung Kim.
1587
1588        This allows us to add smaller CMakeLists.txt files when
1589        adding additional Windows ports.
1590
1591        * wtf/PlatformWin.cmake: Renamed from Source/WTF/wtf/PlatformWinCE.cmake.
1592
15932013-09-10  Daniel Bates  <dabates@apple.com>
1594
1595        [iOS] Upstream text autosizing
1596        https://bugs.webkit.org/show_bug.cgi?id=121111
1597
1598        Reviewed by Andy Estes and Sam Weinig.
1599
1600        Define iOS text autosizing to be enabled on iOS unless otherwise defined.
1601
1602        * wtf/FeatureDefines.h:
1603
16042013-09-10  Anders Carlsson  <andersca@apple.com>
1605
1606        Remove wtf/Alignment.h
1607        https://bugs.webkit.org/show_bug.cgi?id=121077
1608
1609        Reviewed by Andreas Kling.
1610
1611        * GNUmakefile.list.am:
1612        * WTF.pro:
1613        * WTF.vcxproj/WTF.vcxproj:
1614        * WTF.vcxproj/WTF.vcxproj.filters:
1615        * WTF.xcodeproj/project.pbxproj:
1616        * wtf/Alignment.h: Removed.
1617        * wtf/CMakeLists.txt:
1618        * wtf/text/ASCIIFastPath.h:
1619
16202013-09-10  Anders Carlsson  <andersca@apple.com>
1621
1622        More WTF/Alignment.h removal
1623        https://bugs.webkit.org/show_bug.cgi?id=121125
1624
1625        Reviewed by Andreas Kling.
1626
1627        * wtf/Alignment.h:
1628        * wtf/Vector.h:
1629        (WTF::VectorBuffer::swap):
1630        (WTF::VectorBuffer::inlineBuffer):
1631        * wtf/text/ASCIIFastPath.h:
1632        (WTF::isAlignedTo):
1633        (WTF::isAlignedToMachineWord):
1634
16352013-09-10  Brent Fulgham  <bfulgham@apple.com>
1636
1637        Unreviewed build fix after r155476.
1638
1639        * GNUmakefile.list.am: Remove reference to deleted OwnPtrWin.cpp file.
1640        * WTF.pro: Ditto.
1641        * wtf/CMakeLists.txt: Ditto.
1642
16432013-09-10  Brent Fulgham  <bfulgham@apple.com>
1644
1645        [Windows] Create SharedGDIObject Class Template
1646        https://bugs.webkit.org/show_bug.cgi?id=121037
1647
1648        Reviewed by Anders Carlsson.
1649
1650        Now that the SharedGDIObject class exists we can get rid of
1651        the Windows-specific code in OwnPtr.
1652
1653        * WTF.vcxproj/WTF.vcxproj: Remove OwnPtrWin.cpp.
1654        * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
1655        * wtf/OwnPtrCommon.h: 
1656        (WTF::deleteOwnedPtr): Remove Windows declarations that
1657        are no longer needed.
1658        * wtf/win/GDIObject.h:
1659        (WTF::GDIObject::get): Change to 'const' to match
1660        signature (and use cases) elsewhere in the code base for
1661        our smart pointer classes.
1662        * wtf/win/OwnPtrWin.cpp: Removed.
1663
16642013-09-10  Anders Carlsson  <andersca@apple.com>
1665
1666        Remove more uses of WTF::AlignedBuffer
1667        https://bugs.webkit.org/show_bug.cgi?id=121119
1668
1669        Reviewed by Andreas Kling.
1670
1671        * wtf/HashTable.h:
1672        * wtf/SizeLimits.cpp:
1673
16742013-09-10  Anders Carlsson  <andersca@apple.com>
1675
1676        Clean up wtf/Noncopyable.h
1677        https://bugs.webkit.org/show_bug.cgi?id=121115
1678
1679        Reviewed by Darin Adler.
1680
1681        Use std::aligned_storage instead of WTF::AlignedBuffer.
1682
1683        * wtf/NeverDestroyed.h:
1684        (WTF::NeverDestroyed::NeverDestroyed):
1685
16862013-09-09  Brent Fulgham  <bfulgham@apple.com>
1687
1688        [Windows] Change from using OwnPtr<GDI Stuff> to new GDIObject template.
1689        https://bugs.webkit.org/show_bug.cgi?id=120778
1690
1691        Reviewed by Anders Carlsson.
1692
1693        * WTF.vcxproj/WTF.vcxproj: Add new GDIObject header file.
1694        * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
1695        * WTF.vcxproj/copy-files.cmd: Copy new header file.
1696        * wtf/OwnPtrCommon.h: Remove some GDI specializations.
1697        * wtf/win/GDIObject.h: Added.
1698        (WTF::GDIObject::GDIObject):
1699        (WTF::GDIObject::~GDIObject):
1700        (WTF::GDIObject::get):
1701        (WTF::GDIObject::operator!):
1702        (WTF::GDIObject::operator UnspecifiedBoolType):
1703        (WTF::GDIObject::operator=):
1704        (WTF::GDIObject::swap):
1705        (WTF::::clear):
1706        (WTF::::leak):
1707        (WTF::::GDIObject):
1708        (WTF::=):
1709        (WTF::adoptGDIObject):
1710        (WTF::swap):
1711        (WTF::T):
1712        (WTF::HDC):
1713        * wtf/win/OwnPtrWin.cpp:
1714        (WTF::deleteOwnedPtr): Remove some GDI specializations.
1715
17162013-09-09  Anders Carlsson  <andersca@apple.com>
1717
1718        Introduce WTF::createOwned
1719        https://bugs.webkit.org/show_bug.cgi?id=121059
1720
1721        Reviewed by Andreas Kling.
1722
1723        WTF::createOwned is a function template that does adoptPtr + new in a single function call,
1724        with all the arguments being perfectly forwarded thanks to C++11.
1725        
1726        Being forward-looking, createOwned returns an OwnPtr rather than a PassOwnPtr since the plan is 
1727        to get rid of PassOwnPtr and just use std::move instead.
1728
1729        * wtf/FilePrintStream.cpp:
1730        * wtf/FilePrintStream.h:
1731        * wtf/HashTable.h:
1732        * wtf/ListHashSet.h:
1733        * wtf/OwnPtr.h:
1734        (WTF::OwnPtr::OwnPtr):
1735        (WTF::createOwned):
1736        (WTF::createThread):
1737        (WTF::establishIdentifierForPthreadHandle):
1738        (WTF::createThreadInternal):
1739        (WTF::Collator::userDefault):
1740        (WTF::Collator::userDefault):
1741
17422013-09-09  Anders Carlsson  <andersca@apple.com>
1743
1744        Remove wtf/TypeTraits.h
1745        https://bugs.webkit.org/show_bug.cgi?id=121047
1746
1747        Reviewed by Darin Adler.
1748
1749        * GNUmakefile.list.am:
1750        * WTF.pro:
1751        * WTF.vcxproj/WTF.vcxproj:
1752        * WTF.vcxproj/WTF.vcxproj.filters:
1753        * WTF.xcodeproj/project.pbxproj:
1754        * wtf/CMakeLists.txt:
1755        * wtf/TypeTraits.cpp: Removed.
1756        * wtf/TypeTraits.h: Removed.
1757        * wtf/VectorTraits.h:
1758
17592013-09-09  Luciano Wolf  <luciano.wolf@openbossa.org>
1760
1761        Nix upstreaming - Adding stubs and Nix specific platform files
1762        https://bugs.webkit.org/show_bug.cgi?id=118358
1763
1764        Reviewed by Benjamin Poulain.
1765
1766        Basically adding all files that have "Nix" in their names and
1767        are related to WebCore module.
1768
1769        * wtf/nix/FeatureDefinesNix.h: Added.
1770        * wtf/nix/PlatformNix.h: Added.
1771
17722013-09-08  Anders Carlsson  <andersca@apple.com>
1773
1774        Begin moving off of TypeTraits.h
1775        https://bugs.webkit.org/show_bug.cgi?id=121006
1776
1777        Reviewed by Darin Adler.
1778
1779        The C++11 has its own type traits implementation that is more complete and handles corner cases better
1780        since it ties into the compiler. Begin switching uses of WTF type traits to STL type traits.
1781
1782        * wtf/CheckedArithmetic.h:
1783        * wtf/HashTraits.h:
1784        * wtf/NeverDestroyed.h:
1785        * wtf/OwnPtr.h:
1786        * wtf/PassOwnPtr.h:
1787        (WTF::adoptPtr):
1788        * wtf/RetainPtr.h:
1789
17902013-09-09  Julien Brianceau  <jbriance@cisco.com>
1791
1792        [Qt] Remove FastAllocBase.h from WTF.pro.
1793        https://bugs.webkit.org/show_bug.cgi?id=121024
1794
1795        Reviewed by Jocelyn Turcotte.
1796
1797        * WTF.pro: Remove FastAllocBase.h as this file disappeared in r155251.
1798
17992013-09-08  Darin Adler  <darin@apple.com>
1800
1801        Deprecate AdoptCF and AdoptNS (on all platforms except iOS for now)
1802        https://bugs.webkit.org/show_bug.cgi?id=121017
1803
1804        Reviewed by Andreas Kling.
1805
1806        * wtf/RetainPtr.h: Use the preprocessor to rename AdoptCF and AdoptNS
1807        to DeprecatedAdoptCF and DeprecatedAdoptNS on all platforms except
1808        for iOS. Also removed an unneeded explicit conversion in the retainPtr
1809        function. Also re-sorted the using lines at the end of the file.
1810
18112013-09-08  Anders Carlsson  <andersca@apple.com>
1812
1813        Move WTF::notFound to Vector.h and delete NotFound.h
1814        https://bugs.webkit.org/show_bug.cgi?id=120990
1815
1816        Reviewed by Sam Weinig.
1817
1818        * GNUmakefile.list.am:
1819        * WTF.pro:
1820        * WTF.vcxproj/WTF.vcxproj:
1821        * WTF.vcxproj/WTF.vcxproj.filters:
1822        * WTF.xcodeproj/project.pbxproj:
1823        * wtf/CMakeLists.txt:
1824        * wtf/NotFound.h: Removed.
1825        * wtf/Vector.h:
1826
18272013-09-07  David Kilzer  <ddkilzer@apple.com>
1828
1829        gtest fails to build due to integer type mismatch in WTF::insertIntoBoundedVector()
1830        <http://webkit.org/b/120983>
1831
1832        Reviewed by Dan Bernstein.
1833
1834        Fixes the following build failure:
1835
1836            WebKitBuild/Debug/usr/local/include/wtf/StdLibExtras.h:266:23: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
1837            for (unsigned i = size; i-- > index + 1;)
1838                          ~   ^~~~
1839
1840        * wtf/StdLibExtras.h:
1841        (WTF::insertIntoBoundedVector): Use size_t instead of unsigned
1842        as for loop index variable.
1843
18442013-09-07  Anders Carlsson  <andersca@apple.com>
1845
1846        Remove NonCopyableSort.h from WTF
1847        https://bugs.webkit.org/show_bug.cgi?id=120984
1848
1849        Reviewed by Andreas Kling.
1850
1851        std::sort as defined by C++11 moves elements when possible, so there's no need for nonCopyableSort anymore.
1852
1853        * GNUmakefile.list.am:
1854        * WTF.pro:
1855        * WTF.vcxproj/WTF.vcxproj:
1856        * WTF.vcxproj/WTF.vcxproj.filters:
1857        * WTF.xcodeproj/project.pbxproj:
1858        * wtf/NonCopyingSort.h: Removed.
1859
18602013-09-07  Anders Carlsson  <andersca@apple.com>
1861
1862        Get rid of PassOwnArrayPtr
1863        https://bugs.webkit.org/show_bug.cgi?id=120964
1864
1865        Reviewed by Andreas Kling.
1866
1867        Make OwnArrayPtr a proper move-only type and get rid of PassOwnArrayPtr.
1868        
1869        Ultimately I'd like to get rid of OwnArrayPtr as well and just have it be a specialization
1870        of OwnPtr<T[]>, but this is a step in the right direction.
1871
1872        * GNUmakefile.list.am:
1873        * WTF.pro:
1874        * WTF.vcxproj/WTF.vcxproj:
1875        * WTF.vcxproj/WTF.vcxproj.filters:
1876        * WTF.xcodeproj/project.pbxproj:
1877        * wtf/Assertions.cpp:
1878        * wtf/CMakeLists.txt:
1879        * wtf/DateMath.h:
1880        * wtf/FastBitVector.h:
1881        * wtf/Forward.h:
1882        * wtf/OwnArrayPtr.h:
1883        * wtf/PassOwnArrayPtr.h: Removed.
1884
18852013-09-07  Anders Carlsson  <andersca@apple.com>
1886
1887        VectorMover should use std::move
1888        https://bugs.webkit.org/show_bug.cgi?id=120959
1889
1890        Reviewed by Geoffrey Garen.
1891
1892        This lets the compiler use move constructors when moving data, which can be a performance improvement.
1893        If the vector element type isn't movable it will be copied instead.
1894
1895        * wtf/Vector.h:
1896        (WTF::VectorTypeOperations::move):
1897        (WTF::VectorTypeOperations::moveOverlapping):
1898
18992013-09-07  Anders Carlsson  <andersca@apple.com>
1900
1901        Get rid of FastAllocBase.h
1902        https://bugs.webkit.org/show_bug.cgi?id=120952
1903
1904        Reviewed by Antti Koivisto.
1905
1906        FastAllocBase.h now only contains the WTF_MAKE_FAST_ALLOCATED macro. 
1907        Move that macro to FastMalloc.h instead and remove FastAllocBase.h.
1908
1909        * WTF.vcxproj/WTF.vcxproj:
1910        * WTF.vcxproj/WTF.vcxproj.filters:
1911        * WTF.xcodeproj/project.pbxproj:
1912        * wtf/DeferrableRefCounted.h:
1913        * wtf/FastAllocBase.h: Removed.
1914        * wtf/FastMalloc.h:
1915        * wtf/HashSet.h:
1916        * wtf/MediaTime.h:
1917        * wtf/PrintStream.h:
1918        * wtf/RefCounted.h:
1919        * wtf/RefPtr.h:
1920        * wtf/ThreadingPrimitives.h:
1921        * wtf/Vector.h:
1922        * wtf/gobject/GMutexLocker.h:
1923        * wtf/unicode/Collator.h:
1924
19252013-09-06  Anders Carlsson  <andersca@apple.com>
1926
1927        Add a new smart pointer type for fastMalloc'ed memory
1928        https://bugs.webkit.org/show_bug.cgi?id=120911
1929
1930        Reviewed by Andreas Kling.
1931
1932        Due to an oversight on my part, Vector::releaseBuffer() currently returns an OwnPtr
1933        which means that its data will be freed with operator delete instead of fastFree.
1934        
1935        Fix this by introducing a new MllocPtr smart pointer class and change Vector::releaseBuffer() to return it instead.
1936
1937        * WTF.pro:
1938        * WTF.vcxproj/WTF.vcxproj:
1939        * WTF.vcxproj/WTF.vcxproj.filters:
1940        * WTF.xcodeproj/project.pbxproj:
1941        * wtf/CMakeLists.txt:
1942        * wtf/FastAllocBase.h:
1943        * wtf/MallocPtr.h: Added.
1944        * wtf/Vector.h:
1945        * wtf/text/StringBuffer.h:
1946        * wtf/text/StringImpl.h:
1947
19482013-09-06  Andreas Kling  <akling@apple.com>
1949
1950        Remove old workaround for Nokia's Harmattan GCC on Qt/ARM.
1951        <https://webkit.org/b/37253>
1952
1953        Reviewed by Anders Carlsson.
1954
1955        Apparently this was a workaround for GCC getting stuck in an infinite loop
1956        when building for ARM in a Nokia SDK over 2 years ago.
1957
1958        I think it's safe to remove this now, but if I'm wrong, and you're reading
1959        this ChangeLog wondering why I did this to you, feel free to put it back in.
1960
1961        * wtf/PassRefPtr.h:
1962        (WTF::refIfNotNull):
1963        (WTF::derefIfNotNull):
1964
19652013-09-06  Andreas Kling  <akling@apple.com>
1966
1967        Remove unused RefPtr(PlacementNewAdopt) constructor.
1968        <https://webkit.org/b/120914>
1969
1970        Reviewed by Anders Carlsson.
1971
1972        * wtf/RefPtr.h:
1973
19742013-09-06  David Kilzer  <ddkilzer@apple.com>
1975
1976        BUILD FIX (r155171): INSTALL_PATH_PREFIX should no longer be used beneath BUILT_PRODUCTS_DIR in HEADER_SEARCH_PATHS for iOS
1977
1978        * Configurations/Base.xcconfig:
1979        (HEADER_SEARCH_PATHS): Change
1980        $(BUILT_PRODUCTS_DIR)/$(INSTALL_PATH_PREFIX)/usr/local/include to
1981        $(BUILT_PRODUCTS_DIR)/usr/local/include.
1982
19832013-09-06  Anders Carlsson  <andersca@apple.com>
1984
1985        Remove fastNew/fastDelete
1986        https://bugs.webkit.org/show_bug.cgi?id=120904
1987
1988        Reviewed by Andreas Kling.
1989
1990        Remove the various variants of fastNew and fastDelete.
1991
1992        * wtf/FastAllocBase.h:
1993
19942013-09-06  Alberto Garcia  <berto@igalia.com>
1995
1996        [GTK] GlibUtilities: getCurrentExecutablePath() does not compile on GNU/Hurd
1997        https://bugs.webkit.org/show_bug.cgi?id=120793
1998
1999        Reviewed by Gustavo Noronha Silva.
2000
2001        Original patch by Svante Signell <svante.signell@telia.com>.
2002
2003        PATH_MAX is not defined in GNU/Hurd, this patch adds a dummy
2004        implementation to make it compile.
2005
2006        * wtf/gobject/GlibUtilities.cpp:
2007        (getCurrentExecutablePath):
2008
20092013-09-05  Dan Bernstein  <mitz@apple.com>
2010
2011        INSTALL_PATH_PREFIX is used even when not installing
2012        https://bugs.webkit.org/show_bug.cgi?id=120810
2013
2014        Reviewed by Andy Estes.
2015
2016        * Configurations/CopyWTFHeaders.xcconfig: Removed INSTALL_PATH_PREFIX from
2017        the definition of PRIVATE_HEADERS_FOLDER_PATH. Also removed the leading
2018        slash, because the Xcode definition of this build setting is relative.
2019        * WTF.xcodeproj/project.pbxproj: Prepend INSTALL_PATH_PREFIX here when installing.
2020
20212013-09-05  Anders Carlsson  <andersca@apple.com>
2022
2023        Fix build with older versions of clang from Xcode.
2024
2025        * wtf/Compiler.h:
2026
20272013-09-05  Anders Carlsson  <andersca@apple.com>
2028
2029        Make Vector::uncheckedAppend work with move-only types
2030        https://bugs.webkit.org/show_bug.cgi?id=120799
2031
2032        Reviewed by Andreas Kling.
2033
2034        * wtf/Vector.h:
2035        (WTF::::uncheckedAppend):
2036        Use std::forward to invoke the move constructor when possible.
2037
20382013-09-05  Anders Carlsson  <andersca@apple.com>
2039
2040        Add COMPILER_SUPPORTS(CXX_AUTO_TYPE) and #error if it's 0
2041        https://bugs.webkit.org/show_bug.cgi?id=120794
2042
2043        Reviewed by Andreas Kling.
2044
2045        People have already begun using C++11 auto in WebCore, so let's make it a prerequisite.
2046
2047        * wtf/Compiler.h:
2048
20492013-09-05  Anders Carlsson  <andersca@apple.com>
2050
2051        Clean up wtf/Compiler.h
2052        https://bugs.webkit.org/show_bug.cgi?id=120790
2053
2054        Reviewed by Andreas Kling.
2055
2056        - Get rid of the CLANG_PRAGMA define, it's not used anywhere.
2057        - Remove a workaround for a bug in the version of clang that came with Xcode 4.2.
2058        - Replace WTF_COMPILER_SUPPORTS_CXX_FINAL_CONTROL with a compiler quirk for versions of clang
2059          that have a buggy final implementation and fix a bug in the macro where final would be disabled
2060          for versions of clang where __clang_minor__ is less than 2, regardless of the major version.
2061        - Fail if someone tries to compile the WebKit stack with a compiler that doesn't support rvalue
2062          references or static_assert.
2063
2064        * wtf/Compiler.h:
2065
20662013-09-05  Anders Carlsson  <andersca@apple.com>
2067
2068        Change StringBuffer back to not use an OwnPtr in an attempt to fix ports.
2069        
2070        * wtf/text/StringBuffer.h:
2071
20722013-09-04  Anders Carlsson  <andersca@apple.com>
2073
2074        Vector::releaseBuffer should return an OwnPtr
2075        https://bugs.webkit.org/show_bug.cgi?id=120718
2076
2077        Reviewed by Andreas Kling.
2078
2079        Change Vector::releaseBuffer() to return an OwnPtr. I intentionally chose
2080        to use an OwnPtr over a PassOwnPtr since we're trying to move away from PassOwnPtr objects.
2081        
2082        Fix fallout from this change by adopting OwnPtr/PassOwnPtr in StringBuffer and the two StringImpl
2083        constructors that adopt the passed in pointer.
2084
2085        * wtf/Vector.h:
2086        * wtf/text/StringBuffer.h:
2087        * wtf/text/StringImpl.h:
2088
20892013-09-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2090
2091        Remove String(RefPtr<StringImpl>) constructor
2092        https://bugs.webkit.org/show_bug.cgi?id=120767
2093
2094        Reviewed by Anders Carlsson.
2095
2096        The String(RefPtr<StringImpl>) constructor should be removed for the following reasons:
2097        - It almost does not have clients, so it is unneeded.
2098        - RefPtr should never be passed by value
2099
2100        * wtf/text/StringBuilder.cpp:
2101        (WTF::StringBuilder::shrinkToFit):
2102        * wtf/text/WTFString.h:
2103
21042013-09-05  Jaehun Lim  <ljaehun.lim@samsung.com>
2105
2106        Unreviewed. Fix build after r155083
2107
2108        Source/WTF/wtf/Vector.h:1210:48: error: ‘>>’ should be ‘> >’ within a nested template argument list
2109
2110        * wtf/Vector.h: Add missing space.
2111
21122013-09-04  Mark Rowe  <mrowe@apple.com>
2113
2114        Fix AutodrainedPool.h to compile without errors under ARC.
2115
2116        Rubber-stamped by Anders Carlsson.
2117
2118        * wtf/AutodrainedPool.h: Some versions of Clang complain about any use of NSAutoreleasePool under ARC.
2119        Change the type of the member variable to id to work around this. Since the implementation file is compiled
2120        under manual reference counting, everything will work fine.
2121
21222013-09-04  Anders Carlsson  <andersca@apple.com>
2123
2124        De-indent Vector.h.
2125
2126        Rubber-stamped by Andreas Kling.
2127        
2128        I'm cleaning up Vector and making it work with move-only objects, and the namespace WTF
2129        indentation is driving me crazy.
2130
2131        * wtf/Vector.h:
2132
21332013-09-03  Filip Pizlo  <fpizlo@apple.com>
2134
2135        CodeBlock memory cost reporting should be rationalized
2136        https://bugs.webkit.org/show_bug.cgi?id=120615
2137
2138        Reviewed by Darin Adler.
2139
2140        * wtf/RefCountedArray.h:
2141        (WTF::RefCountedArray::refCount):
2142
21432013-09-03  Enrica Casucci  <enrica@apple.com>
2144
2145        Follow up to http://trac.webkit.org/changeset/155014
2146
2147        Reviewed by Alexey Proskuryakov.
2148
2149        In the r155014 I renamed hasLineBreakingPropertyComplexContext
2150        to requiresComplexContextForWordBreaking but forgot to
2151        make the same change in UnicodeWchar.h.
2152
2153        * wtf/unicode/wchar/UnicodeWchar.cpp:
2154        (WTF::Unicode::requiresComplexContextForWordBreaking):
2155        * wtf/unicode/wchar/UnicodeWchar.h:
2156
21572013-09-03  Enrica Casucci  <enrica@apple.com>
2158
2159        Can't select Katakana word by double-clicking.
2160        <rdar://problem/14654926>
2161
2162        Reviewed by Alexey Proskuryakov and Ryosuke Niwa.
2163
2164        For some languages, like Japanese we need
2165        to use more context for word breaking.
2166        I've renamed the function to better reflect its use
2167        and remove the unused hasLineBreakingPropertyComplexContextOrIdeographic.
2168
2169        * wtf/unicode/icu/UnicodeIcu.h:
2170        (WTF::Unicode::requiresComplexContextForWordBreaking):
2171
21722013-09-03  Andreas Kling  <akling@apple.com>
2173
2174        Support Vector<Ref<T>>.
2175        <https://webkit.org/b/120637>
2176
2177        Reviewed by Antti Koivisto.
2178
2179        Add a Ref(const T&) constructor to enable Vector<Ref<T>>. This looks a bit awkward
2180        but is necessary for Vector::append(const T&) to find a constructor.
2181
2182        An alternative would be to add something like std::vector::emplace_back, but I can't
2183        think of a good name for that, and it'd be nice if append() would "just work."
2184
2185        Also add operator->(). I initially excluded this because I felt it made for
2186        unsafe-looking code. Things quickly got out of hand with .get() everywhere though.
2187
2188        IMO -> looks OK as long as it's only used on the first link in a dereference chain,
2189        as that variable and its type will be "in context."
2190
2191        * wtf/Ref.h:
2192        (WTF::Ref::Ref):
2193        (WTF::Ref::~Ref):
2194        (WTF::Ref::operator->):
2195        (WTF::Ref::get):
2196        * wtf/VectorTraits.h:
2197
2198            Add simple traits for Ref<T> so it can be moved around freely by Vector.
2199
22002013-09-03  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2201
2202        Check WTF::VectorFiller template argument type size in compile time
2203        https://bugs.webkit.org/show_bug.cgi?id=120631
2204
2205        Reviewed by Darin Adler.
2206
2207        The template argument's type size in WTF::VectorFiller 'memset' specialization
2208        should be checked during compilation rather than in runtime.
2209
2210        * wtf/Vector.h:
2211
22122013-09-02  Darin Adler  <darin@apple.com>
2213
2214        Cut down on double hashing and code needlessly using hash table iterators
2215        https://bugs.webkit.org/show_bug.cgi?id=120611
2216
2217        Reviewed by Andreas Kling.
2218
2219        Double hashing is common in code that needs to combine a remove with some
2220        action to only be done if the code is removed. The only way to avoid it is
2221        to write code using find and a hash table iterator. To help with this, add
2222        a boolean return value to remove functions to indicate if anything was removed.
2223
2224        Double hashing also happens in code that does a get followed by a remove.
2225        The take function is helpful in this case. To help with this, add a takeFirst
2226        funciton to ListHashSet.
2227
2228        * wtf/HashCountedSet.h:
2229        (WTF::HashCountedSet::removeAll): Added a boolean return value, analogous to the one
2230        that the HashCountedSet::remove function already has.
2231
2232        * wtf/HashMap.h:
2233        (WTF::HashMap::remove): Added a boolean return value, true if something was removed.
2234        * wtf/HashSet.h:
2235        (WTF::HashSet::remove): Ditto.
2236        * wtf/RefPtrHashMap.h:
2237        (WTF::RefPtrHashMap::remove): Ditto.
2238
2239        * wtf/ListHashSet.h:
2240        (WTF::ListHashSet::takeFirst): Added.
2241        (WTF::ListHashSet::takeLast): Added.
2242        (WTF::ListHashSet::remove): Added a boolean return value, true if something was removed.
2243
2244        * wtf/WTFThreadData.h:
2245        (JSC::IdentifierTable::remove): Use the new remove return value to get rid of most of
2246        the code in this function.
2247
22482013-09-02  David Kilzer  <ddkilzer@apple.com>
2249
2250        Remove duplicate entries found by Xcode in WTF project
2251
2252        Platform.h was duplicated in r111778 after being added in
2253        r111504.
2254
2255        A dangling reference to Ref.h was added in r154962.
2256
2257        * WTF.xcodeproj/project.pbxproj: Remove duplicate entries for
2258        Platform.h and Ref.h.
2259
22602013-09-02  Andreas Kling  <akling@apple.com>
2261
2262        Actually add Ref.h
2263
22642013-09-02  Darin Adler  <darin@apple.com>
2265
2266        [Mac] No need for HardAutorelease, which is same as CFBridgingRelease
2267        https://bugs.webkit.org/show_bug.cgi?id=120569
2268
2269        Reviewed by Andy Estes.
2270
2271        * wtf/ObjcRuntimeExtras.h: Added a FIXME about miscapitalization of ObjC.
2272        Deleted HardAutorelease.
2273        (wtfObjcMsgSend): Dropped the use of abbreviations in local class and argument names.
2274        (wtfCallIMP): Ditto.
2275
22762013-09-01  Andreas Kling  <akling@apple.com>
2277
2278        Ref: A smart pointer for the reference age.
2279        <https://webkit.org/b/120570>
2280
2281        Reviewed by Antti Koivisto.
2282
2283        Add a very simple simple Ref<T> smart pointer class that is never null.
2284        It's initialized by passing a T& to the constructor and cannot be assigned to.
2285
2286        operator-> is not overloaded, to prevent unsafe-looking code.
2287        The value is extracted by "T& get()", since C++ does not let you override operator.()
2288
2289        * wtf/Ref.h:
2290
22912013-08-30  Oliver Hunt  <oliver@apple.com>
2292
2293        Make JSValue bool conversion less dangerous
2294        https://bugs.webkit.org/show_bug.cgi?id=120505
2295
2296        Reviewed by Darin Adler.
2297
2298        Make LIKELY and UNLIKELY macros coerce to bool before
2299        passing to expect.
2300
2301        * wtf/Compiler.h:
2302
23032013-08-30  Antti Koivisto  <antti@apple.com>
2304
2305        Remove code behind ENABLE(DIALOG_ELEMENT)
2306        https://bugs.webkit.org/show_bug.cgi?id=120467
2307
2308        Reviewed by Darin Adler.
2309
2310        * wtf/FeatureDefines.h:
2311
23122013-08-29  Sam Weinig  <sam@webkit.org>
2313
2314        Add ENABLE guards for Promises
2315        https://bugs.webkit.org/show_bug.cgi?id=120488
2316
2317        Reviewed by Andreas Kling.
2318
2319        * wtf/FeatureDefines.h:
2320
23212013-08-28  Zan Dobersek  <zdobersek@igalia.com>
2322
2323        [GTK] Add support for building JSC with FTL JIT enabled
2324        https://bugs.webkit.org/show_bug.cgi?id=120270
2325
2326        Reviewed by Filip Pizlo.
2327
2328        * wtf/Platform.h: Define ENABLE_FTL_JIT to the value of 1 for the GTK port if building for the x86-64
2329        architecture with LLVM present and the define not being previously defined. This is applicable when
2330        configuring the Automake build with '--enable-ftl-jit=auto'.
2331
23322013-08-27  Arunprasad Rajkumar  <arurajku@cisco.com>
2333
2334        Replace currentTime() with monotonicallyIncreasingTime() in WebCore
2335        https://bugs.webkit.org/show_bug.cgi?id=119958
2336
2337        Reviewed by Alexey Proskuryakov.
2338
2339        WTF::currentTime() is prone to NTP and manual adjustments, so use
2340        WTF::monotonicallyIncreasingTime() to measure elapsed time.
2341
2342        It is a continuation of r154201.
2343
2344        * wtf/CurrentTime.h: Edited comment.
2345
23462013-08-27  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
2347
2348        [gstreamer] Make sure gstreamer source element is thread-safe
2349        https://bugs.webkit.org/show_bug.cgi?id=115352
2350
2351        Reviewed by Philippe Normand.
2352
2353        Add convenience class that simplifies locking and unlocking a GMutex.
2354
2355        * GNUmakefile.list.am:
2356        * wtf/gobject/GMutexLocker.h: Added.
2357        (WebCore::GMutexLocker::GMutexLocker):
2358        (WebCore::GMutexLocker::~GMutexLocker):
2359        (WebCore::GMutexLocker::lock):
2360        (WebCore::GMutexLocker::unlock):
2361        (WebCore::GMutexLocker::mutex):
2362
23632013-08-26  Andy Estes  <aestes@apple.com>
2364
2365        Don't leak objects in HardAutorelease when OBJC_NO_GC is undefined but
2366        Objective-C GC is disabled at runtime.
2367        
2368        Reviewed by Darin Adler.
2369
2370        * wtf/ObjcRuntimeExtras.h:
2371        (HardAutorelease):
2372
23732013-08-23  Andy Estes  <aestes@apple.com>
2374
2375        Fix issues found by the Clang Static Analyzer
2376        https://bugs.webkit.org/show_bug.cgi?id=120230
2377
2378        Reviewed by Darin Adler.
2379
2380        * wtf/ObjcRuntimeExtras.h:
2381        (HardAutorelease): Added a canonical implementation of HardAutorelease.
2382
23832013-08-26  Zan Dobersek  <zdobersek@igalia.com>
2384
2385        Undefine __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS before redefining them
2386        https://bugs.webkit.org/show_bug.cgi?id=120313
2387
2388        Reviewed by Darin Adler.
2389
2390        * wtf/LLVMHeaders.h: Undefine the two macros before they are defined again.
2391        This way we avoid the compilation-time warnings about the macros being invalidly redefined.
2392
23932013-08-26  Oliver Hunt  <oliver@apple.com>
2394
2395        Building is so overrated.
2396
2397        * wtf/Compression.cpp:
2398        (WTF::GenericCompressedData::decompress):
2399
24002013-08-26  Oliver Hunt  <oliver@apple.com>
2401
2402        Disable compression under MSVC for now as we're getting
2403        weird release-only failures.
2404
2405        * wtf/Compression.cpp:
2406
24072013-08-24  Benjamin Poulain  <benjamin@webkit.org>
2408
2409        Save three bytes per CStringBuffer object
2410        https://bugs.webkit.org/show_bug.cgi?id=120040
2411
2412        Reviewed by Darin Adler.
2413
2414        Merge https://chromium.googlesource.com/chromium/blink/+/894ae8eafdb64912aefd8f9c809f4ccda84f3b89
2415
2416        sizeof(CStringBuffer) was rounded up to 8 on account of struct size and
2417        alignment rules. This is clearly not what was intended.
2418
2419        * wtf/text/CString.cpp:
2420        (WTF::CStringBuffer::createUninitialized):
2421        * wtf/text/CString.h:
2422        (WTF::CStringBuffer::data):
2423        (WTF::CStringBuffer::mutableData):
2424
24252013-08-24  Darin Adler  <darin@apple.com>
2426
2427        RetainPtr lacks move constructor for case when argument is a RetainPtr of a different type
2428        https://bugs.webkit.org/show_bug.cgi?id=120255
2429
2430        Reviewed by Andreas Kling.
2431
2432        * wtf/RetainPtr.h: Added missing move constructor, modeled on the other move constructor,
2433        and the one from RetPtr.
2434
24352013-08-24  Oliver Hunt  <oliver@apple.com>
2436
2437        Make the world build.
2438
2439        * wtf/Compression.h:
2440
24412013-08-24  Oliver Hunt  <oliver@apple.com>
2442
2443        REGRESSION(r154498): Crashes on EFL, GTK, Qt on release configurations
2444        https://bugs.webkit.org/show_bug.cgi?id=120246
2445
2446        Reviewed by Antti Koivisto.
2447
2448        Undestroy all the platforms that don't use the global new overload
2449
2450        * wtf/Compression.h:
2451
24522013-08-21  Mark Rowe  <mrowe@apple.com>
2453
2454        <https://webkit.org/b/120141> Make RetainPtr work with ARC.
2455
2456        Have RetainPtr store the object its managing as a CFTypeRef and manage its lifetime with
2457        CFRetain / CFRelease. This is necessary to have explicit control over the lifetime of
2458        Objective-C objects when automatic reference counting is in use. Two helper methods are
2459        introduced to convert between the pointer type that the RetainPtr manages and the CFTypeRef
2460        that the pointer is stored as. For CF types and Objective-C types with ARC disabled,
2461        these methods are simply casts. For Objective-C types under ARC they need to use the
2462        special bridging casts to keep the compiler happy.
2463
2464        Reviewed by Anders Carlsson.
2465
2466        * wtf/RetainPtr.h:
2467        (WTF::RetainPtr::RetainPtr): Use the helper methods to convert to and from the storage
2468        types when necessary.
2469        (WTF::RetainPtr::~RetainPtr): Ditto.
2470        (WTF::RetainPtr::get): Ditto.
2471        (WTF::RetainPtr::operator->): Ditto.
2472        (WTF::RetainPtr::operator PtrType): Ditto.
2473        (WTF::::RetainPtr): Ditto.
2474        (WTF::::clear): Ditto.
2475        (WTF::::leakRef): Ditto.
2476        (WTF::=): Ditto.
2477
2478        (WTF::RetainPtr::fromStorageTypeHelper): Use crazy template magic to determine whether to use
2479        a bridging cast or not depending on the desired return type.
2480        (WTF::RetainPtr::fromStorageType):
2481        (WTF::RetainPtr::toStorageType): Overloading is sufficient here.
2482
24832013-08-21  Mark Rowe  <mrowe@apple.com>
2484
2485        Revert r153637.
2486
2487        It didn't work with ARC like it said it would. We'll need to take a slightly different approach.
2488
2489        Rubber-stamped by Anders Carlsson.
2490
2491        * wtf/RetainPtr.h:
2492        (WTF::RetainPtr::RetainPtr):
2493        (WTF::RetainPtr::~RetainPtr):
2494        (WTF::RetainPtr::operator UnspecifiedBoolType):
2495        (WTF::::RetainPtr):
2496        (WTF::::clear):
2497        (WTF::=):
2498        (WTF::adoptCF):
2499        (WTF::adoptNS):
2500
25012013-08-23  Brent Fulgham  <bfulgham@apple.com>
2502
2503        [Windows] Unreviewed build correction after r154513.
2504
2505        * WTF.vcxproj/build-generated-files.sh: Variable was missing '$' character.
2506
25072013-08-23  Darin Adler  <darin@apple.com>
2508
2509        Cut down repeated code in RefPtr and RetainPtr by using copy/move-and-swap for assignment operators
2510        https://bugs.webkit.org/show_bug.cgi?id=120223
2511
2512        Reviewed by Anders Carlsson.
2513
2514        * wtf/RefPtr.h: Switch to copy-and-swap in the assignment operators. The move ones already were done
2515        that way.
2516        * wtf/RetainPtr.h: Ditto, except for the move ones too.
2517
25182013-08-23  Oliver Hunt  <oliver@apple.com>
2519
2520        Add more validation logic to CompressibleVector
2521        https://bugs.webkit.org/show_bug.cgi?id=120227
2522
2523        Reviewed by Brent Fulgham.
2524
2525        Add a pile of assertions to try on catch whatever is going wrong
2526        in the windows environment or other platforms.
2527
2528        * wtf/Compression.cpp:
2529        (WTF::GenericCompressedData::create):
2530        (WTF::GenericCompressedData::decompress):
2531        * wtf/Compression.h:
2532        (WTF::CompressedVector::decompress):
2533
25342013-08-23  Alex Christensen  <achristensen@apple.com>
2535
2536        Re-separating Win32 and Win64 builds.
2537        https://bugs.webkit.org/show_bug.cgi?id=120178
2538
2539        Reviewed by Brent Fulgham.
2540
2541        * WTF.vcxproj/WTFGenerated.make:
2542        Pass PlatformArchitecture as a command line parameter to bash scripts.
2543        * WTF.vcxproj/build-generated-files.sh:
2544        Use PlatformArchitecture from command line to determine which object directory to use (obj32 or obj64).
2545
25462013-08-22  Filip Pizlo  <fpizlo@apple.com>
2547
2548        build-jsc --ftl-jit should work
2549        https://bugs.webkit.org/show_bug.cgi?id=120194
2550
2551        Reviewed by Oliver Hunt.
2552
2553        * wtf/LLVMHeaders.h: I don't know what went wrong here. If HAVE(LLVM), then we need those headers!
2554
25552013-08-23  Brent Fulgham  <bfulgham@apple.com>
2556
2557        [Windows] Unreviewed build correction after r154498.
2558
2559        * WTF.vcxproj/WTF.vcxproj.filters: Adjust files so they show up
2560        in the proper folders.
2561        * WTF.vcxproj/WTFCommon.props: Add search path for zlib header and
2562        include link directive.
2563
25642013-08-23  Oliver Hunt  <oliver@apple.com>
2565
2566        Attempt to appease windows bot.
2567
2568        * wtf/Compression.h:
2569
25702013-08-23  Oliver Hunt  <oliver@apple.com>
2571
2572        Re-sort xcode project file
2573
2574        * WTF.xcodeproj/project.pbxproj:
2575
25762013-08-23  Oliver Hunt  <oliver@apple.com>
2577
2578        Support in memory compression of rarely used data
2579        https://bugs.webkit.org/show_bug.cgi?id=120143
2580
2581        Reviewed by Gavin Barraclough.
2582
2583        Adds a set of utility functions to wrap the use of zlib over a generic
2584        type or a Vector<> as well as adding CompressibleVector that wraps
2585        either a Vector<> or compressed data.
2586
2587        * GNUmakefile.list.am:
2588        * WTF.pro:
2589        * WTF.vcxproj/WTF.vcxproj:
2590        * WTF.xcodeproj/project.pbxproj:
2591        * wtf/CMakeLists.txt:
2592        * wtf/CheckedArithmetic.h:
2593        * wtf/Compression.cpp: Added.
2594        (WTF::zAlloc):
2595        (WTF::zFree):
2596        (WTF::GenericCompressedData::create):
2597        (WTF::GenericCompressedData::decompress):
2598        * wtf/Compression.h: Added.
2599        (WTF::GenericCompressedData::compressedSize):
2600        (WTF::GenericCompressedData::originalSize):
2601        (WTF::GenericCompressedData::GenericCompressedData):
2602        (WTF::CompressedVector::create):
2603        (WTF::CompressedVector::decompress):
2604        (WTF::CompressedVector::size):
2605        (WTF::CompressibleVector::CompressibleVector):
2606        (WTF::CompressibleVector::shrinkToFit):
2607        (WTF::CompressibleVector::size):
2608        (WTF::CompressibleVector::operator[]):
2609        (WTF::CompressibleVector::at):
2610        (WTF::CompressibleVector::begin):
2611        (WTF::CompressibleVector::end):
2612        (WTF::CompressibleVector::data):
2613        (WTF::CompressibleVector::decompressIfNecessary):
2614
26152013-08-21  Commit Queue  <commit-queue@webkit.org>
2616
2617        Unreviewed, rolling out r154416.
2618        http://trac.webkit.org/changeset/154416
2619        https://bugs.webkit.org/show_bug.cgi?id=120147
2620
2621        Broke Windows builds (Requested by rniwa on #webkit).
2622
2623        * WTF.vcxproj/WTFGenerated.make:
2624        * WTF.vcxproj/build-generated-files.sh:
2625
26262013-08-21  Alex Christensen  <achristensen@apple.com>
2627
2628        <https://webkit.org/b/120137> Separating Win32 and Win64 builds.
2629
2630        Reviewed by Brent Fulgham.
2631
2632        * WTF.vcxproj/WTFGenerated.make:
2633        Pass PlatformArchitecture as a command line parameter to bash scripts.
2634        * WTF.vcxproj/build-generated-files.sh:
2635        Use PlatformArchitecture from command line to determine which object directory to use (obj32 or obj64).
2636
26372013-08-21  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2638
2639        Disable maybe-uninitialized warning in GCC 4.8
2640        https://bugs.webkit.org/show_bug.cgi?id=119835
2641
2642        Reviewed by Anders Carlsson.
2643
2644        Disable the maybe-uninitialized warning.
2645
2646        * wtf/Compiler.h:
2647
26482013-08-20  Alex Christensen  <achristensen@apple.com>
2649
2650        Use PlatformArchitecture to distinguish between 32-bit and 64-bit builds on Windows.
2651        https://bugs.webkit.org/show_bug.cgi?id=119512
2652
2653        Reviewed by Brent Fulgham.
2654
2655        * WTF.vcxproj/WTFGeneratedCommon.props:
2656        Replaced obj32, bin32, and lib32 with macros for 64-bit build.
2657
26582013-08-20  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
2659
2660        <https://webkit.org/b/120056> [GTK][ARM] enable DFG_JIT
2661
2662        Reviewed by Martin Robinson.
2663
2664        Enable DFG_JIT in GTK+ platform for ARM/Thumb architecture
2665
2666        * wtf/Platform.h:
2667
26682013-08-19  Ryosuke Niwa  <rniwa@webkit.org>
2669
2670        <https://webkit.org/b/120049> Delete code for Snow Leopard
2671
2672        Reviewed by Benjamin Poulain.
2673
2674        * wtf/FastMalloc.cpp:
2675        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2676        * wtf/FeatureDefines.h:
2677        * wtf/Platform.h:
2678
26792013-08-19  Joseph Pecoraro  <pecoraro@apple.com>
2680
2681        <https://webkit.org/b/120036> [iOS] Upstream Source/WTF Xcode project for iOS
2682
2683        Reviewed by David Kilzer.
2684
2685        Include iOS only WebCoreThread.* files in an ios group, and clean up
2686        the included files a bit.
2687
2688        * WTF.xcodeproj/project.pbxproj:
2689        * wtf/ios/WebCoreThread.cpp:
2690        * wtf/ios/WebCoreThread.h:
2691
26922013-08-19  Joseph Pecoraro  <pecoraro@apple.com>
2693
2694        <https://webkit.org/b/119905> [iOS] Upstream Source/WTF
2695
2696        Reviewed by Benjamin Poulain.
2697
2698        Upstream iOS WebKit Source/WTF.
2699
2700        * Configurations/Base.xcconfig:
2701        JavaScriptCore.framework is a public framework.
2702
2703        * wtf/Assertions.h:
2704        Define an export macro for iOS projects just including <wtf/Assertions.h>.
2705
2706        * wtf/Platform.h:
2707        * wtf/FeatureDefines.h:
2708        iOS ENABLE and USE defines.
2709
2710        * wtf/MainThread.h:
2711        * wtf/mac/MainThreadMac.mm:
2712        (WTF::initializeApplicationUIThreadIdentifier):
2713        (WTF::initializeWebThreadIdentifier):
2714        (WTF::canAccessThreadLocalDataForThread):
2715        * wtf/WeakPtr.h:
2716        (WTF::WeakReference::get):
2717        (WTF::WeakReference::clear):
2718        Shared WebThread and MainThread access to thread local data.
2719
2720        * wtf/WTFThreadData.cpp:
2721        (WTF::WTFThreadData::WTFThreadData):
2722        Shared WebThread and MainThread identifier tables.
2723
2724        * wtf/ThreadSpecific.h:
2725        (WTF::::replace):
2726        Used later on so that WebThread can share the MainThread's thread global data.
2727
2728        * wtf/text/StringStatics.cpp:
2729        (WTF::AtomicString::init):
2730        When USE(WEB_THREAD) assert AtomicString::init is initialized on the realMainThread.
2731
2732        * wtf/unicode/CharacterNames.h:
2733        * wtf/unicode/icu/UnicodeIcu.h:
2734        (WTF::Unicode::hasLineBreakingPropertyComplexContextOrIdeographic):
2735        Minor iOS constants and functions used later by WebCore.
2736
27372013-08-16  Arunprasad Rajkumar  <arurajku@cisco.com>
2738
2739        <https://webkit.org/b/119785> Replace currentTime() with monotonicallyIncreasingTime() in WebCore
2740
2741        Reviewed by Alexey Proskuryakov.
2742
2743        WTF::currentTime() is prone to DST changes and NTP adjustments, so use
2744        WTF::monotonicallyIncreasingTime() to measure elapsed time.
2745
2746        * wtf/CurrentTime.h:
2747        (WTF::monotonicallyIncreasingTimeMS): Added mille second version of monotonic time API.
2748
27492013-08-15  Filip Pizlo  <fpizlo@apple.com>
2750
2751        refCount() of a StringImpl could be zero if it's static; in that case we shouldn't report extra memory cost
2752        https://bugs.webkit.org/show_bug.cgi?id=119870
2753
2754        Reviewed by Mark Hahnenberg.
2755
2756        * wtf/text/StringImpl.h:
2757        (WTF::StringImpl::costDuringGC):
2758        (WTF::StringImpl::isStatic):
2759        (WTF::StringImpl::bufferOwnership):
2760
27612013-08-14  Filip Pizlo  <fpizlo@apple.com>
2762
2763        Typed arrays should be rewritten
2764        https://bugs.webkit.org/show_bug.cgi?id=119064
2765
2766        Reviewed by Oliver Hunt.
2767        
2768        - Added the notion of a reference counted object that can be marked Deferred,
2769          which is like a special-purpose upref.
2770        
2771        - Added a common byte flipper.
2772
2773        Automake work courtesy of Zan Dobersek <zdobersek@igalia.com>.
2774
2775        * GNUmakefile.list.am:
2776        * WTF.xcodeproj/project.pbxproj:
2777        * wtf/DeferrableRefCounted.h: Added.
2778        (WTF::DeferrableRefCountedBase::ref):
2779        (WTF::DeferrableRefCountedBase::hasOneRef):
2780        (WTF::DeferrableRefCountedBase::refCount):
2781        (WTF::DeferrableRefCountedBase::isDeferred):
2782        (WTF::DeferrableRefCountedBase::DeferrableRefCountedBase):
2783        (WTF::DeferrableRefCountedBase::~DeferrableRefCountedBase):
2784        (WTF::DeferrableRefCountedBase::derefBase):
2785        (WTF::DeferrableRefCountedBase::setIsDeferredBase):
2786        (WTF::DeferrableRefCounted::deref):
2787        (WTF::DeferrableRefCounted::setIsDeferred):
2788        (WTF::DeferrableRefCounted::DeferrableRefCounted):
2789        (WTF::DeferrableRefCounted::~DeferrableRefCounted):
2790        * wtf/FlipBytes.h: Added.
2791        (WTF::needToFlipBytesIfLittleEndian):
2792        (WTF::flipBytes):
2793        (WTF::flipBytesIfLittleEndian):
2794
27952013-08-14  Julien Brianceau  <jbrianceau@nds.com>
2796
2797        DFG_JIT implementation for sh4 architecture.
2798        https://bugs.webkit.org/show_bug.cgi?id=119737
2799
2800        Reviewed by Oliver Hunt.
2801
2802        * wtf/Platform.h:
2803
28042013-08-13  Arunprasad Rajkumar  <arurajku@cisco.com>
2805
2806        [WTF] [JSC] Replace currentTime() with monotonicallyIncreasingTime() in all possible places
2807        https://bugs.webkit.org/show_bug.cgi?id=119762
2808
2809        Reviewed by Geoffrey Garen.
2810
2811        * wtf/MainThread.cpp:
2812        (WTF::dispatchFunctionsFromMainThread):
2813
28142013-08-12  Ragner Magalhaes  <ranger.n@samsung.com>
2815
2816        Broken build with build-webkit --no-webgl
2817        https://bugs.webkit.org/show_bug.cgi?id=119272
2818
2819        Reviewed by Alexandru Chiculita.
2820
2821        CSS_SHADERS requires WEBGL enabled.
2822        Add error message to dependency failure.
2823
2824        * wtf/FeatureDefines.h:
2825
28262013-08-12  Joseph Pecoraro  <pecoraro@apple.com>
2827
2828        [iOS] isMainThread implementation with USE(WEB_THREAD)
2829        https://bugs.webkit.org/show_bug.cgi?id=119644
2830
2831        Reviewed by Benjamin Poulain.
2832
2833        On iOS isMainThread() means that the current thread is either the
2834        MainThread or WebThread and the current thread has the WebThreadLock.
2835
2836        * wtf/ios/WebCoreThread.cpp: Added.
2837        * wtf/ios/WebCoreThread.h: Added.
2838        * wtf/mac/MainThreadMac.mm:
2839        (WTF::isMainThread):
2840
28412013-08-11  Carlos Garcia Campos  <cgarcia@igalia.com>
2842
2843        Unreviewed. Fix make distcheck.
2844
2845        * GNUmakefile.list.am: Add missing header file.
2846
28472013-08-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2848
2849        Make atob() throw an InvalidCharacterError on excess padding characters
2850        https://bugs.webkit.org/show_bug.cgi?id=118898
2851
2852        Reviewed by Darin Adler.
2853
2854        Add a Base64FailOnInvalidCharacterOrExcessPadding value to the Base64DecodePolicy
2855        enumeration so that the caller can request strict padding validation in addition
2856        to strict character validation. This is needed so that we can use
2857        WTF::base64Decode() for window.atob().
2858
2859        * wtf/text/Base64.cpp:
2860        (WTF::base64DecodeInternal):
2861        * wtf/text/Base64.h:
2862
28632013-08-07  Alex Christensen  <achristensen@apple.com>
2864
2865        Fixed wrong definition for AppleWin port's WebGL after r153768.
2866
2867        Rubberstamped by Benjamin Poulain.
2868
2869        * wtf/Platform.h: Replaced WTF_USE_SURFACE with WTF_USE_GRAPHICS_SURFACE.
2870
28712013-08-04  Sam Weinig  <sam@webkit.org>
2872
2873        Remove support for HTML5 MicroData
2874        https://bugs.webkit.org/show_bug.cgi?id=119480
2875
2876        Reviewed by Anders Carlsson.
2877
2878        * wtf/FeatureDefines.h:
2879
28802013-08-06  Alex Christensen  <achristensen@apple.com>
2881
2882        Enabled WebGL on WinCairo port.
2883        https://bugs.webkit.org/show_bug.cgi?id=119502
2884
2885        Reviewed by Benjamin Poulain.
2886
2887        * wtf/FeatureDefines.h: Enabled WebGL.
2888        * wtf/Platform.h: Added definitions required for WebGL on Windows.
2889
28902013-08-05  Mark Rowe  <mrowe@apple.com>
2891
2892        <rdar://problem/5927399> FastMalloc should support MallocStackLogging
2893
2894        Call the malloc stack logging function from within the various entry points to FastMalloc
2895        when stack logging is enabled.
2896
2897        Reviewed by Oliver Hunt and Geoff Garen.
2898
2899        * wtf/FastMalloc.cpp:
2900        Call in to MallocHook::InvokeNewHook / MallocHook::InvokeDeleteHook at the appropriate entry
2901        points to FastMalloc. The naming comes from TCMalloc's existing, unused concept of malloc hooks.
2902        (WTF::MallocHook::record): Call the stack logging function with appropriate argument types.
2903        (WTF::MallocHook::recordAllocation): Out-of-line slow path for when stack logging is enabled
2904        that calls record with the values in the right arguments.
2905        (WTF::MallocHook::recordDeallocation): Ditto.
2906        (WTF::MallocHook::init): Stack logging is enabled if the system allocator has enabled stack logging.
2907        (WTF::MallocHook::InvokeNewHook): Call recordAllocation in the unlikely event that stack logging is
2908        enabled.
2909        (WTF::MallocHook::InvokeDeleteHook): Ditto for recordDeallocation.
2910        (WTF::TCMalloc_ThreadCache::InitModule): Initialize the malloc hook.
2911
29122013-08-06  Brent Fulgham  <bfulgham@apple.com>
2913
2914        [Windows] Unreviewed build correction after r153754 and r153757.
2915
2916        * wtf/MathExtras.h:
2917        (remainder): Provide implementation of C99 remainder for VS2010 (and earlier).
2918
29192013-07-23  David Farler  <dfarler@apple.com> 
2920        Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
2921        https://bugs.webkit.org/show_bug.cgi?id=117762
2922
2923        Reviewed by Mark Rowe.
2924
2925        * Configurations/DebugRelease.xcconfig:
2926        Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS.
2927
29282013-08-05  Mark Rowe  <mrowe@apple.com>
2929
2930        Build fix for Qt Windows.
2931
2932        * wtf/Assertions.cpp: Include StringExtras.h rather than StdLibExtras.h, since the former is where
2933        strncasecmp is declared.
2934
29352013-07-26  Mark Rowe  <mrowe@apple.com>
2936
2937        Logging should be configurable using human-readable channel names rather than crazy bitmasks
2938        <http://webkit.org/b/119031>
2939
2940        Implement shared logic for initializing logging channels based on human-readable channel names in WTF,
2941        and rework the WebCore, WebKit and WebKit2 logging initialization on top of it.
2942
2943        Logging channels may now be enabled by providing a comma-separated list of channel names, with the special
2944        "all" name enabling all channels. Channel names prefixed with a leading "-" will result in the named channel
2945        being disabled. For instance, specifying "all,-history,-loading" will result in all logging channels except
2946        for history and loading being enabled.
2947
2948        For OS X developers, this also changes the name of the user defaults used to enable logging. This is done to allow
2949        the old user defaults to remain set for those people that need to switch between version of WebKit before and
2950        after this change. Where the old user default keys were WebCoreLogLevel, WebKitLogLevel and WebKit2LogLevel,
2951        the new user default keys are WebCoreLogging, WebKitLogging and WebKit2Logging.
2952
2953        For GTK developers, this changes the separator used in the WEBKIT_DEBUG environment variable to a comma for
2954        consistency with the other platforms and to enable more code sharing.
2955
2956        While doing this work I've also taken the opportunity to eliminate the need to touch multiple files when
2957        adding a new logging channel. Now only the header in the relevant project needs to be updated.
2958
2959        Reviewed by Sam Weinig.
2960
2961        * wtf/Assertions.cpp:
2962        (WTFLogChannelByName): Iterate over the provided array of log channels, returning the first whose name
2963        matches case-insensitively.
2964        (setStateOfAllChannels): Helper function to set the state of all channels to a single value.
2965        (WTFInitializeLogChannelStatesFromString): Parse a string containing a case-insensitive, comma-separated list
2966        of channel names to enable or disable, with the latter being prefixed by a "-".
2967        * wtf/Assertions.h: Update the layout of WTFLogChannel to include only the state of the channel and its name.
2968        Declare WTFLogChannelByName and WTFInitializeLogChannelStatesFromString.
2969        * wtf/RefCountedLeakCounter.cpp: Update to the new format of WTFLogChannel.
2970
29712013-08-05  Benjamin Poulain  <bpoulain@apple.com>
2972
2973        Disable <meter> by default on iOS, it is enabled through the xconfig files
2974        https://bugs.webkit.org/show_bug.cgi?id=119503
2975
2976        Reviewed by Alexey Proskuryakov.
2977
2978        * wtf/FeatureDefines.h:
2979
29802013-08-05  Oliver Hunt  <oliver@apple.com>
2981
2982        Move TypedArray implementation into JSC
2983        https://bugs.webkit.org/show_bug.cgi?id=119489
2984
2985        Reviewed by Filip Pizlo.
2986
2987        Remove TypedArray implementation from WTF
2988
2989        * GNUmakefile.list.am:
2990        * WTF.xcodeproj/project.pbxproj:
2991        * wtf/Forward.h:
2992
29932013-08-02  Benjamin Poulain  <benjamin@webkit.org>
2994
2995        Remove a bunch of redundant checks for empty string in StringImpl
2996        https://bugs.webkit.org/show_bug.cgi?id=118768
2997
2998        Reviewed by Ryosuke Niwa.
2999
3000        The first thing done by createUninitialized() is check if the length passed
3001        is zero. Internally, there are many cases for which we know the check will never succeed.
3002
3003        Clang is usually really smart for those kind of things, but there are a few cases where
3004        the condition to avoid returning empty() is not simply a check for the length.
3005        This patch adds an internal initializer to deal with that.
3006
3007        * wtf/text/StringImpl.cpp:
3008        (WTF::StringImpl::createUninitializedInternal):
3009        (WTF::StringImpl::createUninitializedInternalNonEmpty):
3010        (WTF::StringImpl::createInternal): Create internal has a special case for null pointer
3011        for the characters. The test also check length, the second check for length cannot fail.
3012        (WTF::StringImpl::create8BitIfPossible): ditto.
3013        (WTF::StringImpl::lower): 3 of the calls cannot be reached for empty length. On an empty length,
3014        the test for (noUpper && !(ored & ~0x7F)) would have caused the function to return "this".
3015
3016        For the last createUninitialized(), there is no guarantee the realLength is not zero.
3017
3018        (WTF::StringImpl::replace): The first thing we do in replace(UChar,UChar) is check if there is anything
3019        to replace. The check for length will never succeed as there must be a character to replace at that point.
3020        * wtf/text/StringImpl.h:
3021
30222013-08-02  Mark Lam  <mark.lam@apple.com>
3023
3024        Gardening: Touched a line in Platform.h to get all bots to do a clean build.
3025
3026        Not reviewed.
3027
3028        * wtf/Platform.h:
3029
30302013-08-02  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3031
3032        Check WTF::Vector size with '0' inline capacity
3033        https://bugs.webkit.org/show_bug.cgi?id=119397
3034
3035        Reviewed by Andreas Kling.
3036
3037        Putting in place the compile assertion that had been removed with r153514.
3038
3039        * wtf/SizeLimits.cpp:
3040
30412013-07-26  Mark Rowe  <mrowe@apple.com>
3042
3043        <http://webkit.org/b/119169> RetainPtr should support ARC for Objective-C objects.
3044
3045        While RetainPtr is not necessary under ARC, having it available makes it easier to transition
3046        existing code from manual retain / release to ARC.
3047
3048        Under ARC, the object member of RetainPtr is treated as a strong reference by the compiler.
3049        This means that merely assigning to the member variable is sufficient to retain the object,
3050        and clearing the member variable is sufficient to release it. We still need to explicitly
3051        CFRetain / CFRelease CoreFoundation types so the explicit calls to these functions are
3052        moved in to helper functions and overloading is used to have the Objective-C object versions
3053        of them be no-ops under ARC.
3054
3055        Reviewed by Anders Carlsson.
3056
3057        * wtf/RetainPtr.h:
3058        (WTF::retain): Continue to always CFRetain / CFRelease CoreFoundation objects. Only CFRetain / CFRelease
3059        Objective-C objects when using manual retain / release.
3060        (WTF::release): Ditto.
3061        (WTF::adoptNSReference): Adopting references will be handled automatically by the compiler
3062        when possible under ARC by eliminating redundant retain / release pairs.
3063        (WTF::RetainPtr::ImplicitConversionToBoolIsNotAllowed): A new method that exists only to be used by the
3064        conversion to the unspecified bool type.
3065        (WTF::RetainPtr::operator UnspecifiedBoolType): Switch to using a pointer to a member function as the
3066        unspecified bool type to avoid warnings from the compiler when casting Objective-C object types under ARC.
3067
3068        (WTF::RetainPtr::RetainPtr): Switch to our retain / release helper functions.
3069        (WTF::RetainPtr::~RetainPtr): Ditto.
3070        (WTF::::RetainPtr): Ditto.
3071        (WTF::::clear): Ditto.
3072        (WTF::=): Ditto.
3073        (WTF::adoptCF): Annotate the argument with CF_RELEASES_ARGUMENT on both the declaration and the definition.
3074        (WTF::adoptNS): Ditto for NS_RELEASES_ARGUMENT.
3075
30762013-08-01  Mark Rowe  <mrowe@apple.com>
3077
3078        <rdar://problem/14235491> FastMalloc zone enumerator responding to MALLOC_PTR_REGION_RANGE_TYPE with individual allocations
3079
3080        Teach PageMapMemoryUsageRecorder::recordPendingRegions to only record data of the type that it's asked for.
3081        This also fixes the vmmap output to associate some regions with the FastMalloc malloc zone that were previously
3082        associated with it only via the VM tag, meaning they were incorrectly being omitted from the malloc statistics
3083        section of the report.
3084
3085        Reviewed by Dan Bernstein.
3086
3087        * wtf/FastMalloc.cpp:
3088        (WTF::PageMapMemoryUsageRecorder::recordPendingRegions): Report the individual allocations only when requested. Add
3089        the ability to report the regions containing pointers separately from the allocations.
3090
30912013-08-01  Mark Rowe  <mrowe@apple.com>
3092
3093        <rdar://problem/14528244> False-positive leaks from FastMalloc.
3094
3095        A logic error in the page map enumeration code within FastMalloc could result in a subset of the memory regions
3096        owned by FastMalloc being skipped by the malloc zone enumeration code used by leaks and other performance tools.
3097        If the only reference to an allocated object lived within one of the skipped memory regions, leaks would believe
3098        it had been leaked since it would not find any references to the object.
3099
3100        The logic error manifested when a FastMalloc span owned a region of memory that crossed a 16MB address space boundary,
3101        and when there was one or more other spans immediately after it in the address space. Crossing the 16MB address space
3102        boundary means that the start and end points of the span are in different leaf nodes of the page map trie, and the
3103        code within the page map's visitValues method didn't correctly account this case when skipping to the end of the span
3104        after visiting it. It would resume iterating from the start of the next leaf node rather than continuing to skip values
3105        until the end of the span was passed. The value representing the end of the span would then be processed as if it were
3106        the start of a new span, and more values would be skipped even though they may contain actual spans.
3107
3108        The solution is to rework the algorithm used in visitValues so that it will skip the correct number of values even when
3109        some of the values are in different leaf nodes. This is a more involved change than it may seem since it's also necessary
3110        to deal with the case where a memory region spans two separate root nodes, which can happen if the region happens to cross
3111        a 64GB boundary in the address space.
3112
3113        Reviewed by Geoff Garen.
3114
3115        * wtf/TCPageMap.h:
3116        (TCMalloc_PageMap3::visitValues): Use a single loop to iterate, with the loop index being the key in to the page map in the
3117        same form as used by get and set. This allows us to correctly deal with the index being skipped to a different intermediate or
3118        root node as a result of visiting a span that crosses a 16MB boundary in memory.
3119        (TCMalloc_PageMap2::visitValues): Ditto, but without having to deal with intermediate nodes.
3120
31212013-08-01  Ruth Fong  <ruth_fong@apple.com>
3122
3123        [Forms: color] <input type='color'> popover color well implementation
3124        <rdar://problem/14411008> and https://bugs.webkit.org/show_bug.cgi?id=119356
3125
3126        Reviewed by Benjamin Poulain.
3127
3128        * wtf/FeatureDefines.h: Added and enabled INPUT_TYPE_COLOR_POPOVER.
3129
31302013-08-01  Simon Fraser  <simon.fraser@apple.com>
3131
3132        REGRESSION(r145592): AutodrainedPool.h. RunLoopTimer.h, SchedulePair.h are being copied into the wrong location
3133        https://bugs.webkit.org/show_bug.cgi?id=112833
3134
3135        Reviewed by Sam Weinig.
3136        
3137        AutodrainedPool.h and SchedulePair.h should just be project headers, not
3138        private headers, so they get copied into <build dir>/usr/local/include/wtf
3139        not <build dir>/usr/local/include
3140
3141        * WTF.xcodeproj/project.pbxproj:
3142
31432013-07-31  Ruth Fong  <ruth_fong@apple.com>
3144
3145        <input type=color> Mac UI behaviour
3146        <rdar://problem/10269922> and https://bugs.webkit.org/show_bug.cgi?id=61276
3147
3148        Reviewed by Brady Eidson.
3149
3150        * wtf/FeatureDefines.h: Enabled INPUT_TYPE_COLOR on Mac port.
3151
31522013-07-31  Andreas Kling  <akling@apple.com>
3153
3154        Shrink Vectors with inline capacity.
3155        <http://webkit.org/b/119295>
3156        <rdar://problem/14598360>
3157
3158        Reviewed by Anders Carlsson.
3159
3160        Pack Vector::m_size next to VectorBufferBase::m_capacity so there's no space wasted
3161        on padding when sizeof(T) >= 8. Since m_size is not conceptually part of the buffer,
3162        I just using'ed it into Vector.
3163
3164        * wtf/SizeLimits.cpp:
3165        * wtf/Vector.h:
3166        (WTF::VectorBufferBase::VectorBufferBase):
3167        (WTF::VectorBuffer::VectorBuffer):
3168        (WTF::Vector::Vector):
3169        (WTF::::Vector):
3170
31712013-07-30  Patrick Gansterer  <paroga@webkit.org>
3172
3173        Move WindowsExtras.h from WebCore to WTF
3174        https://bugs.webkit.org/show_bug.cgi?id=118125
3175
3176        Reviewed by Anders Carlsson.
3177
3178        Move it to WTF to be able to use the functions in WTF too.
3179
3180        * wtf/WindowsExtras.h: Renamed from Source/WebCore/platform/win/WindowsExtras.h.
3181        (WTF::getRegistryValue):
3182        (WTF::getWindowPointer):
3183        (WTF::setWindowPointer):
3184        * wtf/win/MainThreadWin.cpp:
3185        (WTF::initializeMainThreadPlatform):
3186
31872013-07-29  Carlos Garcia Campos  <cgarcia@igalia.com>
3188
3189        Unreviewed. Fix make distcheck.
3190
3191        * GNUmakefile.list.am: Add missing files to compilation.
3192
31932013-07-29  Mark Rowe  <mrowe@apple.com>
3194
3195        <rdar://problem/14528244> Tons of FastMalloc leaks reported by leaks of objects that have already been deallocated
3196
3197        Reviewed by Sam Weinig.
3198
3199        * wtf/FastMalloc.cpp:
3200        (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): Mark objects in the transfer cache as being free.
3201
32022013-07-29  Zan Dobersek  <zdobersek@igalia.com>
3203
3204        Reintroduce convenience CheckedInt*, CheckedUint* types
3205        https://bugs.webkit.org/show_bug.cgi?id=119213
3206
3207        Reviewed by Oliver Hunt.
3208
3209        Reintroduce CheckedInt* and CheckedUint* types that were previously provided for convenience
3210        through the CheckedInt header that was removed in r153095. The types are now based on the
3211        Checked class, using the RecordOverflow class as the overflow handler.
3212
3213        * wtf/CheckedArithmetic.h:
3214
32152013-07-27  Ryosuke Niwa  <rniwa@webkit.org>
3216
3217        REGRESSION(r153380): Can't open messages on Gmail
3218        https://bugs.webkit.org/show_bug.cgi?id=119165
3219
3220        Reviewed by Andreas Kling.
3221
3222        This bug was caused by r153380. The bug doesn't reproduce as long as WebKit is built by clang 4.2 and later
3223        or final is disabled (it could be clang 4.1 and later but we don't have information about that).
3224
3225        Fix the bug by disabling final on earlier versions of clang. Unfortunately we can only check versions of
3226        Apple clang since __clang_major__ and __clang_minor__ are vendor dependent.
3227
3228        * wtf/Compiler.h:
3229
32302013-07-26  Oliver Hunt <oliver@apple.com>
3231
3232        ASSERT failure in wtf/CheckedBoolean.h line 43 on Windows
3233        https://bugs.webkit.org/show_bug.cgi?id=119170
3234
3235        Reviewed by Michael Saboff.
3236
3237        Added a copy constructor to CheckedBoolean.
3238
3239        * wtf/CheckedBoolean.h:
3240        (CheckedBoolean::CheckedBoolean):
3241
32422013-07-25  Brent Fulgham  <bfulgham@apple.com>
3243
3244        [Windows] Unreviewed build fix.
3245
3246        * WTF.vcxproj/WTF.vcxproj: Add missing SixCharacterHash.h,.cpp files.
3247        * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
3248        * wtf/NumberOfCores.h: Add export macro to numberOfProcessorCores.
3249        * wtf/PrintStream.h: Add export macro to dumpCharacter.
3250        * wtf/SixCharacterHash.h: Add export macro to sixCharacterHashStringToInteger
3251        and integerToSixCharacterHashString.
3252        * wtf/text/CString.h: Add export macro to hash and equal methods.
3253        (WTF::CStringHash::hash): Add export macro.
3254
32552013-07-25  peavo@outlook.com  <peavo@outlook.com>
3256
3257        [Windows] Provide ASM implemenation of 8-bit compare-and-swap
3258        https://bugs.webkit.org/show_bug.cgi?id=119084
3259
3260        Reviewed by Brent Fulgham.
3261
3262        * wtf/Atomics.h:
3263        (WTF::weakCompareAndSwap): Add a 32-bit X86 Assembly path for
3264        Windows build.
3265
32662013-07-25  Brent Fulgham  <bfulgham@apple.com>
3267
3268        [Windows] Unreviewed build fix.
3269
3270        * WTF.vcxproj/WTF.vcxproj: Add missing CompilationThread.h,.cpp
3271        * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
3272
32732013-07-25  Michael Brüning  <michael.bruning@digia.com>
3274
3275        Fix Windows build after r153134.
3276        https://bugs.webkit.org/show_bug.cgi?id=119090
3277
3278        Reviewed by Oliver Hunt.
3279
3280        Add USE(PTHREADS) guards around pthread specific code
3281        for now. This will cause isCompilationThread to always
3282        return false on non pthread platforms such as Windows.
3283
3284        We might be able to use the Windows one-time initialization
3285        for this, but this is only available from Windows Vista on.
3286
3287        * wtf/CompilationThread.cpp:
3288        (WTF::initializeCompilationThreads):
3289
32902013-07-25  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3291
3292        Fix windows build after FTL upstream
3293
3294        Unreviewed build fix.
3295
3296        * wtf/Atomics.h:
3297        (WTF::weakCompareAndSwap):
3298
32992013-07-25  Ryuan Choi  <ryuan.choi@samsung.com>
3300
3301        Unreviewed, build fix on the EFL port.
3302
3303        * wtf/CMakeLists.txt: Added SixCharacterHash.cpp
3304
33052013-07-25  Gabor Rapcsanyi  <rgabor@webkit.org>
3306
3307        Unreviewed, build fix on the Qt port.
3308
3309        * WTF.pro: Add additional build files for the FTL.
3310
33112013-07-25  Zan Dobersek  <zdobersek@igalia.com>
3312
3313        Unreviewed, further GTK build fixing.
3314
3315        * GNUmakefile.am: Make libWTF.la depend on any changes made to the build targets list.
3316        * GNUmakefile.list.am: Add SixCharacterHash source files to the build.
3317
33182013-07-25  Csaba Osztrogonác  <ossy@webkit.org>
3319
3320        [GTK] Similar fix to r153304.
3321
3322        * GNUmakefile.list.am:
3323
33242013-07-25  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3325
3326        Build break in debug after r153134: StringImpl.h:640: undefined reference to `WTF::isCompilationThread()
3327        https://bugs.webkit.org/show_bug.cgi?id=119077
3328
3329        Reviewed by Christophe Dumez.
3330
3331        * wtf/CMakeLists.txt:
3332        Added CompilationThread.{h/cpp}.
3333
33342013-07-24  Filip Pizlo  <fpizlo@apple.com>
3335
3336        fourthTier: DFG IR dumps should be easier to read
3337        https://bugs.webkit.org/show_bug.cgi?id=119050
3338
3339        Reviewed by Mark Hahnenberg.
3340        
3341        Added support for dumping values within a context. By default, if you say
3342        print(inContext(value, context)) it calls value.dumpInContext(out, context)
3343        instead of value.dump(out).
3344        
3345        Hoisted the support for six-character hashes out of JSC::CodeBlockHash into
3346        WTF, in the form of SixCharacterHash.h.
3347        
3348        Added a helper for creating dump contexts where the inContext() dump will
3349        just use a short string hash to "name" the object being dumped, and then
3350        will print out the full dumps in an endnote to your dump.
3351        
3352        Added support for using CString as a hashtable key.
3353
3354        * WTF.xcodeproj/project.pbxproj:
3355        * wtf/PrintStream.h:
3356        (WTF):
3357        (ValueInContext):
3358        (WTF::ValueInContext::ValueInContext):
3359        (WTF::ValueInContext::dump):
3360        (WTF::inContext):
3361        * wtf/SixCharacterHash.cpp: Added.
3362        (WTF):
3363        (WTF::sixCharacterHashStringToInteger):
3364        (WTF::integerToSixCharacterHashString):
3365        * wtf/SixCharacterHash.h: Added.
3366        (WTF):
3367        * wtf/StringHashDumpContext.h: Added.
3368        (WTF):
3369        (StringHashDumpContext):
3370        (WTF::StringHashDumpContext::StringHashDumpContext):
3371        (WTF::StringHashDumpContext::getID):
3372        (WTF::StringHashDumpContext::dumpBrief):
3373        (WTF::StringHashDumpContext::brief):
3374        (WTF::StringHashDumpContext::isEmpty):
3375        (WTF::StringHashDumpContext::dump):
3376        * wtf/text/CString.cpp:
3377        (WTF::CString::hash):
3378        (WTF):
3379        (WTF::operator<):
3380        (WTF::CStringHash::equal):
3381        * wtf/text/CString.h:
3382        (WTF::CString::CString):
3383        (CString):
3384        (WTF::CString::isHashTableDeletedValue):
3385        (WTF):
3386        (WTF::CStringHash::hash):
3387        (CStringHash):
3388
33892013-07-21  Filip Pizlo  <fpizlo@apple.com>
3390
3391        fourthTier: DFG Nodes should be able to abstractly tell you what they read and what they write
3392        https://bugs.webkit.org/show_bug.cgi?id=118910
3393
3394        Reviewed by Sam Weinig.
3395        
3396        Fix compile goof in sortedListDump().
3397
3398        * wtf/ListDump.h:
3399        (WTF::sortedListDump):
3400
34012013-07-16  Filip Pizlo  <fpizlo@apple.com>
3402
3403        fourthTier: NaturalLoops should be able to quickly answer questions like "what loops own this basic block"
3404        https://bugs.webkit.org/show_bug.cgi?id=118750
3405
3406        Reviewed by Mark Hahnenberg.
3407        
3408        Add a utility function for inserting an element into a vector that has bounded size,
3409        and where the insertion causes things to drop off the end.
3410
3411        * wtf/StdLibExtras.h:
3412        (WTF):
3413        (WTF::insertIntoBoundedVector):
3414
34152013-07-12  Filip Pizlo  <fpizlo@apple.com>
3416
3417        fourthTier: DFG should have an SSA form for use by FTL
3418        https://bugs.webkit.org/show_bug.cgi?id=118338
3419
3420        Reviewed by Mark Hahnenberg.
3421        
3422        - Extend variadicity of PrintStream and dataLog.
3423        
3424        - Give HashSet the ability to add a span of things.
3425        
3426        - Give HashSet the ability to == another HashSet.
3427        
3428        - Note FIXME's in HashTable concerning copying performance, that affects
3429          the way that the DFG now uses HashSets and HashMaps.
3430        
3431        - Factor out the bulk-insertion logic of JSC::DFG::InsertionSet into
3432          WTF::Insertion, so that it can be used in more places.
3433        
3434        - Create a dumper for lists and maps.
3435
3436        * WTF.xcodeproj/project.pbxproj:
3437        * wtf/DataLog.h:
3438        (WTF):
3439        (WTF::dataLog):
3440        * wtf/HashSet.h:
3441        (HashSet):
3442        (WTF):
3443        (WTF::::add):
3444        (WTF::=):
3445        * wtf/HashTable.h:
3446        (WTF::::HashTable):
3447        (WTF::=):
3448        * wtf/Insertion.h: Added.
3449        (WTF):
3450        (Insertion):
3451        (WTF::Insertion::Insertion):
3452        (WTF::Insertion::index):
3453        (WTF::Insertion::element):
3454        (WTF::Insertion::operator<):
3455        (WTF::executeInsertions):
3456        * wtf/ListDump.h: Added.
3457        (WTF):
3458        (ListDump):
3459        (WTF::ListDump::ListDump):
3460        (WTF::ListDump::dump):
3461        (MapDump):
3462        (WTF::MapDump::MapDump):
3463        (WTF::MapDump::dump):
3464        (WTF::listDump):
3465        (WTF::sortedListDump):
3466        (WTF::lessThan):
3467        (WTF::mapDump):
3468        (WTF::sortedMapDump):
3469        * wtf/PrintStream.h:
3470        (PrintStream):
3471        (WTF::PrintStream::print):
3472
34732013-07-02  Filip Pizlo  <fpizlo@apple.com>
3474
3475        Unreviewed, fix 32-bit build.
3476
3477        * wtf/Platform.h:
3478
34792013-07-02  Filip Pizlo  <fpizlo@apple.com>
3480
3481        fourthTier: FTL should use the equivalent of llvm opt -O2 by default
3482        https://bugs.webkit.org/show_bug.cgi?id=118311
3483
3484        Reviewed by Mark Hahnenberg.
3485        
3486        * wtf/LLVMHeaders.h:
3487
34882013-06-27  Filip Pizlo  <fpizlo@apple.com>
3489
3490        fourthTier: JSC's disassembly infrastructure should be able to disassemble the code that LLVM generates
3491        https://bugs.webkit.org/show_bug.cgi?id=118148
3492
3493        Reviewed by Anders Carlsson.
3494        
3495        We now use LLVM for two things: disassembler and FTL. Separate out the question
3496        of whether we have LLVM (HAVE(LLVM)) from whether we want to use the LLVM
3497        disassembler (USE(LLVM_DISASSEMBLER)) and whether we enable the FTL
3498        (ENABLE(FTL_JIT)).
3499        
3500        Also move the cruft for including LLVM headers into WTF since now we use it in
3501        a bunch of places, not all related to FTL. There's no obvious place to put that
3502        file in JSC so I put it in WTF.
3503
3504        * WTF.xcodeproj/project.pbxproj:
3505        * wtf/LLVMHeaders.h: Copied from Source/JavaScriptCore/ftl/FTLLLVMHeaders.h.
3506        * wtf/Platform.h:
3507
35082013-06-25  Filip Pizlo  <fpizlo@apple.com>
3509
3510        fourthTier: DFG should support switch_string
3511        https://bugs.webkit.org/show_bug.cgi?id=117967
3512
3513        Reviewed by Sam Weinig.
3514        
3515        Make it possible to compare a RefPtr<StringImpl> and a StringImpl* without
3516        having to ref the StringImpl.
3517
3518        * wtf/text/StringHash.h:
3519        (WTF::StringHash::equal):
3520
35212013-06-24  Filip Pizlo  <fpizlo@apple.com>
3522
3523        fourthTier: Count external memory usage towards heap footprint
3524        https://bugs.webkit.org/show_bug.cgi?id=117948
3525
3526        Reviewed by Geoffrey Garen.
3527
3528        Expose some functionality needed for properly measuring StringImpl footprint.
3529
3530        * wtf/Atomics.h:
3531        (WTF::weakCompareAndSwapSize):
3532        (WTF):
3533        * wtf/MathExtras.h:
3534        (divideRoundedUp):
3535        * wtf/text/StringImpl.h:
3536        (WTF::StringImpl::cost):
3537        (StringImpl):
3538        (WTF::StringImpl::costDuringGC):
3539        (WTF::StringImpl::refCount):
3540
35412013-06-23  Filip Pizlo  <fpizlo@apple.com>
3542
3543        fourthTier: DFG should optimize identifier string equality
3544        https://bugs.webkit.org/show_bug.cgi?id=117920
3545
3546        Reviewed by Sam Weinig.
3547
3548        Note that this ChangeLog was supposed to be committed in r151890.
3549        
3550        Expose the IsIdentifier bit to the JIT.
3551        
3552        * wtf/text/StringImpl.h:
3553        (WTF::StringImpl::flagIsIdentifier):
3554
35552013-06-18  Filip Pizlo  <fpizlo@apple.com>
3556
3557        fourthTier: DFG should have switch_char
3558        https://bugs.webkit.org/show_bug.cgi?id=117710
3559
3560        Reviewed by Michael Saboff.
3561        
3562        I wanted to be able to say stringImpl->at(index), and now I can!
3563
3564        Also made it possible to convert a UChar to a utf8 CString without
3565        allocating a StringImpl.
3566
3567        * wtf/text/StringImpl.cpp:
3568        (WTF::StringImpl::utf8Impl):
3569        (WTF):
3570        (WTF::StringImpl::utf8ForCharacters):
3571        (WTF::StringImpl::utf8ForRange):
3572        * wtf/text/StringImpl.h:
3573        (StringImpl):
3574        (WTF::StringImpl::at):
3575        (WTF::StringImpl::operator[]):
3576
35772013-06-15  Filip Pizlo  <fpizlo@apple.com>
3578
3579        fourthTier: Add CFG simplification for Switch
3580        https://bugs.webkit.org/show_bug.cgi?id=117677
3581
3582        Reviewed by Mark Hahnenberg.
3583
3584        * wtf/TriState.h:
3585        * wtf/text/StringImpl.h:
3586
35872013-06-15  Filip Pizlo  <fpizlo@apple.com>
3588
3589        Printing a StringImpl* should really guard against NULL
3590        https://bugs.webkit.org/show_bug.cgi?id=117675
3591
3592        Reviewed by Mark Hahnenberg.
3593
3594        * wtf/PrintStream.cpp:
3595        (WTF::printInternal):
3596
35972013-06-11  Filip Pizlo  <fpizlo@apple.com>
3598
3599        fourthTier: DFG should support op_in and it should use patching to make it fast
3600        https://bugs.webkit.org/show_bug.cgi?id=117385
3601
3602        Reviewed by Geoffrey Garen.
3603        
3604        Now if you pass a null StringImpl* then something will still get printed instead
3605        of crashing. I figure that this is broadly useful for debug code, and I make use
3606        of it in the JSC portion of this patch.
3607
3608        * wtf/PrintStream.cpp:
3609        (WTF::printInternal):
3610
36112013-06-09  Filip Pizlo  <fpizlo@apple.com>
3612
3613        Unreviewed, fix build. On some compilers the automatic coercion from WTF::String to NSString*
3614        causes operator[] to appear ambiguous. One way around this is to make WTF::String behave like
3615        most of our other classes: at(unsigned) is always a valid synonym for operator[](unsigned).
3616
3617        * wtf/text/WTFString.h:
3618        (WTF::String::at):
3619        (WTF::String::operator[]):
3620
36212013-06-08  Filip Pizlo  <fpizlo@apple.com>
3622
3623        fourthTier: Recursive deadlock in DFG::ByteCodeParser
3624        https://bugs.webkit.org/show_bug.cgi?id=117376
3625
3626        Reviewed by Mark Hahnenberg.
3627        
3628        I've often wanted to leave a lock early. Now I have that power!
3629
3630        * wtf/Locker.h:
3631        (WTF::Locker::Locker):
3632        (WTF::Locker::~Locker):
3633        (Locker):
3634        (WTF::Locker::unlockEarly):
3635        (WTF::Locker::lock):
3636
36372013-05-27  Filip Pizlo  <fpizlo@apple.com>
3638
3639        It should be possible to record heap operations (both FastMalloc and JSC GC)
3640        https://bugs.webkit.org/show_bug.cgi?id=116848
3641
3642        Reviewed by Mark Hahnenberg.
3643
3644        * WTF.xcodeproj/project.pbxproj:
3645        * wtf/DataLog.cpp:
3646        (WTF):
3647        (WTF::initializeLogFileOnce):
3648        * wtf/FastMalloc.cpp:
3649        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3650        * wtf/Platform.h:
3651
36522013-05-21  Filip Pizlo  <fpizlo@apple.com>
3653
3654        fourthTier: DFG should be able to run on a separate thread
3655        https://bugs.webkit.org/show_bug.cgi?id=112839
3656
3657        Reviewed by Geoffrey Garen.
3658        
3659        * wtf/ByteSpinLock.h:
3660        Make it non-copyable. We previously had bugs where we used ByteSpinLock as a locker.
3661        Clearly that's bad.
3662
3663        * wtf/MetaAllocatorHandle.h:
3664        Make it thread-safe ref-counted, since we may now be passing them between the
3665        concurrent JIT thread and the main thread.
3666
3667        * wtf/Vector.h:
3668        (WTF::Vector::takeLast):
3669        I've wanted this method for ages, and now I finally added.
3670
36712013-04-30  Filip Pizlo  <fpizlo@apple.com>
3672
3673        fourthTier: DFG tries to ref/deref StringImpls in a ton of places
3674        https://bugs.webkit.org/show_bug.cgi?id=115300
3675
3676        Reviewed by Geoffrey Garen.
3677        
3678        Make it possible to do more things directly to StringImpl*'s, including being
3679        able to directly do utf8 conversion on a substring without creating the
3680        substring first.
3681        
3682        Add assertions to StringImpl that it isn't being ref/deref'd from the
3683        compilation thread.
3684
3685        * wtf/PrintStream.cpp:
3686        (WTF::printInternal):
3687        (WTF):
3688        * wtf/PrintStream.h:
3689        (WTF):
3690        (WTF::printInternal):
3691        * wtf/StringPrintStream.h:
3692        (WTF):
3693        (WTF::toCString):
3694        * wtf/text/StringImpl.cpp:
3695        (WTF::StringImpl::utf8ForRange):
3696        (WTF::StringImpl::utf8):
3697        (WTF):
3698        * wtf/text/StringImpl.h:
3699        (StringImpl):
3700        (WTF::StringImpl::hasAtLeastOneRef):
3701        (WTF::StringImpl::ref):
3702        (WTF::StringImpl::deref):
3703
37042013-04-29  Filip Pizlo  <fpizlo@apple.com>
3705
3706        fourthTier: String::utf8() should also be available as StringImpl::utf8() so that you don't have to ref() a StringImpl just to get its utf8()
3707        https://bugs.webkit.org/show_bug.cgi?id=115393
3708
3709        Reviewed by Geoffrey Garen.
3710
3711        * WTF.xcodeproj/project.pbxproj:
3712        * wtf/text/ConversionMode.h: Added.
3713        (WTF):
3714        * wtf/text/StringImpl.cpp:
3715        (WTF):
3716        (WTF::putUTF8Triple):
3717        (WTF::StringImpl::utf8):
3718        * wtf/text/StringImpl.h:
3719        (StringImpl):
3720        * wtf/text/WTFString.cpp:
3721        (WTF):
3722        (WTF::String::utf8):
3723        * wtf/text/WTFString.h:
3724        (String):
3725
37262013-07-16  Oliver Hunt <oliver@apple.com>
3727
3728        Merge dfgFourthTier r149301
3729
3730    2013-04-28  Filip Pizlo  <fpizlo@apple.com>
3731
3732        fourthTier: ASSERT that commonly used not-thread-safe methods in the runtime are not being called during compilation
3733        https://bugs.webkit.org/show_bug.cgi?id=115297
3734
3735        Reviewed by Geoffrey Garen.
3736        
3737        Taught WTF the notion of compilation threads. This allows all parts of our stack
3738        to assert that we're not being called from a JSC compilation thread. This is in
3739        WTF because it will probably end up being used in StringImpl and WTFString.
3740
3741        * WTF.xcodeproj/project.pbxproj:
3742        * wtf/CompilationThread.cpp: Added.
3743        (WTF):
3744        (WTF::initializeCompilationThreadsOnce):
3745        (WTF::initializeCompilationThreads):
3746        (WTF::isCompilationThread):
3747        (WTF::exchangeIsCompilationThread):
3748        * wtf/CompilationThread.h: Added.
3749        (WTF):
3750        (CompilationScope):
3751        (WTF::CompilationScope::CompilationScope):
3752        (WTF::CompilationScope::~CompilationScope):
3753        (WTF::CompilationScope::leaveEarly):
3754
37552013-07-16  Oliver Hunt <oliver@apple.com>
3756
3757        Merge dfgFourthTier r148836
3758
3759    2013-04-21  Filip Pizlo  <fpizlo@apple.com>
3760
3761        fourthTier: It should be possible to query WatchpointSets, and add Watchpoints, even if the compiler is running in another thread
3762        https://bugs.webkit.org/show_bug.cgi?id=114909
3763
3764        Reviewed by Oliver Hunt.
3765        
3766        Harden our notions of memory fences, now that we're doing racy algorithms.
3767
3768        * wtf/Atomics.h:
3769        (WTF):
3770        (WTF::compilerFence):
3771        (WTF::armV7_dmb):
3772        (WTF::armV7_dmb_st):
3773        (WTF::loadLoadFence):
3774        (WTF::loadStoreFence):
3775        (WTF::storeLoadFence):
3776        (WTF::storeStoreFence):
3777        (WTF::memoryBarrierAfterLock):
3778        (WTF::memoryBarrierBeforeUnlock):
3779        (WTF::x86_mfence):
3780
37812013-07-16  Oliver Hunt <oliver@apple.com>
3782
3783        Merge dfgFourthTier r148804
3784
3785    2013-04-20  Filip Pizlo  <fpizlo@apple.com>
3786
3787        fourthTier: value profiles and array profiles should be thread-safe enough to be accessible in a concurrent compilation thread
3788        https://bugs.webkit.org/show_bug.cgi?id=114906
3789
3790        Reviewed by Oliver Hunt.
3791        
3792        Add ability to abstract whether or not the CodeBlock requires locking at all,
3793        since some platforms may not support the byte spin-locking and/or may not want
3794        to, if they turn off concurrent JIT.
3795
3796        * WTF.xcodeproj/project.pbxproj:
3797        * wtf/ByteSpinLock.h:
3798        * wtf/NoLock.h: Added.
3799        (WTF):
3800        (NoLock):
3801        (WTF::NoLock::lock):
3802        (WTF::NoLock::unlock):
3803        (WTF::NoLock::isHeld):
3804        * wtf/Platform.h:
3805
38062013-04-17  Filip Pizlo  <fpizlo@apple.com>
3807
3808        fourthTier: all inline caches should thread-safe enough to allow a concurrent compilation thread to read them safely
3809        https://bugs.webkit.org/show_bug.cgi?id=114762
3810
3811        Reviewed by Mark Hahnenberg.
3812        
3813        Implemented a new spinlock that is optimized for compactness, by using just a byte.
3814        This will be useful as we start using fine-grained locking on a bunch of places.
3815        
3816        At some point I'll make these byte-sized spinlocks into adaptive mutexes, but for
3817        now I think it's fine to do the evil thing and use spinning particularly since we
3818        only use them for short critical sections.
3819
3820        * WTF.xcodeproj/project.pbxproj:
3821        * wtf/Atomics.h:
3822        (WTF):
3823        (WTF::weakCompareAndSwap):
3824        * wtf/ByteSpinLock.h: Added.
3825        (WTF):
3826        (ByteSpinLock):
3827        (WTF::ByteSpinLock::ByteSpinLock):
3828        (WTF::ByteSpinLock::lock):
3829        (WTF::ByteSpinLock::unlock):
3830        (WTF::ByteSpinLock::isHeld):
3831        * wtf/ThreadingPrimitives.h:
3832        (WTF::pauseBriefly):
3833        (WTF):
3834
38352013-04-12  Filip Pizlo  <fpizlo@apple.com>
3836
3837        fourthTier: FTL should have OSR exit
3838        https://bugs.webkit.org/show_bug.cgi?id=113623
3839
3840        Reviewed by Oliver Hunt.
3841        
3842        Finally make toCString() somewhat variadic.
3843
3844        * wtf/StringPrintStream.h:
3845        (WTF):
3846        (WTF::toCString):
3847
38482013-03-31  Filip Pizlo  <fpizlo@apple.com>
3849
3850        https://bugs.webkit.org/show_bug.cgi?id=113656
3851        Fix Sam's nits.
3852
3853        Unreviewed.
3854        
3855        Forgot to land these as part of http://trac.webkit.org/changeset/147299.
3856
3857        * wtf/MathExtras.h:
3858        (isGreaterThanNonZeroPowerOfTwo):
3859
38602013-03-29  Filip Pizlo  <fpizlo@apple.com>
3861
3862        fourthTier: FTL JIT should be able run some simple function
3863        https://bugs.webkit.org/show_bug.cgi?id=113481
3864
3865        Reviewed by Geoffrey Garen.
3866
3867        * wtf/Platform.h:
3868
38692013-07-22  Benjamin Poulain  <benjamin@webkit.org>
3870
3871        String::lower() - Skip to slow path on the first failure
3872        https://bugs.webkit.org/show_bug.cgi?id=118885
3873
3874        Reviewed by Andreas Kling.
3875
3876        In the 8 bits case, we don't need to know the state of the full string before changing characters
3877        to their lowercase variant.
3878        Just fail immediately and start transforming characters from the point of failure.
3879
3880        This avoid reading the string twice when the uppercase character is not at the end of the string.
3881
3882        * wtf/text/StringImpl.cpp:
3883        (WTF::StringImpl::lower):
3884
38852013-07-22  Brent Fulgham  <bfulgham@apple.com>
3886
3887        [Windows] Unreviewed build fix.
3888
3889        * WTF.vcxproj/WTFGenerated.make: Stop triggering a "Build All" when things have not changed.
3890
38912013-07-19  Alex Christensen  <achristensen@apple.com>
3892
3893        Added x64 configuration to Visual Studio build.
3894        https://bugs.webkit.org/show_bug.cgi?id=118888
3895
3896        Reviewed by Brent Fulgham.
3897
3898        * WTF.vcxproj/WTF.vcxproj:
3899        * WTF.vcxproj/WTF.vcxproj.filters:
3900        * WTF.vcxproj/WTFGenerated.vcxproj:
3901
39022013-07-18  Benjamin Poulain  <benjamin@webkit.org>
3903
3904        Fix the build after r152881
3905
3906        * wtf/text/StringImpl.cpp:
3907        (WTF::StringImpl::lower):
3908
39092013-07-18  Benjamin Poulain  <benjamin@webkit.org>
3910
3911        Little cleaning of StringImpl::lower() and StringImpl::upper() for ARM
3912        https://bugs.webkit.org/show_bug.cgi?id=118831
3913
3914        Reviewed by Gavin Barraclough.
3915
3916        Clean lower() and upper() before trying some optimizations:
3917        -Prefix the code with the empty() case. Otherwise, each descending loop starts with
3918         a check for length == 0.
3919        -Change ored to a 32 bits registers. ARM only has 32 bits registers and access to full word.
3920         To keep the value a UChar, the compiler is adding a bunch of useless value & 0xffff in the loops.
3921        -Change the pointer based loops for index based loops. The compiler does a mighty job at optimizing
3922         those for each architecture. No need to make the code more complex.
3923        -Don't perform the check for int32 unless we need to. The only code limited to int is Unicode::toLower.
3924
3925        * wtf/text/StringImpl.cpp:
3926        (WTF::StringImpl::lower):
3927        (WTF::StringImpl::upper):
3928
39292013-07-18  Andreas Kling  <akling@apple.com>
3930
3931        CodeBlock::m_argumentValueProfiles wastes a lot of memory.
3932        <http://webkit.org/b/118852>
3933        <rdar://problem/14481659>
3934
3935        Reviewed by Anders Carlsson.
3936
3937        Add Vector::resizeToFit(size), like resize() but without growth padding.
3938
3939        * wtf/Vector.h:
3940        (WTF::::resizeToFit):
3941
39422013-07-17  Benjamin Poulain  <benjamin@webkit.org>
3943
3944        Add a thread safety assertion when creating an AtomicString from a StringImpl
3945        https://bugs.webkit.org/show_bug.cgi?id=118637
3946
3947        Reviewed by Sam Weinig.
3948
3949        The goal is to prevent this kind of use:
3950        -Someone create a String from a StringImpl.
3951        -At some point, the string becomes atomic.
3952        -Later, when the string only has one ref, its ownership is 'passed' to an other thread
3953         without checking String::isSafeToSendToAnotherThread().
3954        -In the thread B, an AtomicString is created from the String.
3955        ->The AtomicString's StringImpl returned is not in the current thread string table.
3956
3957        * wtf/text/AtomicString.cpp:
3958        (WTF::AtomicString::isInAtomicStringTable):
3959        * wtf/text/AtomicString.h:
3960        (WTF::AtomicString::add):
3961
39622013-07-17  Benjamin Poulain  <benjamin@webkit.org>
3963
3964        Simplify AtomicString::lower()
3965        https://bugs.webkit.org/show_bug.cgi?id=118719
3966        <rdar://problem/14452883>
3967
3968        Reviewed by Gavin Barraclough.
3969
3970        * wtf/text/AtomicString.cpp:
3971        (WTF::AtomicString::lower): Previously, the code was using a copy constructor for two path
3972        and one regular construction in another path.
3973        Just put the StringImpl where it needs to be instead.
3974
39752013-07-15  Benjamin Poulain  <benjamin@webkit.org>
3976
3977        Add a threading assertion to AtomicString::remove
3978        https://bugs.webkit.org/show_bug.cgi?id=118695
3979
3980        Reviewed by Sam Weinig.
3981
3982        * wtf/text/AtomicString.cpp:
3983        (WTF::AtomicString::remove): The destructor of StringImpl remove
3984        the string from the string table if it is atomic. This needs to be done
3985        on the same thread as the one on which the string was added (otherwise the original
3986        table would keep a dangling pointer to a dead string).
3987
39882013-07-15  Benjamin Poulain  <benjamin@webkit.org>
3989
3990        Minor cleaning of AtomicString::addSlowCase
3991        https://bugs.webkit.org/show_bug.cgi?id=118615
3992
3993        Reviewed by Geoffrey Garen.
3994
3995        Give the variable a proper name.
3996        Add assertions to clarify the in and out states.
3997
3998        * wtf/text/AtomicString.cpp:
3999        (WTF::AtomicString::addSlowCase):
4000
40012013-07-12  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
4002
4003        Improve StringImpl::constructInternal() method
4004        https://bugs.webkit.org/show_bug.cgi?id=118503
4005
4006        Reviewed by Benjamin Poulain.
4007
4008        StringImpl::constructInternal used 'if ()' statement to decide which constructor
4009        to invoke hence compiler had to compile both branches even though optimizer would
4010        have then removed one of those, and as the function is inline it could affect
4011        slightly the compilation time.
4012
4013        The problem is solved via template specialization.
4014
4015        * wtf/text/StringImpl.h:
4016        (WTF::LChar):
4017        (WTF::UChar):
4018
40192013-07-11  Patrick Gansterer  <paroga@webkit.org>
4020
4021        Remove unused Windows CE files
4022        https://bugs.webkit.org/show_bug.cgi?id=118557
4023
4024        Reviewed by Andreas Kling.
4025
4026        * wtf/wince/FastMallocWinCE.h: Removed.
4027        * wtf/wince/MemoryManager.cpp: Removed.
4028        * wtf/wince/MemoryManager.h: Removed.
4029
40302013-07-10  Michael Brüning  <michael.bruning@digia.com>
4031
4032        Workaround for x86 optimizer bug in MSVC 2012.
4033        https://bugs.webkit.org/show_bug.cgi?id=118478
4034
4035        Reviewed by Benjamin Poulain.
4036
4037        This is a workaround for a bug in the x86 MSVC 2012 optimizer.
4038
4039        The problem is that the range comparison gets optimized out when
4040        the templated inline function toASCIIUpper. Copying the methods 
4041        content fixes the problem. 
4042
4043        This is unfortunately not the nicest fix, but the alternative would
4044        be to turn off optimization for StringImpl::upper on the x86 MSVC 2012
4045        build, which might impact overall performance negatively.
4046
4047        * wtf/text/StringImpl.cpp:
4048        (WTF::StringImpl::upper):
4049
40502013-07-08  Carlos Garcia Campos  <cgarcia@igalia.com>
4051
4052        Unreviewed. Fix make distcheck.
4053
4054        * GNUmakefile.list.am: Add missing header files.
4055
40562013-07-08  Antti Koivisto  <antti@apple.com>
4057
4058        Add Deque::removeLast
4059        https://bugs.webkit.org/show_bug.cgi?id=118466
4060
4061        Reviewed by Andreas Kling.
4062        
4063        Deque can remove both the first and the last element efficiently.
4064        
4065        Test: TestWebKitAPI/Tests/WTF/Deque.cpp
4066
4067        * wtf/Deque.h:
4068        (WTF::::takeLast):
4069        (WTF::::removeLast):
4070
40712013-07-08  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
4072
4073        [Qt][Windows] Buildfix after r152426.
4074
4075        Reviewed by Csaba Osztrogonác.
4076
4077        * wtf/Platform.h: Do not include WTFHeaderDetection.h on Qt build.
4078
40792013-07-06  Benjamin Poulain  <benjamin@webkit.org>
4080
4081        Fix the performance regressions introduced by r152418
4082        https://bugs.webkit.org/show_bug.cgi?id=118438
4083
4084        Reviewed by Sam Weinig.
4085
4086        * wtf/text/StringImpl.h:
4087        (WTF::equal):
4088        Looping between two arbitrary pointers prevents important loop
4089        optimizations.
4090
40912013-07-05  Brent Fulgham  <bfulgham@apple.com>
4092
4093        [Windows] Unreviewed build correction.
4094
4095        * WTF.vcxproj/WTFGenerated.make: Avoid syntax error in generated
4096        file in cases where Legible Output support is not present.
4097
40982013-07-05  Brent Fulgham  <bfulgham@apple.com>
4099
4100        [Windows] Unreviewed build correction.
4101
4102        * WTF.vcxproj/WTFGenerated.make: Use space (rather than double
4103        quotes) when handling the no-Legible-Output case.
4104
41052013-07-05  Brent Fulgham  <bfulgham@apple.com>
4106
4107        [Windows] Identify OS-level at build-time.
4108        https://bugs.webkit.org/show_bug.cgi?id=118428
4109
4110        Reviewed by Anders Carlsson.
4111
4112        * WTF.vcxproj/WTFGenerated.make: Check for Legible Output featurs
4113        and set build environment as appropriate.
4114        * wtf/Platform.h: Activate Legible Output features if present.
4115
41162013-07-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
4117
4118        A lot of code duplication within StringImpl 'equal' functions
4119        https://bugs.webkit.org/show_bug.cgi?id=118415
4120
4121        Reviewed by Anders Carlsson.
4122
4123        There has been a lot of code duplication within StringImpl 'equal' functions:
4124        the whole logic was copied to every overloaded 'equal' function.
4125        Fixed now using templates and std::equal.
4126
4127        * wtf/text/StringImpl.cpp:
4128        (WTF::equalInternal):
4129        (WTF::equal):
4130        * wtf/text/StringImpl.h:
4131        (WTF::arraysEqual):
4132        (WTF::equal):
4133
41342013-07-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
4135
4136        Remove code duplication from StringImpl create()/reallocate() methods
4137        https://bugs.webkit.org/show_bug.cgi?id=118355
4138
4139        Reviewed by Andreas Kling.
4140
4141        StringImpl create()/reallocate() methods accepting LChar and UChar used to have
4142        duplicated code. The code duplication is removed now via used templates.
4143
4144        * wtf/text/StringImpl.cpp:
4145        (WTF::StringImpl::constructInternal):
4146        (WTF::LChar):
4147        (WTF::StringImpl::createUninitializedInternal):
4148        (WTF::StringImpl::createUninitialized):
4149        (WTF::StringImpl::reallocateInternal):
4150        (WTF::StringImpl::reallocate):
4151        (WTF::StringImpl::createInternal):
4152        (WTF::StringImpl::create):
4153        * wtf/text/StringImpl.h:
4154
41552013-07-03  Brent Fulgham  <bfulgham@apple.com>
4156
4157        [Windows] Unreviewed build correction.
4158
4159        * WTF.vcxproj/copy-files.cmd: Limit path (for this file) to DOS-only to avoid
4160        the Cygwin variant of rmdir from being used.
4161
41622013-07-03  Commit Queue  <commit-queue@webkit.org>
4163
4164        Unreviewed, rolling out r152356.
4165        http://trac.webkit.org/changeset/152356
4166        https://bugs.webkit.org/show_bug.cgi?id=118361
4167
4168        Broke JSCore tests (Requested by andersca on #webkit).
4169
4170        * wtf/text/StringImpl.cpp:
4171        (WTF::StringImpl::createUninitialized):
4172        (WTF::StringImpl::reallocate):
4173        (WTF::StringImpl::create):
4174        * wtf/text/StringImpl.h:
4175
41762013-07-03  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
4177
4178        Remove code duplication from StringImpl create()/reallocate() methods
4179        https://bugs.webkit.org/show_bug.cgi?id=118355
4180
4181        Reviewed by Anders Carlsson.
4182
4183        StringImpl create()/reallocate() methods accepting LChar and UChar used to have
4184        duplicated code. The code duplication is removed now via used templates.
4185
4186        * wtf/text/StringImpl.cpp:
4187        (WTF::StringImpl::constructInternal):
4188        (WTF::LChar):
4189        (WTF::StringImpl::createUninitializedInternal):
4190        (WTF::StringImpl::createUninitialized):
4191        (WTF::StringImpl::reallocateInternal):
4192        (WTF::StringImpl::reallocate):
4193        (WTF::StringImpl::createInternal):
4194        (WTF::StringImpl::create):
4195        * wtf/text/StringImpl.h:
4196
41972013-07-03  Csaba Osztrogonác  <ossy@webkit.org>
4198
4199        Fix cast-align warnings in FastMalloc.cpp
4200        https://bugs.webkit.org/show_bug.cgi?id=117991
4201
4202        Reviewed by Mark Hahnenberg.
4203
4204        * wtf/FastMalloc.cpp:
4205
42062013-07-02  Geoffrey Garen  <ggaren@apple.com>
4207
4208        plainText() is O(N^2)
4209        https://bugs.webkit.org/show_bug.cgi?id=118282
4210        <rdar://problem/14284360>
4211
4212        Reviewed by Alexey Proskuryakov.
4213
4214        * wtf/text/StringBuilder.cpp:
4215        (WTF::expandCapacity): Factored out this helper function to simplify
4216        some code that was duplicated in four places.
4217
4218        (WTF::StringBuilder::appendUninitializedSlow):
4219        (WTF::StringBuilder::append): Use expandCapacity(). One of the cases
4220        was not doing anything special, and so was O(N^2).
4221
4222        Also, always call expandCapacity() it in a standard way, calling
4223        capacity() first, so it's easy to tell at a glance that you got it right.
4224
42252013-07-02  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
4226
4227        Avoid code duplication inside String::append()
4228        https://bugs.webkit.org/show_bug.cgi?id=118290
4229
4230        Reviewed by Anders Carlsson.
4231
4232        The implementation of 'append(UChar)' had been repeated inside 'append(LChar)',
4233        this duplication is obviated now.
4234
4235        * wtf/text/WTFString.cpp:
4236        (WTF::String::appendInternal):
4237        (WTF::String::append):
4238        * wtf/text/WTFString.h:
4239
42402013-06-28  Anders Carlsson  <andersca@apple.com>
4241
4242        Remove String::deprecatedCharactersWithNullTermination() and related code
4243        https://bugs.webkit.org/show_bug.cgi?id=118211
4244
4245        Reviewed by Benjamin Poulain.
4246
4247        Remove String::deprecatedCharactersWithNullTermination, StringImpl::createWithTerminatingNullCharacter
4248        and the s_hashFlagHasTerminatingNullCharacter flag. We no longer care about whether strings have a
4249        terminating null character.
4250
4251        * wtf/text/StringImpl.cpp:
4252        (WTF::StringImpl::createFromLiteral):
4253        (WTF::StringImpl::createWithoutCopying):
4254        (WTF::StringImpl::getData16SlowCase):
4255        (WTF::StringImpl::sizeInBytes):
4256        * wtf/text/StringImpl.h:
4257        (WTF::StringImpl::StringImpl):
4258        (WTF::StringImpl::createFromLiteral):
4259        (WTF::StringImpl::isolatedCopy):
4260        * wtf/text/WTFString.cpp:
4261        * wtf/text/WTFString.h:
4262
42632013-06-27  Anders Carlsson  <andersca@apple.com>
4264
4265        Add a new String::charactersWithNullTermination() function that returns a vector
4266        https://bugs.webkit.org/show_bug.cgi?id=118155
4267
4268        Reviewed by Andreas Kling.
4269
4270        This new String::charactersWithNullTermination() function returns a new Vector<UChar>
4271        and does not modify the underlying string data.
4272
4273        * wtf/text/WTFString.cpp:
4274        (WTF::String::charactersWithNullTermination):
4275        * wtf/text/WTFString.h:
4276
42772013-06-26  Anders Carlsson  <andersca@apple.com>
4278
4279        Deprecate StringImpl::charactersWithNullTermination
4280        https://bugs.webkit.org/show_bug.cgi?id=118108
4281
4282        Reviewed by Beth Dakin.
4283
4284        The optimization in String and StringImpl to keep track of whether a string
4285        has a null terminator isn't worth it; in most cases we call charactersWithNullTermination() on
4286        temporary strings which ends up copying strings anyway.
4287        
4288        A better solution is to have a charactersWithNullTermination() function that returns a Vector<UChar>,
4289        which is similar to what we have for String::utf8() and String::ascii(). This will be done in a follow-up patch.
4290
4291        * wtf/text/WTFString.cpp:
4292        (WTF::String::deprecatedCharactersWithNullTermination):
4293        * wtf/text/WTFString.h:
4294
42952013-06-26  Anders Carlsson  <andersca@apple.com>
4296
4297        Add JSStringCreateWithCharactersNoCopy SPI
4298        https://bugs.webkit.org/show_bug.cgi?id=118074
4299        <rdar://problem/14279905>
4300
4301        Reviewed by Geoffrey Garen.
4302
4303        * wtf/text/StringImpl.cpp:
4304        (WTF::StringImpl::createFromLiteral):
4305        Use the new ConstructWithoutCopying constructor, passing DoesHaveTerminatingNullCharacter to it.
4306        Change the other createFromLiteral overload to just call the first.
4307
4308        (WTF::StringImpl::createWithoutCopying):
4309        Add helper functions for creating strings that shouldn't copy their underlying data.
4310
4311        * wtf/text/StringImpl.h:
4312        (WTF::StringImpl::StringImpl):
4313        Rename the ConstructFromLiteralTag constructor enum to ConstructWithoutCopyingTag. Change the constructor
4314        to take an enum that states whether the string has a terminating null character or not.
4315
4316        (WTF::StringImpl::createFromLiteral):
4317        Call createWithoutCopying.
4318
4319        (WTF::StringImpl::requiresCopy):
4320        Rename this from isASCIILiteral() and make it more generic so it can handle 16-bit strings as well.
4321
4322        (WTF::StringImpl::isolatedCopy):
4323        If this string doesn't have to be copied, just create a new StringImpl object that references the current data.
4324
43252013-06-26  Jer Noble  <jer.noble@apple.com>
4326
4327        Potential use-after-free after neutering AudioBuffer's underlying ArrayBuffer.
4328        https://bugs.webkit.org/show_bug.cgi?id=118040
4329
4330        Reviewed by Filip Pizlo.
4331
4332        Add support for 'unneuterable' ArrayBufferViews. Views marked as such will have their underlying
4333        ArrayBuffer objects copied rather than transferred to a new view.
4334
4335        * wtf/ArrayBuffer.cpp:
4336        (WTF::ArrayBuffer::transfer): Check whether the associated views are neuterable, and if not
4337                clone the ArrayBuffer rather than transferring it.
4338        * wtf/ArrayBuffer.h:
4339        (WTF::ArrayBufferContents::copyTo): Added. Utility function.
4340        * wtf/ArrayBufferView.cpp:
4341        (WTF::ArrayBufferView::ArrayBufferView):
4342        (WTF::ArrayBufferView::neuter):
4343        * wtf/ArrayBufferView.h:
4344        (WTF::ArrayBufferView::setNeuterable):
4345        (WTF::ArrayBufferView::isNeuterable):
4346
43472013-06-26  Brent Fulgham  <bfulgham@apple.com>
4348
4349        [Windows] Enable CaptionUserPreferenceMediaAF on Windows.
4350        https://bugs.webkit.org/show_bug.cgi?id=118076
4351
4352        Reviewed by Eric Carlson.
4353
4354        * wtf/Platform.h: Enable Media Accessibility Framework in Windows build environments
4355          that support it.
4356
43572013-06-24  Roger Fong  <roger_fong@apple.com>
4358
4359        Unreviewed. AppleWin build fix, followup to r151915.
4360
4361        * WTF.vcxproj/WTFProduction.props:
4362
43632013-06-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
4364
4365        HashMap: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods
4366        https://bugs.webkit.org/show_bug.cgi?id=117911
4367
4368        Reviewed by Anders Carlsson.
4369
4370        The order of the template arguments at HashMap alternate 'find', 'contains' and
4371        'add' methods is reversed so that callers can just pass the translator
4372        and let the compiler deduce input argument type.
4373
4374        Another rational is consistency with HashSet class.
4375
4376        * wtf/HashMap.h:
4377
43782013-06-24  peavo@outlook.com  <peavo@outlook.com>
4379
4380        [WinCairo] WTF.dll is linking with CoreFoundation.lib in VS2010.
4381        https://bugs.webkit.org/show_bug.cgi?id=117294
4382
4383        Reviewed by Brent Fulgham.
4384
4385        WinCairo build should not use CoreFoundation.
4386
4387        * WTF.vcxproj/WTFCFLite.props: Added.
4388        * WTF.vcxproj/WTFCommon.props: Remove CoreFoundation.lib from depencency list.
4389        * WTF.vcxproj/WTFCoreFoundation.props: Added.
4390        * WTF.vcxproj/WTFDebug.props: Import WTFCoreFoundation.props for WinApple.
4391        * WTF.vcxproj/WTFDebugWinCairo.props: Import WTFCFLite.props for WinCairo.
4392        * WTF.vcxproj/WTFRelease.props: Import WTFCoreFoundation.props for WinApple.
4393        * WTF.vcxproj/WTFReleaseWinCairo.props: Import WTFCFLite.props for WinCairo.
4394
43952013-06-17  Darin Adler  <darin@apple.com>
4396
4397        Sort all the Xcode project files
4398        https://bugs.webkit.org/show_bug.cgi?id=117696
4399
4400        Reviewed by Anders Carlsson.
4401
4402        * WTF.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script.
4403
44042013-06-20  Sergio Correia  <sergio.correia@openbossa.org>
4405
4406        [WK2] Looping for EINTR on close() is incorrect for Linux, at least
4407        https://bugs.webkit.org/show_bug.cgi?id=117266
4408
4409        Reviewed by Darin Adler.
4410
4411        Added file UniStdExtras with a closeWithRetry() function that works around
4412        the EINTR behavior on Linux during a close() call: it closes the descriptor
4413        unconditionally even when the call is interrupted.
4414
4415        * wtf/UniStdExtras.h: Added.
4416        (WTF::closeWithRetry): Wrapper around POSIX close() that handles EINTR
4417        correctly.
4418
44192013-06-20  Mark Lam  <mark.lam@apple.com>
4420
4421        Refine the StackBounds computation for Windows.
4422        https://bugs.webkit.org/show_bug.cgi?id=117854.
4423
4424        Reviewed by Brent Fulgham.
4425
4426        * wtf/StackBounds.cpp:
4427        (WTF::StackBounds::initialize):
4428
44292013-06-20  Mark Lam  <mark.lam@apple.com>
4430
4431        [Windows] Undoing r150621 to roll r150600 back in as the jsc test
4432        failures have been fixed in r151808.
4433        https://bugs.webkit.org/show_bug.cgi?id=116661.
4434
4435        Reviewed by Brent Fulgham.
4436
4437        * wtf/StackBounds.cpp:
4438        (WTF::StackBounds::initialize):
4439
44402013-06-20  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
4441
4442        HashSet: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods
4443        https://bugs.webkit.org/show_bug.cgi?id=117830
4444
4445        Reviewed by Anders Carlsson.
4446
4447        The order of the template arguments at HashSet alternate 'find', 'contains' and
4448        'add' methods is reversed so that callers can just pass the translator
4449        and let the compiler deduce input argument type.
4450
4451        * wtf/HashSet.h:
4452        * wtf/text/AtomicString.cpp:
4453        (WTF::addToStringTable):
4454        (WTF::findString):
4455
44562013-06-20  Roger Fong  <roger_fong@apple.com>
4457
4458        Make Windows makefile copy build output to a different folder.
4459        <rdar://problem/14219184>.
4460
4461        * WTF.vcxproj/WTF.make:
4462
44632013-06-19  Geoffrey Garen  <ggaren@apple.com>
4464
4465        Remove the SegmentedVector inline segment to shrink CodeBlock by 6X
4466        https://bugs.webkit.org/show_bug.cgi?id=117808
4467
4468        Reviewed by Oliver Hunt.
4469
4470        SegmentedVector allocation isn't super hot, but we do tend to have many
4471        live SegmentedVectors at runtime, particularly in CodeBlocks, so the
4472        right tradeoff is to allocate segments out-of-line as needed.
4473
4474        This reduces startup memory usage @ google.com by about 6MB.
4475
4476        No regression on SunSpider.
4477
4478        * wtf/SegmentedVector.h:
4479        (WTF::SegmentedVector::SegmentedVector):
4480        (WTF::SegmentedVector::at):
4481        (WTF::SegmentedVector::append):
4482        (WTF::SegmentedVector::removeLast):
4483        (WTF::SegmentedVector::clear):
4484        (WTF::SegmentedVector::deleteAllSegments): No more inline segment.
4485
4486        (WTF::SegmentedVector::ensureSegmentsFor): This code used to assume
4487        that there was always a 0 segment, so the math would underflow if there
4488        were no 0 segment. I udpated the math to account for having no segments.
4489
44902013-06-19  David Kilzer  <ddkilzer@apple.com>
4491
4492        BUILD FIX (r151663): Fix build for iOS WebKit
4493
4494        * wtf/text/AtomicStringTable.cpp: Include MainThread.h.
4495        (WTF::AtomicStringTable::create): Use AtomicStringTable::destroy
4496        instead of non-existent destroyAtomicStringTable function.
4497
44982013-06-18  Roger Fong  <roger_fong@apple.com>
4499
4500        Replace tools32 folder with tools and update WebKit Windows solution accordingly.
4501        <rdar://problem/14118143>.
4502
4503        Rubberstamped by Brent Fulgham.
4504
4505        * WTF.vcxproj/WTF.vcxproj:
4506        * WTF.vcxproj/WTFDebug.props:
4507        * WTF.vcxproj/WTFDebugWinCairo.props:
4508        * WTF.vcxproj/WTFGenerated.vcxproj:
4509        * WTF.vcxproj/WTFGeneratedDebug.props:
4510        * WTF.vcxproj/WTFGeneratedProduction.props:
4511        * WTF.vcxproj/WTFGeneratedRelease.props:
4512        * WTF.vcxproj/WTFProduction.props:
4513        * WTF.vcxproj/WTFRelease.props:
4514        * WTF.vcxproj/WTFReleaseWinCairo.props:
4515        * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
4516        (react_to_vsprops_changes):
4517
45182013-06-18  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
4519
4520        PackedIntVector: check template arguments at compile time
4521        https://bugs.webkit.org/show_bug.cgi?id=117737
4522
4523        Use 'COMPILE_ASSERT' instead of 'ASSERT' in PackedIntVector class
4524        constructor.
4525
4526        Reviewed by Sam Weinig.
4527
4528        * wtf/PackedIntVector.h:
4529        (WTF::PackedIntVector::PackedIntVector):
4530
45312013-06-17  Andy Estes  <aestes@apple.com>
4532
4533        A static_assert() in RetainPtr.h sometimes causes the build to fail.
4534
4535        Wrap the first argument to a static_assert() in parentheses since it
4536        contains a comma, which sometimes tricks the preprocessor into thinking
4537        the macro is being passed three arguments rather than two.
4538
4539        Reviewed by Brian Weinstein.
4540
4541        * wtf/RetainPtr.h:
4542        (WTF::RetainPtr::RetainPtr):
4543
45442013-06-17  Zan Dobersek  <zdobersek@igalia.com>
4545
4546        REGRESSION (r149184): Build errors in RefPtr.h when building with Clang, C++98 standard
4547        https://bugs.webkit.org/show_bug.cgi?id=116352
4548
4549        Reviewed by Anders Carlsson.
4550
4551        Use the __has_feature macro instead of the __has_extension one when detecting what features the Clang compiler
4552        that's being used is capable to provide. With the project moving onto using C++11 throughout its components,
4553        there currently exist cases where C++11-specific functionality (for instance std::move) is used despite being
4554        guarded by compiler-specific feature guards that still get enabled even when compiling in C++98 with Clang.
4555        The problematic features are enabled because they're available as C++98 language extensions by Clang.
4556
4557        Using __has_feature instead enables the feature guard only if the tested feature is actually standardized in
4558        the currently used language standard.
4559
4560        * wtf/Compiler.h:
4561
45622013-06-17  Ryosuke Niwa  <rniwa@webkit.org>
4563
4564        Initialize AtomicStringTable in WTFThreadData's constructor
4565        https://bugs.webkit.org/show_bug.cgi?id=117671
4566
4567        Reviewed by Geoffrey Garen.
4568
4569        Extracted AtomicStringTable from AtomicString.cpp into AtomicStringTable.h/cpp
4570        and made WTFThreadDada::WTFThreadData create the atomic string table for the thread.
4571
4572        This eliminates a branch from stringTable() in AtomicString.cpp.
4573
4574        * GNUmakefile.list.am:
4575        * WTF.pro:
4576        * WTF.vcxproj/WTF.vcxproj:
4577        * WTF.vcxproj/WTF.vcxproj.filters:
4578        * WTF.xcodeproj/project.pbxproj:
4579        * wtf/CMakeLists.txt:
4580        * wtf/WTFThreadData.cpp:
4581        (WTF::WTFThreadData::WTFThreadData):
4582        * wtf/text/AtomicString.cpp:
4583        (WTF::stringTable):
4584        * wtf/text/AtomicStringTable.cpp: Added.
4585        (WTF::AtomicStringTable::create):
4586        (WTF::AtomicStringTable::destroy):
4587        * wtf/text/AtomicStringTable.h: Added.
4588        (WTF::AtomicStringTable::table):
4589
45902013-06-17  Roger Fong  <roger_fong@apple.com>
4591
4592        Modify Windows makefiles to copy some bin output into Program Files.
4593        https://bugs.webkit.org/show_bug.cgi?id=117714.
4594        <rdar://problem/14179054>
4595
4596        Reviewed by Brent Fulgham.
4597
4598        * WTF.vcxproj/WTF.make:
4599
46002013-06-17  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
4601
4602        Unreviewed, rolling out r151632.
4603        http://trac.webkit.org/changeset/151632
4604        https://bugs.webkit.org/show_bug.cgi?id=117585
4605
4606        Debug build error ASSERT(WTF_USE_GRAMMAR_CHECKING) for non MAC
4607        platforms
4608
4609        * wtf/Platform.h:
4610
46112013-06-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
4612
4613        Context menu grammar checking items are available when GRAMMAR_CHECKING macro is off
4614        https://bugs.webkit.org/show_bug.cgi?id=117585
4615
4616        Reviewed by Anders Carlsson.
4617
4618        Enable GRAMMAR_CHECKING for WebKit ports that use/implement it.
4619
4620        * wtf/Platform.h:
4621
46222013-06-14  Patrick Gansterer  <paroga@webkit.org>
4623
4624        Introduce USE(WINGDI) for the Windows port
4625        https://bugs.webkit.org/show_bug.cgi?id=116138
4626
4627        Reviewed by Ryosuke Niwa.
4628
4629        Using USE(WINGDI) instead of OS(WINCE) will allow us to
4630        compile the GDI based Windows port on WinNT too.
4631
4632        * wtf/Platform.h:
4633
46342013-06-13  Ryosuke Niwa  <rniwa@webkit.org>
4635
4636        Remove LiteralIdentifierTable
4637        https://bugs.webkit.org/show_bug.cgi?id=117613
4638
4639        Reviewed by Geoffrey Garen.
4640
4641        Removed LiteralIdentifierTable since it doesn't seem to have any perf. impact now.
4642
4643        * wtf/WTFThreadData.h:
4644
46452013-06-13  Brent Fulgham  <bfulgham@apple.com>
4646
4647        [WinCairo] Correct FeatureDefines.h Default for ENABLE_VIEW_MODE_CSS_MEDIA
4648        https://bugs.webkit.org/show_bug.cgi?id=114396
4649
4650        Reviewed by Dean Jackson.
4651
4652        * wtf/FeatureDefines.h: The WinCairo port does not (currently) support Media elements,
4653        so make sure we do not enable this feature by default for that port.
4654
46552013-06-13  Brent Fulgham  <bfulgham@apple.com>
4656
4657        [Windows] Unreviewed gardening.
4658
4659        * WTF.vcxproj/WTF.vcxproj: Add FeatureDefines.h to visible files.
4660        * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
4661
46622013-06-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
4663
4664        Optimize String::fromUTF8 for ASCII
4665        https://bugs.webkit.org/show_bug.cgi?id=117586
4666
4667        Reviewed by Brent Fulgham.
4668
4669        From Blink r152243 by <abarth@chromium.org>
4670
4671        Current String::fromUTF8() implementation converts 8 bit ASCII character into 16 bit.
4672        Instead of always trying to convert into a 16 bit buffer, we can add a call to charactersAreAllASCII.
4673        In the common case when characters are ASCII, we directly copy it into an 8 bit string buffer.
4674
4675        * wtf/text/WTFString.cpp:
4676        (WTF::String::fromUTF8):
4677
46782013-06-12  Brent Fulgham  <bfulgham@apple.com>
4679
4680        [Windows] Activate supported C++11 Features for VS2010
4681        https://bugs.webkit.org/show_bug.cgi?id=117569
4682
4683        Reviewed by Anders Carlsson.
4684
4685        * wtf/Compiler.h: Turn on rvalue references and static_assert
4686        when compiling with VS2010 (or newer)
4687
46882013-06-07  Roger Fong  <roger_fong@apple.com>
4689
4690        Unreviewed. Makefile fix. Copy WTF.dll over as well.
4691
4692        * WTF.vcxproj/WTF.make:
4693
46942013-06-07  Commit Queue  <commit-queue@webkit.org>
4695
4696        Unreviewed, rolling out r151318.
4697        http://trac.webkit.org/changeset/151318
4698        https://bugs.webkit.org/show_bug.cgi?id=117356
4699
4700        Broke Windows Release Build (Requested by bfulgham on
4701        #webkit).
4702
4703        * WTF.vcxproj/WTF.vcxproj:
4704        * WTF.vcxproj/WTFCommon.props:
4705        * WTF.vcxproj/WTFCoreFoundation.props: Removed.
4706        * WTF.vcxproj/WTFDebug.props:
4707        * WTF.vcxproj/WTFRelease.props:
4708
47092013-06-07  peavo@outlook.com  <peavo@outlook.com>
4710
4711        [WinCairo] WTF.dll is linking with CoreFoundation.lib in VS2010.
4712        https://bugs.webkit.org/show_bug.cgi?id=117294
4713
4714        Reviewed by Darin Adler.
4715
4716        WinCairo build should not use CoreFoundation.
4717
4718        * WTF.vcxproj/WTF.vcxproj: Exclude unneeded file from WinCairo build.
4719        * WTF.vcxproj/WTFCommon.props: Removed CoreFoundation.lib from common props.
4720        * WTF.vcxproj/WTFCoreFoundation.props: Added.
4721        * WTF.vcxproj/WTFDebug.props: Inherit from WTFCoreFoundations.props.
4722        * WTF.vcxproj/WTFRelease.props: Inherit from WTFCoreFoundations.props.
4723
47242013-06-06  Roger Fong  <roger_fong@apple.com>
4725
4726        Unreviewed. Fix typo with winmm linker input.
4727
4728        * WTF.vcxproj/WTFCommon.props:
4729
47302013-06-05  Benjamin Poulain  <bpoulain@apple.com>
4731
4732        WebSQL forces 16-bit strings
4733        https://bugs.webkit.org/show_bug.cgi?id=116935
4734
4735        Reviewed by Darin Adler.
4736
4737        Merge chromium 49c9632ac135f6f06e623a7a81d9da1f6bb7196f.
4738        https://chromium.googlesource.com/chromium/blink/+/49c9632ac135f6f06e623a7a81d9da1f6bb7196f
4739
4740        * wtf/text/StringImpl.cpp:
4741        (WTF::StringImpl::create8BitIfPossible):
4742        * wtf/text/StringImpl.h:
4743        (WTF::lengthOfNullTerminatedString):
4744        * wtf/text/WTFString.cpp:
4745        (WTF::String::String):
4746
47472013-06-03  Roger Fong  <roger_fong@apple.com>
4748
4749        Nuke VS2005 files from the tree.
4750        <rdar://problem/14042021>.
4751
4752        Rubberstamped by Brent Fulgham.
4753
4754        * WTF.vcproj: Removed.
4755        * WTF.vcproj/WTF.make: Removed.
4756        * WTF.vcproj/WTF.sln: Removed.
4757        * WTF.vcproj/WTF.vcproj: Removed.
4758        * WTF.vcproj/WTFCommon.vsprops: Removed.
4759        * WTF.vcproj/WTFDebug.vsprops: Removed.
4760        * WTF.vcproj/WTFDebugAll.vsprops: Removed.
4761        * WTF.vcproj/WTFDebugCairoCFLite.vsprops: Removed.
4762        * WTF.vcproj/WTFGenerated.make: Removed.
4763        * WTF.vcproj/WTFGenerated.vcproj: Removed.
4764        * WTF.vcproj/WTFGeneratedCommon.vsprops: Removed.
4765        * WTF.vcproj/WTFGeneratedDebug.vsprops: Removed.
4766        * WTF.vcproj/WTFGeneratedDebugAll.vsprops: Removed.
4767        * WTF.vcproj/WTFGeneratedDebugCairoCFLite.vsprops: Removed.
4768        * WTF.vcproj/WTFGeneratedProduction.vsprops: Removed.
4769        * WTF.vcproj/WTFGeneratedRelease.vsprops: Removed.
4770        * WTF.vcproj/WTFGeneratedReleaseCairoCFLite.vsprops: Removed.
4771        * WTF.vcproj/WTFPostBuild.cmd: Removed.
4772        * WTF.vcproj/WTFPreBuild.cmd: Removed.
4773        * WTF.vcproj/WTFProduction.vsprops: Removed.
4774        * WTF.vcproj/WTFRelease.vsprops: Removed.
4775        * WTF.vcproj/WTFReleaseCairoCFLite.vsprops: Removed.
4776        * WTF.vcproj/build-generated-files.sh: Removed.
4777        * WTF.vcproj/copy-files.cmd: Removed.
4778        * WTF.vcproj/work-around-vs-dependency-tracking-bugs.py: Removed.
4779
47802013-06-03  Patrick Gansterer  <paroga@webkit.org>
4781
4782        Unreviewed WinCE build fix after r150833.
4783
4784        * wtf/DateMath.cpp:
4785        (WTF::calculateDSTOffset):
4786
47872013-06-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
4788
4789        [WTF] Add OwnArrayPtr vectortraits template 
4790        https://bugs.webkit.org/show_bug.cgi?id=117131
4791
4792        Reviewed by Darin Adler.
4793
4794        To support Vector<OwnArrayPtr<P>>, which will be used by EFL port.
4795
4796        * wtf/VectorTraits.h:
4797
47982013-05-31  Rafael Brandao  <rafael.lobo@openbossa.org>
4799
4800        Fix double hash lookup in PageMapMemoryUsageRecorder::visit
4801        https://bugs.webkit.org/show_bug.cgi?id=117071
4802
4803        Reviewed by Andreas Kling.
4804
4805        * wtf/FastMalloc.cpp:
4806        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
4807
48082013-05-31  Brent Fulgham  <bfulgham@apple.com>
4809
4810        [Windows] Speculative build fix for pre-VS2010 compilers
4811
4812        * wtf/Platform.h: Only treat WTF as DLL for VS2010 builds
4813
48142013-05-31  Zan Dobersek  <zdobersek@igalia.com>
4815
4816        Move MD5, SHA1 unit tests from WTF to TestWebKitAPI
4817        https://bugs.webkit.org/show_bug.cgi?id=116445
4818
4819        Reviewed by Benjamin Poulain.
4820
4821        Remove the MD5 and SHA1 test cases from the WTF code. The same cases are now built and run under TestWebKitAPI.
4822
4823        * wtf/MD5.cpp:
4824        (WTF::MD5::MD5):
4825        * wtf/SHA1.cpp:
4826        (WTF::SHA1::SHA1):
4827
48282013-05-30  Roger Fong  <roger_fong@apple.com>
4829
4830        Another unreviewed build fix for Mac.
4831
4832        * wtf/text/WTFString.h:
4833        (WTF::String::fromUTF8WithLatin1Fallback):
4834
48352013-05-30  Roger Fong  <roger_fong@apple.com>
4836
4837        Unreviewed build fix for Mac.
4838
4839        * wtf/OSAllocator.h:
4840        * wtf/text/WTFString.h:
4841        (WTF::String::fromUTF8):
4842
48432013-05-30  Roger Fong  <roger_fong@apple.com>
4844
4845        Get rid of JavaScript exports file on AppleWin port.
4846        https://bugs.webkit.org/show_bug.cgi?id=117050.
4847
4848        Reviewed by Darin Adler.
4849
4850        This requires turning WTF into a shared library and adding the WTF_EXPORT_PRIVATE to some methods where it was missed.
4851
4852        * WTF.vcxproj/WTF.vcxproj:
4853        * WTF.vcxproj/WTFCommon.props:
4854        * wtf/DateMath.h:
4855        * wtf/ExportMacros.h:
4856        * wtf/FilePrintStream.h:
4857        * wtf/OSAllocator.h:
4858        * wtf/PageAllocationAligned.h:
4859        * wtf/Platform.h:
4860        * wtf/PrintStream.h:
4861        * wtf/StackBounds.h:
4862        * wtf/StringPrintStream.h:
4863        * wtf/ThreadSpecific.h:
4864        * wtf/WTFThreadData.h:
4865        * wtf/dtoa/cached-powers.h:
4866        * wtf/dtoa/double-conversion.h:
4867        * wtf/text/WTFString.h:
4868        * wtf/unicode/Collator.h:
4869        * wtf/unicode/UTF8.h:
4870
48712013-05-29  Kent Tamura  <tkent@chromium.org>
4872
4873        Remove ENABLE_INPUT_MULTIPLE_FIELDS_UI.
4874        https://bugs.webkit.org/show_bug.cgi?id=116796
4875
4876        Reviewed by Ryosuke Niwa.
4877
4878        * wtf/FeatureDefines.h:
4879
48802013-05-27  Gavin Barraclough  <barraclough@apple.com>
4881
4882        String(new Date(2010,10,1)) is wrong in KRAT, YAKT
4883        https://bugs.webkit.org/show_bug.cgi?id=106750
4884
4885        Reviewed by Darin Adler.
4886
4887        First part of a fix, simplfy date handling code, instead of operating separately
4888        on the UTC-standard and standard-DST offsets, just generate a combined UTC-local
4889        offset (this is what we actually need, and what the OS gives us).
4890
4891        * wtf/DateMath.cpp:
4892        (WTF::calculateUTCOffset):
4893        (WTF::calculateDSTOffset):
4894            - made static, now not called from outside of this file.
4895        (WTF::calculateLocalTimeOffset):
4896            - This combines the 2038 related adjustment from calculateDSTOffset with the
4897              maxUnixTime adjustment from calculateDSTOffsetSimple. Then, if HAVE(TM_GMTOFF)
4898              just call getLocalTime, if not use calculateUTCOffset/calculateDSTOffset.
4899        (WTF::parseDateFromNullTerminatedCharacters):
4900            - call calculateLocalTimeOffset instead of calculateUTCOffset/calculateDSTOffset
4901        * wtf/DateMath.h:
4902        (WTF::LocalTimeOffset::LocalTimeOffset):
4903        (LocalTimeOffset):
4904        (WTF::LocalTimeOffset::operator==):
4905            - new struct type, a tuple of UTC-local offset & isDST flag.
4906            - replaced calculateUTCOffset/calculateDSTOffset with calculateLocalTimeOffset
4907        * wtf/GregorianDateTime.cpp:
4908        (WTF::GregorianDateTime::setToCurrentLocalTime):
4909            - call calculateLocalTimeOffset instead of calculateUTCOffset/calculateDSTOffset
4910
49112013-05-27  Patrick Gansterer  <paroga@webkit.org>
4912
4913        Use correct stack size on Solaris and OpenBSD
4914        https://bugs.webkit.org/show_bug.cgi?id=114978
4915
4916        Recommit after wrong rollout in r150621.
4917
4918        * wtf/StackBounds.cpp:
4919        (WTF):
4920        (WTF::StackBounds::initialize):
4921
49222013-05-27  Patrick Gansterer  <paroga@webkit.org>
4923
4924        Use ICU_INCLUDE_DIRS in BlackBerry CMake files
4925        https://bugs.webkit.org/show_bug.cgi?id=116210
4926
4927        Reviewed by Rob Buis.
4928
4929        Set and use the ICU_INCLUDE_DIRS variable to avoid
4930        duplicated adding of the ICU include directory.
4931
4932        * wtf/PlatformBlackBerry.cmake:
4933
49342013-05-27  Ádám Kallai  <kadam@inf.u-szeged.hu>
4935
4936        [Qt] Enable parallel GC. Probably it has been fixed in r131791.
4937        https://bugs.webkit.org/show_bug.cgi?id=90957
4938
4939        Reviewed by Csaba Osztrogonác.
4940
4941        * wtf/Platform.h:
4942
49432013-05-26  Patrick Gansterer  <paroga@webkit.org>
4944
4945        [WINCE] Add wtf_bsearch()
4946        https://bugs.webkit.org/show_bug.cgi?id=116528
4947
4948        Reviewed by Darin Adler.
4949
4950        r149833 introduced usage of ::bsearch(), which does not exist on Windwos CE.
4951        Add our own implementation of this function as wtf_bsearch and define
4952        bsearch as wtf_bsearch to fix compilation on Windwos CE.
4953
4954        * wtf/StdLibExtras.h:
4955        (wtf_bsearch):
4956
49572013-05-26  Kent Tamura  <tkent@chromium.org>
4958
4959        Remove ENABLE_CALENDAR_PICKER
4960        https://bugs.webkit.org/show_bug.cgi?id=116795
4961
4962        Reviewed by Ryosuke Niwa.
4963
4964        * wtf/FeatureDefines.h:
4965
49662013-05-24  Benjamin Poulain  <bpoulain@apple.com>
4967
4968        Inline TCMalloc_Central_FreeList's RemoveRange and FetchFromSpansSafe
4969        https://bugs.webkit.org/show_bug.cgi?id=116700
4970
4971        Reviewed by Darin Adler.
4972
4973        The two functions only have one call site each.
4974
4975        * wtf/FastMalloc.cpp:
4976        (WTF::TCMalloc_Central_FreeList::RemoveRange):
4977        (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe):
4978
49792013-05-24  Filip Pizlo  <fpizlo@apple.com>
4980
4981        We broke !(0/0)
4982        https://bugs.webkit.org/show_bug.cgi?id=116736
4983
4984        Reviewed by Gavin Barraclough.
4985
4986        * wtf/MathExtras.h:
4987        (isNotZeroAndOrdered):
4988        (isZeroOrUnordered):
4989
49902013-05-24  Anders Carlsson  <andersca@apple.com>
4991
4992        Remove PagePopup code
4993        https://bugs.webkit.org/show_bug.cgi?id=116732
4994
4995        Reviewed by Andreas Kling.
4996
4997        Remove ENABLE_PAGE_POPUP.
4998
4999        * wtf/FeatureDefines.h:
5000
50012013-05-25  Jer Noble  <jer.noble@apple.com>
5002
5003        Mac: Set the default audio buffer size to a large value for <video> elements.
5004        https://bugs.webkit.org/show_bug.cgi?id=116342
5005
5006        Reviewed by Eric Carlson.
5007
5008        * wtf/Platform.h: Add a WTF_USE_AUDIO_SESSION setting.
5009
50102013-05-23  Brent Fulgham  <bfulgham@apple.com>
5011
5012        [Windows] Rolling back r150600 as it breaks the VS2010 builds.
5013
5014        * wtf/StackBounds.cpp: Rollback.
5015
50162013-05-23 Patrick Gansterer <paroga@webkit.org>
5017
5018        Use correct stack size on Solaris and OpenBSD
5019        https://bugs.webkit.org/show_bug.cgi?id=114978
5020
5021        Reviewed by Oliver Hunt.
5022
5023        Original patch by David Hill <david@wmol.com>.
5024
5025        Use stack_t.ss_size for getting the size of the stack.
5026
5027        * wtf/Platform.h:
5028        * wtf/StackBounds.cpp:
5029        (WTF):
5030        (WTF::StackBounds::initialize):
5031
50322013-05-23  Patrick Gansterer  <paroga@webkit.org>
5033
5034        [WIN] Implement correct detection of stack size
5035        https://bugs.webkit.org/show_bug.cgi?id=116661
5036
5037        Reviewed by Oliver Hunt.
5038
5039        * wtf/StackBounds.cpp:
5040        (WTF):
5041        (WTF::StackBounds::initialize):
5042
50432013-05-22  Dean Jackson  <dino@apple.com>
5044
5045        Rolling out r150555. It borked about 30 media tests.
5046
5047        * wtf/Platform.h:
5048
50492013-05-21  Anders Carlsson  <andersca@apple.com>
5050
5051        Build fix.
5052
5053        * wtf/NeverDestroyed.h:
5054        (NeverDestroyed):
5055
50562013-05-20  Anders Carlsson  <andersca@apple.com>
5057
5058        Add WTF::NeverDestroyed and start using it in WTF
5059        https://bugs.webkit.org/show_bug.cgi?id=116472
5060
5061        Reviewed by Benjamin Poulain.
5062
5063        NeverDestroyed is a class template that can be used for singletons and other objects that we never
5064        want to destroy. It's intended as a replacement for WTF_STATIC_LOCAL with the advantage that it doesn't
5065        fragment the heap.
5066
5067        * GNUmakefile.list.am:
5068        * WTF.vcproj/WTF.vcproj:
5069        * WTF.vcxproj/WTF.vcxproj:
5070        * WTF.vcxproj/WTF.vcxproj.filters:
5071        * WTF.xcodeproj/project.pbxproj:
5072        Add NeverDestroyed.h
5073
5074        * wtf/Compiler.h:
5075        Add a helper macro, WTF_DELETED_FUNCTION.
5076
5077        * wtf/CryptographicallyRandomNumber.cpp:
5078        Use NeverDestroyed.
5079
5080        * wtf/NeverDestroyed.h: Added.
5081
5082        * wtf/Noncopyable.h:
5083        Use WTF_DELETED_FUNCTION.
5084
5085        * wtf/text/WTFString.cpp:
5086        (WTF::emptyString):
5087        Use 
5088
50892013-05-20  Zan Dobersek  <zdobersek@igalia.com>
5090
5091        Use '__typeof__' keyword to avoid problems when compiling in C++11 standard compliance
5092        https://bugs.webkit.org/show_bug.cgi?id=116447
5093
5094        Reviewed by Darin Adler.
5095
5096        The 'typeof' keyword is a GNU C extension which becomes unavailable when compiling in ANSI or specific standard mode
5097        (such as -std=c++11). The '__typeof__' keyword should be used instead as it's available in all modes both under GCC and Clang.
5098
5099        * wtf/FastMalloc.cpp:
5100        (WTF): Replace the 'typeof' keyword with '__typeof__'.
5101
51022013-05-19  Anders Carlsson  <andersca@apple.com>
5103
5104        Remove link prerendering code
5105        https://bugs.webkit.org/show_bug.cgi?id=116415
5106
5107        Reviewed by Darin Adler.
5108
5109        This code was only used by Chromium and is dead now.
5110
5111        * wtf/FeatureDefines.h:
5112
51132013-05-18  Patrick Gansterer  <paroga@webkit.org>
5114
5115        [CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
5116        https://bugs.webkit.org/show_bug.cgi?id=114554
5117
5118        Reviewed by Gyuyoung Kim.
5119
5120        Using variables as target names is very uncommon in CMake.
5121        The usual way to specify the name of the resulting binary
5122        is to set the OUTPUT_NAME target property.
5123
5124        * wtf/CMakeLists.txt:
5125
51262013-05-17  Andreas Kling  <akling@apple.com>
5127
5128        Re-align the OS(AIX) macro...
5129        ...in the hopes that the resulting world rebuild will fix failures after r150294.
5130
5131        * wtf/Platform.h:
5132
51332013-05-17  Anders Carlsson  <andersca@apple.com>
5134
5135        WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process
5136        https://bugs.webkit.org/show_bug.cgi?id=116346
5137        <rdar://problem/13852829>
5138
5139        Reviewed by Andreas Kling.
5140
5141        Add forward declaration for Function.
5142
5143        * wtf/Forward.h:
5144
51452013-05-17  Patrick Gansterer  <paroga@webkit.org>
5146
5147        [CMake] Remove invalid include paths
5148        https://bugs.webkit.org/show_bug.cgi?id=116213
5149
5150        Reviewed by Gyuyoung Kim.
5151
5152        Since "${JAVASCRIPTCORE_DIR}/wtf" does not exist, it is safe
5153        to remove them from the list of include directories.
5154
5155        * wtf/PlatformEfl.cmake:
5156        * wtf/PlatformGTK.cmake:
5157
51582013-05-16  Benjamin Poulain  <bpoulain@apple.com>
5159
5160        Add the symbol WTFInvokeCrashHook back for binary compatibility.
5161
5162        Reviewed by Ryosuke Niwa.
5163
5164        * wtf/Assertions.cpp:
5165        * wtf/Assertions.h:
5166
51672013-05-16  Seokju Kwon  <seokju.kwon@gmail.com>
5168
5169        [CMAKE] Need to set WTF_LIBRARIES in wtf/CMakeLists.txt
5170        https://bugs.webkit.org/show_bug.cgi?id=116209
5171
5172        Reviewed by Gyuyoung Kim.
5173
5174        * wtf/CMakeLists.txt: Replace list with set.
5175
51762013-05-16  Benjamin Poulain  <benjamin@webkit.org>
5177
5178        Crash properly on iOS
5179        https://bugs.webkit.org/show_bug.cgi?id=115782
5180
5181        Reviewed by Darin Adler.
5182
5183        Improve crash handling. <rdar://problem/13842771>
5184
5185        * wtf/Assertions.cpp:
5186        * wtf/Assertions.h:
5187
51882013-05-15  Ryuan Choi  <ryuan.choi@samsung.com>
5189
5190        Unreviewed build fix after r150123
5191
5192        * wtf/CMakeLists.txt: 
5193
51942013-05-15  Oliver Hunt  <oliver@apple.com>
5195
5196        RefCountedArray needs to use vector initialisers for its backing store
5197        https://bugs.webkit.org/show_bug.cgi?id=116194
5198
5199        Reviewed by Gavin Barraclough.
5200
5201        Use VectorOperations to operate on the backing store
5202
5203        * wtf/RefCountedArray.h:
5204        (WTF::RefCountedArray::RefCountedArray):
5205        (WTF::RefCountedArray::operator=):
5206        (WTF::RefCountedArray::~RefCountedArray):
5207
52082013-05-15  Nico Weber  <thakis@chromium.org>
5209
5210        WebKit doesn't support MSVS2003 any more, remove preprocessor checks for older versions.
5211        https://bugs.webkit.org/show_bug.cgi?id=116157
5212
5213        Reviewed by Anders Carlsson.
5214
5215        Also remove a gcc3.2 workaround.
5216
5217        Merges parts of these two commits by the talented Nico Weber:
5218        https://chromium.googlesource.com/chromium/blink/+/3677e2f47348daeff405a40b6f90fbdf0654c2f5
5219        https://chromium.googlesource.com/chromium/blink/+/0fcd96c448dc30be1416dcc15713c53710c1a312
5220
5221        * wtf/Alignment.h:
5222        (WTF):
5223        * wtf/Assertions.h:
5224        * wtf/Atomics.h:
5225        (WTF):
5226        * wtf/Compiler.h:
5227        * wtf/DateMath.cpp:
5228        (WTF::getLocalTime):
5229        * wtf/MathExtras.h:
5230        * wtf/RefCountedLeakCounter.h:
5231        (RefCountedLeakCounter):
5232        * wtf/StaticConstructors.h:
5233
52342013-05-15  Patrick Gansterer  <paroga@webkit.org>
5235
5236        Consolidate lists in WTF CMake files
5237        https://bugs.webkit.org/show_bug.cgi?id=116142
5238
5239        Reviewed by Martin Robinson.
5240
5241        Move common files into the CMakeLists.txt to avoid duplicating the list of files.
5242        Also rebase the recently added GTK files to match the other CMake ports, since
5243        the submitted patch was based on an older version of the source tree.
5244
5245        * wtf/CMakeLists.txt:
5246        * wtf/PlatformBlackBerry.cmake:
5247        * wtf/PlatformEfl.cmake:
5248        * wtf/PlatformGTK.cmake:
5249        * wtf/PlatformWinCE.cmake:
5250
52512013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
5252
5253        Remove WTF_USE_PLATFORM_STRATEGIES
5254        https://bugs.webkit.org/show_bug.cgi?id=114431
5255
5256        Reviewed by Darin Adler.
5257
5258        * wtf/Platform.h:
5259
52602013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
5261
5262        [BlackBerry] Use requestAnimationFrame for animations
5263        https://bugs.webkit.org/show_bug.cgi?id=115896
5264
5265        Reviewed by Rob Buis.
5266
5267        * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER and
5268        WTF_USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR for BlackBerry
5269        port.
5270
52712013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
5272
5273        [BlackBerry] Implement platform strategies
5274        https://bugs.webkit.org/show_bug.cgi?id=112162
5275
5276        Reviewed by Rob Buis.
5277
5278        * wtf/Platform.h: Add BlackBerry platform to the list of platforms
5279        using platform strategies.
5280
52812013-05-13  Benjamin Poulain  <benjamin@webkit.org>
5282
5283        Improve stringProtoFuncLastIndexOf for the prefix case
5284        https://bugs.webkit.org/show_bug.cgi?id=115952
5285
5286        Reviewed by Geoffrey Garen.
5287
5288        Add an optimized version of StringImpl::startsWith() for JavaScriptCore.
5289
5290        * wtf/text/StringImpl.cpp:
5291        (WTF::StringImpl::startsWith):
5292        * wtf/text/StringImpl.h:
5293        (StringImpl):
5294        (WTF::StringImpl::startsWith):
5295        * wtf/text/WTFString.h:
5296        (WTF::String::startsWith):
5297
52982013-05-13  Carlos Garcia Campos  <cgarcia@igalia.com>
5299
5300        Unreviewed. Fix Qt Linux MIPS32R2 build after r149879.
5301
5302        Bring back GLIB_CHECK_VERSION for GBytes since Qt Linux MIPS32R2
5303        depends on glib 2.24.2.
5304
5305        * wtf/gobject/GRefPtr.cpp:
5306        (_GBytes):
5307        (WTF::refGPtr):
5308        (WTF::derefGPtr):
5309
53102013-05-13  Anders Carlsson  <andersca@apple.com>
5311
5312        Remove UnusedParam.h
5313        https://bugs.webkit.org/show_bug.cgi?id=116029
5314
5315        Reviewed by Andreas Kling.
5316
5317        Remove UnusedParam.h, it's empty now.
5318
5319        * GNUmakefile.list.am:
5320        * WTF.pro:
5321        * WTF.vcproj/WTF.vcproj:
5322        * WTF.vcxproj/WTF.vcxproj:
5323        * WTF.vcxproj/WTF.vcxproj.filters:
5324        * WTF.xcodeproj/project.pbxproj:
5325        * wtf/CMakeLists.txt:
5326        * wtf/UnusedParam.h: Removed.
5327
53282013-05-13  Zalan Bujtas  <zalan@apple.com>
5329
5330        WebProcess consuming very high CPU on linkedin.com
5331        https://bugs.webkit.org/show_bug.cgi?id=115601
5332
5333        Reviewed by Andreas Kling.
5334
5335        Disable WEB_TIMING_MINIMAL.
5336        Turn off window.performance and performance.now(). Some JS frameworks expect
5337        additional Web Timing APIs, when performance.now() is available.
5338
5339        * wtf/FeatureDefines.h:
5340
53412013-05-12  Anders Carlsson  <andersca@apple.com>
5342
5343        Stop including UnusedParam.h
5344        https://bugs.webkit.org/show_bug.cgi?id=116003
5345
5346        Reviewed by Sam Weinig.
5347
5348        UnusedParam.h is empty now so there's no need to include it anymore.
5349
5350        * wtf/Atomics.h:
5351        * wtf/BoundsCheckedPointer.h:
5352        * wtf/DateMath.h:
5353        * wtf/FastMalloc.cpp:
5354        * wtf/NumberOfCores.cpp:
5355        * wtf/OSAllocator.h:
5356        * wtf/OSAllocatorPosix.cpp:
5357        * wtf/PageAllocation.h:
5358        * wtf/RefCounted.h:
5359        * wtf/TCSystemAlloc.cpp:
5360        * wtf/ThreadingPthreads.cpp:
5361        * wtf/Vector.h:
5362        * wtf/dtoa/cached-powers.cc:
5363        * wtf/dtoa/fixed-dtoa.cc:
5364
53652013-05-12  Anders Carlsson  <andersca@apple.com>
5366
5367        Move UNUSED_PARAM and UNUSED_LABEL macros to Compiler.h
5368        https://bugs.webkit.org/show_bug.cgi?id=115997
5369
5370        Reviewed by Benjamin Poulain.
5371
5372        UnusedParam.h predates Compiler.h and the macros defined there should just go into Compiler.h
5373
5374        * wtf/Compiler.h:
5375        (unusedParam):
5376        * wtf/UnusedParam.h:
5377
53782013-05-12  Anders Carlsson  <andersca@apple.com>
5379
5380        Remove Complex.h from WTF
5381        https://bugs.webkit.org/show_bug.cgi?id=115989
5382
5383        Reviewed by Beth Dakin.
5384
5385        Complex.h contains a typedef and a single function (that already has an equivalent in the STL).
5386        The header is used by three files in WebCore, so just use std::complex<double> and std::polar directly.
5387
5388        * GNUmakefile.list.am:
5389        * WTF.vcproj/WTF.vcproj:
5390        * WTF.vcxproj/WTF.vcxproj:
5391        * WTF.vcxproj/WTF.vcxproj.filters:
5392        * WTF.xcodeproj/project.pbxproj:
5393        * wtf/CMakeLists.txt:
5394        * wtf/Complex.h: Removed.
5395
53962013-05-11  Martin Robinson  <mrobinson@igalia.com>
5397
5398        [GTK] Add a basic cmake build for WTF and JavaScriptCore
5399        https://bugs.webkit.org/show_bug.cgi?id=115967
5400
5401        Reviewed by Laszlo Gombos.
5402
5403        * wtf/PlatformGTK.cmake: Added.
5404
54052013-05-11  Martin Robinson  <mrobinson@igalia.com>
5406
5407        Move defines to platform
5408
5409        [GTK] Move defines that will never be configured to Platform.h
5410        https://bugs.webkit.org/show_bug.cgi?id=115965
5411
5412        Reviewed by Andreas Kling.
5413
5414        * wtf/Platform.h: Add new defines that were previously in the autoconf header.
5415
54162013-05-12  Anders Carlsson  <andersca@apple.com>
5417
5418        Simplify AutodrainedPool
5419        https://bugs.webkit.org/show_bug.cgi?id=115986
5420
5421        Reviewed by Andreas Kling.
5422
5423        Remove the ability to cycle an AutodrainedPool, as well as the iteration count.
5424        Creating and draining pools is fast enough now that we don't need to try to be clever about it.
5425
5426        * wtf/AutodrainedPool.h:
5427        (AutodrainedPool):
5428        (WTF::AutodrainedPool::AutodrainedPool):
5429        * wtf/AutodrainedPoolMac.mm:
5430        (WTF::AutodrainedPool::AutodrainedPool):
5431
54322013-05-12  Anders Carlsson  <andersca@apple.com>
5433
5434        Move RemoteMemoryReader into FastMalloc.cpp
5435        https://bugs.webkit.org/show_bug.cgi?id=115985
5436
5437        Reviewed by Andreas Kling.
5438
5439        RemoteMemoryReader is only used in FastMalloc.cpp, and even had one of its member functions
5440        implemented there, so move the entire class template there and remove MallocZoneSupport.h.
5441
5442        * GNUmakefile.list.am:
5443        * WTF.pro:
5444        * WTF.vcproj/WTF.vcproj:
5445        * WTF.vcxproj/WTF.vcxproj:
5446        * WTF.vcxproj/WTF.vcxproj.filters:
5447        * WTF.xcodeproj/project.pbxproj:
5448        * wtf/CMakeLists.txt:
5449        * wtf/FastMalloc.cpp:
5450        (WTF):
5451        (PageHeapAllocator):
5452        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
5453        * wtf/MallocZoneSupport.h: Removed.
5454
54552013-05-10  Laszlo Gombos  <l.gombos@samsung.com>
5456
5457        Remove USE(OS_RANDOMNESS)
5458        https://bugs.webkit.org/show_bug.cgi?id=108095
5459
5460        Reviewed by Darin Adler.
5461
5462        Remove the USE(OS_RANDOMNESS) guard as it is turned on for all
5463        ports.
5464
5465        * wtf/CryptographicallyRandomNumber.cpp:
5466        (WTF::cryptographicallyRandomValues):
5467        * wtf/CryptographicallyRandomNumber.h:
5468        * wtf/OSRandomSource.cpp:
5469        (WTF::cryptographicallyRandomValuesFromOS):
5470        * wtf/OSRandomSource.h:
5471        * wtf/Platform.h:
5472        * wtf/RandomNumber.cpp:
5473        (WTF::randomNumber):
5474        * wtf/RandomNumber.h:
5475        * wtf/RandomNumberSeed.h:
5476        (WTF::initializeRandomNumberGenerator):
5477
54782013-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
5479
5480        [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
5481        https://bugs.webkit.org/show_bug.cgi?id=115904
5482
5483        Reviewed by Martin Robinson.
5484
5485        * wtf/gobject/GRefPtr.cpp:
5486
54872013-05-09  Darin Adler  <darin@apple.com>
5488
5489        RenderQuote has giant function for language to quotes map
5490        https://bugs.webkit.org/show_bug.cgi?id=115807
5491
5492        Reviewed by Anders Carlsson.
5493
5494        * wtf/unicode/CharacterNames.h: Added a couple of character names.
5495
54962013-05-08  Michael Saboff  <msaboff@apple.com>
5497
5498        JSC: There should be a disassembler for ARM Thumb 2
5499        https://bugs.webkit.org/show_bug.cgi?id=115827
5500
5501        Reviewed by Filip Pizlo.
5502
5503        Added a new disassembler for ARMv7 Thumb2 instructions for use by the JSC debugging
5504        and profiling code.  Enabled the disassembler for IOS bulds.
5505
5506        * wtf/Platform.h:
5507
55082013-05-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
5509
5510        Simplify RetainPtrObjectHashTraits
5511        https://bugs.webkit.org/show_bug.cgi?id=115822
5512
5513        Reviewed by Benjamin Poulain.
5514
5515        RetainPtrObjectHashTraits is inherited from SimpleClassHashTraits
5516        instead of GenericHashTraits re-using more shared functionality.
5517
5518        * wtf/RetainPtr.h:
5519        (WTF::RetainPtrObjectHashTraits::emptyValue):
5520
55212013-05-08  Anders Carlsson  <andersca@apple.com>
5522
5523        Assert at compile time that we don't pass Objective-C object pointers to adoptCF
5524        https://bugs.webkit.org/show_bug.cgi?id=115823
5525
5526        Reviewed by Geoffrey Garen.
5527
5528        static_assert in adoptCF that the object passed in is not an Objective-C object.
5529        * wtf/RetainPtr.h:
5530
55312013-05-08  Anders Carlsson  <andersca@apple.com>
5532
5533        Remove RetainPtr::adoptNS and RetainPtr::adoptCF
5534        https://bugs.webkit.org/show_bug.cgi?id=115817
5535
5536        Reviewed by Jessie Berlin.
5537
5538        These functions are now unused so remove them. The preferred way to create a RetainPtr with an
5539        adopted reference is to use the adoptNS/adoptCF free functions.
5540        
5541        Rewrite the move assignment operators to just call CFRelease explicitly.
5542
5543        * wtf/RetainPtr.h:
5544
55452013-05-08  Anders Carlsson  <andersca@apple.com>
5546
5547        Remove ThreadingNone.cpp
5548
5549        Rubber-stamped by Beth Dakin.
5550
5551        ThreadingNone.cpp is empty and not used anywhere.
5552
5553        * wtf/ThreadingNone.cpp: Removed.
5554
55552013-05-08  Anders Carlsson  <andersca@apple.com>
5556
5557        Remove HashMap::deleteAllKeys
5558        https://bugs.webkit.org/show_bug.cgi?id=115806
5559
5560        Reviewed by Brent Fulgham.
5561
5562        This function was not used anywhere so let's get rid of it.
5563
5564        * wtf/HashMap.h:
5565
55662013-05-08  Eric Carlson  <eric.carlson@apple.com>
5567
5568        [Mac] Inband text tracks are not in track menu on Lion
5569        https://bugs.webkit.org/show_bug.cgi?id=115740
5570
5571        Reviewed by Dean Jackson.
5572
5573        * wtf/Platform.h: AVFOUNDATION_TEXT_TRACK_SUPPORT -> AVFOUNDATION_MEDIA_SELECTION_GROUP
5574
55752013-05-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
5576
5577        HashTraits<RefPtr<P> >::peek should consider empty value
5578        https://bugs.webkit.org/show_bug.cgi?id=115799
5579
5580        Reviewed by Darin Adler.
5581
5582        HashTraits<RefPtr<P> >::peek() should consider passing of empty value which is
5583        raw pointer equal to '0', and return it right away instead of converting it to RefPtr
5584        and invoking get().
5585
5586        * wtf/HashTraits.h:
5587
55882013-05-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
5589
5590        Avoid unnecessary arguments copying inside GenericHashTraits methods
5591        https://bugs.webkit.org/show_bug.cgi?id=115733
5592
5593        Reviewed by Darin Adler.
5594
5595        Before the change both WTF::GenericHashTraits::passOut and WTF::GenericHashTraits::passOut
5596        used to return the given argument always by value and that caused implicit extra
5597        copying of the argument. It was OK as long as argument type T was POD, as compiler
5598        could optimize it, but in case T was a class having non-trivial copy constructor the
5599        extra copying of the argument could not have been obviated.
5600
5601        The proposed solution is to provide overloaded functions that accept non-temporary
5602        values and return them by reference thus avoiding extra copying.
5603
5604        The proposed solution made an impact on the size of libjavascriptcore_efl.so (EFL
5605        release build): the size decreased from 6554992 bytes to 6554560 bytes.
5606
5607        * wtf/HashTraits.h:
5608        (WTF::GenericHashTraits::passOut): 
5609        (WTF::GenericHashTraits::peek):
5610
56112013-05-07  Anders Carlsson  <andersca@apple.com>
5612
5613        Remove AlwaysInline.h from WTF
5614        https://bugs.webkit.org/show_bug.cgi?id=115727
5615
5616        Reviewed by Brent Fulgham.
5617
5618        The macro that used to be in AlwaysInline.h is now in Compiler.h so there's no reason
5619        to keep AlwaysInline.h around anymore.
5620
5621        * WTF.vcproj/WTF.vcproj:
5622        * WTF.vcxproj/WTF.vcxproj:
5623        * WTF.vcxproj/WTF.vcxproj.filters:
5624        * WTF.xcodeproj/project.pbxproj:
5625        * wtf/AlwaysInline.h: Removed.
5626        * wtf/BloomFilter.h:
5627        * wtf/FastMalloc.cpp:
5628        * wtf/PassRefPtr.h:
5629        * wtf/dtoa.cpp:
5630        * wtf/gobject/GRefPtr.h:
5631
56322013-05-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
5633
5634        HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
5635        https://bugs.webkit.org/show_bug.cgi?id=115646
5636
5637        Reviewed by Darin Adler.
5638
5639        HashTraits<RefPtr<P> >::PeekType should be raw pointer so that we
5640        can obviate multiple RefPtr copying when invoking HashMap<.., RefPtr>::get()
5641        method.
5642
5643        * wtf/HashTraits.h:
5644
56452013-05-06  Cosmin Truta  <ctruta@blackberry.com>
5646
5647        Cherry-pick fixes to bignum from upstream
5648        https://bugs.webkit.org/show_bug.cgi?id=115658
5649
5650        Reviewed by Darin Adler.
5651
5652        Cherry-picked the following change lists:
5653
5654        Fix bug in bignum implementation
5655        http://codereview.chromium.org/13454019
5656
5657        Make VS2005 project files compile without errors
5658        http://codereview.chromium.org/6286135
5659
5660        * wtf/dtoa/bignum.cc:
5661
56622013-05-06  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
5663
5664        Change HashTraits<RefPtr<P> >::PassOutType to PassRefPtr for better performance
5665        https://bugs.webkit.org/show_bug.cgi?id=115410
5666
5667        Reviewed by Darin Adler.
5668
5669        The type HashTraits<RefPtr<P> >::PassOutType is PassRefPtr now to
5670        avoid extra ref/unrefing on return from HashMap methods that transfer
5671        ownership, such as take.
5672
5673        * wtf/HashTable.h:
5674        (WTF::IdentityHashTranslator::equal):
5675        * wtf/HashTraits.h:
5676
56772013-05-05  Anders Carlsson  <andersca@apple.com>
5678
5679        Remove Vector::prepend
5680        https://bugs.webkit.org/show_bug.cgi?id=115618
5681
5682        Reviewed by Geoffrey Garen.
5683
5684        Given the performance characteristics of prepending something to a Vector, not having prepend
5685        will hopefully make developers think about whether prepending is necessary at all. For example,
5686        the functions in HexNumber.h were easily converted to using Vector::append and then Vector::reverse.
5687
5688        * wtf/HexNumber.h:
5689        (WTF::appendUnsignedAsHex):
5690        (WTF::appendUnsignedAsHexFixedSize):
5691        * wtf/Vector.h:
5692        (Vector):
5693
56942013-05-05  Anders Carlsson  <andersca@apple.com>
5695
5696        Remove the Vector::append overload that takes a Vector
5697        https://bugs.webkit.org/show_bug.cgi?id=115535
5698
5699        Reviewed by Andreas Kling.
5700
5701        The Vector::append overload that takes a Vector conflicts with rvalues in C++11, so remove it and
5702        replace calls to it with calls to appendVector.
5703
5704        * wtf/Vector.h:
5705        (Vector):
5706
57072013-05-04  Andreas Kling  <akling@apple.com>
5708
5709        Unreviewed, rolling out r149563.
5710        http://trac.webkit.org/changeset/149563
5711        https://bugs.webkit.org/show_bug.cgi?id=115587
5712
5713        Broke LLInt build.
5714
5715        * wtf/text/StringImpl.h:
5716        (StringImpl):
5717
57182013-05-04  Xan Lopez  <xlopez@igalia.com>
5719
5720        No need to declare JSC::LLInt::Data as friend class of WTF::StringImpl
5721        https://bugs.webkit.org/show_bug.cgi?id=115587
5722
5723        Reviewed by Andreas Kling.
5724
5725        No need to declare LLInt::Data as friend class of WTF::StringImpl,
5726        it does not use any private method/data member of the latter.
5727
5728        * wtf/text/StringImpl.h:
5729        (StringImpl):
5730
57312013-05-03  Brent Fulgham  <bfulgham@webkit.org>
5732
5733        Make ThreadFunctionInvocation fast allocated.
5734        https://bugs.webkit.org/show_bug.cgi?id=115552
5735
5736        Reviewed by Benjamin Poulain.
5737
5738        * wtf/ThreadFunctionInvocation.h:
5739        (ThreadFunctionInvocation): Make Fast-allocated.
5740
57412013-05-03  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
5742
5743        Remove WTF::ListRefPtr class
5744        https://bugs.webkit.org/show_bug.cgi?id=115516
5745
5746        Reviewed by Anders Carlsson.
5747
5748        ListRefPtr was used only by FontFamily class, besides it strongly depended
5749        on FontFamily class semantics which made it non-generic and inappropriate
5750        for being present inside WTF.
5751
5752        This patch removes WTF::ListRefPtr class and moves its the functionality
5753        into FontFamily class.
5754
5755        * GNUmakefile.list.am:
5756        * WTF.pro:
5757        * WTF.vcproj/WTF.vcproj:
5758        * WTF.vcxproj/WTF.vcxproj:
5759        * WTF.vcxproj/WTF.vcxproj.filters:
5760        * WTF.xcodeproj/project.pbxproj:
5761        * wtf/CMakeLists.txt:
5762        * wtf/Forward.h:
5763        (WTF):
5764        * wtf/ListRefPtr.h: Removed.
5765
57662013-05-02  Brent Fulgham  <bfulgham@webkit.org>
5767
5768        [WinCairo] Unreviewed build fix.
5769
5770        * WTF.vcxproj/WTF.vcxproj: Use WinCairo FeatureDefines
5771        * WTF.vcxproj/WTF.vcxproj.filters: Use WinCairo FeatureDefines
5772        * WTF.vcxproj/WTFDebugWinCairo.props: Added.
5773        * WTF.vcxproj/WTFReleaseWinCairo.props: Added.
5774
57752013-05-02  Brent Fulgham  <bfulgham@webkit.org>
5776
5777        [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html
5778        https://bugs.webkit.org/show_bug.cgi?id=115130
5779
5780        Reviewed by Tim Horton.
5781
5782        Windows is suffering from mismatched allocation/deallocation
5783        between the system allocator and fastMalloc/fastFree.  By turning
5784        off the global switch to fastMalloc, only classes specified to
5785        honor fastMalloc/fastFree are affected, and other memory allocation
5786        and freeing is done with consistent library calls.
5787
5788        * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for
5789        the Windows build.
5790
57912013-05-02  Eric Carlson  <eric.carlson@apple.com>
5792
5793        Caption menu does not include in-band captions
5794        https://bugs.webkit.org/show_bug.cgi?id=111934
5795
5796        Reviewed by Dean Jackson.
5797
5798        * wtf/Platform.h: Define HAVE_AVFOUNDATION_TEXT_TRACK_SUPPORT on 10.8 and higher. Added
5799            HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT.
5800
58012013-05-02  Brent Fulgham  <bfulgham@webkit.org>
5802
5803        Make BloomFilter fast allocated.
5804        https://bugs.webkit.org/show_bug.cgi?id=115519
5805
5806        Reviewed by Benjamin Poulain.
5807
5808        * wtf/BloomFilter.h:
5809        (BloomFilter): Make BloomFilter Fast-allocated.
5810
58112013-05-01  Michael Saboff  <msaboff@apple.com>
5812
5813        FastMalloc.cpp should use system defined page size instead of literal constant
5814        https://bugs.webkit.org/show_bug.cgi?id=115502
5815
5816        Reviewed by Geoffrey Garen.
5817
5818        Updated kPageShift to be PAGE_SHIFT for Mac.  Changed kMaxSize to be fixed at 32K.
5819        Updated kNumClasses for 4K and 16K page sizes.
5820
5821        * wtf/FastMalloc.cpp:
5822        kPageShift: Changed this to be PAGE_SHIFT on mac.
5823
58242013-05-01  Roger Fong  <roger_fong@apple.com>
5825
5826        Set Path in makefile for AppleWin.
5827
5828        * WTF.vcxproj/WTF.make:
5829
58302013-05-01  Anders Carlsson  <andersca@apple.com>
5831
5832        Add FunctionDispatcher class and make RunLoop derive from it
5833        https://bugs.webkit.org/show_bug.cgi?id=115480
5834
5835        Reviewed by Sam Weinig.
5836
5837        Add FunctionDispatcher files.
5838
5839        * WTF.pro:
5840        * WTF.vcproj/WTF.vcproj:
5841        * WTF.vcxproj/WTF.vcxproj:
5842        * WTF.xcodeproj/project.pbxproj:
5843        * wtf/FunctionDispatcher.cpp: Added.
5844        (WTF::FunctionDispatcher::FunctionDispatcher):
5845        (WTF::FunctionDispatcher::~FunctionDispatcher):
5846        * wtf/FunctionDispatcher.h: Added.
5847
58482013-05-01  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
5849
5850        [Qt][Win] Fix build after r149416.
5851        https://bugs.webkit.org/show_bug.cgi?id=115474
5852
5853        Reviewed by Anders Carlsson.
5854
5855        * WTF.pro:
5856        * wtf/threads/BinarySemaphore.h:
5857        (BinarySemaphore):
5858
58592013-05-01  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
5860
5861        [Qt] Unreviewed buildfix after r149416.
5862
5863        * WTF.pro:
5864
58652013-04-30  Anders Carlsson  <andersca@apple.com>
5866
5867        Remove the WebKit2 BinarySemaphore class
5868        https://bugs.webkit.org/show_bug.cgi?id=115458
5869
5870        Reviewed by Benjamin Poulain.
5871
5872        * wtf/Forward.h:
5873        Add BinarySemaphore forward declaration.
5874
5875        * wtf/threads/BinarySemaphore.h:
5876        Add WTF_EXPORT_PRIVATE to declarations.
5877
58782013-04-30  Commit Queue  <rniwa@webkit.org>
5879
5880        Unreviewed, rolling out r149408.
5881        http://trac.webkit.org/changeset/149408
5882        https://bugs.webkit.org/show_bug.cgi?id=115453
5883
5884        Broke Windows Build (Requested by bfulgham on #webkit).
5885
5886        * wtf/Platform.h:
5887
58882013-04-30  Brent Fulgham  <bfulgham@webkit.org>
5889
5890        [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html
5891        https://bugs.webkit.org/show_bug.cgi?id=115130
5892
5893        Reviewed by Tim Horton.
5894
5895        Windows is suffering from mismatched allocation/deallocation
5896        between the system allocator and fastMalloc/fastFree.  By turning
5897        off the global switch to fastMalloc, only classes specified to
5898        honor fastMalloc/fastFree are affected, and other memory allocation
5899        and freeing is done with consistent library calls.
5900
5901        * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for
5902        the Windows build.
5903
59042013-04-30  Commit Queue  <rniwa@webkit.org>
5905
5906        Unreviewed, rolling out r149349 and r149354.
5907        http://trac.webkit.org/changeset/149349
5908        http://trac.webkit.org/changeset/149354
5909        https://bugs.webkit.org/show_bug.cgi?id=115444
5910
5911         The Thumb version of compileSoftModulo make invalid use of
5912        registers (Requested by benjaminp on #webkit).
5913
5914        * wtf/Platform.h:
5915
59162013-04-30  Darin Adler  <darin@apple.com>
5917
5918        [Mac] Make adoptNS faster on platforms without garbage collection by skipping a CFRetain/NSRelease pair
5919        https://bugs.webkit.org/show_bug.cgi?id=115424
5920
5921        Reviewed by Eric Carlson.
5922
5923        * wtf/RetainPtr.h:
5924        (WTF::adoptNSReference): When OBJC_NO_GC is set, make this an empty function, because in that case
5925        CFRetain and -[NSObject retain] are the same thing and there is no need to call CFRetain and
5926        -[NSObject release] to adopt an Objective-C object.
5927
59282013-04-30  Anders Carlsson  <andersca@apple.com>
5929
5930        String::isolatedCopy() can avoid a copy if the original is a temporary
5931        https://bugs.webkit.org/show_bug.cgi?id=115425
5932
5933        Reviewed by Darin Adler.
5934
5935        * wtf/Compiler.h:
5936        Add WTF_COMPILER_SUPPORTS_CXX_REFERENCE_QUALIFIED_FUNCTIONS define.
5937
5938        * wtf/text/WTFString.cpp:
5939        (WTF::String::isolatedCopy):
5940        * wtf/text/WTFString.h:
5941        If COMPILER_SUPPORTS(CXX_REFERENCE_QUALIFIED_FUNCTIONS) is true, add two overloads of String::isolatedCopy().
5942        One is used if *this is an lvalue, and one is used if *this is an rvalue. In the latter case, we know that the original
5943        String object is a temporary and will be going away, so if it's safe to send it to another thread (if it's not an AtomicString,
5944        and if it's refcount is 1), then we can just steal the StringImpl from the original and avoid a copy altogether.
5945
59462013-04-30  Zalan Bujtas  <zalan@apple.com>
5947
5948        Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/
5949        https://bugs.webkit.org/show_bug.cgi?id=111244
5950
5951        Reviewed by David Kilzer.
5952        
5953        Enable performance.now() as a minimal subset of Web Timing API. 
5954        It returns DOMHighResTimeStamp, a monotonically increasing value representing the 
5955        number of milliseconds from the start of the navigation of the current document.
5956        JS libraries use this API to check against the requestAnimationFrame() timestamp.
5957
5958        * wtf/FeatureDefines.h:
5959
59602013-04-29  Cosmin Truta  <ctruta@blackberry.com>
5961
5962        [ARM] Expand the use of integer division
5963        https://bugs.webkit.org/show_bug.cgi?id=115138
5964
5965        Reviewed by Benjamin Poulain.
5966
5967        * wtf/Platform.h: Added ENABLE_ARM_INTEGER_DIV.
5968
59692013-04-29  Anders Carlsson  <andersca@apple.com>
5970
5971        It should be an error to use adoptPtr with RefCounted subclasses
5972        https://bugs.webkit.org/show_bug.cgi?id=115389
5973
5974        Reviewed by Benjamin Poulain.
5975
5976        * wtf/PassOwnPtr.h:
5977        (WTF::adoptPtr):
5978        Add COMPILE_ASSERTs.
5979
59802013-04-29  Patrick Gansterer  <paroga@webkit.org>
5981
5982        [WIN] Add workaround for UNUSED_PARAM()
5983        https://bugs.webkit.org/show_bug.cgi?id=115350
5984
5985        Reviewed by Andreas Kling.
5986
5987        r147882 added an workaround for the MSVC compiler on Windows CE.
5988        Extend this workaround to whole MSVC compiler, since the same
5989        problem occurs with the Visual Studio 10 compiler too.
5990
5991        * wtf/UnusedParam.h:
5992
59932013-04-29  Patrick Gansterer  <paroga@webkit.org>
5994
5995        [WIN] Add WTF_USE_IMLANG_FONT_LINK2
5996        https://bugs.webkit.org/show_bug.cgi?id=115198
5997
5998        Reviewed by Andreas Kling.
5999
6000        * wtf/Platform.h:
6001
60022013-04-29  Patrick Gansterer  <paroga@webkit.org>
6003
6004        Define USE(ICU_UNICODE) if USE(WCHAR_UNICODE) is false
6005        https://bugs.webkit.org/show_bug.cgi?id=115349
6006
6007        Reviewed by Andreas Kling.
6008
6009        Since we support only ICU and WCHAR as Unicode backend (ICU is the default)
6010        automatically use ICU if WCHAR was not selected via compiler defines.
6011
6012        * wtf/Platform.h:
6013
60142013-04-29  Patrick Gansterer  <paroga@webkit.org>
6015
6016        Build fix for WinCE after r148888 and r149097
6017        https://bugs.webkit.org/show_bug.cgi?id=115168
6018
6019        Reviewed by Anders Carlsson.
6020
6021        When using compiler intrinsics on Windows CE the compiler complains
6022        about wrong linkage specification of replaced CRT functions defined
6023        in math.h. This is because the compiler has intrinsics for this
6024        functions defined, and requires them to have extern "C" linkage.
6025
6026        * wtf/MathExtras.h:
6027        (wtf_atan2): Added extern "C" to function signature.
6028        (wtf_fmod): Ditto.
6029        (wtf_pow): Ditto.
6030
60312013-04-29  Carlos Garcia Campos  <cgarcia@igalia.com>
6032
6033        Unreviewed. Fix make distcheck.
6034
6035        * GNUmakefile.list.am: Add missing header file to compilation.
6036
60372013-04-27  Darin Adler  <darin@apple.com>
6038
6039        Move from constructor and member function adoptCF/NS to free function adoptCF/NS.
6040        https://bugs.webkit.org/show_bug.cgi?id=115307
6041
6042        Reviewed by Geoffrey Garen.
6043
6044        * wtf/RunLoopTimerCF.cpp:
6045        (WTF::RunLoopTimerBase::start):
6046        * wtf/SchedulePair.h:
6047        (WTF::SchedulePair::SchedulePair):
6048        * wtf/SchedulePairMac.mm:
6049        (WTF::SchedulePair::SchedulePair):
6050        * wtf/unicode/icu/CollatorICU.cpp:
6051        (WTF::Collator::userDefault):
6052        Use adoptCF free function.
6053
60542013-04-26  Geoffrey Garen  <ggaren@apple.com>
6055
6056        Filled out more cases of branch folding in bytecode when emitting expressions into a branching context
6057        https://bugs.webkit.org/show_bug.cgi?id=115057
6058
6059        Reviewed by Filip Pizlo.
6060
6061        Added a helper constructor for TriState so clients can make one without
6062        branching or making assumptions about the integer values of TriStates.
6063
6064        * wtf/TriState.h:
6065        (WTF::triState):
6066        (WTF):
6067
60682013-04-26  Roger Fong  <roger_fong@apple.com>
6069
6070        Make Apple Windows VS2010 build results into and get dependencies from __32 suffixed folders.
6071        Make the DebugSuffix configuration use _debug dependencies.
6072
6073        * WTF.vcxproj/WTF.make:
6074        * WTF.vcxproj/WTF.vcxproj:
6075        * WTF.vcxproj/WTFCommon.props:
6076        * WTF.vcxproj/WTFDebug.props:
6077        * WTF.vcxproj/WTFGenerated.make:
6078        * WTF.vcxproj/WTFGenerated.vcxproj:
6079        * WTF.vcxproj/WTFGeneratedCommon.props:
6080        * WTF.vcxproj/WTFGeneratedDebug.props:
6081        * WTF.vcxproj/WTFGeneratedProduction.props:
6082        * WTF.vcxproj/WTFGeneratedRelease.props:
6083        * WTF.vcxproj/WTFProduction.props:
6084        * WTF.vcxproj/WTFRelease.props:
6085        * WTF.vcxproj/build-generated-files.sh:
6086        * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
6087        (react_to_vsprops_changes):
6088
60892013-04-26  Martin Robinson  <mrobinson@igalia.com>
6090
6091        Remove the remaining Skia #ifdefs
6092        https://bugs.webkit.org/show_bug.cgi?id=114886
6093
6094        Reviewed by Benjamin Poulain.
6095
6096        * wtf/Platform.h:
6097
60982013-04-26  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
6099
6100        Add move semantics to RefPtr
6101        https://bugs.webkit.org/show_bug.cgi?id=115033
6102
6103        Reviewed by Anders Carlsson.
6104
6105        Add move constructors and move assignment operators to RefPtr when
6106        COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES).
6107        This obviates unnecessary reffing/ureffing when RefPtr is created
6108        or assigned from rvalue references.
6109
6110        * wtf/RefPtr.h:
6111        (RefPtr):
6112        (WTF::RefPtr::RefPtr):
6113        (WTF::RefPtr::operator=):
6114
61152013-04-26  Andreas Kling  <akling@apple.com>
6116
6117        Remove wxWebKit from WTF.
6118        <http://webkit.org/b/115249>
6119
6120        Reviewed by Antti Koivisto.
6121
6122        * wscript: Removed.
6123        * wtf/ArrayBufferView.h:
6124        (ArrayBufferView):
6125        * wtf/CurrentTime.cpp:
6126        * wtf/DisallowCType.h:
6127        * wtf/ExportMacros.h:
6128        * wtf/FeatureDefines.h:
6129        * wtf/Platform.h:
6130        * wtf/text/WTFString.h:
6131        (String):
6132        * wtf/wx/MainThreadWx.cpp: Removed.
6133        * wtf/wx/StringWx.cpp: Removed.
6134
61352013-04-25  Filip Pizlo  <fpizlo@apple.com>
6136
6137        Unreviewed, roll out http://trac.webkit.org/changeset/148999
6138        It broke http://kripken.github.io/ammo.js/examples/new/ammo.html
6139
6140        * wtf/TriState.h:
6141
61422013-04-25  Oliver Hunt  <oliver@apple.com>
6143
6144        Fix 32bit build
6145
6146        * wtf/StackBounds.cpp:
6147        (WTF::StackBounds::initialize):
6148
61492013-04-25  Oliver Hunt  <oliver@apple.com>
6150
6151        Stack guards are too conservative
6152        https://bugs.webkit.org/show_bug.cgi?id=115147
6153
6154        Reviewed by Mark Hahnenberg.
6155
6156        Use getrlimit on darwin to get the stack size for the main thread.
6157
6158        * wtf/StackBounds.cpp:
6159        (WTF::StackBounds::initialize):
6160
61612013-04-25  Andreas Kling  <akling@apple.com>
6162
6163        Remove ENABLE(PARSED_STYLE_SHEET_CACHING) and make it always-on.
6164
6165        Rubber-stamped by Anders Koivisto.
6166
6167        * wtf/FeatureDefines.h:
6168
61692013-04-25  peavo@outlook.com  <peavo@outlook.com>
6170
6171        [Windows] Compile fix.
6172        https://bugs.webkit.org/show_bug.cgi?id=115170
6173
6174        Reviewed by Filip Pizlo.
6175
6176        Forward declare function, instead of including intrin.h.
6177
6178        * wtf/Atomics.h:
6179
61802013-04-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
6181
6182        Use std::move in AtomicString
6183        https://bugs.webkit.org/show_bug.cgi?id=115102
6184
6185        Reviewed by Anders Carlsson.
6186
6187        Use std::move in AtomicString instead of direct casting to rvalue references.
6188
6189        * wtf/text/AtomicString.h:
6190        (AtomicString):
6191        (WTF::AtomicString::AtomicString):
6192        (WTF::AtomicString::operator=):
6193
61942013-04-25  Patrick Gansterer  <paroga@webkit.org>
6195
6196        Unreviewed WinCE build fix after r148888.
6197
6198        * wtf/Atomics.h: WinCE version of intrin.h is called cmnintrin.h.
6199
62002013-04-24  Roger Fong  <roger_fong@apple.com>
6201
6202        Have VS2010 WebKit solution look in WebKit_Libraries/lib32 for dependencies.
6203
6204        * WTF.vcxproj/build-generated-files.sh:
6205
62062013-04-24  Benjamin Poulain  <benjamin@webkit.org>
6207
6208        Use post-branch store for RefCountedBase::derefBase
6209        https://bugs.webkit.org/show_bug.cgi?id=115078
6210
6211        Reviewed by Andreas Kling.
6212
6213        * wtf/RefCounted.h:
6214        (WTF::RefCountedBase::derefBase): This makes the assembly easier to follow.
6215
62162013-04-23  Geoffrey Garen  <ggaren@apple.com>
6217
6218        Filled out more cases of branch folding in bytecode when emitting expressions into a branching context
6219        https://bugs.webkit.org/show_bug.cgi?id=115057
6220
6221        Reviewed by Filip Pizlo.
6222
6223        Added a helper constructor for TriState so clients can make one without
6224        branching or making assumptions about the integer values of TriStates.
6225
6226        * wtf/TriState.h:
6227        (WTF::triState):
6228        (WTF):
6229
62302013-04-23  Roger Fong  <roger_fong@apple.com>
6231
6232        AppleWin build fix.
6233
6234        * WTF.vcproj/WTF.vcproj:
6235
62362013-04-23  Benjamin Poulain  <bpoulain@apple.com>
6237
6238        Remove unused code of RefCounted after chromium removal
6239        https://bugs.webkit.org/show_bug.cgi?id=115009
6240
6241        Reviewed by Ryosuke Niwa.
6242
6243        * wtf/RefCounted.h:
6244        (WTF::RefCountedBase::refCount):
6245        (RefCountedBase):
6246        It looks like addressOfCount() is no longer needed.
6247        Also change the type back to unsigned as it make more sense.
6248
62492013-04-23  David Kilzer  <ddkilzer@apple.com>
6250
6251        RetainPtr.h should compile with -Wshorten-64-to-32
6252        <http://webkit.org/b/115047>
6253
6254        Reviewed by Anders Carlsson.
6255
6256        Fixes the following warning:
6257
6258            RetainPtr.h:318:20: error: implicit conversion loses integer precision: 'CFHashCode' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
6259                        return CFHash(o.get());
6260                        ~~~~~~ ^~~~~~~~~~~~~~~
6261
6262        * wtf/RetainPtr.h:
6263        (WTF::RetainPtrObjectHash::hash): Cast return value of CFHash()
6264        to unsigned.  This has no effect on 32-bit architectures, but
6265        takes the lower 32-bits of the CFHashCode (unsigned long) on
6266        64-bit architectures, which is what happens implicitly now.
6267
62682013-04-22  Patrick Gansterer  <paroga@webkit.org>
6269
6270        [CMake] Move NullPtr.cpp from PlatformWinCE.cmake to CMakeLists.txt
6271        https://bugs.webkit.org/show_bug.cgi?id=114557
6272
6273        Reviewed by Laszlo Gombos.
6274
6275        This file is not specific to Windwos CE. Move it the the general
6276        CMakeLists.txt so other ports can use it to. It does not affect
6277        ports which do not need it, since it contains a preprocessor guard.
6278
6279        * wtf/CMakeLists.txt:
6280        * wtf/PlatformWinCE.cmake:
6281
62822013-04-22  Benjamin Poulain  <benjamin@webkit.org>
6283
6284        Remove the memory instrumentation code
6285        https://bugs.webkit.org/show_bug.cgi?id=114931
6286
6287        Reviewed by Andreas Kling.
6288
6289        On Mac x86_64, the code removal cause the binary to be
6290        9224 bytes smaller.
6291
6292        * GNUmakefile.list.am:
6293        * WTF.pro:
6294        * WTF.vcproj/WTF.vcproj:
6295        * WTF.vcxproj/WTF.vcxproj:
6296        * WTF.vcxproj/WTF.vcxproj.filters:
6297        * WTF.xcodeproj/project.pbxproj:
6298        * wtf/CMakeLists.txt:
6299        * wtf/Forward.h:
6300        * wtf/ListHashSet.h:
6301        (ListHashSet):
6302        (ListHashSetNodeAllocator):
6303        (WTF::ListHashSetNodeAllocator::pool):
6304        (WTF::ListHashSetNodeAllocator::pastPool):
6305        * wtf/MemoryInstrumentation.cpp: Removed.
6306        * wtf/MemoryInstrumentation.h: Removed.
6307        * wtf/MemoryInstrumentationArrayBufferView.h: Removed.
6308        * wtf/MemoryInstrumentationHashCountedSet.h: Removed.
6309        * wtf/MemoryInstrumentationHashMap.h: Removed.
6310        * wtf/MemoryInstrumentationHashSet.h: Removed.
6311        * wtf/MemoryInstrumentationListHashSet.h: Removed.
6312        * wtf/MemoryInstrumentationSequence.h: Removed.
6313        * wtf/MemoryInstrumentationString.h: Removed.
6314        * wtf/MemoryInstrumentationVector.h: Removed.
6315        * wtf/MemoryObjectInfo.h: Removed.
6316        * wtf/text/AtomicString.h:
6317        * wtf/text/StringImpl.h:
6318        (WTF::StringImpl::isASCIILiteral):
6319        * wtf/text/WTFString.h:
6320
63212013-04-22  David Kilzer  <ddkilzer@apple.com>
6322
6323        StringImpl.h should compile with -Wshorten-64-to-32
6324        <http://webkit.org/b/114970>
6325
6326        Reviewed by Darin Adler.
6327
6328        Fixes the following warnings with -Wshorten-64-to-32:
6329
6330            StringImpl.h:317:25: error: implicit conversion loses integer precision: 'uintptr_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
6331                    unsigned hash = reinterpret_cast<uintptr_t>(this);
6332                             ~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6333
6334        * wtf/text/StringImpl.h:
6335        (WTF::StringImpl::StringImpl): Add static_cast<uint32_t>() to
6336        formalize taking the lower 32-bits of the pointer value on
6337        64-bit architectures.
6338
63392013-04-22  Andreas Kling  <akling@apple.com>
6340
6341        Shrink baseline size of WTF::Vector on 64-bit by switching to unsigned capacity and size.
6342        <http://webkit.org/b/97268>
6343        <rdar://problem/12376519>
6344
6345        Reviewed by Sam Weinig.
6346
6347        Shrink Vector by 8 bytes on 64-bit by using 32-bit capacity and size.
6348        Vector now inherits from VectorBuffer instead of having a VectorBuffer member;
6349        this is necessary for m_size to fall into the padding after the base class members.
6350
6351        The WTF::Vector API still uses size_t.
6352
6353        Based on Blink r148313 by <cevans@chromium.org>.
6354
6355        * wtf/SizeLimits.cpp:
6356        * wtf/Vector.h:
6357        (WTF::VectorBufferBase::allocateBuffer):
6358        (WTF::VectorBufferBase::tryAllocateBuffer):
6359        (VectorBufferBase):
6360        (WTF::VectorBuffer::shouldReallocateBuffer):
6361        (Vector):
6362        (WTF::Vector::Vector):
6363        (WTF::Vector::capacity):
6364        (WTF::Vector::at):
6365        (WTF::Vector::data):
6366        (WTF::Vector::swap):
6367        (WTF::::Vector):
6368        (WTF::::reserveCapacity):
6369        (WTF::::tryReserveCapacity):
6370        (WTF::::reserveInitialCapacity):
6371        (WTF::::shrinkCapacity):
6372        (WTF::::releaseBuffer):
6373
63742013-04-21  Filip Pizlo  <fpizlo@apple.com>
6375
6376        Memory barrier support should also ensure that we always do a compiler fence
6377        https://bugs.webkit.org/show_bug.cgi?id=114934
6378
6379        Reviewed by Michael Saboff.
6380        
6381        This is a cherry-pick merge of the WTF part of r148836 from the dfgFourthTier
6382        branch. It fixes a memory ordering bug that is likely asymptomatic, but
6383        nonetheless real: TCSpinLock expects that using a memoryBarrierBeforeUnlock()
6384        prior to setting lockword_ to 0 will ensure that the assignment to lockword_
6385        won't get floated above any of the stores in the critical section. While that
6386        memory barrier does indeed do the right thing on ARM, it doesn't do the right
6387        thing on other architectures: it turns into empty code that the compiler blows
6388        away, which is fine for the hardware since X86 won't reorder that store - but
6389        it's not fine for the compiler, which may still do its own reorderings.
6390        
6391        The WTF part of r148836 fixes this by using a compiler fence: an empty asm
6392        volatile block that is marked as clobbering memory.
6393        
6394        Instead of doing a separate surgical fix in trunk, I decided to merge the
6395        whole WTF change over, to make merging easier in the future.
6396        
6397        Performance testing of this change in dfgFourthTier showed no regression.
6398
6399        * wtf/Atomics.h:
6400        (WTF::compilerFence):
6401        (WTF::armV7_dmb):
6402        (WTF::armV7_dmb_st):
6403        (WTF::loadLoadFence):
6404        (WTF::loadStoreFence):
6405        (WTF::storeLoadFence):
6406        (WTF::storeStoreFence):
6407        (WTF::memoryBarrierAfterLock):
6408        (WTF::memoryBarrierBeforeUnlock):
6409        (WTF::x86_mfence):
6410
64112013-04-22  David Kilzer  <ddkilzer@apple.com>
6412
6413        WTF::AtomicString::find() should take unsigned 'start' argument
6414        <http://webkit.org/b/114958>
6415
6416        Reviewed by Darin Adler.
6417
6418        Fixes the following warnings with -Wshorten-64-to-32:
6419
6420            AtomicString.h:113:76: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
6421                size_t find(UChar c, size_t start = 0) const { return m_string.find(c, start); }
6422                                                                      ~~~~~~~~         ^~~~~
6423            AtomicString.h:115:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
6424                    { return m_string.find(s, start, caseSentitive); }
6425                             ~~~~~~~~         ^~~~~
6426            AtomicString.h:117:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
6427                    { return m_string.find(s, start, caseSentitive); }
6428                             ~~~~~~~~         ^~~~~
6429
6430        * wtf/text/AtomicString.h:
6431        (WTF::AtomicString::find): Change type of 'start' argument from
6432        size_t to unsigned.
6433
64342013-04-21  Benjamin Poulain  <benjamin@webkit.org>
6435
6436        Improve StringImpl code density for older ARM hardware
6437        https://bugs.webkit.org/show_bug.cgi?id=114898
6438
6439        Reviewed by Geoffrey Garen.
6440
6441        Reduce the number of instructions needed for StringImpl::deref
6442        on older ARM hardware.
6443
6444        The extra indirection should have a negligible impact on x86_64.
6445
6446        * wtf/text/StringImpl.cpp:
6447        (WTF::StringImpl::destroy):
6448        * wtf/text/StringImpl.h:
6449        (StringImpl):
6450        (WTF::StringImpl::deref):
6451
64522013-04-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
6453
6454        LLint should be able to use x87 instead of SSE for floating pointer
6455        https://bugs.webkit.org/show_bug.cgi?id=112239
6456
6457        Reviewed by Filip Pizlo.
6458
6459        Disable GTK workaround now that LLInt does not require SSE2.
6460
6461        * wtf/Platform.h:
6462
64632013-04-19  Roger Fong  <roger_fong@apple.com>
6464
6465        Remove uses of WebKit_Source from AppleWin build in WTF.
6466
6467        * WTF.vcxproj/WTF.make:
6468        * WTF.vcxproj/copy-files.cmd:
6469        * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
6470        (react_to_vsprops_changes):
6471        (react_to_webkit1_interface_changes):
6472
64732013-04-19  Benjamin Poulain  <benjamin@webkit.org>
6474
6475        Remove the declaration of MemoryObjectInfo from StringImpl
6476        https://bugs.webkit.org/show_bug.cgi?id=114788
6477
6478        Reviewed by Andreas Kling.
6479
6480        * wtf/text/StringImpl.h: The declaration is an other left over from chromium.
6481
64822013-04-19  Benjamin Poulain  <benjamin@webkit.org>
6483
6484        Make StringImpl::cost const
6485        https://bugs.webkit.org/show_bug.cgi?id=114790
6486
6487        Reviewed by Andreas Kling.
6488
6489        * wtf/text/StringImpl.h:
6490        (WTF::StringImpl::cost):
6491
64922013-04-19  Roger Fong  <roger_fong@apple.com>
6493
6494        Unreviewed. WebKit_Source is incorrectly set.
6495
6496        * WTF.vcxproj/WTF.make:
6497
64982013-04-19  Alberto Garcia  <agarcia@igalia.com>
6499
6500        OSAllocatorPosix: fix build warnings about unused parameters in QNX
6501        https://bugs.webkit.org/show_bug.cgi?id=114859
6502
6503        Reviewed by Carlos Garcia Campos.
6504
6505        * wtf/OSAllocatorPosix.cpp:
6506        (WTF::OSAllocator::reserveUncommitted):
6507
65082013-04-19  Dan Beam  <dbeam@chromium.org>
6509
6510        Remove unmaintained feature REQUEST_AUTOCOMPLETE
6511        https://bugs.webkit.org/show_bug.cgi?id=114846
6512
6513        Reviewed by Kent Tamura.
6514
6515        * wtf/FeatureDefines.h: Remove REQUEST_AUTOCOMPLETE as a feature definition.
6516
65172013-04-18  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
6518
6519        Speculative build fix for Qt Mountain Lion Release after r148639.
6520        https://bugs.webkit.org/show_bug.cgi?id=114793
6521
6522        Reviewed by Michael Saboff.
6523
6524        * wtf/CurrentTime.cpp:
6525
65262013-04-17  Mark Lam  <mark.lam@apple.com>
6527
6528        Added currentCPUTime() and currentCPUTimeMS().
6529        https://bugs.webkit.org/show_bug.cgi?id=114577.
6530
6531        Reviewed by Geoffrey Garen.
6532
6533        The currentCPUTime() implementation came from the old TimeoutChecker.cpp.
6534
6535        * wtf/CurrentTime.cpp:
6536        (WTF::currentCPUTime):
6537        (WTF::currentCPUTimeMS):
6538        * wtf/CurrentTime.h:
6539
65402013-04-17  Ryosuke Niwa  <rniwa@webkit.org>
6541
6542        REGRESSION(r148584): WebKit nightly builds don't load any page
6543        https://bugs.webkit.org/show_bug.cgi?id=114752
6544
6545        Reviewed by Anders Carlsson.
6546
6547        We can't use C++ style (//) comments in Platform.h because WebKit2/DerivedSource.make doesn't know
6548        how to strip it to be merged with *.sb.in to generate *.sb files. Specifically, we have:
6549        
6550        # Some versions of clang incorrectly strip out // comments in c89 code.
6551        # Use -traditional as a workaround, but only when needed since that causes
6552        # other problems with later versions of clang.
6553        ifeq ($(shell echo '//x' | $(CC) -E -P -x c -std=c89 - | grep x),)
6554        TEXT_PREPROCESSOR_FLAGS=-E -P -x c -traditional -w
6555        else
6556        TEXT_PREPROCESSOR_FLAGS=-E -P -x c -std=c89 -w
6557        endif
6558
6559        * wtf/Platform.h:
6560
65612013-04-17  Brent Fulgham  <bfulgham@webkit.org>
6562
6563        [Windows, WinCairo] Remove Include Settings for Pthreads from WTF
6564        https://bugs.webkit.org/show_bug.cgi?id=114694
6565
6566        Reviewed by Ryosuke Niwa.
6567
6568        * WTF.vcproj/WTFCommon.vsprops: Remove pthread search path.
6569        * WTF.vcxproj/WTFCommon.props: Remove pthread search path.
6570        * wtf/FastMalloc.cpp: Guard pthread.h include for non-pthread
6571        builds.
6572
65732013-04-16  Oliver Hunt  <oliver@apple.com>
6574
6575        Harden FastMalloc against partial pointer overflows
6576        https://bugs.webkit.org/show_bug.cgi?id=114716
6577
6578        Reviewed by Gavin Barraclough.
6579
6580        Bite the bullet and perform object alignment checks on free.
6581        malloc/free micro benchmark shows a regression, but real
6582        benchmarks don't.  There's a little code motion in this avoid
6583        taking too much of a performance hit.  In addition to the
6584        alignment check we also validate the containing span as
6585        we've already taken the hit of finding it.
6586
6587        * wtf/FastMalloc.cpp:
6588        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
6589
65902013-04-16  Sam Weinig  <sam@webkit.org>
6591
6592        Fix fallout after r148545.
6593
6594        * wtf/Platform.h:
6595        Move Platform defines that were incorrectly in WebCore, into Platform.h
6596
65972013-04-15  Commit Queue  <rniwa@webkit.org>
6598
6599        Unreviewed, rolling out r148488.
6600        http://trac.webkit.org/changeset/148488
6601        https://bugs.webkit.org/show_bug.cgi?id=114660
6602
6603        Roll back in r148462 since it was a false positive. (Requested
6604        by rniwa on #webkit).
6605
6606        * wtf/FastMalloc.cpp:
6607        (WTF):
6608        (WTF::setThreadHeap):
6609        (WTF::TCMalloc_ThreadCache::GetThreadHeap):
6610        (WTF::TCMalloc_ThreadCache::InitTSD):
6611        * wtf/ThreadSpecificWin.cpp:
6612        (WTF::destructorsList):
6613        (WTF::destructorsMutex):
6614        (WTF::threadSpecificKeyCreate):
6615        (WTF::threadSpecificKeyDelete):
6616
66172013-04-15  Commit Queue  <rniwa@webkit.org>
6618
6619        Unreviewed, rolling out r148462.
6620        http://trac.webkit.org/changeset/148462
6621        https://bugs.webkit.org/show_bug.cgi?id=114658
6622
6623        Broke Windows builds (Requested by rniwa on #webkit).
6624
6625        * wtf/FastMalloc.cpp:
6626        (WTF):
6627        (WTF::setThreadHeap):
6628        (WTF::TCMalloc_ThreadCache::GetThreadHeap):
6629        (WTF::TCMalloc_ThreadCache::InitTSD):
6630        * wtf/ThreadSpecificWin.cpp:
6631        (WTF::destructorsList):
6632        (WTF::destructorsMutex):
6633        (WTF::threadSpecificKeyCreate):
6634        (WTF::threadSpecificKeyDelete):
6635
66362013-04-15  Julien Brianceau  <jbrianceau@nds.com>
6637
6638        LLInt SH4 backend implementation
6639        https://bugs.webkit.org/show_bug.cgi?id=112886
6640
6641        Reviewed by Oliver Hunt.
6642
6643        * wtf/Platform.h:
6644
66452013-04-15  Patrick Gansterer  <paroga@webkit.org>
6646
6647        [CMake] Add WTF_USE_*_UNICODE variables
6648        https://bugs.webkit.org/show_bug.cgi?id=114556
6649
6650        Reviewed by Brent Fulgham.
6651
6652        WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to
6653        reduce duplication in the platform specific CMake files.
6654
6655        * wtf/CMakeLists.txt:
6656        * wtf/PlatformBlackBerry.cmake:
6657        * wtf/PlatformEfl.cmake:
6658        * wtf/PlatformWinCE.cmake:
6659
66602013-04-15  Patrick Gansterer  <paroga@webkit.org>
6661
6662        [WIN] Remove remaining calls to pthread from WTF
6663        https://bugs.webkit.org/show_bug.cgi?id=114563
6664
6665        Reviewed by Brent Fulgham.
6666
6667        Replace pthread_key_create with threadSpecificKeyCreate and
6668        pthread_setspecific with threadSpecificSet from ThreadSpecific.h.
6669        These functions provide a windows-specific implementation for the pthread functions,
6670        but require that the thread has been created with WTF::createThread(),
6671        which is the case for all threads created within WebKit.
6672        To call this function from fastMalloc we must not call fastMalloc in them.
6673        To fulfill this constraint ThreadSpecificWin will allocated its memory through the
6674        original malloc implementation and use the stack for local and static variables.
6675        Keep the Darwin implementation as it is, since it contains some performance tweaks.
6676
6677        * wtf/FastMalloc.cpp:
6678        * wtf/ThreadSpecificWin.cpp:
6679        (WTF::destructorsList):
6680        (WTF::destructorsMutex):
6681        (WTF::threadSpecificKeyCreate):
6682        (WTF::threadSpecificKeyDelete):
6683
66842013-04-14  Oliver Hunt  <oliver@apple.com>
6685
6686        Try to fix non-apple windows builds
6687
6688        * wtf/Platform.h:
6689
66902013-04-14  David Kilzer  <ddkilzer@apple.com>
6691
6692        Add EnumClass.h to project files
6693        <http://webkit.org/b/114582>
6694
6695        Rubber-stamped by Dan Bernstein.
6696
6697        * WTF.pro: Add EnumClass.h to project.
6698        * WTF.vcproj/WTF.vcproj: Ditto.
6699        * WTF.vcxproj/WTF.vcxproj: Ditto.
6700        * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
6701        * WTF.xcodeproj/project.pbxproj: Ditto.
6702
67032013-04-12  Oliver Hunt  <oliver@apple.com>
6704
6705        Apologies to all, I have no idea what happened to cause this change.
6706
6707        * wtf/Platform.h:
6708
67092013-04-12  Oliver Hunt  <oliver@apple.com>
6710
6711        [Qt][Win] r148257 broke the build
6712        https://bugs.webkit.org/show_bug.cgi?id=114512
6713
6714        Build fix.
6715
6716        * wtf/Platform.h:
6717
67182013-04-11  Oliver Hunt  <oliver@apple.com>
6719
6720        Add more type validation to debug builds
6721        https://bugs.webkit.org/show_bug.cgi?id=114478
6722
6723        Reviewed by Mark Hahnenberg.
6724
6725        Add BINDING_VALIDATION flag and make RELEASE_ASSERT use UNLIKELY.
6726
6727        * wtf/Assertions.h:
6728        * wtf/Platform.h:
6729
67302013-04-10  Thiago Marcos P. Santos  <thiago.santos@intel.com>
6731
6732        [WTF] Get rid of truncated thread name warnings for non-Windows platforms
6733        https://bugs.webkit.org/show_bug.cgi?id=114266
6734
6735        Reviewed by Ryosuke Niwa.
6736
6737        Hide the annoying message from ports that are not really interested
6738        about it.
6739
6740        * wtf/Threading.cpp:
6741        (WTF::createThread):
6742
67432013-04-10  Benjamin Poulain  <bpoulain@apple.com>
6744
6745        Mass remove all the empty directories
6746
6747        Rubberstamped by Ryosuke Niwa.
6748
6749        * wtf/qt/compat: Removed.
6750        * wtf/unicode/glib: Removed.
6751        * wtf/unicode/qt4: Removed.
6752        * wtf/unicode/wince: Removed.
6753
67542013-04-08  Anders Carlsson  <andersca@apple.com>
6755
6756        Remove unneeded headers from FrameLoader.h
6757        https://bugs.webkit.org/show_bug.cgi?id=114223
6758
6759        Reviewed by Geoffrey Garen.
6760
6761        * wtf/Forward.h:
6762        Add PrintStream.
6763
6764        * wtf/HashTable.h:
6765        Don't include DataLog.h unless DUMP_HASHTABLE_STATS_PER_TABLE is 1.
6766
67672013-04-10  Laszlo Gombos  <l.gombos@samsung.com>
6768
6769        Remove ENABLE_3D_PLUGIN
6770        https://bugs.webkit.org/show_bug.cgi?id=108002
6771
6772        Reviewed by Antti Koivisto.
6773
6774        Remove ENABLE_3D_PLUGIN, it was only used by Chromium.
6775
6776        * wtf/FeatureDefines.h:
6777
67782013-04-09  Patrick Gansterer  <paroga@webkit.org>
6779
6780        [CMake] Remove conditional source file lists in WTF
6781        https://bugs.webkit.org/show_bug.cgi?id=114250
6782
6783        Reviewed by Laszlo Gombos.
6784
6785        Use the #ifdef in the source file instead of conditional adding
6786        files to the list of source files. This allows us to remove the
6787        information of enabled features from CMake in next step.
6788
6789        * wtf/CMakeLists.txt:
6790
67912013-04-08  Ryosuke Niwa  <rniwa@webkit.org>
6792
6793        Remove WTF.gyp/WTF.gypi
6794        https://bugs.webkit.org/show_bug.cgi?id=114237
6795
6796        Reviewed by Maciej Stachowiak.
6797
6798        * WTF.gyp: Removed.
6799        * WTF.gyp/.gitignore: Removed.
6800        * WTF.gyp/WTF.gyp: Removed.
6801        * WTF.gypi: Removed.
6802
68032013-04-08  Benjamin Poulain  <benjamin@webkit.org>
6804
6805        Remove HTML Notification
6806        https://bugs.webkit.org/show_bug.cgi?id=114231
6807
6808        Reviewed by Ryosuke Niwa.
6809
6810        * wtf/FeatureDefines.h:
6811
68122013-04-08  Benjamin Poulain  <benjamin@webkit.org>
6813
6814        wtf/dtoa/* uses a confusing name to reference its buffers
6815        https://bugs.webkit.org/show_bug.cgi?id=109709
6816
6817        Reviewed by Darin Adler.
6818
6819        The data structure Vector in wtf/dtoa has nothing to do with a traditional
6820        vector, is it just a pointer and the length of the pointed buffer.
6821
6822        Rename it to BufferReference to avoid mistakes.
6823
6824        * wtf/dtoa/bignum-dtoa.cc:
6825        * wtf/dtoa/bignum-dtoa.h:
6826        * wtf/dtoa/bignum.cc:
6827        * wtf/dtoa/bignum.h:
6828        (Bignum):
6829        * wtf/dtoa/double-conversion.cc:
6830        * wtf/dtoa/fast-dtoa.cc:
6831        * wtf/dtoa/fast-dtoa.h:
6832        * wtf/dtoa/fixed-dtoa.cc:
6833        * wtf/dtoa/fixed-dtoa.h:
6834        (double_conversion):
6835        * wtf/dtoa/strtod.cc:
6836        * wtf/dtoa/strtod.h:
6837        (double_conversion):
6838        * wtf/dtoa/utils.h:
6839        (double_conversion):
6840        (WTF::double_conversion::BufferReference::BufferReference):
6841        (WTF::double_conversion::BufferReference::SubBufferReference):
6842        (StringBuilder):
6843
68442013-04-08  Alberto Garcia  <agarcia@igalia.com>
6845
6846        [BlackBerry] MathExtras: macros defined in math.h conflict with the real functions
6847        https://bugs.webkit.org/show_bug.cgi?id=112683
6848
6849        Reviewed by Darin Adler.
6850
6851        After calls to signbit and friends were prefixed with std:: in
6852        r143232, the BlackBerry port no longer compiles.
6853
6854        The solution is to get rid of the macros defined in math.h and use
6855        the real functions instead.
6856
6857        * wtf/MathExtras.h:
6858
68592013-04-08  Max Vujovic  <mvujovic@adobe.com>
6860
6861        REGRESSION (r147502): Animations of CA filters broken
6862        https://bugs.webkit.org/show_bug.cgi?id=114067
6863
6864        Reviewed by Dean Jackson.
6865
6866        Revert r147502 [1] because it broke CA filter animations.
6867        
6868        [1]: http://trac.webkit.org/changeset/147502
6869
6870        * wtf/Platform.h:
6871
68722013-04-08  Andreas Kling  <akling@apple.com>
6873
6874        REGRESSION(r147894): Broke WTFReportBacktrace() on Mac.
6875        <http://webkit.org/b/114174>
6876
6877        Reviewed by Anders Carlsson.
6878
6879        An #elif !OS(ANDROID) block was erroneously removed, turn it into an #else instead since
6880        that path will still be taken for OS(DARWIN).
6881
6882        * wtf/Assertions.cpp:
6883
68842013-04-08  Oliver Hunt  <oliver@apple.com>
6885
6886        Build fix.
6887
6888        Remove unnecessary include of <wtf/Forward.h> from Vector.h
6889
6890        * wtf/Vector.h:
6891
68922013-04-08  Csaba Osztrogonác  <ossy@webkit.org>
6893
6894        Unreviewed trivial buildfix after r147799.
6895
6896        Add an ifdef guard to ensure Qt uses its own monotonicallyIncreasingTime()
6897        implemenation instead of the GLIB based one.
6898
6899        * wtf/CurrentTime.cpp:
6900        (WTF):
6901
69022013-04-07  Benjamin Poulain  <benjamin@webkit.org>
6903
6904        Remove the android code from WebKit Template Framework
6905        https://bugs.webkit.org/show_bug.cgi?id=114138
6906
6907        Reviewed by Dirk Schulze.
6908
6909        * wtf/Assertions.cpp:
6910        * wtf/Atomics.h:
6911        * wtf/MathExtras.h:
6912        * wtf/Platform.h:
6913        * wtf/ThreadIdentifierDataPthreads.cpp:
6914
69152013-04-07  Oliver Hunt  <oliver@apple.com>
6916
6917        Add bounds checking for WTF::Vector::operator[]
6918        https://bugs.webkit.org/show_bug.cgi?id=89600
6919
6920        Reviewed by Filip Pizlo.
6921
6922        Add a template parameter to Vector<> that controls whether
6923        bounds checking is performed in release builds or not.
6924        Defaults to crashing on overflow.
6925
6926        * wtf/Forward.h:
6927        (WTF):
6928        * wtf/Vector.h:
6929        (WTF):
6930        (Vector):
6931        (WTF::Vector::at):
6932        (WTF::Vector::removeLast):
6933        (WTF::::Vector):
6934        (WTF::=):
6935        (WTF::::contains):
6936        (WTF::::find):
6937        (WTF::::reverseFind):
6938        (WTF::::fill):
6939        (WTF::::appendRange):
6940        (WTF::::expandCapacity):
6941        (WTF::::tryExpandCapacity):
6942        (WTF::::resize):
6943        (WTF::::shrink):
6944        (WTF::::grow):
6945        (WTF::::reserveCapacity):
6946        (WTF::::tryReserveCapacity):
6947        (WTF::::reserveInitialCapacity):
6948        (WTF::::shrinkCapacity):
6949        (WTF::::append):
6950        (WTF::::tryAppend):
6951        (WTF::::appendSlowCase):
6952        (WTF::::uncheckedAppend):
6953        (WTF::::appendVector):
6954        (WTF::::insert):
6955        (WTF::::prepend):
6956        (WTF::::remove):
6957        (WTF::::reverse):
6958        (WTF::::releaseBuffer):
6959        (WTF::::checkConsistency):
6960        (WTF::deleteAllValues):
6961        (WTF::swap):
6962        (WTF::operator==):
6963        (WTF::operator!=):
6964
69652013-04-07  Patrick Gansterer  <paroga@webkit.org>
6966
6967        [WIN] Fix problems with export macros of AutodrainedPool
6968        https://bugs.webkit.org/show_bug.cgi?id=114132
6969
6970        Reviewed by Geoffrey Garen.
6971
6972        Exporting an inline function results in an error with the MS compiler.
6973
6974        * wtf/AutodrainedPool.h:
6975        (AutodrainedPool):
6976        (WTF::AutodrainedPool::AutodrainedPool):
6977        (WTF::AutodrainedPool::~AutodrainedPool):
6978        (WTF::AutodrainedPool::cycle):
6979
69802013-04-07  Patrick Gansterer  <paroga@webkit.org>
6981
6982        [WinCE] Add workaround for UNUSED_PARAM()
6983        https://bugs.webkit.org/show_bug.cgi?id=113440
6984
6985        Reviewed by Benjamin Poulain.
6986
6987        The MSVC compiler for Windwos CE throws an error when
6988        an function parameter is passed to UNUSED_PARAM() and
6989        its type is only forward declared.
6990
6991        * wtf/UnusedParam.h:
6992
69932013-04-07  Patrick Gansterer  <paroga@webkit.org>
6994
6995        Do not check if WTF_ARM_ARCH_VERSION is defined in WTF_ARM_ARCH_AT_LEAST macro
6996        https://bugs.webkit.org/show_bug.cgi?id=114127
6997
6998        Reviewed by Benjamin Poulain.
6999
7000        Platform.h defines WTF_ARM_ARCH_VERSION for CPU(ARM) always and removing
7001        the check works around a bug in older Microsoft compiler versions.
7002
7003        * wtf/Platform.h:
7004
70052013-04-07  David Kilzer  <ddkilzer@apple.com>
7006
7007        Remove the rest of SVG_DOM_OBJC_BINDINGS
7008        <http://webkit.org/b/114112>
7009
7010        Reviewed by Geoffrey Garen.
7011
7012        * wtf/FeatureDefines.h:
7013        - Remove ENABLE_SVG_DOM_OBJC_BINDINGS macro.
7014
70152013-04-06  Geoffrey Garen  <ggaren@apple.com>
7016
7017        Removed v8 bindings hooks from IDL files
7018        https://bugs.webkit.org/show_bug.cgi?id=114091
7019
7020        Reviewed by Anders Carlsson and Sam Weinig.
7021
7022        * wtf/ArrayBuffer.h:
7023        (WTF):
7024        (WTF::ArrayBufferContents::ArrayBufferContents):
7025        (WTF::ArrayBufferContents::transfer):
7026        (ArrayBufferContents):
7027        (ArrayBuffer):
7028        (WTF::ArrayBufferContents::~ArrayBufferContents):
7029        * wtf/Platform.h:
7030
70312013-04-05  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
7032
7033        [GTK] Change from PLATFORM(GTK) to USE(GLIB) in WTF/CurrentTime.cpp
7034        https://bugs.webkit.org/show_bug.cgi?id=114061
7035
7036        Reviewed by Gustavo Noronha Silva.
7037
7038        Now other ports using GLib can use the correct implementation
7039        and not the fallback one without adding any other PLATFORM guards
7040        here.
7041
7042        * wtf/CurrentTime.cpp:
7043        (WTF):
7044
70452013-04-05  Geoffrey Garen  <ggaren@apple.com>
7046
7047        Made USE(JSC) unconditional
7048        https://bugs.webkit.org/show_bug.cgi?id=114058
7049
7050        Reviewed by Anders Carlsson.
7051
7052        * wtf/ThreadRestrictionVerifier.h:
7053        (WTF):
7054        * wtf/WTFThreadData.cpp:
7055        (WTF::WTFThreadData::WTFThreadData):
7056        (WTF::WTFThreadData::~WTFThreadData):
7057        * wtf/WTFThreadData.h:
7058        (WTFThreadData):
7059        * wtf/text/StringImpl.cpp:
7060        (WTF::StringImpl::~StringImpl):
7061
70622013-04-05  Roger Fong  <roger_fong@apple.com>
7063
7064        More VS2010 solution makefile fixes.
7065        <rdar://problem/13588964>
7066
7067        * WTF.vcxproj/WTF.make:
7068
70692013-04-05  Anders Carlsson  <andersca@apple.com>
7070
7071        Remove more dead Chromium code from WTF
7072        https://bugs.webkit.org/show_bug.cgi?id=114037
7073
7074        Reviewed by Allan Sandfeld Jensen.
7075
7076        * wtf/CurrentTime.cpp:
7077        (WTF):
7078        * wtf/DisallowCType.h:
7079        * wtf/ExportMacros.h:
7080        * wtf/MainThread.cpp:
7081        * wtf/Platform.h:
7082
70832013-04-05  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
7084
7085        [EFL] Disable GLOBAL_FAST_MALLOC_NEW by default.
7086        https://bugs.webkit.org/show_bug.cgi?id=114031
7087
7088        Reviewed by Alexis Menard.
7089
7090        Follow what some other ports already do and avoid globally overriding
7091        the `new' and `delete' operators with the ones in FastMalloc.
7092
7093        In many cases, third-party or client code allocates memory with
7094        standard library calls but the memory gets deleted by FastMalloc,
7095        causing a crash. The reverse (ie. memory being allocated by FastMalloc
7096        and freed by the system libraries) is also possible.
7097
7098        Commits 135666 and 121018 provide more information about this, as well
7099        as comment 6 in bug 89358.
7100
7101        * wtf/Platform.h:
7102
71032013-04-05  Benjamin Poulain  <bpoulain@apple.com>
7104
7105        Remove WTFURL from WebKit
7106        https://bugs.webkit.org/show_bug.cgi?id=113994
7107
7108        Reviewed by Ryosuke Niwa.
7109
7110        Painful, but that is for the best now :(
7111
7112        * GNUmakefile.list.am:
7113        * WTF.xcodeproj/project.pbxproj:
7114        * wtf/MemoryInstrumentationParsedURL.h: Removed.
7115        * wtf/url/api/ParsedURL.cpp: Removed.
7116        * wtf/url/api/ParsedURL.h: Removed.
7117        * wtf/url/api/URLBuffer.h: Removed.
7118        * wtf/url/api/URLQueryCharsetConverter.h: Removed.
7119        * wtf/url/api/URLString.cpp: Removed.
7120        * wtf/url/api/URLString.h: Removed.
7121        * wtf/url/src/RawURLBuffer.h: Removed.
7122        * wtf/url/src/URLCanon.h: Removed.
7123        * wtf/url/src/URLCanonEtc.cpp: Removed.
7124        * wtf/url/src/URLCanonFilesystemurl.cpp: Removed.
7125        * wtf/url/src/URLCanonFileurl.cpp: Removed.
7126        * wtf/url/src/URLCanonHost.cpp: Removed.
7127        * wtf/url/src/URLCanonICU.cpp: Removed.
7128        * wtf/url/src/URLCanonIP.cpp: Removed.
7129        * wtf/url/src/URLCanonInternal.cpp: Removed.
7130        * wtf/url/src/URLCanonInternal.h: Removed.
7131        * wtf/url/src/URLCanonMailto.cpp: Removed.
7132        * wtf/url/src/URLCanonPath.cpp: Removed.
7133        * wtf/url/src/URLCanonPathurl.cpp: Removed.
7134        * wtf/url/src/URLCanonQuery.cpp: Removed.
7135        * wtf/url/src/URLCanonRelative.cpp: Removed.
7136        * wtf/url/src/URLCanonStdURL.cpp: Removed.
7137        * wtf/url/src/URLCharacterTypes.cpp: Removed.
7138        * wtf/url/src/URLCharacterTypes.h: Removed.
7139        * wtf/url/src/URLComponent.h: Removed.
7140        * wtf/url/src/URLFile.h: Removed.
7141        * wtf/url/src/URLParse.cpp: Removed.
7142        * wtf/url/src/URLParse.h: Removed.
7143        * wtf/url/src/URLParseFile.cpp: Removed.
7144        * wtf/url/src/URLParseInternal.h: Removed.
7145        * wtf/url/src/URLSegments.cpp: Removed.
7146        * wtf/url/src/URLSegments.h: Removed.
7147        * wtf/url/src/URLUtil.cpp: Removed.
7148        * wtf/url/src/URLUtil.h: Removed.
7149        * wtf/url/src/URLUtilInternal.h: Removed.
7150
71512013-04-04  Geoffrey Garen  <ggaren@apple.com>
7152
7153        Nixed the defunct chromium folder from WTF
7154        https://bugs.webkit.org/show_bug.cgi?id=113992
7155
7156        Reviewed by Ryosuke Niwa.
7157
7158        * wtf/chromium: Removed.
7159        * wtf/chromium/ChromiumThreading.h: Removed.
7160        * wtf/chromium/MainThreadChromium.cpp: Removed.
7161
71622013-04-04  Martin Robinson  <mrobinson@igalia.com>
7163
7164        [GTK] Remove the gyp build
7165        https://bugs.webkit.org/show_bug.cgi?id=113942
7166
7167        Reviewed by Gustavo Noronha Silva.
7168
7169        * WTF.gyp/WTFGTK.gyp: Removed.
7170
71712013-04-04  Anders Carlsson  <andersca@apple.com>
7172
7173        ObjcRuntimeExtras.h should use variadic templates
7174        https://bugs.webkit.org/show_bug.cgi?id=113941
7175
7176        Reviewed by Andreas Kling.
7177
7178        Reimplement wtfObjcMsgSend and wtfCallIMP as variadic function templates.
7179
7180        * wtf/ObjcRuntimeExtras.h:
7181        (wtfObjcMsgSend):
7182        (wtfCallIMP):
7183
71842013-04-04  Andras Becsi  <andras.becsi@digia.com>
7185
7186        Fix the build with GCC 4.8
7187        https://bugs.webkit.org/show_bug.cgi?id=113147
7188
7189        Reviewed by Allan Sandfeld Jensen.
7190
7191        Disable diagnostic warning -Wunused-local-typedefs for GCC 4.8
7192        since dummy typedefs are commonly used in the codebase.
7193
7194        * wtf/Compiler.h:
7195
71962013-04-03  Pratik Solanki  <psolanki@apple.com>
7197
7198        Enable HAVE_MADV_FREE_REUSE on iOS
7199        https://bugs.webkit.org/show_bug.cgi?id=113892
7200        <rdar://problem/12787563>
7201
7202        Reviewed by Mark Rowe.
7203
7204        * wtf/Platform.h:
7205
72062013-04-02  Ryosuke Niwa  <rniwa@webkit.org>
7207
7208        Remove code for Mac 10.5 and earlier from WTF and WebKit2
7209        https://bugs.webkit.org/show_bug.cgi?id=113844
7210
7211        Reviewed by Benjamin Poulain.
7212
7213        Removed the code for 10.5 and removed if-def for 10.6.
7214
7215        * wtf/FastMalloc.cpp:
7216        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
7217        * wtf/Platform.h:
7218        * wtf/ThreadingPthreads.cpp:
7219        (WTF::initializeCurrentThreadInternal):
7220        * wtf/unicode/icu/CollatorICU.cpp:
7221        (WTF::Collator::userDefault):
7222
72232013-04-02  Max Vujovic  <mvujovic@adobe.com>
7224
7225        [CSS Filters] Filter outsets clipped on composited layers when filter is applied after first layout
7226        https://bugs.webkit.org/show_bug.cgi?id=109098
7227
7228        Reviewed by Dean Jackson.
7229
7230        * wtf/Platform.h:
7231            Add flag for HAVE(COMPOSITOR_FILTER_OUTSETS) macro. This is used to check if a
7232            platform's compositor expands layers internally for filter outsets when it applies
7233            filters like drop-shadow and blur. Currently, only CoreAnimation does has this
7234            capability.
7235
72362013-04-02  Yury Semikhatsky  <yurys@chromium.org>
7237
7238        Web Inspector: memory instrumentation for external arrays is broken
7239        https://bugs.webkit.org/show_bug.cgi?id=113790
7240
7241        Reviewed by Pavel Feldman.
7242
7243        * wtf/MemoryInstrumentationArrayBufferView.h: report buffer pointer as retaining one as
7244        we know that the pointer is not broken.
7245        (WTF::reportMemoryUsage):
7246
72472013-04-01  Han Shen  <shenhan@google.com>
7248
7249        Move definition of nested classes that inherit enclosing class outside class definition.
7250        https://bugs.webkit.org/show_bug.cgi?id=113454
7251
7252        Reviewed by Benjamin Poulain.
7253
7254        HashMap.h does not build on GCC 4.8. Inside this file,
7255        HashMapKeysProxy and HashMapValuesProxy are defined as nested
7256        class inside HashMap - which is legal - the illegal part is that
7257        these 2 classes inherit HashMap, that is the enclosing class, that
7258        causes "reference to in-complete definition" error.
7259
7260        The fix is to move outside the definition of these 2 classes, and
7261        leave only declaration part inside HashMap as is illustrated below -
7262
7263          template class <typename T>
7264          class HashMap {
7265            ... ...
7266            ... ...
7267          private:
7268            class HashMapKeysProxy;
7269
7270            // ERROR - nested class inherits enclosing class.
7271            class HashMapKeysProxy : private HashMap {
7272                ... ...
7273            };
7274            ... ...
7275            ... ...
7276            class HashMapKeysProxy : private HashMap {
7277                ... ...
7278            };
7279            ... ...
7280            ... ...
7281          };
7282
7283        Fixed as below:
7284          template class <typename T>
7285          class HashMap {
7286            ... ...
7287            ... ...
7288          private:
7289            class HashMapKeysProxy;
7290            class HashMapValuesProxy;
7291
7292            ... ...
7293            ... ...
7294          };
7295
7296          template <typename T>
7297          class HashMap<T>::HashMapKeysProxy : private HashMap<T> {
7298            ... ...
7299          };
7300
7301          template <typename T>
7302          class HashMap<T>::HashMapValuesProxy : private HashMap<T> {
7303            ... ...
7304          };
7305
7306        * wtf/HashMap.h:
7307        (HashMap):
7308        (WTF): Factor out nested class definition from enclosing class.
7309
73102013-03-31  Mark Hahnenberg  <mhahnenberg@apple.com>
7311
7312        Regions should be allocated from the same contiguous segment of virtual memory
7313        https://bugs.webkit.org/show_bug.cgi?id=113662
7314
7315        Reviewed by Filip Pizlo.
7316
7317        Instead of letting the OS spread our Regions all over the place, we should allocate them all within 
7318        some range of each other. This change will open the door to some other optimizations, e.g. doing simple 
7319        range checks for our write barriers and compressing JSCell pointers to 32-bits.
7320
7321        * wtf/MetaAllocator.cpp: Changed the MetaAllocator to allow custom page sizes if the derived class wants to
7322        use something other than the system page size.
7323        (WTF::MetaAllocator::MetaAllocator):
7324        * wtf/MetaAllocator.h:
7325        (MetaAllocator):
7326
73272013-04-01  Yury Semikhatsky  <yurys@chromium.org>
7328
7329        Web Inspector: add memory instrumentation for StringBuffer
7330        https://bugs.webkit.org/show_bug.cgi?id=113507
7331
7332        Reviewed by Pavel Feldman.
7333
7334        Added memory instrumentation for StringBuffer.
7335
7336        * wtf/MemoryInstrumentationString.h:
7337        (WTF):
7338        (WTF::reportMemoryUsage):
7339
73402013-03-30  Tom Sepez  <tsepez@chromium.org>
7341
7342        View-source iframes are dangerous (and not very useful).
7343        https://bugs.webkit.org/show_bug.cgi?id=113345
7344
7345        Reviewed by Adam Barth.
7346
7347        * wtf/FeatureDefines.h:
7348        Default definition of ENABLE_VIEWSOURCE_ATTRIBUTE is enabled.
7349
73502013-03-27  Patrick Gansterer  <paroga@webkit.org>
7351
7352        Set WTF_ARM_ARCH_VERSION to correct value when used with MSVC
7353        https://bugs.webkit.org/show_bug.cgi?id=113436
7354
7355        Reviewed by Benjamin Poulain.
7356
7357        The Microsoft compiler defines _M_ARM with used ARM version.
7358
7359        * wtf/Platform.h:
7360
73612013-03-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
7362
7363        Support C++11 static_assert
7364        https://bugs.webkit.org/show_bug.cgi?id=113308
7365
7366        Reviewed by Alexey Proskuryakov.
7367
7368        Use the C++11 static_assert for COMPILE_ASSERT when it is available. Note that
7369        even when compiling with C++11 support, static_assert will not always be available
7370        since Assertions.h may also be used outside of C++.
7371
7372        C11 _Static_assert is enabled for GCC when it has C11 support (gcc>=4.7 -std=c11).
7373
7374        * wtf/Assertions.h:
7375        * wtf/Compiler.h:
7376
73772013-03-25  Oliver Hunt  <oliver@apple.com>
7378
7379        RefCountedArray needs a size based constructor
7380        https://bugs.webkit.org/show_bug.cgi?id=113277
7381
7382        Reviewed by Benjamin Poulain.
7383
7384        Simple patch to add a size based constructor for RefCountedArray
7385        so that we can create an sharable array without a copy.
7386
7387        * wtf/RefCountedArray.h:
7388        (RefCountedArray):
7389        (WTF::RefCountedArray::RefCountedArray):
7390
73912013-03-26  James Robinson  <jamesr@chromium.org>
7392
7393        Compile fix - OS(WINDOWS), not OS(WIN).
7394
7395        * wtf/ProcessID.h:
7396        (WTF::getCurrentProcessID):
7397
73982013-03-26  James Robinson  <jamesr@chromium.org>
7399
7400        Fix compile for OS(WIN) != PLATFORM(WIN)
7401        https://bugs.webkit.org/show_bug.cgi?id=113356
7402
7403        Reviewed by Tim Horton.
7404
7405        * wtf/ProcessID.h:
7406        (WTF::getCurrentProcessID):
7407
74082013-03-23  Filip Pizlo  <fpizlo@apple.com>
7409
7410        JSC_enableProfiler=true should also cause JSGlobalData to save the profiler output somewhere
7411        https://bugs.webkit.org/show_bug.cgi?id=113144
7412
7413        Reviewed by Geoffrey Garen.
7414        
7415        I got tired of the fact that getpid(2) is not a syscall on Windows (unless you do
7416        _getpid() I believe), so I wrote a header that abstracts it. I also changed existing
7417        code that uses getpid() to use WTF::getCurrentProcessID().
7418
7419        * GNUmakefile.list.am:
7420        * WTF.gypi:
7421        * WTF.pro:
7422        * WTF.vcproj/WTF.vcproj:
7423        * WTF.xcodeproj/project.pbxproj:
7424        * wtf/CMakeLists.txt:
7425        * wtf/MetaAllocator.cpp:
7426        (WTF::MetaAllocator::dumpProfile):
7427        * wtf/ProcessID.h: Added.
7428        (WTF):
7429        (WTF::getCurrentProcessID):
7430        * wtf/text/StringImpl.cpp:
7431        (WTF::StringStats::printStats):
7432
74332013-03-25  Kent Tamura  <tkent@chromium.org>
7434
7435        Rename ENABLE_INPUT_TYPE_DATETIME
7436        https://bugs.webkit.org/show_bug.cgi?id=113254
7437
7438        Reviewed by Kentaro Hara.
7439
7440        Rename ENABLE_INPUT_TYPE_DATETIME to ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE.
7441        Actually I'd like to remove the code, but we shouldn't remove it yet
7442        because we shipped products with it on some platforms.
7443
7444        * wtf/FeatureDefines.h:
7445
74462013-03-25  David Kilzer  <ddkilzer@apple.com>
7447
7448        WTF::binarySearchImpl() should compile with -Wshorten-64-to-32
7449        <http://webkit.org/b/113170>
7450
7451        Reviewed by Dan Bernstein.
7452
7453        Fixes the following build failure:
7454
7455            /usr/local/include/wtf/StdLibExtras.h:190:30: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
7456                    int pos = (size - 1) >> 1;
7457                        ~~~   ~~~~~~~~~~~^~~~
7458            1 error generated.
7459
7460        * wtf/StdLibExtras.h:
7461        (WTF::binarySearchImpl): Switch type from int to size_t.
7462
74632013-03-22  Benjamin Poulain  <bpoulain@apple.com>
7464
7465        Remove 2 bad branches from StringHash::equal() and CaseFoldingHash::equal()
7466        https://bugs.webkit.org/show_bug.cgi?id=113003
7467
7468        Reviewed by Eric Seidel.
7469
7470        StringHash::equal() and CaseFoldingHash::equal() were both testing for
7471        the nullity of the two input pointers. The catch is: neither traits handle
7472        null pointers, and any client code would have crashed on hash(), before equal()
7473        is called.
7474        Consequently, the two branches had a pass rate of zero when called from a HashMap code.
7475
7476        The function is also never inlined because it is too big (the code of equal() for characters
7477        is always inlined, causing the function to be quite big).
7478
7479        This patch introduces two new functions in the StringImpl API: equalNonNull() and
7480        equalIgnoringCaseNonNull(). Those functions are similar to their equal() equivalent
7481        but make the assumtion the input is never null.
7482
7483        The functions are used for StringHash to avoid the useless branches.
7484
7485        * wtf/text/StringHash.h:
7486        (WTF::StringHash::equal):
7487        (WTF::CaseFoldingHash::equal):
7488        * wtf/text/StringImpl.cpp:
7489        (WTF::stringImplContentEqual):
7490        (WTF::equal):
7491        (WTF::equalNonNull):
7492        (WTF::equalIgnoringCase):
7493        (WTF::equalIgnoringCaseNonNull):
7494        (WTF::equalIgnoringNullity):
7495        * wtf/text/StringImpl.h:
7496        (WTF::equalIgnoringCase):
7497
74982013-03-22  Benjamin Poulain  <bpoulain@apple.com>
7499
7500        Name correctly the argument of StringImpl::setIsAtomic()
7501        https://bugs.webkit.org/show_bug.cgi?id=113000
7502
7503        Reviewed by Geoffrey Garen.
7504
7505        * wtf/text/StringImpl.h:
7506        (WTF::StringImpl::setIsAtomic):
7507        The argument was probably an unfortunate copy-paste from setIsIdentifier().
7508        Fix the name.
7509
75102013-03-22  Hajime Morrita  <morrita@google.com>
7511
7512        Custom Elements: "readyCallback" lifecycle callback should be called.
7513        https://bugs.webkit.org/show_bug.cgi?id=112538
7514
7515        Reviewed by Elliott Sprehn.
7516
7517        * wtf/HashSet.h:
7518        (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.
7519
75202013-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
7521
7522        Unreviewed, rolling out r146534 and r146565.
7523        http://trac.webkit.org/changeset/146534
7524        http://trac.webkit.org/changeset/146565
7525        https://bugs.webkit.org/show_bug.cgi?id=113017
7526
7527        "r146534 caused perf regression on Chromium Linux x64"
7528        (Requested by yurys on #webkit).
7529
7530        * wtf/HashSet.h:
7531        (WTF):
7532        (WTF::copyToVector):
7533
75342013-03-21  Hajime Morrita  <morrita@google.com>
7535
7536        Custom Elements: "readyCallback" lifecycle callback should be called.
7537        https://bugs.webkit.org/show_bug.cgi?id=112538
7538
7539        Reviewed by Elliott Sprehn.
7540
7541        * wtf/HashSet.h:
7542        (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.
7543
75442013-03-21  Mark Lam  <mark.lam@apple.com>
7545
7546        Introducing String::findNextLineStart().
7547        https://bugs.webkit.org/show_bug.cgi?id=112957.
7548
7549        Reviewed by Geoffrey Garen.
7550
7551        This is replaces String::reverseFindLineTerminator() in the JSC
7552        debugger's code for computing column numbers.
7553
7554        * wtf/text/StringImpl.cpp:
7555        (WTF::StringImpl::findNextLineStart):
7556        * wtf/text/StringImpl.h:
7557        (WTF::findNextLineStart):
7558        * wtf/text/WTFString.h:
7559        (WTF::String::findNextLineStart):
7560
75612013-03-21  Adam Barth  <abarth@webkit.org>
7562
7563        HTMLNames should construct strings at compile time
7564        https://bugs.webkit.org/show_bug.cgi?id=112831
7565
7566        Reviewed by Darin Adler.
7567
7568        * wtf/text/StringImpl.h:
7569        (StringImpl):
7570        (StaticASCIILiteral):
7571            - This struct lets us construct StringImpl objects at compile time.
7572        (WTF::StringImpl::assertHashIsCorrect):
7573            - This function lets us sanity check StringImpl objects created from StaticData.
7574        (WTF::StringImpl::find): Remove a stray ;
7575        (WTF::StringImpl::findIgnoringCase): ditto
7576        (WTF::StringImpl::startsWith): ditto
7577        (WTF::ValueCheck<StringImpl*>):
7578        * wtf/text/AtomicStringImpl.h:
7579        (WTF::ValueCheck<AtomicStringImpl*>):
7580
75812013-03-21  Gabor Rapcsanyi  <rgabor@webkit.org>
7582
7583        Implement LLInt for CPU(ARM_TRADITIONAL)
7584        https://bugs.webkit.org/show_bug.cgi?id=97589
7585
7586        Reviewed by Zoltan Herczeg.
7587
7588        Enable LLInt for ARMv5 and ARMv7 traditional as well.
7589
7590        * wtf/Platform.h:
7591
75922013-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
7593
7594        Unreviewed, rolling out r146419.
7595        http://trac.webkit.org/changeset/146419
7596        https://bugs.webkit.org/show_bug.cgi?id=112870
7597
7598        Broke many tests on debug builds (Requested by rniwa_ on
7599        #webkit).
7600
7601        * wtf/text/StringImpl.h:
7602        (StringImpl):
7603
76042013-03-20  Adam Barth  <abarth@webkit.org>
7605
7606        HTMLNames should construct strings at compile time
7607        https://bugs.webkit.org/show_bug.cgi?id=112831
7608
7609        Reviewed by Darin Adler.
7610
7611        * wtf/text/StringImpl.h:
7612        (StringImpl):
7613        (StaticASCIILiteral):
7614            - This struct lets us construct StringImpl objects at compile time.
7615        (WTF::StringImpl::assertValidHash):
7616            - This function lets us sanity check StringImpl objects created from StaticData.
7617
76182013-03-20  Jessie Berlin  <jberlin@apple.com>
7619
7620        REGRESSION(r145592): AutodrainedPool.h. RunLoopTimer.h, SchedulePair.h are being copied into
7621        the wrong location
7622        https://bugs.webkit.org/show_bug.cgi?id=112833
7623
7624        Reviewed by Darin Adler.
7625
7626        * WTF.xcodeproj/project.pbxproj:
7627        Make sure those three headers are copied with the rest of the WTF headers.
7628
76292013-03-20  Mark Rowe  <mrowe@apple.com>
7630
7631        FastMalloc scavenge timer specifies an overly narrow leeway value.
7632
7633        Reviewed by Alexey Proskuryakov.
7634
7635        There's no need to allow only 1ms of leeway on a 2s timer.
7636
7637        * wtf/FastMalloc.cpp:
7638        (WTF::TCMalloc_PageHeap::initializeScavenger): Bump the leeway window
7639        to 10% of the scavenge timer.
7640
76412013-03-20  JungJik Lee  <jungjik.lee@samsung.com>
7642
7643        [EFL] Disable REQUEST_ANIMATION_FRAME_TIMER to render a new animation frame.
7644        https://bugs.webkit.org/show_bug.cgi?id=112114
7645
7646        Reviewed by Kenneth Rohde Christiansen.
7647
7648        The issue is that if the animation starts outside of the area covered by keepRects,
7649        the web process does not create tiles of the animation layer and the layer moves 
7650        without having any tiles. In order to fix this issue, CoordinatedLayerHost must call 
7651        scheduleLayerFlush to create new tiles when the layer enters the area covered by keepRect.
7652        However EFL port didn't call scheduleLayerFlush periodically for animation.
7653        We can tie scripted animations with synchronization of the layer and that already 
7654        has been implemented in r123786 by Qt port. This patch is for activating r123786 patch.
7655
7656        The testing is covered by ManualTests/animation/transition-on-and-offscreen-animation.html
7657
7658        * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER.
7659
76602013-03-20  Mark Lam  <mark.lam@apple.com>
7661
7662        Introducing String::reverseFindLineTerminator().
7663        https://bugs.webkit.org/show_bug.cgi?id=112741.
7664
7665        Reviewed by Oliver Hunt.
7666
7667        This is needed by the JSC debugger code for computing column numbers.
7668
7669        * wtf/text/StringImpl.cpp:
7670        (WTF::StringImpl::reverseFindLineTerminator):
7671        * wtf/text/StringImpl.h:
7672        (StringImpl):
7673        (WTF::reverseFindLineTerminator):
7674        * wtf/text/WTFString.h:
7675        (WTF::String::reverseFindLineTerminator):
7676
76772013-03-19  Martin Robinson  <mrobinson@igalia.com>
7678
7679        Fix the WTF gyp build for GTK+.
7680
7681        * WTF.gyp/WTFGTK.gyp: Skip files with CF in the name.
7682
76832013-03-19  Alberto Garcia  <agarcia@igalia.com>
7684
7685        [BlackBerry] Enable USE_SYSTEM_MALLOC by default
7686        https://bugs.webkit.org/show_bug.cgi?id=112365
7687
7688        Reviewed by Benjamin Poulain.
7689
7690        Enable USE_SYSTEM_MALLOC by default via FeatureList.pm instead of
7691        harcoding it in wtf/Platform.h
7692
7693        * wtf/Platform.h:
7694
76952013-03-18  Benjamin Poulain  <benjamin@webkit.org>
7696
7697        [iOS] Make a UChar string equal() based on the LChar version
7698        https://bugs.webkit.org/show_bug.cgi?id=112495
7699
7700        Reviewed by David Kilzer.
7701
7702        * wtf/text/StringImpl.h:
7703        (WTF::equal):
7704        Create a equal() function for UChar based on the work done for LChar.
7705
7706        On A6, this is a speed up of about 40% for any string of 2 or more characters.
7707        It is slower by 8% on a single UChar comparison.
7708
77092013-03-18  Brent Fulgham  <bfulgham@webkit.org>
7710
7711        [WinCairo] Get build working under VS2010.
7712        https://bugs.webkit.org/show_bug.cgi?id=112604
7713
7714        Reviewed by Tim Horton.
7715
7716        * WTF.vcxproj/WTF.vcxproj: Add Debug_WinCairo and Release_WinCairo
7717        targets so headers get copied to appropriate build folder.
7718        * WTF.vcxproj/WTFGenerated.vcxproj: Ditto.
7719
77202013-03-15  Benjamin Poulain  <bpoulain@apple.com>
7721
7722        [iOS] Update StringImpl's equal to have a single version on all supported Apple CPUs
7723        https://bugs.webkit.org/show_bug.cgi?id=112400
7724
7725        Reviewed by Michael Saboff.
7726
7727        * wtf/text/StringImpl.h:
7728        (WTF::equal):
7729        Tweak the code to make it work on older Apple CPUs:
7730        -Use external "ouput" variable instead of the registers R9 and R12. This gets rid
7731         of some register pressure previously imposed on the compiler. (Clang nicely
7732         choose R9 and R12 when needed, following iOS ABI).
7733        -Instead of using "R3" for storing the length / 4, update the length by -4 on
7734         each iteration and work in the negative space for the tail. This frees one register
7735         which is then used for isEqual.
7736        -Get rid of the unconditional branch from the loop. By using subs and working in the
7737         negative space, we can test for the Carry flag to jump back to the next LDR.
7738
77392013-03-15  Benjamin Poulain  <bpoulain@apple.com>
7740
7741        [iOS] Fix the length pass to memcmp in the fallback versions of String's equal
7742        https://bugs.webkit.org/show_bug.cgi?id=112463
7743
7744        Reviewed by Ryosuke Niwa.
7745
7746        * wtf/text/StringImpl.h:
7747        (WTF::equal): It might be a good idea to compare the full UChar strings...
7748
77492013-03-15  Michael Saboff  <msaboff@apple.com>
7750
7751        Add runtime check for improper register allocations in DFG
7752        https://bugs.webkit.org/show_bug.cgi?id=112380
7753
7754        Reviewed by Geoffrey Garen.
7755
7756        * wtf/Platform.h: Added new ENABLE_DFG_REGISTER_ALLOCATION_VALIDATION compilation flag to
7757        enable generation of register allocation checking.  This is on for debug builds.
7758
77592013-03-13  Jessie Berlin  <jberlin@apple.com>
7760
7761        Remove svn:executable from a file that isn't supposed to be executable.
7762
7763        Rubber-stamped by Geoff Garen.
7764
7765        * wtf/MediaTime.h:
7766
77672013-03-13  Oliver Hunt  <oliver@apple.com>
7768
7769        Simplify Checked<> multiplication
7770        https://bugs.webkit.org/show_bug.cgi?id=112286
7771
7772        Reviewed by James Robinson.
7773
7774        Trying to correctly identify multiplication by zero complicated the
7775        unsigned * unsigned multiply, and still didn't handle all cases correctly.
7776        Now we just do the normal division based approach to overflow detection
7777        leading to much simpler reasoning.
7778
7779        Would be nice if we could have a jo style intrinsic one day.
7780
7781        * wtf/CheckedArithmetic.h:
7782
77832013-03-13  Dean Jackson  <dino@apple.com>
7784
7785        Unreviewed attempted build fix for Windows. SchedulePair.cpp -> SchedulePairCF.cpp
7786
7787        * WTF.vcproj/WTF.vcproj:
7788        * WTF.vcxproj/WTF.vcxproj:
7789        * WTF.vcxproj/WTF.vcxproj.filters:
7790
77912013-03-13  Benjamin Poulain  <bpoulain@apple.com>
7792
7793        [iOS] Add optimized version of StringImpl's equal(LChar*,LChar*) for Apple CPUs
7794        https://bugs.webkit.org/show_bug.cgi?id=112202
7795
7796        Reviewed by Gavin Barraclough.
7797
7798        * Source/WTF/wtf/Platform.h:
7799        Make the macro WTF_ARM_ARCH_VERSION valid on any architecture.
7800        * wtf/text/StringImpl.h:
7801        (WTF::equal):
7802        On ARMv7S, the new version is about 11% percent faster than the simple loop.
7803        On ARMv7 classic, memcmp is a little faster than the simple loop on Apple A5.
7804
78052013-03-13  James Robinson  <jamesr@chromium.org>
7806
7807        SchedulePair.cpp is CF-specific
7808        https://bugs.webkit.org/show_bug.cgi?id=112204
7809
7810        Reviewed by Oliver Hunt.
7811
7812        This renames SchedulePair.cpp SchedulePairCF.cpp, since it depends on CF, and excludes it from chromium's gyp
7813        files.
7814
7815        * WTF.gyp/WTF.gyp:
7816          Add CF to the exclusion filter for the Chromium port.
7817        * WTF.gypi:
7818          Add SchedulePairCF.cpp
7819        * WTF.xcodeproj/project.pbxproj:
7820          Update project file to point to new .cpp location
7821        * wtf/SchedulePairCF.cpp: Renamed from Source/WTF/wtf/SchedulePair.cpp.
7822
78232013-03-13  Allan Sandfeld Jensen  <allan.jensen@digia.com>
7824
7825        Support C++11 features in GCC <4.6
7826        https://bugs.webkit.org/show_bug.cgi?id=111553
7827
7828        Reviewed by Simon Hausmann.
7829
7830        Enable support for rvalue references from gcc 4.3, deleted functions
7831        from gcc 4.4, explicit conversion from gcc 4.5, and strongly typed
7832        enums from gcc 4.6. 
7833
7834        * wtf/Compiler.h:
7835
78362013-03-12  Geoffrey Garen  <ggaren@apple.com>
7837
7838        Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592.
7839
7840        * wtf/SchedulePair.cpp:
7841        * wtf/SchedulePair.h:
7842        (WTF::SchedulePair::SchedulePair): Since linking is failing,
7843        try inlining this function.
7844
78452013-03-12  Tim Horton  <timothy_horton@apple.com>
7846
7847        Typo in earlier Windows build fix. Unreviewed.
7848
7849        * WTF.vcproj/WTF.vcproj:
7850
78512013-03-12  Tim Horton  <timothy_horton@apple.com>
7852
7853        Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592.
7854
7855        * WTF.vcproj/WTF.vcproj:
7856        * WTF.vcxproj/WTF.vcxproj:
7857        * WTF.vcxproj/WTF.vcxproj.filters:
7858
78592013-03-12  James Robinson  <jamesr@chromium.org>
7860
7861        Build fix for r145592 - update gyp files to refer to new file locations.
7862
7863        * WTF.gypi:
7864
78652013-03-12  Geoffrey Garen  <ggaren@apple.com>
7866
7867        Moved RunLoopTimer and SchedulePair to WTF
7868        https://bugs.webkit.org/show_bug.cgi?id=112171
7869
7870        Reviewed by Oliver Hunt.
7871
7872        This will allow us to use timers in lower level primitives without
7873        duplicating all the code.
7874
7875        * WTF.xcodeproj/project.pbxproj:
7876        * wtf/AutodrainedPool.h: Copied from Source/WebCore/platform/AutodrainedPool.h.
7877        (AutodrainedPool):
7878        * wtf/AutodrainedPoolMac.mm: Copied from Source/WebCore/platform/mac/AutodrainedPool.mm.
7879        * wtf/RunLoopTimer.h: Copied from Source/WebCore/platform/RunLoopTimer.h.
7880        * wtf/RunLoopTimerCF.cpp: Copied from Source/WebCore/platform/cf/RunLoopTimerCF.cpp.
7881        * wtf/SchedulePair.cpp: Copied from Source/WebCore/platform/cf/SchedulePair.cpp.
7882        * wtf/SchedulePair.h: Copied from Source/WebCore/platform/cf/SchedulePair.h.
7883        (SchedulePair):
7884        * wtf/SchedulePairMac.mm: Copied from Source/WebCore/platform/mac/SchedulePairMac.mm.
7885
78862013-03-12  Oliver Hunt  <oliver@apple.com>
7887
7888        Add more Checked<> tests
7889        https://bugs.webkit.org/show_bug.cgi?id=112190
7890
7891        Reviewed by Geoffrey Garen.
7892
7893        Export the CheckedState enum type
7894
7895        * wtf/CheckedArithmetic.h:
7896
78972013-03-12  Oliver Hunt  <oliver@apple.com>
7898
7899        Make CheckedArithmetic slightly more sane
7900        https://bugs.webkit.org/show_bug.cgi?id=112178
7901
7902        Reviewed by Geoffrey Garen.
7903
7904        Add an enum type for safeGet rather than using a bool,
7905        and correctly handle unsigned * unsigned, when one value
7906        is 0.
7907
7908        * wtf/CheckedArithmetic.h:
7909        (WTF::ENUM_CLASS):
7910        (WTF):
7911        (WTF::operator+):
7912        (WTF::operator-):
7913        (WTF::operator*):
7914
79152013-03-11  Michael Saboff  <msaboff@apple.com>
7916
7917        Unreviewed build fix.  Rolling out inadvertent setting of DATA_LOG_TO_FILE.
7918
79192013-03-11  Oliver Hunt  <oliver@apple.com>
7920
7921        Make SegmentedVector Noncopyable
7922        https://bugs.webkit.org/show_bug.cgi?id=112059
7923
7924        Reviewed by Geoffrey Garen.
7925
7926        Copying a SegmentedVector can be extraordinarily expensive, so we beat
7927        it with the Noncopyable stick - that way we can ensure that if anyone
7928        wants an actual copy they know what they're doing.
7929
7930        * wtf/SegmentedVector.h:
7931        (SegmentedVector):
7932
79332013-03-08  Benjamin Poulain  <benjamin@webkit.org>
7934
7935        [Mac] Add a feature flag for 'view-mode' Media Feature, disable it on Mac
7936        https://bugs.webkit.org/show_bug.cgi?id=111297
7937
7938        Reviewed by Kenneth Rohde Christiansen.
7939
7940        * wtf/FeatureDefines.h: Add a new feature flag for the view-mode
7941        CSS media: ENABLE_VIEW_MODE_CSS_MEDIA.
7942
79432013-03-08  Roger Fong  <roger_fong@apple.com>
7944
7945        Makefile fixes.
7946
7947        * WTF.vcxproj/WTF.make:
7948
79492013-03-08  Gabor Rapcsanyi  <rgabor@webkit.org>
7950
7951        Cache flush problem on ARMv7 JSC
7952        https://bugs.webkit.org/show_bug.cgi?id=111441
7953
7954        Reviewed by Zoltan Herczeg.
7955
7956        Not proper cache flush causing random crashes on ARMv7 Linux with V8 tests.
7957        The problem is similar to https://bugs.webkit.org/show_bug.cgi?id=77712.
7958        Change the cache fulsh mechanism similar to ARM traditinal and revert the
7959        temporary fix.
7960
7961        * wtf/OSAllocatorPosix.cpp:
7962        (WTF::OSAllocator::reserveUncommitted):
7963        (WTF::OSAllocator::decommit):
7964
79652013-03-07  Andrew Bortz  <andrew@abortz.net>
7966
7967        Replace Mersenne Twister random number generator with a simpler one.
7968        https://bugs.webkit.org/show_bug.cgi?id=111533
7969
7970        Reviewed by Adam Barth.
7971
7972        The new generator is only a single line long, but passes all the Diehard
7973        statistical tests and runs ~3x faster than the Mersenne Twister, with a
7974        guaranteed cycle length of 2^64 and only 8 bytes of state.
7975        
7976        * wtf/Platform.h: Mersenne Twister defines are no longer needed
7977        * wtf/RandomNumber.cpp:
7978        (WTF::Internal::initializeRandomNumber): State initialization
7979        (WTF::Internal::randomNumber): Actual implementation
7980        (WTF::randomNumber): We don't need to fall back on rand()-based generator anymore,
7981        so this code is greatly simplified.
7982        * wtf/RandomNumber.h:
7983        * wtf/RandomNumberSeed.h:
7984        (WTF::initializeRandomNumberGenerator): This code is no longer needed.
7985        Additionally, the code had an error, since rand() returns 32-bits, so each
7986        initializationBuffer's upper 16-bits has more bits set than random.
7987
79882013-03-06  Adenilson Cavalcanti  <cavalcantii@gmail.com>
7989
7990        Build fix: PageAllocationAligned no longer has executable flag
7991        https://bugs.webkit.org/show_bug.cgi?id=111659
7992
7993        Reviewed by Kentaro Hara.
7994
7995        Build fix: use false as parameter to execution flag.
7996
7997        * wtf/PageAllocationAligned.cpp:
7998        (WTF::PageAllocationAligned::allocate):
7999
80002013-03-06  Eric Seidel  <eric@webkit.org>
8001
8002        AtomicStringImpls are not safe to send between threads
8003        https://bugs.webkit.org/show_bug.cgi?id=111652
8004
8005        Reviewed by Benjamin Poulain.
8006
8007        We don't have this problem yet, but it's good to be safe.
8008
8009        * wtf/text/WTFString.cpp:
8010        (WTF::String::isSafeToSendToAnotherThread):
8011
80122013-03-06  Oliver Hunt  <oliver@apple.com>
8013
8014        Don't give PageAllocationAligned the option to allocate executable memory
8015        https://bugs.webkit.org/show_bug.cgi?id=111657
8016
8017        Reviewed by Geoffrey Garen.
8018
8019        * wtf/PageAllocationAligned.cpp:
8020        (WTF::PageAllocationAligned::allocate):
8021        * wtf/PageAllocationAligned.h:
8022        (PageAllocationAligned):
8023
80242013-03-04  Jer Noble  <jer.noble@apple.com>
8025
8026        Default mouse cursor behavior should be auto-hide for full screen video with custom controls
8027        https://bugs.webkit.org/show_bug.cgi?id=107601
8028
8029        Reviewed by Beth Dakin.
8030
8031        Enable the CURSOR_VISIBILITY feature.
8032
8033        * wtf/FeatureDefines.h:
8034
80352013-03-04  Oliver Hunt  <oliver@apple.com>
8036
8037        Make fastmalloc use guardpages
8038        https://bugs.webkit.org/show_bug.cgi?id=111353
8039
8040        Reviewed by Anders Carlsson.
8041
8042        Add PROT_NONE pages at the beginning and end of every
8043        mmap call made by fastmalloc.
8044
8045        * wtf/TCSystemAlloc.cpp:
8046        (TryMmap):
8047
80482013-03-06  Paweł Forysiuk  <tuxator@o2.pl>
8049
8050        Typo in inline function in ByteOrder.h
8051        https://bugs.webkit.org/show_bug.cgi?id=111473
8052
8053        Reviewed by Benjamin Poulain.
8054
8055        * wtf/ByteOrder.h:
8056        (ntohs):
8057
80582013-03-05  Ryuan Choi  <ryuan.choi@samsung.com>
8059
8060        [EFL] Build break with latest EFL libraries
8061        https://bugs.webkit.org/show_bug.cgi?id=111028
8062
8063        Reviewed by Dirk Pranke.
8064
8065        * wtf/PlatformEfl.cmake: Added ECORE_IMF_INCLUDE_DIRS.
8066
80672013-03-05  Csaba Osztrogonác  <ossy@webkit.org>
8068
8069        Fix cast-align warning in ASCIIFastPath.h on ARM
8070        https://bugs.webkit.org/show_bug.cgi?id=111436
8071
8072        Reviewed by Benjamin Poulain.
8073
8074        * wtf/text/ASCIIFastPath.h:
8075        (WTF::charactersAreAllASCII):
8076
80772013-03-04  Laszlo Gombos  <l.gombos@samsung.com>
8078
8079        JSC_OBJC_API_ENABLED should be removed from FeatureDefines.h
8080        https://bugs.webkit.org/show_bug.cgi?id=111269
8081
8082        Reviewed by Mark Hahnenberg.
8083
8084        JSC_OBJC_API_ENABLED flag was added to FeatureDefines.h (r143637) 
8085        so that it could be used in WebCore.exp.in to determine whether 
8086        or not we should be exporting certain symbols based on whether 
8087        the WebKit-related portion of the JSC ObjC API was enabled.
8088        
8089        It turned out conditionally including certain symbols didn't
8090        work when building fat binaries, so it's not even necessary any more.
8091
8092        * wtf/FeatureDefines.h: Remove JSC_OBJC_API_ENABLED.
8093
80942013-03-04  Andreas Kling  <akling@apple.com>
8095
8096        Deque: Free internal buffer in clear().
8097        <http://webkit.org/b/111316>
8098        <rdar://problem/13336675>
8099
8100        Reviewed by Antti Koivisto.
8101
8102        525 kB progression on Membuster3.
8103
8104        * wtf/Deque.h:
8105        (WTF::::clear):
8106
81072013-03-04  Kunihiko Sakamoto  <ksakamoto@chromium.org>
8108
8109        Add build flag for FontLoader
8110        https://bugs.webkit.org/show_bug.cgi?id=111289
8111
8112        Reviewed by Benjamin Poulain.
8113
8114        Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
8115
8116        * wtf/FeatureDefines.h:
8117
81182013-02-27  Darin Adler  <darin@apple.com>
8119
8120        StringHasher functions require alignment that call sites do not all guarantee
8121        https://bugs.webkit.org/show_bug.cgi?id=110171
8122
8123        Reviewed by Benjamin Poulain.
8124
8125        The StringHasher class is optimized for clients who pass it two characters at
8126        a time. However, the function named addCharacters did not make this clear to
8127        clients, and one calculateStringHashAndLengthFromUTF8MaskingTop8Bits got it wrong.
8128        Fix by making addCharacters work regardless of hasher alignment and adding a new
8129        function, addCharactersAssumingAligned, for use when we want a faster path and can
8130        guarantee we are adding characters two at a time.
8131
8132        * wtf/StringHasher.h:
8133        (WTF::StringHasher::addCharactersAssumingAligned): Renamed the addCharacters function
8134        addCharactersAssumingAligned, since it only works if the hasher is currently aligned,
8135        meaning it contains an even number of characters. The function already asserts
8136        that this is true, but the calculateStringHashAndLengthFromUTF8MaskingTop8Bits
8137        function was using it in cases where the assertion could fire. Also updated to
8138        call addCharactersInternal by its new name. Also added some new overloads that take
8139        data pointers and lengths so callers can always use addCharactersAssumingAligned
8140        instead of addCharacters if they know the hasher is aligned.
8141        (WTF::StringHasher::addCharacter): Updated to call the public
8142        addCharactersAssumingAligned function since that's simpler and a bit cleaner.
8143        (WTF::StringHasher::addCharacters): Added functions with this name that handle
8144        the case where the hasher is not aligned. These will be called by existing call sites
8145        that were formerly using the function named addCharactersAssumingAligned above.
8146        Also add an overload that works with the default converter automatically.
8147        (WTF::StringHasher::computeHashAndMaskTop8Bits): Changed to call
8148        addCharactersAssumingAligned to eliminate copied and pasted code. The hasher is empty,
8149        so definitely aligned.
8150        (WTF::StringHasher::computeHash): Ditto.
8151        (WTF::StringHasher::addCharactersInternal): Renamed from addCharactersToHash, since
8152        the former name did not make clear how this differs from the public functions.
8153        The real difference is that this is like addCharactersAssumingAligned, but without
8154        the assertion, so addCharactersAssumingAligned is called instead, even within the
8155        class's implementation.
8156
81572013-03-01  Ilya Tikhonovsky  <loislo@chromium.org>
8158
8159        Web Inspector: Native Memory Instrumentation: do not visit raw pointers by default.
8160        https://bugs.webkit.org/show_bug.cgi?id=110943
8161
8162        Reviewed by Yury Semikhatsky.
8163
8164        Unfortunately in many cases raw pointer may point to an object that has been deleted.
8165        There is no working solution to solve this problem in general.
8166        It could be solved only on case by case basis.
8167
8168        * wtf/MemoryInstrumentation.h:
8169        (WTF::MemoryInstrumentation::addObject):
8170        (WTF::MemoryInstrumentation::MemberTypeTraits::addObject):
8171        (WTF::MemoryClassInfo::addMember):
8172        (WTF::MemoryInstrumentation::addObjectImpl):
8173        * wtf/MemoryInstrumentationString.h:
8174        (WTF::reportMemoryUsage):
8175
81762013-03-01  Eric Seidel  <eric@webkit.org>
8177
8178        Threaded HTML Parser has an extra copy of every byte from the network
8179        https://bugs.webkit.org/show_bug.cgi?id=111135
8180
8181        Reviewed by Adam Barth.
8182
8183        The threaded html parser needs to accept ownership
8184        of a string buffer.  The easiest way to do this seemed
8185        to be to use a PassRefPtr<StringImpl>, but there was no way
8186        to generated one from a String (easily), so I added one.
8187
8188        * wtf/text/WTFString.h:
8189        (WTF::String::releaseImpl):
8190
81912013-02-28  Oliver Hunt  <oliver@apple.com>
8192
8193        Crash in JSC::MarkedBlock::FreeList JSC::MarkedBlock::sweepHelper
8194        https://bugs.webkit.org/show_bug.cgi?id=111059
8195
8196        Reviewed by Ryosuke Niwa.
8197
8198        Sometimes C++'s implicit operator conversion rules suck.
8199        Add explicit operator== and !=.
8200
8201        * wtf/FastMalloc.cpp:
8202        (WTF::HardenedSLL::operator!=):
8203        (WTF::HardenedSLL::operator==):
8204        (HardenedSLL):
8205
82062013-02-28  Zeno Albisser  <zeno@webkit.org>
8207
8208        Enable DFG JIT for Qt on Mac
8209        https://bugs.webkit.org/show_bug.cgi?id=111095
8210
8211        Rubber-stamped by Simon Hausmann
8212
8213        * wtf/Platform.h:
8214
82152013-02-28  Eric Carlson  <eric.carlson@apple.com>
8216
8217        [Mac] use HAVE() macro instead of version check
8218        https://bugs.webkit.org/show_bug.cgi?id=111087
8219
8220        Reviewed by Dean Jackson.
8221
8222        * wtf/Platform.h: Define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK.
8223
82242013-02-27  Balazs Kilvady  <kilvadyb@homejinni.com>
8225
8226        Bug in atomicIncrement implementation for MIPS GCC
8227        https://bugs.webkit.org/show_bug.cgi?id=110969
8228
8229        Reviewed by Csaba Osztrogonác.
8230
8231        Fix of __sync_[add|sub]_and_fetch_8 for GCC patch.
8232
8233        * wtf/Atomics.cpp:
8234
82352013-02-27  Simon Hausmann  <simon.hausmann@digia.com>
8236
8237        REGRESSION(r137994): It made JSC tests hang and layout tests fail on ARM Thumb2 / Linux
8238        https://bugs.webkit.org/show_bug.cgi?id=108632
8239
8240        Reviewed by Csaba Osztrogonác.
8241
8242        It appears that mprotect() is very slow on ARM/Linux, so disable the
8243        approach of unreserved mappings there and fall back to overcomitting
8244        memory, based on Uli Schlachter's recommendation.
8245
8246        * wtf/OSAllocatorPosix.cpp:
8247        (WTF::OSAllocator::reserveUncommitted):
8248        (WTF::OSAllocator::decommit):
8249
82502013-02-26  Roger Fong  <roger_fong@apple.com>
8251
8252        Unreviewed. Build fix for VS2010 solution, take 2.
8253
8254        * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
8255
82562013-02-26  Roger Fong  <roger_fong@apple.com>
8257
8258        Unreviewed. Unreviewed build fix for VS2010 solution.
8259
8260        * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
8261
82622013-02-26  Balazs Kilvady  <kilvadyb@homejinni.com>
8263
8264        Fix the atomicIncrement implementation for MIPS GCC
8265        https://bugs.webkit.org/show_bug.cgi?id=106739
8266
8267        Reviewed by Oliver Hunt.
8268
8269        Implementation of missing __sync_[add|sub]_and_fetch_8 functions.
8270
8271        Some architectures, like MIPS32, don't have GCC implementation for
8272        builtin __sync_* functions with 64 bits variable size. GCC answer
8273        for the problem: If a target doesn't support atomic operations on
8274        certain variable sizes, you are out of luck with atomicity in that
8275        case (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56296). GCC >= 4.8
8276        will support __atomic_* builtin functions for this purpose for all
8277        the GCC targets, but for current compilers we have to include our
8278        own implementation.
8279
8280        * GNUmakefile.list.am:
8281        * WTF.pro:
8282        * wtf/Atomics.cpp: Added.
8283        (WTF):
8284        (WTF::getSwapLock):
8285        (WTF::atomicStep):
8286        * wtf/CMakeLists.txt:
8287
82882013-02-26  Oliver Hunt  <oliver@apple.com>
8289
8290        Appease the QT bots.
8291
8292        * wtf/FastMalloc.cpp:
8293
82942013-02-26  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
8295
8296        Implement JIT on Windows 64 bits
8297        https://bugs.webkit.org/show_bug.cgi?id=107965
8298
8299        Reviewed by Simon Hausmann.
8300
8301        * wtf/Platform.h:
8302
83032013-02-26  Oliver Hunt  <oliver@apple.com>
8304
8305        Appease static analyzer warning about null string passed to strlen
8306        https://bugs.webkit.org/show_bug.cgi?id=110658
8307
8308        Reviewed by Benjamin Poulain.
8309
8310        Add a null check before calling strlen
8311
8312        * wtf/Threading.cpp:
8313        (WTF::createThread):
8314
83152013-02-25  Ryosuke Niwa  <rniwa@webkit.org>
8316
8317        Build fix attempt after r143996.
8318
8319        * wtf/FastMalloc.cpp:
8320        (WTF):
8321
83222013-02-25  Roger Fong  <roger_fong@apple.com>
8323
8324        Unreviewed. Fix script to use WEBKIT_SOURCE for VS2010 property sheets instead of WEBKIT_LIBRARIES.
8325
8326        * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
8327
83282013-02-25  Oliver Hunt  <oliver@apple.com>
8329
8330        Add cookies to FastMalloc spans
8331        https://bugs.webkit.org/show_bug.cgi?id=110827
8332
8333        Reviewed by Michael Saboff.
8334
8335        Add a cookie to spans, and move some of the hardening around so
8336        that it's more useful.
8337
8338        * wtf/FastMalloc.cpp:
8339        (WTF::internalEntropyValue):
8340        (WTF::spanInitializerCookie):
8341        (WTF::Span::initCookie):
8342        (WTF::Span::clearCookie):
8343        (WTF::Span::isValid):
8344        (Span):
8345        (WTF::NewSpan):
8346        (WTF::DeleteSpan):
8347        (WTF::TCMalloc_ThreadCache_FreeList::Validate):
8348        (WTF::TCMalloc_Central_FreeList::Populate):
8349        (WTF::TCMalloc_ThreadCache::Deallocate):
8350        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
8351
83522013-02-25  Jer Noble  <jer.noble@apple.com>
8353
8354        Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
8355        https://bugs.webkit.org/show_bug.cgi?id=110806
8356
8357        Reviewed by Alexey Proskuryakov.
8358
8359        Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.
8360
8361        * wtf/FeatureDefines.h:
8362
83632013-02-23  Ilya Tikhonovsky  <loislo@chromium.org>
8364
8365        Web Inspector: Native Memory Instrumentation: replace String with const char* in MemoryObjectInfo
8366        https://bugs.webkit.org/show_bug.cgi?id=110599
8367
8368        Reviewed by Yury Semikhatsky.
8369
8370        Due to potentially dynamic nature of names and classNames we need to make a copy of the strings
8371        that were given us via MemoryInstrumentation calls.
8372        So I extended client api with registerString method that pushes the strings
8373        down to the serializer.
8374
8375        * wtf/MemoryInstrumentation.h:
8376        (MemoryInstrumentationClient):
8377        * wtf/MemoryObjectInfo.h:
8378        (WTF::MemoryObjectInfo::MemoryObjectInfo):
8379        (WTF::MemoryObjectInfo::setClassName):
8380        (WTF::MemoryObjectInfo::classNameId):
8381        (WTF::MemoryObjectInfo::setName):
8382        (WTF::MemoryObjectInfo::nameId):
8383        (MemoryObjectInfo):
8384
83852013-02-21  Brady Eidson  <beidson@apple.com>
8386
8387        Move fastlog2() to WTF/MathExtras.h so it can be used from multiple projects.
8388
8389        Rubberstamped by Geoff Garen.
8390
8391        * wtf/MathExtras.h:
8392        (WTF::fastLog2):
8393
83942013-02-21  Andy Estes  <aestes@apple.com>
8395
8396        TriState.h should be a Project header
8397        https://bugs.webkit.org/show_bug.cgi?id=110543
8398
8399        Rubber-stamped by Dan Bernstein.
8400
8401        WTF uses a script to copy headers to the build destination, so it isn't
8402        necessary to mark headers as Private/Public (and doing so can be problematic).
8403
8404        * WTF.xcodeproj/project.pbxproj: Mark TriState.h as a Project header.
8405
84062013-02-21  Roger Fong  <roger_fong@apple.com>
8407
8408        Unreviewed. Add executable property to cmd file.
8409        Required for executable files to maintain their executable permissions over svn.
8410
8411        * WTF.vcxproj/copy-files.cmd: Added property svn:executable.
8412
84132013-02-19  Mark Hahnenberg  <mhahnenberg@apple.com>
8414
8415        Objective-C API: Need a way to use the Objective-C JavaScript API with WebKit
8416        https://bugs.webkit.org/show_bug.cgi?id=106059
8417
8418        Reviewed by Geoffrey Garen.
8419
8420        * wtf/FeatureDefines.h: Added enable flag for JSC Objective-C API so it can be used in
8421        export files.
8422
84232013-02-21  Martin Robinson  <mrobinson@igalia.com>
8424
8425        A couple more 'make dist' fixes for WebKitGTK+.
8426
8427        * GNUmakefile.list.am: Add a missing file to the source list.
8428
84292013-02-20  Roger Fong  <roger_fong@apple.com>
8430
8431        Get VS2010 Solution B&I ready.
8432        <rdar://problem/1322988>
8433
8434        Rubberstamped by Timothy Horton.        
8435        
8436        Add Production configuration. 
8437        Add a WTF submit solution with a DebugSuffix configuration. 
8438        Modify WTF.make as necessary.
8439        
8440        * WTF.vcxproj: Added property svn:eol-style. Modified property svn:ignore.
8441        * WTF.vcxproj/WTF.make: Added.
8442        * WTF.vcxproj/WTF.submit.sln: Added.
8443        * WTF.vcxproj/WTF.vcxproj:
8444        * WTF.vcxproj/WTFCommon.props:
8445        * WTF.vcxproj/WTFGenerated.vcxproj:
8446        * WTF.vcxproj/WTFGeneratedProduction.props: Added.
8447        * WTF.vcxproj/WTFGeneratedRelease.props:
8448        * WTF.vcxproj/WTFProduction.props: Added.
8449        * WTF.vcxproj/WTFRelease.props:
8450        * WTF.vcxproj/copy-files.cmd:
8451
84522013-02-20  Oliver Hunt  <oliver@apple.com>
8453
8454        Moar hardening
8455        https://bugs.webkit.org/show_bug.cgi?id=110275
8456
8457        Reviewed by Mark Hahnenberg.
8458
8459        We now poison objects when they get freed, and verify that
8460        any object that is being freed is not poisoned.  If the
8461        object looks like it's poisoned we validate the freelist,
8462        and ensure the object is not already present.  If it is
8463        we crash.
8464
8465        On allocation, we ensure that the object being allocated
8466        is poisoned, then clear the poisoning fields.
8467
8468        * wtf/FastMalloc.cpp:
8469        (WTF::internalEntropyValue):
8470        (WTF):
8471        (WTF::freedObjectStartPoison):
8472        (WTF::freedObjectEndPoison):
8473        (TCMalloc_ThreadCache_FreeList):
8474        (WTF::TCMalloc_ThreadCache_FreeList::Validate):
8475        (WTF::TCMalloc_Central_FreeList::Populate):
8476        (WTF::TCMalloc_ThreadCache::Allocate):
8477        (WTF::TCMalloc_ThreadCache::Deallocate):
8478        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
8479
84802013-02-19  Sheriff Bot  <webkit.review.bot@gmail.com>
8481
8482        Unreviewed, rolling out r143400.
8483        http://trac.webkit.org/changeset/143400
8484        https://bugs.webkit.org/show_bug.cgi?id=110290
8485
8486        breaks everything (instacrash launching Safari) (Requested by
8487        thorton on #webkit).
8488
8489        * wtf/FastMalloc.cpp:
8490        (WTF::internalEntropyValue):
8491        (WTF):
8492        (WTF::TCMalloc_Central_FreeList::Populate):
8493        (WTF::TCMalloc_ThreadCache::Allocate):
8494        (WTF::TCMalloc_ThreadCache::Deallocate):
8495
84962013-02-19  Oliver Hunt  <oliver@apple.com>
8497
8498        Moar hardening
8499        https://bugs.webkit.org/show_bug.cgi?id=110275
8500
8501        Reviewed by Anders Carlsson.
8502
8503        We now poison objects when they get freed, and verify that
8504        any object that is being freed is not poisoned.  If the
8505        object looks like it's poisoned we validate the freelist,
8506        and ensure the object is not already present.  If it is
8507        we crash.
8508
8509        On allocation, we ensure that the object being allocated
8510        is poisoned, then clear the poisoning fields.
8511
8512        * wtf/FastMalloc.cpp:
8513        (WTF::internalEntropyValue):
8514        (WTF):
8515        (WTF::freedObjectStartPoison):
8516        (WTF::freedObjectEndPoison):
8517        (TCMalloc_ThreadCache_FreeList):
8518        (WTF::TCMalloc_ThreadCache_FreeList::Validate):
8519        (WTF::TCMalloc_Central_FreeList::Populate):
8520        (WTF::TCMalloc_ThreadCache::Allocate):
8521        (WTF::TCMalloc_ThreadCache::Deallocate):
8522
85232013-02-18  Darin Adler  <darin@apple.com>
8524
8525        Style tweaks to StringHasher.h
8526        https://bugs.webkit.org/show_bug.cgi?id=110042
8527
8528        Reviewed by Alexey Proskuryakov.
8529
8530        I have a bug fix coming soon, but figured I'd separate out style tweaks and land them
8531        first to make that patch easier to undrestand.
8532
8533        * wtf/StringHasher.h: Tweak and rearrange comments a bit.
8534        (WTF::StringHasher::addCharacter): Use character instead of ch.
8535        (WTF::StringHasher::addCharacters): Use remainder instead of rem. Also capitalize the U
8536        that we use to make an unsigned 1 constant.
8537        (WTF::StringHasher::computeHashAndMaskTop8Bits): Ditto.
8538        (WTF::StringHasher::hashMemory): Change version that takes size as a template argument
8539        to call the version that takes the size at runtime, since both generate the same code
8540        anyway. Added a FIXME questioning why this function uses the "mask top 8 bits" version
8541        of the hash. Fix incorrect compile assertion that required sizes that are multiples
8542        of four. This function works on sizes that are multiples of two. Also fixed a spelling
8543        error where we called it a "multible".
8544        (WTF::StringHasher::defaultConverter): Use character instead of ch.
8545        (WTF::StringHasher::addCharactersToHash): Eliminated unnecessary local variable.
8546
85472013-02-18  Alexey Proskuryakov  <ap@apple.com>
8548
8549        Make HexNumber functions return 8-bit strings
8550        https://bugs.webkit.org/show_bug.cgi?id=110152
8551
8552        Reviewed by Michael Saboff.
8553
8554        * wtf/HexNumber.h:
8555        (Internal):
8556        (WTF::Internal::hexDigitsForMode):
8557        (WTF::appendByteAsHex):
8558        (WTF::placeByteAsHexCompressIfPossible):
8559        (WTF::placeByteAsHex):
8560        (WTF::appendUnsignedAsHex):
8561        (WTF::appendUnsignedAsHexFixedSize):
8562        Use LChar everywhere.
8563
85642013-02-18  Benjamin Poulain  <bpoulain@apple.com>
8565
8566        Remove Vector::dataSlot(), it has no implementation
8567        https://bugs.webkit.org/show_bug.cgi?id=109999
8568
8569        Reviewed by Andreas Kling.
8570
8571        VectorBufferBase does not implement any function bufferSlot().
8572        The file only compiles because that part of the template is never
8573        instantiated.
8574
8575        * wtf/Vector.h:
8576
85772013-02-18  Laszlo Gombos  <l.gombos@samsung.com>
8578
8579        Move ENABLE macros for WebCore out from Platform.h
8580        https://bugs.webkit.org/show_bug.cgi?id=105735
8581
8582        Unreviewed, build fix when NETSCAPE_PLUGIN_API is disabled.
8583
8584        Enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH even if
8585        NETSCAPE_PLUGIN_API is disabled (Qt, Efl, GTK, WX ports).
8586
8587        * wtf/FeatureDefines.h:
8588
85892013-02-18  Balazs Kilvady  <kilvadyb@homejinni.com>
8590
8591        MIPS DFG implementation.
8592        https://bugs.webkit.org/show_bug.cgi?id=101328
8593
8594        Reviewed by Oliver Hunt.
8595
8596        DFG implementation for MIPS.
8597
8598        * wtf/Platform.h:
8599
86002013-02-18  Zan Dobersek  <zdobersek@igalia.com>
8601
8602        Stop placing std::isfinite and std::signbit inside the global scope
8603        https://bugs.webkit.org/show_bug.cgi?id=109817
8604
8605        Reviewed by Darin Adler.
8606
8607        Prefix calls to the isfinite and signbit methods with std:: as the two
8608        methods are no longer being imported into the global scope.
8609
8610        On Solaris and OpenBSD platforms or when using Visual C++ the two methods
8611        are now defined (as incompatibility workarounds) inside the std namespace.
8612
8613        * wtf/DateMath.cpp:
8614        (WTF::timeClip):
8615        * wtf/DecimalNumber.h:
8616        (WTF::DecimalNumber::DecimalNumber):
8617        * wtf/MathExtras.h:
8618        (std):
8619        (std::isfinite):
8620        (std::signbit):
8621        (lrint):
8622        (wtf_pow):
8623        (decomposeDouble):
8624        * wtf/MediaTime.cpp:
8625        (WTF::MediaTime::createWithFloat):
8626        (WTF::MediaTime::createWithDouble):
8627        * wtf/dtoa.cpp:
8628        (WTF::dtoa):
8629
86302013-02-18  Laszlo Gombos  <l.gombos@samsung.com>
8631
8632        Move ENABLE macros for WebCore out from Platform.h
8633        https://bugs.webkit.org/show_bug.cgi?id=105735
8634
8635        Reviewed by Darin Adler and Benjamin Poulain.
8636
8637        Introduce FeatureDefines.h by combining the existing rules from
8638        Platform.h and adding new rules for all the ENABLE flags that are
8639        listed in the FeatureFlags wiki.
8640
8641        The new rules are not used at the moment by any ports
8642        as the port specific build systems already define these flags
8643        so the !defined() guard will prevent redefinition of the macros.
8644
8645        * GNUmakefile.list.am: Add FeatureDefines.h.
8646        * WTF.gypi: Ditto.
8647        * WTF.pro: Ditto.
8648        * WTF.vcproj/WTF.vcproj: Ditto.
8649        * WTF.xcodeproj/project.pbxproj: Ditto.
8650        * wtf/CMakeLists.txt: Ditto.
8651        * wtf/FeatureDefines.h: Added.
8652        * wtf/Platform.h: Move macro definitions to FeatureDefines.h.
8653
86542013-02-16  Darin Adler  <darin@apple.com>
8655
8656        Remove redundant use of inline keyword in StringHasher.h
8657        https://bugs.webkit.org/show_bug.cgi?id=110036
8658
8659        Reviewed by Geoffrey Garen.
8660
8661        I have some other improvements for StringHasher.h, but wanted to get the simplest ones
8662        out of the way first.
8663
8664        * wtf/StringHasher.h: Remove inline keyword on functions inside the class definition,
8665        since functions defined inside the class are automatically inline.
8666
86672013-02-15  Martin Robinson  <mrobinson@igalia.com>
8668
8669        [GTK] Spread the gyp build files throughout the tree
8670        https://bugs.webkit.org/show_bug.cgi?id=109960
8671
8672        Reviewed by Dirk Pranke.
8673
8674        * WTF.gyp/WTFGTK.gyp: Renamed from Source/WebKit/gtk/gyp/WTF.gyp.
8675
86762013-02-15  Anders Carlsson  <andersca@apple.com>
8677
8678        Add HashMap::isValidKey and HashSet::isValidValue
8679        https://bugs.webkit.org/show_bug.cgi?id=109977
8680
8681        Reviewed by Sam Weinig and Darin Adler.
8682
8683        Add helper functions for determining whether keys are valid, i.e. if
8684        they are _not_ empty or deleted according to the hash traits.
8685
8686        * wtf/HashMap.h:
8687        * wtf/HashSet.h:
8688
86892013-02-15  Laszlo Gombos  <l.gombos@samsung.com>
8690
8691        Remove support for RVCT version less than 4.0
8692        https://bugs.webkit.org/show_bug.cgi?id=109390
8693
8694        The 4.0 version of the RVCT compiler was 
8695        released in 2008. 
8696        
8697        Remove support for version older then 4.0 of RVCT, 
8698        and keep the support for newer RVCT versions.
8699
8700        Reviewed by Zoltan Herczeg.
8701
8702        * WTF.gypi: Remove StringExtras.cpp.
8703        * WTF.vcproj/WTF.vcproj: Remove StringExtras.cpp.
8704        * WTF.vcxproj/WTF.vcxproj: Remove StringExtras.cpp.
8705        * WTF.vcxproj/WTF.vcxproj.filters: Remove StringExtras.cpp.
8706        * WTF.xcodeproj/project.pbxproj: Remove StringExtras.cpp.
8707        * wtf/CMakeLists.txt: Remove StringExtras.cpp.
8708        * wtf/Compiler.h: Remove tests for RVCT_VERSION_AT_LEAST(3, 0, 0, 0).
8709        * wtf/Float32Array.h: Remove a quirk introduced for RVCT version <=2.2 .
8710        * wtf/Float64Array.h: Ditto.
8711        * wtf/Int16Array.h: Ditto.
8712        * wtf/Int32Array.h: Ditto.
8713        * wtf/Int8Array.h: Ditto.
8714        * wtf/MathExtras.h: Remove a quirk needed for RVCT version  <= 3.0.
8715        * wtf/Platform.h: Remove test for RVCT 4.0. Remove OS(RVCT).
8716        * wtf/StringExtras.cpp: Removed.
8717        * wtf/StringExtras.h: Remove a quirk introduced for RVCT version < 4.0.
8718        * wtf/Uint16Array.h: Remove a quirk introduced for RVCT version <= 2.2.
8719        * wtf/Uint32Array.h: Ditto.
8720        * wtf/Uint8Array.h: Ditto.
8721        * wtf/Uint8ClampedArray.h: Ditto.
8722
87232013-02-15  Christophe Dumez  <ch.dumez@sisa.samsung.com>
8724
8725        Add CString operators for comparison with const char*
8726        https://bugs.webkit.org/show_bug.cgi?id=109947
8727
8728        Reviewed by Darin Adler.
8729
8730        Add operators to WTF::CString for equality/inequality comparison
8731        with const char* strings. This avoids constructing a CString
8732        from a const char* in such cases, which is can be expensive as
8733        it would copy it and call strlen().
8734
8735        * wtf/text/CString.cpp:
8736        (WTF::operator==): Use memcmp instead of strncmp to compare the
8737        CString buffers as we know they are the same size and we don't
8738        want to scan for terminating null byte.
8739        (WTF):
8740        * wtf/text/CString.h:
8741        (WTF):
8742        (WTF::operator!=):
8743
87442013-02-15  Geoffrey Garen  <ggaren@apple.com>
8745
8746        Merged the global function cache into the source code cache
8747        https://bugs.webkit.org/show_bug.cgi?id=108660
8748
8749        Reviewed by Sam Weinig.
8750
8751        Responding to review comments by Darin Adler.
8752
8753        * wtf/HashTraits.h: Added a using directive to simplify client code.
8754
87552013-02-14  Dan Bernstein  <mitz@apple.com>
8756
8757        No easy way to use a RetainPtr as a key in a HashMap using object (rather than pointer) equality
8758        https://bugs.webkit.org/show_bug.cgi?id=109864
8759
8760        Reviewed by Sam Weinig and Benjamin Poulain.
8761
8762        Added RetainPtrObjectHashTraits and RetainPtrObjectHash, which use CFEqual
8763        and CFHash.
8764
8765        * wtf/RetainPtr.h:
8766        (RetainPtrObjectHashTraits):
8767        (WTF::RetainPtrObjectHashTraits::emptyValue):
8768        (WTF::RetainPtrObjectHashTraits::constructDeletedValue):
8769        (WTF::RetainPtrObjectHashTraits::isDeletedValue):
8770        (WTF):
8771        (WTF::RetainPtrObjectHash::hash):
8772        (WTF::RetainPtrObjectHash::equal):
8773        (RetainPtrObjectHash):
8774
87752013-02-14  Tony Chang  <tony@chromium.org>
8776
8777        Unreviewed, set svn:eol-style native for .sln, .vcproj, and .vsprops files.
8778        https://bugs.webkit.org/show_bug.cgi?id=96934
8779
8780        * WTF.vcproj/WTF.sln: Modified property svn:eol-style.
8781
87822013-02-14  Tony Chang  <tony@chromium.org>
8783
8784        Unreviewed, set svn:eol-style CRLF for .sln files.
8785
8786        * WTF.vcproj/WTF.sln: Added property svn:eol-style.
8787
87882013-02-14  David Kilzer  <ddkilzer@apple.com>
8789
8790        [Mac] Clean up WARNING_CFLAGS
8791        <http://webkit.org/b/109747>
8792        <rdar://problem/13208373>
8793
8794        Reviewed by Mark Rowe.
8795
8796        * Configurations/Base.xcconfig: Use
8797        GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
8798        -Wshorten-64-to-32 rather than WARNING_CFLAGS.
8799
8800        * WTF.vcproj/WTF.sln: Added property svn:eol-style.
8801
88022013-02-14  Eric Seidel  <eric@webkit.org>
8803
8804        String(Vector) behaves differently from String(vector.data(), vector.size()) for vectors with inline capacity in the size=0 case
8805        https://bugs.webkit.org/show_bug.cgi?id=109784
8806
8807        Reviewed by Darin Adler.
8808
8809        This makes String(Vector) never return null strings.
8810        Which matches behavior of String(UChar*, size_t)
8811        for vectors with inlineCapacity, but differs from
8812        String(UChar*, size_t) in the no-inlineCapacity case.
8813
8814        This incidentally will fix a behavioral regression
8815        in the html threaded parser which came from converting
8816        many String(UChar*, size_t) callsites to using String(Vector).
8817
8818        * wtf/text/WTFString.h:
8819        (String):
8820        (WTF::String::String):
8821
88222013-02-14  Eric Seidel  <eric@webkit.org>
8823
8824        REGRESSION(r142712): attribute values show up as "(null)" instead of null with the threaded parser
8825        https://bugs.webkit.org/show_bug.cgi?id=109784
8826
8827        Reviewed by Benjamin Poulain.
8828
8829        When I changed many callsites to use the (existing) String(Vector) constructor
8830        I inadvertantly made those callsites convert empty vectors to null strings
8831        instead of empty strings (like String(UChar,size_t) does).
8832
8833        This is due to an oddity/bug in our Vector implementation where data()
8834        will be 0 if the Vector is empty, but only if it doesn't have inline capacity.
8835        https://bugs.webkit.org/show_bug.cgi?id=109792
8836
8837        This changes String(Vector) to exactly match the behavior of String(vector.data(), vector.size()).
8838
8839        This regression was easily detectable with the threaded parser, because we use String
8840        instead of AtomicString in our CompactToken (used to send the Token data
8841        between threads). The main-thread parser path uses AtomicHTMLToken which
8842        uses AtomicString(Vector) and does not have this bug.
8843
8844        * wtf/text/WTFString.h:
8845        (String):
8846        (WTF::String::String):
8847
88482013-02-13  Zan Dobersek  <zdobersek@igalia.com>
8849
8850        The 'global isinf/isnan' compiler quirk required when using clang with libstdc++
8851        https://bugs.webkit.org/show_bug.cgi?id=109325
8852
8853        Reviewed by Anders Carlsson.
8854
8855        Prefix calls to the isinf and isnan methods with std::, declaring we want to use the
8856        two methods as they're provided by the C++ standard library being used.
8857
8858        * wtf/Compiler.h: Remove the global isinf/isnan compiler quirk definitions. They're not required anymore.
8859        * wtf/DateMath.cpp: Move the workaround for isinf on Solaris into the std namespace. Ditto for isinf and isnan
8860        when using MSVC. Stop bringing the isinf and isnan methods into the global scope when using other configurations.
8861        (WTF::parseDateFromNullTerminatedCharacters):
8862        * wtf/IntegralTypedArrayBase.h:
8863        (WTF::IntegralTypedArrayBase::set):
8864        * wtf/MathExtras.h:
8865        (std):
8866        (std::isinf):
8867        (wtf_fmod):
8868        (wtf_pow):
8869        (doubleToInteger):
8870        * wtf/MediaTime.cpp:
8871        (WTF::MediaTime::createWithFloat):
8872        (WTF::MediaTime::createWithDouble):
8873        * wtf/Uint8ClampedArray.h:
8874        (WTF::Uint8ClampedArray::set):
8875
88762013-02-13  Eric Seidel  <eric@webkit.org>
8877
8878        Don't copy Vector<UChar> when passing to new String methods from bug 109617
8879        https://bugs.webkit.org/show_bug.cgi?id=109708
8880
8881        Reviewed by Tony Gentilcore.
8882
8883        Thanks for the catch Darin.
8884
8885        * wtf/text/AtomicString.h:
8886        (WTF::AtomicString::AtomicString):
8887        * wtf/text/StringImpl.h:
8888        (WTF::StringImpl::create8BitIfPossible):
8889
88902013-02-13  Martin Robinson  <mrobinson@igalia.com>
8891
8892        [GTK] Remove remaining dead code from the GLib unicode backend
8893        https://bugs.webkit.org/show_bug.cgi?id=109707
8894
8895        Reviewed by Philippe Normand.
8896
8897        * wtf/unicode/Unicode.h:
8898
88992013-02-13  Andrew Wilson  <atwilson@chromium.org>
8900
8901        Unreviewed Chromium gyp-file cleanup after glib backend removal.
8902        https://bugs.webkit.org/show_bug.cgi?id=109672
8903
8904        Removed references to GLib unicode backend:
8905
8906        * WTF.gyp/WTF.gyp:
8907        * WTF.gypi:
8908
89092013-02-12  Martin Robinson  <mrobinson@igalia.com>
8910
8911        [GTK] Remove the GLib unicode backend
8912        https://bugs.webkit.org/show_bug.cgi?id=109627
8913
8914        Reviewed by Benjamin Poulain.
8915
8916        Remove references to the GLib unicode backend from WTF.
8917
8918        * GNUmakefile.list.am: Remove GLib unicode files from the source list.
8919        * wtf/unicode/glib/UnicodeGLib.cpp: Removed.
8920        * wtf/unicode/glib/UnicodeGLib.h: Removed.
8921
89222013-02-12  Takeshi Yoshino  <tyoshino@google.com>
8923
8924        Remove unnecessary and confusing includes from StreamBuffer.h.
8925        https://bugs.webkit.org/show_bug.cgi?id=109652
8926
8927        Reviewed by Benjamin Poulain.
8928
8929        StreamBuffer.h is using OwnPtr for storing Vectors into a Deque.
8930        FixedArray.h and PassOwnPtr.h are included but not used.
8931
8932        VectorTraits defines how to move OwnPtr in Vector. It's done by memcpy.
8933        So, there's no need for PassOwnPtr (Deque<PassOwnPtr<Vector<char> > >
8934        is even slower).
8935
8936        * wtf/StreamBuffer.h:
8937
89382013-02-12  Eric Seidel  <eric@webkit.org>
8939
8940        Teach more WTF string classes about vectors with inline capacity
8941        https://bugs.webkit.org/show_bug.cgi?id=109617
8942
8943        Reviewed by Benjamin Poulain.
8944
8945        The HTML and WebVTT parsers use constructions like:
8946        AtomicString name(m_name.data(), m_name.size())
8947        all over the place because they use inline capacity
8948        on the parse vectors for performance.
8949
8950        This change just add the necessary template variants
8951        to the related String constructors/methods in WTF so that
8952        this parser code can just pass the vector directly instead.
8953
8954        I'll do the actual parser cleanups in follow-up patches to keep things simple.
8955
8956        * wtf/text/AtomicString.h:
8957        (AtomicString):
8958        (WTF::AtomicString::AtomicString):
8959        * wtf/text/StringImpl.h:
8960        (StringImpl):
8961        (WTF::StringImpl::create8BitIfPossible):
8962        * wtf/text/WTFString.h:
8963        (String):
8964        (WTF::String::make8BitFrom16BitSource):
8965        (WTF):
8966        (WTF::append):
8967
89682013-02-11  Oliver Hunt  <oliver@apple.com>
8969
8970        Build fix.
8971
8972        * wtf/FastMalloc.cpp:
8973        (WTF::TCMalloc_PageHeap::IncrementalScavenge):
8974
89752013-02-11  Ryosuke Niwa  <rniwa@webkit.org>
8976
8977        Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface
8978        https://bugs.webkit.org/show_bug.cgi?id=109534
8979
8980        Reviewed by Anders Carlsson.
8981
8982        * wtf/Platform.h:
8983
89842013-02-11  David Kilzer  <ddkilzer@apple.com>
8985
8986        [iOS] Upstream changes to Platform.h
8987        <http://webkit.org/b/109459>
8988
8989        Reviewed by Benjamin Poulain.
8990
8991        * wtf/Platform.h:
8992        - Changes for armv7s.
8993        - Add ENABLE() definitions for DASHBOARD_SUPPORT and WEBGL.
8994        - Re-sort ENABLE() and USE() macros.
8995        - Remove ENABLE() macros for JIT, LLINT and YARR_JIT to enable
8996          on iOS Simulator.  They are already defined below.
8997        - Turn off HAVE(HOSTED_CORE_ANIMATION) for iOS.
8998        - Turn on USE(COREMEDIA) for iOS 6.0 and later.
8999
90002013-02-08  Oliver Hunt  <oliver@apple.com>
9001
9002        Harden FastMalloc (again)
9003        https://bugs.webkit.org/show_bug.cgi?id=109334
9004
9005        Reviewed by Mark Hahnenberg.
9006
9007        Re-implement hardening of linked lists in TCMalloc.
9008
9009        In order to keep heap introspection working, we need to thread the
9010        heap entropy manually as the introspection process can't use the
9011        address of a global in determining the mask.  Given we now have to
9012        thread a value through anyway, I've stopped relying on ASLR for entropy
9013        and am simply using arc4random() on darwin, and time + ASLR everywhere
9014        else.
9015
9016        I've also made an explicit struct type for the FastMalloc singly linked
9017        lists, as it seemed like the only way to reliably distinguish between
9018        void*'s that were lists vs. void* that were not.  This also made it
9019        somewhat easier to reason about things across processes.
9020
9021        Verified that all the introspection tools work as expected.
9022
9023        * wtf/FastMalloc.cpp:
9024        (WTF::internalEntropyValue):
9025        (WTF):
9026        (HardenedSLL):
9027        (WTF::HardenedSLL::create):
9028        (WTF::HardenedSLL::null):
9029        (WTF::HardenedSLL::setValue):
9030        (WTF::HardenedSLL::value):
9031        (WTF::HardenedSLL::operator!):
9032        (WTF::HardenedSLL::operator UnspecifiedBoolType):
9033        (TCEntry):
9034        (WTF::SLL_Next):
9035        (WTF::SLL_SetNext):
9036        (WTF::SLL_Push):
9037        (WTF::SLL_Pop):
9038        (WTF::SLL_PopRange):
9039        (WTF::SLL_PushRange):
9040        (WTF::SLL_Size):
9041        (PageHeapAllocator):
9042        (WTF::PageHeapAllocator::Init):
9043        (WTF::PageHeapAllocator::New):
9044        (WTF::PageHeapAllocator::Delete):
9045        (WTF::PageHeapAllocator::recordAdministrativeRegions):
9046        (WTF::Span::next):
9047        (WTF::Span::remoteNext):
9048        (WTF::Span::prev):
9049        (WTF::Span::setNext):
9050        (WTF::Span::setPrev):
9051        (Span):
9052        (WTF::DLL_Init):
9053        (WTF::DLL_Remove):
9054        (WTF::DLL_IsEmpty):
9055        (WTF::DLL_Length):
9056        (WTF::DLL_Prepend):
9057        (TCMalloc_Central_FreeList):
9058        (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects):
9059        (WTF::TCMalloc_Central_FreeList::entropy):
9060        (TCMalloc_PageHeap):
9061        (WTF::TCMalloc_PageHeap::init):
9062        (WTF::TCMalloc_PageHeap::scavenge):
9063        (WTF::TCMalloc_PageHeap::New):
9064        (WTF::TCMalloc_PageHeap::AllocLarge):
9065        (WTF::TCMalloc_PageHeap::Carve):
9066        (WTF::TCMalloc_PageHeap::Delete):
9067        (WTF::TCMalloc_PageHeap::ReturnedBytes):
9068        (WTF::TCMalloc_PageHeap::Check):
9069        (WTF::TCMalloc_PageHeap::CheckList):
9070        (WTF::TCMalloc_PageHeap::ReleaseFreeList):
9071        (TCMalloc_ThreadCache_FreeList):
9072        (WTF::TCMalloc_ThreadCache_FreeList::Init):
9073        (WTF::TCMalloc_ThreadCache_FreeList::empty):
9074        (WTF::TCMalloc_ThreadCache_FreeList::Push):
9075        (WTF::TCMalloc_ThreadCache_FreeList::PushRange):
9076        (WTF::TCMalloc_ThreadCache_FreeList::PopRange):
9077        (WTF::TCMalloc_ThreadCache_FreeList::Pop):
9078        (WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects):
9079        (TCMalloc_ThreadCache):
9080        (WTF::TCMalloc_Central_FreeList::Init):
9081        (WTF::TCMalloc_Central_FreeList::ReleaseListToSpans):
9082        (WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
9083        (WTF::TCMalloc_Central_FreeList::InsertRange):
9084        (WTF::TCMalloc_Central_FreeList::RemoveRange):
9085        (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe):
9086        (WTF::TCMalloc_Central_FreeList::FetchFromSpans):
9087        (WTF::TCMalloc_Central_FreeList::Populate):
9088        (WTF::TCMalloc_ThreadCache::Init):
9089        (WTF::TCMalloc_ThreadCache::Deallocate):
9090        (WTF::TCMalloc_ThreadCache::FetchFromCentralCache):
9091        (WTF::TCMalloc_ThreadCache::ReleaseToCentralCache):
9092        (WTF::TCMalloc_ThreadCache::InitModule):
9093        (WTF::TCMalloc_ThreadCache::NewHeap):
9094        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
9095        * wtf/MallocZoneSupport.h:
9096        (RemoteMemoryReader):
9097
90982013-02-11  Enrica Casucci  <enrica@apple.com>
9099
9100        Add ENABLE_DELETION_UI to control the use of the deletion UI.
9101        https://bugs.webkit.org/show_bug.cgi?id=109463.
9102        
9103        ENABLE_DELETION_UI is set to 1 by default for
9104        all ports. It is explicitly enabled for MAC and disabled for iOS.
9105
9106        Reviewed by Ryosuke Niwa.
9107
9108        * wtf/Platform.h:
9109
91102013-02-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
9111
9112        [EFL] Stop using smart pointers for Ecore_Timer
9113        https://bugs.webkit.org/show_bug.cgi?id=109409
9114
9115        Reviewed by Kenneth Rohde Christiansen.
9116
9117        Remove support in OwnPtr for EFL's Ecore_Timer. It is a bad idea to use
9118        OwnPtr for Ecore_Timer because the timer handle may become invalid.
9119
9120        * wtf/OwnPtrCommon.h:
9121        (WTF):
9122        * wtf/efl/OwnPtrEfl.cpp:
9123
91242013-02-11  Abhishek Arya  <inferno@chromium.org>
9125
9126        Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
9127        https://bugs.webkit.org/show_bug.cgi?id=108981
9128
9129        Reviewed by Eric Seidel.
9130
9131        * wtf/BitVector.h:
9132        (WTF::BitVector::quickGet):
9133        (WTF::BitVector::quickSet):
9134        (WTF::BitVector::quickClear):
9135        * wtf/DecimalNumber.h:
9136        (WTF::DecimalNumber::DecimalNumber):
9137        * wtf/SegmentedVector.h:
9138        (WTF::SegmentedVector::ensureSegment):
9139        * wtf/StringPrintStream.cpp:
9140        (WTF::StringPrintStream::vprintf):
9141        * wtf/Vector.h:
9142        (WTF::::insert):
9143        (WTF::::remove):
9144        * wtf/dtoa/utils.h:
9145        (WTF::double_conversion::StringBuilder::SetPosition):
9146        (WTF::double_conversion::StringBuilder::AddSubstring):
9147
91482013-02-10  Laszlo Gombos  <l.gombos@samsung.com>
9149
9150        Consolidate the way WTF_USE_PTHREADS is enabled
9151        https://bugs.webkit.org/show_bug.cgi?id=108191
9152
9153        Reviewed by Benjamin Poulain.
9154
9155        Define WTF_USE_PTHREADS to 1 on all OS(UNIX) environments.
9156
9157        * WTF.gyp/WTF.gyp: Remove duplicated definition of WTF_USE_PTHREADS.
9158        * wtf/Platform.h:
9159
91602013-02-10  Laszlo Gombos  <l.gombos@samsung.com>
9161
9162        Refactor the way HAVE_XXX macros are set
9163        https://bugs.webkit.org/show_bug.cgi?id=108132
9164
9165        Reviewed by Benjamin Poulain.
9166
9167        OS(WINDOWS) and OS(UNIX) are so broadly defined that for each
9168        builds exactly one of them is enabled. Use this assumption to
9169        cleanup Platform.h.
9170
9171        * wtf/Platform.h:
9172
91732013-02-10  Jae Hyun Park  <jae.park08@gmail.com>
9174
9175        Rename ENABLE(GLIB_SUPPORT) to USE(GLIB)
9176        https://bugs.webkit.org/show_bug.cgi?id=104266
9177
9178        Reviewed by Philippe Normand.
9179
9180        Using USE(GLIB) instead of ENABLE(GLIB_SUPPORT) is more consistent with
9181        the existing macro naming conventions.
9182
9183        From Platform.h
9184        USE() - use a particular third-party library or optional OS service
9185        ENABLE() - turn on a specific feature of WebKit
9186
9187        * WTF.pri:
9188        * wtf/Platform.h:
9189        * wtf/gobject/GOwnPtr.cpp:
9190        * wtf/gobject/GOwnPtr.h:
9191        * wtf/gobject/GRefPtr.cpp:
9192        * wtf/gobject/GRefPtr.h:
9193
91942013-02-08  Michael Saboff  <msaboff@apple.com>
9195
9196        ARM_NEON Inline Assembly for copyLCharsFromUCharSource() inefficient for aligned destinations
9197        https://bugs.webkit.org/show_bug.cgi?id=109335
9198
9199        Reviewed by Filip Pizlo.
9200
9201        Change a "do while" to a "while" so that we don't copy single characters to align the 
9202        destination when it is already aligned.
9203
9204        * wtf/text/ASCIIFastPath.h:
9205        (WTF::copyLCharsFromUCharSource):
9206
92072013-02-08  Jer Noble  <jer.noble@apple.com>
9208
9209        Bring WebKit up to speed with latest Encrypted Media spec.
9210        https://bugs.webkit.org/show_bug.cgi?id=97037
9211
9212        Reviewed by Eric Carlson.
9213
9214        Define the ENABLE_ENCRYPTED_MEDIA_V2 setting.
9215
9216        * wtf/Platform.h:
9217
92182013-02-08  Adam Barth  <abarth@webkit.org>
9219
9220        Use WeakPtrs to communicate between the HTMLDocumentParser and the BackgroundHTMLParser
9221        https://bugs.webkit.org/show_bug.cgi?id=107190
9222
9223        Reviewed by Eric Seidel.
9224
9225        Add the ability to create an unbound weak reference. This facility lets
9226        you start sending messages to a WeakPtr on another thread before the
9227        object backing the WeakPtr has actually been created.
9228
9229        * wtf/WeakPtr.h:
9230        (WTF::WeakReference::createUnbound):
9231        (WTF::WeakReference::bindTo):
9232        (WeakReference):
9233        (WTF::WeakReference::WeakReference):
9234        (WTF::WeakPtr::WeakPtr):
9235        (WeakPtr):
9236        (WTF::WeakPtrFactory::WeakPtrFactory):
9237        (WeakPtrFactory):
9238        (WTF::WeakPtrFactory::revokeAll):
9239
92402013-02-08  Martin Robinson  <mrobinson@igalia.com>
9241
9242        [GTK] Add an experimental gyp build
9243        https://bugs.webkit.org/show_bug.cgi?id=109003
9244
9245        Reviewed by Gustavo Noronha Silva.
9246
9247        * WTF.gyp/WTF.gyp: Filter out MetaAllocator.(cpp/h) from the Chromium
9248        build. It's only necessary for GTK+.
9249        * WTF.gypi: Add MetaAllocator to the build for WebKitGTK+.
9250
92512013-02-06  Ilya Tikhonovsky  <loislo@chromium.org>
9252
9253        Web Inspector: Native Memory Instrumentation: reportBaseAddress needs to be called after the reportNode. So it may reuse the node index for the real address.
9254        https://bugs.webkit.org/show_bug.cgi?id=109051
9255
9256        Reviewed by Yury Semikhatsky.
9257
9258        * wtf/MemoryInstrumentation.cpp:
9259        (WTF::MemoryInstrumentation::WrapperBase::processPointer):
9260
92612013-02-07  David Kilzer  <ddkilzer@apple.com>
9262
9263        Fix #endif comment from r142163 and r142183
9264
9265        * wtf/MainThread.h:
9266        (WTF): s/PLATFORM/USE/
9267
92682013-02-07  Benjamin Poulain  <bpoulain@apple.com>
9269
9270        Fix an incorrect comment from r142163
9271
9272        Unreviewed.
9273
9274        * wtf/MainThread.h:
9275        I accidentally copied PLATFORM(IOS) instead of USE(WEB_THREAD) for the #ifdef closing.
9276
92772013-02-07  Benjamin Poulain  <bpoulain@apple.com>
9278
9279        Upstream iOS isWebThread() and isUIThread()
9280        https://bugs.webkit.org/show_bug.cgi?id=109130
9281
9282        Reviewed by Sam Weinig.
9283
9284        On iOS, it is sometimes necessary to differenciate the thread running WebCore,
9285        and the thread running the UI. This patch upstream those functions.
9286
9287        * wtf/MainThread.cpp:
9288        * wtf/MainThread.h:
9289        Disable the legacy initializer as it is incorrect when using the WebThread to run WebCore.
9290        (WTF::isWebThread):
9291        (WTF::isUIThread):
9292        Return true when the current thread is the Web/UI thread.
9293
9294        * wtf/mac/MainThreadMac.mm:
9295        (WTF::isUIThread):
9296        (WTF::isWebThread):
9297
9298        * wtf/text/AtomicString.cpp:
9299        (WTF::AtomicStringTable::create):
9300        Use the newly added methods.
9301
93022013-02-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
9303
9304        [Qt] Fix build without 3D_GRAPHICS
9305        https://bugs.webkit.org/show_bug.cgi?id=109194
9306
9307        Reviewed by Noam Rosenthal.
9308
9309        Now that Coordinated Graphics was moved to WebCore, we need to explicitly enable
9310        it when we have 3D_GRAPHICS. This dependency was implicitly by the fact that
9311        3D_GRAPHICS is a dependency of WebKit2 and Coordinated Graphics was only
9312        available there. This should fix build for Qt SH4 Linux.
9313
9314        * wtf/Platform.h:
9315
93162013-02-06  Zan Dobersek  <zdobersek@igalia.com>
9317
9318        [WTFURL] Fix erroneous header inclusions in WTFURL code
9319        https://bugs.webkit.org/show_bug.cgi?id=109040
9320
9321        Reviewed by Benjamin Poulain.
9322
9323        Include WTFURL API headers from files in Source/WTF/wtf/url/src
9324        by specifying their relative path to Source/WTF. 
9325
9326        * GNUmakefile.am: The changes make it possible to compile the WTF library
9327        without specifying both Source/WTF/wtf/url/api and Source/WTF/wtf/url/src
9328        as inclusion directories in CPPFLAGS, so remove these two entries.
9329        * wtf/url/src/RawURLBuffer.h:
9330        * wtf/url/src/URLCanon.h: Include the URLParse.h header by specifying
9331        only the base name as it's located in the same directory.
9332        * wtf/url/src/URLCanonQuery.cpp:
9333        * wtf/url/src/URLUtil.h:
9334
93352013-02-06  Tony Gentilcore  <tonyg@chromium.org>
9336
9337        Call XSSAuditor's didBlockScript() for the threaded HTML parser
9338        https://bugs.webkit.org/show_bug.cgi?id=108726
9339
9340        Reviewed by Adam Barth.
9341
9342        This patch adds isSafeToSendToAnotherThread() methods to CString, String, ParsedURL and URLString.
9343        These methods check to ensure there are 0 or 1 references.
9344
9345        * wtf/text/CString.cpp:
9346        (WTF::CString::isSafeToSendToAnotherThread): Added.
9347        (WTF):
9348        * wtf/text/CString.h:
9349        (CString):
9350        * wtf/text/WTFString.cpp:
9351        (WTF::String::isSafeToSendToAnotherThread): Added.
9352        (WTF):
9353        * wtf/text/WTFString.h:
9354        (String):
9355        * wtf/url/api/ParsedURL.h:
9356        (WTF::ParsedURL::isSafeToSendToAnotherThread): Added.
9357        * wtf/url/api/URLString.h:
9358        (WTF::URLString::isSafeToSendToAnotherThread): Added.
9359
93602013-02-06  Ilya Tikhonovsky  <loislo@chromium.org>
9361
9362        Web Inspector: Native Memory Instrumentation: assign class name to the heap graph node automatically
9363        https://bugs.webkit.org/show_bug.cgi?id=107262
9364
9365        Reviewed by Yury Semikhatsky.
9366
9367        We need a way to calculate class name for a pointer automatically.
9368        Otherwise we need to write className manually in all the instrumentation methods.
9369        And for all reported but not instrumented classes.
9370
9371        C++ can do that for us with help of typeid but unfortunatelly it requires rtti.
9372        There is another way to do that. C++ preprocessor provides a define which has a function name.
9373
9374        For g++ and clang it is __PRETTY_FUNCTION__.
9375        For MSVC it is __FUNCTION__.
9376        The content of the string is a function signature.
9377        We can use it because it has the name of the template argument.
9378        The format is sligthly different. That's why I made two different parsers.
9379        One for MSVC the other for GCC, Clang etc.
9380        The other problem is the resulting binary size.
9381        I made very simple function that does the only thing, returns the smallest possible function signature.
9382        Unfortunatelly MSVC doesn't generate template argument name for functions.
9383        It does this only for classes.
9384
9385        * wtf/MemoryInstrumentation.cpp:
9386        (WTF):
9387        (WTF::className):
9388        (WTF::MemoryClassInfo::callReportObjectInfo):
9389        (WTF::MemoryClassInfo::init):
9390        * wtf/MemoryInstrumentation.h:
9391        (WTF):
9392        (WTF::FN::fn):
9393        (WTF::fn):
9394        (WTF::MemoryClassInfo::MemoryClassInfo):
9395        (MemoryClassInfo):
9396        (WTF::::reportObjectMemoryUsage):
9397
93982013-02-05  Mark Lam  <mark.lam@apple.com>
9399
9400        Fix EnumClass so that it can be used with switch statements.
9401        https://bugs.webkit.org/show_bug.cgi?id=109004.
9402
9403        Reviewed by Sam Weinig.
9404
9405        * wtf/EnumClass.h:
9406        (WTF::EnumClass::operator==):
9407        (WTF::EnumClass::operator!=):
9408        (WTF::EnumClass::operator<):
9409        (WTF::EnumClass::operator<=):
9410        (WTF::EnumClass::operator>):
9411        (WTF::EnumClass::operator>=):
9412        (EnumClass):
9413        (WTF::EnumClass::operator Value):
9414
94152013-02-05  Oliver Hunt  <oliver@apple.com>
9416
9417        Disable TCMalloc hardening as it's breaking leaks.
9418
9419        Reviewed by Gavin Barraclough.
9420
9421        * wtf/FastMalloc.cpp:
9422
94232013-02-05  Mark Lam  <mark.lam@apple.com>
9424
9425        Rename ENUM_CLASS_BEGIN() macro to ENUM_CLASS(), and make DatabaseType a strong enum.
9426        https://bugs.webkit.org/show_bug.cgi?id=108988.
9427
9428        Reviewed by Alexey Proskuryakov.
9429
9430        * wtf/EnumClass.h:
9431
94322013-02-05  Roger Fong  <roger_fong@apple.com>
9433
9434        Unreviewed build fix.
9435
9436        * wtf/FastMalloc.cpp:
9437
94382013-02-05  Benjamin Poulain  <bpoulain@apple.com>
9439
9440        Tidy up StackBounds
9441        https://bugs.webkit.org/show_bug.cgi?id=108889
9442
9443        Reviewed by Ryosuke Niwa.
9444
9445        * wtf/StackBounds.h:
9446        (StackBounds):
9447        (WTF::StackBounds::isSafeToRecurse):
9448        (WTF::StackBounds::size):
9449        Adopt a more conventional style for a multiline branch.
9450
9451        (WTF::StackBounds::StackBounds):
9452        (WTF::StackBounds::current):
9453        (WTF::StackBounds::recursionLimit):
9454        Make those method private.
9455
9456        Making the constructor private ensure initialize() is alwasy called on any StackBounds.
9457
94582013-02-05  Zan Dobersek  <zdobersek@igalia.com>
9459
9460        [WTFURL] Comparison between signed and unsigned integer expressions in URLUtil.cpp
9461        https://bugs.webkit.org/show_bug.cgi?id=108955
9462
9463        Reviewed by Benjamin Poulain.
9464
9465        * wtf/url/src/URLUtil.cpp:
9466        (URLUtilities): Make the counter variable a signed integer to get rid of the warning.
9467
94682013-02-05  Benjamin Poulain  <bpoulain@apple.com>
9469
9470        Rationalize the use of iOS/Mac #defines in Assertions.cpp
9471        https://bugs.webkit.org/show_bug.cgi?id=108870
9472
9473        Reviewed by David Kilzer.
9474
9475        * wtf/Assertions.cpp: Instead of using PLATFORM(MAC) and assume it works for iOS and OS X,
9476        use CF as the guard for CFString. Similarily, USE_APPLE_SYSTEM_LOG guards code using ASL.
9477
94782013-02-05  Benjamin Poulain  <bpoulain@apple.com>
9479
9480        Make StringBuilder::toAtomicString() consistent with StringBuilder::toString() for strings of length zero
9481        https://bugs.webkit.org/show_bug.cgi?id=108894
9482
9483        Reviewed by Andreas Kling.
9484
9485        * wtf/text/StringBuilder.h:
9486        (WTF::StringBuilder::toAtomicString): The function was returning the nullAtom for strings of length zero.
9487        This is inconsistent with StringBuilder::toString() which always return an empty string.
9488
9489        This patch unifies the behavior.
9490
94912013-02-04  Mark Hahnenberg  <mhahnenberg@apple.com>
9492
9493        Structure::m_outOfLineCapacity is unnecessary
9494        https://bugs.webkit.org/show_bug.cgi?id=108206
9495
9496        Reviewed by Darin Adler.
9497
9498        Simplifying the utility functions that we use since we don't need a 
9499        bunch of fancy templates for this one specific call site.
9500
9501        * wtf/MathExtras.h:
9502        (WTF::roundUpToPowerOfTwo):
9503
95042013-02-05  Sheriff Bot  <webkit.review.bot@gmail.com>
9505
9506        Unreviewed, rolling out r141905.
9507        http://trac.webkit.org/changeset/141905
9508        https://bugs.webkit.org/show_bug.cgi?id=108963
9509
9510        "Broke mac build" (Requested by tonyg-cr on #webkit).
9511
9512        * wtf/text/CString.cpp:
9513        * wtf/text/CString.h:
9514        * wtf/text/WTFString.cpp:
9515        * wtf/text/WTFString.h:
9516        (String):
9517        * wtf/url/api/ParsedURL.h:
9518        (ParsedURL):
9519        * wtf/url/api/URLString.h:
9520
95212013-02-05  Tony Gentilcore  <tonyg@chromium.org>
9522
9523        Call XSSAuditor's didBlockScript() for the threaded HTML parser
9524        https://bugs.webkit.org/show_bug.cgi?id=108726
9525
9526        Reviewed by Adam Barth.
9527
9528        This patch adds isSafeToSendToAnotherThread() methods to CString, String, ParsedURL and URLString.
9529        These methods check to ensure there are 0 or 1 references.
9530
9531        * wtf/text/CString.cpp:
9532        (WTF::CString::isSafeToSendToAnotherThread): Added.
9533        (WTF):
9534        * wtf/text/CString.h:
9535        (CString):
9536        * wtf/text/WTFString.cpp:
9537        (WTF::String::isSafeToSendToAnotherThread): Added.
9538        (WTF):
9539        * wtf/text/WTFString.h:
9540        (String):
9541        * wtf/url/api/ParsedURL.h:
9542        (WTF::ParsedURL::isSafeToSendToAnotherThread): Added.
9543        * wtf/url/api/URLString.h:
9544        (WTF::URLString::isSafeToSendToAnotherThread): Added.
9545
95462013-02-04  Benjamin Poulain  <bpoulain@apple.com>
9547
9548        Build fix for AtomicString on iOS
9549
9550        Unreviewed. The commit r141812 rely on isUIThread(), there is no such things
9551        in the tree right now. Use pthread_main_np() until more thread handling is upstreamed.
9552
9553        * wtf/text/AtomicString.cpp:
9554        (WTF::AtomicStringTable::create):
9555
95562013-02-04  Abhishek Arya  <inferno@chromium.org>
9557
9558        Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
9559        https://bugs.webkit.org/show_bug.cgi?id=108668
9560
9561        Reviewed by Eric Seidel.
9562
9563        * wtf/AVLTree.h:
9564        (WTF::AVLTreeDefaultBSet::operator[]):
9565        * wtf/BitArray.h:
9566        (WTF::BitArray::set):
9567        (WTF::BitArray::get):
9568        * wtf/FastBitVector.h:
9569        (WTF::FastBitVector::set):
9570        (WTF::FastBitVector::clear):
9571        (WTF::FastBitVector::get):
9572        * wtf/FixedArray.h:
9573        (WTF::FixedArray::operator[]):
9574        * wtf/RefCountedArray.h:
9575        (WTF::RefCountedArray::at):
9576        * wtf/TypedArrayBase.h:
9577        (WTF::TypedArrayBase::item):
9578        * wtf/text/StringBuffer.h:
9579        (WTF::StringBuffer::operator[]):
9580        * wtf/text/StringBuilder.h:
9581        (WTF::StringBuilder::operator[]):
9582        * wtf/text/StringImpl.h:
9583        (WTF::StringImpl::operator[]):
9584
95852013-02-04  Benjamin Poulain  <benjamin@webkit.org>
9586
9587        Upstream iOS's AtomicString
9588        https://bugs.webkit.org/show_bug.cgi?id=108139
9589
9590        Reviewed by David Kilzer.
9591
9592        On iOS, WebCore can be executed from two different threads. To maintain consistency,
9593        a few changes had been made:
9594        -The main UI thread and the WebThread share the same AtomicStringTable.
9595        -A spin lock is needed before any access to prevent any concurrent modification of the string table.
9596         The spin lock also prevent race on the static initialization of the shared table.
9597
9598        * wtf/Platform.h:
9599        Introduce a new USE(WEB_THREAD) to scope changes related to iOS Web Thread.
9600        * wtf/text/AtomicString.cpp:
9601        (AtomicStringTableLocker):
9602        (WTF::AtomicStringTableLocker::AtomicStringTableLocker):
9603        (WTF::AtomicStringTableLocker::~AtomicStringTableLocker):
9604        (WTF::AtomicStringTable::create):
9605        wtfThreadData() is not necessarily inlined on ARM. When it is not inlined, the old code
9606        causes two call to the function. Instead, we can keep the value in register and pass it
9607        to AtomicStringTable::create().
9608        (WTF::stringTable):
9609        (WTF::addToStringTable):
9610        (WTF::AtomicString::addSlowCase):
9611        (WTF::AtomicString::find):
9612        (WTF::AtomicString::remove):
9613
96142013-02-04  Martin Robinson  <mrobinson@igalia.com>
9615
9616        Fix GTK+ 'make dist' in preparation for the 1.11.5 release.
9617
9618        * GNUmakefile.list.am:
9619
96202013-02-04  David Kilzer  <ddkilzer@apple.com>
9621
9622        Sort WTF Xcode project file
9623
9624        * WTF.xcodeproj/project.pbxproj:
9625
96262013-02-02  Andreas Kling  <akling@apple.com>
9627
9628        Vector should consult allocator about ideal size when choosing capacity.
9629        <http://webkit.org/b/108410>
9630        <rdar://problem/13124002>
9631
9632        Reviewed by Benjamin Poulain.
9633
9634        Added WTF::fastMallocGoodSize(), a workalike/wrapper for OS X's malloc_good_size().
9635        It returns the actual size of the block that will get allocated for a given byte size.
9636
9637        Vector's internal buffer now checks with the allocator if the resulting allocation
9638        could actually house more objects and updates its capacity to make use of the space.
9639
9640        * wtf/Deque.h:
9641        (WTF::::expandCapacity):
9642        * wtf/FastMalloc.cpp:
9643        (WTF::fastMallocGoodSize):
9644        * wtf/FastMalloc.h:
9645        * wtf/Vector.h:
9646        (WTF::VectorBufferBase::allocateBuffer):
9647        (WTF::VectorBufferBase::tryAllocateBuffer):
9648        (WTF::VectorBufferBase::reallocateBuffer):
9649
96502013-02-02  Mark Rowe  <mrowe@apple.com>
9651
9652        <http://webkit.org/b/108745> WTF shouldn't use a script build phase to detect the presence of headers when the compiler can do it for us
9653
9654        Reviewed by Sam Weinig.
9655
9656        * WTF.xcodeproj/project.pbxproj: Remove the script phase that used to generate a header file
9657        containing information about whether certain header files exist on the system.
9658        * wtf/FastMalloc.cpp: Use Clang's __has_include to detect whether the header exists before including it.
9659
96602013-02-01  Roger Fong  <roger_fong@apple.com>
9661
9662        Unreviewed. WTF VS2010 project cleanup.
9663
9664        * WTF.vcxproj/WTF.vcxproj:
9665        * WTF.vcxproj/WTF.vcxproj.filters:
9666        * WTF.vcxproj/WTFPreLink.cmd: Removed.
9667
96682013-02-01  Zan Dobersek  <zdobersek@igalia.com>
9669
9670        [GTK] Add WTFURL source files to the build
9671        https://bugs.webkit.org/show_bug.cgi?id=108215
9672
9673        Reviewed by Benjamin Poulain.
9674
9675        The WTFURL implementation sources are all still guarded by the USE(WTFURL) guard,
9676        meaning that the GTK port still uses the default KURL backend. To use the WTFURL
9677        backend instead, one would have to define WTF_USE_WTFURL in Platform.h.
9678
9679        * GNUmakefile.am: List the directories from which source headers will be included.
9680        Plenty of WTFURL code currently just includes the required header by name rather
9681        than specifying the header path as relative to Source/WTF. In the future all the inclusions
9682        should probaby be changed to include the header through the path relative to Source/WTF.
9683        * GNUmakefile.list.am: Add build targets for the WTFURL source files.
9684        * wtf/url/api/ParsedURL.cpp: Specify the complete path to the required headers and
9685        reorder the inclusions.
9686        * wtf/url/src/URLCanon.h: Ditto.
9687
96882013-01-18  Ilya Tikhonovsky  <loislo@chromium.org>
9689
9690        Web Inspector: Native Memory Instrumentation: provide edge names and class names for WTF containers and strings
9691        https://bugs.webkit.org/show_bug.cgi?id=107303
9692
9693        Reviewed by Yury Semikhatsky.
9694
9695        I'd like to use ValueType[] as className for the container data members
9696        because class names of template parameters already present in the container class names.
9697
9698        * wtf/MemoryInstrumentationArrayBufferView.h:
9699        (WTF::reportMemoryUsage):
9700        * wtf/MemoryInstrumentationHashCountedSet.h:
9701        (WTF::reportMemoryUsage):
9702        * wtf/MemoryInstrumentationHashMap.h:
9703        (WTF::reportMemoryUsage):
9704        * wtf/MemoryInstrumentationHashSet.h:
9705        (WTF::reportMemoryUsage):
9706        * wtf/MemoryInstrumentationListHashSet.h:
9707        (WTF::reportMemoryUsage):
9708        * wtf/MemoryInstrumentationSequence.h:
9709        * wtf/MemoryInstrumentationString.h:
9710        (WTF::reportMemoryUsage):
9711        * wtf/MemoryInstrumentationVector.h:
9712        (WTF::reportMemoryUsage):
9713
97142013-02-01  Geoffrey Garen  <ggaren@apple.com>
9715
9716        Added TriState to WTF and started using it in one place
9717        https://bugs.webkit.org/show_bug.cgi?id=108628
9718
9719        Reviewed by Beth Dakin.
9720
9721        Useful for expressing "maybe" conditions in a boolean context.
9722
9723        * WTF.xcodeproj/project.pbxproj:
9724        * wtf/TriState.h: Added.
9725        (WTF):
9726
97272013-02-01  Patrick Gansterer  <paroga@webkit.org>
9728
9729        Build fix for WinCE after r137709
9730        https://bugs.webkit.org/show_bug.cgi?id=105767
9731
9732        Do not pass functions as const references to
9733        templated arguments to make the compiler happy.
9734
9735        * wtf/StdLibExtras.h:
9736        (WTF::binarySearch):
9737        (WTF::tryBinarySearch):
9738        (WTF::approximateBinarySearch):
9739
97402013-01-31  Ilya Tikhonovsky  <loislo@chromium.org>
9741
9742        Web Inspector: Native Memory Instrumentation: replace nodeName argument with className
9743        https://bugs.webkit.org/show_bug.cgi?id=107278
9744
9745        Reviewed by Yury Semikhatsky.
9746
9747        I replaced nodeName with className because we newer report node name for private and raw buffers
9748        but need to report their class names.
9749
9750        * wtf/MemoryInstrumentation.cpp:
9751        (WTF::MemoryInstrumentation::reportLinkToBuffer):
9752        (WTF::MemoryClassInfo::addRawBuffer):
9753        (WTF::MemoryClassInfo::addPrivateBuffer):
9754        * wtf/MemoryInstrumentation.h:
9755        (WTF::MemoryInstrumentation::addRawBuffer):
9756        (MemoryClassInfo):
9757
97582013-01-31  Jessie Berlin  <jberlin@apple.com>
9759
9760        Rolling out r141407 because it is causing crashes under
9761        WTF::TCMalloc_Central_FreeList::FetchFromSpans() in Release builds.
9762
9763        * wtf/Deque.h:
9764        (WTF::::expandCapacity):
9765        * wtf/FastMalloc.cpp:
9766        * wtf/FastMalloc.h:
9767        (WTF):
9768        * wtf/Vector.h:
9769        (WTF::VectorBufferBase::allocateBuffer):
9770        (WTF::VectorBufferBase::tryAllocateBuffer):
9771        (WTF::VectorBufferBase::reallocateBuffer):
9772
97732013-01-31  Mark Lam  <mark.lam@apple.com>
9774
9775        Abstraction for hiding enum class.
9776        https://bugs.webkit.org/show_bug.cgi?id=108533
9777
9778        Reviewed by Anders Carlsson.
9779
9780        * wtf/Compiler.h:
9781        * wtf/EnumClass.h: Copied from Source/WTF/wtf/TypeSafeEnum.h.
9782        (WTF::EnumClass::EnumClass):
9783        (WTF::EnumClass::operator==):
9784        (WTF::EnumClass::operator!=):
9785        (WTF::EnumClass::operator<):
9786        (WTF::EnumClass::operator<=):
9787        (WTF::EnumClass::operator>):
9788        (WTF::EnumClass::operator>=):
9789        * wtf/TypeSafeEnum.h: Removed.
9790
97912013-01-31  Andreas Kling  <akling@apple.com>
9792
9793        Vector should consult allocator about ideal size when choosing capacity.
9794        <http://webkit.org/b/108410>
9795        <rdar://problem/13124002>
9796
9797        Reviewed by Benjamin Poulain.
9798
9799        Added WTF::fastMallocGoodSize(), a workalike/wrapper for OS X's malloc_good_size().
9800        It returns the actual size of the block that will get allocated for a given byte size.
9801
9802        Vector's internal buffer now checks with the allocator if the resulting allocation
9803        could actually house more objects and updates its capacity to make use of the space.
9804
9805        * wtf/Deque.h:
9806        (WTF::::expandCapacity):
9807        * wtf/FastMalloc.cpp:
9808        (WTF::fastMallocGoodSize):
9809        * wtf/FastMalloc.h:
9810        * wtf/Vector.h:
9811        (WTF::VectorBufferBase::allocateBuffer):
9812        (WTF::VectorBufferBase::tryAllocateBuffer):
9813        (WTF::VectorBufferBase::reallocateBuffer):
9814
98152013-01-30  Christophe Dumez  <christophe.dumez@intel.com>
9816
9817        Add a StringTypeAdapter for ASCIILiteral
9818        https://bugs.webkit.org/show_bug.cgi?id=108338
9819
9820        Reviewed by Benjamin Poulain.
9821
9822        Add StringTypeAdapter for ASCIILiteral type so that concatenation of an
9823        ASCIILiteral and a String using + operator is efficiently handled.
9824
9825        * wtf/text/StringConcatenate.h:
9826        * wtf/text/StringOperators.h:
9827        (WTF::operator+): Inline some of the operator+ functions that were not
9828        yet.
9829        (WTF):
9830
98312013-01-30  David Kilzer  <ddkilzer@apple.com>
9832
9833        Upstream iOS build file changes for WTF
9834        <http://webkit.org/b/108221>
9835
9836        Reviewed by Mark Rowe.
9837
9838        * Configurations/Base.xcconfig:
9839        - Import iOS.xcconfig.
9840        - Remove VALID_ARCHS.  Modern Xcodes define these correctly.
9841        - Make HEADER_SEARCH_PATHS work with iOS Simulator builds.
9842        - Add SUPPORTED_PLATFORMS so both Mac and iOS SDKs appear in
9843          schemes.
9844        - Define INSTALL_PATH when building for macosx SDK.
9845        * Configurations/CopyWTFHeaders.xcconfig:
9846        - Make PRIVATE_HEADERS_FOLDER_PATH work with iOS Simulator
9847          builds.
9848        * Configurations/DebugRelease.xcconfig:
9849        - Simplify ARCHS.  This works correctly on 32-bit-only SDKs.
9850        * Configurations/WTF.xcconfig:
9851        - Fix installation directory for iOS Simulator builds by
9852          defining INSTALL_PATH_ACTUAL.
9853        * Configurations/iOS.xcconfig: Add.
9854        * WTF.xcodeproj/project.pbxproj:
9855        - Add iOS.xcconfig to the project.
9856
98572013-01-29  Mark Hahnenberg  <mhahnenberg@apple.com>
9858
9859        Structure::m_outOfLineCapacity is unnecessary
9860        https://bugs.webkit.org/show_bug.cgi?id=108206
9861
9862        Reviewed by Geoffrey Garen.
9863
9864        We're adding a new function that gives us the ability to round a value up to the next power of a certain base.
9865
9866        * wtf/MathExtras.h:
9867        (WTF::roundUpToPowerOf):
9868
98692013-01-30  Zeno Albisser  <zeno@webkit.org>
9870
9871        [Qt] Fix Qt/Mac build after r141024 and r141037
9872        https://bugs.webkit.org/show_bug.cgi?id=108318
9873
9874        Reviewed by Kentaro Hara.
9875
9876        * wtf/Functional.h:
9877            Make sure Block.h is included and its functionality
9878            is enabled for Qt on Mac.
9879
98802013-01-30  Simon Hausmann  <simon.hausmann@digia.com>
9881
9882        [Qt] Remove QT4_UNICODE related code paths
9883        https://bugs.webkit.org/show_bug.cgi?id=108316
9884
9885        Reviewed by Kenneth Rohde Christiansen.
9886
9887        Get rid of QT4_UNICODE and any related code paths. The Qt port
9888        requires Qt5 and ICU these days.
9889
9890        * WTF.gypi:
9891        * WTF.pro:
9892        * wtf/unicode/Unicode.h:
9893        * wtf/unicode/qt4/UnicodeQt4.h: Removed.
9894
98952013-01-29  Mark Lam  <mark.lam@apple.com>
9896
9897        Introducing WTF::TypeSafeEnum and DatabaseError.
9898        https://bugs.webkit.org/show_bug.cgi?id=108279.
9899
9900        Reviewed by Geoffrey Garen.
9901
9902        * WTF.xcodeproj/project.pbxproj:
9903        * wtf/TypeSafeEnum.h: Added.
9904        (WTF):
9905        (TypeSafeEnum):
9906        (WTF::TypeSafeEnum::TypeSafeEnum):
9907        (WTF::TypeSafeEnum::value):
9908        (WTF::TypeSafeEnum::operator==):
9909        (WTF::TypeSafeEnum::operator!=):
9910        (WTF::TypeSafeEnum::operator<):
9911        (WTF::TypeSafeEnum::operator<=):
9912        (WTF::TypeSafeEnum::operator>):
9913        (WTF::TypeSafeEnum::operator>=):
9914
99152013-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
9916
9917        Unreviewed, rolling out r140983.
9918        http://trac.webkit.org/changeset/140983
9919        https://bugs.webkit.org/show_bug.cgi?id=108277
9920
9921        Unfortunately, this API has one last client (Requested by
9922        abarth on #webkit).
9923
9924        * wtf/Platform.h:
9925
99262013-01-28  Benjamin Poulain  <benjamin@webkit.org>
9927
9928        String constructed from Literals should be non-empty
9929        https://bugs.webkit.org/show_bug.cgi?id=108103
9930
9931        Reviewed by Eric Carlson.
9932
9933        For efficiency, the construction from literal only works with valid non-empty strings.
9934        One of the constructor was changed to fix an error from HTMLMediaElement.
9935
9936        This patch replaces the branch with an assertions.
9937
9938        * wtf/text/StringImpl.cpp:
9939        (WTF::StringImpl::createFromLiteral):
9940
99412013-01-28  David Kilzer  <ddkilzer@apple.com>
9942
9943        BUILD FIX: Platform.h:1212:22: error: '__MAC_OS_X_VERSION_MIN_REQUIRED' is not defined, evaluates to 0 [-Werror,-Wundef]
9944
9945        This fixes the following build error introduced in r140366 for
9946        Bug 107098:
9947
9948            Platform.h:1212:22: error: '__MAC_OS_X_VERSION_MIN_REQUIRED' is not defined, evaluates to 0 [-Werror,-Wundef]
9949            #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1080 && !PLATFORM(IOS)
9950                                 ^
9951            1 error generated.
9952
9953        * wtf/Platform.h: Check !PLATFORM(IOS) first so that iOS builds
9954        do not try to evaluate __MAC_OS_X_VERSION_MIN_REQUIRED.
9955
99562013-01-28  Adam Barth  <abarth@webkit.org>
9957
9958        Remove webkitNotifications.createHTMLNotification
9959        https://bugs.webkit.org/show_bug.cgi?id=107598
9960
9961        Reviewed by Benjamin Poulain.
9962
9963        * wtf/Platform.h:
9964
99652013-01-27  Laszlo Gombos  <l.gombos@samsung.com>
9966
9967        [ANDROID] Fix a typo
9968        https://bugs.webkit.org/show_bug.cgi?id=108046
9969
9970        Reviewed by Adam Barth.
9971
9972        HAVE_NMAP -> HAVE_MMAP.
9973
9974        * wtf/Platform.h:
9975
99762013-01-27  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
9977
9978        Fixing atomicIncrement implementation for Windows by dropping support before XP SP2.
9979        https://bugs.webkit.org/show_bug.cgi?id=106740
9980
9981        Reviewed by Benjamin Poulain.
9982
9983        Adding int64_t type atomicIncrement and atomicDecrement implementations for Windows
9984        into Atomics.h required by WebKit2 after r139514. Separating WinCE implementation
9985        that does not support WebKit2 and has no support for 64 bit interlocked methods.
9986
9987        Increasing WINVER and _WIN32_WINNT to XP SP2, because the 64 bit type interlocked methods
9988        are not supported on previous versions on 32 bit target.
9989
9990        * config.h:
9991        * wtf/Atomics.h:
9992        (WTF):
9993        (WTF::atomicIncrement):
9994        (WTF::atomicDecrement):
9995
99962013-01-26  Andras Becsi  <andras.becsi@digia.com>
9997
9998        Unreviewed fix after r140451 to make GIT-SVN repositories happy.
9999
10000        * WTF.vcproj/WTF.sln:
10001
100022013-01-26  Justin Schuh  <jschuh@chromium.org>
10003
10004        [CHROMIUM] Suppress more c4267 build warnings for Win64 targets
10005        https://bugs.webkit.org/show_bug.cgi?id=107993
10006
10007        Reviewed by Abhishek Arya.
10008
10009        * WTF.gyp/WTF.gyp:
10010
100112013-01-25  Eric Seidel  <eric@webkit.org>
10012
10013        Support 4 and 5 argument bound static functions
10014        https://bugs.webkit.org/show_bug.cgi?id=107973
10015
10016        Reviewed by Anders Carlsson.
10017
10018        Yummy copy/paste template code!
10019        I'm about to use this in a BackgroundHTMLParser patch, but figured this should be landed separately.
10020
10021        * wtf/Functional.h:
10022        (WTF):
10023        (WTF::R):
10024
100252013-01-24  Martin Robinson  <mrobinson@igalia.com>
10026
10027        Abstract the logic for appending a UChar32 onto StringBuilder
10028        https://bugs.webkit.org/show_bug.cgi?id=107505
10029
10030        Reviewed by Darin Adler.
10031
10032        * wtf/text/StringBuilder.h:
10033        (WTF::StringBuilder::append): Added a method for appending a UChar32 to a StringBuilder.
10034
100352013-01-24  Brent Fulgham  <bfulgham@webkit.org>
10036
10037        Stipulate build order between WTFGenerated and WTF
10038        https://bugs.webkit.org/show_bug.cgi?id=107844
10039
10040        Reviewed by Tim Horton.
10041
10042        * WTF.vcxproj/WTF.vcxproj: Use VS2010 project dependency
10043        declaration so WTF depends on a completed WTFGenerated build.
10044
100452013-01-23  Abhishek Arya  <inferno@chromium.org>
10046
10047        Add support for ASSERT_WITH_SECURITY_IMPLICATION.
10048        https://bugs.webkit.org/show_bug.cgi?id=107699
10049
10050        Reviewed by Eric Seidel.
10051
10052        * wtf/Assertions.h: Add ASSERT_WITH_SECURITY_IMPLICATION to
10053        indicate possible security vulnerabily and enable it by default
10054        in fuzzing builds.
10055        * wtf/Vector.h: Use ASSERT_WITH_SECURITY_IMPLICATION for
10056        bounds check on [] operator.
10057
100582013-01-23  Tony Chang  <tony@chromium.org>
10059
10060        Unreviewed, set svn:eol-style to CRLF on Windows .sln files.
10061
10062        * WTF.vcproj/WTF.sln: Added property svn:eol-style.
10063
100642013-01-23  Adam Barth  <abarth@webkit.org>
10065
10066        BackgroundHTMLParser::sendTokensToMainThread should use bind
10067        https://bugs.webkit.org/show_bug.cgi?id=107637
10068
10069        Reviewed by Eric Seidel.
10070
10071        * wtf/Functional.h:
10072            - I had to re-work the approach to validating WeakPtr |this|
10073              arguments a bit. Previously you couldn't pass a WeakPtr as a
10074              non-|this| argument to a function because we would try to unwrap
10075              it into a raw pointer.
10076        * wtf/WeakPtr.h:
10077        (WTF::WeakPtrFactory::revokeAll):
10078        (WeakPtrFactory):
10079            - Let clients revoke all outstanding WeakPtrs without needing to
10080              destroy the WeakPtrFactory.
10081        * wtf/chromium/MainThreadChromium.cpp:
10082        (WTF::callFunctionObject):
10083        (WTF::callOnMainThread):
10084            - Implement callOnMainThread for Function objects. The non-Chromium
10085              implementation of MainThread.cpp already implements this feature.
10086
100872013-01-23  Justin Schuh  <jschuh@chromium.org>
10088
10089        [CHROMIUM] Suppress c4267 build warnings in WTF for Win64 targets
10090        https://bugs.webkit.org/show_bug.cgi?id=107721
10091
10092        Reviewed by Abhishek Arya.
10093
10094        * WTF.gyp/WTF.gyp:
10095
100962013-01-23  Oliver Hunt  <oliver@apple.com>
10097
10098        Add RELEASE_ASSERT (and a few friends)
10099        https://bugs.webkit.org/show_bug.cgi?id=107725
10100
10101        Reviewed by Filip Pizlo.
10102
10103        Adding a few macros to make release mode assertions easier and more readable.
10104        Also makes same assertions more useful in debug builds.
10105
10106        * wtf/Assertions.h:
10107
101082013-01-22  Joshua Bell  <jsbell@chromium.org>
10109
10110        Prevent race condition during Worker shutdown
10111        https://bugs.webkit.org/show_bug.cgi?id=107577
10112
10113        Reviewed by Dmitry Titov.
10114
10115        Add MessageQueue::appendAndKill() which wraps those two steps with a mutex so other
10116        threads can't sneak a message in between.
10117
10118        * wtf/MessageQueue.h: Added appendAndKill() method.
10119
101202013-01-22  Roger Fong  <roger_fong@apple.com>
10121
10122        WTF project files and property sheets for getting WebKit to compile in VS2010.
10123        https://bugs.webkit.org/show_bug.cgi?id=106986
10124
10125        Reviewed by Timothy Horton and Brent Fulgham.
10126
10127        * WTF.vcproj/WTF.sln:
10128        * WTF.vcxproj: Added.
10129        * WTF.vcxproj/WTF.vcxproj: Added.
10130        * WTF.vcxproj/WTF.vcxproj.filters: Added.
10131        * WTF.vcxproj/WTF.vcxproj.user: Added.
10132        * WTF.vcxproj/WTFCommon.props: Added.
10133        * WTF.vcxproj/WTFDebug.props: Added.
10134        * WTF.vcxproj/WTFGenerated.make: Added.
10135        * WTF.vcxproj/WTFGenerated.vcxproj: Added.
10136        * WTF.vcxproj/WTFGenerated.vcxproj.filters: Added.
10137        * WTF.vcxproj/WTFGenerated.vcxproj.user: Added.
10138        * WTF.vcxproj/WTFGeneratedCommon.props: Added.
10139        * WTF.vcxproj/WTFGeneratedDebug.props: Added.
10140        * WTF.vcxproj/WTFGeneratedRelease.props: Added.
10141        * WTF.vcxproj/WTFPostBuild.cmd: Added.
10142        * WTF.vcxproj/WTFPreBuild.cmd: Added.
10143        * WTF.vcxproj/WTFPreLink.cmd: Added.
10144        * WTF.vcxproj/WTFRelease.props: Added.
10145        * WTF.vcxproj/build-generated-files.sh: Added.
10146        * WTF.vcxproj/copy-files.cmd: Added.
10147        * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py: Added.
10148        * config.h:
10149
101502013-01-22  David Kilzer  <ddkilzer@apple.com>
10151
10152        Fix DateMath.cpp to compile with -Wshorten-64-to-32
10153        <http://webkit.org/b/107503>
10154
10155        Reviewed by Darin Adler.
10156
10157        Fixes the following build errors with -Wshorten-64-to-32:
10158
10159            DateMath.cpp:742:47: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
10160                if (month == 2 && day > 28 && !isLeapYear(year))
10161                                               ~~~~~~~~~~ ^~~~
10162            DateMath.cpp:757:48: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
10163                double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds;
10164                                     ~~~~~~~~~~~~~~~       ^~~~~
10165            DateMath.cpp:757:55: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
10166                double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds;
10167                                     ~~~~~~~~~~~~~~~              ^~~
10168            DateMath.cpp:757:60: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
10169                double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds;
10170                                     ~~~~~~~~~~~~~~~                   ^~~~~
10171            DateMath.cpp:757:67: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
10172                double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds;
10173                                     ~~~~~~~~~~~~~~~                          ^~~~~~~
10174            DateMath.cpp:996:59: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
10175                                offset = ((o / 100) * 60 + (o % 100)) * sgn;
10176                                       ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
10177            DateMath.cpp:998:37: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
10178                                offset = o * 60 * sgn;
10179                                       ~ ~~~~~~~^~~~~
10180            DateMath.cpp:1005:40: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
10181                            offset = (o * 60 + o2) * sgn;
10182                                   ~ ~~~~~~~~~~~~~~^~~~~
10183            DateMath.cpp:1041:40: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
10184                return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond;
10185                       ~~~~~~~~~~~~~~~       ~~~~~~^~~
10186            DateMath.cpp:1041:45: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
10187                return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond;
10188                       ~~~~~~~~~~~~~~~                  ^~~
10189            DateMath.cpp:1041:50: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
10190                return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond;
10191                       ~~~~~~~~~~~~~~~                       ^~~~
10192            DateMath.cpp:1041:56: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
10193                return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond;
10194                       ~~~~~~~~~~~~~~~                             ^~~~~~
10195            12 errors generated.
10196
10197        * wtf/DateMath.cpp:
10198        (WTF::ymdhmsToSeconds): Change year argument from long to int.
10199        Change mon, day, hour, minute arguments from int to long.
10200        (WTF::parseInt): Add.  Identical to parseLong but bounds checks
10201        for type int.
10202        (WTF::parseLong): Switch to std::numeric_limits<long> instead of
10203        macros.
10204        (WTF::parseES5DatePortion): Change year argument from long to
10205        int.
10206        (WTF::parseES5DateFromNullTerminatedCharacters): Change year
10207        local variable from long to int.
10208        (WTF::parseDateFromNullTerminatedCharacters): Change year and
10209        offset local variables from long to int.  Switch from using
10210        parseLong() to parseInt() as needed.  Ditto for labs() to abs().
10211        Add overflow check when switching from "MM/DD/YYYY" to
10212        "YYYY/MM/DD" parsing.
10213
102142013-01-17  Andy Estes  <aestes@apple.com>
10215
10216        Add a USE() macro for content filtering code
10217        https://bugs.webkit.org/show_bug.cgi?id=107098
10218
10219        Reviewed by Mark Rowe.
10220
10221        * wtf/Platform.h: Define WTF_USE_CONTENT_FILTERING on Mac platforms
10222        more recent than Lion.
10223
102242013-01-18  Laszlo Gombos  <l.gombos@samsung.com>
10225
10226        Remove unnecessary PLATFORM() tests
10227        https://bugs.webkit.org/show_bug.cgi?id=107360
10228
10229        Reviewed by Eric Seidel.
10230
10231        PLATFORM(WIN), PLATFORM(CHROMIUM) and PLATFORM(QT) are mutually
10232        exclusive. Remove redundant PLATFORM() tests based on this
10233        invariant.
10234
10235        * wtf/Platform.h:
10236
102372013-01-18  Laszlo Gombos  <l.gombos@samsung.com>
10238
10239        Remove PLATFORM(TORCHMOBILE) from Assertions.h
10240        https://bugs.webkit.org/show_bug.cgi?id=107355
10241
10242        Reviewed by Eric Seidel.
10243
10244        This appears to be the only place where PLATFORM(TORCHMOBILE) is
10245        used. I don't believe this ifdef is needed anymore.
10246
10247        * wtf/Assertions.h:
10248
102492013-01-18  Michael Saboff  <msaboff@apple.com>
10250
10251        Refactor isPowerOf2() and add getLSBSet()
10252        https://bugs.webkit.org/show_bug.cgi?id=107306
10253
10254        Reviewed by Filip Pizlo.
10255
10256        Moved runtime/PropertyMapHashTable.h:PowerOf2() to new hasOneBitSet() and added getLSBSet().
10257
10258        * wtf/MathExtras.h:
10259        (hasOneBitSet):
10260        (getLSBSet):
10261
102622013-01-18  David Kilzer  <ddkilzer@apple.com>
10263
10264        Fix WTF::copyLCharsFromUCharSource() to compile with -Wshorten-64-to-32
10265        <http://webkit.org/b/107227>
10266
10267        Reviewed by Benjamin Poulain.
10268
10269        Fixes the following build error:
10270
10271            ASCIIFastPath.h:117:59: error: implicit conversion loses integer precision: 'unsigned long' to 'const unsigned int' [-Werror,-Wshorten-64-to-32]
10272                    const unsigned endLength = length - ucharsPerLoop + 1;
10273                                   ~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~^~~
10274            1 error generated.
10275
10276        * wtf/text/ASCIIFastPath.h:
10277        (WTF::copyLCharsFromUCharSource): Change local variables from
10278        unsigned to size_t.
10279
102802013-01-14  Dominik Röttsches  <dominik.rottsches@intel.com>
10281
10282        [EFL] Update freetype in jhbuild to 2.4.11 and activate subpixel layout
10283        https://bugs.webkit.org/show_bug.cgi?id=106774
10284
10285        In order to fix a long standing linespacing/font ascent & descent issue
10286        we found that FreeType commit b0962ac34e660 solves that problem.
10287        Let's update FreeType accordingly, but bump it to 2.4.11 due to the
10288        maintainer recommending several security updates after that said commit.
10289
10290        Also, in order to avoid extra rebaselining, let's activate subpixel
10291        layout at the same time.
10292
10293        Reviewed by Martin Robinson.
10294
10295        * wtf/Platform.h: Activate Subpixel Layout for EFL.
10296
102972013-01-17  Adam Barth  <abarth@webkit.org>
10298
10299        Teach Functional.h about WeakPtr
10300        https://bugs.webkit.org/show_bug.cgi?id=107105
10301
10302        Reviewed by Anders Carlsson.
10303
10304        A common pattern in cross-thread communication is to call member
10305        functions of an object on a remote thread. If the caller's reference to
10306        the object on the remote thread is a WeakPtr, the caller usually wants
10307        to validate that the object still exists when the call actually takes
10308        place.
10309
10310        It's possible to do this manually for every cross-thread call, but that
10311        is tiresome and error prone. Instead, we can teach bind to validate
10312        WeakPtr arguments when passed as the "this" parameter to a member
10313        function.
10314
10315        * wtf/Functional.h:
10316        (WTF::ParamStorageTraits::validate):
10317
103182013-01-17  David Kilzer  <ddkilzer@apple.com>
10319
10320        Fix vprintf_stderr_common() to compile with -Wshorten-64-to-32
10321        <http://webkit.org/b/107126>
10322
10323        Reviewed by Darin Adler.
10324
10325        Fixes the following build error:
10326
10327            Assertions.cpp:92:22: error: implicit conversion loses integer precision: 'CFIndex' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
10328                    int length = CFStringGetMaximumSizeForEncoding(CFStringGetLength(str), kCFStringEncodingUTF8);
10329                        ~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10330            1 error generated.
10331
10332        * wtf/Assertions.cpp:
10333        (vprintf_stderr_common): Use CFIndex type instead of int for the
10334        return value of CFStringGetMaximumSizeForEncoding().
10335
103362013-01-17  Zan Dobersek  <zdobersek@igalia.com>
10337
10338        [Autotools] Unify WTF sources list regardless of the target OS, Unicode backend
10339        https://bugs.webkit.org/show_bug.cgi?id=105886
10340
10341        Reviewed by Gustavo Noronha Silva.
10342
10343        Rather than including files in the sources list in an OS-specific way,
10344        guard specific files with OS(UNIX|WINDOWS), USE((GLIB|ICU)_UNICODE) guards
10345        and include all of them in the list.
10346
10347        Proper comments for namespace and #if guard closings are also added or adjusted
10348        where necessary in the affected files.
10349
10350        * GNUmakefile.list.am:
10351        * wtf/OSAllocatorPosix.cpp: Add OS(UNIX) guards.
10352        * wtf/OSAllocatorWin.cpp: Add OS(WINDOWS) guards.
10353        * wtf/ThreadSpecificWin.cpp: Ditto.
10354        * wtf/ThreadingWin.cpp: Ditto.
10355        * wtf/unicode/glib/UnicodeGLib.cpp: Add USE(GLIB_UNICODE) guards.
10356        (WTF):
10357        * wtf/unicode/glib/UnicodeGLib.h: Ditto.
10358        (WTF):
10359        * wtf/unicode/icu/CollatorICU.cpp: Style changes.
10360        * wtf/unicode/icu/UnicodeIcu.h: Add USE(ICU_UNICODE) guards.
10361        (WTF):
10362        * wtf/win/OwnPtrWin.cpp: Add OS(WINDOWS) guards.
10363
103642013-01-16  Benjamin Poulain  <benjamin@webkit.org>
10365
10366        Use GCC's implementation of atomicIncrement/Decrement on Mac
10367        https://bugs.webkit.org/show_bug.cgi?id=106976
10368
10369        Reviewed by Filip Pizlo.
10370
10371        * wtf/Atomics.h:
10372        GCC and LLVM have builtin for atomic ADD and SUB: __sync_add_and_fetch,
10373        __sync_sub_and_fetch.
10374
10375        Using them let the compiler just generate the atomic operations inline
10376        instead of generating a function call to LibC. It also simplify the
10377        code a bit.
10378
103792013-01-15  Adam Barth  <abarth@webkit.org>
10380
10381        Generalize DocumentWeakReference into WTF::WeakPtr
10382        https://bugs.webkit.org/show_bug.cgi?id=106854
10383
10384        Reviewed by Darin Adler.
10385
10386        This patch adds a simple WeakPtr object to WTF. To use WeakPtr, objects
10387        must hold a WeakPtrFactory member variable, which clears the WeakPtrs
10388        when the object is destructed. The underlying storage is a
10389        ThreadSafeRefCounted "WeakReference" object, which is shared by all the
10390        WeakPtrs.
10391
10392        WeakPtr is a generalization of DocumentWeakReference, which is used to
10393        check whether the Document object is alive when tasks arive on the main
10394        thread from worker threads. We plan to use a similar pattern in the
10395        threaded HTML parser, but we want to send tasks to objects other than
10396        Document.
10397
10398        * GNUmakefile.list.am:
10399        * WTF.gypi:
10400        * WTF.pro:
10401        * WTF.vcproj/WTF.vcproj:
10402        * WTF.xcodeproj/project.pbxproj:
10403        * wtf/CMakeLists.txt:
10404        * wtf/WeakPtr.h: Added.
10405        (WeakReference):
10406            - The ThreadSafeRefCounted object shared by all the WeakPtr
10407              instances. This patch uses ThreadSafeRefCounted so that we can
10408              use WeakPtrs to cancel cross-thread messages.
10409        (WTF::WeakReference::create):
10410        (WTF::WeakReference::get):
10411        (WTF::WeakReference::clear):
10412            - When the object is destroyed, WeakPtrFactory calls this function
10413              to clear all the WeakPtrs.
10414        (WTF::WeakReference::WeakReference):
10415        (WTF::WeakPtr::WeakPtr):
10416        (WTF::WeakPtr::get):
10417            - We might want to add implicit conversions and Boolean operators
10418              in the future, but I've kept this class simple for now.
10419        (WTF::WeakPtrFactory::WeakPtrFactory):
10420        (WTF::WeakPtrFactory::~WeakPtrFactory):
10421        (WTF::WeakPtrFactory::createWeakPtr):
10422
104232013-01-12  Csaba Osztrogonác  <ossy@webkit.org>
10424
10425        Use __sync_add_and_fetch instead of __gnu_cxx::__exchange_and_add
10426        https://bugs.webkit.org/show_bug.cgi?id=106729
10427
10428        After r139514 we need atomicIncrement(int64_t volatile*) for all platform. Now the
10429        GCC implementation of atomicIncrement() is based on __gnu_cxx::__exchange_and_add,
10430        which doesn't support int64_t type, but __sync_add_and_fetch does.
10431
10432        Reviewed by Benjamin Poulain.
10433
10434        * wtf/Atomics.h:
10435        (WTF::atomicIncrement):
10436        (WTF::atomicDecrement):
10437
104382013-01-11  Filip Pizlo  <fpizlo@apple.com>
10439
10440        Add WTF_EXPORT_PRIVATE to printInternal() methods of PrintStream.h
10441
10442        Rubber stamped by Mark Hahnenberg.
10443        
10444        This will make it easier to use dataLog() from WebCore.
10445
10446        * wtf/PrintStream.h:
10447        (WTF):
10448
104492013-01-09  Antti Koivisto  <antti@apple.com>
10450
10451        Release FastMalloc thread caches on memory warning
10452        https://bugs.webkit.org/show_bug.cgi?id=106471
10453        
10454        Reviewed by Geoff Garen.
10455
10456        Use TCMalloc_ThreadCache::Cleanup() instead of calling Scavenge() twice. This releases all the memory
10457        and looks nicer too.
10458
10459        * wtf/FastMalloc.cpp:
10460        (WTF::releaseFastMallocFreeMemory):
10461
104622013-01-09  Carlos Garcia Campos  <cgarcia@igalia.com>
10463
10464        Unreviewed. Fix make distcheck.
10465
10466        * GNUmakefile.list.am: Add missing header.
10467
104682013-01-07  Filip Pizlo  <fpizlo@apple.com>
10469
10470        Rationalize closure call heuristics and profiling
10471        https://bugs.webkit.org/show_bug.cgi?id=106270
10472
10473        Reviewed by Oliver Hunt.
10474        
10475        Add a macro to add a method to a class that returns a dumper. Allows you to have
10476        secondary dump() methods for dumping either more or less information.
10477
10478        * wtf/PrintStream.h:
10479        (WTF):
10480
104812013-01-07  Ryosuke Niwa  <rniwa@webkit.org>
10482
10483        Sorted the xcodeproj file.
10484
10485        * WTF.xcodeproj/project.pbxproj:
10486
104872013-01-07  Filip Pizlo  <fpizlo@apple.com>
10488
10489        Unreviewed, it should be possible to build JSC on ARM.
10490
10491        * wtf/FastMalloc.cpp:
10492        (WTF::TCMalloc_PageHeap::IncrementalScavenge):
10493
104942013-01-07  Balazs Kilvady  <kilvadyb@homejinni.com>
10495
10496        MIPS LLInt implementation.
10497        https://bugs.webkit.org/show_bug.cgi?id=99706
10498
10499        Reviewed by Filip Pizlo.
10500
10501        LLInt implementation for MIPS.
10502
10503        * wtf/Platform.h:
10504
105052013-01-05  Jonathan Liu  <net147@gmail.com>
10506
10507        Only enable MinGW-w64 pow() workaround if needed
10508        https://bugs.webkit.org/show_bug.cgi?id=106099
10509
10510        Reviewed by Filip Pizlo.
10511
10512        The pow() workaround is no longer needed in the latest version
10513        of MinGW-w64.
10514
10515        * wtf/MathExtras.h:
10516
105172013-01-05  Jonathan Liu  <net147@gmail.com>
10518
10519        Fix compilation of MathExtras.h with MinGW-w64
10520        https://bugs.webkit.org/show_bug.cgi?id=106105
10521
10522        Reviewed by Simon Hausmann.
10523
10524        The isfinite and isinf functions are required by wtf_pow but
10525        not defined until after wtf_pow. Move wtf_pow to after
10526        "using std::isfinite" and "using std::isinf" to fix compilation.
10527
10528        * wtf/MathExtras.h:
10529        (wtf_pow):
10530
105312013-01-03  Filip Pizlo  <fpizlo@apple.com>
10532
10533        CallLinkStatus should be aware of closure calls, and the DFG bytecode parser should use that as its sole internal notion of how to optimize calls
10534        https://bugs.webkit.org/show_bug.cgi?id=106027
10535
10536        Reviewed by Mark Hahnenberg.
10537        
10538        I got tired of the various idioms for printing a list of things with comma in between, so I wrote a helper.
10539
10540        * WTF.xcodeproj/project.pbxproj:
10541        * wtf/CommaPrinter.h: Added.
10542        (WTF):
10543        (CommaPrinter):
10544        (WTF::CommaPrinter::CommaPrinter):
10545        (WTF::CommaPrinter::dump):
10546
105472013-01-02  Simon Hausmann  <simon.hausmann@digia.com>
10548
10549        [MinGW-w64] Centralize workaround for pow() implementation
10550        https://bugs.webkit.org/show_bug.cgi?id=105925
10551
10552        Reviewed by Sam Weinig.
10553
10554        As suggested by Sam, move the MinGW-w64 workaround into MathExtras.h
10555        away from the JSC usage.
10556
10557        * wtf/MathExtras.h:
10558        (wtf_pow):
10559
105602013-01-02  Adam Barth  <abarth@webkit.org>
10561
10562        WTF.gypi lists Platform.h twice
10563        https://bugs.webkit.org/show_bug.cgi?id=105731
10564
10565        Reviewed by Tony Chang.
10566
10567        Once ought to be enough for everybody.
10568
10569        * WTF.gypi:
10570
105712012-12-31  Gavin Barraclough  <barraclough@apple.com>
10572
10573        Objective-C API for JavaScriptCore
10574        https://bugs.webkit.org/show_bug.cgi?id=105889
10575
10576        Reviewed by Filip Pizlo.
10577
10578        * wtf/WTFThreadData.cpp:
10579        (WTF::WTFThreadData::WTFThreadData):
10580        * wtf/WTFThreadData.h:
10581        (WTFThreadData):
10582            - Added m_apiData - provide convenient storage for use by the API.
10583
105842012-12-28  Ilya Tikhonovsky  <loislo@chromium.org>
10585
10586        Web Inspector: Native Memory Instrumentation: instrument not instrumented members.
10587        https://bugs.webkit.org/show_bug.cgi?id=105830
10588
10589        Reviewed by Vsevolod Vlasov.
10590
10591        In some cases we don't want to visit some class members.
10592        As example we decided to skip pointers to interface classes such as GraphicLayerClient.
10593        We could use addWeakPointer for them but it can't be used for nonpointer members.
10594        In the offline discussion we came to a conclusion that we need a new instrumentation
10595        method ignoreMember, which will be used for all the members which we won't like to visit/instrument.
10596
10597        DriveBy: Also I instrumented not yet instrumented members.
10598
10599        * wtf/MemoryInstrumentation.h:
10600        (MemoryClassInfo):
10601        (WTF::MemoryClassInfo::ignoreMember):
10602
106032012-12-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
10604
10605        Fix build warning in OSAllocatorPosix.cpp
10606        https://bugs.webkit.org/show_bug.cgi?id=105761
10607
10608        Reviewed by Kentaro Hara.
10609
10610        * wtf/OSAllocatorPosix.cpp:
10611        (WTF::OSAllocator::reserveUncommitted): Fix unused param warnings.
10612
106132012-12-24  Yury Semikhatsky  <yurys@chromium.org>
10614
10615        Memory instrumentation: provide a way to mark a node as a root
10616        https://bugs.webkit.org/show_bug.cgi?id=105737
10617
10618        Reviewed by Alexander Pavlov.
10619
10620        Objects added using MemoryInstrumentation::addRootObject will be marked as roots.
10621
10622        * wtf/MemoryInstrumentation.cpp:
10623        (WTF::MemoryInstrumentation::WrapperBase::process):
10624        (WTF):
10625        (WTF::MemoryInstrumentation::WrapperBase::processPointer):
10626        (WTF::MemoryInstrumentation::WrapperBase::processRootObjectRef):
10627        * wtf/MemoryInstrumentation.h:
10628        (WrapperBase):
10629        * wtf/MemoryObjectInfo.h: added root marker which can be used by the heap graph builder.
10630        (WTF::MemoryObjectInfo::MemoryObjectInfo):
10631        (WTF::MemoryObjectInfo::isRoot):
10632        (WTF::MemoryObjectInfo::markAsRoot):
10633        (MemoryObjectInfo):
10634
106352012-12-24  Ilya Tikhonovsky  <loislo@chromium.org>
10636
10637        Web Inspector: Native Memory Instrumentation: propagate member type as edge type to the serialized heap graph.
10638        https://bugs.webkit.org/show_bug.cgi?id=105725
10639
10640        Reviewed by Yury Semikhatsky.
10641
10642        MemoryOwningType was renamed to MemberType.
10643        Source argument were removed from reportEdge, reportLeaf and other edge related methods because it is not necessary.
10644        MemberType argument was propagated from MemoryInstrumentation down to HeapGraphSerializer.
10645
10646        The changes covered by tests in TestWebKitAPI.
10647
10648        * wtf/MemoryInstrumentation.cpp:
10649        (WTF::MemoryInstrumentation::reportEdge):
10650        (WTF::MemoryInstrumentation::reportLinkToBuffer):
10651        (WTF::MemoryClassInfo::addPrivateBuffer):
10652        * wtf/MemoryInstrumentation.h:
10653        (MemoryInstrumentationClient):
10654        (MemoryInstrumentation):
10655        (WTF::MemoryInstrumentation::addRawBuffer):
10656        (WTF::MemoryInstrumentation::MemberTypeTraits::addObject):
10657        (WTF::MemoryInstrumentation::addObjectImpl):
10658
106592012-12-21  Ilya Tikhonovsky  <loislo@chromium.org>
10660
10661        Unreviewed. Another try to fix Apple Win Release build.
10662
10663        * wtf/FastMalloc.cpp:
10664        (WTF::ClassIndex):
10665
106662012-12-21  Ilya Tikhonovsky  <loislo@chromium.org>
10667
10668        Unreviewed compilation fix for Apple Win Release after r138398.
10669
10670        * wtf/FastMalloc.cpp:
10671        (WTF::ClassIndex):
10672
106732012-12-21  Oliver Hunt  <oliver@apple.com>
10674
10675        Further harden FastMalloc
10676        https://bugs.webkit.org/show_bug.cgi?id=105656
10677
10678        Reviewed by Gavin Barraclough.
10679
10680        This increases the degree to which we harden the FastMalloc
10681        linked lists.  We now also mask the previous and next pointers
10682        in the doubly linked list implementation.  I've also made
10683        the masking itself somewhat more complex without a measurable
10684        cost.  We still use ASLR to provide some general entropy, but
10685        we blind the pointers against each nodes 'this' pointer.
10686
10687        * wtf/FastMalloc.cpp:
10688        (WTF::ClassIndex):
10689        (WTF::SLL_Next):
10690        (WTF::SLL_SetNext):
10691        (WTF::Span::next):
10692        (WTF::Span::prev):
10693        (WTF::Span::setNext):
10694        (WTF::Span::setPrev):
10695        (Span):
10696          As Span now has to do masking on the next and previous pointers,
10697          I've updated the code to use accessors instead.
10698        (WTF::DLL_Init):
10699        (WTF::DLL_Remove):
10700        (WTF::DLL_IsEmpty):
10701        (WTF::DLL_Length):
10702        (WTF::DLL_Prepend):
10703        (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects):
10704        (WTF::TCMalloc_PageHeap::scavenge):
10705        (WTF::TCMalloc_PageHeap::New):
10706        (WTF::TCMalloc_PageHeap::AllocLarge):
10707        (WTF::TCMalloc_PageHeap::ReturnedBytes):
10708        (WTF::TCMalloc_PageHeap::Check):
10709        (WTF::TCMalloc_PageHeap::CheckList):
10710        (WTF::TCMalloc_PageHeap::ReleaseFreeList):
10711        (WTF::TCMalloc_Central_FreeList::FetchFromSpans):
10712
107132012-12-20  Ryuan Choi  <ryuan.choi@samsung.com>
10714
10715        [EFL] Build break with latest EFL libraries.
10716        https://bugs.webkit.org/show_bug.cgi?id=104827
10717
10718        Reviewed by Laszlo Gombos.
10719
10720        The eo EFL package is introduced and evas and ecore use it since 1.8.
10721        While introducing Eo, EFL changed several structures of Evas and Ecore
10722        from own specific class to Eo.
10723
10724        So, this patch adds FindEo and changes declaration of Evas, Evas_Object,
10725        Ecore_Timer to build with latest EFL libraries.
10726
10727        * wtf/OwnPtrCommon.h: Modified declaration of Evas_Object and Ecore_Timer.
10728        * wtf/PlatformEfl.cmake: Includes eo EFL library.
10729        * wtf/efl/RefPtrEfl.h: Modified declaration of Evas_Object.
10730
107312012-12-20  Oliver Hunt  <oliver@apple.com>
10732
10733        Harden pointers in FastMalloc's singly linked list implementation
10734        https://bugs.webkit.org/show_bug.cgi?id=105571
10735
10736        Reviewed by Gavin Barraclough.
10737
10738        Add simple xor based hardening of the next pointer in the
10739        fast malloc singly linked list implementation.  We rely on
10740        ASLR to introduce the address randomness we want for the mask.
10741        Happily this produces a very low cost random value to use.
10742
10743        * wtf/FastMalloc.cpp:
10744        (WTF):
10745        (WTF::SLL_Next):
10746        (WTF::SLL_SetNext):
10747
107482012-12-19  Oliver Hunt  <oliver@apple.com>
10749
10750        StringImpl isolatedCopy unnecessarily copies text-segment character data
10751        https://bugs.webkit.org/show_bug.cgi?id=105376
10752
10753        Reviewed by Anders Carlsson.
10754
10755        This patch adds a new (private) helper to StringImpl that tests whether the StringImpl
10756        is backed by an ASCII literal.  This allows isolatedCopy() to safely use the createFromLiteral
10757        constructor rather than making an unnecessary copy.
10758
10759        * wtf/text/StringImpl.h:
10760        (StringImpl):
10761        (WTF::StringImpl::isASCIILiteral):
10762        (WTF::StringImpl::isolatedCopy):
10763
107642012-12-19  Oliver Hunt  <oliver@apple.com>
10765
10766        WTF String from ASCIILiteral fails to correctly handle empty strings.
10767        https://bugs.webkit.org/show_bug.cgi?id=105453
10768
10769        Reviewed by Anders Carlsson.
10770
10771        When we have an zero length literal we should return the empty StringImpl.
10772
10773        * wtf/text/StringImpl.cpp:
10774        (WTF::StringImpl::createFromLiteral):
10775
107762012-12-18  Yury Semikhatsky  <yurys@chromium.org>
10777
10778        Web Inspector: show cached images under MemoryCache -> Images section
10779        https://bugs.webkit.org/show_bug.cgi?id=105261
10780
10781        Reviewed by Pavel Feldman.
10782
10783        Use first provided name and class name. If one of the ancestors tries to overwrite
10784        it just ignore the call.
10785
10786        * wtf/MemoryObjectInfo.h:
10787        (WTF::MemoryObjectInfo::setClassName):
10788        (WTF::MemoryObjectInfo::setName):
10789
107902012-12-18  Uli Schlachter  <psychon@znc.in>
10791
10792        Implement uncommitted memory for Linux.
10793        https://bugs.webkit.org/show_bug.cgi?id=65766
10794
10795        Reviewed by Simon Hausmann.
10796
10797        The old approach used MAP_NORESERVE to allocate address space without
10798        committing it. However, that flag gets ignored if
10799        /proc/sys/vm/overcommit_memory is set to 2. The new approach uses a
10800        mapping with PROT_NONE. This works because mappings which aren't even
10801        readable don't get accounted as committed on Linux.
10802
10803        * wtf/OSAllocatorPosix.cpp:
10804        (WTF::OSAllocator::reserveUncommitted):
10805        (WTF::OSAllocator::reserveAndCommit):
10806        (WTF::OSAllocator::commit):
10807        (WTF::OSAllocator::decommit):
10808
108092012-12-17  Ilya Tikhonovsky  <loislo@chromium.org>
10810
10811        Web Inspector: Native Memory Instrumentation: MemoryInstrumentation doesn't detect reportMemoryUsage method defined in a base class.
10812        https://bugs.webkit.org/show_bug.cgi?id=105026
10813
10814        Reviewed by Yury Semikhatsky.
10815
10816        Old SFINAE test was replaced with new one based on this article:
10817        http://stackoverflow.com/questions/1966362/sfinae-to-check-for-inherited-member-functions
10818
10819        * wtf/MemoryInstrumentation.h:
10820        (MemoryInstrumentation):
10821        (yes):
10822        (IsInstrumented):
10823        (no):
10824        (WTF::MemoryInstrumentation::IsInstrumented::BaseMixin::reportMemoryUsage):
10825        (WTF::MemoryInstrumentation::selectInstrumentationMethod):
10826        (InstrumentationSelector):
10827        (WTF):
10828        (WTF::::reportObjectMemoryUsage):
10829
108302012-12-17  Ilya Tikhonovsky  <loislo@chromium.org>
10831
10832        Unreviewed, rolling out r137892.
10833        http://trac.webkit.org/changeset/137892
10834        https://bugs.webkit.org/show_bug.cgi?id=105026
10835
10836        it broke compilation on windows
10837
10838        * wtf/MemoryInstrumentation.h:
10839        (WTF::MemoryInstrumentation::selectInstrumentationMethod):
10840        (MemoryInstrumentation):
10841        (WTF::MemoryInstrumentation::reportObjectMemoryUsage):
10842        (WTF::reportMemoryUsage):
10843
108442012-12-14  Ilya Tikhonovsky  <loislo@chromium.org>
10845
10846        Web Inspector: Native Memory Instrumentation: MemoryInstrumentation doesn't detect reportMemoryUsage method defined in a base class.
10847        https://bugs.webkit.org/show_bug.cgi?id=105026
10848
10849        Reviewed by Yury Semikhatsky.
10850
10851        Old SFINAE test was replaced with new one based on this article:
10852        http://stackoverflow.com/questions/1966362/sfinae-to-check-for-inherited-member-functions
10853
10854        * wtf/MemoryInstrumentation.h:
10855        (MemoryInstrumentation):
10856        (yes):
10857        (IsInstrumented):
10858        (no):
10859        (WTF::MemoryInstrumentation::IsInstrumented::BaseMixin::reportMemoryUsage):
10860        (WTF::MemoryInstrumentation::selectInstrumentationMethod):
10861        (InstrumentationSelector):
10862        (WTF):
10863        (WTF::::reportObjectMemoryUsage):
10864
108652012-12-14  Yury Semikhatsky  <yurys@chromium.org>
10866
10867        Web Inspector: add data grid for exploring native heap graph
10868        https://bugs.webkit.org/show_bug.cgi?id=105012
10869
10870        Reviewed by Pavel Feldman.
10871
10872        Do not report edges with null target.
10873
10874        * wtf/MemoryInstrumentation.h:
10875        (WTF::MemoryInstrumentation::addObjectImpl):
10876
108772012-12-13  Filip Pizlo  <fpizlo@apple.com>
10878
10879        Attempt to rationalize and simplify WTF::binarySearch
10880        https://bugs.webkit.org/show_bug.cgi?id=104890
10881
10882        Reviewed by Maciej Stachowiak.
10883
10884        Binary search now has three modes:
10885
10886        The default: assert that the key was found, but return an adjacent element if it
10887        wasn't found, if asserts are turned off.
10888        
10889        tryBinarySearch: return 0 if the key wasn't found.
10890        
10891        approximateBinarySearch: if the key is not found, return an adjacent element (either
10892        the left or right; no guarantee which).
10893        
10894        This also reduces the number of variants of binarySearch. The functor variant is now
10895        gone because binarySearch now always uses a functor for the key extractor. The
10896        generic variant is now gone because binarySearch always expects an array type that
10897        can do operator[].
10898
10899        * wtf/StdLibExtras.h:
10900        (WTF::binarySearchImpl):
10901        (WTF::binarySearch):
10902        (WTF::tryBinarySearch):
10903        (WTF::approximateBinarySearch):
10904
109052012-12-13  Ilya Tikhonovsky  <loislo@chromium.org>
10906
10907        Web Inspector: Native Memory Instrumentation: do not validate pointers to objects in RenderArena agains tcmalloc data.
10908        https://bugs.webkit.org/show_bug.cgi?id=104903
10909
10910        Reviewed by Yury Semikhatsky.
10911
10912        This is a simplest approach to do that with zero performance overhead.
10913
10914        * wtf/MemoryInstrumentation.cpp:
10915        (WTF::MemoryClassInfo::setCustomAllocation):
10916        (WTF):
10917        * wtf/MemoryInstrumentation.h:
10918        (MemoryClassInfo):
10919        * wtf/MemoryObjectInfo.h:
10920        (WTF::MemoryObjectInfo::MemoryObjectInfo):
10921        (WTF::MemoryObjectInfo::customAllocation):
10922        (WTF::MemoryObjectInfo::setCustomAllocations):
10923        (MemoryObjectInfo):
10924
109252012-12-12  Ilya Tikhonovsky  <loislo@chromium.org>
10926
10927        Web Inspector: Native Memory Instrumentation: remove fake root MemoryObjectInfo.
10928        https://bugs.webkit.org/show_bug.cgi?id=104796
10929
10930        Reviewed by Yury Semikhatsky.
10931
10932        It was not a good idea to introduce a fake root MemoryObjectInfo.
10933        It makes a problem when we visit an object without its own MemoryObjectType.
10934
10935        Example: RenderBox has a global pointer to a hash map.
10936        HashMap doesn't have its own object type because it is a generic container.
10937        It will inherit object type from the fake root memory object info.
10938        The same could happen for another container in another class with other MemoryObjectType.
10939
10940        This fact forces me to create custom process method for root objects
10941        because they need to have their own MemoryObjectInfo with customisable memory object type.
10942
10943        Drive by fix: InstrumentedPointer* was replaced with Wrapper* because actually it is using
10944        for instrumented and not instrumented object classes.
10945
10946        * wtf/MemoryInstrumentation.cpp:
10947        (WTF::MemoryInstrumentation::MemoryInstrumentation):
10948        (WTF::MemoryInstrumentation::WrapperBase::WrapperBase):
10949        (WTF::MemoryInstrumentation::WrapperBase::process):
10950        (WTF::MemoryInstrumentation::WrapperBase::processRootObjectRef):
10951        (WTF):
10952        * wtf/MemoryInstrumentation.h:
10953        (WTF::MemoryInstrumentation::addRootObject):
10954        (MemoryInstrumentation):
10955        (WrapperBase):
10956        (WTF::MemoryInstrumentation::WrapperBase::~WrapperBase):
10957        (Wrapper):
10958        (OwningTraits):
10959        (WTF::MemoryInstrumentation::OwningTraits::addRootObject):
10960        (WTF::MemoryInstrumentation::addObjectImpl):
10961        (WTF::::Wrapper):
10962        (WTF::::callReportMemoryUsage):
10963
109642012-12-12  Sergio Martins  <sergio.martins@kdab.com>
10965
10966        Fix QNX Qt build by enabling JIT.
10967        https://bugs.webkit.org/show_bug.cgi?id=102794
10968
10969        Reviewed by Simon Hausmann.
10970
10971        JIT is working, so enable it. Otherwise LLINT gets enabled, and
10972        that doesn't compile.
10973
10974        YARR_JIT is crashing at this time though, so disable it.
10975
10976        * wtf/Platform.h:
10977
109782012-12-11  Ilya Tikhonovsky  <loislo@chromium.org>
10979
10980        Web Inspector: Native Memory Instrumentation: simplify Sequences processing code.
10981        https://bugs.webkit.org/show_bug.cgi?id=104777
10982
10983        Reviewed by Yury Semikhatsky.
10984
10985        Redesign reportMemoryUsage for the sequences.
10986        With the old schema we couldn't instrument HashMap<key, WebCore::LayoutUnit>
10987        because LayoutUnit has overloaded conversion operators for double, int, etc.
10988        I wrote an empty SequenceMemoryInstrumentationTraits for LayoutUnit class
10989        but it doesn't help because the root of problem was hidden in the free template function reportSequenceMemoryUsage.
10990        I could overload reportSequenceMemoryUsage too but in this case I need to fully specify all the types
10991        for the iterators like HashMap<.....>::const_iterator. Too many letters.
10992        I found a better solution. Free reportSequenceMemoryUsage can be converted into default implementation of static
10993        reportMemoryUsage traits method. In this case the types of iterators will be inferred automaticaly. The old default
10994        implementation becomes a custom implementation for the user defined types.
10995
10996        * wtf/MemoryInstrumentationHashCountedSet.h:
10997        (WTF::reportMemoryUsage):
10998        * wtf/MemoryInstrumentationHashMap.h:
10999        (WTF::reportMemoryUsage):
11000        * wtf/MemoryInstrumentationHashSet.h:
11001        (WTF::reportMemoryUsage):
11002        * wtf/MemoryInstrumentationListHashSet.h:
11003        (WTF::reportMemoryUsage):
11004        * wtf/MemoryInstrumentationSequence.h:
11005        (WTF):
11006        (WTF::SequenceMemoryInstrumentationTraits::reportMemoryUsage):
11007        (SequenceMemoryInstrumentationTraits):
11008        * wtf/MemoryInstrumentationVector.h:
11009        (WTF::reportMemoryUsage):
11010
110112012-12-10  Yury Semikhatsky  <yurys@chromium.org>
11012
11013        Memory instrumentation: make sure each edge is reported only once
11014        https://bugs.webkit.org/show_bug.cgi?id=104630
11015
11016        Reviewed by Pavel Feldman.
11017
11018        Make sure that outgoing edges are reported only once if we come to the same
11019        object twice: first by an address of a base class and then by a real address
11020        of the object.
11021
11022        * wtf/MemoryInstrumentation.cpp:
11023        (WTF::MemoryInstrumentation::MemoryInstrumentation):
11024        (WTF::MemoryInstrumentation::reportLinkToBuffer):
11025        (WTF::MemoryInstrumentation::InstrumentedPointerBase::InstrumentedPointerBase):
11026        (WTF::MemoryInstrumentation::InstrumentedPointerBase::process):
11027        (WTF::MemoryClassInfo::init):
11028        (WTF::MemoryClassInfo::addRawBuffer):
11029        (WTF::MemoryClassInfo::addPrivateBuffer):
11030        * wtf/MemoryInstrumentation.h:
11031        (InstrumentedPointerBase):
11032        (MemoryInstrumentation):
11033        (InstrumentedPointer):
11034        (WTF::MemoryClassInfo::MemoryClassInfo):
11035        (WTF::MemoryClassInfo::addMember):
11036        (MemoryClassInfo):
11037        (WTF::::InstrumentedPointer):
11038        (WTF::::callReportMemoryUsage):
11039        * wtf/MemoryObjectInfo.h:
11040        (WTF::MemoryObjectInfo::MemoryObjectInfo):
11041        (WTF::MemoryObjectInfo::firstVisit):
11042        (WTF::MemoryObjectInfo::className):
11043        (WTF::MemoryObjectInfo::name):
11044        (WTF::MemoryObjectInfo::setAlreadyVisited):
11045        (MemoryObjectInfo):
11046
110472012-12-10  Benjamin Poulain  <benjamin@webkit.org>
11048
11049        Add convenience methods to use ListHashSet for a LRU cache
11050        https://bugs.webkit.org/show_bug.cgi?id=104499
11051
11052        Reviewed by Sam Weinig.
11053
11054        ListHashSet is a great abstract data type to implement caches.
11055        Unfortunately, the class was missing methods to do that easily and
11056        efficiently. This patch fixes that.
11057
11058        The names appendOrMoveToLast() and prependOrMoveToFirst() were chosen
11059        in favor of append()/prepend() to ensure they are not used in place of
11060        add() by accident.
11061
11062        * wtf/ListHashSet.h:
11063        (ListHashSet):
11064        (WTF::::removeFirst):
11065        (WTF::::appendOrMoveToLast):
11066        (WTF::::prependOrMoveToFirst):
11067        (WTF::::unlink):
11068        (WTF::::unlinkAndDelete):
11069        (WTF::::prependNode):
11070
110712012-12-10  Eric Carlson  <eric.carlson@apple.com>
11072
11073        Add support for in-band text tracks to Mac port
11074        https://bugs.webkit.org/show_bug.cgi?id=103663
11075
11076        Reviewed by Sam Weinig.
11077
11078        * wtf/Platform.h: Define HAVE_AVFOUNDATION_TEXT_TRACK_SUPPORT.
11079
110802012-12-08  Patrick Gansterer  <paroga@webkit.org>
11081
11082        Compiling WTF outside of WebKit failed on Windows
11083        https://bugs.webkit.org/show_bug.cgi?id=100201
11084
11085        Reviewed by Darin Adler.
11086
11087        Explicitly use the Unicode variants of the Windows API to
11088        allow building the WTF library without the UNICODE define.
11089
11090        * wtf/win/MainThreadWin.cpp:
11091        (WTF::initializeMainThreadPlatform):
11092
110932012-12-08  Gustavo Noronha Silva  <gns@gnome.org>
11094
11095        Unreviewed trivial space fix to silence an automake warning.
11096
11097        * GNUmakefile.list.am:
11098
110992012-12-05  Halton Huo  <halton.huo@intel.com>
11100
11101        [CMake] Unify coding style for CMake files
11102        https://bugs.webkit.org/show_bug.cgi?id=103605
11103
11104        Reviewed by Laszlo Gombos.
11105
11106        Update cmake files(.cmake, CMakeLists.txt) with following style rules:
11107        1. Indentation
11108        1.1 Use spaces, not tabs.
11109        1.2 Four spaces as indent.
11110        2. Spacing
11111        2.1 Place one space between control statements and their parentheses.
11112            For eg, if (), else (), elseif (), endif (), foreach (),
11113            endforeach (), while (), endwhile (), break ().
11114        2.2 Do not place spaces between function and macro statements and
11115            their parentheses. For eg, macro(), endmacro(), function(),
11116            endfunction().
11117        2.3 Do not place spaces between a command or function or macro and its
11118            parentheses, or between a parenthesis and its content. For eg,
11119            message("testing") not message( "testing") or message ("testing" )
11120        2.4 No space at line ending.
11121        3. Lowercase when call commands macros and functions. For eg,
11122           add_executable() not ADD_EXECUTABLE(), set() not SET().
11123
11124        * CMakeLists.txt:
11125        * wtf/CMakeLists.txt:
11126        * wtf/PlatformBlackBerry.cmake:
11127        * wtf/PlatformEfl.cmake:
11128        * wtf/PlatformWinCE.cmake:
11129
111302012-12-04  Jon Lee  <jonlee@apple.com>
11131
11132        Extend StringHasher to take a stream of characters
11133        https://bugs.webkit.org/show_bug.cgi?id=104076
11134        <rdar://problem/12811887>
11135
11136        Reviewed by Darin Adler.
11137
11138        We essentially move computeHash() to a member function of StringHasher. This allows clients of the
11139        hasher to append strings to the general hash, without having to first concatenate the strings.
11140
11141        * wtf/StringHasher.h:
11142        (WTF::StringHasher::addCharacters): Same as computeHash(), except also take into account the possibility
11143        that there is a pending character to hash. If this is the case, we align the word boundary by consuming the
11144        first character in data, adjust the length, move the data pointer forward one, and update the hasher's
11145        pending character state. Also add an early return so that we are guaranteed at least one character in case
11146        we run into this situation.
11147        (WTF::StringHasher::computeHash): Refactor into addCharacters().
11148
111492012-12-04  Yury Semikhatsky  <yurys@chromium.org>
11150
11151        Web Inspector: simplify reportMemoryUsage signature
11152        https://bugs.webkit.org/show_bug.cgi?id=104028
11153
11154        Reviewed by Vsevolod Vlasov.
11155
11156        Removed const& modifier from instrumented pointer type. Was const T* const&,
11157        now it is const T*
11158
11159        * wtf/MemoryInstrumentation.cpp:
11160        (WTF::MemoryClassInfo::addRawBuffer):
11161        * wtf/MemoryInstrumentation.h:
11162        (MemoryInstrumentation):
11163        (WTF::MemoryInstrumentation::selectInstrumentationMethod):
11164        (WTF::MemoryInstrumentation::reportObjectMemoryUsage):
11165        (MemoryClassInfo):
11166        (WTF::reportMemoryUsage):
11167        (WTF::MemoryInstrumentation::addObjectImpl):
11168        (WTF):
11169        * wtf/MemoryInstrumentationArrayBufferView.h:
11170        (WTF::reportMemoryUsage):
11171        * wtf/MemoryInstrumentationHashCountedSet.h:
11172        (WTF::reportMemoryUsage):
11173        * wtf/MemoryInstrumentationHashMap.h:
11174        (WTF::reportMemoryUsage):
11175        * wtf/MemoryInstrumentationHashSet.h:
11176        (WTF::reportMemoryUsage):
11177        * wtf/MemoryInstrumentationListHashSet.h:
11178        (WTF::reportMemoryUsage):
11179        * wtf/MemoryInstrumentationParsedURL.h:
11180        (WTF::reportMemoryUsage):
11181        * wtf/MemoryInstrumentationString.h:
11182        (WTF::reportMemoryUsage):
11183        * wtf/MemoryInstrumentationVector.h:
11184        (WTF::reportMemoryUsage):
11185
111862012-12-01  Filip Pizlo  <fpizlo@apple.com>
11187
11188        JSC should be able to report profiling data associated with the IR dumps and disassembly
11189        https://bugs.webkit.org/show_bug.cgi?id=102999
11190
11191        Reviewed by Gavin Barraclough.
11192
11193        Made some minor changes to support the new profiler. FileOutputStream now has an
11194        open() method, and DataLog uses it. StringPrintStream has a reset() method, which
11195        allows you to reuse the same StringPrintStream for creating multiple strings.
11196        SegmentedVector now has a const operator[]. And, WTFString now can do fromUTF8() on
11197        a CString directly.
11198
11199        * wtf/DataLog.cpp:
11200        (WTF::initializeLogFileOnce):
11201        * wtf/FilePrintStream.cpp:
11202        (WTF::FilePrintStream::open):
11203        (WTF):
11204        * wtf/FilePrintStream.h:
11205        * wtf/SegmentedVector.h:
11206        (WTF::SegmentedVector::at):
11207        (SegmentedVector):
11208        (WTF::SegmentedVector::operator[]):
11209        * wtf/StringPrintStream.cpp:
11210        (WTF::StringPrintStream::reset):
11211        (WTF):
11212        * wtf/StringPrintStream.h:
11213        (StringPrintStream):
11214        * wtf/text/WTFString.cpp:
11215        (WTF::String::fromUTF8):
11216        (WTF):
11217        * wtf/text/WTFString.h:
11218        (String):
11219
112202012-12-04  Sheriff Bot  <webkit.review.bot@gmail.com>
11221
11222        Unreviewed, rolling out r136597.
11223        http://trac.webkit.org/changeset/136597
11224        https://bugs.webkit.org/show_bug.cgi?id=104065
11225
11226        broke Windows compilation (Requested by yurys on #webkit).
11227
11228        * wtf/MemoryInstrumentation.cpp:
11229        (WTF::MemoryClassInfo::addRawBuffer):
11230        * wtf/MemoryInstrumentation.h:
11231        (MemoryInstrumentation):
11232        (WTF::MemoryInstrumentation::selectInstrumentationMethod):
11233        (WTF::MemoryInstrumentation::reportObjectMemoryUsage):
11234        (MemoryClassInfo):
11235        (WTF::reportMemoryUsage):
11236        (WTF::MemoryInstrumentation::addObjectImpl):
11237        (WTF):
11238        * wtf/MemoryInstrumentationArrayBufferView.h:
11239        (WTF::reportMemoryUsage):
11240        * wtf/MemoryInstrumentationHashCountedSet.h:
11241        (WTF::reportMemoryUsage):
11242        * wtf/MemoryInstrumentationHashMap.h:
11243        (WTF::reportMemoryUsage):
11244        * wtf/MemoryInstrumentationHashSet.h:
11245        (WTF::reportMemoryUsage):
11246        * wtf/MemoryInstrumentationListHashSet.h:
11247        (WTF::reportMemoryUsage):
11248        * wtf/MemoryInstrumentationParsedURL.h:
11249        (WTF::reportMemoryUsage):
11250        * wtf/MemoryInstrumentationString.h:
11251        (WTF::reportMemoryUsage):
11252        * wtf/MemoryInstrumentationVector.h:
11253        (WTF::reportMemoryUsage):
11254
112552012-12-04  Yury Semikhatsky  <yurys@chromium.org>
11256
11257        Web Inspector: simplify reportMemoryUsage signature
11258        https://bugs.webkit.org/show_bug.cgi?id=104028
11259
11260        Reviewed by Vsevolod Vlasov.
11261
11262        Removed const& modifier from instrumented pointer type. Was const T* const&,
11263        now it is const T*
11264
11265        * wtf/MemoryInstrumentation.cpp:
11266        (WTF::MemoryClassInfo::addRawBuffer):
11267        * wtf/MemoryInstrumentation.h:
11268        (MemoryInstrumentation):
11269        (WTF::MemoryInstrumentation::selectInstrumentationMethod):
11270        (WTF::MemoryInstrumentation::reportObjectMemoryUsage):
11271        (MemoryClassInfo):
11272        (WTF::reportMemoryUsage):
11273        (WTF::MemoryInstrumentation::addObjectImpl):
11274        (WTF):
11275        * wtf/MemoryInstrumentationArrayBufferView.h:
11276        (WTF::reportMemoryUsage):
11277        * wtf/MemoryInstrumentationHashCountedSet.h:
11278        (WTF::reportMemoryUsage):
11279        * wtf/MemoryInstrumentationHashMap.h:
11280        (WTF::reportMemoryUsage):
11281        * wtf/MemoryInstrumentationHashSet.h:
11282        (WTF::reportMemoryUsage):
11283        * wtf/MemoryInstrumentationListHashSet.h:
11284        (WTF::reportMemoryUsage):
11285        * wtf/MemoryInstrumentationParsedURL.h:
11286        (WTF::reportMemoryUsage):
11287        * wtf/MemoryInstrumentationString.h:
11288        (WTF::reportMemoryUsage):
11289        * wtf/MemoryInstrumentationVector.h:
11290        (WTF::reportMemoryUsage):
11291
112922012-12-03  Yury Semikhatsky  <yurys@chromium.org>
11293
11294        Web Inspector: NMI introduce heap graph recording API
11295        https://bugs.webkit.org/show_bug.cgi?id=103232
11296
11297        Reviewed by Vsevolod Vlasov.
11298
11299        MemoryInstrumentationClient is extended with several methods for reporting
11300        heap graph vertices and edges. Edge source is always idenfied by heap object
11301        address. Target node might be either a destination object address(either real
11302        or adjusted if the edge was retrieved from a pointer to a base class) or a
11303        MemoryObjectInfo in case of internal buffers.
11304
11305        * wtf/MemoryInstrumentation.cpp:
11306        (WTF::MemoryInstrumentation::reportEdge):
11307        (WTF):
11308        (WTF::MemoryInstrumentation::reportLinkToBuffer): report edge between the object
11309        and a buffer which it owns.
11310        (WTF::MemoryInstrumentation::InstrumentedPointerBase::process):
11311        (WTF::MemoryClassInfo::addRawBuffer):
11312        (WTF::MemoryClassInfo::addPrivateBuffer):
11313        * wtf/MemoryInstrumentation.h:
11314        (MemoryInstrumentationClient):
11315        (WTF::MemoryInstrumentationClient::reportNode):
11316        (WTF::MemoryInstrumentationClient::reportEdge):
11317        (WTF::MemoryInstrumentationClient::reportLeaf):
11318        (WTF::MemoryInstrumentationClient::reportBaseAddress): if we found an object by a pointer
11319        to base class it may have different value than real object address. Report both real and
11320        adjusted addresses so that they both can be used for identifying corresponding heap graph
11321        node.
11322        (WTF::MemoryInstrumentation::addRootObject):
11323        (MemoryInstrumentation):
11324        (WTF::MemoryInstrumentation::addObject):
11325        (WTF::MemoryInstrumentation::addRawBuffer):
11326        (WTF::MemoryInstrumentation::OwningTraits::addObject):
11327        (WTF::MemoryClassInfo::addMember):
11328        (MemoryClassInfo):
11329        (WTF::MemoryInstrumentation::addObjectImpl):
11330        * wtf/MemoryObjectInfo.h: added methods for repoting class name and some name string.
11331        (WTF::MemoryObjectInfo::setClassName):
11332        (WTF::MemoryObjectInfo::setName):
11333        (MemoryObjectInfo):
11334
113352012-12-03  Filip Pizlo  <fpizlo@apple.com>
11336
11337        Replace JSValue::description() with JSValue::dump(PrintStream&)
11338        https://bugs.webkit.org/show_bug.cgi?id=103866
11339
11340        Reviewed by Darin Adler.
11341
11342        Make it easier to get a String from a StringPrintStream.
11343
11344        * wtf/StringPrintStream.cpp:
11345        (WTF::StringPrintStream::toString):
11346        * wtf/StringPrintStream.h:
11347        (StringPrintStream):
11348        (WTF::toString):
11349
113502012-12-02  Filip Pizlo  <fpizlo@apple.com>
11351
11352        It should be possible to build and run with DFG_ENABLE(PROPAGATION_VERBOSE)
11353        https://bugs.webkit.org/show_bug.cgi?id=103848
11354
11355        Reviewed by Sam Weinig.
11356
11357        Increase the variadicity of dataLog() and print(), and add a pointerDump()
11358        which allows passing a pointer to something that has a printInternal(). If
11359        the pointer is null, it'll print "(null)"; otherwise it'll invoke the
11360        printInternal() function.
11361
11362        * wtf/DataLog.h:
11363        (WTF):
11364        (WTF::dataLog):
11365        * wtf/PrintStream.h:
11366        (PrintStream):
11367        (WTF::PrintStream::print):
11368        (WTF):
11369        (PointerDump):
11370        (WTF::PointerDump::PointerDump):
11371        (WTF::PointerDump::dump):
11372        (WTF::pointerDump):
11373
113742012-11-30  Simon Hausmann  <simon.hausmann@digia.com>, Pierre Rossi  <pierre.rossi@digia.com>
11375
11376        [Qt] Separate Qt WebKit into Qt WebKit and Qt WebKit Widgets
11377        https://bugs.webkit.org/show_bug.cgi?id=99314
11378
11379        Reviewed by Tor Arne Vestbø.
11380
11381        This big change separates QtWebKit into QtWebKit and QtWebKitWidgets as
11382        shared libraries.
11383
11384        It's a big refactoring that mostly involves moving WebCore dependent
11385        code into QtWebKit and accessing it through exported QWebFrameAdapter
11386        and QWebPageAdapter classes.
11387
11388
11389        * wtf/text/WTFString.h:
11390        (String): Export the QString conversions also as WTF_STRING_API.
11391
113922012-11-29  Filip Pizlo  <fpizlo@apple.com>
11393
11394        It should be easy to find code blocks in debug dumps
11395        https://bugs.webkit.org/show_bug.cgi?id=103623
11396
11397        Reviewed by Geoffrey Garen.
11398
11399        Changed RawPointer to accept both const void* and void*, and use the former internally.
11400        
11401        Cleaned up SHA1 so that the functionality already used internally for self-testing is
11402        available via the API. This includes addBytes(CString) and computing hex digests.
11403
11404        * wtf/RawPointer.h:
11405        (WTF::RawPointer::RawPointer):
11406        (RawPointer):
11407        (WTF::RawPointer::value):
11408        * wtf/SHA1.cpp:
11409        (WTF::expectSHA1):
11410        (WTF::SHA1::hexDigest):
11411        (WTF::SHA1::computeHexDigest):
11412        * wtf/SHA1.h:
11413        (WTF::SHA1::addBytes):
11414
114152012-11-29  Patrick Gansterer  <paroga@webkit.org>
11416
11417        Build fix for WinCE after r136096.
11418
11419        * wtf/StringPrintStream.cpp: Added missing include file.
11420
114212012-11-28  Filip Pizlo  <fpizlo@apple.com>
11422
11423        SpeculatedType dumping should not use the static char buffer[thingy] idiom
11424        https://bugs.webkit.org/show_bug.cgi?id=103584
11425
11426        Reviewed by Michael Saboff.
11427
11428        Added a StringPrintStream, and made it easy to create dumpers for typedefs to primitives.
11429
11430        * GNUmakefile.list.am:
11431        * WTF.gypi:
11432        * WTF.pro:
11433        * WTF.vcproj/WTF.vcproj:
11434        * WTF.xcodeproj/project.pbxproj:
11435        * wtf/CMakeLists.txt:
11436        * wtf/PrintStream.cpp:
11437        (WTF::dumpCharacter):
11438        * wtf/PrintStream.h:
11439        (WTF::printInternal):
11440        * wtf/StringPrintStream.cpp: Added.
11441        (WTF::StringPrintStream::StringPrintStream):
11442        (WTF::StringPrintStream::~StringPrintStream):
11443        (WTF::StringPrintStream::vprintf):
11444        (WTF::StringPrintStream::toCString):
11445        (WTF::StringPrintStream::increaseSize):
11446        * wtf/StringPrintStream.h: Added.
11447        (StringPrintStream):
11448        (WTF::toCString):
11449
114502012-11-28  Michael Saboff  <msaboff@apple.com>
11451
11452        Update String Stats for recent dataLog changes and add summary
11453        https://bugs.webkit.org/show_bug.cgi?id=103583
11454
11455        Reviewed by Filip Pizlo.
11456
11457        Updated calls to dataLog() to dataLogF() as a results of r135469.
11458        Added total savings from 8 bit strings in bytes and as a percentage.
11459
11460        * wtf/text/StringImpl.cpp:
11461        (WTF::StringStats::printStats):
11462
114632012-11-28  Roger Fong  <roger_fong@apple.com>
11464
11465        Make DataLog work/compile properly on Windows.
11466        https://bugs.webkit.org/show_bug.cgi?id=103544
11467
11468        Reviewed by Filip Pizlo.
11469
11470        * wtf/DataLog.cpp:
11471        (WTF::initializeLogFileOnce):
11472
114732012-11-28  Filip Pizlo  <fpizlo@apple.com>
11474
11475        It should be possible to say dataLog("count = ", count, "\n") instead of dataLogF("count = %d\n", count)
11476        https://bugs.webkit.org/show_bug.cgi?id=103009
11477
11478        Reviewed by Michael Saboff.
11479
11480        Added the ability to use out.print(...) and dataLog(...) variadically and with
11481        WTF::printInternal(PrintStream&, const T&) overloads for any type T that you want
11482        to be able to pass as an argument to out.print() or dataLog(). Also added one
11483        example class for doing this: RawPointer, which can be used to force a pointer
11484        to be printed as "%p" rather than matching any overloads that you might want to
11485        introduce.
11486
11487        * GNUmakefile.list.am:
11488        * WTF.gypi:
11489        * WTF.pro:
11490        * WTF.vcproj/WTF.vcproj:
11491        * WTF.xcodeproj/project.pbxproj:
11492        * wtf/CMakeLists.txt:
11493        * wtf/DataLog.h:
11494        (WTF):
11495        (WTF::dataLog):
11496        * wtf/PrintStream.cpp:
11497        (WTF::printInternal):
11498        (WTF):
11499        * wtf/PrintStream.h:
11500        (PrintStream):
11501        (WTF::PrintStream::print):
11502        (WTF):
11503        * wtf/RawPointer.h: Added.
11504        (WTF):
11505        (RawPointer):
11506        (WTF::RawPointer::RawPointer):
11507        (WTF::RawPointer::value):
11508
115092012-11-27  Filip Pizlo  <fpizlo@apple.com>
11510
11511        Convert some remaining uses of FILE* to PrintStream&.
11512
11513        Rubber stamped by Mark Hahnenberg.
11514
11515        * wtf/BitVector.cpp:
11516        (WTF::BitVector::dump):
11517        * wtf/BitVector.h:
11518        (BitVector):
11519
115202012-11-27  Pratik Solanki  <psolanki@apple.com>
11521
11522        objc/objc-runtime.h does not exist on all PLATFORM(MAC)
11523        https://bugs.webkit.org/show_bug.cgi?id=101780
11524
11525        Reviewed by Brent Fulgham.
11526
11527        Clean up header includes so we don't include objc/objc-runtime.h.
11528
11529        * wtf/Functional.h:
11530        * wtf/ObjcRuntimeExtras.h: Include objc/message.h here so we don't rely on proper ordering
11531        of includes in files that include this header.
11532
115332012-11-27  Sheriff Bot  <webkit.review.bot@gmail.com>
11534
11535        Unreviewed, rolling out r135828.
11536        http://trac.webkit.org/changeset/135828
11537        https://bugs.webkit.org/show_bug.cgi?id=103405
11538
11539        [Chromium] Multiple ASAN errors after a WebKit roll due to
11540        mismatched malloc/delete (not free) resulting from
11541        StringImpl::deref() (Requested by apavlov on #webkit).
11542
11543        * wtf/FastAllocBase.h:
11544        * wtf/Platform.h:
11545
115462012-11-26  Adam Barth  <abarth@webkit.org>
11547
11548        [Chromium] fastMalloc has an extra branch on Windows
11549        https://bugs.webkit.org/show_bug.cgi?id=103027
11550
11551        Reviewed by Eric Seidel.
11552
11553        There's no need to override the new/delete operators on non-Mac
11554        platform because:
11555
11556        1) We use the system malloc anyway.
11557        2) We've modified the system malloc to crash in out-of-memory conditions.
11558
11559        This patch removes a branch (and a call) from malloc, which will
11560        hopefully improve performance. I haven't measured the performance
11561        characteristics of this patch, but I will look at the graphs closely
11562        when landing.
11563
11564        * wtf/FastAllocBase.h:
11565        * wtf/Platform.h:
11566
115672012-11-26  Filip Pizlo  <fpizlo@apple.com>
11568
11569        DataLog to a file should work if there are multiple processes using WTF
11570        https://bugs.webkit.org/show_bug.cgi?id=103323
11571
11572        Reviewed by Mark Hahnenberg.
11573
11574        Whereas before DataLog would open a file with the name you specified, now it'll open a file with the
11575        name plus the PID appended to it. So if you are dealing with multiple processes running with DataLog
11576        to a file enabled, you'll get multiple separate log files.
11577
11578        * wtf/DataLog.cpp:
11579        (WTF::initializeLogFileOnce):
11580
115812012-11-26  Zeno Albisser  <zeno@webkit.org>
11582
11583        [Qt] Fix the LLInt build on Mac
11584        https://bugs.webkit.org/show_bug.cgi?id=97587
11585
11586        Reviewed by Simon Hausmann.
11587
11588        * wtf/InlineASM.h:
11589            Use OS(DARWIN) instead of PLATFORM(MAC),
11590            in order to allow Qt to use the same code.
11591        * wtf/Platform.h:
11592
115932012-11-26  Patrick Gansterer  <paroga@webkit.org>
11594
11595        Build fix for WinCE after r135640.
11596
11597        * wtf/DataLog.cpp:
11598
115992012-11-24  Adam Barth  <abarth@webkit.org>
11600
11601        Chromium should use TCMalloc on Mac to go fast
11602        https://bugs.webkit.org/show_bug.cgi?id=102866
11603
11604        Reviewed by Eric Seidel.
11605
11606        This patch enables TCMalloc for some WebKit objects. It improves
11607        dom-modify on Mac by 5-10%.
11608
11609        On non-Mac platforms, Chromium already uses TCMalloc throughout the
11610        project. Unfortunately, we haven't yet figured out how to turn TCMalloc
11611        on globally on Mac because the approach we use for other platforms makes
11612        some OS X APIs sad.
11613
11614        The next best thing would be to enable TCMalloc for WebKit by
11615        overriding the global new and delete operator, as is done on apple-mac
11616        and other platforms. Unfortunately, we cannot use that approach either
11617        because the Chromium WebKit API is not memory tight.
11618
11619        Fortunately, WebKit has a mechanism for selectively enabling TCMalloc
11620        for a selection of objects by overriding the new and delete operators
11621        on those objects. This patch opts chromium-mac into that scheme by
11622        setting the appropriate preprocessor macros.
11623
11624        * WTF.gyp/WTF.gyp:
11625        * wtf/Platform.h:
11626
116272012-11-21  Filip Pizlo  <fpizlo@apple.com>
11628
11629        Any function that can log things should be able to easily log them to a memory buffer as well
11630        https://bugs.webkit.org/show_bug.cgi?id=103000
11631
11632        Reviewed by Sam Weinig.
11633
11634        We have a number of places where we pass around a FILE* as a target to which to print
11635        some logging information. But the purpose of passing FILE* instead of always assuming
11636        that we should dump to stderr is that it may be sometimes useful to send the logging
11637        information elsewhere. Unfortunately, FILE* isn't quite powerful enough: it's combersome
11638        to use it to send logging to a string, for example.
11639        
11640        We could get around this by using <iostream> and <sstream>, but so far this aspect of
11641        C++ has not been part of the WebKit coding conventions. Personally I find <iostream>
11642        awkward due to its abuse of operator overloading.
11643        
11644        So this patch introduces the PrintStream abstract class, which offers printf-like
11645        functionality while completely abstracting the destination and mechanism of the printing
11646        output. It would be trivial to implement a StringPrintStream, for example. This will feed
11647        into work on https://bugs.webkit.org/show_bug.cgi?id=102999.
11648        
11649        This also sets us up for creating templatized print() and println() methods that will
11650        allow us to say things like out.print("count = ", count, "\n"), but that is the topic
11651        of https://bugs.webkit.org/show_bug.cgi?id=103009.
11652        
11653        This patch also changes dataLog() to use FilePrintStream internally, and WTF::dataFile()
11654        now returns a FilePrintStream&. Any previous users of WTF::dataFile() have been changed
11655        to expect a PrintStream&.
11656
11657        * GNUmakefile.list.am:
11658        * WTF.pro:
11659        * WTF.vcproj/WTF.vcproj:
11660        * WTF.xcodeproj/project.pbxproj:
11661        * wtf/CMakeLists.txt:
11662        * wtf/DataLog.cpp:
11663        (WTF):
11664        (WTF::initializeLogFileOnce):
11665        (WTF::initializeLogFile):
11666        (WTF::dataFile):
11667        (WTF::dataLogV):
11668        (WTF::dataLogString):
11669        * wtf/DataLog.h:
11670        (WTF):
11671        * wtf/FilePrintStream.cpp: Added.
11672        (WTF):
11673        (WTF::FilePrintStream::FilePrintStream):
11674        (WTF::FilePrintStream::~FilePrintStream):
11675        (WTF::FilePrintStream::vprintf):
11676        (WTF::FilePrintStream::flush):
11677        * wtf/FilePrintStream.h: Added.
11678        (WTF):
11679        (FilePrintStream):
11680        (WTF::FilePrintStream::file):
11681        * wtf/PrintStream.cpp: Added.
11682        (WTF):
11683        (WTF::PrintStream::PrintStream):
11684        (WTF::PrintStream::~PrintStream):
11685        (WTF::PrintStream::printf):
11686        (WTF::PrintStream::print):
11687        (WTF::PrintStream::println):
11688        (WTF::PrintStream::flush):
11689        (WTF::print):
11690        * wtf/PrintStream.h: Added.
11691        (WTF):
11692        (PrintStream):
11693        (WTF::print):
11694        (WTF::println):
11695
116962012-11-23  Robert Kroeger  <rjkroege@chromium.org>
11697
11698        Remove unused ScrollByPixelVelocity
11699        https://bugs.webkit.org/show_bug.cgi?id=102840
11700
11701        Reviewed by Sam Weinig.
11702
11703        The GESTURE_ANIMATION feature turns on code in WebCore is unused.
11704        Remove it.
11705
11706        No new tests: code removal/cleanup.
11707
11708        * wtf/Platform.h:
11709
117102012-11-23  Laszlo Gombos  <l.gombos@samsung.com>
11711
11712        [EFL] Define WTF_PLATFORM_EFL in Platform.h
11713        https://bugs.webkit.org/show_bug.cgi?id=101482
11714
11715        Reviewed by Kenneth Rohde Christiansen.
11716
11717        Define WTF_PLATFORM_EFL in Platform.h to be consistent with 
11718        other ports.
11719
11720        * wtf/Platform.h:
11721
117222012-11-16  Yury Semikhatsky  <yurys@chromium.org>
11723
11724        Memory instrumentation: extract MemoryObjectInfo declaration into a separate file
11725        https://bugs.webkit.org/show_bug.cgi?id=102510
11726
11727        Reviewed by Pavel Feldman.
11728
11729        Moved MemoryObjectInfo into separate header. Moved definition of MemoryInstrumentation
11730        methods that depend on MemoryObjectInfo declaration into MemoryInstrumentation.cpp to
11731        make MemoryInstrumentation require only forward declaration of MemoryObjectInfo.
11732
11733        * GNUmakefile.list.am:
11734        * WTF.gypi:
11735        * WTF.pro:
11736        * WTF.vcproj/WTF.vcproj:
11737        * wtf/CMakeLists.txt:
11738        * wtf/MemoryInstrumentation.cpp: Added.
11739        (WTF):
11740        (WTF::MemoryInstrumentation::MemoryInstrumentation):
11741        (WTF::MemoryInstrumentation::~MemoryInstrumentation):
11742        (WTF::MemoryInstrumentation::getObjectType): this method allows to get object type without
11743        pulling in MemoryObjectInfo.h and all its dependencies.
11744        (WTF::MemoryInstrumentation::callReportObjectInfo):
11745        (WTF::MemoryInstrumentation::InstrumentedPointerBase::InstrumentedPointerBase):
11746        (WTF::MemoryInstrumentation::InstrumentedPointerBase::process):
11747        (WTF::MemoryClassInfo::init):
11748        (WTF::MemoryClassInfo::addRawBuffer):
11749        (WTF::MemoryClassInfo::addPrivateBuffer):
11750        * wtf/MemoryInstrumentation.h:
11751        (MemoryInstrumentation):
11752        (WTF::MemoryInstrumentation::addRootObject):
11753        (InstrumentedPointerBase):
11754        (WTF::MemoryInstrumentation::reportObjectMemoryUsage):
11755        (InstrumentedPointer):
11756        (WTF::MemoryInstrumentation::addObject): we now pass owner's MemoryObjectInfo in all places
11757        where we report objects pointed by the owner.
11758        (WTF::MemoryInstrumentation::OwningTraits::addObject):
11759        (WTF::MemoryClassInfo::MemoryClassInfo):
11760        (WTF::MemoryClassInfo::addMember):
11761        (MemoryClassInfo):
11762        (WTF::MemoryInstrumentation::addObjectImpl):
11763        (WTF::::InstrumentedPointer):
11764        (WTF::::callReportMemoryUsage):
11765        * wtf/MemoryObjectInfo.h: Added.
11766        (WTF):
11767        (MemoryObjectInfo):
11768        (WTF::MemoryObjectInfo::MemoryObjectInfo):
11769        (WTF::MemoryObjectInfo::objectType):
11770        (WTF::MemoryObjectInfo::objectSize):
11771        (WTF::MemoryObjectInfo::reportedPointer):
11772        (WTF::MemoryObjectInfo::memoryInstrumentation):
11773        (WTF::MemoryObjectInfo::reportObjectInfo):
11774
117752012-11-23  Krzysztof Czech  <k.czech@samsung.com>
11776
11777        [EFL] Platform support for Accessibility feature.
11778        https://bugs.webkit.org/show_bug.cgi?id=100848
11779
11780        Reviewed by Gyuyoung Kim.
11781
11782        Enable HAVE(ACCESSIBILITY) ifdefs so that EFL port can use it.
11783
11784        * wtf/Platform.h:
11785
117862012-11-22  Michael Saboff  <msaboff@apple.com>
11787
11788        HTML integer parsing functions don't natively handle 8 bit strings
11789        https://bugs.webkit.org/show_bug.cgi?id=102997
11790
11791        Reviewed by Filip Pizlo.
11792
11793        Added exports to the LChar* versions of charactersToIntStrict() and charactersToUIntStrict()
11794        to support the changes made to parseHTMLInteger() and parseHTMLNonNegativeInteger().
11795
11796        * wtf/text/WTFString.h:
11797        (WTF::charactersToIntStrict): Added export
11798        (WTF::charactersToUIntStrict): Added export
11799
118002012-11-21  Filip Pizlo  <fpizlo@apple.com>
11801
11802        Rename dataLog() and dataLogV() to dataLogF() and dataLogFV()
11803        https://bugs.webkit.org/show_bug.cgi?id=103001
11804
11805        Rubber stamped by Dan Bernstein.
11806
11807        * wtf/DataLog.cpp:
11808        (WTF::dataLogFV):
11809        (WTF::dataLogF):
11810        (WTF::dataLogFString):
11811        * wtf/DataLog.h:
11812        (WTF):
11813        * wtf/HashTable.cpp:
11814        (WTF::HashTableStats::dumpStats):
11815        * wtf/HashTable.h:
11816        (WTF::HashTable::Stats::dumpStats):
11817        * wtf/MetaAllocator.cpp:
11818        (WTF::MetaAllocator::dumpProfile):
11819        * wtf/StackStats.cpp:
11820        (WTF::StackStats::initialize):
11821        (WTF::StackStats::PerThreadStats::PerThreadStats):
11822        (WTF::StackStats::CheckPoint::CheckPoint):
11823        (WTF::StackStats::CheckPoint::~CheckPoint):
11824        (WTF::StackStats::probe):
11825        (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
11826        * wtf/text/WTFString.cpp:
11827        (String::show):
11828
118292012-11-21  Anthony G. Basile  <blueness@gentoo.org>
11830
11831        Source/WTF/wtf/Assertions.cpp: fix build on a uClibc system
11832        https://bugs.webkit.org/show_bug.cgi?id=102946
11833
11834        Reviewed by Tony Chang.
11835
11836        Webkit-Gtk fails to build on a uClibc system because
11837        Assertions.cpp assumes that all Linux systems have execinfo.h
11838        and provide backtrace(). This is not necessarily the case for
11839        uClibc which can be configured without these.  This patch
11840        refines the check for OS(LINUX) to prevent this breakage.
11841        Originally reported at https://bugs.gentoo.org/441674
11842
11843        * wtf/Assertions.cpp:
11844
118452012-11-19  Filip Pizlo  <fpizlo@apple.com>
11846
11847        DFG should be able to cache closure calls
11848        https://bugs.webkit.org/show_bug.cgi?id=102662
11849
11850        Reviewed by Gavin Barraclough.
11851
11852        Added support to the meta allocator for easily querying whether an address falls within
11853        a certain allocated chunk. Also added a useful debug routine to SentinelLinkedList,
11854        which can be used to check if a node is on a particular list.
11855
11856        * wtf/MetaAllocatorHandle.h:
11857        (MetaAllocatorHandle):
11858        (WTF::MetaAllocatorHandle::containsIntegerAddress):
11859        (WTF::MetaAllocatorHandle::contains):
11860        * wtf/SentinelLinkedList.h:
11861        (SentinelLinkedList):
11862        (WTF::::isOnList):
11863        (WTF):
11864
118652012-11-19  Laszlo Gombos  <l.gombos@samsung.com>
11866
11867        Remove ReadWriteLock
11868        https://bugs.webkit.org/show_bug.cgi?id=101637
11869
11870        Reviewed by Darin Adler.
11871
11872        Remove ReadWriteLock as it does not seems to be used.
11873
11874        * wtf/Platform.h: Remove the definition of HAVE_PTHREAD_RWLOCK.
11875
11876        * wtf/ThreadingPrimitives.h: Remove the PlatformReadWriteLock type 
11877        and the ReadWriteLock class.
11878
11879        * wtf/ThreadingPthreads.cpp: Remove the implementation of
11880        the ReadWriteLock class using pthreads.
11881
118822012-11-19  Brady Eidson  <beidson@apple.com>
11883
11884        Add 64-bit specializations for atomicIncrement and atomicDecrement
11885        https://bugs.webkit.org/show_bug.cgi?id=102702
11886
11887        Reviewed by Eric Carlson.
11888
11889        * wtf/Atomics.h:
11890        (WTF::atomicIncrement): Add A 64-bit version for Darwin.
11891        (WTF::atomicDecrement): Ditto.
11892
118932012-11-18  Laszlo Gombos  <l.gombos@samsung.com>
11894
11895        Remove non-existent directories from the make system
11896        https://bugs.webkit.org/show_bug.cgi?id=102632
11897
11898        Reviewed by Adam Barth.
11899
11900        Remove (non-existent) symbian references from the exclude list in gyp project files.
11901
11902        * WTF.gyp/WTF.gyp:
11903
119042012-11-16  Michael Saboff  <msaboff@apple.com>
11905
11906        String::fromUTF8() should take advantage of the ASCII check in convertUTF8ToUTF16()
11907        https://bugs.webkit.org/show_bug.cgi?id=100577
11908
11909        Reviewed by Oliver Hunt.
11910
11911        Passed in ASCII flag to convertUTF8ToUTF16() and if try, create an 8 bit string from the original arguments.
11912        Relanding after fix to https://bugs.webkit.org/show_bug.cgi?id=102482.
11913
11914        * wtf/text/WTFString.cpp:
11915        (WTF::String::fromUTF8):
11916
119172012-11-15  Yury Semikhatsky  <yurys@chromium.org>
11918
11919        Memory instrumentation: add code for reporting stack traces of unknown instrumented objects
11920        https://bugs.webkit.org/show_bug.cgi?id=102384
11921
11922        Reviewed by Pavel Feldman.
11923
11924        Added an option to collect stack traces for instrumented pointers so that they
11925        can be printed in case the check failed for the pointer. This code is hidden
11926        behind a define.
11927
11928        * wtf/MemoryInstrumentation.h:
11929        (MemoryInstrumentationClient):
11930        (WTF::MemoryInstrumentation::checkCountedObject): the method now returns false
11931        in case the check has failed.
11932        (InstrumentedPointer):
11933        (WTF::::InstrumentedPointer):
11934        (WTF):
11935        (WTF::::process):
11936
119372012-11-15  Mark Hahnenberg  <mhahnenberg@apple.com>
11938
11939        Windows Fibers can corrupt the cached StackBounds
11940        https://bugs.webkit.org/show_bug.cgi?id=102411
11941
11942        Reviewed by Geoffrey Garen.
11943
11944        Windows has support for something called fibers, which are like lightweight versions of 
11945        threads. Multiple fibers can run within the context of a single thread and they have access 
11946        to the same thread local storage but have different stacks. If we create a new JSGlobalContext 
11947        on one fiber, then switch to another fiber and create a JSGlobalContext there, we will call 
11948        initializeThreading() once for each new JSGlobalContext created. However, since these fibers 
11949        are technically running inside the same thread, they will clobber each other's wtfThreadData(), 
11950        which is stored using thread local storage. This can lead to corruption of the WTFThreadData 
11951        structure for the fibers other than the last one to create a new JSGlobalContext, including 
11952        the StackBounds data structure which is used during conservative scanning, among other things. 
11953        This can lead to crashes during garbage collection on Windows if fibers are used.
11954
11955        A quick fix would be to always get a fresh StackBounds data structure when asking for it 
11956        instead of using the cached version from the thread local storage. There is a larger problem 
11957        in that these fibers can corrupt other WebKit data that uses thread local storage. We'll leave 
11958        those theoretical fixes for future theoretical bugs.
11959
11960        * wtf/WTFThreadData.h:
11961        (WTF::WTFThreadData::stack): We now refresh the m_stackBounds field whenever somebody asks for 
11962        the StackBounds.
11963
119642012-11-15  Maciej Stachowiak  <mjs@apple.com>
11965
11966        Fix an erroneous comment about the operators required by binarySearch
11967        https://bugs.webkit.org/show_bug.cgi?id=102406
11968
11969        Reviewed by Anders Carlsson.
11970
11971        * wtf/StdLibExtras.h: binarySearch needs '==' and '<', not '--', '<' and '>'.
11972
119732012-11-14  Michael Saboff  <msaboff@apple.com>
11974
11975        String::append() should handle two 8 bit strings without converting both to 16 bits
11976        https://bugs.webkit.org/show_bug.cgi?id=102286
11977
11978        Reviewed by Oliver Hunt.
11979
11980        If both strings are 8 bit, then allocate and copy to a new 8 bit string.  Since most strings are
11981        8 bit, this will save up to 3x the resulting string length in bytes.  2x is due to the possible
11982        surviving 16 bit source string upconversion and 1x for the 16 bit result now being 8 bit.
11983
11984        * wtf/text/WTFString.cpp:
11985        (WTF::String::append):
11986
119872012-11-14  Csaba Osztrogonác  <ossy@webkit.org>
11988
11989        [Qt][ARM] Enable the DFG JIT on ARMv7(Thumb2)
11990        https://bugs.webkit.org/show_bug.cgi?id=101747
11991
11992        Reviewed by Simon Hausmann.
11993
11994        * wtf/Platform.h:
11995
119962012-11-13  Christophe Dumez  <christophe.dumez@intel.com>
11997
11998        Use prefix form of increment / decrement operators in WTF String classes when possible
11999        https://bugs.webkit.org/show_bug.cgi?id=101859
12000
12001        Reviewed by Benjamin Poulain.
12002
12003        Use prefix form of increment / decrement operators whenever possible in
12004        WTF String classes as this seems to be the convention in WebKit.
12005
12006        * wtf/text/ASCIIFastPath.h:
12007        (WTF::copyLCharsFromUCharSource):
12008        * wtf/text/AtomicString.cpp:
12009        (WTF::AtomicString::add):
12010        * wtf/text/Base64.cpp:
12011        (WTF::base64Encode):
12012        (WTF::base64DecodeInternal):
12013        * wtf/text/StringBuilder.cpp:
12014        (WTF::StringBuilder::allocateBufferUpConvert):
12015        * wtf/text/StringConcatenate.h:
12016        * wtf/text/StringImpl.cpp:
12017        (WTF::StringImpl::getData16SlowCase):
12018        (WTF::StringImpl::upconvertCharacters):
12019        (WTF::StringImpl::containsOnlyWhitespace):
12020        (WTF::StringImpl::lower):
12021        (WTF::StringImpl::upper):
12022        (WTF::StringImpl::foldCase):
12023        (WTF::StringImpl::stripMatchedCharacters):
12024        (WTF::StringImpl::removeCharacters):
12025        (WTF::StringImpl::simplifyMatchedCharactersToSpace):
12026        (WTF::reverseFindInner):
12027        (WTF::reverseFindIgnoringCaseInner):
12028        (WTF::StringImpl::replace):
12029        (WTF::StringImpl::createWithTerminatingNullCharacter):
12030        * wtf/text/StringImpl.h:
12031        (WTF::codePointCompare):
12032        * wtf/text/WTFString.cpp:
12033        (WTF::String::String):
12034        (WTF::toIntegralType):
12035
120362012-11-13  Ryosuke Niwa  <rniwa@webkit.org>
12037
12038        Build fix after r134490.
12039
12040        * wtf/FastMalloc.cpp:
12041
120422012-11-13  Brent Fulgham  <bfulgham@webkit.org> and Alex Christensen <alex.christensen@flexsim.com>
12043
12044        Fix FastMalloc.cpp compile error for MSVC in 64-bit.
12045        https://bugs.webkit.org/show_bug.cgi?id=88344
12046
12047        Reviewed by Ryosuke Niwa.
12048
12049        MSVC will not compile array declarations of zero size. The existing
12050        padding math for TCMalloc_Central_FreeListPadded would evaluate
12051        to zero on 64-bit machines, preventing the compile from finishing.
12052
12053        * wtf/FastMalloc.cpp:
12054        (TCMalloc_Central_FreeListPadded_Template): Add new template (and
12055        zero-size specialization) to provide proper behavior under 64-bit
12056        Windows build.
12057
120582012-11-13  Brent Fulgham <bfulgham@webkit.org> and Alex Christensen  <alex.christensen@flexsim.com>
12059
12060        FastMalloc.cpp needs to be reordered before padding bug can be fixed
12061        https://bugs.webkit.org/show_bug.cgi?id=89366
12062
12063        Note: This file violates Style rules.  This change only moves
12064        the TCMalloc_Central_FreeList class declaration and the various
12065        FastMallocZone methods earlier in the file.
12066
12067        Reviewed by Ryosuke Niwa.
12068
12069        * wtf/FastMalloc.cpp:
12070        Reordered definitions to prepare for adding specialized template
12071        (WTF):
12072        (TCMalloc_Central_FreeList):
12073        (WTF::TCMalloc_Central_FreeList::length):
12074        (WTF::TCMalloc_Central_FreeList::tc_length):
12075        (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects):
12076        (TCMalloc_Central_FreeListPadded):
12077        (FastMallocZone):
12078        (WTF::FastMallocZone::goodSize):
12079        (WTF::FastMallocZone::check):
12080        (WTF::FastMallocZone::print):
12081        (WTF::FastMallocZone::log):
12082        (WTF::FastMallocZone::forceLock):
12083        (WTF::FastMallocZone::forceUnlock):
12084        (WTF::FastMallocZone::statistics):
12085        (WTF::FastMallocZone::zoneValloc):
12086        (WTF::FastMallocZone::zoneDestroy):
12087        (WTF::KernelSupportsTLS):
12088        (WTF::CheckIfKernelSupportsTLS):
12089        (TCMalloc_ThreadCache):
12090
120912012-11-11  Kenichi Ishibashi  <bashi@chromium.org>
12092
12093        WTFString::utf8() should have a mode of conversion to use replacement character
12094        https://bugs.webkit.org/show_bug.cgi?id=101678
12095
12096        Reviewed by Alexander Pavlov.
12097
12098        Introduce conversion mode to String::utf8().
12099        There are three conversion modes; lenient mode, strict mode, and
12100        "replacing unpaired surrogates with the replacement character" (replacement) mode.
12101        Lenient mode converts unpaired surrogates. Strict mode fails when there is an unpaired
12102        surrogates and returns CString(). Replacement mode replaces unpaired surrogates with
12103        the replacement character(U+FFFD). Replacement mode implements the algorithm defined at
12104        http://dev.w3.org/2006/webapi/WebIDL/#dfn-obtain-unicode. WebSocket::send() requires
12105        this algorithm to encode a string to utf-8.
12106
12107        * wtf/text/WTFString.cpp:
12108        (WTF::String::utf8): Changed to take ConversionMode as the argument.
12109        * wtf/text/WTFString.h:
12110        (String):
12111
121122012-11-09  Alexei Filippov  <alph@chromium.org>
12113
12114        Web Inspector: Fix heap snapshots counted several times by NMI
12115        https://bugs.webkit.org/show_bug.cgi?id=101085
12116
12117        The fix moves snapshots size counting to V8PerIsolateData class. As long
12118        as it has one instance per isolate its reportMemoryUsage should be
12119        called once per isolate.
12120
12121        Reviewed by Yury Semikhatsky.
12122
12123        * wtf/MemoryInstrumentation.h:
12124        (WTF::MemoryClassInfo::addPrivateBuffer):
12125
121262012-11-08  Michael Saboff  <msaboff@apple.com>
12127
12128        HashAndUTF8CharactersTranslator should create an 8 bit string if possible
12129        https://bugs.webkit.org/show_bug.cgi?id=101515
12130
12131        Reviewed by Darin Adler.
12132
12133        Added isAllASCII flag that's passed to convertUTF8ToUTF16().  If on return it is true, create an
12134        8 bit string, otherwise use the 16 bit string.
12135
12136        * wtf/text/AtomicString.cpp:
12137        (WTF::HashAndUTF8CharactersTranslator::translate):
12138
121392012-11-08  Simon Hausmann  <simon.hausmann@digia.com>
12140
12141        [Qt] Fix build with MSVC 2012 and Angle
12142        https://bugs.webkit.org/show_bug.cgi?id=101588
12143
12144        Reviewed by Tor Arne Vestbø.
12145
12146        Angle includes STL's <memory> header file, which with MSVC 2012 includes stdint.h. MSVC 2012
12147        does ship stdint.h, but it's lacking other headers such as inttypes.h.
12148
12149        So for the rest of WebKit we have to continue to use our own versions of these files from
12150        JavaScriptCore/os-win32. But for Angle we are just including a shipped STL header file (memory)
12151        and so it's up to the compiler to make that work, i.e. using the stdint.h it ships.
12152
12153        This patch moves the addition of JavaScriptCore/os-win32 out of default_post.prf, so that it
12154        doesn't apply to each and every target anymore. In particular it won't apply to Angle anymore,
12155        because its presence causes a build issue where due to the addition of os-win32/ we end up
12156        including our own stdint.h but are lacking WTF/ to be in the include search path (which our own
12157        stdint.h requires). So out of default_post.prf and into WTF.pri, our own wrappers are now only
12158        used where WTF is also needed, and since os-win32/stdint.h depends on wtf/Platform.h, it seems
12159        like a logical location.
12160
12161        * WTF.pri:
12162
121632012-11-07  Hans Wennborg  <hans@chromium.org>
12164
12165        Fix asm operand type for weakCompareAndSwap on ARM_THUMB2
12166        https://bugs.webkit.org/show_bug.cgi?id=101238
12167
12168        Reviewed by Benjamin Poulain.
12169
12170        'result' was a bool, but the asm was expecting a 32-bit register. A
12171        recent version of Clang warned about this:
12172
12173          WebKit/Source/WTF/wtf/Atomics.h:163:34: error: the size being stored
12174          is truncated, use a modifier to specify the size [-Werror,-Wasm-operand-widths]
12175
12176        This patch fixes it by making 'result' an unsigned. It does not change
12177        the functionality in practice ('result' would be in a 32-bit register
12178        anyway), but it makes the code more correct and makes the warning go
12179        away.
12180
12181        Also make 'result' for the X86 version an 'unsigned char' to make it
12182        more clear that it is a byte.
12183
12184        * wtf/Atomics.h:
12185        (WTF::weakCompareAndSwap):
12186
121872012-11-07  Remy Demarest  <rdemarest@apple.com>
12188
12189        Function adoptNS and adoptCF should not generate memory leak diagnostic with Clang Static Analyzer.
12190        https://bugs.webkit.org/show_bug.cgi?id=101420
12191
12192        Reviewed by Benjamin Poulain.
12193
12194        Add attributes to the adoptNS and adoptCF function arguments to remove Clang Static Analyzer diagnotics.
12195        Define CF_RELEASES_ARGUMENT and NS_RELEASES_ARGUMENT if not available, use them in function declarations.
12196
12197        * wtf/RetainPtr.h:
12198        (WTF::adoptCF): Adds CF_RELEASES_ARGUMENT attribute to the argument.
12199        (WTF::adoptNS): Adds NS_RELEASES_ARGUMENT attribute to the argument.
12200
122012012-11-07  Christophe Dumez  <christophe.dumez@intel.com>
12202
12203        Add replaceWithLiteral() method to WTF::String
12204        https://bugs.webkit.org/show_bug.cgi?id=101257
12205
12206        Reviewed by Benjamin Poulain.
12207
12208        Add replaceWithLiteral() method to WTF::String that takes
12209        replacement string as a literal to avoid uselessly constructing
12210        a String object.
12211
12212        * wtf/text/StringImpl.cpp:
12213        (WTF::StringImpl::replace):
12214        (WTF):
12215        * wtf/text/StringImpl.h:
12216        (WTF::StringImpl::replace):
12217        (StringImpl):
12218        * wtf/text/WTFString.h:
12219        (String):
12220        (WTF::String::replaceWithLiteral):
12221
122222012-11-06  Michael Saboff  <msaboff@apple.com>
12223
12224        StringBuilder::append(UChar) with an 8 bit quantity shouldn't change the contents to 16 bits
12225        https://bugs.webkit.org/show_bug.cgi?id=101421
12226
12227        Reviewed by Anders Carlsson.
12228
12229        If the string builder contains only 8 bit data, check if the character being appended contains
12230        8 bit data.  If so, append it to the 8 bit buffer instead of converting the buffer to 16 bits.
12231
12232        * wtf/text/StringBuilder.cpp:
12233        (WTF::StringBuilder::append):
12234        * wtf/text/StringBuilder.h:
12235        (WTF::StringBuilder::append):
12236
122372012-11-06  Benjamin Poulain  <benjamin@webkit.org>
12238
12239        Speed up TransformationMatrix::multiply() on modern ARM
12240        https://bugs.webkit.org/show_bug.cgi?id=101084
12241
12242        Reviewed by Gavin Barraclough.
12243
12244        * wtf/Platform.h:
12245        Add CPU(ARM_VFP) for detecting VFP availability.
12246        Add CPU(APPLE_ARMV7S) for the Apple ARMv7S architecture.
12247
122482012-11-06  Laszlo Gombos  <l.gombos@samsung.com>
12249
12250        Refactor setting TEXTURE_MAPPER_GL
12251        https://bugs.webkit.org/show_bug.cgi?id=99758
12252
12253        Reviewed by Noam Rosenthal.
12254
12255        Make the rule that sets the default for USE(3D_GRAPHICS) port independent.
12256
12257        If not set, set USE(TEXTURE_MAPPER_GL) when USE(TEXTURE_MAPPER) and 
12258        USE(3D_GRAPHICS) is enabled.
12259
12260        * wtf/Platform.h:
12261
122622012-11-05  Philip Rogers  <pdr@google.com>
12263
12264        Unblock SVG external references
12265        https://bugs.webkit.org/show_bug.cgi?id=100635
12266
12267        Reviewed by Adam Barth.
12268
12269        This patch reverts r132849 and r132869 because the potential XSS issue
12270        turned out to not be an issue after all.
12271
12272        Covered by existing tests, many of which are re-whitelisted with this patch.
12273
12274        * wtf/Platform.h:
12275
122762012-11-05  Dima Gorbik  <dgorbik@apple.com>
12277
12278        Back out controversial changes from Bug 98665.
12279        https://bugs.webkit.org/show_bug.cgi?id=101244
12280
12281        Reviewed by David Kilzer.
12282
12283        Backing out changes from Bug 98665 until further discussions take place on rules for including Platform.h in Assertions.h.
12284
12285        * wtf/Assertions.h:
12286
122872012-11-03  Alexey Proskuryakov  <ap@apple.com>
12288
12289        Get rid of USE(CFURLSTORAGESESSIONS)
12290        https://bugs.webkit.org/show_bug.cgi?id=101131
12291
12292        Reviewed by Sam Weinig.
12293
12294        * wtf/Platform.h:
12295
122962012-11-02  Ilya Tikhonovsky  <loislo@chromium.org>
12297
12298        Web Inspector: NMI instrument NodeRareData::Map. It uses ~250k on nytimes.com
12299        https://bugs.webkit.org/show_bug.cgi?id=101052
12300
12301        Reviewed by Yury Semikhatsky.
12302
12303        I noticed that in many cases cache structures are plain static HashMap, HashSet etc.
12304        MemoryAgent can visit it but instrumentation for these containers report no objectType.
12305        It means that addRootObject method needs to accept objectType property as an argument.
12306        Otherwise I would have had to create a proxy class with proper objectType.
12307
12308        * wtf/MemoryInstrumentation.h:
12309        (WTF::MemoryInstrumentation::addRootObject):
12310
123112012-11-01  Kent Tamura  <tkent@chromium.org>
12312
12313        Introduce ENABLE_DATE_AND_TIME_INPUT_TYPES, and clarify usage of other related flags
12314        https://bugs.webkit.org/show_bug.cgi?id=101007
12315
12316        Reviewed by Kentaro Hara.
12317
12318        * wtf/Platform.h:
12319        Add ENABLE_DATE_AND_TIME_INPUT_TYPES.  It's a union of
12320        ENABLE_INPUT_TYPE_{DATE,DATETIME,DATETIMELOCAL,MONTH,TIME,WEEK}.
12321
123222012-11-01  Yury Semikhatsky  <yurys@chromium.org>
12323
12324        Memory instrumentation: do not call checkCountedObject with wrong pointers
12325        https://bugs.webkit.org/show_bug.cgi?id=100958
12326
12327        Reviewed by Alexander Pavlov.
12328
12329        Removed calls to checkCountedObject from places where the pointer may contain
12330        an address of a base class which may differ from the actual object pointer. Instead
12331        checkCountedObject is only called right after processing deferred pointer where
12332        we know real address.
12333
12334        * wtf/MemoryInstrumentation.h:
12335        (WTF::MemoryInstrumentation::addObjectImpl):
12336        (WTF::::process):
12337
123382012-11-01  Alexey Proskuryakov  <ap@apple.com>
12339
12340        Rename HAVE(NETWORK_CFDATA_ARRAY_CALLBACK) to USE(NETWORK_CFDATA_ARRAY_CALLBACK)
12341
12342        Rubber-stamped by Joe Pecoraro.
12343
12344        All CFNetwork based platforms have this now, but not all use it at the moment.
12345
123462012-11-01  Alexey Proskuryakov  <ap@apple.com>
12347
12348        Fix HAVE(NETWORK_CFDATA_ARRAY_CALLBACK) build
12349        https://bugs.webkit.org/show_bug.cgi?id=100979
12350
12351        Reviewed by Joseph Pecoraro.
12352
12353        * wtf/Platform.h: Added a FIXME about HAVE(NETWORK_CFDATA_ARRAY_CALLBACK).
12354
123552012-11-01  Yury Semikhatsky  <yurys@chromium.org>
12356
12357        Memory instrumentation: report memory occupied by ResourceRequest instead of its base ResourceRequestBase
12358        https://bugs.webkit.org/show_bug.cgi?id=100497
12359
12360        Reviewed by Alexander Pavlov.
12361
12362        * wtf/MemoryInstrumentation.h:
12363        (WTF::MemoryClassInfo::addPrivateBuffer): do not report memory usage for empty buffer.
12364
123652012-10-31  Anders Carlsson  <andersca@apple.com>
12366
12367        Fix build.
12368        <rdar://problem/12612207>.
12369
12370        Reviewed by Sam Weinig.
12371
12372        * wtf/CheckedArithmetic.h:
12373
123742012-10-31  Benjamin Poulain  <bpoulain@apple.com>
12375
12376        Add an optimized version of copyLCharsFromUCharSource for ARM
12377        https://bugs.webkit.org/show_bug.cgi?id=94886
12378
12379        Reviewed by Gavin Barraclough.
12380
12381        Michael Saboff added a SIMD version of copyLCharsFromUCharSource() in r125846.
12382
12383        This patch a similar optimization for ARMv7 by using the interleaved load/store available
12384        in the NEON extension.
12385
12386        The performance gains:
12387        -10000 characters: ~3.5 times faster.
12388        -20 characters (2 vectors): ~55% faster.
12389        -15 characters (1 vector): ~21% faster.
12390        -3 characters (no vector, pure overhead): ~10% slower.
12391
12392        * wtf/text/ASCIIFastPath.h:
12393        (WTF::copyLCharsFromUCharSource):
12394
123952012-10-31  Christophe Dumez  <christophe.dumez@intel.com>
12396
12397        [EFL][WK2][AC] Use smart pointers for Evas_GL types
12398        https://bugs.webkit.org/show_bug.cgi?id=100745
12399
12400        Reviewed by Kenneth Rohde Christiansen.
12401
12402        Make OwnPtr usable with Evas_GL type to avoid handling
12403        raw pointers in EFL port.
12404
12405        * wtf/OwnPtrCommon.h:
12406        (WTF):
12407        * wtf/efl/OwnPtrEfl.cpp:
12408        (WTF):
12409        (WTF::deleteOwnedPtr):
12410
124112012-10-29  Anders Carlsson  <andersca@apple.com>
12412
12413        Build WebKit as C++11 on Mac
12414        https://bugs.webkit.org/show_bug.cgi?id=100720
12415
12416        Reviewed by Daniel Bates.
12417
12418        * Configurations/Base.xcconfig:
12419        Add CLANG_CXX_LANGUAGE_STANDARD=gnu++0x.
12420
12421        * wtf/text/AtomicString.cpp:
12422        (WTF::AtomicString::add):
12423        Change the type of length to be unsigned to prevent implicit type conversions in non-constant initializer lists.
12424
12425        * wtf/unicode/UTF8.cpp:
12426        (Unicode):
12427        Add static_casts to prevent implicit type conversions in non-constant initializer lists.
12428
124292012-10-29  Anders Carlsson  <andersca@apple.com>
12430
12431        String::createCFString should return a RetainPtr
12432        https://bugs.webkit.org/show_bug.cgi?id=100419
12433
12434        Reviewed by Andreas Kling.
12435
12436        Make String::createCFString and StringImpl::createCFString return RetainPtrs.
12437
12438        * wtf/text/AtomicString.h:
12439        * wtf/text/StringImpl.h:
12440        * wtf/text/WTFString.h:
12441
124422012-10-30  Mark Rowe  <mrowe@apple.com>
12443
12444        Fix WTF to not install a few header files in bogus locations.
12445
12446        * WTF.xcodeproj/project.pbxproj:
12447
124482012-10-28  Mark Rowe  <mrowe@apple.com>
12449
12450        Simplify Xcode configuration settings that used to vary between OS versions.
12451
12452        Reviewed by Dan Bernstein.
12453
12454        * Configurations/Base.xcconfig:
12455        * Configurations/DebugRelease.xcconfig:
12456
124572012-10-28  Mark Rowe  <mrowe@apple.com>
12458
12459        Remove references to unsupported OS and Xcode versions.
12460
12461        Reviewed by Anders Carlsson.
12462
12463        * Configurations/Base.xcconfig:
12464        * Configurations/CompilerVersion.xcconfig: Removed.
12465        * Configurations/DebugRelease.xcconfig:
12466        * WTF.xcodeproj/project.pbxproj:
12467
124682012-10-29  Anders Carlsson  <andersca@apple.com>
12469
12470        AtomicString(CFStringRef) shouldn't unconditionally create a StringImpl
12471        https://bugs.webkit.org/show_bug.cgi?id=100701
12472
12473        Reviewed by Dan Bernstein.
12474
12475        * wtf/text/AtomicString.h:
12476        (WTF::AtomicString::AtomicString):
12477        Change the constructors that take a CFStringRef and an NSString * to call AtomicString::add(CFStringRef)
12478        and remove AtomicString::createCFString.
12479
12480        (WTF::AtomicString::add):
12481        Add new member function declaration. The definition is in a new file in WebCore, AtomicStringCF.cpp.
12482        Also, fix the overload of add that takes a const char* to call the right other overload instead of itself.
12483
124842012-10-29  Adam Barth  <abarth@webkit.org>
12485
12486        Unreviewed. Correct my previous patch to disable external SVG
12487        references only on PLATFORM(CHROMIUM).
12488
12489        * wtf/Platform.h:
12490
124912012-10-29  Adam Barth  <abarth@webkit.org>
12492
12493        Block SVG external references pending a security review
12494        https://bugs.webkit.org/show_bug.cgi?id=100635
12495
12496        Reviewed by Eric Seidel.
12497
12498        We need to do a security review of loading external SVG references
12499        before we're sure that it is safe.
12500
12501        * wtf/Platform.h:
12502
125032012-10-29  Michael Saboff  <msaboff@apple.com>
12504
12505        String::split(UChar, Vector<String>&) shouldn't create a temporary String
12506        https://bugs.webkit.org/show_bug.cgi?id=100578
12507
12508        Reviewed by Anders Carlsson.
12509
12510        Changed split(UChar, Vector<String>&) to call split(UChar, bool, Vector<String>&) instead of creating a
12511        string and calling the split(String,...) version and moved it to WTFString.h.  Also moved
12512        split(const String& separator, Vector<String>& result) to WTFString.h.
12513
12514        * wtf/text/WTFString.cpp:
12515        (WTF::String::split):
12516        * wtf/text/WTFString.h:
12517        (WTF::String::split):
12518
125192012-10-29  Sheriff Bot  <webkit.review.bot@gmail.com>
12520
12521        Unreviewed, rolling out r132736.
12522        http://trac.webkit.org/changeset/132736
12523        https://bugs.webkit.org/show_bug.cgi?id=100652
12524
12525        It broke all plugin related tests on GTK and on Qt (Requested
12526        by Ossy on #webkit).
12527
12528        * wtf/text/WTFString.cpp:
12529        (WTF::String::fromUTF8):
12530
125312012-10-27  Michael Saboff  <msaboff@apple.com>
12532
12533        Try to create AtomicString as 8 bit where possible
12534        https://bugs.webkit.org/show_bug.cgi?id=100575
12535
12536        Reviewed by Oliver Hunt.
12537
12538        Added StringImpl::create8BitIfPossible() that first tries to create an 8 bit string.  If it finds a 16 bit character
12539        during processing, it calls the standard create() method.  The assumption is that this will be used on mostly 8 bit
12540        strings and ones that are shorter (in the tens of characters).  Changed AtomicString to use the new creation method
12541        for UChar based construction.
12542
12543        * wtf/text/AtomicString.cpp:
12544        (WTF::UCharBufferTranslator::translate):
12545        * wtf/text/StringImpl.cpp:
12546        (WTF::StringImpl::create8BitIfPossible):
12547        * wtf/text/StringImpl.h:
12548        (WTF::StringImpl::create8BitIfPossible):
12549
125502012-10-27  Michael Saboff  <msaboff@apple.com>
12551
12552        String::fromUTF8() should take advantage of the ASCII check in convertUTF8ToUTF16()
12553        https://bugs.webkit.org/show_bug.cgi?id=100577
12554
12555        Reviewed by Oliver Hunt.
12556
12557        Passed is ASCII flag to convertUTF8ToUTF16() and if try, create an 8 bit string from the original arguments.
12558
12559        * wtf/text/WTFString.cpp:
12560        (WTF::String::fromUTF8):
12561
125622012-10-27  Dan Bernstein  <mitz@apple.com>
12563
12564        REAL_PLATFORM_NAME build setting is no longer needed
12565        https://bugs.webkit.org/show_bug.cgi?id=100587
12566
12567        Reviewed by Mark Rowe.
12568
12569        Removed the definition of REAL_PLATFORM_NAME and replaced references to it with references
12570        to PLATFORM_NAME.
12571
12572        * Configurations/Base.xcconfig:
12573        * Configurations/CompilerVersion.xcconfig:
12574        * Configurations/DebugRelease.xcconfig:
12575
125762012-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
12577
12578        Unreviewed, rolling out r132689.
12579        http://trac.webkit.org/changeset/132689
12580        https://bugs.webkit.org/show_bug.cgi?id=100574
12581
12582        Broke HashMaps containing RetainPtrs (Requested by andersca on
12583        #webkit).
12584
12585        * wtf/RetainPtr.h:
12586
125872012-10-26  Anders Carlsson  <andersca@apple.com>
12588
12589        Add an operator& to RetainPtr
12590        https://bugs.webkit.org/show_bug.cgi?id=100549
12591
12592        Reviewed by Dan Bernstein.
12593
12594        This is useful for APIs that return references using out parameters.
12595
12596        * wtf/RetainPtr.h:
12597        (WTF::RetainPtr::operator&):
12598
125992012-10-26  Gabor Ballabas  <gaborb@inf.u-szeged.hu>
12600
12601        [Qt] Enable JSC's disassembler on x86, x86_64 Linux
12602        https://bugs.webkit.org/show_bug.cgi?id=100386
12603
12604        Reviewed by Simon Hausmann.
12605
12606        It works fine on Linux x86, x86_64 just needs to be enabled in the
12607        QtWebKit build system.
12608
12609        * wtf/Platform.h:
12610
126112012-10-25  Michael Saboff  <msaboff@apple.com>
12612
12613        REGRESSION (r131836): failures in list styles tests on EFL, GTK
12614        https://bugs.webkit.org/show_bug.cgi?id=99824
12615
12616        Reviewed by Oliver Hunt.
12617
12618        Fixed ASCII check.
12619        Added placeholder argument for new argument added to convertUTF8ToUTF16() in http://trac.webkit.org/changeset/131836.
12620
12621        * wtf/unicode/UTF8.cpp:
12622        (WTF::Unicode::convertUTF8ToUTF16):
12623        * wtf/unicode/glib/UnicodeGLib.cpp:
12624        (WTF::Unicode::convertCase):
12625
126262012-10-25  Christophe Dumez  <christophe.dumez@intel.com>
12627
12628        [EFL][WK2] Remove some C'ism from EwkView
12629        https://bugs.webkit.org/show_bug.cgi?id=100370
12630
12631        Reviewed by Kenneth Rohde Christiansen.
12632
12633        Make OwnPtr useable for Ecore_IMF_Context to avoid
12634        using raw pointers in EFL port.
12635
12636        * wtf/OwnPtrCommon.h:
12637        (WTF):
12638        * wtf/PlatformEfl.cmake:
12639        * wtf/efl/OwnPtrEfl.cpp:
12640        (WTF::deleteOwnedPtr):
12641        (WTF):
12642
126432012-09-27  Yury Semikhatsky  <yurys@chromium.org>
12644
12645        Web Inspector: provide memory instrumentation for ListHashSet
12646        https://bugs.webkit.org/show_bug.cgi?id=97786
12647
12648        Reviewed by Vsevolod Vlasov.
12649
12650        Added memory instrumentation for ListHashSet.
12651
12652        * GNUmakefile.list.am:
12653        * WTF.gypi:
12654        * WTF.pro:
12655        * WTF.vcproj/WTF.vcproj:
12656        * WTF.xcodeproj/project.pbxproj:
12657        * wtf/HashSet.h:
12658        (WTF):
12659        * wtf/ListHashSet.h:
12660        (ListHashSet):
12661        (ListHashSetNodeAllocator): changed visibility of inPool method to public
12662        (WTF::ListHashSetNodeAllocator::pool):
12663        (WTF::ListHashSetNodeAllocator::pastPool):
12664        (WTF::::sizeInBytes): added a method that returns size of the set in bytes including
12665        all its internals but not the content elements.
12666        (WTF):
12667        * wtf/MemoryInstrumentation.h: removed onsolete method. All clients were updated to
12668        use generic addMember instead.
12669        (MemoryInstrumentation):
12670        (WTF::MemoryClassInfo::addPrivateBuffer):
12671        * wtf/MemoryInstrumentationHashSet.h:
12672        * wtf/MemoryInstrumentationListHashSet.h: Copied from Source/WTF/wtf/MemoryInstrumentationHashSet.h.
12673        (WTF):
12674        (WTF::reportMemoryUsage):
12675
126762012-10-23  Benjamin Poulain  <benjamin@webkit.org>
12677
12678        WTFURL: Implement KURL::setPort()
12679        https://bugs.webkit.org/show_bug.cgi?id=99898
12680
12681        Reviewed by Adam Barth.
12682
12683        Add an efficient implementation for remplacing the port component
12684        in an URL. This will be the base for replacing other components
12685        efficiently.
12686
12687        The testing is covered by fast/dom/HTMLAnchorElement/set-href-attribute-port.html
12688
12689        * wtf/url/api/ParsedURL.cpp:
12690        (WTF::generateNewSpecWithPort):
12691        (WTF::replacePortWithString):
12692        (WTF::ParsedURL::replacePort):
12693        * wtf/url/api/ParsedURL.h:
12694        (ParsedURL):
12695
126962012-10-22  Michael Saboff  <msaboff@apple.com>
12697
12698        Regression(r131655): Crash in StringImpl::findIgnoringCase
12699        https://bugs.webkit.org/show_bug.cgi?id=99753
12700
12701        Reviewed by Geoffrey Garen.
12702
12703        Fixed to use the searchLength to take into account the start index.
12704
12705        Added LayoutTests/fast/js/find-ignoring-case-regress-99753.html
12706
12707        * wtf/text/StringImpl.cpp:
12708        (WTF::StringImpl::findIgnoringCase):
12709
127102012-10-22  Simon Hausmann  <simon.hausmann@digia.com>
12711
12712        Unreviewed: Re-enable LLINT on Qt/Linux after r131932.
12713
12714        * wtf/Platform.h:
12715
127162012-10-22  Yury Semikhatsky  <yurys@chromium.org>
12717
12718        Web Inspector: do not double count memory of objects with multiple ancestors
12719        https://bugs.webkit.org/show_bug.cgi?id=99958
12720
12721        Reviewed by Alexander Pavlov.
12722
12723        Make sure memory occupied by objects of classes with multiple inheritance is
12724        not double counted.
12725
12726        * wtf/MemoryInstrumentation.h:
12727        (WTF::MemoryObjectInfo::MemoryObjectInfo):
12728        (WTF::MemoryObjectInfo::reportedPointer):
12729        (WTF::MemoryObjectInfo::reportObjectInfo): 1) Store actual pointer to the instrumented
12730        object as it may differ from the original pointer by which it was reported. 2) Make
12731        the method non-template and calculate object size on the caller side.
12732        (MemoryObjectInfo):
12733        (WTF::MemoryInstrumentation::reportObjectMemoryUsage):
12734        (WTF::MemoryClassInfo::MemoryClassInfo):
12735        (WTF::MemoryInstrumentation::InstrumentedPointer::process): use adjusted pointer
12736        returned by reportMemoryUsage to check if the object has already been visited when
12737        the pointer differs from the orinal one(it may happen if the object was reported
12738        by a pointer to one of its base classes).
12739
127402012-10-20  Martin Robinson  <mrobinson@igalia.com>
12741
12742        Fix 'make dist' for the GTK+ port
12743
12744        * GNUmakefile.list.am: Add missing files to the source list.
12745
127462012-10-19  Mark Lam  <mark.lam@apple.com>
12747
12748        Added WTF::StackStats mechanism.
12749        https://bugs.webkit.org/show_bug.cgi?id=99805.
12750
12751        Reviewed by Geoffrey Garen.
12752
12753        Disabled by default. Should have no performance and memory cost when
12754        disabled. To enable, #define ENABLE_STACK_STATS 1 in StackStats.h.
12755        The output is currently hardcoded to be dumped in /tmp/stack-stats.log,
12756        and is in the form of stack sample events. By default, it only logs
12757        a sample event when a new high watermark value is encountered.
12758
12759        Also renamed StackBounds::recursiveCheck() to isSafeToRecurse().
12760
12761        * WTF.xcodeproj/project.pbxproj:
12762        * wtf/StackBounds.h:
12763        (StackBounds):
12764        (WTF::StackBounds::size):
12765        (WTF::StackBounds::isSafeToRecurse):
12766        * wtf/StackStats.cpp: Added.
12767        (WTF):
12768        (WTF::StackStats::initialize):
12769        (WTF::StackStats::PerThreadStats::PerThreadStats):
12770        (WTF::StackStats::CheckPoint::CheckPoint):
12771        (WTF::StackStats::CheckPoint::~CheckPoint):
12772        (WTF::StackStats::probe):
12773        (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
12774        (WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint):
12775        * wtf/StackStats.h: Added.
12776        (WTF):
12777        (StackStats):
12778        (CheckPoint):
12779        (WTF::StackStats::CheckPoint::CheckPoint):
12780        (PerThreadStats):
12781        (WTF::StackStats::PerThreadStats::PerThreadStats):
12782        (LayoutCheckPoint):
12783        (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
12784        (WTF::StackStats::initialize):
12785        (WTF::StackStats::probe):
12786        * wtf/ThreadingPthreads.cpp:
12787        (WTF::initializeThreading):
12788        * wtf/WTFThreadData.cpp:
12789        (WTF::WTFThreadData::WTFThreadData):
12790        * wtf/WTFThreadData.h:
12791        (WTFThreadData):
12792        (WTF::WTFThreadData::stackStats):
12793
127942012-10-19  Anders Carlsson  <andersca@apple.com>
12795
12796        Deque can use std::reverse_iterator for its reverse iterators
12797        https://bugs.webkit.org/show_bug.cgi?id=99789
12798
12799        Reviewed by Andreas Kling.
12800
12801        Remove DequeReverseIterator and DequeConstReverseIterator and just use std::reverse_iterator directly.
12802        Also, remove the DequeIteratorBase<T, inlineCapacity> to Base typedef - We can already use DequeIteratorBase since it's
12803        equivalent to the full class template type.
12804
12805        * wtf/Deque.h:
12806        (WTF::Deque::rbegin):
12807        (WTF::Deque::rend):
12808        (DequeIteratorBase):
12809        (WTF::DequeIteratorBase::assign):
12810        (DequeIterator):
12811        (DequeConstIterator):
12812        (WTF::::checkValidity):
12813        (WTF::::DequeIteratorBase):
12814        (WTF::=):
12815        (WTF::::isEqual):
12816
128172012-10-19  Csaba Osztrogonác  <ossy@webkit.org>
12818
12819        Unreviewed buildfix, use C-style comment instead of C++
12820
12821        * wtf/Platform.h:
12822
128232012-10-19  Csaba Osztrogonác  <ossy@webkit.org>
12824
12825        REGRESSION(r131822): It made 500+ tests crash on 32 bit platforms
12826        https://bugs.webkit.org/show_bug.cgi?id=99814
12827
12828        Reviewed by Simon Hausmann.
12829
12830        * wtf/Platform.h: Disable LLINT on (PLATFORM(QT) && CPU(X86)) temporarily until proper fix.
12831
128322012-10-17  Ilya Tikhonovsky  <loislo@chromium.org>
12833
12834        Web Inspector: NMI provide data for mixing with tcmalloc heap dumps.
12835        https://bugs.webkit.org/show_bug.cgi?id=99457
12836
12837        Reviewed by Yury Semikhatsky.
12838
12839        countObjectSize now accepts ptr as the first argument and saves it into HashMap if the binary was ran with HEAPPROFILE env variable.
12840        getProcessMemoryDistribution does snapshot and calls the downstream code with the map of counted objects.
12841
12842        * wtf/MemoryInstrumentation.h:
12843        (MemoryInstrumentationClient):
12844        (WTF::MemoryInstrumentation::countObjectSize):
12845        (WTF::MemoryInstrumentation::addRawBuffer):
12846        (WTF::MemoryClassInfo::addPrivateBuffer):
12847        (WTF::MemoryInstrumentation::addObjectImpl):
12848        (WTF::MemoryInstrumentation::addListHashSet):
12849        (WTF::::process):
12850
128512012-10-18  Michael Saboff  <msaboff@apple.com>
12852
12853        convertUTF8ToUTF16() Should Check for ASCII Input
12854        ihttps://bugs.webkit.org/show_bug.cgi?id=99739
12855
12856        Reviewed by Geoffrey Garen.
12857
12858        Added code to accumulate the "or" of all characters seen during the UTF8 to UTF16 conversion.  This is
12859        used to check to see if all characters are ASCII and is returned via a bool*.
12860
12861        * wtf/unicode/UTF8.cpp:
12862        (WTF::Unicode::convertUTF8ToUTF16):
12863        * wtf/unicode/UTF8.h:
12864
128652012-10-18  Michael Saboff  <msaboff@apple.com>
12866
12867        Mac WTF build checks dependencies before copying header files
12868        https://bugs.webkit.org/show_bug.cgi?id=99770
12869
12870        Reviewed by Mark Rowe.
12871
12872        Fixed up build rules per Mark Rowe. Made new target an Aggregate and removed "WTF copy".
12873
12874        * Configurations/CopyWTFHeaders.xcconfig: Added.
12875        * Configurations/WTF.xcconfig:
12876        * WTF.xcodeproj/project.pbxproj:
12877
128782012-10-18  Michael Saboff  <msaboff@apple.com>
12879
12880        Mac WTF build checks dependencies before copying header files
12881        https://bugs.webkit.org/show_bug.cgi?id=99770
12882
12883        Reviewed by Geoffrey Garen.
12884
12885        Added a new build target "Copy WTF HEaders" to copy the header files and made that new target a dependency
12886        for the main WTF build target.  Moved the "Copy WTF Headers" phase from WTF target to the new target.
12887
12888        * WTF.xcodeproj/project.pbxproj:
12889
128902012-10-17  Anders Carlsson  <andersca@apple.com>
12891
12892        Clean up Vector.h
12893        https://bugs.webkit.org/show_bug.cgi?id=99622
12894
12895        Reviewed by Benjamin Poulain.
12896
12897        Remove unused member functions from Vector and get rid of the std::max and std::min using declarations
12898        (as per the WebKit coding style guidelines).
12899
12900        * WTF.xcodeproj/project.pbxproj:
12901        Turns out StreamBuffer.h was never added to the Xcode project; add it. Also go ahead and sort the project file.
12902
12903        * wtf/Deque.h:
12904        (WTF::::expandCapacity):
12905        * wtf/StreamBuffer.h:
12906        (WTF::StreamBuffer::append):
12907        Add std:: prefixes to max and min.
12908
12909        * wtf/Vector.h:
12910        Remove VectorBase::bufferSlot(), VectorReverseProxy and add std:: prefixes where needed.
12911
129122012-10-17  Michael Saboff  <msaboff@apple.com>
12913
12914        Creating a String from an NSString should check for all 8 bit strings
12915        https://bugs.webkit.org/show_bug.cgi?id=99392
12916
12917        Reviewed by Geoffrey Garen.
12918
12919        Exported the LChar* version of create().
12920
12921        * wtf/text/StringImpl.cpp:
12922        (WTF::StringImpl::create):
12923
129242012-10-17  Michael Saboff  <msaboff@apple.com>
12925
12926        StringImpl::findIgnoringCase() and reverseFindIgnoringCase() don't optimally handle a mix of 8 and 16 bit strings
12927        https://bugs.webkit.org/show_bug.cgi?id=99224
12928
12929        Reviewed by Geoffrey Garen.
12930
12931        Added helper templated functions and all four combinations similar to find() and reverseFind().
12932
12933        (WTF::findIgnoringCaseInner):
12934        (WTF::StringImpl::findIgnoringCase):
12935        (WTF::reverseFindIgnoringCaseInner):
12936        (WTF::StringImpl::reverseFindIgnoringCase):
12937
129382012-10-17  Michael Saboff  <msaboff@apple.com>
12939
12940        AtomicString::HashAndUTF8CharactersTranslator::equal() doesn't optimally handle 8 bit strings
12941        https://bugs.webkit.org/show_bug.cgi?id=99223
12942
12943        Reviewed by Geoffrey Garen.
12944
12945        Added an 8 bit path.
12946
12947        * wtf/text/AtomicString.cpp:
12948        (WTF::HashAndUTF8CharactersTranslator::equal):
12949
129502012-10-17  Anders Carlsson  <andersca@apple.com>
12951
12952        Always use fastRealloc when growing or shrinking the Vector buffer
12953        https://bugs.webkit.org/show_bug.cgi?id=99616
12954
12955        Reviewed by Andreas Kling.
12956
12957        Remove the pointless #if PLATFORM(BLACKBERRY) and always try to use fastRealloc to grow or shrink the
12958        vector buffer when possible; realloc should always be at least as fast as free+malloc.
12959
12960        * wtf/Vector.h:
12961        (WTF::VectorBufferBase::shouldReallocateBuffer):
12962
129632012-10-16  Michael Saboff  <msaboff@apple.com>
12964
12965        Change WTF_USE_8BIT_TEXTRUN to ENABLE_8BIT_TEXTRUN
12966        https://bugs.webkit.org/show_bug.cgi?id=99484
12967
12968        Reviewed by Eric Seidel.
12969
12970        Changed macro name to align with it's purpose.
12971
12972        * wtf/Platform.h:
12973
129742012-10-16  Michael Saboff  <msaboff@apple.com>
12975
12976        StringImpl::reverseFind() with a single match character isn't optimal for mixed 8/16 bit cases
12977        https://bugs.webkit.org/show_bug.cgi?id=99363
12978
12979        Reviewed by Benjamin Poulain.
12980
12981        Factored out the 8/16 bitness check of the match character from the subject character bitness
12982        check.  Did this for both find() and reverseFind().  Added all UChar/LChar combinations to the
12983        inline reverseFind().
12984
12985        * wtf/text/StringImpl.cpp:
12986        (WTF::StringImpl::find):
12987        (WTF::StringImpl::reverseFind):
12988        * wtf/text/StringImpl.h:
12989        (WTF::reverseFind):
12990
129912012-10-16  Dima Gorbik  <dgorbik@apple.com>
12992
12993        Remove Platform.h include from the header files.
12994        https://bugs.webkit.org/show_bug.cgi?id=98665
12995
12996        Reviewed by Eric Seidel.
12997
12998        We don't want other clients that include WebKit headers to know about Platform.h.
12999
13000        * wtf/Assertions.h:
13001        * wtf/MainThread.h:
13002
130032012-10-16  Adrienne Walker  <enne@google.com>
13004
13005        Remove unused WTF_NEW_HASHMAP_ITERATORS_INTERFACE #define
13006        https://bugs.webkit.org/show_bug.cgi?id=99367
13007
13008        Reviewed by James Robinson.
13009
13010        Does what it says on the tin.
13011
13012        * wtf/HashTraits.h:
13013
130142012-10-15  Andreas Kling  <kling@webkit.org>
13015
13016        Remove WTF::fastDeleteAllValues().
13017        <http://webkit.org/b/99345>
13018
13019        Reviewed by Eric Seidel.
13020
13021        It was only used to fastDelete() a class that was already overriding operator delete
13022        by way of WTF_MAKE_FAST_ALLOCATED anyway.
13023
13024        * wtf/HashSet.h:
13025        (WTF):
13026        (HashSet):
13027
130282012-10-15  Mark Hahnenberg  <mhahnenberg@apple.com>
13029
13030        Parallel GC should not be disabled for all platforms
13031
13032        * wtf/Platform.h: D'oh!
13033
130342012-10-15  George Staikos  <staikos@webkit.org>
13035
13036        [BlackBerry] Adapt to Platform API changes in string handling
13037        https://bugs.webkit.org/show_bug.cgi?id=99248
13038
13039        Reviewed by Yong Li.
13040
13041        Convert usage of WebString, char* and std::string to BlackBerry::Platform::String.
13042
13043        * wtf/Assertions.cpp: Use proper log function.
13044        * wtf/text/AtomicString.h: Add BlackBerry support
13045        (AtomicString):
13046        (WTF::AtomicString::AtomicString): Add BlackBerry Support
13047        (WTF::AtomicString::operator BlackBerry::Platform::String):
13048        * wtf/text/StringImpl.h: Conversion support.
13049        * wtf/text/WTFString.h: Conversion support.
13050        (Platform):
13051        (String):
13052
130532012-10-15  Michael Saboff  <msaboff@apple.com>
13054
13055        Update RenderText to use String instead of UChar* for text
13056        https://bugs.webkit.org/show_bug.cgi?id=96979
13057
13058        Reviewed by Dan Bernstein.
13059
13060        Added WTF_USE_8BIT_TEXTRUN to encase code that creates 8 bit TextRun's.  Enabled WTF_USE_8BIT_TEXTRUN
13061        for PLATFORM(MAC).  Other platform can update this setting in Platform.h when their platform specific use of
13062        TextRun handle 8 bit data.  Added a new Vector::appendVector to allow appending the contents of a vector
13063        containing one type to the end of vector containing another.  This is used to append a Vector<LChar> to
13064        the end of a Vector<UChar>.
13065
13066        * wtf/Platform.h:
13067        * wtf/Vector.h:
13068        (Vector):
13069        (WTF::Vector::appendVector):
13070
130712012-10-15  Ilya Tikhonovsky  <loislo@chromium.org>
13072
13073        Web Inspector: convert manual size calculation of different WebKit things into MemoryInstrumentation.
13074        https://bugs.webkit.org/show_bug.cgi?id=99309
13075
13076        Reviewed by Yury Semikhatsky.
13077
13078        JSHeap, DOMStorage and HeapProfiler data were counted manually.
13079        Now we count the sizes more generic way.
13080
13081        * wtf/MemoryInstrumentation.h: calculateContainerSize were removed.
13082        * wtf/MemoryInstrumentationSequence.h: empty instrumentations were added for 'const char*' and 'const void*' sequences.
13083
130842012-10-12  Anders Carlsson  <andersca@apple.com>
13085
13086        Move QDataStream functions into HistoryItemQt.cpp
13087        https://bugs.webkit.org/show_bug.cgi?id=99203
13088
13089        Reviewed by Andreas Kling.
13090
13091        It seems like the QDataStream stream operators are only used from HistoryItemQt.cpp
13092        inside WebCore, so move them there. If in the future they are required elsewhere, they should
13093        be moved into a separate header instead of polluting headers unnecessarily.
13094
13095        * wtf/Vector.h:
13096        * wtf/qt/StringQt.cpp:
13097        * wtf/text/WTFString.h:
13098
130992012-10-12  Michael Saboff  <msaboff@apple.com>
13100
13101        StringBuilder::append(StringBuilder&) doesn't take into account the bit size of the argument string
13102        https://bugs.webkit.org/show_bug.cgi?id=99225
13103
13104        Reviewed by Benjamin Poulain.
13105
13106        Added 8 bit path.
13107
13108        * wtf/text/StringBuilder.h:
13109        (WTF::StringBuilder::append):
13110
131112012-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
13112
13113        Unreviewed, rolling out r131224.
13114        http://trac.webkit.org/changeset/131224
13115        https://bugs.webkit.org/show_bug.cgi?id=99210
13116
13117        It broke the build (Requested by andersca on #webkit).
13118
13119        * wtf/Vector.h:
13120        (WTF):
13121        (WTF::operator<<):
13122        (WTF::operator>>):
13123        * wtf/qt/StringQt.cpp:
13124        (WTF::operator<<):
13125        (WTF):
13126        (WTF::operator>>):
13127        * wtf/text/WTFString.h:
13128        (WTF):
13129
131302012-10-12  Anders Carlsson  <andersca@apple.com>
13131
13132        Move QDataStream functions into HistoryItemQt.cpp
13133        https://bugs.webkit.org/show_bug.cgi?id=99203
13134
13135        Reviewed by Andreas Kling.
13136
13137        It seems like the QDataStream stream operators are only used from HistoryItemQt.cpp
13138        inside WebCore, so move them there. If in the future they are required elsewhere, they should
13139        be moved into a separate header instead of polluting headers unnecessarily.
13140
13141        * wtf/Vector.h:
13142        * wtf/qt/StringQt.cpp:
13143        * wtf/text/WTFString.h:
13144
131452012-10-11  Mark Toller  <mark.toller@samsung.com>
13146
13147        Removed incorrect pthread_mutex_trylock code in an ASSERT in TCMalloc_PageHeap::signalScavenger. This 
13148        branch is used by the Webkit GTK code.
13149
13150        https://bugs.webkit.org/show_bug.cgi?id=97539
13151
13152        Reviewed by Geoffrey Garen.
13153
13154        The code was never compiled in, and was functionally broken. There is no need for locking around the 
13155        m_scavengeThreadActive flag, however, we should lock pageheap_lock before calling 'shouldScavenge()', as we
13156        only want to scavenge when really required, so it's better to wait for any current memory operation to 
13157        complete before checking. 
13158
13159        * wtf/FastMalloc.cpp:
13160        (WTF::TCMalloc_PageHeap::signalScavenger):
13161
131622012-10-10  Yong Li  <yoli@rim.com>
13163
13164        [BlackBerry] Define WTF_USE_EXTRA_MACROS in cmake rather than Platform.h
13165        https://bugs.webkit.org/show_bug.cgi?id=98819
13166
13167        Reviewed by Rob Buis.
13168
13169        And make it depend on SHARED_CORE
13170        RIM PR# 221339.
13171
13172        * wtf/Platform.h:
13173
131742012-10-09  Filip Pizlo  <fpizlo@apple.com>
13175
13176        JSC should infer when indexed storage is contiguous, and optimize for it
13177        https://bugs.webkit.org/show_bug.cgi?id=97288
13178
13179        Reviewed by Mark Hahnenberg.
13180
13181        Moved out this helpful math utility to MathExtras, since we now use it in
13182        multiple places.
13183
13184        * wtf/MathExtras.h:
13185        (timesThreePlusOneDividedByTwo):
13186
131872012-10-08  Benjamin Poulain  <benjamin@webkit.org>
13188
13189        Generalize moving URLComponent's begin position
13190        https://bugs.webkit.org/show_bug.cgi?id=98626
13191
13192        Reviewed by Adam Barth.
13193
13194        The patch r130609 introduced moving URLComponents's position.
13195        It turns out this concept is really useful in the parser so
13196        this patch generalize the idea.
13197
13198        * wtf/url/api/ParsedURL.cpp:
13199        (WTF::ParsedURL::removePort):
13200        * wtf/url/src/URLCanonEtc.cpp:
13201        * wtf/url/src/URLComponent.h:
13202        (WTF::URLComponent::moveBy):
13203        Rename URLComponent::move() to URLComponent::moveBy() for consistency
13204        with some of WebCore types.
13205
13206        * wtf/url/src/URLParse.cpp:
13207        * wtf/url/src/URLParseFile.cpp:
13208
13209        * wtf/url/src/URLSegments.cpp:
13210        (WTF::URLSegments::moveFromComponentBy):
13211        Change the semantic to everything from a certain component. This is
13212        useful to move everything, including the scheme.
13213
13214        * wtf/url/src/URLSegments.h:
13215        (URLSegments):
13216
132172012-10-08  Andreas Kling  <kling@webkit.org>
13218
13219        Lower minimum table size of WTF::HashTable to reduce memory usage.
13220        <http://webkit.org/b/98406>
13221        <rdar://problem/12432140>
13222
13223        Reviewed by Anders Carlsson.
13224
13225        Lower the default minimumTableSize for WTF hash tables from 64 to 8 entries.
13226        This reduces WebProcess memory consumption by ~16MB on Membuster3 (a 6% progression!)
13227
13228        No significant movement on PLT or JSC benchmarks on my machine. If there's a perf regression somewhere
13229        from this, we can tweak individual tables to have a larger minimumTableSize.
13230
13231        * wtf/HashTraits.h:
13232
132332012-10-08  Andreas Kling  <kling@webkit.org>
13234
13235        Using float/double as WTF hash table key is unreliable.
13236        <http://webkit.org/b/98627>
13237
13238        Reviewed by Geoffrey Garen.
13239
13240        Change FloatHash::equal() to do a bitwise compare instead of a logical compare.
13241        This fixes a problem where the keys with different binary representation but the
13242        same logical value (e.g 0 and -0) could block each other from being found if they
13243        ended up in the same hash bucket.
13244
13245        * wtf/HashFunctions.h:
13246        (FloatHash):
13247        (WTF::FloatHash::hash):
13248        (WTF::FloatHash::equal):
13249
132502012-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
13251
13252        Unreviewed, rolling out r130619.
13253        http://trac.webkit.org/changeset/130619
13254        https://bugs.webkit.org/show_bug.cgi?id=98634
13255
13256        Causes many crashes on the EFL bots. (Requested by rakuco on
13257        #webkit).
13258
13259        * wtf/efl/MainThreadEfl.cpp:
13260        (WTF::pipeObject):
13261        (WTF):
13262        (WTF::monitorDispatchFunctions):
13263        (WTF::initializeMainThreadPlatform):
13264        (WTF::scheduleDispatchFunctionsOnMainThread):
13265
132662012-10-08  Byungwoo Lee  <bw80.lee@samsung.com>
13267
13268        [EFL] Use ecore_main_loop_thread_safe_call_async() to wakeup main loop.
13269        https://bugs.webkit.org/show_bug.cgi?id=98505
13270
13271        Reviewed by Kenneth Rohde Christiansen.
13272
13273        Instead of ecore_pipe_write(),
13274        use ecore_main_loop_thread_safe_call_async() to wakeup ecore main loop.
13275
13276        According to the EFL API document, this function is designed to dispatch
13277        a function on ecore main loop by avoiding dead lock or race condition. 
13278        With this function, webkit doesn't need to maintain ecore pipe also.
13279
13280        * wtf/efl/MainThreadEfl.cpp:
13281        (WTF::monitorDispatchFunctions):
13282        (WTF::initializeMainThreadPlatform):
13283        (WTF::scheduleDispatchFunctionsOnMainThread):
13284
132852012-10-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
13286
13287        Rename first/second to key/value in HashMap iterators
13288        https://bugs.webkit.org/show_bug.cgi?id=82784
13289
13290        Reviewed by Eric Seidel.
13291
13292        Currently HashMap iterators follow the same interface in std::map: given an
13293        iterator it, we use it->first to access the key and it->second to access the
13294        value. This patch changes these accesses to it->key and it->value, improving the
13295        readability at call sites.
13296
13297        One potential downside of this change would be the confusion between std::map and
13298        HashMap interfaces. However, they are already different in other aspects and the
13299        usage of std::map is more an exception than a rule in WebKit code, so we consider
13300        the confusion will be less likely to happen.
13301
13302        * wtf/HashCountedSet.h:
13303        (WTF::::add):
13304        (WTF::::remove):
13305        (WTF::copyToVector):
13306        * wtf/HashIterators.h:
13307        (WTF::HashTableConstKeysIterator::get):
13308        (WTF::HashTableConstValuesIterator::get):
13309        (WTF::HashTableKeysIterator::get):
13310        (WTF::HashTableValuesIterator::get):
13311        * wtf/HashMap.h:
13312        (WTF::KeyValuePairKeyExtractor::extract):
13313        (WTF::HashMapValueTraits::isEmptyValue):
13314        (WTF::HashMapTranslator::translate):
13315        (WTF::HashMapTranslatorAdapter::translate):
13316        (WTF::::set):
13317        (WTF::::get):
13318        (WTF::::take):
13319        (WTF::operator==):
13320        (WTF::deleteAllValues):
13321        (WTF::deleteAllKeys):
13322        Removed deleteAllPairFirsts() and deleteAllPairSeconds() since they are now unused.
13323
13324        * wtf/HashTable.h:
13325        (WTF::hashTableSwap):
13326        (WTF::::checkTableConsistencyExceptSize):
13327        * wtf/HashTraits.h:
13328        (WTF):
13329        (WTF::KeyValuePair::KeyValuePair):
13330        (KeyValuePair):
13331        (WTF::KeyValuePairHashTraits::constructDeletedValue):
13332        (WTF::KeyValuePairHashTraits::isDeletedValue):
13333        * wtf/MetaAllocator.cpp:
13334        (WTF::MetaAllocator::addFreeSpace):
13335        (WTF::MetaAllocator::incrementPageOccupancy):
13336        (WTF::MetaAllocator::decrementPageOccupancy):
13337        * wtf/RefCountedLeakCounter.cpp:
13338        (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
13339        * wtf/RefPtrHashMap.h:
13340        (WTF::::set):
13341        (WTF::::get):
13342        (WTF::::inlineGet):
13343        (WTF::::take):
13344        * wtf/Spectrum.h:
13345        (WTF::Spectrum::add):
13346        (WTF::Spectrum::get):
13347        (WTF::Spectrum::buildList):
13348        * wtf/ThreadingPthreads.cpp:
13349        (WTF::identifierByPthreadHandle):
13350
133512012-10-07  Benjamin Poulain  <benjamin@webkit.org>
13352
13353        WTFURL: implement URL port removal for HTMLAnchorElement
13354        https://bugs.webkit.org/show_bug.cgi?id=98604
13355
13356        Reviewed by Adam Barth.
13357
13358        Add hasStandardScheme() (similar to isStandard from Google URL),
13359        hasPort() and removePort() to implement the port removal of KURL.
13360
13361        * wtf/url/api/ParsedURL.cpp:
13362        (WTF::ParsedURL::hasStandardScheme):
13363        (WTF::ParsedURL::hasPort):
13364        (WTF::ParsedURL::removePort):
13365        * wtf/url/api/ParsedURL.h:
13366        (ParsedURL):
13367        * wtf/url/src/URLComponent.h:
13368        (WTF::URLComponent::move):
13369        * wtf/url/src/URLSegments.cpp:
13370        (WTF::URLSegments::moveComponentsAfter):
13371        * wtf/url/src/URLSegments.h:
13372        (URLSegments):
13373        * wtf/url/src/URLUtil.cpp:
13374        (URLUtilities):
13375        (WTF::URLUtilities::isStandard):
13376        * wtf/url/src/URLUtil.h:
13377        (URLUtilities):
13378        Remove LowerCaseEqualsASCII() from the interface, make it an internal template.
13379
13380        (WTF::URLUtilities::isStandard):
13381        Since in WebKit, LChar is a superset of char, expose LChar and cast char* to LChar*.
13382
133832012-10-06  Ilya Tikhonovsky  <loislo@chromium.org>
13384
13385        Web Inspector: NMI fix String instrumentation the way it was discussed in WK97964
13386        https://bugs.webkit.org/show_bug.cgi?id=98500
13387
13388        Reviewed by Benjamin Poulain.
13389
13390        Current instrumentation incorrectly covers the case when StringImpl object has been created via StringImpl::createWithTerminatingNullCharacter().
13391        Looks like the only way to detect the strings that has been created from literals is to compare the addresses of buffer and stringImpl + 1.
13392
13393        * wtf/MemoryInstrumentationString.h:
13394        (WTF::reportMemoryUsage):
13395        * wtf/text/StringImpl.h:
13396        (WTF::StringImpl::hasInternalBuffer):
13397
133982012-10-06  Benjamin Poulain  <benjamin@webkit.org>
13399
13400        Fix build of WTFURL after r130187
13401        https://bugs.webkit.org/show_bug.cgi?id=98588
13402
13403        Reviewed by Kentaro Hara.
13404
13405        * wtf/MemoryInstrumentationParsedURL.h:
13406        (WTF::reportMemoryUsage):
13407        * wtf/url/api/ParsedURL.h:
13408        (WTF::ParsedURL::spec):
13409
134102012-10-05  Simon Pena  <spena@igalia.com>
13411
13412        [GTK] Add support for GBytes in GRefPtr
13413        https://bugs.webkit.org/show_bug.cgi?id=98489
13414
13415        Reviewed by Carlos Garcia Campos.
13416
13417        Adding support for GBytes in GRefPtr makes it easier
13418        for them to be used when adding GResources support,
13419        and is more consistent with the rest of the port.
13420
13421        This calls g_bytes_ref and g_bytes_unref in the implementation
13422        of the refPtr and derefPtr template functions, in case the GLib
13423        version is met. Otherwise, it does nothing.
13424
13425        * wtf/gobject/GRefPtr.cpp: Implement templates for ref and deref.
13426        (WTF::refGPtr):
13427        (WTF):
13428        (WTF::derefGPtr):
13429        * wtf/gobject/GRefPtr.h:
13430        (WTF):
13431        * wtf/gobject/GTypedefs.h: Define the GBytes datatype.
13432
134332012-10-05  Sheriff Bot  <webkit.review.bot@gmail.com>
13434
13435        Unreviewed, rolling out r130478.
13436        http://trac.webkit.org/changeset/130478
13437        https://bugs.webkit.org/show_bug.cgi?id=98494
13438
13439        It broke the Qt build (Requested by Ossy on #webkit).
13440
13441        * wtf/gobject/GRefPtr.cpp:
13442        * wtf/gobject/GRefPtr.h:
13443        (WTF):
13444        * wtf/gobject/GTypedefs.h:
13445
134462012-10-05  Simon Pena  <spena@igalia.com>
13447
13448        [GTK] Add support for GBytes in GRefPtr
13449        https://bugs.webkit.org/show_bug.cgi?id=98489
13450
13451        Reviewed by Carlos Garcia Campos.
13452
13453        Adding support for GBytes in GRefPtr makes it easier
13454        for them to be used when adding GResources support,
13455        and is more consistent with the rest of the port.
13456
13457        This calls g_bytes_ref and g_bytes_unref in the implementation
13458        of the refPtr and derefPtr template functions.
13459
13460        * wtf/gobject/GRefPtr.cpp: Implement templates for ref and deref.
13461        (WTF::refGPtr):
13462        (WTF):
13463        (WTF::derefGPtr):
13464        * wtf/gobject/GRefPtr.h:
13465        (WTF):
13466        * wtf/gobject/GTypedefs.h: Define the GBytes datatype.
13467
134682012-10-04  Dirk Pranke  <dpranke@chromium.org>
13469
13470        Unreviewed, rolling out r130419.
13471        http://trac.webkit.org/changeset/130419
13472        https://bugs.webkit.org/show_bug.cgi?id=98406
13473
13474        broke editing/pasteboard/data-transfer-items.html on chromium
13475
13476        * wtf/HashTraits.h:
13477
134782012-10-04  Andreas Kling  <kling@webkit.org>
13479
13480        Lower minimum table size of WTF::HashTable to reduce memory usage.
13481        <http://webkit.org/b/98406>
13482        <rdar://problem/12432140>
13483
13484        Reviewed by Anders Carlsson.
13485
13486        Lower the default minimumTableSize for WTF hash tables from 64 to 8 entries.
13487        This reduces WebProcess memory consumption by ~16MB on Membuster3 (a 6% progression!)
13488
13489        No significant movement on PLT or JSC benchmarks on my machine. If there's a perf regression somewhere
13490        from this, we can tweak individual tables to have a larger minimumTableSize.
13491
13492        * wtf/HashTraits.h:
13493
134942012-10-04  Michael Saboff  <msaboff@apple.com>
13495
13496        String::remove will convert an 8 bit string to a 16 bit string
13497        https://bugs.webkit.org/show_bug.cgi?id=98299
13498
13499        Reviewed by Benjamin Poulain.
13500
13501        Added an 8 bit path to remove().  Added a private templated helper removeInternal.
13502
13503        * wtf/text/WTFString.cpp:
13504        (WTF::String::removeInternal):
13505        (WTF::String::remove):
13506        * wtf/text/WTFString.h:
13507        (String):
13508
135092012-10-03  Kangil Han  <kangil.han@samsung.com>
13510
13511        [Refactoring] Tidy NDEBUG optioning in RefCountedBase.
13512        https://bugs.webkit.org/show_bug.cgi?id=98252
13513
13514        Reviewed by Benjamin Poulain.
13515
13516        Fixed incomplete implementation for NDEBUG option.
13517        Additionally, adopted CHECK_REF_COUNTED_LIFECYCLE definition to suppress abusing NDEBUG option.
13518
13519        * wtf/RefCounted.h:
13520        (WTF):
13521        (WTF::RefCountedBase::ref):
13522        (WTF::RefCountedBase::hasOneRef):
13523        (WTF::RefCountedBase::refCount):
13524        (WTF::RefCountedBase::turnOffVerifier):
13525        (WTF::RefCountedBase::relaxAdoptionRequirement):
13526        (WTF::RefCountedBase::RefCountedBase):
13527        (WTF::RefCountedBase::~RefCountedBase):
13528        (WTF::RefCountedBase::derefBase):
13529        (RefCountedBase):
13530        (WTF::adopted):
13531        (WTF::RefCountedBase::setMutexForVerifier):
13532        (WTF::RefCountedBase::setDispatchQueueForVerifier):
13533
135342012-10-03  Yury Semikhatsky  <yurys@chromium.org>
13535
13536        Remove MemoryInstrumentation::addCollectionElements
13537        https://bugs.webkit.org/show_bug.cgi?id=98245
13538
13539        Reviewed by Vsevolod Vlasov.
13540
13541        Removed MemoryInstrumentation::addCollectionElements and switched all call sites
13542        to reportSequenceMemoryUsage.
13543
13544        Drive-by fix: removed some unused methods on MemoryInstrumentation.
13545
13546        * wtf/MemoryInstrumentation.h:
13547        * wtf/MemoryInstrumentationHashSet.h:
13548        (WTF::reportMemoryUsage):
13549        * wtf/MemoryInstrumentationSequence.h:
13550        (WTF::SequenceMemoryInstrumentationTraits::reportMemoryUsage):
13551        * wtf/MemoryInstrumentationVector.h:
13552        (WTF::reportMemoryUsage):
13553
135542012-10-02  Yury Semikhatsky  <yurys@chromium.org>
13555
13556        Provide memory instrumentation for HashCountedSet
13557        https://bugs.webkit.org/show_bug.cgi?id=98138
13558
13559        Reviewed by Pavel Feldman.
13560
13561        Added memory instrumentation for HashCountedSet.
13562
13563        Extracted common routines for collecting memory info for an iterable sequence.
13564
13565        * GNUmakefile.list.am:
13566        * WTF.gypi:
13567        * WTF.pro:
13568        * WTF.vcproj/WTF.vcproj:
13569        * WTF.xcodeproj/project.pbxproj:
13570        * wtf/MemoryInstrumentation.h:
13571        (WTF):
13572        * wtf/MemoryInstrumentationHashCountedSet.h: Copied from Source/WTF/wtf/MemoryInstrumentationHashSet.h.
13573        (WTF):
13574        (WTF::reportMemoryUsage):
13575        * wtf/MemoryInstrumentationHashMap.h:
13576        (WTF::reportMemoryUsage):
13577        * wtf/MemoryInstrumentationHashSet.h:
13578        * wtf/MemoryInstrumentationSequence.h: Copied from Source/WTF/wtf/MemoryInstrumentationHashMap.h.
13579        (WTF):
13580        (WTF::SequenceMemoryInstrumentationTraits::reportMemoryUsage):
13581        (WTF::reportSequenceMemoryUsage):
13582
135832012-10-02  Joshua Bell  <jsbell@chromium.org>
13584
13585        Add htons/htonl definitions and implementations
13586        https://bugs.webkit.org/show_bug.cgi?id=98054
13587
13588        Reviewed by Darin Adler.
13589
13590        For parsing or serializing binary data, byte order matters. The canonical htons/htonl/
13591        ntohs/ntohl functions are not present everywhere, so implementations are proliferating in
13592        parsers. Expose a new WTF header (wtf/ByteOrder.h) that includes the standard
13593        implementations on UNIX-like OSs and provides basic inlined implementations on Windows.
13594
13595        * GNUmakefile.list.am:
13596        * WTF.gypi:
13597        * WTF.pro:
13598        * WTF.vcproj/WTF.vcproj:
13599        * WTF.xcodeproj/project.pbxproj:
13600        * wtf/ByteOrder.h: Added.
13601        (WTF::wswap32): Inline functions so arguments are only evaluated once.
13602        (WTF::bswap32):
13603        (WTF::bswap16):
13604        (ntohs): Inline functions on OS(WINDOWS) to match macros on OS(UNIX)
13605        (htons):
13606        (ntohl):
13607        (htonl):
13608        * wtf/CMakeLists.txt:
13609
136102012-10-02  Michael Saboff  <msaboff@apple.com>
13611
13612        HTMLConstructionSite::insertTextNode isn't optimized for 8 bit strings
13613        https://bugs.webkit.org/show_bug.cgi?id=97740
13614
13615        Reviewed by Darin Adler.
13616
13617        Added an append method that takes an LChar source.  Made both the UChar and LChar versions optimally handle
13618        the appendee and appendend string bitness.
13619
13620        * wtf/text/WTFString.cpp:
13621        (WTF::String::append):
13622        * wtf/text/WTFString.h:
13623        (String):
13624
136252012-10-02  Ilya Tikhonovsky  <loislo@chromium.org>
13626
13627        Web Inspector: NMI: switch to non intrusive instrumentation of ParsedURL.
13628        https://bugs.webkit.org/show_bug.cgi?id=98150
13629
13630        Reviewed by Yury Semikhatsky.
13631
13632        Memory instrumentation for ParsedURL was extracted into separate header MemoryInstrumentationParsedURL.h
13633
13634        Drive by fix: unnecessary include was removed from String*.cpp files.
13635
13636        * GNUmakefile.list.am:
13637        * WTF.gypi:
13638        * WTF.pro:
13639        * WTF.xcodeproj/project.pbxproj:
13640        * wtf/MemoryInstrumentation.h:
13641        (WTF):
13642        * wtf/MemoryInstrumentationParsedURL.h: Added.
13643        (WTF):
13644        (WTF::reportMemoryUsage):
13645        * wtf/text/AtomicString.cpp:
13646        * wtf/text/StringImpl.cpp:
13647        * wtf/text/WTFString.cpp:
13648        * wtf/url/api/ParsedURL.cpp:
13649        * wtf/url/api/ParsedURL.h:
13650        * wtf/url/api/URLString.cpp:
13651        * wtf/url/api/URLString.h:
13652
136532012-09-29  Ilya Tikhonovsky  <loislo@chromium.org>
13654
13655        Web Inspector: NMI make String* instrumentation non intrusive
13656        https://bugs.webkit.org/show_bug.cgi?id=97964
13657
13658        Reviewed by Yury Semikhatsky.
13659
13660        MemoryInstrumentationString.h was added.
13661        Intrusive instrumentation was removed.
13662
13663        * GNUmakefile.list.am:
13664        * WTF.gypi:
13665        * WTF.pro:
13666        * WTF.vcproj/WTF.vcproj:
13667        * WTF.xcodeproj/project.pbxproj:
13668        * wtf/MemoryInstrumentation.h:
13669        (WTF):
13670        * wtf/MemoryInstrumentationString.h: Added.
13671        (WTF):
13672        (WTF::reportMemoryUsage):
13673        * wtf/text/AtomicString.cpp:
13674        (WTF):
13675        * wtf/text/AtomicString.h:
13676        (AtomicString):
13677        * wtf/text/CString.h:
13678        (WTF::CStringBuffer::length):
13679        * wtf/text/StringImpl.cpp:
13680        * wtf/text/StringImpl.h:
13681        (WTF::StringImpl::usesInternalBuffer):
13682        (WTF::StringImpl::baseString):
13683        (StringImpl):
13684
136852012-10-02  Sheriff Bot  <webkit.review.bot@gmail.com>
13686
13687        Unreviewed, rolling out r130129.
13688        http://trac.webkit.org/changeset/130129
13689        https://bugs.webkit.org/show_bug.cgi?id=98125
13690
13691        broke 4 webkit_unit_tests
13692        (MemoryInstrumentationTest.hashMapWith*) (Requested by caseq
13693        on #webkit).
13694
13695        * GNUmakefile.list.am:
13696        * WTF.gypi:
13697        * WTF.pro:
13698        * WTF.vcproj/WTF.vcproj:
13699        * WTF.xcodeproj/project.pbxproj:
13700        * wtf/MemoryInstrumentation.h:
13701        (WTF):
13702        * wtf/MemoryInstrumentationString.h: Removed.
13703        * wtf/text/AtomicString.cpp:
13704        (WTF::AtomicString::reportMemoryUsage):
13705        (WTF):
13706        * wtf/text/AtomicString.h:
13707        (AtomicString):
13708        * wtf/text/CString.h:
13709        (WTF::CStringBuffer::length):
13710        (CStringBuffer):
13711        (WTF::CStringBuffer::reportMemoryUsage):
13712        (CString):
13713        (WTF::CString::reportMemoryUsage):
13714        * wtf/text/StringImpl.cpp:
13715        (WTF::StringImpl::reportMemoryUsage):
13716        (WTF):
13717        * wtf/text/StringImpl.h:
13718        (StringImpl):
13719        * wtf/text/WTFString.cpp:
13720        (WTF::String::reportMemoryUsage):
13721        (WTF):
13722        * wtf/text/WTFString.h:
13723        (String):
13724
137252012-09-29  Ilya Tikhonovsky  <loislo@chromium.org>
13726
13727        Web Inspector: NMI make String* instrumentation non intrusive
13728        https://bugs.webkit.org/show_bug.cgi?id=97964
13729
13730        Reviewed by Yury Semikhatsky.
13731
13732        MemoryInstrumentationString.h was added.
13733        Intrusive instrumentation was removed.
13734
13735        * GNUmakefile.list.am:
13736        * WTF.gypi:
13737        * WTF.pro:
13738        * WTF.vcproj/WTF.vcproj:
13739        * WTF.xcodeproj/project.pbxproj:
13740        * wtf/MemoryInstrumentation.h:
13741        (WTF):
13742        * wtf/MemoryInstrumentationString.h: Added.
13743        (WTF):
13744        (WTF::reportMemoryUsage):
13745        * wtf/text/AtomicString.cpp:
13746        (WTF):
13747        * wtf/text/AtomicString.h:
13748        (AtomicString):
13749        * wtf/text/CString.h:
13750        (WTF::CStringBuffer::length):
13751        * wtf/text/StringImpl.cpp:
13752        * wtf/text/StringImpl.h:
13753        (WTF::StringImpl::usesInternalBuffer):
13754        (WTF::StringImpl::baseString):
13755        (StringImpl):
13756
137572012-10-01  Daniel Drake  <dsd@laptop.org>
13758
13759        Another SIGILL in JavaScriptCore on a Geode processor
13760        https://bugs.webkit.org/show_bug.cgi?id=96286
13761
13762        Reviewed by Filip Pizlo.
13763
13764        Disable LLint for the GTK build where the build target does not
13765        support SSE2 instructions. Restores support for non-SSE2 processors
13766        such as the AMD Geode.
13767
13768        * wtf/Platform.h:
13769
137702012-10-01  Yury Semikhatsky  <yurys@chromium.org>
13771
13772        Web Inspector: provide memory instrumentation for HashMap
13773        https://bugs.webkit.org/show_bug.cgi?id=98005
13774
13775        Reviewed by Pavel Feldman.
13776
13777        Extracted HashMap memory instrumentation into its own file. The map's content
13778        elements will be automatically traversed if their types are supported
13779        by the memory instrumentation. No need to call special method for hash map
13780        fields any more.
13781
13782        * GNUmakefile.list.am:
13783        * WTF.gypi:
13784        * WTF.pro:
13785        * WTF.vcproj/WTF.vcproj:
13786        * wtf/MemoryInstrumentation.h:
13787        (MemoryInstrumentation):
13788        (WTF):
13789        * wtf/MemoryInstrumentationHashMap.h: Added.
13790        (WTF):
13791        (WTF::SequenceMemoryInstrumentationTraits::reportMemoryUsage):
13792        (WTF::reportMemoryUsage):
13793
137942012-10-01  Alberto Garcia  <agarcia@igalia.com>
13795
13796        Check that __cplusplus is defined before comparing its value
13797        https://bugs.webkit.org/show_bug.cgi?id=98015
13798
13799        Reviewed by Xan Lopez.
13800
13801        If __cplusplus is not defined is interpreted as having the value
13802        0, but it produces a compilation warning with -Wundef.
13803
13804        This is the case with some API tests that are written in C
13805        (JSNode.c, JSNodeList.c, minidom.c).
13806
13807        * wtf/Compiler.h:
13808
138092012-10-01  Carlos Garcia Campos  <cgarcia@igalia.com>
13810
13811        Unreviewed. Fix make distcheck.
13812
13813        * GNUmakefile.list.am: Add missing header files to compilation.
13814
138152012-09-30  Mark Hahnenberg  <mhahnenberg@apple.com>
13816
13817        Clean up HasTrivialConstructor/Destructor
13818        https://bugs.webkit.org/show_bug.cgi?id=97754
13819
13820        Reviewed by Sam Weinig.
13821
13822        Mixed up the HasTrivialDestructor/Constructor case for VS2010 and later in the previous patch.
13823
13824        * wtf/TypeTraits.h:
13825
138262012-09-29  Sheriff Bot  <webkit.review.bot@gmail.com>
13827
13828        Unreviewed, rolling out r129982.
13829        http://trac.webkit.org/changeset/129982
13830        https://bugs.webkit.org/show_bug.cgi?id=97971
13831
13832        hit assert in fast/overflow/overflow-height-float-not-removed-
13833        crash3.html (Requested by eae on #webkit).
13834
13835        * wtf/Platform.h:
13836
138372012-09-29  Emil A Eklund  <eae@chromium.org>
13838
13839        Enable SATURATED_LAYOUT_ARITHMETIC for chromium
13840        https://bugs.webkit.org/show_bug.cgi?id=95053
13841
13842        Reviewed by Abhishek Arya.
13843
13844        Enable the SATURATED_LAYOUT_ARITHMETIC flag for the chromium port.
13845        This changes the behavior of FractionalLayoutUnit to clamp to the
13846        max or min value instead of overflowing.
13847
13848        This may very well impact performance so the current plan is to enable
13849        it for a couple of hours to a day to collect performance data and then
13850        disable it again until we've had a chance to review the perf data.
13851
13852        * wtf/Platform.h:
13853
138542012-09-28  Anders Carlsson  <andersca@apple.com>
13855
13856        Remove Java bridge
13857        https://bugs.webkit.org/show_bug.cgi?id=97954
13858
13859        Reviewed by Sam Weinig.
13860
13861        The Java bridge is not used by any port; Mac now has a NPAPI Java plug-in.
13862
13863        * wtf/Platform.h:
13864
138652012-09-28  Kai Koehne  <kai.koehne@digia.com>
13866
13867        Disable YARR_JIT for Windows 64 bit
13868        https://bugs.webkit.org/show_bug.cgi?id=97772
13869
13870        Reviewed by Simon Hausmann.
13871
13872        Using YARR_JIT requires ASSEMBLER, which in turn enables the
13873        executable fixed allocator, which is mmap based (not available on
13874        Windows).
13875
13876        * wtf/Platform.h:
13877
138782012-09-28  Yury Semikhatsky  <yurys@chromium.org>
13879
13880        Web Inspector: make HashSet memory instrumentation non-intrusive
13881        https://bugs.webkit.org/show_bug.cgi?id=97879
13882
13883        Reviewed by Vsevolod Vlasov.
13884
13885        Removed reportMemoryUsage declarations as a friend of HashSet and HashTable. Also
13886        removed MemoryInstrumentationHashTable which is not needed if we don't have
13887        access to HashSet's guts.
13888
13889        * GNUmakefile.list.am:
13890        * WTF.gypi:
13891        * WTF.pro:
13892        * WTF.vcproj/WTF.vcproj:
13893        * WTF.xcodeproj/project.pbxproj:
13894        * wtf/HashSet.h:
13895        (WTF):
13896        (HashSet):
13897        * wtf/HashTable.h:
13898        (HashTable):
13899        * wtf/MemoryInstrumentation.h:
13900        (WTF::MemoryClassInfo::addPrivateBuffer):
13901        * wtf/MemoryInstrumentationHashSet.h:
13902        (WTF::reportMemoryUsage):
13903        * wtf/MemoryInstrumentationHashTable.h: Removed.
13904
139052012-09-27  Anders Carlsson  <andersca@apple.com>
13906
13907        Remove the clang pragmas to disable warnings in Noncopyable.h
13908        https://bugs.webkit.org/show_bug.cgi?id=97826
13909
13910        Reviewed by Beth Dakin.
13911
13912        Warnings about C++11 extensions are already disabled project-wide now so there's no need
13913        to keep these pragmas.
13914
13915        * wtf/Noncopyable.h:
13916
139172012-09-26  Mark Hahnenberg  <mhahnenberg@apple.com>
13918
13919        Clean up HasTrivialConstructor/Destructor
13920        https://bugs.webkit.org/show_bug.cgi?id=97754
13921
13922        Reviewed by Darin Adler.
13923
13924        Cleaned up HasTrivialConstructor and HasTrivialDestructor by defining them in terms of 
13925        other type traits we have. Also moved some ifdefs and comments to make things more clear.
13926
13927        * wtf/TypeTraits.h:
13928
139292012-09-27  Ilya Tikhonovsky  <loislo@chromium.org>
13930
13931        Web Inspector: NMI: move visited and countObjectSize methods implementation into separate class.
13932        https://bugs.webkit.org/show_bug.cgi?id=97461
13933
13934        Reviewed by Yury Semikhatsky.
13935
13936        These methods and the data collected by them need to be used in the instrumentation code for other components.
13937        As example when we are visiting bitmaps we need to visit platform specific objects.
13938        These objects will be instrumented with help of component's own instrumentation code
13939        but we have to keep the single set of visited objects and the map of counters.
13940
13941        * wtf/MemoryInstrumentation.h:
13942        (MemoryInstrumentationClient):
13943        (WTF::MemoryInstrumentationClient::~MemoryInstrumentationClient):
13944        (WTF):
13945        (WTF::MemoryInstrumentation::MemoryInstrumentation):
13946        (MemoryInstrumentation):
13947        (WTF::MemoryInstrumentation::countObjectSize):
13948        (WTF::MemoryInstrumentation::visited):
13949
139502012-09-27  Csaba Osztrogonác  <ossy@webkit.org>, Tor Arne Vestbø  <vestbo@webkit.org>
13951
13952        [Qt] Enable the LLInt on Linux
13953        https://bugs.webkit.org/show_bug.cgi?id=95749
13954
13955        Reviewed by Simon Hausmann.
13956
13957        * wtf/Platform.h:
13958
139592012-09-26  Cosmin Truta  <ctruta@rim.com>
13960
13961        [BlackBerry] Allow denormal floats in ARM VFP
13962        https://bugs.webkit.org/show_bug.cgi?id=97008
13963
13964        Reviewed by Filip Pizlo.
13965        Reviewed internally by Yong Li.
13966
13967        Cleared the Flush-to-Zero flag in the ARM FPSCR register on QNX.
13968
13969        * wtf/ThreadingPthreads.cpp:
13970        (WTF::enableIEEE754Denormal): Added.
13971        (WTF::initializeThreading):
13972        (WTF::initializeCurrentThreadInternal):
13973
139742012-09-26  Michael Saboff  <msaboff@apple.com>
13975
13976        Update ComplexTextController for 8 bit TextRun changes
13977        https://bugs.webkit.org/show_bug.cgi?id=97378
13978
13979        Reviewed by Geoffrey Garen.
13980
13981        Add a new create method to make a 16 bit string from 8 bit source data.  This is used in 
13982        ComplexTextController when we have LChar* + length text data, but we really want 16 bit
13983        data for the complex text rendering code.
13984
13985        * wtf/text/WTFString.cpp:
13986        (WTF::String::make16BitFrom8BitSource):
13987        (WTF):
13988        * wtf/text/WTFString.h:
13989        (String):
13990
139912012-09-26  Ilya Tikhonovsky  <loislo@chromium.org>
13992
13993        Web Inspector: NMI: replace manual JS external resources counting with MemoryInstrumentation
13994        https://bugs.webkit.org/show_bug.cgi?id=97662
13995
13996        Reviewed by Yury Semikhatsky.
13997
13998        Old schema uses sizeInBytes method on StringImpl. This method works incorrect for substrings.
13999        Also we'd like to know exact pointers to strings and buffers for verification purposes.
14000
14001        * GNUmakefile.list.am:
14002        * WTF.gypi:
14003        * WTF.pro:
14004        * WTF.vcproj/WTF.vcproj:
14005        * WTF.xcodeproj/project.pbxproj:
14006        * wtf/MemoryInstrumentationArrayBufferView.h:
14007        (WTF):
14008        (WTF::reportMemoryUsage):
14009
140102012-09-25  Ilya Tikhonovsky  <loislo@chromium.org>
14011
14012        Web Inspector: extract HashSet instrumentation from core NMI code and put it into MemoryInstrumentationHashSet.h
14013        https://bugs.webkit.org/show_bug.cgi?id=97198
14014
14015        Reviewed by Yury Semikhatsky.
14016
14017        Current implementation has overloads for HashSet.
14018        This prevents us from instrumenting complex cases like Vector<HashSet<...> >.
14019
14020        * GNUmakefile.list.am:
14021        * WTF.gypi:
14022        * WTF.pro:
14023        * WTF.vcproj/WTF.vcproj:
14024        * WTF.xcodeproj/project.pbxproj:
14025        * wtf/HashSet.h:
14026        (WTF):
14027        (HashSet):
14028        * wtf/HashTable.h:
14029        (WTF):
14030        (HashTable):
14031        * wtf/MemoryInstrumentation.h:
14032        (WTF::MemoryClassInfo::addCollectionElements):
14033        (WTF::MemoryClassInfo::addHashCountedSet):
14034        * wtf/MemoryInstrumentationHashSet.h: Added.
14035        (WTF):
14036        (WTF::reportMemoryUsage):
14037        * wtf/MemoryInstrumentationHashTable.h: Added.
14038        (WTF):
14039        (WTF::reportMemoryUsage):
14040
140412012-09-26  Yury Semikhatsky  <yurys@chromium.org>
14042
14043        Web Inspector: compare objects counted by the memory instrumentation with those allocated in the heap
14044        https://bugs.webkit.org/show_bug.cgi?id=97641
14045
14046        Reviewed by Pavel Feldman.
14047
14048        Added a method for checking if reported object was actually allocated in the heap.
14049
14050        * wtf/MemoryInstrumentation.h:
14051        (MemoryInstrumentation):
14052        (WTF::MemoryInstrumentation::addObjectImpl):
14053
140542012-09-26  Gavin Barraclough  <barraclough@apple.com>
14055
14056        String.localeCompare should normalize input
14057        https://bugs.webkit.org/show_bug.cgi?id=97639
14058
14059        Reviewed by Filip Pizlo.
14060
14061        From the spec: "It is strongly recommended that this function treat Strings that are
14062        canonically equivalent according to the Unicode standard as identical (in other words,
14063        compare the Strings as if they had both been converted to Normalised Form C or D first).
14064        It is also recommended that this function not honour Unicode compatibility equivalences
14065        or decompositions."
14066
14067        * wtf/unicode/icu/CollatorICU.cpp:
14068        (WTF::Collator::createCollator):
14069            - Enable normalization.
14070
140712012-09-25  Cosmin Truta  <ctruta@rim.com>
14072
14073        [BlackBerry] Enable LLInt
14074        https://bugs.webkit.org/show_bug.cgi?id=97604
14075
14076        Reviewed by Yong Li.
14077
14078        Set the prefix of LOCAL_LABEL_STRING to ".L" on QNX.
14079
14080        * wtf/InlineASM.h:
14081
140822012-09-25  Patrick Gansterer  <paroga@webkit.org>
14083
14084        Do not enable DFG JIT for COMPILER(MSVC).
14085
14086        The current code does not support MSVC inline assembler, so disable it for now.
14087
14088        * wtf/Platform.h:
14089
140902012-09-25  Pratik Solanki  <psolanki@apple.com>
14091
14092        Remove HAVE_SBRK since we never set use_sbrk to true
14093        https://bugs.webkit.org/show_bug.cgi?id=97525
14094        <rdar://problem/12363601>
14095
14096        Reviewed by Geoffrey Garen.
14097
14098        The code under HAVE(SBRK) has not been used since 2005. We use mmap not sbrk for FastMalloc
14099        not sbrk. We can just remove the define and move all of this code inside #ifndef
14100        WTF_CHANGES.
14101
14102        * wtf/Platform.h:
14103        * wtf/TCSystemAlloc.cpp:
14104        (TCMalloc_SystemAlloc):
14105
141062012-09-25  Mark Lam  <mark.lam@apple.com>
14107
14108        #undef some symbols before redefining them.
14109        https://bugs.webkit.org/show_bug.cgi?id=97568.
14110
14111        Reviewed by Michael Saboff.
14112
14113        * wtf/Platform.h:
14114
141152012-09-21  Ilya Tikhonovsky  <loislo@chromium.org>
14116
14117        Web Inspector: extract Vector instrumentation from core NMI code into MemoryInstrumentationVector.h header.
14118        https://bugs.webkit.org/show_bug.cgi?id=96650
14119
14120        Reviewed by Vsevolod Vlasov.
14121
14122        Added reportMemoryUsage free template function with default body to core NMI code
14123        and add custom version of reportMemoryUsage function for Vectors.
14124
14125        * GNUmakefile.list.am:
14126        * WTF.gypi:
14127        * WTF.pro:
14128        * WTF.vcproj/WTF.vcproj:
14129        * WTF.xcodeproj/project.pbxproj:
14130        * wtf/MemoryInstrumentation.h:
14131        (WTF):
14132        (MemoryInstrumentation):
14133        (WTF::MemoryInstrumentation::addObjectImpl):
14134        * wtf/MemoryInstrumentationVector.h: Added.
14135        (WTF):
14136        (WTF::instrumentVectorValues):
14137        (WTF::reportMemoryUsage):
14138
141392012-09-24  Mark Lam  <mark.lam@apple.com>
14140
14141        Deleting the classic interpreter and cleaning up some build options.
14142        https://bugs.webkit.org/show_bug.cgi?id=96969.
14143
14144        Reviewed by Geoffrey Garen.
14145
14146        * wtf/OSAllocatorPosix.cpp:
14147        (WTF::OSAllocator::reserveAndCommit):
14148        * wtf/Platform.h:
14149
141502012-09-24  Patrick Gansterer  <paroga@webkit.org>
14151
14152        Remove String::operator+=()
14153        https://bugs.webkit.org/show_bug.cgi?id=96172
14154
14155        Reviewed by Benjamin Poulain.
14156
14157        * wtf/Platform.h:
14158        * wtf/text/WTFString.h:
14159
141602012-09-24  Benjamin Poulain  <benjamin@webkit.org>
14161
14162        Add support for query encoding to WTFURL
14163        https://bugs.webkit.org/show_bug.cgi?id=97422
14164
14165        Reviewed by Adam Barth.
14166
14167        Expose character conversion through the new abstract class URLQueryCharsetConverter.
14168        URLQueryCharsetConverter is implemented by WebCore to expose the TextEncoding classes.
14169
14170        Unfortunatelly that forces us to bring over URLBuffer in the public API. We may be able
14171        to mitigate that later when moving WTFURL to more templates.
14172
14173        The change fixes 2 of the URL layout tests.
14174
14175        * WTF.xcodeproj/project.pbxproj:
14176        * wtf/url/api/ParsedURL.cpp:
14177        (WTF::ParsedURL::ParsedURL):
14178        * wtf/url/api/ParsedURL.h:
14179        (ParsedURL):
14180        ParsedURL was using the same constructor for ParsedURLString, and URL without a base.
14181        That was a mistake on my part, I did not intend that, fixed it now :)
14182
14183        * wtf/url/api/URLBuffer.h: Renamed from Source/WTF/wtf/url/src/URLBuffer.h.
14184        (URLBuffer):
14185        (WTF::URLBuffer::URLBuffer):
14186        (WTF::URLBuffer::~URLBuffer):
14187        (WTF::URLBuffer::at):
14188        (WTF::URLBuffer::set):
14189        (WTF::URLBuffer::capacity):
14190        (WTF::URLBuffer::length):
14191        (WTF::URLBuffer::data):
14192        (WTF::URLBuffer::setLength):
14193        (WTF::URLBuffer::append):
14194        (WTF::URLBuffer::grow):
14195        * wtf/url/api/URLQueryCharsetConverter.h: Added.
14196        (URLQueryCharsetConverter):
14197        (WTF::URLQueryCharsetConverter::URLQueryCharsetConverter):
14198        (WTF::URLQueryCharsetConverter::~URLQueryCharsetConverter):
14199        * wtf/url/src/URLCanon.h:
14200        (URLCanonicalizer):
14201        * wtf/url/src/URLCanonFilesystemurl.cpp:
14202        (WTF::URLCanonicalizer::canonicalizeFileSystemURL):
14203        (WTF::URLCanonicalizer::ReplaceFileSystemURL):
14204        * wtf/url/src/URLCanonFileurl.cpp:
14205        (WTF::URLCanonicalizer::CanonicalizeFileURL):
14206        (WTF::URLCanonicalizer::ReplaceFileURL):
14207        * wtf/url/src/URLCanonInternal.h:
14208        (URLCanonicalizer):
14209        * wtf/url/src/URLCanonQuery.cpp:
14210        (WTF::URLCanonicalizer::CanonicalizeQuery):
14211        (WTF::URLCanonicalizer::ConvertUTF16ToQueryEncoding):
14212        * wtf/url/src/URLCanonRelative.cpp:
14213        (WTF::URLCanonicalizer::resolveRelativeURL):
14214        * wtf/url/src/URLCanonStdURL.cpp:
14215        (WTF::URLCanonicalizer::CanonicalizeStandardURL):
14216        (WTF::URLCanonicalizer::ReplaceStandardURL):
14217        * wtf/url/src/URLUtil.cpp:
14218        (URLUtilities):
14219        (WTF::URLUtilities::canonicalize):
14220        (WTF::URLUtilities::resolveRelative):
14221        (WTF::URLUtilities::ReplaceComponents):
14222        * wtf/url/src/URLUtil.h:
14223        (URLUtilities):
14224
142252012-09-24  Benjamin Poulain  <benjamin@webkit.org>
14226
14227        Integrate most of GoogleURL in WTFURL
14228        https://bugs.webkit.org/show_bug.cgi?id=97405
14229
14230        Reviewed by Adam Barth.
14231
14232        This patch brings almost all of the implementatation of Google-URL in WTFURL
14233        with only minor changes.
14234
14235        The changes from the original code are mostly:
14236        -Code cleaning.
14237        -Replace url_parse::Parsed by URLSegments.
14238        -Replace url_parse::Component by URLComponent
14239        -More code cleaning.
14240        -Adopt URLBuffer and RawURLBuffer instead of the CanonOutputT and RawCanonOutputT.
14241        -Use URLCharacterTypes instead of the litany of characters functions.
14242        -Some more code cleaning.
14243        -Fix the style to match WebKit as much as possible.
14244        -Rename the files to match WebKit style.
14245
14246        * WTF.xcodeproj/project.pbxproj:
14247        * wtf/url/api/ParsedURL.cpp:
14248        (WTF::ParsedURL::ParsedURL):
14249        (WTF::ParsedURL::segment):
14250        * wtf/url/api/ParsedURL.h:
14251        (WTF::ParsedURL::isValid):
14252        * wtf/url/src/RawURLBuffer.h:
14253        * wtf/url/src/URLCanon.h: Added.
14254        (URLCanonicalizer):
14255        (CharsetConverter):
14256        (WTF::URLCanonicalizer::CharsetConverter::CharsetConverter):
14257        (WTF::URLCanonicalizer::CharsetConverter::~CharsetConverter):
14258        (CanonHostInfo):
14259        (WTF::URLCanonicalizer::CanonHostInfo::CanonHostInfo):
14260        (WTF::URLCanonicalizer::CanonHostInfo::IsIPAddress):
14261        (WTF::URLCanonicalizer::CanonHostInfo::AddressLength):
14262        (URLComponentSource):
14263        (WTF::URLCanonicalizer::URLComponentSource::URLComponentSource):
14264        (Replacements):
14265        (WTF::URLCanonicalizer::Replacements::Replacements):
14266        (WTF::URLCanonicalizer::Replacements::SetScheme):
14267        (WTF::URLCanonicalizer::Replacements::IsSchemeOverridden):
14268        (WTF::URLCanonicalizer::Replacements::SetUsername):
14269        (WTF::URLCanonicalizer::Replacements::ClearUsername):
14270        (WTF::URLCanonicalizer::Replacements::IsUsernameOverridden):
14271        (WTF::URLCanonicalizer::Replacements::SetPassword):
14272        (WTF::URLCanonicalizer::Replacements::ClearPassword):
14273        (WTF::URLCanonicalizer::Replacements::IsPasswordOverridden):
14274        (WTF::URLCanonicalizer::Replacements::SetHost):
14275        (WTF::URLCanonicalizer::Replacements::ClearHost):
14276        (WTF::URLCanonicalizer::Replacements::IsHostOverridden):
14277        (WTF::URLCanonicalizer::Replacements::SetPort):
14278        (WTF::URLCanonicalizer::Replacements::ClearPort):
14279        (WTF::URLCanonicalizer::Replacements::IsPortOverridden):
14280        (WTF::URLCanonicalizer::Replacements::SetPath):
14281        (WTF::URLCanonicalizer::Replacements::ClearPath):
14282        (WTF::URLCanonicalizer::Replacements::IsPathOverridden):
14283        (WTF::URLCanonicalizer::Replacements::SetQuery):
14284        (WTF::URLCanonicalizer::Replacements::ClearQuery):
14285        (WTF::URLCanonicalizer::Replacements::IsQueryOverridden):
14286        (WTF::URLCanonicalizer::Replacements::SetRef):
14287        (WTF::URLCanonicalizer::Replacements::ClearRef):
14288        (WTF::URLCanonicalizer::Replacements::IsRefOverridden):
14289        (WTF::URLCanonicalizer::Replacements::sources):
14290        (WTF::URLCanonicalizer::Replacements::components):
14291        (WTF::URLCanonicalizer::Replacements::Placeholder):
14292        * wtf/url/src/URLCanonEtc.cpp: Added.
14293        (WTF::URLCanonicalizer::removeURLWhitespace):
14294        (URLCanonicalizer):
14295        (WTF::URLCanonicalizer::canonicalSchemeChar):
14296        (WTF::URLCanonicalizer::CanonicalizeScheme):
14297        (WTF::URLCanonicalizer::CanonicalizeUserInfo):
14298        (WTF::URLCanonicalizer::CanonicalizePort):
14299        (WTF::URLCanonicalizer::CanonicalizeRef):
14300        * wtf/url/src/URLCanonFilesystemurl.cpp: Added.
14301        (WTF::URLCanonicalizer::CanonicalizeFileSystemURL):
14302        (URLCanonicalizer):
14303        (WTF::URLCanonicalizer::ReplaceFileSystemURL):
14304        * wtf/url/src/URLCanonFileurl.cpp: Added.
14305        (WTF::URLCanonicalizer::CanonicalizeFileURL):
14306        (URLCanonicalizer):
14307        (WTF::URLCanonicalizer::FileCanonicalizePath):
14308        (WTF::URLCanonicalizer::ReplaceFileURL):
14309        * wtf/url/src/URLCanonHost.cpp: Added.
14310        (WTF::URLCanonicalizer::CanonicalizeHost):
14311        (URLCanonicalizer):
14312        (WTF::URLCanonicalizer::CanonicalizeHostVerbose):
14313        * wtf/url/src/URLCanonICU.cpp: Added.
14314        (WTF::URLCanonicalizer::IDNToASCII):
14315        (URLCanonicalizer):
14316        (WTF::URLCanonicalizer::readUTFChar):
14317        * wtf/url/src/URLCanonIP.cpp: Added.
14318        (WTF::URLCanonicalizer::CanonicalizeIPAddress):
14319        (URLCanonicalizer):
14320        * wtf/url/src/URLCanonInternal.cpp: Added.
14321        (URLCanonicalizer):
14322        (WTF::URLCanonicalizer::AppendInvalidNarrowString):
14323        (WTF::URLCanonicalizer::ConvertUTF16ToUTF8):
14324        (WTF::URLCanonicalizer::ConvertUTF8ToUTF16):
14325        (WTF::URLCanonicalizer::SetupOverrideComponents):
14326        (WTF::URLCanonicalizer::SetupUTF16OverrideComponents):
14327        (WTF::URLCanonicalizer::_itoa_s):
14328        (WTF::URLCanonicalizer::_itow_s):
14329        * wtf/url/src/URLCanonInternal.h: Added.
14330        (URLCanonicalizer):
14331        (WTF::URLCanonicalizer::hexCharToValue):
14332        (WTF::URLCanonicalizer::isDot):
14333        (WTF::URLCanonicalizer::appendURLEscapedCharacter):
14334        (WTF::URLCanonicalizer::doAppendUTF8):
14335        (WTF::URLCanonicalizer::AppendCharToOutput):
14336        (WTF::URLCanonicalizer::AppendUTF8Value):
14337        (WTF::URLCanonicalizer::AppendUTF8EscapedValue):
14338        (WTF::URLCanonicalizer::AppendUTF16Value):
14339        (WTF::URLCanonicalizer::AppendUTF8EscapedChar):
14340        (WTF::URLCanonicalizer::Is8BitChar):
14341        (WTF::URLCanonicalizer::DecodeEscaped):
14342        (WTF::URLCanonicalizer::_itoa_s):
14343        (WTF::URLCanonicalizer::_itow_s):
14344        (WTF::URLCanonicalizer::_strtoui64):
14345        * wtf/url/src/URLCanonMailto.cpp: Added.
14346        (WTF::URLCanonicalizer::CanonicalizeMailtoURL):
14347        (URLCanonicalizer):
14348        (WTF::URLCanonicalizer::ReplaceMailtoURL):
14349        * wtf/url/src/URLCanonPath.cpp: Added.
14350        (WTF::URLCanonicalizer::CanonicalizePath):
14351        (URLCanonicalizer):
14352        (WTF::URLCanonicalizer::CanonicalizePartialPath):
14353        * wtf/url/src/URLCanonPathurl.cpp: Added.
14354        (WTF::URLCanonicalizer::canonicalizePathURL):
14355        (URLCanonicalizer):
14356        (WTF::URLCanonicalizer::ReplacePathURL):
14357        * wtf/url/src/URLCanonQuery.cpp: Added.
14358        (WTF::URLCanonicalizer::CanonicalizeQuery):
14359        (URLCanonicalizer):
14360        (WTF::URLCanonicalizer::ConvertUTF16ToQueryEncoding):
14361        * wtf/url/src/URLCanonRelative.cpp: Added.
14362        (WTF::URLCanonicalizer::isRelativeURL):
14363        (URLCanonicalizer):
14364        (WTF::URLCanonicalizer::resolveRelativeURL):
14365        * wtf/url/src/URLCanonStdURL.cpp: Added.
14366        (WTF::URLCanonicalizer::DefaultPortForScheme):
14367        (URLCanonicalizer):
14368        (WTF::URLCanonicalizer::CanonicalizeStandardURL):
14369        (WTF::URLCanonicalizer::ReplaceStandardURL):
14370        * wtf/url/src/URLCharacterTypes.cpp:
14371        * wtf/url/src/URLCharacterTypes.h:
14372        (WTF::URLCharacterTypes::isComponentChar):
14373        (WTF::URLCharacterTypes::isHexChar):
14374        (WTF::URLCharacterTypes::isIPv4Char):
14375        (WTF::URLCharacterTypes::isQueryChar):
14376        (WTF::URLCharacterTypes::isCharacterOfType):
14377        (URLCharacterTypes):
14378        * wtf/url/src/URLEscape.cpp: Removed.
14379        * wtf/url/src/URLFile.h: Added.
14380        (URLParser):
14381        (WTF::URLParser::isWindowsDriveSeparator):
14382        (WTF::URLParser::isWindowsDriveLetter):
14383        (WTF::URLParser::findNextSlash):
14384        (WTF::URLParser::doesBeginWindowsDriveSpec):
14385        (WTF::URLParser::doesBeginUNCPath):
14386        * wtf/url/src/URLParse.cpp: Added.
14387        (WTF::URLParser::ExtractScheme):
14388        (URLParser):
14389        (WTF::URLParser::IsAuthorityTerminator):
14390        (WTF::URLParser::ExtractFileName):
14391        (WTF::URLParser::ExtractQueryKeyValue):
14392        (WTF::URLParser::ParseAuthority):
14393        (WTF::URLParser::ParsePort):
14394        (WTF::URLParser::ParseStandardURL):
14395        (WTF::URLParser::ParsePathURL):
14396        (WTF::URLParser::ParseFileSystemURL):
14397        (WTF::URLParser::ParseMailtoURL):
14398        (WTF::URLParser::parsePathInternal):
14399        (WTF::URLParser::ParseAfterScheme):
14400        * wtf/url/src/URLParse.h: Added.
14401        (URLParser):
14402        * wtf/url/src/URLParseFile.cpp: Added.
14403        (WTF):
14404        (WTF::URLParser::ParseFileURL):
14405        (URLParser):
14406        * wtf/url/src/URLParseInternal.h: Added.
14407        (URLParser):
14408        (WTF::URLParser::isURLSlash):
14409        (WTF::URLParser::shouldTrimFromURL):
14410        (WTF::URLParser::trimURL):
14411        (WTF::URLParser::countConsecutiveSlashes):
14412        * wtf/url/src/URLParser.h: Removed.
14413        * wtf/url/src/URLQueryCanonicalizer.h: Removed.
14414        * wtf/url/src/URLSegments.cpp:
14415        * wtf/url/src/URLSegments.h:
14416        (WTF::URLSegments::URLSegments):
14417        (URLSegments):
14418        (WTF::URLSegments::operator=):
14419        (WTF::URLSegments::innerURLSegments):
14420        (WTF::URLSegments::setInnerURLSegments):
14421        (WTF::URLSegments::clearInnerURLSegments):
14422        * wtf/url/src/URLUtil.cpp: Added.
14423        (URLUtilities):
14424        (WTF::URLUtilities::IsStandard):
14425        (WTF::URLUtilities::FindAndCompareScheme):
14426        (WTF::URLUtilities::Canonicalize):
14427        (WTF::URLUtilities::resolveRelative):
14428        (WTF::URLUtilities::ReplaceComponents):
14429        (WTF::URLUtilities::LowerCaseEqualsASCII):
14430        (WTF::URLUtilities::DecodeURLEscapeSequences):
14431        (WTF::URLUtilities::EncodeURIComponent):
14432        (WTF::URLUtilities::CompareSchemeComponent):
14433        * wtf/url/src/URLUtil.h: Added.
14434        (URLUtilities):
14435        * wtf/url/src/URLUtilInternal.h: Renamed from Source/WTF/wtf/url/src/URLEscape.h.
14436        (URLUtilities):
14437
144382012-09-24  Joone Hur  <joone.hur@intel.com>
14439
14440        [GTK] Implement GraphicsLayer using Clutter
14441        https://bugs.webkit.org/show_bug.cgi?id=73767
14442
14443        Reviewed by Martin Robinson.
14444
14445        Add ClutterActor and GraphicsLayerActor to GTypedefs.h.
14446
14447        * wtf/gobject/GTypedefs.h:
14448
144492012-09-23  Byungwoo Lee  <bw80.lee@gmail.com>
14450
14451        Fix build warnings : -Wunused-parameter, -Wparentheses, -Wuninitialized.
14452        https://bugs.webkit.org/show_bug.cgi?id=97306
14453
14454        Reviewed by Benjamin Poulain.
14455
14456        Fix build warning about -Wunused-parameter on FastMalloc.cpp,
14457        OSAllocatorPosix.cpp by using UNUSED_PARAM() macro.
14458        Fix header including order of FastMalloc.cpp.
14459
14460        * wtf/FastMalloc.cpp:
14461        (WTF::fastMallocSize):
14462        * wtf/OSAllocatorPosix.cpp:
14463        (WTF::OSAllocator::reserveAndCommit):
14464
144652012-09-22  Sam Weinig  <sam@webkit.org>
14466
14467        Add explicit conversion operator to RetainPtr for easier use in C++11 environments
14468        https://bugs.webkit.org/show_bug.cgi?id=97403
14469
14470        Reviewed by Dan Bernstein.
14471
14472        * wtf/Compiler.h:
14473        Add support for COMPILER_SUPPORTS(CXX_EXPLICIT_CONVERSIONS)
14474
14475        * wtf/RetainPtr.h:
14476        (RetainPtr):
14477        (WTF::RetainPtr::get):
14478        (WTF::RetainPtr::operator PtrType):
14479        Add the explicit conversion operator and group all the underlying
14480        pointer accessors together.
14481
144822012-09-21  Simon Hausmann  <simon.hausmann@digia.com>
14483
14484        [Qt] Error out early if we don't have ICU available
14485
14486        Reviewed by Tor Arne Vestbø.
14487
14488        * WTF.pri:
14489
144902012-09-20  Patrick Gansterer  <paroga@webkit.org>
14491
14492        Add String::numberToStringFixedWidth()
14493        https://bugs.webkit.org/show_bug.cgi?id=96330
14494
14495        Reviewed by Benjamin Poulain.
14496
14497        Add this new function as replacement for the ShouldRoundDecimalPlaces flag of String::number()
14498        and remove the now unnecessary branch in String::number() for the old flags.
14499
14500        * wtf/text/WTFString.cpp:
14501        (WTF::String::number):
14502        (WTF::String::numberToStringFixedWidth):
14503        * wtf/text/WTFString.h:
14504
145052012-09-19  Geoffrey Garen  <ggaren@apple.com>
14506
14507        OSR exit sometimes neglects to create the arguments object
14508        https://bugs.webkit.org/show_bug.cgi?id=97162
14509
14510        Reviewed by Filip Pizlo.
14511
14512        * wtf/HashTraits.h:
14513        (NullableHashTraits):
14514        (WTF::NullableHashTraits::emptyValue):
14515        (WTF):
14516
145172012-09-18  Glenn Adams  <glenn@skynav.com>
14518
14519        WTFString::show doesn't dump non-ASCII characters in a readable manner
14520        https://bugs.webkit.org/show_bug.cgi?id=96749
14521
14522        Reviewed by Benjamin Poulain.
14523
14524        Dump non-ASCII characters in a useful form for debugging.
14525
14526        * wtf/text/WTFString.cpp:
14527        (asciiDebug):
14528        Dump non-ASCII characters (i.e., UTF-16 code elements) as well as non-printable ASCII characters
14529        using \uXXXX format. Also escape \ as \\ in order to remove ambiguity.
14530
145312012-09-18  Mark Hahnenberg  <mhahnenberg@apple.com>
14532
14533        Use WTF::HasTrivialDestructor instead of compiler-specific versions in JSC::NeedsDestructor
14534        https://bugs.webkit.org/show_bug.cgi?id=96980
14535
14536        Reviewed by Benjamin Poulain.
14537
14538        * wtf/TypeTraits.h:
14539        (WTF):
14540
145412012-09-17  Glenn Adams  <glenn@skynav.com>
14542
14543        Including HexNumber.h fails build if hexDigitsForMode is not referenced
14544        https://bugs.webkit.org/show_bug.cgi?id=96873
14545
14546        Reviewed by Benjamin Poulain.
14547
14548        Ensure release build is possible when hexDigitsForMode is not referenced by
14549        template expansion.
14550
14551        * wtf/HexNumber.h:
14552        (WTF::Internal::hexDigitsForMode):
14553        Change hexDigitsForMode to inline (rather than static). Make string literals
14554        {lower,upper}HexDigits non-local and non-static, but const, to which the linker
14555        should merge references in the RO data segment.
14556
145572012-09-17  Filip Pizlo  <fpizlo@apple.com>
14558
14559        The ThreadRescrictionVerifier should be more forcibly disabled on systems that use threads
14560        https://bugs.webkit.org/show_bug.cgi?id=96957
14561
14562        Reviewed by Oliver Hunt.
14563
14564        * wtf/ThreadRestrictionVerifier.h:
14565        (WTF):
14566        (WTF::ThreadRestrictionVerifier::ThreadRestrictionVerifier):
14567        (ThreadRestrictionVerifier):
14568        (WTF::ThreadRestrictionVerifier::setMutexMode):
14569        (WTF::ThreadRestrictionVerifier::setDispatchQueueMode):
14570        (WTF::ThreadRestrictionVerifier::turnOffVerification):
14571        (WTF::ThreadRestrictionVerifier::setShared):
14572        (WTF::ThreadRestrictionVerifier::isSafeToUse):
14573
145742012-09-17  Sheriff Bot  <webkit.review.bot@gmail.com>
14575
14576        Unreviewed, rolling out r128796.
14577        http://trac.webkit.org/changeset/128796
14578        https://bugs.webkit.org/show_bug.cgi?id=96966
14579
14580        It broke everything (Requested by Ossy_NIGHT on #webkit).
14581
14582        * wtf/OSAllocatorPosix.cpp:
14583        (WTF::OSAllocator::reserveUncommitted):
14584        (WTF::OSAllocator::reserveAndCommit):
14585        (WTF::OSAllocator::commit):
14586        (WTF::OSAllocator::decommit):
14587
145882012-09-17  Uli Schlachter  <psychon@znc.in>
14589
14590        Implement uncommitted memory for Linux.
14591        https://bugs.webkit.org/show_bug.cgi?id=65766
14592
14593        Reviewed by Gavin Barraclough.
14594
14595        The old approach used MAP_NORESERVE to allocate address space without
14596        committing it. However, that flag gets ignored if
14597        /proc/sys/vm/overcommit_memory is set to 2. The new approach uses a
14598        mapping with PROT_NONE. This works because mappings which aren't even
14599        readable don't get accounted as committed on Linux.
14600
14601        * wtf/OSAllocatorPosix.cpp:
14602        (WTF::OSAllocator::reserveUncommitted):
14603        (WTF::OSAllocator::reserveAndCommit):
14604        (WTF::OSAllocator::commit):
14605        (WTF::OSAllocator::decommit):
14606
146072012-09-17  Filip Pizlo  <fpizlo@apple.com>
14608
14609        Array profiling has convergence issues
14610        https://bugs.webkit.org/show_bug.cgi?id=96891
14611
14612        Reviewed by Gavin Barraclough.
14613
14614        Added functions for testing if something is a power of 2.
14615
14616        * wtf/MathExtras.h:
14617        (hasZeroOrOneBitsSet):
14618        (hasTwoOrMoreBitsSet):
14619
146202012-09-17  Ilya Tikhonovsky  <loislo@chromium.org>
14621
14622        Web Inspector: NMI: now when we can detect instrumented classes we can
14623        remove addInstrumentedMember and use addMember for everything.
14624        https://bugs.webkit.org/show_bug.cgi?id=96913
14625
14626        Reviewed by Yury Semikhatsky.
14627
14628        * wtf/MemoryInstrumentation.h:
14629        (WTF::MemoryInstrumentation::addRootObject):
14630        (WTF::MemoryInstrumentation::addObject):
14631        (WTF::MemoryInstrumentation::addObjectImpl):
14632        (WTF):
14633        (WTF::MemoryInstrumentation::addInstrumentedCollection):
14634        (WTF::MemoryInstrumentation::addInstrumentedMapEntries):
14635        (WTF::MemoryInstrumentation::addInstrumentedMapValues):
14636        * wtf/text/AtomicString.cpp:
14637        (WTF::AtomicString::reportMemoryUsage):
14638        * wtf/text/CString.h:
14639        (WTF::CString::reportMemoryUsage):
14640        * wtf/text/StringImpl.cpp:
14641        (WTF::StringImpl::reportMemoryUsage):
14642        * wtf/text/WTFString.cpp:
14643        (WTF::String::reportMemoryUsage):
14644        * wtf/url/api/ParsedURL.cpp:
14645        (WTF::ParsedURL::reportMemoryUsage):
14646        * wtf/url/api/URLString.cpp:
14647        (WTF::URLString::reportMemoryUsage):
14648
146492012-09-17  Ilya Tikhonovsky  <loislo@chromium.org>
14650
14651        Unreviewed compilation fix.
14652
14653        * wtf/MemoryInstrumentation.h:
14654        (WTF::MemoryInstrumentation::reportObjectMemoryUsage):
14655
146562012-09-15  Yury Semikhatsky  <yurys@chromium.org>
14657
14658        Web Inspector: automatically detect if class has reportMemoryUsage method
14659        https://bugs.webkit.org/show_bug.cgi?id=96756
14660
14661        Reviewed by Alexander Pavlov.
14662
14663        Implemeted automatic selector of the memory reporting method. If
14664        an object has reportMemoryUsage method then call it. Otherwise
14665        count only object's self size. As the next step we will delete
14666        addInstrumentedMember and addInstrumentedObjectImpl and will
14667        have only addMember and addObjectImpl that would automatically
14668        call reportMemoryUsage if it is present.
14669
14670        * wtf/MemoryInstrumentation.h:
14671        (WTF::MemoryInstrumentation::selectInstrumentationMethod):
14672        (MemoryInstrumentation):
14673        (WTF::MemoryInstrumentation::reportObjectMemoryUsage):
14674        (WTF::MemoryInstrumentation::addInstrumentedObjectImpl):
14675        (WTF::MemoryInstrumentation::addObjectImpl):
14676        (WTF::::process):
14677
146782012-09-14  Yury Semikhatsky  <yurys@chromium.org>
14679
14680        Web Inspector: OwnPtr and RefPtr reported by pointer can be double counted by the memory instrumentation
14681        https://bugs.webkit.org/show_bug.cgi?id=96791
14682
14683        Reviewed by Alexander Pavlov.
14684
14685        * wtf/MemoryInstrumentation.h:
14686        (WTF::MemoryInstrumentation::addObjectImpl): check if the smart pointer has already
14687        been visited before counting its size.
14688
146892012-09-15  Benjamin Poulain  <benjamin@webkit.org>
14690
14691        Fix the build with WTF URL
14692        https://bugs.webkit.org/show_bug.cgi?id=96875
14693
14694        Reviewed by Adam Barth.
14695
14696        Add support for MemoryInstrumentation to WTF's URL classes.
14697
14698        * wtf/url/api/ParsedURL.cpp:
14699        (WTF::ParsedURL::reportMemoryUsage):
14700        * wtf/url/api/ParsedURL.h:
14701        (ParsedURL):
14702        * wtf/url/api/URLString.cpp:
14703        (WTF::URLString::reportMemoryUsage):
14704        * wtf/url/api/URLString.h:
14705        (URLString):
14706
147072012-09-15  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
14708
14709        llint: Implement LOCAL_LABEL_STRING for the BSD platforms.
14710        https://bugs.webkit.org/show_bug.cgi?id=96870
14711
14712        Reviewed by Filip Pizlo.
14713
14714        * wtf/InlineASM.h: Extend the definition of LOCAL_LABEL_STRING
14715        currently used for OS(LINUX) to the BSDs, since they also normally
14716        use GNU as, and clang/llvm seems to parse that syntax just fine as
14717        well.
14718
147192012-09-14  Alexey Proskuryakov  <ap@apple.com>
14720
14721        Minimize collisions when hashing pairs
14722        https://bugs.webkit.org/show_bug.cgi?id=96022
14723
14724        Build fix (with newer clang?)
14725
14726        * wtf/HashFunctions.h: (WTF::pairIntHash): Be explicit about casting from
14727        64 bit to 32 bit.
14728
147292012-09-14  Dana Jansens  <danakj@chromium.org>
14730
14731        Minimize collisions when hashing pairs
14732        https://bugs.webkit.org/show_bug.cgi?id=96022
14733
14734        Reviewed by Adrienne Walker.
14735
14736        The current hash function for pairs has poor performance as it does a
14737        nice hash function on 64 bits, but then just drops the top 32 bits. The
14738        hash method for pairs tries to use Thomas Wang's 64 bit Mix Function,
14739        but this requires not dropping any bits in order to retain the
14740        characteristics mentioned by Thomas.
14741
14742        A better method of hashing sets of 32-bit integers is to use
14743        multiplication in 64 bits with random integers. This method is a
14744        provably almost-universal hash function. Testing shows that this
14745        method decreases the time required, when compared with the current
14746        method, by more than 20% due to better hashing characteristics.
14747
14748        * wtf/HashFunctions.h:
14749        (WTF):
14750        (WTF::pairIntHash):
14751        Implments the hashing method for a pair of unsigned integers.
14752
14753        (WTF::PairHash::hash):
14754        Use pairIntHash() on the hash results of each object in the pair.
14755
14756        (WTF::IntPairHash::hash):
14757        Implement an integer-specific PairHash class that does not need to
14758        hash each object in the pair. It uses pairIntHash on the two
14759        integers in the pair directly.
14760
14761        (WTF::IntPairHash::equal):
14762        (IntPairHash):
14763
147642012-09-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
14765
14766        [Qt] Make force_static_libs_as_shared work on Mac OS
14767
14768        We had to move a few LIBS += around that were in the wrong place,
14769        and not caught when everything was just linked into the final
14770        QtWebKit library.
14771
14772        Reviewed by Simon Hausmann.
14773
14774        * WTF.pri:
14775
147762012-09-14  Ilya Tikhonovsky  <loislo@chromium.org>
14777
14778        Web Inspector: NMI: convert template versions of String*::reportMemoryUsage functions to normal functions.
14779        https://bugs.webkit.org/show_bug.cgi?id=96759
14780
14781        Reviewed by Yury Semikhatsky.
14782
14783        Now when MemoryInstrumentation.h is a part of WTF we can move reportMemoryUsage functions to cpp file.
14784
14785        * wtf/text/AtomicString.cpp:
14786        (WTF::AtomicString::reportMemoryUsage):
14787        (WTF):
14788        * wtf/text/AtomicString.h:
14789        (WTF):
14790        (AtomicString):
14791        * wtf/text/StringImpl.cpp:
14792        (WTF::StringImpl::reportMemoryUsage):
14793        (WTF):
14794        * wtf/text/StringImpl.h:
14795        (WTF):
14796        (StringImpl):
14797        * wtf/text/WTFString.cpp:
14798        (WTF::String::reportMemoryUsage):
14799        (WTF):
14800        * wtf/text/WTFString.h:
14801        (WTF):
14802        (String):
14803
148042012-09-14  Ilya Tikhonovsky  <loislo@chromium.org>
14805
14806        Web Inspector: NMI: remove current traits helper class because it is customizing the instrumentation at a wrong place and is not necessary at the moment.
14807        https://bugs.webkit.org/show_bug.cgi?id=96737
14808
14809        Reviewed by Yury Semikhatsky.
14810
14811        * wtf/MemoryInstrumentation.h:
14812        (MemoryInstrumentation):
14813        WTF::MemoryInstrumentationTraits): removed
14814        (WTF::MemoryInstrumentation::OwningTraits::addInstrumentedObject): direct call inserted
14815        (WTF::MemoryInstrumentation::OwningTraits::addObject):direct call inserted
14816
148172012-09-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
14818
14819        Evas_Object* is a ref'ed structure, so tread it as such
14820        https://bugs.webkit.org/show_bug.cgi?id=96659
14821
14822        Reviewed by Gyuyoung Kim.
14823
14824        Remove OwnPtr support for Evas_Object* and add support for it
14825        with RefPtr instead (the latter moved from WebCore).
14826
14827        * wtf/PlatformEfl.cmake:
14828        * wtf/efl/OwnPtrEfl.cpp:
14829        * wtf/efl/RefPtrEfl.cpp: Renamed from Source/WebCore/platform/efl/RefPtrEfl.cpp.
14830        (WTF):
14831        (WTF::refIfNotNull):
14832        (WTF::derefIfNotNull):
14833        * wtf/efl/RefPtrEfl.h: Renamed from Source/WebCore/platform/efl/RefPtrEfl.h.
14834        (WTF):
14835
148362012-09-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
14837
14838        Unreviewed, rolling out r128507.
14839        http://trac.webkit.org/changeset/128507
14840        https://bugs.webkit.org/show_bug.cgi?id=96659
14841
14842        Revert. r128507 makes too many crash in EFL layout test bots.
14843
14844        * wtf/PlatformEfl.cmake:
14845        * wtf/efl/OwnPtrEfl.cpp:
14846        (WTF::deleteOwnedPtr):
14847        (WTF):
14848
148492012-09-13  Kevin Funk  <kevin.funk@kdab.com>
14850
14851        Make compile with both OS(WINCE) and PLATFORM(QT) support
14852        https://bugs.webkit.org/show_bug.cgi?id=95536
14853
14854        Reviewed by Simon Hausmann.
14855
14856        Fixes for Windows CE.
14857
14858        * WTF.pri:
14859        Also include path for mt19937ar.c
14860        * wtf/unicode/icu/CollatorICU.cpp:
14861        Fix undeclared strdup() on CE7
14862        * wtf/Platform.h:
14863
148642012-09-13  Byungseon Shin  <xingri@gmail.com>
14865
14866        Fix for WTF fails to compile in thumb mode when llint is enabled.
14867        https://bugs.webkit.org/show_bug.cgi?id=96400
14868
14869        Reviewed by Filip Pizlo.
14870
14871        When using "+m" with Armv7 cross compiler assume offset range between +/- 4095
14872        (the largest possible offset range).
14873        However, ldrex/strex can only use offset range of 0~1020, so "+m" needed to be changed to "+Q".
14874        Ref. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54480
14875
14876        * wtf/Atomics.h:
14877        (WTF::weakCompareAndSwap):
14878
148792012-09-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
14880
14881        Evas_Object* is a ref'ed structure, so tread it as such
14882        https://bugs.webkit.org/show_bug.cgi?id=96659
14883
14884        Reviewed by Adam Barth.
14885
14886        Remove OwnPtr support for Evas_Object* and add support for it
14887        with RefPtr instead (the latter moved from WebCore).
14888
14889        * wtf/PlatformEfl.cmake:
14890        * wtf/efl/OwnPtrEfl.cpp:
14891        * wtf/efl/RefPtrEfl.cpp: Renamed from Source/WebCore/platform/efl/RefPtrEfl.cpp.
14892        (WTF):
14893        (WTF::refIfNotNull):
14894        (WTF::derefIfNotNull):
14895        * wtf/efl/RefPtrEfl.h: Renamed from Source/WebCore/platform/efl/RefPtrEfl.h.
14896        (WTF):
14897
148982012-09-13  Michael Saboff  <msaboff@apple.com>
14899
14900        Added 8 bit path to WidthIterator::advance()
14901        https://bugs.webkit.org/show_bug.cgi?id=96590
14902
14903        Reviewed by Geoffrey Garen.
14904
14905        Added new character constant for Hiragana Letter Small A.
14906
14907        * wtf/unicode/CharacterNames.h:
14908        (Unicode):
14909
149102012-09-13  Ilya Tikhonovsky  <loislo@chromium.org>
14911
14912        Web Inspector: NMI: instrument KURL directly.
14913        https://bugs.webkit.org/show_bug.cgi?id=96624
14914
14915        Reviewed by Yury Semikhatsky.
14916
14917        I replaced traits based instrumentation of KURL with reportMemoryUsage functions.
14918        CString* were also instrumented.
14919
14920        Drive by fix: Instrumentation code in QualifiedName was moved to cpp.
14921
14922        * wtf/text/CString.h:
14923        (CStringBuffer):
14924        (WTF::CStringBuffer::reportMemoryUsage):
14925        (CString):
14926        (WTF::CString::reportMemoryUsage):
14927
149282012-09-12  Ilya Tikhonovsky  <loislo@chromium.org>
14929
14930        Web Inspector: NMI: migrate core instrumentation code to WTF namespace
14931        https://bugs.webkit.org/show_bug.cgi?id=96511
14932
14933        Reviewed by Yury Semikhatsky.
14934
14935        After moving core NMI code to WTF namespace I removed forward declarations
14936        of MemoryObjectInfo and MemoryInstrumentation from WebCore headers and add
14937        forward declaration into wtf/Forward.h
14938
14939        * wtf/Forward.h:
14940        (WTF):
14941        * wtf/MemoryInstrumentation.h:
14942
149432012-09-12  Dan Bernstein  <mitz@apple.com>
14944
14945        Removed a reference to a file that doesn’t participate in any target.
14946
14947        * WTF.xcodeproj/project.pbxproj: Removed the reference to
14948        CONTRIBUTORS.pthreads-win32.
14949
149502012-09-11  Michael Saboff  <msaboff@apple.com>
14951
14952        Element::classAttributeChanged should use characters8/16 to find first non-whitespace
14953        https://bugs.webkit.org/show_bug.cgi?id=96446
14954
14955        Reviewed by Benjamin Poulain.
14956
14957        Added bit size related string accessors to AtomicString to support change.
14958
14959        * wtf/text/AtomicString.h:
14960        (AtomicString):
14961        (WTF::AtomicString::is8Bit):
14962        (WTF::AtomicString::characters8):
14963        (WTF::AtomicString::characters16):
14964
149652012-09-12  Michael Saboff  <msaboff@apple.com>
14966
14967        Build fixed for http://trac.webkit.org/changeset/128243
14968
14969        Unreviewed build fix.
14970
14971        Removed temporarily added function signature.
14972
14973        * icu/unicode/unistr.h:
14974        (UnicodeString::extract):
14975
149762012-09-12  Michael Saboff  <msaboff@apple.com>
14977
14978        Build fixed for http://trac.webkit.org/changeset/128243
14979
14980        Unreviewed build fix.
14981
14982        Change UnicodeString::extract for gcc based on ICU fix described in
14983        http://bugs.icu-project.org/trac/ticket/8197.
14984
14985        * icu/unicode/unistr.h:
14986        (UnicodeString::extract):
14987
149882012-09-12  Ilya Tikhonovsky  <loislo@chromium.org>
14989
14990        Web Inspector: NMI move String* instrumentation to wtf.
14991        https://bugs.webkit.org/show_bug.cgi?id=96405
14992
14993        Reviewed by Yury Semikhatsky.
14994
14995        This instrumentation is solving the problem with substrings and removes traits based code which is hard to upstream.
14996
14997        Tested by webkit_unit_tests.
14998
14999        * wtf/text/AtomicString.h:
15000        (AtomicString):
15001        (WTF::AtomicString::reportMemoryUsage):
15002        * wtf/text/StringImpl.h:
15003        (StringImpl):
15004        (WTF::StringImpl::reportMemoryUsage):
15005        * wtf/text/WTFString.h:
15006        (String):
15007        (WTF::String::reportMemoryUsage):
15008
150092012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
15010
15011        Unreviewed, rolling out r128279.
15012        http://trac.webkit.org/changeset/128279
15013        https://bugs.webkit.org/show_bug.cgi?id=96487
15014
15015        "Snow Leopard compilation broken" (Requested by yurys on
15016        #webkit).
15017
15018        * wtf/MemoryInstrumentation.h:
15019        (GenericMemoryTypes):
15020        (WebCore):
15021        (WebCore::MemoryInstrumentation::addRootObject):
15022        (WebCore::MemoryObjectInfo::reportObjectInfo):
15023        (WebCore::MemoryClassInfo::MemoryClassInfo):
15024        * wtf/text/AtomicString.h:
15025        (AtomicString):
15026        * wtf/text/StringImpl.h:
15027        * wtf/text/WTFString.h:
15028
150292012-09-12  Yury Semikhatsky  <yurys@chromium.org>
15030
15031        Web Inspector: Persistent handle referenced from ScriptWrappable is double counted
15032        https://bugs.webkit.org/show_bug.cgi?id=96483
15033
15034        Reviewed by Alexander Pavlov.
15035
15036        * wtf/MemoryInstrumentation.h:
15037        (WebCore::MemoryClassInfo::addWeakPointer): this method is expected to be
15038        used on fields that are pointers to objects which are parts of bigger memory
15039        blocks (field of another object, element in an array, object allocated in a
15040        memory arena etc.). We don't want to count such objects' memory separately
15041        from their owners but in order to be able to validates the memory instrumentation
15042        with clang plugin we need to make sure all fields in instrumented objects
15043        are reported.
15044        (MemoryClassInfo):
15045
150462012-09-12  Ilya Tikhonovsky  <loislo@chromium.org>
15047
15048        Web Inspector: NMI move String* instrumentation to wtf.
15049        https://bugs.webkit.org/show_bug.cgi?id=96405
15050
15051        Reviewed by Yury Semikhatsky.
15052
15053        This instrumentation is solving the problem with substrings and removes traits based code which is hard to upstream.
15054
15055        Tested by webkit_unit_tests.
15056
15057        * wtf/MemoryInstrumentation.h:
15058        (WebCore):
15059        (WebCore::MemoryInstrumentation::addRootObject):
15060        (WebCore::MemoryObjectInfo::reportObjectInfo):
15061        (WebCore::MemoryClassInfo::MemoryClassInfo):
15062        * wtf/text/AtomicString.h:
15063        (AtomicString):
15064        (WTF::AtomicString::reportMemoryUsage):
15065        * wtf/text/StringImpl.h:
15066        (StringImpl):
15067        (WTF::StringImpl::reportMemoryUsage):
15068        * wtf/text/WTFString.h:
15069        (String):
15070        (WTF::String::reportMemoryUsage):
15071
150722012-09-11  Michael Saboff  <msaboff@apple.com>
15073
15074        Build fixed for http://trac.webkit.org/changeset/128243
15075
15076        Unreviewed build fix.
15077
15078        Added missing include file needed by 96422 for C++ ICU APIs.
15079
15080        * icu/unicode/bytestream.h: Added.
15081        * icu/unicode/rep.h: Added.
15082        * icu/unicode/std_string.h: Added.
15083        * icu/unicode/strenum.h: Added.
15084        * icu/unicode/stringpiece.h: Added.
15085        * icu/unicode/unistr.h: Added.
15086        * icu/unicode/uobject.h: Added.
15087
150882012-09-11  Michael Saboff  <msaboff@apple.com>
15089
15090        Build fixed for http://trac.webkit.org/changeset/128243
15091
15092        Rubber stamped by Stephanie Lewis.
15093
15094        Added missing include file needed by 96422.
15095
15096        * icu/unicode/unorm2.h: Added.
15097
150982012-09-11  Michael Saboff  <msaboff@apple.com>
15099
15100        Build fixed for http://trac.webkit.org/changeset/128243
15101
15102        Rubber stamped by Stephanie Lewis.
15103
15104        Added missing include file needed by 96422.
15105
15106        * icu/unicode/ptypes.h: Added.
15107
151082012-09-11  Michael Saboff  <msaboff@apple.com>
15109
15110        Update ICU header files to more recent version
15111        https://bugs.webkit.org/show_bug.cgi?id=96422
15112
15113        Reviewed by Geoff Garen.
15114
15115        Updated ICU header files to 4.6.1.  Modifications made as part of the merge are:
15116        platform.h - Changed ifndef / define / endif for U_HAVE_UINT8_T, U_HAVE_UINT16_T, U_HAVE_UINT32_T,
15117            U_HAVE_UINT64_T, U_IS_BIG_ENDIAN and U_ENABLE_TRACING to match the existing platform.h
15118        putil.h (line 132) - Changes defined(U_WINDOWS) to defined(WIN32) || defined(OS2) to match existing putil.h
15119        ustring.h (line 945) - Wrapped macro argument cs with { (const UChar *)cs } to match existing ustring.h
15120        utypes.h (line 545) - Changed defined(U_WINDOWS) to defined(WIN32) to match existing utypes.h
15121
15122        * icu/unicode/localpointer.h: Added.
15123        * icu/unicode/parseerr.h:
15124        * icu/unicode/platform.h:
15125        * icu/unicode/putil.h:
15126        * icu/unicode/uchar.h:
15127        * icu/unicode/ucnv.h:
15128        * icu/unicode/ucnv_err.h:
15129        * icu/unicode/ucol.h:
15130        * icu/unicode/uconfig.h:
15131        * icu/unicode/uenum.h:
15132        * icu/unicode/uiter.h:
15133        * icu/unicode/uloc.h:
15134        * icu/unicode/umachine.h:
15135        * icu/unicode/unorm.h:
15136        * icu/unicode/urename.h:
15137        * icu/unicode/uscript.h:
15138        * icu/unicode/uset.h:
15139        * icu/unicode/ustring.h:
15140        * icu/unicode/utf.h:
15141        * icu/unicode/utf16.h:
15142        * icu/unicode/utf8.h:
15143        * icu/unicode/utypes.h:
15144        * icu/unicode/uvernum.h: Added.
15145        * icu/unicode/uversion.h:
15146
151472012-09-11  Pratik Solanki  <psolanki@apple.com>
15148
15149        Add ObjcRuntimeExtras.h to the Xcode project file
15150        https://bugs.webkit.org/show_bug.cgi?id=96419
15151
15152        Reviewed by Alexey Proskuryakov.
15153
15154        * WTF.xcodeproj/project.pbxproj:
15155
151562012-09-11  Adrienne Walker  <enne@google.com>
15157
15158        Clang doesn't optimize away undefined OwnPtr copy constructor
15159        https://bugs.webkit.org/show_bug.cgi?id=74625
15160
15161        Reviewed by Anders Carlsson.
15162
15163        Original patch by Anders Carlsson, with a minor edit.
15164
15165        The publicly declared-but-not-defined copy constructor is a compiler
15166        optimization-dependent landmine. Clang often fails to optimize the use
15167        of this function out, leading to internal linkage errors for the missing
15168        definition. gcc doesn't have this problem and optimizes that function
15169        out, leading to code that inconsistently fails to link across platforms.
15170
15171        As a partial fix for this problem, on any compiler that supports C++11
15172        move semantics, replace the bogus copy constructor with the move
15173        constructors.  In the future, if all compilers support this, then the
15174        copy constructor can be removed.
15175
15176        This still leaves other compilers that don't support move semantics
15177        like Visual Studio vulnerable to linking inconsistencies.
15178
15179        * wtf/OwnPtr.h:
15180        (OwnPtr):
15181        (WTF):
15182        (WTF::::OwnPtr):
15183        (WTF::=):
15184
151852012-09-11  Raphael Kubo da Costa  <rakuco@webkit.org>
15186
15187        [EFL] Rewrite the EFL-related Find modules
15188        https://bugs.webkit.org/show_bug.cgi?id=95237
15189
15190        Reviewed by Kenneth Rohde Christiansen.
15191
15192        * CMakeLists.txt: Stop setting the LINK_FLAGS property.
15193        * PlatformEfl.cmake: Add libraries and include directories for
15194        each Enlightenment Foundation Library used by the port.
15195
151962012-09-11  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
15197
15198        [Qt] Add a configure step to the Qt build system
15199
15200        This allows building the Qt port using just 'qmake WebKit.pro'. Using
15201        the build-webkit script is still supported, and will add slightly more
15202        logic to the build, such as detecting the need for clean or incremental
15203        builds.
15204
15205        Internally, the build system now uses a new variable, WEBKIT_CONFIG, for
15206        all things related to configuring the build, such as use/have/enable flags,
15207        and these are translated to defines in default_post. Project files should
15208        no longer check contains(DEFINES,...) to detect features, but use the new
15209        enable?(), use?(), and have?() functions. The no_webkit1 and no_webkit2
15210        options have been translated into WEBKIT_CONFIG options as well, and can
15211        be checked using build?().
15212
15213        Reviewed by Simon Hausmann.
15214
15215        * WTF.pri:
15216        * wtf/Platform.h:
15217
152182012-09-10  Ilya Tikhonovsky  <loislo@chromium.org>
15219
15220        Web Inspector: NMI: move MemoryInstrumentation.h to wtf
15221        https://bugs.webkit.org/show_bug.cgi?id=96356
15222
15223        Reviewed by Yury Semikhatsky.
15224
15225        It is necessary step because it helps us to remove dependency between platform and WebCore.
15226
15227        * GNUmakefile.list.am:
15228        * WTF.gypi:
15229        * WTF.pro:
15230        * WTF.vcproj/WTF.vcproj:
15231        * WTF.xcodeproj/project.pbxproj:
15232        * wtf/MemoryInstrumentation.h: Renamed from Source/WebCore/dom/MemoryInstrumentation.h.
15233        (WebCore):
15234        (GenericMemoryTypes):
15235        (MemoryInstrumentationTraits):
15236        (MemoryInstrumentation):
15237        (WebCore::MemoryInstrumentation::~MemoryInstrumentation):
15238        (WebCore::MemoryInstrumentation::addRootObject):
15239        (InstrumentedPointerBase):
15240        (WebCore::MemoryInstrumentation::InstrumentedPointerBase::~InstrumentedPointerBase):
15241        (InstrumentedPointer):
15242        (WebCore::MemoryInstrumentation::InstrumentedPointer::InstrumentedPointer):
15243        (WebCore::MemoryInstrumentation::addObject):
15244        (WebCore::MemoryInstrumentation::addInstrumentedObject):
15245        (WebCore::MemoryInstrumentation::addRawBuffer):
15246        (WebCore::MemoryInstrumentation::OwningTraits::addInstrumentedObject):
15247        (WebCore::MemoryInstrumentation::OwningTraits::addObject):
15248        (WebCore::MemoryInstrumentationTraits::addInstrumentedObject):
15249        (WebCore::MemoryInstrumentationTraits::addObject):
15250        (MemoryObjectInfo):
15251        (WebCore::MemoryObjectInfo::MemoryObjectInfo):
15252        (WebCore::MemoryObjectInfo::objectType):
15253        (WebCore::MemoryObjectInfo::objectSize):
15254        (WebCore::MemoryObjectInfo::memoryInstrumentation):
15255        (WebCore::MemoryObjectInfo::reportObjectInfo):
15256        (MemoryClassInfo):
15257        (WebCore::MemoryClassInfo::MemoryClassInfo):
15258        (WebCore::MemoryClassInfo::addInstrumentedMember):
15259        (WebCore::MemoryClassInfo::addMember):
15260        (WebCore::MemoryClassInfo::addHashMap):
15261        (WebCore::MemoryClassInfo::addHashSet):
15262        (WebCore::MemoryClassInfo::addHashCountedSet):
15263        (WebCore::MemoryClassInfo::addInstrumentedHashSet):
15264        (WebCore::MemoryClassInfo::addInstrumentedVector):
15265        (WebCore::MemoryClassInfo::addInstrumentedVectorPtr):
15266        (WebCore::MemoryClassInfo::addInstrumentedMapEntries):
15267        (WebCore::MemoryClassInfo::addInstrumentedMapValues):
15268        (WebCore::MemoryClassInfo::addListHashSet):
15269        (WebCore::MemoryClassInfo::addVector):
15270        (WebCore::MemoryClassInfo::addVectorPtr):
15271        (WebCore::MemoryClassInfo::addRawBuffer):
15272        (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
15273        (WebCore::MemoryInstrumentation::addObjectImpl):
15274        (WebCore::MemoryInstrumentation::addHashMap):
15275        (WebCore::MemoryInstrumentation::addHashSet):
15276        (WebCore::MemoryInstrumentation::addInstrumentedCollection):
15277        (WebCore::MemoryInstrumentation::addInstrumentedMapEntries):
15278        (WebCore::MemoryInstrumentation::addInstrumentedMapValues):
15279        (WebCore::MemoryInstrumentation::addListHashSet):
15280        (WebCore::MemoryInstrumentation::addVector):
15281        (WebCore::MemoryInstrumentation::calculateContainerSize):
15282        (WebCore::::process):
15283
152842012-09-09  Mark Lam  <mark.lam@apple.com>
15285
15286        Fixed ASSERT() and ASSERT_AT() macros so that they can be used in
15287        comma expressions. Also, added UNUSED_LABEL().
15288        https://bugs.webkit.org/show_bug.cgi?id=96127.
15289
15290        Reviewed by Geoffrey Garen.
15291
15292        * wtf/Assertions.h:
15293        * wtf/UnusedParam.h: Added UNUSED_LABEL(). Removed an obsolete comment.
15294
152952012-09-09  Patrick Gansterer  <paroga@webkit.org>
15296
15297        Add StringBuilder::appendNumber() and use it
15298        https://bugs.webkit.org/show_bug.cgi?id=96030
15299
15300        Reviewed by Eric Seidel.
15301
15302        Also fix a bunch of append() vs. appendLiteral() issues in the surrounding code.
15303
15304        * wtf/DateMath.cpp:
15305        (WTF::makeRFC2822DateString):
15306        * wtf/text/StringBuilder.cpp:
15307        (WTF::StringBuilder::appendNumber):
15308        * wtf/text/StringBuilder.h:
15309        (StringBuilder):
15310
153112012-09-09  Patrick Gansterer  <paroga@webkit.org>
15312
15313        Make the String initialization on the function side of String::number()
15314        https://bugs.webkit.org/show_bug.cgi?id=95940
15315
15316        Reviewed by Benjamin Poulain.
15317
15318        Un-Inline String::number() to make the String initialization done on the function side
15319        instead of being on the caller side.
15320
15321        * GNUmakefile.list.am:
15322        * WTF.gypi:
15323        * WTF.pro:
15324        * WTF.vcproj/WTF.vcproj:
15325        * WTF.xcodeproj/project.pbxproj:
15326        * wtf/CMakeLists.txt:
15327        * wtf/text/IntegerToStringConversion.cpp: Removed.
15328        * wtf/text/IntegerToStringConversion.h:
15329        (WTF::numberToStringImpl):
15330        (WTF::numberToStringSigned):
15331        (WTF::numberToStringUnsigned):
15332        * wtf/text/WTFString.cpp:
15333        (WTF::String::number):
15334        * wtf/text/WTFString.h:
15335
153362012-09-08  Andreas Kling  <kling@webkit.org>
15337
15338        Give AtomicString SimpleClassVectorTraits.
15339        <http://webkit.org/b/96186>
15340
15341        Reviewed by Karl Anders Carlsson.
15342
15343        AtomicString can be initialized/moved/compared with memset/memcpy/memcmp,
15344        so add a VectorTraits<AtomicString> to make Vector<AtomicString> a little
15345        more efficient.
15346
15347        * wtf/VectorTraits.h:
15348
153492012-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
15350
15351        Unreviewed, rolling out r127938.
15352        http://trac.webkit.org/changeset/127938
15353        https://bugs.webkit.org/show_bug.cgi?id=96166
15354
15355        It broke the build (Requested by smfr on #webkit).
15356
15357        * wtf/Assertions.h:
15358
153592012-09-07  Mark Lam  <mark.lam@apple.com>
15360
15361        Fixed ASSERT() and ASSERT_AT() macros so that they can be used in
15362        comma expressions.
15363        https://bugs.webkit.org/show_bug.cgi?id=96127.
15364
15365        Reviewed by Filip Pizlo.
15366
15367        * wtf/Assertions.h:
15368        (wtfAssert):
15369
153702012-09-07  Michael Saboff  <msaboff@apple.com>
15371
15372        StringImpl::find(StringImpl*) doesn't handle cases where search and match strings are different bitness
15373        https://bugs.webkit.org/show_bug.cgi?id=96125
15374
15375        Reviewed by Benjamin Poulain.
15376
15377        Changed findInner and reverseFindInner to be templated on both search and match character types.
15378        Changed both find's and reverseFind to use all four bitness combinations of findInner and
15379        reverseFindInner.
15380
15381        * wtf/text/StringImpl.cpp:
15382        (WTF::findInner):
15383        (WTF::StringImpl::find):
15384        (WTF::reverseFindInner):
15385        (WTF::StringImpl::reverseFind):
15386
153872012-09-07  Michael Saboff  <msaboff@apple.com>
15388
15389        equalIgnoringCase of two StringImpls doesn't handle 8 bit strings
15390        https://bugs.webkit.org/show_bug.cgi?id=96028
15391
15392        Reviewed by Benjamin Poulain.
15393
15394        Added 8 bit checks and paths to CaseFoldingHash::equal.  Also cleaned up StringHash::equal(), removing
15395        obvious and in one case wrong comments.  Moved equalIgnoringCase(UChar*, UChar*) from StringImpl.cpp
15396        to StringImpl.h.
15397
15398        * wtf/text/StringHash.h:
15399        (WTF::StringHash::equal):
15400        (WTF::CaseFoldingHash::equal):
15401        * wtf/text/StringImpl.cpp:
15402        * wtf/text/StringImpl.h:
15403        (WTF::equalIgnoringCase):
15404
154052012-09-07  Patrick Gansterer  <paroga@webkit.org>
15406
15407        [WIN] Deprecate String += operator
15408        https://bugs.webkit.org/show_bug.cgi?id=96083
15409
15410        Reviewed by Adam Barth.
15411
15412        * wtf/Platform.h:
15413
154142012-09-06  Michael Saboff  <msaboff@apple.com>
15415
15416        StringBuilder::toAtomicString() can create an 16 bit string with 8 bit contents
15417        https://bugs.webkit.org/show_bug.cgi?id=96029
15418
15419        Reviewed by Benjamin Poulain.
15420
15421        Added 8 bit path when creating an AtomicString from a partial 8 bit buffer.
15422
15423        * wtf/text/StringBuilder.h:
15424        (WTF::StringBuilder::toAtomicString):
15425
154262012-09-06  Michael Saboff  <msaboff@apple.com>
15427
15428        16 bit JSRopeString up converts an 8 bit fibers to 16 bits during resolution
15429        https://bugs.webkit.org/show_bug.cgi?id=95810
15430
15431        Reviewed by Benjamin Poulain.
15432
15433        New copy routine that takes an 8 bit source and a 16 bit destination.  Used when copying
15434        the contents of an 8 bit fiber to the 16 bit buffer when resolving a 16 bit rope.
15435
15436        * wtf/text/StringImpl.h:
15437        (WTF::StringImpl::copyChars):
15438        (StringImpl):
15439
154402012-09-06  Michael Saboff  <msaboff@apple.com>
15441
15442        Unreviewed fix to r127799.
15443        https://bugs.webkit.org/show_bug.cgi?id=95807
15444
15445        Unreviewed fix.
15446
15447        Removed extraneous "static".  This code is hidden behind STRING_STATS define and 
15448        therefore is not enabled by default.
15449
15450        * wtf/text/StringImpl.cpp:
15451
154522012-09-06  Lauro Neto  <lauro.neto@openbossa.org>
15453
15454        [Qt] Deprecate String += operator
15455        https://bugs.webkit.org/show_bug.cgi?id=95895
15456
15457        Reviewed by Benjamin Poulain.
15458
15459        Remove Qt from WTF_DEPRECATED_STRING_OPERATORS guard.
15460
15461        * wtf/Platform.h:
15462
154632012-09-06  Michael Saboff  <msaboff@apple.com>
15464
15465        ENH: Add Logging to StringImpl to track String Types
15466        https://bugs.webkit.org/show_bug.cgi?id=95807
15467
15468        Reviewed by Benjamin Poulain.
15469
15470        Added StringsStats class that keeps track of the number of strings, number of 8 and 16 bit
15471        strings as well as the number of 8 bit strings up converted to 16 bits. The number of characrters
15472        for each type is also accumulated. These statistics are output via DataLog every 5000
15473        calls to StringImpl destructor. The 5000 can be adjusted via s_printStringStatsFrequency.
15474        This StringStats code is disabled by default and enabled by defining STRING_STATS in
15475        wtf/text/StringImpl.h.
15476
15477        * wtf/text/StringImpl.cpp:
15478        (WTF::StringStats::removeString):
15479        (WTF::StringStats::printStats):
15480        (WTF::StringImpl::~StringImpl):
15481        (WTF::StringImpl::getData16SlowCase):
15482        * wtf/text/StringImpl.h:
15483        (WTF::StringStats::add8BitString):
15484        (StringStats):
15485        (WTF::StringStats::add16BitString):
15486        (WTF::StringStats::addUpconvertedString):
15487        (WTF::StringImpl::StringImpl):
15488        (StringImpl):
15489        (WTF::StringImpl::isSubString):
15490        (WTF::StringImpl::stringStats):
15491
154922012-09-06  Patrick Gansterer  <paroga@webkit.org>
15493
15494        Fix export macros in IntegerToStringConversion.h
15495        https://bugs.webkit.org/show_bug.cgi?id=95900
15496
15497        Reviewed by Benjamin Poulain.
15498
15499        The WTF_EXPORT_STRING_API must be used only for symbols which are compiled
15500        on windows in "non-WTF" binaries too. Since this isn't valid for the
15501        IntegerToStringConversion function replace it with WTF_EXPORT_PRIVATE.
15502
15503        * wtf/text/IntegerToStringConversion.h:
15504
155052012-09-06  Simon Hausmann  <simon.hausmann@nokia.com>
15506
15507        [Qt] Various small Windows / MSVC build fixes
15508        https://bugs.webkit.org/show_bug.cgi?id=95934
15509
15510        Reviewed by Kenneth Rohde Christiansen.
15511
15512        For the Qt build on Windows, do not enable WTF_USE_UNIX_DOMAIN_SOCKETS for
15513        WebKit2 IPC.
15514
15515        * wtf/Platform.h:
15516
155172012-09-06  Adam Barth  <abarth@chromium.org>
15518
15519        Remove WTF::String::operator+=
15520        https://bugs.webkit.org/show_bug.cgi?id=95797
15521
15522        Reviewed by Sam Weinig.
15523
15524        This patch encloses WTF::String::operator+= in an ifdef so that we can
15525        gradually remove it from the various port-specific files. The ifdef
15526        lets us whitelist use of operator+= in individual files during the
15527        transition.
15528
15529        * wtf/Platform.h
15530        * wtf/text/WTFString.h:
15531
155322012-09-05  Gabor Rapcsanyi  <rgabor@webkit.org>
15533
15534        DFG JIT doesn't work properly on ARM hardfp
15535        https://bugs.webkit.org/show_bug.cgi?id=95684
15536
15537        Reviewed by Filip Pizlo.
15538
15539        Add hardfp support to DFG JIT. The patch is created with the
15540        help of Zoltan Herczeg.
15541
15542        * wtf/Platform.h:
15543
155442012-09-04  Zoltan Horvath  <zoltan@webkit.org>
15545
15546        Extend the coverage of the Custom Allocation Framework in WTF and in JavaScriptCore
15547        https://bugs.webkit.org/show_bug.cgi?id=95737
15548
15549        Reviewed by Eric Seidel.
15550
15551        Add WTF_MAKE_FAST_ALLOCATED macro to the following class declarations because these are instantiated by operator new.
15552
15553        * wtf/CryptographicallyRandomNumber.cpp: CryptographicallyRandomNumber is instantiated at wtf/CryptographicallyRandomNumber.cpp:162.
15554        * wtf/MediaTime.h: MediaTime is instantiated at wtf/MediaTime.cpp:288.
15555        * wtf/MetaAllocator.h:
15556        (MetaAllocatorTracker): MetaAllocatorTracker is instantiated at JavaScriptCore/tools/CodeProfiling.cpp:120.
15557        * wtf/ThreadingPthreads.cpp:
15558        (PthreadState): PthreadState is instantiated at wtf/ThreadingPthreads.cpp:165.
15559        * wtf/text/AtomicString.cpp:
15560        (AtomicStringTable): AtomicStringTable is instantiated at wtf/text/AtomicString.cpp:43.
15561
155622012-09-01  Mark Lam  <mark.lam@apple.com>
15563
15564        LLInt C loop backend.
15565        https://bugs.webkit.org/show_bug.cgi?id=91052.
15566
15567        Reviewed by Filip Pizlo.
15568
15569        Added configs for the llint C loop backend.
15570
15571        * wtf/Platform.h:
15572
155732012-08-31  Pratik Solanki  <psolanki@apple.com>
15574
15575        objc_msgSend and IMP should be cast appropriately before using
15576        https://bugs.webkit.org/show_bug.cgi?id=95242
15577
15578        Reviewed by Benjamin Poulain.
15579
15580        Fix for older compilers. Pass id as the return type to the template
15581        instead of relying on default type.
15582
15583        * wtf/Functional.h:
15584        (WTF::R):
15585        * wtf/ObjcRuntimeExtras.h:
15586
155872012-08-31  Michael Saboff  <msaboff@apple.com>
15588
15589        CSS Parser should directly parse 8 bit source strings
15590        https://bugs.webkit.org/show_bug.cgi?id=95207
15591
15592        Reviewed by Geoffrey Garen.
15593
15594        * wtf/text/StringImpl.h:
15595        (WTF::equalIgnoringCase): Added (const char*, const LChar*, unsigned) flavor to support
15596        8 bit CSS parser work.
15597
155982012-08-30  Benjamin Poulain  <bpoulain@apple.com>
15599
15600        AtomicString(ASCIILiteral) should not compile
15601        https://bugs.webkit.org/show_bug.cgi?id=95413
15602
15603        Reviewed by Adam Barth.
15604
15605        * wtf/text/AtomicString.h:
15606        (AtomicString): Declare the constructor from ASCIILiteral private to ensure it is
15607        not used by accident.
15608
156092012-08-30  Benjamin Poulain  <bpoulain@apple.com>
15610
15611        Ambiguous operator[]  after r127191 on some compiler
15612        https://bugs.webkit.org/show_bug.cgi?id=95509
15613
15614        Reviewed by Simon Fraser.
15615
15616        * wtf/text/WTFString.h:
15617        (WTF::String::characterAt): At this as a synonym to operator[] to attempt a build fix.
15618
156192012-08-30  Mark Lam  <mark.lam@apple.com>
15620
15621        Render unto #ifdef's that which belong to them.
15622        https://bugs.webkit.org/show_bug.cgi?id=95482.
15623
15624        Reviewed by Filip Pizlo.
15625
15626        * wtf/Platform.h: Added ENABLE(COMPUTED_GOTO_OPCODES).
15627
156282012-08-30  Pratik Solanki  <psolanki@apple.com>
15629
15630        objc_msgSend and IMP should be cast appropriately before using
15631        https://bugs.webkit.org/show_bug.cgi?id=95242
15632
15633        Reviewed by Benjamin Poulain.
15634
15635        Add new templates wtfObjcMsgSend and wtfCallIMP that do the appropriate
15636        casts to correctly typed function pointers before calling objc_msgSend
15637        and IMP methods directly.
15638
15639        * wtf/Functional.h:
15640        (WTF::R): Use wtfObjcMsgSend.
15641        * wtf/ObjcRuntimeExtras.h: Added.
15642        (wtfObjcMsgSend):
15643        (wtfCallIMP):
15644
156452012-08-30  Benjamin Poulain  <bpoulain@apple.com>
15646
15647        Replace JSC::UString by WTF::String
15648        https://bugs.webkit.org/show_bug.cgi?id=95271
15649
15650        Reviewed by Geoffrey Garen.
15651
15652        * wtf/Platform.h: Useless edit to force a full build. This is needed for some bots for some reason.
15653        * wtf/text/WTFString.h: Export a symbol that was exported on UString and needed in WebCore.
15654
15655        Add String::getCharactersWithUpconvert<>(), which is similar to String::getCharacters<>() but with the same
15656        behaviors as UString::getCharacters<>().
15657
15658        String::getCharactersWithUpconvert<>() is useful when manipulating multiple strings, it allow writting code
15659        using 16bits characters if any of the input String is not 8bit.
15660
156612012-08-30  Yong Li  <yoli@rim.com>
15662
15663        Vector::shrinkToFit should use realloc when suitable.
15664        https://bugs.webkit.org/show_bug.cgi?id=94810
15665
15666        Reviewed by Benjamin Poulain.
15667
15668        Only tested on BlackBerry. So it is wrapped with PLATFORM(BLACKBERRY) in the mean time.
15669        Use realloc to shrink buffer when inline buffer isn't involved and and canMoveWithMemcpy is true.
15670
15671        When running the test code attached to the bug, it gives 30-45% performance boost for the large blocks
15672        (Every test cycle includes an extra pair of malloc/free, so the boost on shrinkToFit() is even bigger)
15673        Performance impact on small blocks is not noticeable. (Tested on BlackBerry)
15674
15675        * wtf/Vector.h:
15676        (WTF::VectorBufferBase::shouldReallocateBuffer):
15677        (VectorBufferBase):
15678        (WTF::VectorBufferBase::reallocateBuffer):
15679        (VectorBuffer):
15680        (WTF::VectorBuffer::shouldReallocateBuffer):
15681        (WTF::VectorBuffer::reallocateBuffer):
15682        (WTF::VectorBuffer::inlineBuffer):
15683        (WTF::::shrinkCapacity):
15684
156852012-08-30  Patrick Gansterer  <paroga@webkit.org>
15686
15687        Build fix for COMPILER(MSVC) && !CPU(X86) after r127001.
15688
15689        * wtf/MathExtras.h:
15690        (lrint): Added additional parentheses to silence compiler warning.
15691
156922012-08-29  Benjamin Poulain  <bpoulain@apple.com>
15693
15694        REGRESSION(r126780): Crash using StringImpl::is8Bit before checking if there is an impl
15695        https://bugs.webkit.org/show_bug.cgi?id=95380
15696
15697        Reviewed by Michael Saboff.
15698
15699        Blindly copying code from UString in r126780 was stupid. I just brought over a bug.
15700        This patch adds the zero length branch back so that null strings are handled correctly.
15701
15702        * wtf/text/WTFString.cpp:
15703        (WTF::String::ascii): Return a empty CString if the String is null or empty.
15704
157052012-08-29  Dominik Röttsches  <dominik.rottsches@intel.com>
15706
15707        The 2d.imageData.object.round canvas test is failing
15708        https://bugs.webkit.org/show_bug.cgi?id=40272
15709
15710        Reviewed by Benjamin Poulain.
15711
15712        Updating previous patch to address Benjamin's comments.
15713        #ifdef in Uint8ClampedArray removed, fallback implementation for MSVC on non-X86 added.
15714
15715        * wtf/MathExtras.h:
15716        (lrint): Fallback implementation for non-X86 & MSVC case.
15717        * wtf/Uint8ClampedArray.h: Removed #ifdef.
15718
157192012-08-28  Sheriff Bot  <webkit.review.bot@gmail.com>
15720
15721        Unreviewed, rolling out r126914.
15722        http://trac.webkit.org/changeset/126914
15723        https://bugs.webkit.org/show_bug.cgi?id=95239
15724
15725        it breaks everything and fixes nothing (Requested by pizlo on
15726        #webkit).
15727
15728        * wtf/HashCountedSet.h:
15729        (WTF::::add):
15730        (WTF::::remove):
15731        (WTF::copyToVector):
15732        * wtf/HashIterators.h:
15733        (WTF::HashTableConstKeysIterator::get):
15734        (WTF::HashTableConstValuesIterator::get):
15735        (WTF::HashTableKeysIterator::get):
15736        (WTF::HashTableValuesIterator::get):
15737        * wtf/HashMap.h:
15738        (WTF::KeyValuePairKeyExtractor::extract):
15739        (WTF::HashMapValueTraits::isEmptyValue):
15740        (WTF::HashMapTranslator::translate):
15741        (WTF::HashMapTranslatorAdapter::translate):
15742        (WTF::::set):
15743        (WTF::::get):
15744        (WTF::::take):
15745        (WTF::operator==):
15746        (WTF):
15747        (WTF::deleteAllPairSeconds):
15748        (WTF::deleteAllValues):
15749        (WTF::deleteAllPairFirsts):
15750        (WTF::deleteAllKeys):
15751        * wtf/HashTable.h:
15752        (WTF::hashTableSwap):
15753        (WTF::::checkTableConsistencyExceptSize):
15754        * wtf/HashTraits.h:
15755        (WTF::KeyValuePair::KeyValuePair):
15756        (KeyValuePair):
15757        (WTF::KeyValuePairHashTraits::constructDeletedValue):
15758        (WTF::KeyValuePairHashTraits::isDeletedValue):
15759        * wtf/MetaAllocator.cpp:
15760        (WTF::MetaAllocator::addFreeSpace):
15761        (WTF::MetaAllocator::incrementPageOccupancy):
15762        (WTF::MetaAllocator::decrementPageOccupancy):
15763        * wtf/RefCountedLeakCounter.cpp:
15764        (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
15765        * wtf/RefPtrHashMap.h:
15766        (WTF::::set):
15767        (WTF::::get):
15768        (WTF::::inlineGet):
15769        (WTF::::take):
15770        * wtf/Spectrum.h:
15771        (WTF::Spectrum::add):
15772        (WTF::Spectrum::get):
15773        (WTF::Spectrum::buildList):
15774        * wtf/ThreadingPthreads.cpp:
15775        (WTF::identifierByPthreadHandle):
15776
157772012-08-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
15778
15779        Rename first/second to key/value in HashMap iterators
15780        https://bugs.webkit.org/show_bug.cgi?id=82784
15781
15782        Reviewed by Eric Seidel.
15783
15784        * wtf/HashCountedSet.h:
15785        (WTF::::add):
15786        (WTF::::remove):
15787        (WTF::copyToVector):
15788        * wtf/HashIterators.h:
15789        (WTF::HashTableConstKeysIterator::get):
15790        (WTF::HashTableConstValuesIterator::get):
15791        (WTF::HashTableKeysIterator::get):
15792        (WTF::HashTableValuesIterator::get):
15793        * wtf/HashMap.h:
15794        (WTF::KeyValuePairKeyExtractor::extract):
15795        (WTF::HashMapValueTraits::isEmptyValue):
15796        (WTF::HashMapTranslator::translate):
15797        (WTF::HashMapTranslatorAdapter::translate):
15798        (WTF::::set):
15799        (WTF::::get):
15800        (WTF::::take):
15801        (WTF::operator==):
15802        (WTF::deleteAllValues):
15803        (WTF::deleteAllKeys):
15804        Remove deleteAllPairFirsts/Seconds.
15805
15806        * wtf/HashTable.h:
15807        (WTF::hashTableSwap):
15808        (WTF::::checkTableConsistencyExceptSize):
15809        * wtf/HashTraits.h:
15810        (WTF::KeyValuePair::KeyValuePair):
15811        (KeyValuePair):
15812        (WTF::KeyValuePairHashTraits::constructDeletedValue):
15813        (WTF::KeyValuePairHashTraits::isDeletedValue):
15814        * wtf/MetaAllocator.cpp:
15815        (WTF::MetaAllocator::addFreeSpace):
15816        (WTF::MetaAllocator::incrementPageOccupancy):
15817        (WTF::MetaAllocator::decrementPageOccupancy):
15818        * wtf/RefCountedLeakCounter.cpp:
15819        (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
15820        * wtf/RefPtrHashMap.h:
15821        (WTF::::set):
15822        (WTF::::get):
15823        (WTF::::inlineGet):
15824        (WTF::::take):
15825        * wtf/Spectrum.h:
15826        (WTF::Spectrum::add):
15827        (WTF::Spectrum::get):
15828        (WTF::Spectrum::buildList):
15829        * wtf/ThreadingPthreads.cpp:
15830        (WTF::identifierByPthreadHandle):
15831
158322012-08-27  Sheriff Bot  <webkit.review.bot@gmail.com>
15833
15834        Unreviewed, rolling out r126836.
15835        http://trac.webkit.org/changeset/126836
15836        https://bugs.webkit.org/show_bug.cgi?id=95163
15837
15838        Broke all Apple ports, EFL, and Qt. (Requested by tkent on
15839        #webkit).
15840
15841        * wtf/HashCountedSet.h:
15842        (WTF::::add):
15843        (WTF::::remove):
15844        (WTF::copyToVector):
15845        * wtf/HashIterators.h:
15846        (WTF::HashTableConstKeysIterator::get):
15847        (WTF::HashTableConstValuesIterator::get):
15848        (WTF::HashTableValuesIterator::get):
15849        * wtf/HashMap.h:
15850        (WTF::KeyValuePairKeyExtractor::extract):
15851        (WTF::HashMapValueTraits::isEmptyValue):
15852        (WTF::HashMapTranslator::translate):
15853        (WTF::HashMapTranslatorAdapter::translate):
15854        (WTF::::set):
15855        (WTF::::get):
15856        (WTF::::take):
15857        (WTF::operator==):
15858        (WTF):
15859        (WTF::deleteAllPairSeconds):
15860        (WTF::deleteAllValues):
15861        (WTF::deleteAllPairFirsts):
15862        (WTF::deleteAllKeys):
15863        * wtf/HashTable.h:
15864        (WTF::hashTableSwap):
15865        (WTF::::checkTableConsistencyExceptSize):
15866        * wtf/HashTraits.h:
15867        (WTF::KeyValuePair::KeyValuePair):
15868        (KeyValuePair):
15869        (WTF::KeyValuePairHashTraits::constructDeletedValue):
15870        (WTF::KeyValuePairHashTraits::isDeletedValue):
15871        * wtf/MetaAllocator.cpp:
15872        (WTF::MetaAllocator::addFreeSpace):
15873        (WTF::MetaAllocator::incrementPageOccupancy):
15874        (WTF::MetaAllocator::decrementPageOccupancy):
15875        * wtf/RefCountedLeakCounter.cpp:
15876        (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
15877        * wtf/RefPtrHashMap.h:
15878        (WTF::::set):
15879        (WTF::::get):
15880        (WTF::::inlineGet):
15881        (WTF::::take):
15882        * wtf/Spectrum.h:
15883        (WTF::Spectrum::add):
15884        (WTF::Spectrum::get):
15885        (WTF::Spectrum::buildList):
15886        * wtf/ThreadingPthreads.cpp:
15887        (WTF::identifierByPthreadHandle):
15888
158892012-08-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
15890
15891        Rename first/second to key/value in HashMap iterators
15892        https://bugs.webkit.org/show_bug.cgi?id=82784
15893
15894        Reviewed by Eric Seidel.
15895
15896        * wtf/HashCountedSet.h:
15897        (WTF::::add):
15898        (WTF::::remove):
15899        (WTF::copyToVector):
15900        * wtf/HashIterators.h:
15901        (WTF::HashTableConstKeysIterator::get):
15902        (WTF::HashTableConstValuesIterator::get):
15903        (WTF::HashTableValuesIterator::get):
15904        * wtf/HashMap.h:
15905        (WTF::KeyValuePairKeyExtractor::extract):
15906        (WTF::HashMapValueTraits::isEmptyValue):
15907        (WTF::HashMapTranslator::translate):
15908        (WTF::HashMapTranslatorAdapter::translate):
15909        (WTF::::set):
15910        (WTF::::get):
15911        (WTF::::take):
15912        (WTF::operator==):
15913        (WTF::deleteAllValues):
15914        (WTF::deleteAllKeys):
15915        Remove deleteAllPairFirsts/Seconds.
15916
15917        * wtf/HashTable.h:
15918        (WTF::hashTableSwap):
15919        (WTF::::checkTableConsistencyExceptSize):
15920        * wtf/HashTraits.h:
15921        (WTF::KeyValuePair::KeyValuePair):
15922        (KeyValuePair):
15923        (WTF::KeyValuePairHashTraits::constructDeletedValue):
15924        (WTF::KeyValuePairHashTraits::isDeletedValue):
15925        * wtf/MetaAllocator.cpp:
15926        (WTF::MetaAllocator::addFreeSpace):
15927        (WTF::MetaAllocator::incrementPageOccupancy):
15928        (WTF::MetaAllocator::decrementPageOccupancy):
15929        * wtf/RefCountedLeakCounter.cpp:
15930        (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
15931        * wtf/RefPtrHashMap.h:
15932        (WTF::::set):
15933        (WTF::::get):
15934        (WTF::::inlineGet):
15935        (WTF::::take):
15936        * wtf/Spectrum.h:
15937        (WTF::Spectrum::add):
15938        (WTF::Spectrum::get):
15939        (WTF::Spectrum::buildList):
15940        * wtf/ThreadingPthreads.cpp:
15941        (WTF::identifierByPthreadHandle):
15942
159432012-08-27  Benjamin Poulain  <benjamin@webkit.org>
15944
15945        Add ECMAScript Number to String conversion to WTF::String
15946        https://bugs.webkit.org/show_bug.cgi?id=95016
15947
15948        Reviewed by Geoffrey Garen.
15949
15950        * wtf/text/WTFString.cpp:
15951        (WTF::String::numberToStringECMAScript):
15952        * wtf/text/WTFString.h:
15953        Add the implementation of numberToStringECMAScript(double) from UString to String.
15954        This will make it easier to replace UString in the future.
15955
159562012-08-27  Benjamin Poulain  <benjamin@webkit.org>
15957
15958        Even up WTF::String to CString functions
15959        https://bugs.webkit.org/show_bug.cgi?id=95008
15960
15961        Reviewed by Sam Weinig.
15962
15963        Apply advantages from UString to WTF::String.
15964
15965        * wtf/text/WTFString.cpp:
15966        (WTF::String::ascii): There is no need to special case the null length, both
15967        following branches use CString::newUninitialized(), which create empty string
15968        for null length.
15969        (WTF::String::latin1): Use characters16() instead of characters() to avoid
15970        testing is8Bit() a second time.
15971
159722012-08-24  Benjamin Poulain  <benjamin@webkit.org>
15973
15974        Touch Platform.h to solve a build dependency issue
15975
15976        Unreviewed.
15977
15978        * wtf/Platform.h:
15979
159802012-08-24  Benjamin Poulain  <bpoulain@apple.com>
15981
15982        Unify Number to StringImpl conversion
15983        https://bugs.webkit.org/show_bug.cgi?id=94879
15984
15985        Reviewed by Geoffrey Garen.
15986
15987        Previously, UString::number() and String::number() used different implementations.
15988
15989        WTF::String::number() was simply forwarding to String::format().
15990        UString::number() had an optimized version of the conversion.
15991
15992        This patch replace both implementation by a new version, faster than the two previous versions.
15993
15994        The new functions numberToStringImpl improvements are:
15995        -about 3 times faster than String::number().
15996        -14% faster than UString::number() on signed numbers.
15997        -9% faster than UString::number() on unsigned numbers.
15998
15999        * GNUmakefile.list.am:
16000        * WTF.gypi:
16001        * WTF.pro:
16002        * WTF.vcproj/WTF.vcproj:
16003        * WTF.xcodeproj/project.pbxproj:
16004        * wtf/CMakeLists.txt:
16005        * wtf/text/IntegerToStringConversion.cpp: Added.
16006        (WTF::numberToStringImplSigned):
16007        (WTF::numberToStringImpl):
16008        (WTF::numberToStringImplUnsigned):
16009        * wtf/text/IntegerToStringConversion.h: Added.
16010        * wtf/text/WTFString.cpp:
16011        (WTF::String::format):
16012        * wtf/text/WTFString.h:
16013        (WTF::String::number):
16014
160152012-08-24  Andras Becsi  <andras.becsi@nokia.com>
16016
16017        [Qt] Be more explicit about the ICU dependency in the error message
16018
16019        Rubber-stamped by Simon Hausmann.
16020
16021        When building QtWebKit with a Qt5 which was not configured with libICU support
16022        the error message is somewhat ambiguous about the indirect dependency.
16023
16024        * WTF.pri:
16025
160262012-08-23  Julien Chaffraix  <jchaffraix@webkit.org>
16027
16028        [Chromium] Enable AtomicString && CString && WTFString && StringImpl unit tests
16029        https://bugs.webkit.org/show_bug.cgi?id=94871
16030
16031        Reviewed by Benjamin Poulain.
16032
16033        * wtf/PassRefPtr.h:
16034        We need to include Assertions.h due to the COMPILE_ASSERT added in r89283.
16035        This matches other files in WTF though I am not sure why Chromium is the only
16036        platform complaining about that.
16037
160382012-08-23  Mark Rowe  <mrowe@apple.com>
16039
16040        Build fix for old, old versions of Clang.
16041
16042        * wtf/FastMalloc.cpp:
16043        (WTF): Rejigger things so that they parse correctly if __has_warning isn't defined.
16044
160452012-08-23  Emil A Eklund  <eae@chromium.org>
16046
16047        Add saturation arithmetic support to FractionalLayoutUnit
16048        https://bugs.webkit.org/show_bug.cgi?id=94364
16049
16050        Reviewed by Benjamin Poulain.
16051
16052        Add support functions for saturated addition and subtraction.
16053
16054        Test: TestWebKitAPI/Tests/WTF/SaturatedArithmeticOperations.cpp
16055
16056        * GNUmakefile.list.am:
16057        * WTF.gypi:
16058        * WTF.pro:
16059        * WTF.vcproj/WTF.vcproj:
16060        * WTF.xcodeproj/project.pbxproj:
16061        * WTF/wtf/CMakeLists.txt:
16062        Add SaturatedArithmetic.h to build files.
16063
16064        * wtf/SaturatedArithmetic.h: Added.
16065        (saturatedAddition):
16066        (saturatedSubtraction):
16067        Support functions for saturated addition/subtraction. Compares the signed
16068        bit of the values instead of using range checks to reduce branching.
16069
16070        * wtf/Platform.h:
16071        Add ENABLE_SATURATED_LAYOUT_ARITHMETIC flag.
16072
160732012-08-23  Mark Rowe  <mrowe@apple.com>
16074
16075        Roll back in the part of r126475 that I had rolled out.
16076
16077        * wtf/FastMalloc.cpp:
16078        (WTF): Disable the -Wunused-private-field warning around the declaration of
16079        TCMalloc_Central_FreeListPadded since the padding is intentionally unused.
16080        Only disable the warning if we detect it is enabled, since the warning may not
16081        be supported by the version of Clang that is being used.
16082
160832012-08-23  Mark Rowe  <mrowe@apple.com>
16084
16085        Roll out part of r126475 that breaks the build with older versions of Clang.
16086
16087        * wtf/FastMalloc.cpp:
16088
160892012-08-23  Mark Rowe  <mrowe@apple.com>
16090
16091        Make WTF build with the latest version of clang.
16092
16093        Reviewed by Dan Bernstein.
16094
16095        * wtf/FastMalloc.cpp:
16096        (WTF): Disable the -Wunused-private-field warning around the declaration of
16097        TCMalloc_Central_FreeListPadded since the padding is intentionally unused.
16098        (WTF::AdminRegionRecorder): Remove the unused m_reader member.
16099        (WTF::FastMallocZone::enumerate): Don't pass in the RemoteMemoryReader since
16100        it is no longer needed.
16101
161022012-08-22  Geoffrey Garen  <ggaren@apple.com>
16103
16104        Fixed a fastMallocForbid/Allow compile error for some compilers
16105        https://bugs.webkit.org/show_bug.cgi?id=94775
16106
16107        Reviewed by Gavin Barraclough.
16108
16109        * wtf/FastMalloc.h:
16110        (WTF::fastMallocForbid()):
16111        (WTF::fastMallocAllow()): Export, since these are called by JavaScriptCore.
16112
161132012-08-22  Geoffrey Garen  <ggaren@apple.com>
16114
16115        ThreadRestrictionVerifier should be opt-in, not opt-out
16116        https://bugs.webkit.org/show_bug.cgi?id=94761
16117
16118        Reviewed by Mark Hahnenberg.
16119
16120        WebKit's JavaScript engine supports use on multiple threads, so default-on
16121        is not appropriate for most of our objects, and it causes lots of suprious
16122        assertions.
16123
16124        * wtf/MetaAllocator.cpp:
16125        (WTF::MetaAllocatorHandle::MetaAllocatorHandle): No need to turn off
16126        explicitly, since it's off by default now.
16127
16128        * wtf/ThreadRestrictionVerifier.h:
16129        (WTF::ThreadRestrictionVerifier::ThreadRestrictionVerifier): Turn off by default.
16130
16131        (WTF::ThreadRestrictionVerifier::setMutexMode):
16132        (WTF::ThreadRestrictionVerifier::setDispatchQueueMode):
16133        (WTF::ThreadRestrictionVerifier::turnOffVerification): These assertions
16134        about state transitions were inconsistent with each other, and impossible
16135        to maintain with default off, so I removed them.
16136
161372012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
16138
16139        [Qt] Optionally support smooth-scrolling on all platforms
16140        https://bugs.webkit.org/show_bug.cgi?id=74926
16141
16142        Reviewed by Simon Hausmann.
16143
16144        Initialize GESTURE_ANIMATION feature flag.
16145
16146        * wtf/Platform.h:
16147
161482012-08-21  Mark Hahnenberg  <mhahnenberg@apple.com>
16149
16150        WTF Threading leaks kernel objects on platforms that use pthreads
16151        https://bugs.webkit.org/show_bug.cgi?id=94636
16152
16153        Reviewed by Geoffrey Garen.
16154
16155        Creating lots of Web workers on Mac platforms leaks lots of Mach ports. Eventually, the 
16156        process can exhaust its allocation of Mach ports from the kernel, which can then cause 
16157        all sorts of badness, including the inability to allocate new virtual memory from the 
16158        kernel. ThreadingPthreads.cpp and ThreadIdentifierDataPthreads.cpp need to be refactored 
16159        so that we do not leak these kernel resources. I would assume that we also leak kernel 
16160        resources on other pthreads platforms as well.
16161
16162        * wtf/ThreadIdentifierDataPthreads.cpp:
16163        (WTF):
16164        (WTF::ThreadIdentifierData::~ThreadIdentifierData): Now calls the event threadDidExit, which 
16165        handles all relevant tear-down of the thread metadata in the thread map.
16166        * wtf/ThreadingPthreads.cpp: Added a new class called PthreadState that encapsulates the 
16167        state of a thread and the possible transitions between those states.
16168        (PthreadState):
16169        (WTF::PthreadState::PthreadState):
16170        (WTF::PthreadState::joinableState): Returns the current state of the pthread.
16171        (WTF::PthreadState::pthreadHandle): Returns the pthread_t for this particular thread. This needs to 
16172        remain valid even after the thread has exited because somebody could come along at any time in the 
16173        future and call join on the thread.
16174        (WTF::PthreadState::didBecomeDetached): Signals that the thread was detached.
16175        (WTF::PthreadState::didExit): Signals that the thread's exit destructor (~ThreadIdentifierData) has run.
16176        (WTF::PthreadState::didJoin): Signals that the thread has been joined on successfully.
16177        (WTF::PthreadState::hasExited): Returns whether or not the thread's exit destructor has run.
16178        (WTF):
16179        (WTF::identifierByPthreadHandle): Changed to also check hasExited() on the threads it finds in the map. We 
16180        should only have one valid pthread_t in the map, but there are other pthread_t's that need to remain in the 
16181        thread map for when somebody joins on that thread id later.
16182        (WTF::establishIdentifierForPthreadHandle): Changed to put the allocate the new PthreadState data structure and 
16183        put it in the map.
16184        (WTF::pthreadHandleForIdentifierWithLockAlreadyHeld):
16185        (WTF::wtfThreadEntryPoint):
16186        (WTF::waitForThreadCompletion): We now do the relevant cleanup after the specified thread has been 
16187        successfully joined on depending on if the joined thread has already exited.
16188        (WTF::detachThread): Performs relevant cleanup if the thread has already exited. Otherwise signals to the 
16189        PthreadState that the thread has been detached.
16190        (WTF::threadDidExit): Function called by ~ThreadIdentifierData to indicate that the thread has exited. 
16191        Only cleans up after itself if the thread isn't Joinable (i.e. Joined or Detached).
16192
161932012-08-21  Ulan Degenbaev  <ulan@chromium.org>
16194
16195        Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer constructed and destructed
16196        https://bugs.webkit.org/show_bug.cgi?id=92993
16197
16198        Reviewed by Kenneth Russell.
16199
16200        Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer
16201        is constructed and destructed so that V8's garbage collection
16202        heuristics can account for the memory held by these objects.
16203
16204        * wtf/ArrayBuffer.h:
16205        (WTF):
16206        (ArrayBufferDeallocationObserver):
16207        (WTF::ArrayBufferContents::ArrayBufferContents):
16208        (WTF::ArrayBufferContents::transfer):
16209        (ArrayBufferContents):
16210        (ArrayBuffer):
16211        (WTF::ArrayBuffer::setDeallocationObserver):
16212        (WTF::ArrayBufferContents::~ArrayBufferContents):
16213
162142012-08-21  Benjamin Poulain  <bpoulain@apple.com>
16215
16216        Store CString data in the CStringBuffer to avoid the double indirection
16217        https://bugs.webkit.org/show_bug.cgi?id=94562
16218
16219        Reviewed by Darin Adler.
16220
16221        Previously, any non-trivial CString would require two allocations:
16222        1) CStringBuffer (ref-counted container for CString's data).
16223        2) VectorBuffer's m_buffer (the actual char data).
16224
16225        This patches changes CStringBuffer to hold the data previously owned by
16226        WTF::Vector and WTF::VectorBuffer. This makes CString more efficient
16227        both in CPU time and memory use.
16228
16229        * wtf/text/CString.cpp:
16230        (WTF::CStringBuffer::createUninitialized): This new method allocate the memory
16231        for CStringBuffer and its data. We simply allocate more memory after CStringBuffer
16232        to hold the data.
16233
16234        The extra memory needed to store the terminating zero is now handled by design.
16235        (WTF::CString::CString): Move the test for "str" one level up the stack from CString::init().
16236        This avoid double checking the pointer when using the other constructor.
16237        (WTF::CString::init):
16238        (WTF::CString::newUninitialized):
16239        (WTF::CString::copyBufferIfNeeded):
16240        * wtf/text/CString.h:
16241        (WTF::CStringBuffer::data):
16242        (WTF::CStringBuffer::length):
16243        (CStringBuffer):
16244        (WTF::CStringBuffer::CStringBuffer):
16245        (WTF::CStringBuffer::mutableData):
16246        (WTF::CString::length):
16247
162482012-08-21  Patrick Gansterer  <paroga@webkit.org>
16249
16250        Build fix for COMPILER(MSVC) && !CPU(X86) after r126023.
16251
16252        * wtf/MathExtras.h:
16253        (lrint):
16254
162552012-08-20  Dominik Röttsches  <dominik.rottsches@intel.com>
16256
16257        The 2d.imageData.object.round canvas test is failing
16258        https://bugs.webkit.org/show_bug.cgi?id=40272
16259
16260        Reviewed by Kenneth Rohde Christiansen.
16261
16262        According to the Uint8ClampedArray spec (http://www.khronos.org/registry/typedarray/specs/latest/#7.1)
16263        which references WebIDL's clamping rules, with implications defined in http://www.w3.org/TR/WebIDL/#es-octet
16264        we need to round to nearest integer, and to the even one if exactly halfway in between.
16265        As a solution: applying C99's lrint which, in default rounding mode, does that.
16266
16267        The updated version of test 2d.imageData.object.round.html test passes now.
16268
16269        * wtf/MathExtras.h:
16270        (lrint): Assembly based implementation for MSVC under X86, otherwise falling back to casting.
16271        * wtf/Uint8ClampedArray.h:
16272        (WTF::Uint8ClampedArray::set): lrint instead of simple rounding.
16273
162742012-08-17  Michael Saboff  <msaboff@apple.com>
16275
16276        Add ability to create AtomicString using LChar* buffer and length
16277        https://bugs.webkit.org/show_bug.cgi?id=94381
16278
16279        Reviewed by Geoffrey Garen.
16280
16281        Allows the use of 8 bit string data directly without converting to 16 bits first.
16282
16283        * wtf/text/AtomicString.cpp:
16284        (WTF::LCharBufferTranslator::hash):
16285        (LCharBufferTranslator):
16286        (WTF::LCharBufferTranslator::equal):
16287        (WTF::LCharBufferTranslator::translate):
16288        (WTF::AtomicString::add):
16289        * wtf/text/AtomicString.h:
16290        (WTF::AtomicString::AtomicString):
16291        (AtomicString):
16292        * wtf/text/StringImpl.h:
16293        (StringImpl):
16294
162952012-08-17  Benjamin Poulain  <bpoulain@apple.com>
16296
16297        Make it easier to append a literal to StringBuilder
16298        https://bugs.webkit.org/show_bug.cgi?id=94273
16299
16300        Reviewed by Kentaro Hara.
16301
16302        * wtf/text/StringBuilder.h:
16303        (WTF::StringBuilder::appendLiteral): Add the method StringBuilder::appendLiteral() for efficiently
16304        adding a string literal to the StringBuilder.
16305
163062012-08-17  Yong Li  <yoli@rim.com>
16307
16308        [BlackBerry] Turn on a few macros for jpeg decoding and image interpolation
16309        https://bugs.webkit.org/show_bug.cgi?id=94244
16310
16311        Reviewed by Antonio Gomes.
16312
16313        Turn on these macros to get better performance.
16314
16315        * wtf/Platform.h:
16316
163172012-08-17  Milian Wolff  <milian.wolff@kdab.com>
16318
16319        [Qt] QNX build fails due to ctype usage in system headers
16320        https://bugs.webkit.org/show_bug.cgi?id=93849
16321
16322        Reviewed by Simon Hausmann.
16323
16324        Move the check for whether DisallowCType should be active or not
16325        to the DisallowCType.h header. This way, we can update the list
16326        of platforms or OSes which do not work with this header in a
16327        central place. All users can now safely include the header
16328        and do not need to place custom guards around it.
16329
16330        * config.h:
16331        * wtf/DisallowCType.h:
16332
163332012-08-17  Milian Wolff  <milian.wolff@kdab.com>
16334
16335        [Qt] QNX build fails due to missing timegm declaration
16336        https://bugs.webkit.org/show_bug.cgi?id=93842
16337
16338        Reviewed by Simon Hausmann.
16339
16340        On QNX, timegm is declared in nbutils.h and one must link against
16341        nbutils to use it.
16342
16343        * WTF.pri:
16344        * wtf/DateMath.cpp:
16345
163462012-08-16  Kent Tamura  <tkent@chromium.org>
16347
16348        Build fix for Chromium-mac.
16349
16350        * wtf/text/WTFString.cpp: Remove unnecessary includes.
16351
163522012-08-16  Michael Saboff  <msaboff@apple.com>
16353
16354        HTML Parser should produce 8bit substrings for inline style and script elements
16355        https://bugs.webkit.org/show_bug.cgi?id=93742
16356
16357        Reviewed by Benjamin Poulain.
16358
16359        Added 8 bit path to String::isAllSpecialCharacters(). Added new String creator
16360        that takes a pointer to a UChar array that is known to contain only 8 bit
16361        characters (LChar's). Added new helper method to copy contents of a
16362        UChar buffer to a LChar buffer. The helper method includes X86-64 intrinsics
16363        of SSE family instructions for performance.
16364
16365        * wtf/Alignment.h:
16366        (WTF::isAlignedTo):
16367        * wtf/text/ASCIIFastPath.h:
16368        (WTF::copyLCharsFromUCharSource):
16369        * wtf/text/WTFString.cpp:
16370        (WTF::String::make8BitFrom16BitSource):
16371        * wtf/text/WTFString.h:
16372        (String):
16373        (WTF::isAllSpecialCharacters):
16374        (WTF::String::isAllSpecialCharacters):
16375
163762012-08-16  Benjamin Poulain  <bpoulain@apple.com>
16377
16378        Use initialization from literals for StringStatics
16379        https://bugs.webkit.org/show_bug.cgi?id=94185
16380
16381        Reviewed by Geoffrey Garen.
16382
16383        * wtf/text/StringStatics.cpp:
16384        Remove the arguments for DEFINE_GLOBAL. They are no longer used by the macro.
16385        (WTF::AtomicString::init):
16386        Use ConstructFromLiteral to initialize the strings faster and to save memory.
16387
163882012-08-14  Milian Wolff  <milian.wolff@kdab.com>
16389
16390        [Qt] QNX build fails due to reference to MADV_FREE_REUSE and MADV_FREE_REUSABLE
16391        https://bugs.webkit.org/show_bug.cgi?id=93843
16392
16393        Reviewed by Simon Hausmann.
16394
16395        QNX does not implement MADV_FREE_REUSE nor MADV_FREE_REUSABLE.
16396        The Blackberry port already sets the define to use the system
16397        malloc, which is now also done for QNX in general.
16398
16399        * wtf/Platform.h:
16400
164012012-08-13  Raphael Kubo da Costa  <rakuco@webkit.org>
16402
16403        [CMake] Remove glib-related Find modules and write single new one instead.
16404        https://bugs.webkit.org/show_bug.cgi?id=93786
16405
16406        Reviewed by Rob Buis.
16407
16408        * wtf/PlatformEfl.cmake: Use GLIB_* instead of Glib_*, and link directly to GIO, as wtf/gobject uses functions from it.
16409
164102012-08-11  Sam Weinig  <sam@webkit.org>
16411
16412        Enable XPC Service based WebProcess with runtime flag
16413        https://bugs.webkit.org/show_bug.cgi?id=93773
16414
16415        Reviewed by Dan Bernstein.
16416
16417        * wtf/Platform.h:
16418        Define HAVE_XPC on 10.7 and later.
16419
164202012-08-11  Benjamin Poulain  <bpoulain@apple.com>
16421
16422        Do the DecimalNumber to String conversion on 8 bits
16423        https://bugs.webkit.org/show_bug.cgi?id=93683
16424
16425        Reviewed by Andreas Kling.
16426
16427        Modify DecimalNumber to do the conversion to string on LChar instead of UChar.
16428
16429        * wtf/DecimalNumber.cpp:
16430        (WTF::DecimalNumber::toStringDecimal):
16431        (WTF::DecimalNumber::toStringExponential):
16432        * wtf/DecimalNumber.h:
16433        (DecimalNumber):
16434        * wtf/dtoa.h:
16435        * wtf/text/StringBuffer.h:
16436        (WTF::StringBuffer::operator[]): StringBuffer::operator[] was incorrectly typed to UChar, making
16437        the method impossible to instanciate with LChar.
16438        * wtf/text/WTFString.h:
16439        (String):
16440        (WTF::String::adopt): String::adopt() is modified to work with both LChar and UChar. StringImpl
16441        already support that.
16442        (WTF::appendNumber): Add support for any type that can instanciate the template.
16443
164442012-08-11  Benjamin Poulain  <benjamin@webkit.org>
16445
16446        WebCore::findAtomicString(PropertyName) always convert the name to 16bits
16447        https://bugs.webkit.org/show_bug.cgi?id=93685
16448
16449        Reviewed by Geoffrey Garen.
16450
16451        Previously, WebCore::findAtomicString() was causing a conversion for the 8bit property name
16452        to a 16bits due to the call to StringImpl::character16().
16453
16454        This patch fixes the issue by adding support for both 8bits and 16bits string in AtomicString::find().
16455
16456        * wtf/text/AtomicString.cpp:
16457        (HashAndCharacters):
16458        (WTF::HashAndCharactersTranslator::hash):
16459        (WTF::HashAndCharactersTranslator::equal):
16460        (WTF::HashAndCharactersTranslator::translate):
16461        Use a template to make the struct and the translator independant of the CharacterType.
16462
16463        (WTF::AtomicString::add):
16464        (WTF::findString):
16465        (WTF::AtomicString::find): Change the API to take a StringImpl*. AtomicString can use
16466        it efficiently to find the right string.
16467        * wtf/text/AtomicString.h:
16468        (AtomicString):
16469        * wtf/text/StringImpl.h:
16470        (StringImpl): Adapt the friends translator to support the template.
16471
164722012-08-10  Benjamin Poulain  <bpoulain@apple.com>
16473
16474        Add support for String initialization from literal to WTFString
16475        https://bugs.webkit.org/show_bug.cgi?id=93426
16476
16477        Reviewed by Anders Carlsson.
16478
16479        This patch adds two constructor to WTF::String in order to support fast initialization from literal:
16480        -String(ASCIILiteral): Constructor similar to String(const char*) while being faster. This constructor
16481         does not incur any overhead over String(const char*).
16482        -String(char[], ConstructFromLiteralTag): Template constructor that encode explicitely the size of the
16483         string.
16484
16485        String(ASCIILiteral) is expected to be used in most cases to avoid regressions. This constructor was
16486        added because of what we have learned from r124922: inlining the string length in the code causes a code bloat
16487        that is not always welcome.
16488
16489        Regarding performance of string initialization, the constructors performance are (6 characters string):
16490        -String(ASCIILiteral): 16% faster.
16491        -String(char[], ConstructFromLiteralTag): 33% faster (the delta increases with the string length).
16492
16493        In addition, no memory is allocated for the characters.
16494
16495        * wtf/text/StringImpl.cpp:
16496        * wtf/text/StringImpl.h:
16497        (WTF::StringImpl::createFromLiteral): Extend StringImpl::createFromLiteral to have a version
16498        with strlen() which avoids loading one extra argument.
16499        * wtf/text/WTFString.cpp:
16500        (WTF::String::String):
16501        * wtf/text/WTFString.h:
16502        (WTF::String::String):
16503        (ASCIILiteral): This class is aimed at making the construction of WTFString from a literal very easy.
16504        By using the explicit constructor ASCIILiteral(char *), one can expect the implicit conversion to String
16505        when needed.
16506        (WTF::ASCIILiteral::ASCIILiteral):
16507        (WTF::ASCIILiteral::operator const char*):
16508
165092012-08-08  Benjamin Poulain  <bpoulain@apple.com>
16510
16511        Use char* instead of LChar* for the public interface of String construction from literals
16512        https://bugs.webkit.org/show_bug.cgi?id=93402
16513
16514        Reviewed by Michael Saboff.
16515
16516        When the initialization from literal was added, some constructor/initialization function were
16517        using LChar for convenience.
16518
16519        Since those function should only take ASCII characters, using LChar* could cause confusion. This
16520        patch intents to clarify this by using char* for all those APIs.
16521
16522        * wtf/text/AtomicString.cpp:
16523        (WTF::CharBufferFromLiteralDataTranslator::hash):
16524        (WTF::CharBufferFromLiteralDataTranslator::equal):
16525        (WTF::CharBufferFromLiteralDataTranslator::translate):
16526        (WTF::AtomicString::addFromLiteralData):
16527        * wtf/text/AtomicString.h:
16528        (WTF::AtomicString::AtomicString):
16529        (AtomicString):
16530        * wtf/text/StringImpl.cpp:
16531        (WTF::StringImpl::createFromLiteral):
16532        * wtf/text/StringImpl.h:
16533        (StringImpl):
16534        (WTF::StringImpl::StringImpl):
16535        (WTF::StringImpl::createFromLiteral):
16536
165372012-08-08  Patrick Gansterer  <paroga@webkit.org>
16538
16539        Remove ce_time.(cpp|h) from list of source files
16540        https://bugs.webkit.org/show_bug.cgi?id=93446
16541
16542        Reviewed by Simon Hausmann.
16543
16544        r125004 removed the last dependency on functions defined in ce_time.cpp.
16545
16546        * wtf/PlatformWinCE.cmake:
16547
165482012-08-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>
16549
16550        Atomics.h has incorrect GCC test for ext/atomicity.h when using LSB compilers
16551        https://bugs.webkit.org/show_bug.cgi?id=51974
16552
16553        Reviewed by Simon Hausmann.
16554
16555        * wtf/Atomics.h: Inhibits the inclusion of the atomicity.h GNU C++
16556        extension when compiling with a LSB compliant compiler. Thanks to
16557        Craig Scott for the new precompiler check code.
16558
165592012-08-07  Yoshifumi Inoue  <yosin@chromium.org>
16560
16561        [WTF] Add using WTF::msPerHour into DateMath.h
16562        https://bugs.webkit.org/show_bug.cgi?id=93428
16563
16564        Reviewed by Kent Tamura.
16565
16566        This patch adds "using WTF::msPerHour" into DateMath.h for some codes
16567        which will use it, e.g. bug 92960. Note: DateMath.h already has had
16568        using statements for msPerDay, msPerMinute and msPerSecond.
16569
16570        * wtf/DateMath.h: Added "using WTF::msPerHour".
16571
165722012-08-07  Benjamin Poulain  <benjamin@webkit.org>
16573
16574        Use the initialization from literal for JSC's Identifiers
16575        https://bugs.webkit.org/show_bug.cgi?id=93193
16576
16577        Reviewed by Geoffrey Garen.
16578
16579        * wtf/text/StringImpl.h: Update the names for the HashTranslator used by Identifier.
16580
165812012-07-19  Simon Hausmann  <simon.hausmann@nokia.com>
16582
16583        [Qt] Remove Qt 4 specific code paths
16584        https://bugs.webkit.org/show_bug.cgi?id=88161
16585
16586        Reviewed by Kenneth Rohde Christiansen.
16587
16588        * WTF.pri:
16589        * WTF.pro:
16590        * wtf/qt/StringQt.cpp:
16591        (WTF::String::String):
16592        (WTF::String::operator QString):
16593        * wtf/qt/UtilsQt.h: Removed.
16594        * wtf/qt/compat/QGuiApplication: Removed.
16595        * wtf/qt/compat/qguiapplication.h: Removed.
16596        * wtf/text/StringImpl.cpp:
16597        (WTF::StringImpl::~StringImpl):
16598        (WTF):
16599        * wtf/text/StringImpl.h:
16600        (StringImpl):
16601
166022012-08-06  Patrick Gansterer  <paroga@webkit.org>
16603
16604        [WIN] Remove dependency on pthread from MachineStackMarker
16605        https://bugs.webkit.org/show_bug.cgi?id=68429
16606
16607        Reviewed by Geoffrey Garen.
16608
16609        Windows has no support for calling a destructor for thread specific data.
16610        Since we need more control over creating and deleting thread specific keys
16611        we can not simply extend WTF::ThreadSpecific with this functionality.
16612
16613        All thread specific keys created via the new API get stored in a list.
16614        After a thread function finished we iterate over this list and call
16615        the registered destructor for every item if needed.
16616
16617        * wtf/ThreadSpecific.h:
16618        (WTF):
16619        (WTF::threadSpecificKeyCreate): Added wrapper around pthread_key_create.
16620        (WTF::threadSpecificKeyDelete): Added wrapper around pthread_key_delete.
16621        (WTF::threadSpecificSet): Added wrapper around pthread_setspecific.
16622        (WTF::threadSpecificGet): Added wrapper around pthread_getspecific.
16623        * wtf/ThreadSpecificWin.cpp:
16624
166252012-08-04  No'am Rosenthal  <noam.rosenthal@nokia.com>
16626
16627        [Qt] UI_SIDE_COMPOSITING code has confusing names
16628        https://bugs.webkit.org/show_bug.cgi?id=93164
16629
16630        Reviewed by Kenneth Rohde Christiansen.
16631
16632        Renamed UI_SIDE_COMPOSITING to COORDINATED_GRAPHICS.
16633
16634        * wtf/Platform.h:
16635
166362012-08-03  Michael Saboff  <msaboff@apple.com>
16637
16638        Convert HTML parser to handle 8-bit resources without converting to UChar*
16639        https://bugs.webkit.org/show_bug.cgi?id=90321
16640
16641        Reviewed by Adam Barth.
16642
16643        * wtf/text/WTFString.h:
16644        (WTF::String::dataSize): New method to return the number of bytes 
16645        the string requires.  This replaces a harcoded calculation based on
16646        length and sizeof(UChar).
16647
166482012-08-03  Benjamin Poulain  <benjamin@webkit.org>
16649
16650        StringImpl created from literal should be BufferInternal
16651        https://bugs.webkit.org/show_bug.cgi?id=92940
16652
16653        Reviewed by Anders Carlsson.
16654
16655        The ownership of string created from literal should be BufferInternal so that
16656        StringImpl never tries to delete the characters.
16657
16658        The ownership was accidentaly set to BufferOwned in r123689.
16659
16660        * wtf/text/StringImpl.cpp:
16661        (WTF::StringImpl::createFromLiteral): Update to use the new constructor.
16662        * wtf/text/StringImpl.h:
16663        (WTF::StringImpl::StringImpl):
16664        Add a new constructor making the construction from literal explicit.
16665        Add the flag s_hashFlagHasTerminatingNullCharacter since the data has the terminating
16666        null character.
16667
166682012-08-02  Patrick Gansterer  <paroga@webkit.org>
16669
16670        Move getLocalTime() as static inline function to DateMath
16671        https://bugs.webkit.org/show_bug.cgi?id=92955
16672
16673        Reviewed by Ryosuke Niwa.
16674
16675        getCurrentLocalTime() and getLocalTime() has been superseded with the
16676        GregorianDateTime class. So we can move it into DateMath.cpp as an static inline
16677        function. This allows us to remove the dependecy on time() and localtime()
16678        for Windows CE, where this functions require the ce_time library to work.
16679
16680        * wtf/CurrentTime.cpp:
16681        (WTF):
16682        * wtf/CurrentTime.h:
16683        * wtf/DateMath.cpp:
16684        (WTF):
16685        (WTF::getLocalTime):
16686
166872012-08-02  Patrick Gansterer  <paroga@webkit.org>
16688
16689        [WINCE] Return 0 at calculateDSTOffset(double, double)
16690        https://bugs.webkit.org/show_bug.cgi?id=92953
16691
16692        Reviewed by Ryosuke Niwa.
16693
16694        localtime() is implemented as a call to gmtime() in ce_time.c.
16695        Since this will never return correct values, returning 0 instead
16696        does not remove any existing functionality, but decreases the
16697        dependency on the (external) ce_time implementation.
16698
16699        * wtf/DateMath.cpp:
16700        (WTF::calculateDSTOffsetSimple):
16701
167022012-08-02  Arnaud Renevier  <a.renevier@sisa.samsung.com>
16703
16704        TypedArray set method is slow when called with another typed array
16705        https://bugs.webkit.org/show_bug.cgi?id=92556
16706
16707        Reviewed by Kenneth Russell.
16708
16709        Add an checkInboundData function to TypedArrayBase to check if a
16710        position will be not be out of bound or overflow from the typed array.
16711
16712        * wtf/TypedArrayBase.h:
16713        (WTF::TypedArrayBase::checkInboundData):
16714        (TypedArrayBase):
16715
167162012-08-01  Patrick Gansterer  <paroga@webkit.org>
16717
16718        Replace WTF::getCurrentLocalTime() with GregorianDateTime::setToCurrentLocalTime()
16719        https://bugs.webkit.org/show_bug.cgi?id=92286
16720
16721        Reviewed by Geoffrey Garen.
16722
16723        Add a method to GregorianDateTime to set its values to the current locale time.
16724        Replacing all occurrences of getCurrentLocalTime with the new function allows
16725        us to remove getCurrentLocalTime in a next step.
16726
16727        * GNUmakefile.list.am:
16728        * WTF.gypi:
16729        * WTF.pro:
16730        * WTF.vcproj/WTF.vcproj:
16731        * WTF.xcodeproj/project.pbxproj:
16732        * wtf/CMakeLists.txt:
16733        * wtf/DateMath.cpp:
16734        (WTF::dayInYear):
16735        * wtf/DateMath.h:
16736        (WTF):
16737        * wtf/GregorianDateTime.cpp: Added.
16738        (WTF):
16739        (WTF::GregorianDateTime::setToCurrentLocalTime):
16740        * wtf/GregorianDateTime.h:
16741        (GregorianDateTime):
16742
167432012-08-01  Patrick Gansterer  <paroga@webkit.org>
16744
16745        Fix FastMalloc build with assertions enabled.
16746
16747        * wtf/FastMalloc.cpp:
16748        (WTF::TCMalloc_PageHeap::isScavengerSuspended):
16749        (WTF::TCMalloc_PageHeap::scheduleScavenger):
16750        (WTF::TCMalloc_PageHeap::suspendScavenger):
16751
167522012-08-01  Patrick Gansterer  <paroga@webkit.org>
16753
16754        Export StringImpl::sizeInBytes() with WTF_EXPORT_STRING_API
16755        https://bugs.webkit.org/show_bug.cgi?id=92851
16756
16757        Reviewed by Hajime Morita.
16758
16759        r124069 missed to change one export macro, which is needed
16760        to make the windows port with USE(EXPORT_MACROS).
16761
16762        * wtf/text/StringImpl.h:
16763        (StringImpl):
16764
167652012-08-01  Patrick Gansterer  <paroga@webkit.org>
16766
16767        [WIN] Add missing WTF export macros to functions
16768        https://bugs.webkit.org/show_bug.cgi?id=92842
16769
16770        Reviewed by Hajime Morita.
16771
16772        When we switch the windows port to USE(EXPORT_MACROS) we
16773        need to export all functions referenced by WebKit.dll.
16774
16775        * wtf/ThreadingPrimitives.h:
16776        (WTF):
16777        * wtf/dtoa.h:
16778        (WTF):
16779        * wtf/dtoa/double-conversion.h:
16780        (StringToDoubleConverter):
16781        * wtf/unicode/UTF8.h:
16782
167832012-07-31  Sam Weinig  <sam@webkit.org>
16784
16785        Stop masking 8 bits off of the visited link hash. We need all the bits!
16786        https://bugs.webkit.org/show_bug.cgi?id=92799
16787
16788        Reviewed by Anders Carlsson.
16789
16790        * wtf/StringHasher.h:
16791        (WTF::StringHasher::hashWithTop8BitsMasked):
16792        (WTF::StringHasher::hash):
16793        (StringHasher):
16794        (WTF::StringHasher::computeHashAndMaskTop8Bits):
16795        (WTF::StringHasher::hashMemory):
16796        (WTF::StringHasher::avalancheBits):
16797        Rename existing computeHash and hash functions to computeHashAndMaskTop8Bits
16798        and hashWithTop8BitsMasked respectively. Add new computeHash and hash functions
16799        that do the StringHash without the masking.
16800
16801        * wtf/text/AtomicString.cpp:
16802        (WTF::CStringTranslator::hash):
16803        (WTF::UCharBufferTranslator::hash):
16804        (WTF::HashAndCharactersTranslator::hash):
16805        (WTF::SubstringTranslator::hash):
16806        (WTF::LCharBufferFromLiteralDataTranslator::hash):
16807        (WTF::AtomicString::fromUTF8Internal):
16808        * wtf/text/StringHash.h:
16809        (WTF::CaseFoldingHash::hash):
16810        * wtf/text/StringImpl.h:
16811        (WTF::StringImpl::setHash):
16812        * wtf/text/StringStatics.cpp:
16813        (WTF::StringImpl::hashSlowCase):
16814        * wtf/unicode/UTF8.cpp:
16815        (WTF::Unicode::calculateStringHashAndLengthFromUTF8MaskingTop8Bits):
16816        * wtf/unicode/UTF8.h:
16817        Update for new function names.
16818
168192012-07-31  Thiago Marcos P. Santos  <thiago.santos@intel.com>
16820
16821        Add a mechanism to dump the stack trace in case of a crash
16822        https://bugs.webkit.org/show_bug.cgi?id=92666
16823
16824        Reviewed by Csaba Osztrogonác.
16825
16826        Unix based ports can make use of signal handlers to dump the stack
16827        trace in case of a crash. This is specially handy when a test crashes on
16828        the bot without hitting an assertion, we might have a chance to see
16829        some insightful information at the reports.
16830
16831        * wtf/Assertions.cpp:
16832        * wtf/Assertions.h:
16833
168342012-07-31  Stephen Chenney  <schenney@chromium.org>
16835
16836        xmlserializer strips xlink from xlink:html svg image tag
16837        https://bugs.webkit.org/show_bug.cgi?id=79586
16838
16839        Reviewed by Nikolas Zimmermann.
16840
16841        Add WTF::xlinkAtom as a global AtomicString constant.
16842
16843        * wtf/text/AtomicString.h:
16844        (WTF): Add xlinkAtom.
16845        * wtf/text/StringStatics.cpp:
16846        (WTF): Add xlinkAtom.
16847        (WTF::AtomicString::init): Add xlinkAtom.
16848
168492012-07-30  Patrick Gansterer  <paroga@webkit.org>
16850
16851        Add WTF_EXPORT_PRIVATE to deleteOwnedPtr()
16852        https://bugs.webkit.org/show_bug.cgi?id=92668
16853
16854        Reviewed by Hajime Morita.
16855
16856        When using export macros all non-inlined deleteOwnedPtr()
16857        functions need to be declared with WTF_EXPORT_PRIVATE.
16858
16859        * wtf/OwnPtrCommon.h:
16860        (WTF):
16861
168622012-07-30  Wei James  <james.wei@intel.com>
16863
16864        atomicDecrement() never reach 0 on Android so no deref() will be called
16865        https://bugs.webkit.org/show_bug.cgi?id=92635
16866
16867        Reviewed by Adam Barth.
16868
16869        With Android NDK 7b and later, __atomic_dec()  is implemented by
16870        __sync_fetch_and_sub(), which will result in that atomicDecrement()
16871        returns the old value instead of new one.
16872
16873        * wtf/Atomics.h:
16874        (WTF):
16875        (WTF::atomicIncrement):
16876        (WTF::atomicDecrement):
16877
168782012-07-30  Patrick Gansterer  <paroga@webkit.org>
16879
16880        Add function to calculate the day in year from a date
16881        https://bugs.webkit.org/show_bug.cgi?id=92671
16882
16883        Reviewed by Ryosuke Niwa.
16884
16885        Replace monthToDayInYear() with dayInYear() which takes a whole
16886        date for calculation and will be used for bug 92286 later.
16887
16888        * wtf/DateMath.cpp:
16889        (WTF::dayInYear):
16890        (WTF::dateToDaysFrom1970):
16891
168922012-07-30  Patrick Gansterer  <paroga@webkit.org>
16893
16894        Add special export macro for string related functions
16895        https://bugs.webkit.org/show_bug.cgi?id=92624
16896
16897        Reviewed by Hajime Morita.
16898
16899        The windows port compiles string related code into every binary for performance reasons (see r59187).
16900        Add the WTF_EXPORT_STRING_API define to allow this behaviour with export macros too.
16901
16902        * wtf/ExportMacros.h:
16903        * wtf/text/AtomicString.h:
16904        (AtomicString):
16905        * wtf/text/StringImpl.h:
16906        (StringImpl):
16907        (WTF):
16908        * wtf/text/WTFString.h:
16909        (WTF):
16910        (String):
16911
169122012-07-30  Patrick Gansterer  <paroga@webkit.org>
16913
16914        Replace UnicodeWinCE with UnicodeWchar
16915        https://bugs.webkit.org/show_bug.cgi?id=92539
16916
16917        Reviewed by Ryosuke Niwa.
16918
16919        UnicodeWinCE never contained WinCE specific code. UnicodeWchar
16920        is a replacement for it, which is mainly based on the functions
16921        from <wchar.h>. It is ment as a minimal Unicode backend, which
16922        can be used very easy and has no external dependencies.
16923
16924        * WTF.gyp/WTF.gyp:
16925        * WTF.gypi:
16926        * wtf/Platform.h:
16927        * wtf/PlatformWinCE.cmake:
16928        * wtf/unicode/Unicode.h:
16929        * wtf/unicode/wchar/UnicodeWchar.cpp: Added.
16930        (Unicode):
16931        (WTF::Unicode::category):
16932        (WTF::Unicode::combiningClass):
16933        (WTF::Unicode::direction):
16934        (WTF::Unicode::decompositionType):
16935        (WTF::Unicode::hasLineBreakingPropertyComplexContext):
16936        (WTF::Unicode::mirroredChar):
16937        (WTF::Unicode::convertWithFunction):
16938        (WTF::Unicode::foldCase):
16939        (WTF::Unicode::toLower):
16940        (WTF::Unicode::toUpper):
16941        * wtf/unicode/wchar/UnicodeWchar.h: Added.
16942        (Unicode):
16943        (WTF::Unicode::isAlphanumeric):
16944        (WTF::Unicode::isDigit):
16945        (WTF::Unicode::isLetter):
16946        (WTF::Unicode::isLower):
16947        (WTF::Unicode::isPrintableChar):
16948        (WTF::Unicode::isPunct):
16949        (WTF::Unicode::isSpace):
16950        (WTF::Unicode::isUpper):
16951        (WTF::Unicode::isArabicChar):
16952        (WTF::Unicode::isSeparatorSpace):
16953        (WTF::Unicode::foldCase):
16954        (WTF::Unicode::toLower):
16955        (WTF::Unicode::toUpper):
16956        (WTF::Unicode::toTitleCase):
16957        (WTF::Unicode::umemcasecmp):
16958        * wtf/unicode/wince/UnicodeWinCE.cpp: Removed.
16959        * wtf/unicode/wince/UnicodeWinCE.h: Removed.
16960
169612012-07-26  Yury Semikhatsky  <yurys@chromium.org>
16962
16963        Web Inspector: move StringImpl size calculation to StringImpl
16964        https://bugs.webkit.org/show_bug.cgi?id=92359
16965
16966        Reviewed by Pavel Feldman.
16967
16968        Moved stringSize(StringImpl*) implementation from InspectorMemoryAgent to
16969        StringImpl::sizeInBytes();
16970
16971        * wtf/text/StringImpl.cpp:
16972        (WTF::StringImpl::sizeInBytes):
16973        (WTF):
16974        * wtf/text/StringImpl.h:
16975        (StringImpl):
16976
169772012-07-28  Patrick Gansterer  <paroga@webkit.org>
16978
16979        [WIN] Add missing export macro to friend decleration.
16980
16981        Since the __declspec is part of the function signature
16982        on windows, we need it at all friend declerations too.
16983
16984        * wtf/MediaTime.h:
16985
169862012-07-28  Patrick Gansterer  <paroga@webkit.org>
16987
16988        [CMake] Add missing MediaTime files after r123878.
16989
16990        * wtf/CMakeLists.txt:
16991
169922012-07-28  Patrick Gansterer  <paroga@webkit.org>
16993
16994        Remove obsolete functions from WTF::Unicode
16995        https://bugs.webkit.org/show_bug.cgi?id=92571
16996
16997        Reviewed by Kentaro Hara.
16998
16999        Remove hasLineBreakingPropertyComplexContextOrIdeographic() and digitValue(),
17000        since they are never used and defined for a few Unicode backends only.
17001
17002        * wtf/unicode/glib/UnicodeGLib.h:
17003        * wtf/unicode/icu/UnicodeIcu.h:
17004
170052012-07-27  Sheriff Bot  <webkit.review.bot@gmail.com>
17006
17007        Unreviewed, rolling out r123679.
17008        http://trac.webkit.org/changeset/123679
17009        https://bugs.webkit.org/show_bug.cgi?id=92565
17010
17011        Slowed down HTML parsing by 3.6% (Requested by abarth on
17012        #webkit).
17013
17014        * wtf/text/WTFString.h:
17015
170162012-07-27  Arnaud Renevier  <a.renevier@sisa.samsung.com>
17017
17018        use createUninitialized when creating TypedArray from another array
17019        https://bugs.webkit.org/show_bug.cgi?id=92518
17020
17021        Reviewed by Kenneth Russell.
17022
17023        Expose a createUninitialized static method on TypedArray classes.
17024
17025        * wtf/Float32Array.h:
17026        (Float32Array):
17027        (WTF::Float32Array::createUninitialized):
17028        (WTF):
17029        * wtf/Float64Array.h:
17030        (Float64Array):
17031        (WTF::Float64Array::createUninitialized):
17032        (WTF):
17033        * wtf/Int16Array.h:
17034        (Int16Array):
17035        (WTF::Int16Array::createUninitialized):
17036        (WTF):
17037        * wtf/Int32Array.h:
17038        (Int32Array):
17039        (WTF::Int32Array::createUninitialized):
17040        (WTF):
17041        * wtf/Int8Array.h:
17042        (Int8Array):
17043        (WTF::Int8Array::createUninitialized):
17044        (WTF):
17045        * wtf/Uint16Array.h:
17046        (Uint16Array):
17047        (WTF::Uint16Array::createUninitialized):
17048        (WTF):
17049        * wtf/Uint32Array.h:
17050        (Uint32Array):
17051        (WTF::Uint32Array::createUninitialized):
17052        (WTF):
17053        * wtf/Uint8Array.h:
17054        (Uint8Array):
17055        (WTF::Uint8Array::createUninitialized):
17056        (WTF):
17057        * wtf/Uint8ClampedArray.h:
17058        (Uint8ClampedArray):
17059
170602012-07-27  Patrick Gansterer  <paroga@webkit.org>
17061
17062        [WINCE] Use macros from ICU instead of defining the same functionality again
17063        https://bugs.webkit.org/show_bug.cgi?id=92530
17064
17065        Reviewed by Ryosuke Niwa.
17066
17067        Replace isHighSurrogate() with U16_IS_LEAD(), isLowSurrogate() with
17068        U16_IS_TRAIL() and surrogateToUcs4() with U16_GET_SUPPLEMENTARY().
17069
17070        * wtf/unicode/wince/UnicodeWinCE.h:
17071
170722012-07-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
17073
17074        [Qt] Fix build after r123917
17075        https://bugs.webkit.org/show_bug.cgi?id=92555
17076
17077        Unreviewed.
17078
17079        * wtf/GregorianDateTime.h: Needs string.h for memset().
17080
170812012-07-27  Paweł Forysiuk  <tuxator@o2.pl>
17082
17083        MinGW build fails because of missing header in GregorianDateTime.h
17084        https://bugs.webkit.org/show_bug.cgi?id=92531
17085
17086        * wtf/GregorianDateTime.h: Include time.h
17087
170882012-07-27  Jer Noble  <jer.noble@apple.com>
17089
17090        Unreviewed build fix.
17091
17092        Use MathExtras.h and the non std:: versions of isnan and signbit.
17093
17094        * wtf/MediaTime.cpp:
17095        (WTF::MediaTime::createWithFloat):
17096        (WTF::MediaTime::createWithDouble):
17097
170982012-07-27  Jer Noble  <jer.noble@apple.com>
17099
17100        Support a rational time class for use by media elements.
17101        https://bugs.webkit.org/show_bug.cgi?id=88787
17102
17103        Reviewed by Eric Carlson.
17104
17105        Add a new MediaTime class which implements rational math operations.
17106
17107        Add common constructors and assignment operators:
17108        * wtf/MediaTime.cpp: Added.
17109        (WTF::MediaTime::MediaTime):
17110        (WTF::MediaTime::~MediaTime):
17111        (WTF::MediaTime::operator=):
17112
17113        Add common math operators:
17114        * wtf/MediaTime.cpp:
17115        (WTF::MediaTime::operator+):
17116        (WTF::MediaTime::operator-):
17117        (WTF::MediaTime::operator<):
17118        (WTF::MediaTime::operator>):
17119        (WTF::MediaTime::operator==):
17120        (WTF::MediaTime::operator>=):
17121        (WTF::MediaTime::operator<=):
17122
17123        Add functions to check the MeiaTime time type flags:
17124        * wtf/MediaTime.h:
17125        (WTF::MediaTime::isValid):
17126        (WTF::MediaTime::isInvalid):
17127        (WTF::MediaTime::hasBeenRounde):
17128        (WTF::MediaTime::isPositiveInfinite):
17129        (WTF::MediaTime::isNegativeInfinite):
17130        (WTF::MediaTime::isIndefinite):
17131
17132        Add constants for commonly used MediaTime values:
17133        (WTF::MediaTime::zeroTime):
17134        (WTF::MediaTime::invalidTime):
17135        (WTF::MediaTime::positiveInfiniteTime):
17136        (WTF::MediaTime::negativeInfiniteTime):
17137        (WTF::MediaTime::indefiniteTime):
17138
17139        Add explicit conversion functions to convert to and from floating point values.
17140        * wtf/MediaTime.cpp:
17141        (WTF::MediaTime::createWithFloat):
17142        (WTF::MediaTime::createWithDouble):
17143        (WTF::MediaTime::toFloat):
17144        (WTF::MediaTime::toDouble):
17145
17146        Add some useful exported functions:
17147        * wtf/MediaTime.cpp:
17148        (WTF::MediaTime::compare): Master function for the comparison operators above.
17149        (WTF::MediaTime::setTimeScale): Rescale the time value to a new time scale.
17150        (WTF::abs): Return an absolute value for the current MediaTime.
17151
17152        Static utility functions to implement the above:
17153        * wtf/MediaTime.cpp:
17154        (WTF::greatestCommonDivisor):
17155        (WTF::leastCommonMultiple):
17156        (WTF::signum):
17157
17158        Windows-only implementations of isinf and signbit:
17159        * wtf/MediaTime.cpp:
17160        (std::isinf):
17161        (std::signbit):
17162
17163        Add the new class to platform build files:
17164        * GNUmakefile.list.am:
17165        * WTF.gypi:
17166        * WTF.pro:
17167        * WTF.vcproj/WTF.vcproj:
17168        * WTF.xcodeproj/project.pbxproj:
17169
171702012-07-27  Wei James  <james.wei@intel.com>
17171
17172        set WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED for chromium android
17173        https://bugs.webkit.org/show_bug.cgi?id=91746
17174
17175        Reviewed by Adam Barth.
17176
17177        This patch is part of efforts to enable web audio for chromium android.
17178        Web audio component needs to use atomicIncrement and atomicDecrement,
17179        which are enabled by this MACRO.
17180
17181        As mentioned in https://bugs.webkit.org/show_bug.cgi?id=89428#c19, make
17182        this patch standalone.
17183
17184        * wtf/Atomics.h:
17185        (WTF):
17186
171872012-07-27  Wei James  <james.wei@intel.com>
17188
17189        set WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED for chromium android
17190        https://bugs.webkit.org/show_bug.cgi?id=91746
17191
17192        Reviewed by Adam Barth.
17193
17194        This patch is part of efforts to enable web audio for chromium android.
17195        Web audio component needs to use atomicIncrement and atomicDecrement,
17196        which are enabled by this MACRO.
17197
17198        As mentioned in https://bugs.webkit.org/show_bug.cgi?id=89428#c19, make
17199        this patch standalone.
17200
17201        * wtf/Atomics.h:
17202        (WTF):
17203
172042012-07-26  Arnaud Renevier  <a.renevier@sisa.samsung.com>
17205
17206        constructing TypedArray from another TypedArray is slow
17207        https://bugs.webkit.org/show_bug.cgi?id=90838
17208
17209        Reviewed by Kenneth Russell.
17210
17211        Introduce virtual method getType on ArrayBufferView. It returns the actual
17212        type of the view. This method replaces previous is<Type>Array() methods.
17213
17214        * wtf/ArrayBufferView.h:
17215        * wtf/Float32Array.h:
17216        (WTF::Float32Array::getType):
17217        (Float32Array):
17218        * wtf/Float64Array.h:
17219        (WTF::Float64Array::getType):
17220        (Float64Array):
17221        * wtf/Int16Array.h:
17222        (WTF::Int16Array::getType):
17223        (Int16Array):
17224        * wtf/Int32Array.h:
17225        (WTF::Int32Array::getType):
17226        (Int32Array):
17227        * wtf/Int8Array.h:
17228        (WTF::Int8Array::getType):
17229        (Int8Array):
17230        * wtf/IntegralTypedArrayBase.h:
17231        * wtf/TypedArrayBase.h:
17232        (TypedArrayBase):
17233        (WTF::TypedArrayBase::item):
17234        * wtf/Uint16Array.h:
17235        (WTF::Uint16Array::getType):
17236        (Uint16Array):
17237        * wtf/Uint32Array.h:
17238        (WTF::Uint32Array::getType):
17239        (Uint32Array):
17240        * wtf/Uint8Array.h:
17241        (WTF::Uint8Array::getType):
17242        (Uint8Array):
17243        * wtf/Uint8ClampedArray.h:
17244        (WTF::Uint8ClampedArray::getType):
17245        (Uint8ClampedArray):
17246
172472012-07-26  Zeno Albisser  <zeno@webkit.org>
17248
17249        [Qt] requestAnimationFrame should only trigger when a new frame can be displayed.
17250        https://bugs.webkit.org/show_bug.cgi?id=88638
17251
17252        Disable REQUEST_ANIMATION_FRAME_TIMER for the Qt port and tie
17253        the servicing of scripted animations to layer syncing for WK2.
17254        For WK1 we rely on the RefreshAnimation that is based on QAbstractAnimation.
17255
17256        Reviewed by Jocelyn Turcotte.
17257
17258        * wtf/Platform.h:
17259
172602012-07-26  Yury Semikhatsky  <yurys@chromium.org>
17261
17262        Unreviewed. Revert r123740 as it breaks AppleMac compilation.
17263
17264        * wtf/text/StringImpl.cpp:
17265        * wtf/text/StringImpl.h:
17266
172672012-07-26  Yury Semikhatsky  <yurys@chromium.org>
17268
17269        Web Inspector: move StringImpl size calculation to StringImpl
17270        https://bugs.webkit.org/show_bug.cgi?id=92359
17271
17272        Reviewed by Pavel Feldman.
17273
17274        Moved stringSize(StringImpl*) implementation from InspectorMemoryAgent to
17275        StringImpl::sizeInBytes();
17276
17277        * wtf/text/StringImpl.cpp:
17278        (WTF::StringImpl::sizeInBytes):
17279        (WTF):
17280        * wtf/text/StringImpl.h:
17281        (StringImpl):
17282
172832012-07-25  Benjamin Poulain  <bpoulain@apple.com>
17284
17285        Initialize QualifiedName's strings from the read only data segment
17286        https://bugs.webkit.org/show_bug.cgi?id=92226
17287
17288        Reviewed by Anders Carlsson.
17289
17290        Add constructors for StringImpl and AtomicString to be able to create
17291        the strings from the literal in read only memory.
17292
17293        * wtf/text/AtomicString.cpp:
17294        (HashTranslatorCharBuffer):
17295        (WTF::LCharBufferFromLiteralDataTranslator::hash):
17296        (LCharBufferFromLiteralDataTranslator):
17297        (WTF::LCharBufferFromLiteralDataTranslator::equal):
17298        (WTF::LCharBufferFromLiteralDataTranslator::translate):
17299        (WTF::AtomicString::addFromLiteralData):
17300        * wtf/text/AtomicString.h:
17301        (WTF::AtomicString::AtomicString):
17302        (AtomicString):
17303        * wtf/text/StringImpl.cpp:
17304        (WTF::StringImpl::createFromLiteral):
17305        * wtf/text/StringImpl.h:
17306        (WTF):
17307        (StringImpl):
17308        (WTF::StringImpl::createFromLiteral):
17309
173102012-07-25  Michael Saboff  <msaboff@apple.com>
17311
17312        Convert HTML parser to handle 8-bit resources without converting to UChar*
17313        https://bugs.webkit.org/show_bug.cgi?id=90321
17314
17315        Reviewed by Geoffrey Garen.
17316
17317        * wtf/text/WTFString.h:
17318        (WTF::String::dataSize): New method to return the number of bytes 
17319        the string requires.  This replaces a harcoded calculation based on
17320        length and sizeof(UChar).
17321
173222012-07-25  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
17323
17324        Create a specialized pair for use in HashMap iterators
17325        https://bugs.webkit.org/show_bug.cgi?id=92137
17326
17327        Reviewed by Ryosuke Niwa.
17328
17329        The type used for internal storage in HashMap is exposed in its interface as iterator
17330        "contents". Currently HashMap uses std::pair<>, which this patch replaces with
17331        KeyValuePair.
17332
17333        Having this specialized structure will allow us to customize the members to be called
17334        key/value, improving readability in code using HashMap iterators. They are still called
17335        first/second to separate this change from the mechanical change of updating callsites.
17336
17337        * wtf/HashIterators.h:
17338        (HashTableConstKeysIterator):
17339        (HashTableConstValuesIterator):
17340        (HashTableKeysIterator):
17341        (HashTableValuesIterator):
17342        Use KeyValuePair instead of std::pair when defining the iterators.
17343
17344        * wtf/HashMap.h:
17345        (WTF):
17346        (WTF::KeyValuePairKeyExtractor::extract):
17347        (HashMap):
17348        Remove PairFirstExtractor. Add and use the KeyValuePair corresponding extractor.
17349
17350        (WTF::HashMapValueTraits::isEmptyValue): Use KeyValuePairHashTraits for HashMaps.
17351        (WTF::HashMapTranslator::translate):
17352        (WTF::HashMapTranslatorAdapter::translate):
17353        The traits of the mapped value is now called ValueTraits instead of SecondTraits.
17354
17355        * wtf/HashTable.h:
17356        (WTF::hashTableSwap): Add specialization for swapping KeyValuePairs.
17357        (WTF): Remove now unneeded specialization for std::pairs.
17358
17359        * wtf/HashTraits.h:
17360        (KeyValuePair):
17361        (WTF::KeyValuePair::KeyValuePair):
17362        (WTF):
17363        Specialized pair. In the future difference from pair should be the member names.
17364
17365        (KeyValuePairHashTraits):
17366        (WTF::KeyValuePairHashTraits::emptyValue):
17367        (WTF::KeyValuePairHashTraits::constructDeletedValue):
17368        (WTF::KeyValuePairHashTraits::isDeletedValue):
17369        These traits are analogous to PairHashTraits but for KeyValuePair.
17370
17371        * wtf/RefPtrHashMap.h: Use KeyValuePairHashTraits.
17372
173732012-07-25  Andrew Wilson  <atwilson@chromium.org>
17374
17375        Unreviewed, rolling out r123560.
17376        http://trac.webkit.org/changeset/123560
17377        https://bugs.webkit.org/show_bug.cgi?id=90321
17378
17379        Breaks chromium valgrind tests.
17380
17381        * wtf/text/WTFString.h:
17382
173832012-07-25  Csaba Osztrogonác  <ossy@webkit.org>
17384
17385        [Qt] There are parallel GC related crashes regularly
17386        https://bugs.webkit.org/show_bug.cgi?id=90957
17387
17388        Rubber-stamped by Zoltan Herczeg.
17389
17390        * wtf/Platform.h: Disable parallel GC temporarily on Qt until proper fix.
17391
173922012-07-24  Benjamin Poulain  <bpoulain@apple.com> && Joseph Pecoraro  <pecoraro@apple.com>
17393
17394        QualifiedName's HashSet should be big enough to hold at least all the static names
17395        https://bugs.webkit.org/show_bug.cgi?id=91891
17396
17397        Reviewed by Darin Adler.
17398
17399        Add a static struct to compute the HashTable capacity for any given size at compile time.
17400        This allow us to create HashTraits giving the minimumSize without hardcoding the values.
17401
17402        * wtf/HashTable.h:
17403        (OneifyLowBits):
17404        (UpperPowerOfTwoBound):
17405        (HashTableCapacityForSize): Compute the HashTable capacity at compile time.
17406
174072012-07-24  Michael Saboff  <msaboff@apple.com>
17408
17409        Convert HTML parser to handle 8-bit resources without converting to UChar*
17410        https://bugs.webkit.org/show_bug.cgi?id=90321
17411
17412        Reviewed by Geoffrey Garen.
17413
17414        * wtf/text/WTFString.h:
17415        (WTF::String::dataSize): New method to return the number of bytes 
17416        the string requires.  This replaces a harcoded calculation based on
17417        length and sizeof(UChar).
17418
174192012-07-24  Sam Weinig  <sam@webkit.org>
17420
17421        Add per-HashTable stats
17422        https://bugs.webkit.org/show_bug.cgi?id=92185
17423
17424        Reviewed by Anders Carlsson.
17425
17426        Add per-HashTable stats, so we can look at the effectiveness of an individual HashTable.
17427
17428        * wtf/HashTable.h:
17429        (WTF::HashTable::Stats::Stats):
17430        Add a HashTable::Stats to hold the stats.
17431
17432        (WTF::HashTable::Stats::recordCollisionAtCount):
17433        (WTF::HashTable::Stats::dumpStats):
17434        Add versions of recordCollisionAtCount and dumpStats for per-HashTable version.
17435
17436        (WTF::HashTable):
17437        Keep the stats, if enabled, in an OwnPtr, to not blow JSCell max size restrictions.
17438
17439        (WTF::lookup):
17440        (WTF::lookupForWriting):
17441        (WTF::fullLookupForWriting):
17442        (WTF::add):
17443        (WTF::reinsert):
17444        (WTF::remove):
17445        (WTF::rehash):
17446        Keep track of the stats as the table is used.
17447
174482012-07-24  Patrick Gansterer  <paroga@webkit.org>
17449
17450        Store the full year in GregorianDateTime
17451        https://bugs.webkit.org/show_bug.cgi?id=92067
17452
17453        Reviewed by Geoffrey Garen.
17454
17455        Use the full year instead of the offset from year 1900 
17456        for the year member variable of GregorianDateTime.
17457
17458        * wtf/GregorianDateTime.h:
17459        (WTF::GregorianDateTime::operator tm):
17460
174612012-07-23  Patrick Gansterer  <paroga@webkit.org>
17462
17463        Move GregorianDateTime from JSC to WTF namespace
17464        https://bugs.webkit.org/show_bug.cgi?id=91948
17465
17466        Reviewed by Geoffrey Garen.
17467
17468        Moving GregorianDateTime into the WTF namespace allows us to us to
17469        use it in WebCore too. The new class has the same behaviour as the
17470        old struct. Only the unused timeZone member has been removed.
17471
17472        * GNUmakefile.list.am:
17473        * WTF.gypi:
17474        * WTF.pro:
17475        * WTF.vcproj/WTF.vcproj:
17476        * WTF.xcodeproj/project.pbxproj:
17477        * wtf/CMakeLists.txt:
17478        * wtf/GregorianDateTime.h: Added.
17479        (GregorianDateTime):
17480
174812012-07-23  Rob Buis  <rbuis@rim.com>
17482
17483        [BlackBerry] Merge createThreadInternal implementations
17484        https://bugs.webkit.org/show_bug.cgi?id=91899
17485
17486        Reviewed by Yong Li.
17487
17488        PR 111675
17489
17490        Remove our implementation since the default thread stack size on QNX is fine.
17491
17492        * wtf/ThreadingPthreads.cpp:
17493        (WTF::createThreadInternal):
17494        (WTF::initializeCurrentThreadInternal): make sure we set the thread name.
17495
174962012-07-23  Patrick Gansterer  <paroga@webkit.org>
17497
17498        [WINCE] Define NOMINMAX in the build system instead of Platform.h
17499        https://bugs.webkit.org/show_bug.cgi?id=91938
17500
17501        Reviewed by Ryosuke Niwa.
17502
17503        * wtf/Platform.h:
17504
175052012-07-23  Patrick Gansterer  <paroga@webkit.org>
17506
17507        Build fix for Windows after r123317.
17508
17509        * wtf/DateMath.cpp: Added missing header include.
17510
175112012-07-23  Patrick Gansterer  <paroga@webkit.org>
17512
17513        [WIN] Use GetTimeZoneInformation() for calculateUTCOffset()
17514        https://bugs.webkit.org/show_bug.cgi?id=91935
17515
17516        Reviewed by Ryosuke Niwa.
17517
17518        GetTimeZoneInformation() returns the offset directly. Using it
17519        avoids unnecessary calculations and remove dependencies on
17520        other time related function, which do not exist on WinCE.
17521
17522        * wtf/DateMath.cpp:
17523        (WTF::calculateUTCOffset):
17524
175252012-07-20  Han Shen  <shenhan@google.com>
17526
17527        [Chromium] Compilation fails under gcc 4.7
17528        https://bugs.webkit.org/show_bug.cgi?id=90227
17529
17530        Reviewed by Tony Chang.
17531
17532        Disable warnings about c++0x compatibility in gcc newer than 4.6.
17533
17534        * WTF.gyp/WTF.gyp:
17535
175362012-07-19  Dan Bernstein  <mitz@apple.com>
17537
17538        The ATSUI-based complex text code is unused
17539        https://bugs.webkit.org/show_bug.cgi?id=91816
17540
17541        Reviewed by Sam Weinig.
17542
17543        Removed definitions of WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
17544
17545        * wtf/Platform.h:
17546
175472012-07-19  Wei James  <james.wei@intel.com>
17548
17549        enable Web Audio for chromium android port
17550        https://bugs.webkit.org/show_bug.cgi?id=89428
17551
17552        Reviewed by Kenneth Russell.
17553
17554        * wtf/MathExtras.h:
17555        (log2):
17556        (log2f):
17557
175582012-07-19  Scott Graham  <scottmg@chromium.org>
17559
17560        [Chromium] disable warning on Windows from gcc-only pragma in Assertions.cpp"
17561        https://bugs.webkit.org/show_bug.cgi?id=91776
17562
17563        Reviewed by Ryosuke Niwa.
17564
17565        Avoids:
17566            ...\source\wtf\wtf\assertions.cpp(31) : warning C4068: unknown pragma
17567
17568        * WTF.gyp/WTF.gyp:
17569
175702012-07-19  Robert Sesek  <rsesek@chromium.org>
17571
17572        [chromium][Mac] Switch the MACOSX_DEPLOYMENT_TARGET to 10.6
17573        https://bugs.webkit.org/show_bug.cgi?id=91752
17574
17575        Reviewed by Eric Seidel.
17576
17577        When building CHROMIUM && DARWIN, do not enable ATSUI support.
17578
17579        * wtf/Platform.h:
17580
175812012-07-18  Yong Li  <yoli@rim.com>
17582
17583        [BlackBerry] Implement currentTime() and monotonicallyIncreasingTime() for OS(QNX)
17584        https://bugs.webkit.org/show_bug.cgi?id=91659
17585
17586        Reviewed by Rob Buis.
17587
17588        Implement currentTime() and monotonicallyIncreasingTime() for OS(QNX) with clock_gettime().
17589
17590        * wtf/CurrentTime.cpp:
17591        (WTF):
17592        (WTF::currentTime):
17593        (WTF::monotonicallyIncreasingTime):
17594
175952012-07-18  Tom Sepez  <tsepez@chromium.org>
17596
17597        OOB read of stack buffer below DoubleToStringConverter::CreateExponentialRepresentation() in debug builds
17598        https://bugs.webkit.org/show_bug.cgi?id=91642
17599
17600        Reviewed by Abhishek Arya.
17601
17602        * wtf/dtoa/double-conversion.cc:
17603        (DoubleToStringConverter::CreateExponentialRepresentation): NUL-terminate string buffer before passing it to StringBuilder::AddSubstring()
17604        
176052012-07-18  Michael Saboff  <msaboff@apple.com>
17606
17607        Make TextCodecLatin1 handle 8 bit data without converting to UChar's
17608        https://bugs.webkit.org/show_bug.cgi?id=90319
17609
17610        Reviewed by Oliver Hunt.
17611
17612        * wtf/text/StringImpl.h:
17613        (StringImpl): Exported LChar variant of adopt().
17614        * wtf/text/WTFString.h:
17615        (WTF::String::createUninitialized): Exported LChar variant.
17616
176172012-07-18  Rob Buis  <rbuis@rim.com>
17618
17619        Alignment crash in MIMESniffer
17620        https://bugs.webkit.org/show_bug.cgi?id=89787
17621
17622        Reviewed by Yong Li.
17623
17624        PR 169064
17625
17626        Change isPointerTypeAlignmentOkay so calling it does not require ifdefs.
17627
17628        * wtf/StdLibExtras.h:
17629        (isPointerTypeAlignmentOkay):
17630
176312012-07-17  Gabor Ballabas  <gaborb@inf.u-szeged.hu>
17632
17633        [Qt][V8] Remove the V8 related codepaths and configuration
17634        https://bugs.webkit.org/show_bug.cgi?id=90863
17635
17636        Reviewed by Simon Hausmann.
17637
17638        * WTF.pri:
17639
176402012-07-17  Sheriff Bot  <webkit.review.bot@gmail.com>
17641
17642        Unreviewed, rolling out r122834.
17643        http://trac.webkit.org/changeset/122834
17644        https://bugs.webkit.org/show_bug.cgi?id=91492
17645
17646        it broke the chromium (Requested by kkristof on #webkit).
17647
17648        * WTF.pri:
17649
176502012-07-17  Gabor Ballabas  <gaborb@inf.u-szeged.hu>
17651
17652        [Qt][V8] Remove the V8 related codepaths and configuration
17653        https://bugs.webkit.org/show_bug.cgi?id=90863
17654
17655        Reviewed by Simon Hausmann.
17656
17657        * WTF.pri:
17658
176592012-07-16  Hajime Morrita  <morrita@chromium.org>
17660
17661        WebCore needs WEBCORE_TESTING macro to mark methods being exported for testing.
17662        https://bugs.webkit.org/show_bug.cgi?id=90764
17663
17664        Reviewed by Adam Barth.
17665
17666        Added USE(EXPORT_MACROS_FOR_TESTING) and enabled it on GTK and Windows.
17667
17668        * wtf/ExportMacros.h:
17669        * wtf/Platform.h:
17670
176712012-07-16  Filip Pizlo  <fpizlo@apple.com>
17672
17673        Unreviewed build fix.
17674
17675        * wtf/FastMalloc.cpp:
17676        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
17677
176782012-07-16  Adam Treat  <atreat@rim.com>
17679
17680        [BlackBerry] Use newer version of platform API to implement callOnMainThread
17681        https://bugs.webkit.org/show_bug.cgi?id=91404
17682
17683        Reviewed by Yong Li.
17684
17685        Right now we're using an outdated API that involves a virtual function call for no reason.
17686        Use the new API that is much more direct and to the point.
17687
17688        * wtf/blackberry/MainThreadBlackBerry.cpp:
17689        (WTF::scheduleDispatchFunctionsOnMainThread):
17690
176912012-07-14  Filip Pizlo  <fpizlo@apple.com>
17692
17693        Unreviewed, build fix.
17694
17695        * wtf/Assertions.cpp:
17696        * wtf/Platform.h:
17697        * wtf/unicode/icu/CollatorICU.cpp:
17698        (WTF::Collator::userDefault):
17699
177002012-07-13  Xianzhu Wang  <wangxianzhu@chromium.org>
17701
17702        Move WebCore/platform/text/Base64 to WTF/wtf/text
17703        https://bugs.webkit.org/show_bug.cgi?id=91162
17704
17705        Reviewed by Adam Barth.
17706
17707        * GNUmakefile.list.am:
17708        * WTF.gypi:
17709        * WTF.pro:
17710        * WTF.vcproj/WTF.vcproj:
17711        * WTF.xcodeproj/project.pbxproj:
17712        * wtf/CMakeLists.txt:
17713        * wtf/text/Base64.cpp: Renamed from Source/WebCore/platform/text/Base64.cpp.
17714        (WTF):
17715        (WTF::base64Encode):
17716        (WTF::base64Decode):
17717        (WTF::base64DecodeInternal):
17718        * wtf/text/Base64.h: Renamed from Source/WebCore/platform/text/Base64.h.
17719        (WTF):
17720        (WTF::base64Encode):
17721
177222012-07-12  Carlos Garcia Campos  <cgarcia@igalia.com>
17723
17724        [GTK] Add API to get HTTPS status to WebKit2 GTK+
17725        https://bugs.webkit.org/show_bug.cgi?id=91100
17726
17727        Reviewed by Martin Robinson.
17728
17729        Add support for GByteArray.
17730
17731        * wtf/gobject/GRefPtr.cpp:
17732        (WTF::refGPtr):
17733        (WTF):
17734        (WTF::derefGPtr):
17735        * wtf/gobject/GRefPtr.h:
17736        (WTF):
17737        * wtf/gobject/GTypedefs.h:
17738
177392012-07-12  Maciej Stachowiak  <mjs@apple.com>
17740
17741        Document ListHashSet iteration guarantees
17742        https://bugs.webkit.org/show_bug.cgi?id=91106
17743
17744        Reviewed by Eric Seidel.
17745
17746        * wtf/ListHashSet.h:
17747        (WTF): Expand class comment to document this.
17748
177492012-07-11  Mark Rowe  <mrowe@apple.com>
17750
17751        <http://webkit.org/b/91024> Build against the latest SDK when targeting older OS X versions.
17752
17753        Reviewed by Dan Bernstein.
17754
17755        The deployment target is already set to the version that we're targeting, and it's that setting
17756        which determines which functionality from the SDK is available to us.
17757
17758        * Configurations/Base.xcconfig:
17759
177602012-07-11  Mark Rowe  <mrowe@apple.com>
17761
17762        Replace definitions of BUILDING_ON / TARGETING macros with macros that will error when used.
17763
17764        Part of <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros.
17765
17766        Reviewed by Anders Carlsson.
17767
17768        * wtf/Platform.h:
17769
177702012-07-11  Mark Rowe  <mrowe@apple.com>
17771
17772        Switch a few cases that care about the SDK over to checking __MAC_OS_X_VERSION_MAX_ALLOWED so that things build.
17773
17774        Part of <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros
17775
17776        Reviewed by Filip Pizlo.
17777
17778        * wtf/FastMalloc.cpp:
17779        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): The SDK we're building against determines how many elements
17780        the structure is declared as having.
17781
177822012-07-11  Mark Rowe  <mrowe@apple.com>
17783
17784        <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros
17785
17786        This removal was handled by a script that translates the relevant macros in to the equivalent checks
17787        using the system availability macros.
17788
17789        Reviewed by Filip Pizlo.
17790
17791        * wtf/Assertions.cpp:
17792        * wtf/FastMalloc.cpp:
17793        * wtf/Platform.h:
17794        * wtf/ThreadingPthreads.cpp:
17795        * wtf/unicode/icu/CollatorICU.cpp:
17796
177972012-07-11  Anders Carlsson  <andersca@apple.com>
17798
17799        Add -Wtautological-compare and -Wsign-compare warning flags
17800        https://bugs.webkit.org/show_bug.cgi?id=90994
17801
17802        Reviewed by Mark Rowe.
17803
17804        * Configurations/Base.xcconfig:
17805
178062012-07-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
17807
17808        Re-enable __declspec(dl{import,export}) for MinGW when using EXPORT_MACROS
17809        https://bugs.webkit.org/show_bug.cgi?id=90612
17810
17811        Reviewed by Csaba Osztrogonác.
17812
17813        MinGW was switched to use auto import/export of symbols on r44184.
17814        From my understanding of the documentation, MinGW will not auto-export symbols
17815        unless there are no explicit __declspec(dlexport) in the DLL already.
17816
17817        The issues that originally made us rely on the auto-import feature of MinGW
17818        should now be resolved with the EXPORT_MACROS work. This patch re-enables them.
17819
17820        It also removes the GCC check for internal symbols hiding as the visibility should
17821        already be hidden by default for both MSVC and GCC on Windows anyway.
17822
17823        * wtf/ExportMacros.h:
17824
178252012-07-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
17826
17827        Shared code that is guarded with ENABLE(WEBGL) should be guarded with USE()
17828        https://bugs.webkit.org/show_bug.cgi?id=90506
17829
17830        Reviewed by Martin Robinson.
17831
17832        Made USE(3D_GRAPHICS) default to true when ENABLE(WEBGL) is true.
17833        Also updated the Qt default to always use TEXTURE_MAPPER, and to use TEXTURE_MAPPER_GL when
17834        3D_GRAPHICS is used.
17835
17836        * wtf/Platform.h:
17837
178382012-07-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
17839
17840        Introduce a build flag for low quality JPEG images
17841        https://bugs.webkit.org/show_bug.cgi?id=90748
17842
17843        Reviewed by Adam Barth.
17844
17845        Turn on the newly introduced flags for android.
17846
17847        * wtf/Platform.h:
17848
178492012-07-05  Filip Pizlo  <fpizlo@apple.com>
17850
17851        INLINE_ARM_FUNCTION(thingy) should make thingy be thumb2 if we're using thumb2
17852        https://bugs.webkit.org/show_bug.cgi?id=90644
17853
17854        Reviewed by Mark Hahnenberg.
17855        
17856        Fix breakage introduced in http://trac.webkit.org/changeset/121885
17857
17858        * wtf/InlineASM.h:
17859
178602012-07-05  Zoltan Herczeg  <zherczeg@webkit.org>
17861
17862        Port DFG JIT to traditional ARM
17863        https://bugs.webkit.org/show_bug.cgi?id=90198
17864
17865        Reviewed by Filip Pizlo.
17866
17867        Enabling DFG JIT on ARM systems with 32 bit instruction set.
17868
17869        * wtf/InlineASM.h:
17870        * wtf/Platform.h:
17871
178722012-07-04  Andy Wingo  <wingo@igalia.com>
17873
17874        [GTK] Enable parallel GC
17875        https://bugs.webkit.org/show_bug.cgi?id=90568
17876
17877        Reviewed by Martin Robinson.
17878
17879        * wtf/Platform.h: Add GTK to the ENABLE_PARALLEL_GC party.
17880
178812012-07-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
17882
17883        [Qt] Get rid of un-needed QT += declarative for Qt 5
17884
17885        The declarative module has been renamed to quick1 in Qt 5, and the
17886        engine-only module for Qt 5 is named 'qml'. For many of the instances
17887        we could just remove 'declarative', since the project file was only
17888        used for Qt5/WebKit2 builds. In the other cases the module was wrapped
17889        in a haveQt(4) scope.
17890
17891        Reviewed by Csaba Osztrogonác.
17892
17893        * WTF.pri:
17894
178952012-07-03  Yong Li  <yoli@rim.com>
17896
17897        [BlackBerry] Turn on DFGJIT in Platform.h
17898        https://bugs.webkit.org/show_bug.cgi?id=90482
17899
17900        Set ENABLE_DFG_JIT for PLATFORM(BLACKBERRY).
17901
17902        Reviewed by Rob Buis.
17903
17904        * wtf/Platform.h:
17905
179062012-07-03  Tony Chang  <tony@chromium.org>
17907
17908        [chromium] Unreviewed, update .gitignore to handle VS2010 files.
17909
17910        * WTF.gyp/.gitignore:
17911
179122012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
17913
17914        [Qt] Make use of .qmake.cache for caching features
17915
17916        Instead of loading() features from the files that need them (and re-running
17917        a bunch of checks), we now run feature detection as part of configure.pro,
17918        and have build-webkit write the computed feature-defines and CONFIG to
17919        .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
17920        when building WebKit.pro.
17921
17922        At some point we'll be able to selectivly prevent running of config tests
17923        in configure.pro, which means we don't need a separate code-path for
17924        the build-webkit --help case.
17925
17926        We should also move the code in build-webkit that now uses .webkit.config
17927        to detect clean builds, to use .qmake.cache, since we now store the same
17928        thing there.
17929
17930        Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
17931
17932        Reviewed by Tor Arne Vestbø.
17933
17934        * WTF.pri:
17935
179362012-07-03  Sheriff Bot  <webkit.review.bot@gmail.com>
17937
17938        Unreviewed, rolling out r121766.
17939        http://trac.webkit.org/changeset/121766
17940        https://bugs.webkit.org/show_bug.cgi?id=90465
17941
17942        It caused flakey build errors on the bots (Requested by Ossy
17943        on #webkit).
17944
17945        * WTF.pri:
17946
179472012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
17948
17949        [Qt] Make use of .qmake.cache for caching features
17950
17951        Instead of loading() features from the files that need them (and re-running
17952        a bunch of checks), we now run feature detection as part of configure.pro,
17953        and have build-webkit write the computed feature-defines and CONFIG to
17954        .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
17955        when building WebKit.pro.
17956
17957        At some point we'll be able to selectivly prevent running of config tests
17958        in configure.pro, which means we don't need a separate code-path for
17959        the build-webkit --help case.
17960
17961        We should also move the code in build-webkit that now uses .webkit.config
17962        to detect clean builds, to use .qmake.cache, since we now store the same
17963        thing there.
17964
17965        Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
17966
17967        Reviewed by Tor Arne Vestbø.
17968
17969        * WTF.pri:
17970
179712012-07-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>  Joel Dillon <joel.dillon@codethink.co.uk>
17972
17973        [Qt][Win] Fix broken QtWebKit5.lib linking
17974        https://bugs.webkit.org/show_bug.cgi?id=88321
17975
17976        Reviewed by Kenneth Rohde Christiansen.
17977
17978        Instead of letting a module's headers know which other modules depend on them,
17979        have depending modules define explicitely that they want its symbols exported too.
17980
17981        JavaScriptCore should then be compiled with both BUILDING_JavaScriptCore and
17982        STATICALLY_LINKED_WITH_WTF.
17983
17984        * wtf/ExportMacros.h:
17985
179862012-06-29  Tony Chang  <tony@chromium.org>
17987
17988        Unreviewed, rolling out r121572.
17989        http://trac.webkit.org/changeset/121572
17990        https://bugs.webkit.org/show_bug.cgi?id=90249
17991
17992        Breaks Mac build since it depends on r121547, which was rolled
17993        out
17994
17995        * wtf/ThreadingPthreads.cpp:
17996        (WTF::initializeCurrentThreadInternal):
17997
179982012-06-29  Eric Seidel  <eric@webkit.org>
17999
18000        Remove BUILDING_ON_LEOPARD now that no ports build on Leopard
18001        https://bugs.webkit.org/show_bug.cgi?id=90249
18002
18003        Reviewed by Ryosuke Niwa.
18004
18005        * wtf/ThreadingPthreads.cpp:
18006        (WTF::initializeCurrentThreadInternal):
18007
180082012-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
18009
18010        Unreviewed, rolling out r121529.
18011        http://trac.webkit.org/changeset/121529
18012        https://bugs.webkit.org/show_bug.cgi?id=90260
18013
18014        Failed to compile on Chromium WebKitMacBuilder (Requested by
18015        keishi on #webkit).
18016
18017        * wtf/FastMalloc.cpp:
18018        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
18019        * wtf/unicode/icu/CollatorICU.cpp:
18020        (WTF::Collator::userDefault):
18021
180222012-06-29  Eric Seidel  <eric@webkit.org>
18023
18024        Remove more BUILDING_ON_LEOPARD branches now that no port builds on Leopard
18025        https://bugs.webkit.org/show_bug.cgi?id=90252
18026
18027        Reviewed by Ryosuke Niwa.
18028
18029        * wtf/FastMalloc.cpp:
18030        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
18031        * wtf/unicode/icu/CollatorICU.cpp:
18032        (WTF::Collator::userDefault):
18033
180342012-06-29  Eric Seidel  <eric@webkit.org>
18035
18036        Remove more BUILDING_ON_LEOPARD usage in PLATFORM(MAC) code
18037        https://bugs.webkit.org/show_bug.cgi?id=85846
18038
18039        Reviewed by Adam Barth.
18040
18041        PLATFORM(MAC) has not supported Leopard for several months now.
18042        This change removes about 1/3 of the remaining BUILDING_ON_LEOPARD
18043        uses in the PLATFORM(MAC) codepaths.  PLATFORM(CHROMIUM) still
18044        supports BUILDING_ON_LEOPARD for now.
18045
18046        * wtf/Platform.h:
18047
180482012-06-28  Kalev Lember  <kalevlember@gmail.com>
18049
18050        ThreadingWin: Silence GCC compiler warnings
18051        https://bugs.webkit.org/show_bug.cgi?id=89491
18052
18053        Reviewed by Adam Roben.
18054
18055        * wtf/ThreadingWin.cpp:
18056        (WTF::createThreadInternal):
18057        (WTF::PlatformCondition::timedWait):
18058        (WTF::PlatformCondition::signal): Fix unused-but-set-variable
18059        warnings.
18060
180612012-06-26  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
18062
18063        [Qt] Add missing heades to HEADERS
18064
18065        For JavaScriptCore there aren't any Qt specific files, so we include all
18066        headers for easy editing in Qt Creator.
18067
18068        Reviewed by Simon Hausmann.
18069
18070        * WTF.pro:
18071
180722012-06-25  Kent Tamura  <tkent@chromium.org>
18073
18074        Unreviewed, rolling out r121145.
18075        http://trac.webkit.org/changeset/121145
18076        https://bugs.webkit.org/show_bug.cgi?id=89847
18077
18078        Had an objection for the change.
18079
18080        * wtf/text/StringBuilder.h:
18081
180822012-06-25  Yong Li  <yoli@rim.com>
18083
18084        [BlackBerry] Add JSC statistics into about:memory
18085        https://bugs.webkit.org/show_bug.cgi?id=89779
18086
18087        Reviewed by Rob Buis.
18088
18089        Turn on WTF_USE_EXPORT_MACROS for BlackBerry port.
18090        This will make macros like JS_EXPORT_PRIVATE work without
18091        extra porting.
18092
18093        * wtf/Platform.h:
18094
180952012-06-25  Adam Barth  <abarth@webkit.org>
18096
18097        Use InterpolationLow on chromium-android
18098        https://bugs.webkit.org/show_bug.cgi?id=89849
18099
18100        Reviewed by Daniel Bates.
18101
18102        Introduce a USE macro to control image interpolation quality.
18103
18104        * wtf/Platform.h:
18105
181062012-06-25  Kent Tamura  <tkent@chromium.org>
18107
18108        Change the serialization format of form control state to make the code simple
18109        https://bugs.webkit.org/show_bug.cgi?id=89847
18110
18111        Reviewed by Hajime Morita.
18112
18113        * wtf/text/StringBuilder.h:
18114        (WTF::StringBuilder::appendEscaped): Added. This function adds the
18115        escaped form of the input string. e.g. if stiring="foo,bar" escape='\'
18116        special=',', the appended string is foo\,bar.
18117
181182012-06-24  Adam Barth  <abarth@webkit.org>
18119
18120        Remove USE(CHROMIUM_NET) because it is unused
18121        https://bugs.webkit.org/show_bug.cgi?id=89850
18122
18123        Reviewed by Eric Seidel.
18124
18125        I didn't see any mentions of CHROMIUM_NET when I grepped the Source
18126        directory. Also, this USE macro isn't defined on OS(DARWIN) or
18127        OS(ANDROID), which seems a bit odd given that Chromium uses the same
18128        network stack on all platforms.
18129
18130        * wtf/Platform.h:
18131
181322012-06-22  Peter Beverloo  <peter@chromium.org>
18133
18134        [Chromium] Disable c++0x compatibility warnings in JavaScriptCore.gyp when building for Android
18135        https://bugs.webkit.org/show_bug.cgi?id=88853
18136
18137        Reviewed by Steve Block.
18138
18139        The Android exclusions were necessary to fix a gyp generation error, as
18140        the gcc_version variable wasn't being defined for Android. Remove these
18141        exceptions when Chromium is able to define the gcc_version variable.
18142
18143        * WTF.gyp/WTF.gyp:
18144
181452012-06-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
18146
18147        Causes crashes in LLVMPipe
18148        https://bugs.webkit.org/show_bug.cgi?id=89358
18149
18150        Reviewed by Martin Robinson.
18151
18152        Change suggested by Dave Airlie and Xan Lopez.
18153
18154        * wtf/Platform.h: disable global fastMalloc for GTK+
18155
181562012-06-22  Mario Sanchez Prada  <msanchez@igalia.com>
18157
18158        Memory corruption on HashTable.h
18159        https://bugs.webkit.org/show_bug.cgi?id=88419
18160
18161        Reviewed by Martin Robinson.
18162
18163        Simplify definition of WTF_USE_PTHREADS and HAVE_PTHREAD_RWLOCK
18164        for the GTK platform using OS(LINUX) instead of HAVE(PTHREAD_H).
18165
18166        * wtf/Platform.h:
18167
181682012-06-21  Parth Patel  <parpatel@rim.com>
18169
18170        [Blackberry] BlackBerry::Platform::Settings::get() rename to BlackBerry::Platform::Settings::instance() to make it consistent with our other singletons
18171        https://bugs.webkit.org/show_bug.cgi?id=89684
18172
18173        Reviewed by Yong Li.
18174        
18175        Update setting instance access to use instance() instead of get().
18176
18177        * wtf/ThreadingPthreads.cpp:
18178        (WTF::createThreadInternal):
18179
181802012-06-21  Kalev Lember  <kalevlember@gmail.com>
18181
18182        [GTK] Fix NPAPI plugins on Windows
18183        https://bugs.webkit.org/show_bug.cgi?id=54531
18184
18185        Reviewed by Martin Robinson.
18186
18187        Define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH for the GTK+ port, and
18188        include OwnPtrWin.cpp in the list of files built on Windows.
18189
18190        * GNUmakefile.am:
18191        * GNUmakefile.list.am:
18192        * wtf/Platform.h:
18193
181942012-06-21  Balazs Kelemen  <kbalazs@webkit.org>
18195
18196        Compile error: 'bool std::isinf(float)' is not 'constexpr' with GCC 4.6 in C++11 mode
18197        https://bugs.webkit.org/show_bug.cgi?id=88721
18198
18199        Reviewed by Csaba Osztrogonác.
18200
18201        Don't define these as consexpr because with gcc 4.6
18202        they call non constexpr functions.
18203        * wtf/MathExtras.h:
18204        (std::wtf_isinf):
18205        (std::wtf_isnan):
18206
182072012-06-17  Filip Pizlo  <fpizlo@apple.com>
18208
18209        It should be possible to look at disassembly
18210        https://bugs.webkit.org/show_bug.cgi?id=89319
18211
18212        Reviewed by Sam Weinig.
18213        
18214        Made changes to Assertions.h to make it friendly to C code again.
18215        
18216        Added ENABLE(DISASSEMBLER) and USE(UDIS86) logic to Platform.h.
18217
18218        * wtf/Assertions.h:
18219        * wtf/Platform.h:
18220
182212012-06-19  Jon Honeycutt  <jhoneycutt@apple.com>
18222
18223        REGRESSION(r120552): Many tests timing out on Windows
18224        https://bugs.webkit.org/show_bug.cgi?id=89433
18225
18226        Reviewed by Andy Estes.
18227
18228        * wtf/CurrentTime.cpp:
18229        (WTF::lowResUTCTime):
18230        It looks like there were two bugs:
18231        1) the function was converting from 100ths of nanoseconds to seconds
18232           rather than 100s of nanoseconds to seconds by dividing by
18233           (nsPerSecond * 100) rather than (nsPerSecond / 100)
18234        2) the function should've been returning milliseconds, not seconds
18235
182362012-06-18  Tony Payne  <tpayne@chromium.org>
18237
18238        [chromium] Add iccjpeg and qcms to chromium port.
18239        https://bugs.webkit.org/show_bug.cgi?id=81974
18240
18241        * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
18242        to each Chromium platform, excluding Android.
18243
18244        Reviewed by Adam Barth.
18245
182462012-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
18247
18248        Unreviewed, rolling out r120485 and r120582.
18249        http://trac.webkit.org/changeset/120485
18250        http://trac.webkit.org/changeset/120582
18251        https://bugs.webkit.org/show_bug.cgi?id=89345
18252
18253        chromeos tree breakage (Requested by morrita on #webkit).
18254
18255        * wtf/Platform.h:
18256
182572012-06-17  Patrick Gansterer  <paroga@webkit.org>
18258
18259        [WIN] Simplify implementation of currentTime()
18260        https://bugs.webkit.org/show_bug.cgi?id=83156
18261
18262        Reviewed by Brent Fulgham.
18263
18264        Use GetSystemTimeAsFileTime() instead of ftime().
18265        This avoids an unneeded call to the MS CRT and
18266        brings the Win/WinCE code closer together.
18267
18268        * wtf/CurrentTime.cpp:
18269        (WTF::lowResUTCTime):
18270        (WTF::currentTime):
18271
182722012-06-15  Tony Payne  <tpayne@chromium.org>
18273
18274        [chromium] Add iccjpeg and qcms to chromium port.
18275        https://bugs.webkit.org/show_bug.cgi?id=81974
18276
18277        * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
18278        to each Chromium platform, excluding Android.
18279
18280        Reviewed by Adam Barth.
18281
182822012-06-14  Sheriff Bot  <webkit.review.bot@gmail.com>
18283
18284        Unreviewed, rolling out r120393.
18285        http://trac.webkit.org/changeset/120393
18286        https://bugs.webkit.org/show_bug.cgi?id=89163
18287
18288        breaks cr-mac build (Requested by morrita on #webkit).
18289
18290        * wtf/Platform.h:
18291
182922012-06-14  Tony Payne  <tpayne@chromium.org>
18293
18294        [chromium] Add iccjpeg and qcms to chromium port.
18295        https://bugs.webkit.org/show_bug.cgi?id=81974
18296
18297        * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
18298        to each Chromium platform, excluding Android.
18299
18300        Reviewed by Adam Barth.
18301
183022012-06-14  Yong Li  <yoli@rim.com>
18303
18304        [BlackBerry] Implement computeRAMSize for QNX
18305        https://bugs.webkit.org/show_bug.cgi?id=89110
18306
18307        Reviewed by Rob Buis.
18308
18309        * wtf/RAMSize.cpp:
18310        (WTF::computeRAMSize):
18311
183122012-06-14  Geoffrey Garen  <ggaren@apple.com>
18313
18314        ARMv7 should support spinlocks
18315        https://bugs.webkit.org/show_bug.cgi?id=88957
18316
18317        Reviewed by Darin Adler.
18318
18319        More info @ http://infocenter.arm.com/help/topic/
18320        com.arm.doc.genc007826/Barrier_Litmus_Tests_and_Cookbook_A08.pdf
18321
18322        * wtf/Atomics.h:
18323        (WTF::memoryBarrierAfterLock):
18324        (WTF::memoryBarrierBeforeUnlock): Added memory barrier primitives since
18325        ARMv7 has a weakly ordered memory model.
18326
18327        * wtf/Platform.h: Enabled compare-and-swap on Windows so our spinlock
18328        implementation would continue working on Windows.
18329
18330        * wtf/TCSpinLock.h:
18331        (TCMalloc_SpinLock::Lock):
18332        (TCMalloc_SpinLock::Unlock):
18333        (TCMalloc_SpinLock): Use our compare-and-swap helper function to avoid
18334        rewriting it in assembly here.
18335
18336        Added memory barriers since ARMv7 needs them.
18337
18338        Removed PPC support because our helper function doesn't support PPC.
18339
183402012-06-13  Arnaud Renevier  <arno@renevier.net>
18341
18342        make sure headers are included only once per file
18343        https://bugs.webkit.org/show_bug.cgi?id=88929
18344
18345        Reviewed by Kentaro Hara.
18346
18347        * wtf/FastMalloc.cpp:
18348        * wtf/MathExtras.h:
18349        * wtf/OSAllocator.h:
18350
183512012-06-13  Benjamin Poulain  <benjamin@webkit.org>
18352
18353        Implement the simple constructors WTFURL's KURL
18354        https://bugs.webkit.org/show_bug.cgi?id=85724
18355
18356        Reviewed by Adam Barth.
18357
18358        This patch extends WTFURL with:
18359        -support basic debugging using print() methods
18360        -parsing in the incomming string character set (8bits or 16bits)
18361        -add a function for parsing of relative URL (but no implementation yet)
18362
18363        * WTF.xcodeproj/project.pbxproj:
18364        * wtf/text/WTFString.h:
18365        (String):
18366        * wtf/url/api/ParsedURL.cpp:
18367        (WTF::ParsedURL::ParsedURL):
18368        (WTF):
18369        (WTF::ParsedURL::hasFragment): Add this method to query the framgent availability without
18370        allocating a new String.
18371        (WTF::ParsedURL::withoutFragment): This method is added to implement KURL::removeFragmentIdentifier() and
18372        the parsing of empty relative URL (where we return the base without fragment).
18373        (WTF::ParsedURL::print):
18374        * wtf/url/api/ParsedURL.h:
18375        (ParsedURL):
18376        (WTF::ParsedURL::spec):
18377        * wtf/url/api/URLString.h:
18378        (URLString):
18379        * wtf/url/src/URLParser.h:
18380        (WTF):
18381        (URLParser):
18382        (WTF::URLParser::parseURLWithBase):
18383        * wtf/url/src/URLSegments.cpp:
18384        (WTF::URLSegments::length):
18385        (WTF::URLSegments::charactersBefore):
18386        * wtf/url/src/URLSegments.h:
18387        (URLSegments):
18388        Change the boolean argument includeDelimiter in favor of an enum to improve readability.
18389
183902012-06-13  Filip Pizlo  <fpizlo@apple.com>
18391
18392        DFG should be able to set watchpoints on global variables
18393        https://bugs.webkit.org/show_bug.cgi?id=88692
18394
18395        Reviewed by Geoffrey Garen.
18396        
18397        Added ability to set the inline capacity of segmented vectors.
18398        
18399        Also added the ability ot ASSERT_NOT_REACHED() without having to
18400        propagate NO_RETURN macros, which would be a show-stopper for code
18401        that is conditionally unreachable.
18402
18403        * wtf/Assertions.h:
18404        (UNREACHABLE_FOR_PLATFORM):
18405        * wtf/SegmentedVector.h:
18406        (WTF):
18407        (SegmentedVectorIterator):
18408        (WTF::SegmentedVectorIterator::operator=):
18409        (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
18410        (SegmentedVector):
18411
184122012-06-13  Sheriff Bot  <webkit.review.bot@gmail.com>
18413
18414        Unreviewed, rolling out r120172.
18415        http://trac.webkit.org/changeset/120172
18416        https://bugs.webkit.org/show_bug.cgi?id=88976
18417
18418        The patch causes compilation failures on Gtk, Qt and Apple Win
18419        bots (Requested by zdobersek on #webkit).
18420
18421        * wtf/SegmentedVector.h:
18422        (WTF):
18423        (SegmentedVectorIterator):
18424        (WTF::SegmentedVectorIterator::operator=):
18425        (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
18426        (SegmentedVector):
18427
184282012-06-10  Filip Pizlo  <fpizlo@apple.com>
18429
18430        DFG should be able to set watchpoints on global variables
18431        https://bugs.webkit.org/show_bug.cgi?id=88692
18432
18433        Reviewed by Geoffrey Garen.
18434        
18435        Added ability to set the inline capacity of segmented vectors.
18436
18437        * wtf/SegmentedVector.h:
18438        (WTF):
18439        (SegmentedVectorIterator):
18440        (WTF::SegmentedVectorIterator::operator=):
18441        (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
18442        (SegmentedVector):
18443
184442012-06-12  Geoffrey Garen  <ggaren@apple.com>
18445
18446        Try to fix the build.
18447
18448        Maybe don't export inlined functions.
18449
18450        * wtf/ThreadingPrimitives.h:
18451        (WTF::MutexTryLocker::MutexTryLocker):
18452        (WTF::MutexTryLocker::~MutexTryLocker):
18453        (WTF::MutexTryLocker::locked):
18454
184552012-06-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
18456
18457        Using extrernal ICU library on case unsensitive drives will not work
18458        https://bugs.webkit.org/show_bug.cgi?id=70913
18459
18460        Reviewed by Csaba Osztrogonác.
18461
18462        Properly set the include path for the WTF module and for modules using it.
18463        The path should include Source/WTF/wtf only when building WTF itself. Other
18464        modules are expected to include the headers as #include <wtf/Header.h>, so
18465        only add Source/WTF to their include path.
18466
18467        "unicode/utf8.h" should now then always reference to ICU in the include path
18468        and "wtf/unicode/UTF8.h" reference to the WTF version.
18469        This will work as long as WTF object files don't depend on ICU themselves.
18470
18471        Removed gobject, qt and unicode from the include path as those directories
18472        don't exist anymore.
18473
18474        * WTF.pri:
18475        * WTF.pro:
18476
184772012-06-11  Carlos Garcia Campos  <cgarcia@igalia.com>
18478
18479        Unreviewed. Fix make distcheck issues.
18480
18481        * GNUmakefile.list.am: Add missing header file.
18482
184832012-06-09  Dominic Cooney  <dominicc@chromium.org>
18484
18485        [Chromium] Remove JavaScriptCore dependencies from gyp
18486        https://bugs.webkit.org/show_bug.cgi?id=88510
18487
18488        Reviewed by Adam Barth.
18489
18490        Chromium doesn't support JSC any more and there doesn't seem to be
18491        a strong interest in using GYP as the common build system in other
18492        ports.
18493
18494        * WTF.gyp/WTF.gyp:
18495
184962012-06-08  Andy Wingo  <wingo@igalia.com>
18497
18498        Explictly mark stubs called by JIT as being internal
18499        https://bugs.webkit.org/show_bug.cgi?id=88552
18500
18501        Reviewed by Filip Pizlo.
18502
18503        * wtf/ExportMacros.h (WTF_INTERNAL, HAVE_INTERNAL_VISIBILITY): New
18504        defines.  Regardless of what the port does about visibility in
18505        general, for code referenced only from assembly it is useful to
18506        give it internal visibility.
18507        * wtf/InlineASM.h: Split SYMBOL_STRING_RELOCATION into
18508        LOCAL_REFERENCE and GLOBAL_REFERENCE; the former will try to avoid
18509        indirection if HAVE(INTERNAL_VISIBILITY).
18510
185112012-06-07  Csaba Osztrogonác  <ossy@webkit.org>
18512
18513        [Qt][Win] Fix linking WTF with ICU
18514        https://bugs.webkit.org/show_bug.cgi?id=88302
18515
18516        Reviewed by Simon Hausmann.
18517
18518        * WTF.pri: Use proper library names on win32 platforms.
18519
185202012-06-06  Michael Saboff  <msaboff@apple.com>
18521
18522        ENH: Add Logging to GC Marking Phase
18523        https://bugs.webkit.org/show_bug.cgi?id=88364
18524
18525        Reviewed by Filip Pizlo.
18526
18527        * wtf/DataLog.cpp:
18528        (WTF::dataLogString): Additional method to support GC Mark logging.
18529        * wtf/DataLog.h:
18530        * wtf/Platform.h: New ENABLE_OBJECT_MARK_LOGGING flag macro.
18531
185322012-06-06  Andy Wingo  <wingo@igalia.com>
18533
18534        [GTK] Enable the LLInt
18535        https://bugs.webkit.org/show_bug.cgi?id=88315
18536
18537        Reviewed by Filip Pizlo.
18538
18539        * wtf/InlineASM.h: Add an implementation of LOCAL_LABEL_STRING for
18540        OS(LINUX).
18541        * wtf/Platform.h: Add OS(LINUX) to the set of operating systems
18542        for ENABLE_LLINT.  Add a specific check for PLATFORM(MAC) or
18543        PLATFORM(IOS), and add to that a check for PLATFORM(GTK).
18544
185452012-06-05  Roland Takacs  <takacs.roland@stud.u-szeged.hu>
18546
18547        [Qt] Use GraphicsContext3DOpenGLES.cpp when using OpenGL ES
18548        https://bugs.webkit.org/show_bug.cgi?id=78720
18549
18550        Reviewed by Noam Rosenthal.
18551
18552        Defined a global Opengl ES macro to check OpenGL ES on every platforms.
18553
18554        * wtf/Platform.h:
18555
185562012-06-04  Takashi Toyoshima  <toyoshim@chromium.org>
18557
18558        [WebSocket] Send requires super linear time against data size
18559        https://bugs.webkit.org/show_bug.cgi?id=87383
18560
18561        Reviewed by Kent Tamura.
18562
18563        * wtf/StreamBuffer.h: Added.
18564        (WTF):
18565        (StreamBuffer):
18566        (WTF::StreamBuffer::StreamBuffer):
18567        (WTF::StreamBuffer::~StreamBuffer):
18568        (WTF::StreamBuffer::isEmpty):
18569        (WTF::StreamBuffer::append):
18570        (WTF::StreamBuffer::consume):
18571        (WTF::StreamBuffer::size):
18572        (WTF::StreamBuffer::firstBlockData):
18573        (WTF::StreamBuffer::firstBlockSize):
18574
185752012-06-04  Patrick Gansterer  <paroga@webkit.org>
18576
18577        Port RAMSize to WinCE
18578        https://bugs.webkit.org/show_bug.cgi?id=87854
18579
18580        Reviewed by Geoffrey Garen.
18581
18582        WinCE has no GlobalMemoryStatusEx() function. Use GlobalMemoryStatus() instead.
18583
18584        * wtf/RAMSize.cpp:
18585        (WTF::computeRAMSize):
18586
185872012-06-01  Xianzhu Wang  <wangxianzhu@chromium.org>
18588
18589        Remove dependency from ImageDiff to WTF
18590        https://bugs.webkit.org/show_bug.cgi?id=88147
18591
18592        Reviewed by Adam Barth.
18593
18594        * WTF.gyp/WTF.gyp:
18595
185962012-06-01  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
18597
18598        [Qt] Save one copy when going from 8-bit WTF::String to QString
18599
18600        Asking for characters() of an 8-bit string will make a 16-bit copy internally
18601        in WTF::String. Since we're going to copy the data to QStringData anyways, which
18602        is 16-bit, we can do the conversion ourselves and save one copy.
18603
18604        Reviewed by Simon Hausmann.
18605
18606        * wtf/qt/StringQt.cpp:
18607        (WTF::String::operator QString):
18608
186092012-05-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
18610
18611        [Qt] Make conversion from QString to WTF::String (and back again) ~free
18612
18613        https://bugs.webkit.org/show_bug.cgi?id=87847
18614
18615        Instead of copying the QString data when converting to a WTF::String we
18616        make the WTF::String adopt the QString data by introducing a new buffer
18617        ownership type, and pointing the internal WTF::StringImpl 16-bit data
18618        member to the string data managed by QStringData.
18619
18620        We make sure to reference the QStringData when adopting, so that the
18621        data will stay alive, and then dereference it when the WTF::StringImpl
18622        is deleted, which will free the QStringData (either straight away, if
18623        we're the only one holding a reference still, or later, when the ref
18624        count goes to 0).
18625
18626        In the case of going back from a WTF::String to a QString we can cheat
18627        a bit (avoid a copy), if we know that the WTF::String was adopted from
18628        a QString, since it's then just a matter of having the QString adopt
18629        the existing QStringData (just like a regular QString copy).
18630
18631        If the WTF::String buffer is not owned by QStringData, eg a regular
18632        8-bit or 16-bit string/substring, we have to fall back to copying,
18633        as before (though there are potential optimization tricks we can
18634        apply here later on).
18635
18636        Reviewed by Gavin Barraclough.
18637
18638        * wtf/qt/StringQt.cpp:
18639        * wtf/text/StringImpl.cpp:
18640        * wtf/text/StringImpl.h:
18641
186422012-06-01  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
18643
18644        [EFL] Implement PlatformStrategies
18645        https://bugs.webkit.org/show_bug.cgi?id=86946
18646
18647        Reviewed by Carlos Garcia Campos.
18648
18649        * wtf/Platform.h: Enable PLATFORM_STRATEGIES for EFL platform.
18650
186512012-05-31  Anders Carlsson  <andersca@apple.com>
18652
18653        Enable support for rvalue references when building with a version of clang that supports them
18654        https://bugs.webkit.org/show_bug.cgi?id=88018
18655
18656        Re-enable support for rvalue references when building with a version of Xcode newer than 4.2.
18657
18658        * wtf/Compiler.h:
18659
186602012-05-31  Filip Pizlo  <fpizlo@apple.com>
18661
18662        DataLog should be usable outside of JSC
18663        https://bugs.webkit.org/show_bug.cgi?id=88015
18664
18665        Reviewed by Oliver Hunt.
18666
18667        * wtf/DataLog.h:
18668        (WTF):
18669
186702012-05-31  Anders Carlsson  <andersca@apple.com>
18671
18672        Disable support for rvalue references until I figure out why this is breaking the Xcode 4.2 build.
18673
18674        * wtf/Compiler.h:
18675
186762012-05-31  Anders Carlsson  <andersca@apple.com>
18677
18678        Vector should have a move constructor and move assignment operator
18679        https://bugs.webkit.org/show_bug.cgi?id=87997
18680
18681        Reviewed by Andreas Kling.
18682
18683        * wtf/Compiler.h:
18684        Use __has_extension so we can use move semantics and other C++11 features even when building as C++98.
18685
18686        * wtf/Vector.h:
18687        Add a move constructor and a move assignment operator to Vector.
18688
186892012-05-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
18690
18691        [Qt] Simplify QT_VERSION_CHECKS for Qt5 by introducing HAVE(QT5)
18692        https://bugs.webkit.org/show_bug.cgi?id=87955
18693
18694        Reviewed by Simon Hausmann.
18695
18696        * wtf/qt/UtilsQt.h:
18697
186982012-05-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
18699
18700        HashTable.h has using directives for std::pair and std::make_pair
18701        https://bugs.webkit.org/show_bug.cgi?id=29919
18702
18703        Reviewed by Darin Adler.
18704
18705        * wtf/HashTraits.h:
18706        (WTF): Remove the directives.
18707
187082012-05-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
18709
18710        HashTable.h has using directives for std::pair and std::make_pair
18711        https://bugs.webkit.org/show_bug.cgi?id=29919
18712
18713        Reviewed by Darin Adler.
18714
18715        Change code to use std::pair and std::make_pair. Later patch will remove the
18716        'using' directives.
18717
18718        * wtf/HashTable.h:
18719        (WTF::hashTableSwap):
18720        (HashTable):
18721        * wtf/HashTraits.h:
18722        (PairHashTraits):
18723        (WTF::PairHashTraits::emptyValue):
18724
187252012-05-30  Patrick Gansterer  <paroga@webkit.org>
18726
18727        Build fix for WinCE after r118603.
18728
18729        * wtf/Atomics.h:
18730        (WTF::weakCompareAndSwap):
18731
187322012-05-29  Anders Carlsson  <andersca@apple.com>
18733
18734        String should be move enabled/optimized
18735        https://bugs.webkit.org/show_bug.cgi?id=87596
18736
18737        Reviewed by Andreas Kling.
18738
18739        Add move constructors and move assignment operators to String and AtomicString when building with
18740        compilers that support rvalue references. This gets rid of ref-churn when the source of the 
18741        constructor or assignment is a temporary object.
18742
18743        * wtf/text/AtomicString.h:
18744        (AtomicString):
18745        (WTF::AtomicString::AtomicString):
18746        (WTF::AtomicString::operator=):
18747        * wtf/text/WTFString.h:
18748        (String):
18749        (WTF::String::String):
18750        (WTF::String::operator=):
18751
187522012-05-29  Alexandre Elias  <aelias@google.com>
18753
18754        Support WebKit log messages on Android
18755        https://bugs.webkit.org/show_bug.cgi?id=87773
18756
18757        Reviewed by Darin Adler.
18758
18759        This sends WebKit log messages to the Android "logcat" facility, as
18760        Android sends stderr to /dev/null.
18761
18762        * wtf/Assertions.cpp:
18763
187642012-05-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
18765
18766        [Qt] Remove duplication of logic for disabling selected warnings related to C++11
18767
18768        This is already handled in unix/default_post.prf
18769
18770        Reviewed by Simon Hausmann.
18771
18772        * WTF.pro:
18773
187742012-05-27  Darin Adler  <darin@apple.com>
18775
18776        Fix an incorrect assertion in Vector::remove
18777        https://bugs.webkit.org/show_bug.cgi?id=87612
18778
18779        Reviewed by Dan Bernstein.
18780
18781        * wtf/Vector.h: There's no good reason to disallow calling remove
18782        with a size of 0, even when the position is at the end of the vector,
18783        so changed the two-argument Vector::remove assertion to assert that
18784        the position is <= size rather than < size.
18785
187862012-05-27  Yoshifumi Inoue  <yosin@chromium.org>
18787
18788        [WTF] Introduce UINT64_C to MathExtras.h
18789        https://bugs.webkit.org/show_bug.cgi?id=87485
18790
18791        Reviewed by Kent Tamura.
18792
18793        * wtf/MathExtras.h:
18794
187952012-05-25  Filip Pizlo  <fpizlo@apple.com>
18796
18797        weakCompareAndSwap should work on Windows
18798        https://bugs.webkit.org/show_bug.cgi?id=87549
18799
18800        Reviewed by Jessie Berlin.
18801
18802        * wtf/Atomics.h:
18803        (WTF):
18804        (WTF::weakCompareAndSwap):
18805
188062012-05-24  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
18807
18808        cti_vm_throw gets kicked out by gcc 4.6 -flto
18809        https://bugs.webkit.org/show_bug.cgi?id=56088
18810
18811        Reviewed by Darin Adler.
18812
18813        Define REFERENCED_FROM_ASM to __attribute__((used)) on GCC.
18814
18815        * wtf/Compiler.h:
18816
188172012-05-23  Darin Adler  <darin@apple.com>
18818
18819        Optimize iteration of empty hash tables
18820        https://bugs.webkit.org/show_bug.cgi?id=87215
18821
18822        Reviewed by Geoffrey Garen.
18823
18824        Iteration of empty hash tables was showing up on simple page loading
18825        profiles due to the use of hash tables in the
18826        NodeListsNodeData::invalidateCaches and
18827        NodeListsNodeData::invalidateCachesThatDependOnAttributes functions.
18828        It's worth optimizing the case of an empty table.
18829
18830        * wtf/HashTable.h:
18831        (WTF::HashTable::begin): Return the known-good end iterator when the
18832        table is empty. This makes iterating an empty table faster because we
18833        avoid skipping empty and deleted buckets.
18834
188352012-05-22  Geoffrey Garen  <ggaren@apple.com>
18836
18837        Build fix.
18838
18839        * wtf/RAMSize.cpp:
18840        (WTF::computeRAMSize): sysctl expects a uint64_t, so use that and then
18841        cast back to size_t. Since it's coneivable that a 32bit process would
18842        run on a system with more than 4GB RAM, I added a paranoid check for
18843        that condition.
18844
188452012-05-22  Jessie Berlin  <jberlin@apple.com>
18846
18847        Build fix.
18848
18849        * wtf/RAMSize.cpp:
18850        (WTF::computeRAMSize):
18851        If you say you are going to return a size_t, actually return a size_t.
18852
188532012-05-21  Geoffrey Garen  <ggaren@apple.com>
18854
18855        GC allocation trigger should be tuned to system RAM
18856        https://bugs.webkit.org/show_bug.cgi?id=87039
18857
18858        Reviewed by Darin Adler.
18859
18860        Added a helper function for measuring system RAM.
18861
18862        * GNUmakefile.list.am:
18863        * WTF.gypi:
18864        * WTF.pro:
18865        * WTF.vcproj/WTF.vcproj:
18866        * WTF.xcodeproj/project.pbxproj:
18867        * wtf/AmountOfRAM.cpp: Added.
18868        (WTF):
18869        (WTF::computeAmountOfRAM):
18870        (WTF::amountOfRAM):
18871        * wtf/AmountOfRAM.h: Added.
18872        (WTF):
18873        * wtf/CMakeLists.txt:
18874        * wtf/StdLibExtras.h:
18875        (WTF):
18876
188772012-05-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
18878
18879        GCC 4.7 and C++11 support.
18880        https://bugs.webkit.org/show_bug.cgi?id=86465
18881
18882        Reviewed by Darin Adler.
18883
18884        Detect C++11 mode in GCC 4.7 and set appropiate compiler feature flags.
18885        Turn C++11 override control into a compiler feature flag.
18886        Fix non-clang support of compiler feature CXX_DELETED_FUNCTIONS.
18887
18888        * wtf/Compiler.h:
18889        * wtf/Noncopyable.h:
18890
188912012-05-22  Filip Pizlo  <fpizlo@apple.com>
18892
18893        REGRESSION(r117861): It made almost all tests crash on Qt
18894        https://bugs.webkit.org/show_bug.cgi?id=87082
18895
18896        Reviewed by Csaba Osztrogonác.
18897        
18898        Using OwnArrayPtr is a bad idea if you allocate array with fastCalloc.
18899
18900        * wtf/FastBitVector.h:
18901        (WTF::FastBitVector::FastBitVector):
18902        (WTF::FastBitVector::~FastBitVector):
18903        (FastBitVector):
18904        (WTF::FastBitVector::operator=):
18905        (WTF::FastBitVector::resize):
18906        (WTF::FastBitVector::setAll):
18907        (WTF::FastBitVector::clearAll):
18908        (WTF::FastBitVector::set):
18909
189102012-05-21  Filip Pizlo  <fpizlo@apple.com>
18911
18912        DFG should be able to compute dominators
18913        https://bugs.webkit.org/show_bug.cgi?id=85269
18914
18915        Reviewed by Oliver Hunt.
18916        
18917        Merged r115754 from dfgopt.
18918        
18919        Added a bitvector class suitable for cheap static analysis. This class
18920        differs from BitVector in that instead of optimizing for space, it
18921        optimizes for execution time. Its API is also somewhat less friendly,
18922        which is intentional; it's meant to be used in places where you know
18923        up front how bit your bitvectors are going to be.
18924
18925        * GNUmakefile.list.am:
18926        * WTF.vcproj/WTF.vcproj:
18927        * WTF.xcodeproj/project.pbxproj:
18928        * wtf/FastBitVector.h: Added.
18929        (WTF):
18930        (FastBitVector):
18931        (WTF::FastBitVector::FastBitVector):
18932        (WTF::FastBitVector::operator=):
18933        (WTF::FastBitVector::numBits):
18934        (WTF::FastBitVector::resize):
18935        (WTF::FastBitVector::setAll):
18936        (WTF::FastBitVector::clearAll):
18937        (WTF::FastBitVector::set):
18938        (WTF::FastBitVector::setAndCheck):
18939        (WTF::FastBitVector::equals):
18940        (WTF::FastBitVector::merge):
18941        (WTF::FastBitVector::filter):
18942        (WTF::FastBitVector::exclude):
18943        (WTF::FastBitVector::clear):
18944        (WTF::FastBitVector::get):
18945        (WTF::FastBitVector::arrayLength):
18946
189472012-05-15  Gavin Barraclough  <barraclough@apple.com>
18948
18949        Add support for private names
18950        https://bugs.webkit.org/show_bug.cgi?id=86509
18951
18952        Reviewed by Oliver Hunt.
18953
18954        The spec isn't final, but we can start adding support to allow property maps
18955        to contain keys that aren't identifiers.
18956
18957        * wtf/text/StringImpl.h:
18958        (WTF::StringImpl::StringImpl):
18959        (StringImpl):
18960        (WTF::StringImpl::createEmptyUnique):
18961        (WTF::StringImpl::isEmptyUnique):
18962            - Allow empty string impls to be allocated, which can be used as unique keys.
18963
189642012-05-21  Emil A Eklund <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
18965
18966        Enable SUBPIXEL_LAYOUT feature flag on Chromium
18967        https://bugs.webkit.org/show_bug.cgi?id=85555
18968
18969        Reviewed by Eric Seidel.
18970
18971        Enabling sub-pixel layout on Chromium port.
18972
18973        * wtf/Platform.h:
18974
189752012-05-21  Andreas Kling  <kling@webkit.org>
18976
18977        CSS: Move duplicate property elimination to parser.
18978        <http://webkit.org/b/86948>
18979
18980        Reviewed by Antti Koivisto.
18981
18982        Add WTF::BitArray, a simple, malloc free, fixed-size bit array class.
18983
18984        * GNUmakefile.list.am:
18985        * WTF.gypi:
18986        * WTF.pro:
18987        * WTF.vcproj/WTF.vcproj:
18988        * WTF.xcodeproj/project.pbxproj:
18989        * wtf/BitArray.h: Added.
18990        (WTF):
18991        (BitArray):
18992        (WTF::BitArray::BitArray):
18993        (WTF::BitArray::set):
18994        (WTF::BitArray::get):
18995        * wtf/CMakeLists.txt:
18996
189972012-05-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
18998
18999        Colliding isinf/isnan between C99 and C++11 with GCC >=4.6
19000        https://bugs.webkit.org/show_bug.cgi?id=59249
19001
19002        Reviewed by Darin Adler.
19003
19004        Workaround the isinf and isnan conflict in GCC C++11.
19005
19006        * wtf/Compiler.h:
19007        * wtf/MathExtras.h:
19008        (std::wtf_isinf):
19009        (std::wtf_isnan):
19010
190112012-05-21  Andreas Kling  <kling@webkit.org>
19012
19013        REGRESSION(r117501): IconDatabase asserts on startup in synchronousIconForPageURL().
19014        <http://webkit.org/b/86935>
19015        <rdar://problem/11480012>
19016
19017        Reviewed by Anders Carlsson.
19018
19019        Added a swap() to HashCountedSet.
19020
19021        * wtf/HashCountedSet.h:
19022        (HashCountedSet::swap):
19023
190242012-05-16  Geoffrey Garen  <ggaren@apple.com>
19025
19026        This is not a joke: 3.7X speedup from removing a call to sleep
19027        https://bugs.webkit.org/show_bug.cgi?id=86702
19028
19029        Reviewed by Eric Seidel.
19030
19031        The speedup was on a GC benchmark, with a custom VM caching layer
19032        not in TOT yet.
19033
19034        Instruments showed most GC threads spending the majority of their
19035        time sleeping instead of doing useful work. Removing the call to
19036        sleep sped up the benchmark.
19037
19038        * wtf/TCSpinLock.h:
19039        (TCMalloc_SlowLock): Since a spin lock is only ever held for a short
19040        amount of time, don't sleep for a long amount of time waiting for it
19041        to unlock -- yielding to the scheduler is sufficient.
19042
19043        If we find a case where someone is sitting on a spin lock for over 2ms,
19044        we should fix the spin lock holder, not the spin lock.
19045
190462012-05-16  Simon Fraser  <simon.fraser@apple.com>
19047
19048        Make things build with DUMP_HASHTABLE_STATS=1
19049        https://bugs.webkit.org/show_bug.cgi?id=86571
19050
19051        Reviewed by Geoffrey Garen.
19052        
19053        DUMP_HASHTABLE_STATS bitrotted after the WTF separation. This patch
19054        makes it build.
19055        
19056        Added WTF_EXPORTDATA to the global data, and WTF_EXPORT_PRIVATE to
19057        the static HashTableStats methods. Added a dumpStats() method
19058        that is not yet called anywhere; we can no longer rely on destroying
19059        a global object to dump the stats because global destructors are
19060        disallowed.
19061
19062        * wtf/HashTable.cpp:
19063        (WTF):
19064        (WTF::HashTableStats::recordCollisionAtCount):
19065        (WTF::HashTableStats::dumpStats):
19066        * wtf/HashTable.h:
19067        (HashTableStats):
19068
190692012-05-15  Filip Pizlo  <fpizlo@apple.com>
19070
19071        shrinkToFit() is often not called for Vectors in CodeBlock
19072        https://bugs.webkit.org/show_bug.cgi?id=86436
19073
19074        Reviewed by Oliver Hunt.
19075        
19076        Gave SegmentedVector a shrinkToFit() method. This only shrinks the segment
19077        lookup table, which is likely to not be hugely profitable, but it is better
19078        than nothing.
19079
19080        * wtf/SegmentedVector.h:
19081        (SegmentedVector):
19082        (WTF::SegmentedVector::shrinkToFit):
19083
190842012-05-15  Andy Estes  <aestes@apple.com>
19085
19086        Add WTF_USE_SECURITY_FRAMEWORK and use it in place of the less specific PLATFORM(MAC)
19087        https://bugs.webkit.org/show_bug.cgi?id=86508
19088
19089        Reviewed by Sam Weinig.
19090
19091        * wtf/Platform.h:
19092
190932012-05-15  Zoltan Herczeg  <zherczeg@webkit.org>
19094
19095        NEONizing forceValidPreMultipliedPixels
19096        https://bugs.webkit.org/show_bug.cgi?id=86468
19097
19098        Reviewed by Nikolas Zimmermann.
19099
19100        Allow to disable all intrinsics with a single macro.
19101
19102        * wtf/Platform.h:
19103
191042012-05-14  Andy Estes  <aestes@apple.com>
19105
19106        Add WTF_USE_APPKIT to differentiate platforms that use AppKit.framework from other Darwin platforms
19107        https://bugs.webkit.org/show_bug.cgi?id=86432
19108
19109        Reviewed by Maciej Stachowiak.
19110
19111        * wtf/Platform.h:
19112
191132012-05-14  Mark Rowe  <mrowe@apple.com>
19114
19115        <http://webkit.org/b/86320> WTF.xcodeproj builds with -O3 in debug builds
19116
19117        Reviewed by Simon Fraser.
19118
19119        * WTF.xcodeproj/project.pbxproj: Ensure that the debug configuration uses the
19120        same settings as the debug variant would.
19121
191222012-05-14  Wei James  <james.wei@intel.com>
19123
19124        [Chromium] ImageDiff should be build for host on Android
19125        https://bugs.webkit.org/show_bug.cgi?id=82039
19126
19127        Reviewed by Adam Barth.
19128
19129        * WTF.gyp/WTF.gyp:
19130
191312012-05-14  Yong Li  <yoli@rim.com>
19132
19133        DFG JIT is not ARM EABI compatible
19134        https://bugs.webkit.org/show_bug.cgi?id=84449
19135
19136        Reviewed by Filip Pizlo.
19137
19138        Add COMPILER_SUPPORTS(EABI) when __ARM_EABI__
19139        or __EABI__ is defined.
19140
19141        * wtf/Compiler.h:
19142
191432012-05-10  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
19144
19145        [EFL] Add OwnPtr specialization for Eina_Hash.
19146        https://bugs.webkit.org/show_bug.cgi?id=85046
19147
19148        Reviewed by Andreas Kling.
19149
19150        Add an override for Eina_Hash for EFL port.
19151
19152        * wtf/OwnPtrCommon.h:
19153        (WTF):
19154        * wtf/efl/OwnPtrEfl.cpp:
19155        (WTF::deleteOwnedPtr):
19156        (WTF):
19157
191582012-05-09  Filip Pizlo  <fpizlo@apple.com>
19159
19160        It should be possible to get useful debug logging from the JIT memory allocator
19161        https://bugs.webkit.org/show_bug.cgi?id=86042
19162
19163        Reviewed by Geoff Garen.
19164
19165        * wtf/MetaAllocator.cpp:
19166        (WTF::MetaAllocator::findAndRemoveFreeSpace):
19167        (WTF::MetaAllocator::addFreeSpace):
19168        (WTF::MetaAllocator::dumpProfile):
19169
191702012-05-08  Sheriff Bot  <webkit.review.bot@gmail.com>
19171
19172        Unreviewed, rolling out r116440.
19173        http://trac.webkit.org/changeset/116440
19174        https://bugs.webkit.org/show_bug.cgi?id=85904
19175
19176        Broke the Chromium Android bot (Requested by beverloo on
19177        #webkit).
19178
19179        * WTF.gyp/WTF.gyp:
19180
191812012-05-08  Adam Barth  <abarth@webkit.org>
19182
19183        [Chromium] OS(ANDROID) ImageDiff requires us to build WTF for both host and target
19184        https://bugs.webkit.org/show_bug.cgi?id=85897
19185
19186        Reviewed by Tony Chang.
19187
19188        * WTF.gyp/WTF.gyp:
19189
191902012-05-08  Adam Barth  <abarth@webkit.org>
19191
19192        [Chromium] Assertions.cpp should work on OS(ANDROID)
19193        https://bugs.webkit.org/show_bug.cgi?id=85867
19194
19195        Reviewed by Eric Seidel.
19196
19197        Some minor ifdefs for OS(ANDROID) on PLATFORM(CHROMIUM).
19198
19199        * wtf/Assertions.cpp:
19200
192012012-05-07  Adam Barth  <abarth@webkit.org>
19202
19203        [Chromium] Android wishes to use an empty implementation if AXObjectCache
19204        https://bugs.webkit.org/show_bug.cgi?id=85842
19205
19206        Reviewed by Eric Seidel.
19207
19208        Disable accessibility on OS(ANDROID) for PLATFORM(CHROMIUM).
19209
19210        * wtf/Platform.h:
19211
192122012-05-04  Jeff Rogers  <jrogers@rim.com>
19213
19214        [BlackBerry] Implement numberOfProcessorCores() for QNX
19215        https://bugs.webkit.org/show_bug.cgi?id=85638
19216
19217        Reviewed by Antonio Gomes.
19218
19219        * wtf/NumberOfCores.cpp:
19220        (WTF::numberOfProcessorCores):
19221
192222012-05-03  Yong Li  <yoli@rim.com>
19223
19224        Mutex failure when HashTable is memory moved in debug build
19225        https://bugs.webkit.org/show_bug.cgi?id=84970
19226
19227        Reviewed by Rob Buis.
19228
19229        1. Replace m_mutex with OwnPtr<m_mutex> so HashTable is still
19230           memory movable in debug build.
19231        2. Assert successes of pthread_mutex_init() and pthread_mutex_destroy().
19232
19233        * wtf/HashTable.h:
19234        (HashTable):
19235        (WTF::::HashTable):
19236        (WTF::::invalidateIterators):
19237        (WTF::addIterator):
19238        (WTF::removeIterator):
19239        * wtf/ThreadingPthreads.cpp:
19240        (WTF::Mutex::Mutex):
19241        (WTF::Mutex::~Mutex):
19242
192432012-05-02  Antti Koivisto  <antti@apple.com>
19244
19245        Add temporary feature define for parsed stylesheet caching
19246        https://bugs.webkit.org/show_bug.cgi?id=85413
19247
19248        Rubber-stamped by Nikolas Zimmermann.
19249
19250        While not an externally visible feature this is still a significant internal change.
19251        It is good to have define in case someone has an urgent need to turn it off.
19252        
19253        Caching is enabled by default on all platforms. The define should be removed after some bake time.
19254
19255        * wtf/Platform.h:
19256
192572012-05-02  Lauro Neto  <lauro.neto@openbossa.org>
19258
19259        [Qt]r57240 broke Qt build (gcc bug)
19260        https://bugs.webkit.org/show_bug.cgi?id=37253
19261
19262        Reviewed by Csaba Osztrogonác.
19263
19264        Add back the inline hack just for ARM due to old version of
19265        gcc still being used on Harmattan SDK. Thanks to Ossy for the
19266        suggestion.
19267        * wtf/PassRefPtr.h:
19268        (WTF):
19269
192702012-05-02  Nico Weber  <thakis@chromium.org>
19271
19272        Let WebKit parse with clang on windows with -std=c++11
19273        https://bugs.webkit.org/show_bug.cgi?id=85398
19274
19275        Reviewed by Ryosuke Niwa.
19276
19277        See http://trac.webkit.org/changeset/85945 for background on the line
19278        I'm changing. With clang, __GXX_EXPERIMENTLAL_CXX0X__ is set in c++11
19279        mode, but MSVC's c++ library doesn't have a tr1/memory header. So also
19280        check for __GLIBCXX__, like it's done in the rest of this file.
19281
19282        * wtf/TypeTraits.h:
19283
192842012-05-02  Adenilson Cavalcanti  <cavalcantii@gmail.com>
19285
19286        [Qt]r57240 broke Qt build (gcc bug)
19287        https://bugs.webkit.org/show_bug.cgi?id=37253
19288
19289        Reviewed by Noam Rosenthal.
19290
19291        Removing workaround macro since current gcc/Qt doesn't require it to compile.
19292
19293        * wtf/PassRefPtr.h:
19294        (WTF):
19295
192962012-04-30  Oliver Hunt  <oliver@apple.com>
19297
19298        Investigate overflows in Canvas putImageData routine
19299        https://bugs.webkit.org/show_bug.cgi?id=61373
19300
19301        Reviewed by Gavin Barraclough.
19302
19303        Allow floating point multiplies of checked types (complete with
19304        bounds checks).
19305
19306        * wtf/CheckedArithmetic.h:
19307        (Checked):
19308        (WTF::Checked::operator*=):
19309
193102012-04-30  Benjamin Poulain  <benjamin@webkit.org>
19311
19312        Add String::startsWith() and endsWith() for string literals
19313        https://bugs.webkit.org/show_bug.cgi?id=85154
19314
19315        Reviewed by Darin Adler.
19316
19317        When invoking StringImpl::startsWidth() or StringImpl::endsWith() with
19318        a string literal, a new String was constructed implicitly, allocating
19319        a new StringImpl and copying the characters for the operation.
19320
19321        This patch adds a version of those methods for single characters and
19322        string literals.
19323        This allows us to avoid allocating memory and use the characters in place,
19324        and it permits some extra shortcuts in the implementation.
19325
19326        * wtf/text/AtomicString.h:
19327        (WTF::AtomicString::startsWith):
19328        (AtomicString):
19329        (WTF::AtomicString::endsWith):
19330        * wtf/text/StringImpl.cpp:
19331        (WTF::equalInner):
19332        (WTF):
19333        (WTF::StringImpl::startsWith):
19334        (WTF::StringImpl::endsWith):
19335        * wtf/text/StringImpl.h:
19336        (WTF::StringImpl::startsWith):
19337        (StringImpl):
19338        (WTF::StringImpl::endsWith):
19339        * wtf/text/WTFString.h:
19340        (WTF::String::startsWith):
19341        (String):
19342        (WTF::String::endsWith):
19343
193442012-04-30  Anders Carlsson  <andersca@apple.com>
19345
19346        WTF::bind should work with blocks
19347        https://bugs.webkit.org/show_bug.cgi?id=85227
19348
19349        Reviewed by Sam Weinig.
19350
19351        Add a block type FunctionWrapper specialization.
19352
19353        * wtf/Functional.h:
19354
193552012-04-28  Emil A Eklund  <eae@chromium.org>
19356
19357        Add ENABLE_SUBPIXEL_LAYOUT controlling FractionalLayoutUnit denominator
19358        https://bugs.webkit.org/show_bug.cgi?id=85146
19359
19360        Reviewed by Eric Seidel.
19361
19362        Add a new flag for controlling the fixed point denominator in
19363        FractionalLayoutUnit. Controls whether the denominator is set to 60 or 1.
19364        Until we change the LayoutUnit typedef this change will have no effect.
19365
19366        * wtf/Platform.h:
19367
193682012-04-29  Kent Tamura  <tkent@chromium.org>
19369
19370        [Mac] Add LocalizedDateMac
19371        https://bugs.webkit.org/show_bug.cgi?id=85039
19372
19373        Reviewed by Kentaro Hara.
19374
19375        * wtf/DateMath.h:
19376        (WTF): Add monthFullName[]. It is useful to make fallback month
19377        names for calendar/date related features.
19378
193792012-04-26  Carlos Garcia Campos  <cgarcia@igalia.com>
19380
19381        [SOUP] Add a way to register custom uri schemes in WebKit2
19382        https://bugs.webkit.org/show_bug.cgi?id=84130
19383
19384        Reviewed by Martin Robinson.
19385
19386        Add GPtrArray template to be able to use GRefPtr with GPtrArrays.
19387
19388        * wtf/gobject/GRefPtr.cpp:
19389        (WTF::refGPtr):
19390        (WTF):
19391        (WTF::derefGPtr):
19392        * wtf/gobject/GRefPtr.h:
19393        (WTF):
19394        * wtf/gobject/GTypedefs.h:
19395
193962012-04-26  Nico Weber  <thakis@chromium.org>
19397
19398        Don't define WTF_COMPILER_SUPPORTS_CXX_NULLPTR twice when building with clang on windows.
19399        https://bugs.webkit.org/show_bug.cgi?id=85018
19400
19401        Reviewed by Anders Carlsson.
19402
19403        Clang sets _MSC_VER when compiling for a -pc-win32 target (just like it sets __GNUC__ on unix).
19404        As a result, WTF_COMPILER_SUPPORTS_CXX_NULLPTR gets currently set twice, once for clang and
19405        once for _MSC_VER. Guard the second instance with !COMPILER(CLANG). This matches the gcc code
19406        for WTF_COMPILER_SUPPORTS_CXX_NULLPTR in the same file.
19407
19408        * wtf/Compiler.h:
19409
194102012-04-26  Antonio Gomes  <agomes@rim.com>
19411
19412        [BlackBerry] properly disable DRAG_SUPPORT
19413        https://bugs.webkit.org/show_bug.cgi?id=84952
19414
19415        Reviewed by Daniel Bates.
19416
19417        * wtf/Platform.h: Remove the line that disables drag support from here
19418        for the BlackBerry port.
19419
194202012-04-25  Benjamin Poulain  <benjamin@webkit.org>
19421
19422        Add a version of StringImpl::find() without offset
19423        https://bugs.webkit.org/show_bug.cgi?id=83968
19424
19425        Reviewed by Sam Weinig.
19426
19427        This patch add a version of StringImpl::find() without offset, Instead of using the default
19428        value for the index.
19429
19430        By not having the index, we can skip a couple of branches and a few instructions. This gives
19431        significant gains when the strings are short-ish.
19432
19433        The case of empty string is moved below (matchLength == 1) since it is a less common operation.
19434
19435        * wtf/text/StringImpl.cpp:
19436        (WTF::StringImpl::find):
19437        (WTF):
19438        * wtf/text/StringImpl.h:
19439        (StringImpl):
19440        * wtf/text/WTFString.h:
19441        (String):
19442        (WTF::String::find):
19443
194442012-04-25  Darin Adler  <darin@apple.com>
19445
19446        Iterating a HashMap<String, X> involves a string equality comparison to check for the empty value
19447        https://bugs.webkit.org/show_bug.cgi?id=84524
19448
19449        Reviewed by Antti Koivisto.
19450
19451        * wtf/HashMap.h: Added a struct template, HashMapValueTraits, that derives from
19452        PairHashTraits, adds an isEmptyValue function that looks only at the key, not
19453        the mapped value, in the hash table value, and uses the isHashTraitsEmptyValue
19454        function template to check if the key is empty.
19455
194562012-04-25  Landry Breuil  <landry@openbsd.org>
19457
19458        Include <sys/param.h>, needed for sysctl() on OpenBSD/NetBSD
19459        https://bugs.webkit.org/show_bug.cgi?id=82585
19460
19461        Reviewed by Zoltan Herczeg.
19462
19463        * wtf/NumberOfCores.cpp: include <sys/param.h> on the BSDs
19464
194652012-04-25  Kenneth Russell  <kbr@google.com>
19466
19467        Delete CanvasPixelArray, ByteArray, JSByteArray and JSC code once unreferenced
19468        https://bugs.webkit.org/show_bug.cgi?id=83655
19469
19470        Reviewed by Oliver Hunt.
19471
19472        * GNUmakefile.list.am:
19473        * WTF.gypi:
19474        * WTF.pro:
19475        * WTF.vcproj/WTF.vcproj:
19476        * WTF.xcodeproj/project.pbxproj:
19477        * wtf/ByteArray.cpp: Removed.
19478        * wtf/ByteArray.h: Removed.
19479        * wtf/CMakeLists.txt:
19480
194812012-04-25  Philippe Normand  <pnormand@igalia.com>
19482
19483        Webkit build fails due to missing gstreamer include file on Kubuntu 8.04
19484        https://bugs.webkit.org/show_bug.cgi?id=81913
19485
19486        Reviewed by Tor Arne Vestbø.
19487
19488        * WTF.pri: GStreamer build support implies GLib support, as it's
19489        done in WebCore.pri.
19490
194912012-04-24  Benjamin Poulain  <bpoulain@apple.com>
19492
19493        Generalize the single character optimization of r114072
19494        https://bugs.webkit.org/show_bug.cgi?id=83961
19495
19496        Reviewed by Eric Seidel.
19497
19498        This patch makes some improvment over String::find() in the case of lookup for a single
19499        character.
19500
19501        The two function find(UChar|LChar) are replaced by a template.
19502
19503        The case of searching a UChar in a 8bit string has a shortcut if the UChar cannot
19504        possibly match any character in the range of the type LChar.
19505
19506        The slow case StringImpl::find(StringImpl*) is modified to
19507        -Do not allocate in the fast case if only one string is 8bit.
19508        -Use the shortcut for searching UChar in LChar.
19509
19510        This speed up the function by about 7% when avoiding string conversion.
19511
19512        * wtf/text/StringImpl.cpp:
19513        (WTF::StringImpl::find):
19514        * wtf/text/StringImpl.h:
19515        (StringImpl):
19516        (WTF):
19517        (WTF::find):
19518        (WTF::StringImpl::find):
19519
195202012-04-24  Darin Adler  <darin@apple.com>
19521
19522        Iterating a HashMap<String, X> involves a string equality comparison to check for the empty value
19523        https://bugs.webkit.org/show_bug.cgi?id=84524
19524
19525        Reviewed by Antti Koivisto.
19526
19527        Added a new algorithm for checking for empty buckets that can be specialized.
19528        Specialized it for String. We may later want to do the same thing for KURL.
19529        It's not important to do it for AtomicString, since AtomicString's == function
19530        is already a simple pointer equality compare. We may also later want to do
19531        something similar for pairs that have String objects in them.
19532
19533        * wtf/HashTable.h:
19534        (WTF::HashTable::isEmptyBucket): Call the new isHashTraitsEmptyValue function, which
19535        will do something more efficient for String.
19536
19537        * wtf/HashTraits.h: Added hasIsEmptyValueFunction to hash traits, with a default value
19538        of false. This allows us to continue to get automatic comparison with the appropriate
19539        emptyValue result for all existing traits, but supply a custom isEmptyValue function
19540        for HashTraits<String>. Putting an isEmptyValue function into the traits would require
19541        overriding it in every class that has a custom value for emptyValue. Specialized
19542        HashTraits for String to add hasIsEmptyValueFunction and declare, but not define, the
19543        isEmptyValue function.
19544        (WTF::isHashTraitsEmptyValue): Added a function that uses the HashTraitsEmptyValueChecker
19545        struct to use either == combined with the emptyValue function or the isEmptyValue function.
19546
19547        * wtf/text/StringHash.h: Removed unneeded includes and sorted the using statements at
19548        the bottom of the file.
19549        (WTF::HashTraits<String>::isEmptyValue): Define this function here, since here we have
19550        included the WTFString.h header; the HashTraits.h header compiles without WTFString.h.
19551
195522012-04-23  Kenneth Russell  <kbr@google.com>
19553
19554        Change ImageData to reference Uint8ClampedArray rather than CanvasPixelArray
19555        https://bugs.webkit.org/show_bug.cgi?id=73011
19556
19557        Reviewed by Oliver Hunt.
19558
19559        * wtf/ArrayBuffer.h:
19560        (ArrayBuffer):
19561        (WTF::ArrayBuffer::create):
19562        (WTF::ArrayBuffer::createUninitialized):
19563        (WTF):
19564        (WTF::ArrayBufferContents::tryAllocate):
19565        * wtf/TypedArrayBase.h:
19566        (WTF::TypedArrayBase::createUninitialized):
19567        (TypedArrayBase):
19568        * wtf/Uint8ClampedArray.h:
19569        (Uint8ClampedArray):
19570        (WTF::Uint8ClampedArray::createUninitialized):
19571        (WTF):
19572        (WTF::Uint8ClampedArray::zeroFill):
19573
195742012-04-23  George Staikos  <staikos@webkit.org>
19575
19576        Enable parallel GC for BlackBerry.
19577        https://bugs.webkit.org/show_bug.cgi?id=84633
19578
19579        Reviewed by Antonio Gomes.
19580
19581        * wtf/Platform.h:
19582
195832012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
19584
19585        Unreviewed, rolling out r114914.
19586        http://trac.webkit.org/changeset/114914
19587        https://bugs.webkit.org/show_bug.cgi?id=84615
19588
19589        Causing infinite hangs on some tests involving HashMaps with
19590        integer keys (Requested by dimich on #webkit).
19591
19592        * wtf/HashTable.h:
19593        (WTF::HashTable::isEmptyBucket):
19594        * wtf/HashTraits.h:
19595        * wtf/text/StringHash.h:
19596
195972012-04-23  Darin Adler  <darin@apple.com>
19598
19599        Iterating a HashMap<String, X> involves a string equality comparison to check for the empty value
19600        https://bugs.webkit.org/show_bug.cgi?id=84524
19601
19602        Reviewed by Antti Koivisto.
19603
19604        Added a new algorithm for checking for empty buckets that can be specialized.
19605        Specialized it for String. We may later want to do the same thing for KURL.
19606        It's not important to do it for AtomicString, since AtomicString's == function
19607        is already a simple pointer equality compare.
19608
19609        * wtf/HashTable.h:
19610        (WTF::HashTable::isEmptyBucket): Call the new isHashTraitsEmptyValue function, which
19611        will do something more efficient for String.
19612
19613        * wtf/HashTraits.h: Added hasIsEmptyValueFunction to hash traits, with a default value
19614        of false. This allows us to continue to get automatic comparison with the appropriate
19615        emptyValue result for all existing traits, but supply a custom isEmptyValue function
19616        for HashTraits<String>. Putting an isEmptyValue function into the traits would require
19617        overriding it in every class that has a custom value for emptyValue. Specialized
19618        HashTraits for String to add hasIsEmptyValueFunction and declare, but not define, the
19619        isEmptyValue function.
19620        (WTF::isHashTraitsEmptyValue): Added a function that uses the HashTraitsEmptyValueChecker
19621        struct to use either == combined with the emptyValue function or the isEmptyValue function.
19622        (PairHashTraits): Define hasIsEmptyValueFunction and isEmptyValue.
19623
19624        * wtf/text/StringHash.h: Removed unneeded includes and sorted the using statements at
19625        the bottom of the file.
19626        (WTF::HashTraits<String>::isEmptyValue): Define this function here, since here we have
19627        included the WTFString.h header; the HashTraits.h header compiles without WTFString.h.
19628
196292012-04-18  Myles Maxfield  <mmaxfield@google.com>
19630
19631        Somehow, there's an errant backslash in my last WTF patch
19632        https://bugs.webkit.org/show_bug.cgi?id=84290
19633
19634        Reviewed by Andreas Kling.
19635
19636        * wtf/StdLibExtras.h:
19637        (WTF::roundUpToMultipleOf):
19638
196392012-04-16  Nico Weber  <thakis@chromium.org>
19640
19641        Make NullPtr.h compile with clang -std=c++11 and libstdc++4.2
19642        https://bugs.webkit.org/show_bug.cgi?id=83999
19643
19644        Reviewed by Sam Weinig.
19645
19646        Before this patch, NullPtr.h assumed that a working |nullptr| implied
19647        a working |std::nullptr_t| as well. With clang and libstdc++4.2, this
19648        is not true.
19649
19650        I tested (-stdlib=libc++, -stdlib=libstdc++) x (-std=c++11, -std=c++03)
19651        with clang.
19652
19653        * wtf/NullPtr.h:
19654        (std):
19655
196562012-04-14  Sam Weinig  <sam@webkit.org>
19657
19658        Harden WTF::ByteArray::create()
19659        https://bugs.webkit.org/show_bug.cgi?id=83318
19660
19661        Reviewed by Maciej Stachowiak.
19662
19663        * wtf/ByteArray.cpp:
19664        (WTF::ByteArray::create):
19665        Add overflow check. I don't believe there is anyway to trigger this currently,
19666        hence no tests, so this should be considered hardening.
19667
196682012-04-12  Benjamin Poulain  <bpoulain@apple.com>
19669
19670        Inline StringImpl::find(UChar, ...)
19671        https://bugs.webkit.org/show_bug.cgi?id=83737
19672
19673        Reviewed by Geoffrey Garen.
19674
19675        The implementation of StringImpl::find() is a simple branch before invoking one of
19676        two inline functions. The overhead of having a function for StringImpl::find() is significant.
19677
19678        It is better to let the compiler decide if that should be inlined or not.
19679
19680        * wtf/text/StringImpl.cpp:
19681        * wtf/text/StringImpl.h:
19682        (StringImpl):
19683        (WTF::find):
19684        (WTF):
19685        (WTF::reverseFind):
19686        (WTF::StringImpl::find):
19687        * wtf/text/WTFString.h:
19688
196892012-04-12  Balazs Kelemen  <kbalazs@webkit.org>
19690
19691        [Qt] Fix WebKit1 build with V8
19692        https://bugs.webkit.org/show_bug.cgi?id=83322
19693
19694        Reviewed by Adam Barth.
19695
19696        * wtf/StdLibExtras.h:
19697        (WTF):
19698
196992012-04-12  Jer Noble  <jer.noble@apple.com>
19700
19701        ThreadingWin: Mutex::unlock() can be "over-unlocked".
19702        https://bugs.webkit.org/show_bug.cgi?id=83725
19703
19704        Reviewed by David Levin.
19705
19706        In order to support the behavior of pthread_mutex_trylock(), the Windows Mutex class includes
19707        a recursion counter which is incremented in Mutex::lock(), decremented in Mutex::unlock(),
19708        and checked in Mutex::tryLock().  If the mutex is "over-unlocked", the counter wraps around to
19709        MAX_INT, and subsequent calls to Mutex::trylock() will fail. Raise an ASSERT in this situation
19710        so the "over-unlock" will be caught.
19711
19712        * wtf/ThreadingWin.cpp:
19713        (WTF::Mutex::unlock): ASSERT if unlocking a non-locked mutex.
19714
197152012-04-10  Mark Rowe  <mrowe@apple.com>
19716
19717        <rdar://problem/10583749> WebKit2 should log to both ASL and stderr
19718
19719        Reviewed by Sam Weinig.
19720
19721        * wtf/Assertions.cpp: Add a WTFLogAlways function that unconditionally logs the given message.
19722        * wtf/Assertions.h:
19723
197242012-04-10  Patrick Gansterer  <paroga@webkit.org>
19725
19726        Cleanup wtf/Platform.h and config.h files
19727        https://bugs.webkit.org/show_bug.cgi?id=83431
19728
19729        Reviewed by Eric Seidel.
19730
19731        The ENABLE() and USE() macros take care about the case when the flag
19732        isn't defined. So there is no need to define anything with 0.
19733
19734        Also move duplicated code from the config.h files to Platform.h and
19735        merge a few preprocessor commands to make the file more readable.
19736
19737        * config.h:
19738        * wtf/Platform.h:
19739
197402012-04-10  Filip Pizlo  <fpizlo@apple.com>
19741
19742        DFG should flush SetLocals to arguments
19743        https://bugs.webkit.org/show_bug.cgi?id=83554
19744
19745        Reviewed by Gavin Barraclough.
19746        
19747        Added an isRoot() method that is a faster shorthand for saying
19748        find() == this.
19749
19750        * wtf/UnionFind.h:
19751        (WTF::UnionFind::isRoot):
19752        (UnionFind):
19753
197542012-04-10  Adam Klein  <adamk@chromium.org>
19755
19756        Remove unused NonNullPassRefPtr from WTF
19757        https://bugs.webkit.org/show_bug.cgi?id=82389
19758
19759        Reviewed by Kentaro Hara.
19760
19761        NonNullPassRefPtr seems to be unused since JSC allocation was
19762        restructured in r84052.
19763
19764        If someone decides they need this later, they can always revert this patch.
19765
19766        * wtf/PassRefPtr.h:
19767        * wtf/RefPtr.h:
19768        (RefPtr):
19769
197702012-04-10  Patrick Gansterer  <paroga@webkit.org>
19771
19772        [CMake] Enable USE_FOLDERS property
19773        https://bugs.webkit.org/show_bug.cgi?id=83571
19774
19775        Reviewed by Daniel Bates.
19776
19777        Setting the FOLDER property on targets gives more structure 
19778        to the generated Visual Studio solutions.
19779        This does not affect other CMake generators.
19780
19781        * wtf/CMakeLists.txt:
19782
197832012-04-09  Patrick Gansterer  <paroga@webkit.org>
19784
19785        Port BinarySemaphoreWin.cpp to WinCE
19786        https://bugs.webkit.org/show_bug.cgi?id=83502
19787
19788        Reviewed by Daniel Bates.
19789
19790        Replace WaitForSingleObjectEx with WaitForSingleObject since
19791        the additonal parameter supported by the extended function
19792        is not used anyway and the function does not exist on WinCE.
19793
19794        * wtf/CMakeLists.txt:
19795        * wtf/PlatformWinCE.cmake:
19796        * wtf/threads/win/BinarySemaphoreWin.cpp:
19797        (WTF::BinarySemaphore::wait):
19798
197992012-04-09  Patrick Gansterer  <paroga@webkit.org>
19800
19801        [CMake] Build fix for USE_SYSTEM_MALLOC after r113570.
19802
19803        * wtf/CMakeLists.txt:
19804
198052012-04-09  Patrick Gansterer  <paroga@webkit.org>
19806
19807        Remove HAVE_STDINT_H
19808        https://bugs.webkit.org/show_bug.cgi?id=83434
19809
19810        Reviewed by Kentaro Hara.
19811
19812        HAVE_STDINT_H is defined with 1 all the time and we us stdint.h without HAVE(STDINT_H) already.
19813
19814        * config.h:
19815        * wtf/FastMalloc.cpp:
19816        * wtf/TCPageMap.h:
19817        * wtf/TCSpinLock.h:
19818        * wtf/TCSystemAlloc.cpp:
19819
198202012-04-06  Benjamin Poulain  <bpoulain@apple.com>
19821
19822        Get rid of the useless flag PREEMPT_GEOLOCATION_PERMISSION
19823        https://bugs.webkit.org/show_bug.cgi?id=83325
19824
19825        Reviewed by Ryosuke Niwa.
19826
19827        * wtf/Platform.h: Remove the flag.
19828
198292012-04-06  Darin Adler  <darin@apple.com>
19830
19831        Streamline strtod and fix some related problems
19832        https://bugs.webkit.org/show_bug.cgi?id=82857
19833
19834        Reviewed by Geoffrey Garen.
19835
19836        Replaced the strtod function template with a parseDouble function, eliminating
19837        the following unneeded features:
19838
19839        - need for a trailing null character and a call to strlen
19840        - needless conversion of string lengths from size_t to int and back that created
19841          the possibility of incorrect truncation
19842        - one level of function call; use inlining instead
19843        - construction of the StringToDoubleConverter object; it was used to pass
19844          arguments that are known at compile time
19845        - most of the StringToDoubleConverter::StringToDouble function's body; it was
19846          code we did not need
19847        - parsing of Infinity and NaN at the strtod level; added recently when we moved
19848          from the old strtod to the new one, and not needed or helpful at this level
19849        - multiple copies of code to narrow to single byte strings; in many cases
19850          this was done even when starting with an LChar string that is already
19851          single-byte, now we handle this with an overload of parseDouble
19852
19853        * wtf/dtoa.cpp:
19854        Removed a long comment about the original strtod function that no longer
19855        applies since we deleted that function long ago. Removed a lot of includes.
19856        Removed the strtod function templates and its instantiations, since they
19857        are now replaced by the parseDouble function.
19858        (WTF::Internal::parseDoubleFromLongString): Added.
19859        * wtf/dtoa.h:
19860        Added an include of ASCIICType.h so we can use isASCII in a function in this
19861        header. Left the heretofore unneeded include of double-conversion.h, since we
19862        now want to use it in a function in this header. Removed the AllowTrailingJunkTag
19863        and AllowTrailingSpacesTag enumerations and the strtod function template. Added
19864        new parseDouble function, and inline implementation of it.
19865
19866        * wtf/dtoa/double-conversion.cc: Removed quite a bit of unused code, hardcoding
19867        all the StringToDouble function arguments that come from data members so it can
19868        be a much smaller static member function. Also changed the types of arguments
19869        from int to size_t.
19870        * wtf/dtoa/double-conversion.h: Removed most of the StringToDoubleConverter
19871        class, leaving only the conversion function as a static member function.
19872
19873        * wtf/text/StringImpl.cpp:
19874        (WTF::StringImpl::toDouble): Got rid of didReadNumber.
19875        (WTF::StringImpl::toFloat): Ditto.
19876        * wtf/text/StringImpl.h: Ditto.
19877        * wtf/text/WTFString.cpp:
19878        (WTF::String::toDouble): Got rid of didReadNumber.
19879        (WTF::String::toFloat): Ditto.
19880        (WTF::toDoubleType): Rewrote this function to use parseDouble. Moved the code
19881        to skip leading spaces here, because other callers of parseDouble don't want
19882        to do that. Repurposed the check for an empty string so it's now the same
19883        code shared by all the "parsed nothing" cases. Removed the code to convert
19884        the buffer to ASCII for two reasons: (1) We don't need that code at all when
19885        CharType is LChar, and (2) We now handle this through the two overloads for
19886        the parseDouble function. Disallowing trailing junk is now handled here,
19887        rather than inside parseDouble.
19888        (WTF::charactersToDouble): Updated for changes to toDoubleType. Removed the
19889        didReadNumber argument.
19890        (WTF::charactersToFloat): Ditto. Also added overloads that return the parsed
19891        length. These are a slightly more powerful way to do what didReadNumber was
19892        used for before.
19893
19894        * wtf/text/WTFString.h: Added comments, eliminated didReadNumber, and added
19895        overloads of charactersToFloat that replace charactersToFloatIgnoringJunk.
19896
198972012-04-05  Patrick Gansterer  <paroga@webkit.org>
19898
19899        [WinCE] Remove unnecessary function decleration
19900        https://bugs.webkit.org/show_bug.cgi?id=83155
19901
19902        Reviewed by Kentaro Hara.
19903
19904        * wtf/DateMath.cpp:
19905        * wtf/Platform.h:
19906
199072012-04-04  Patrick Gansterer  <paroga@webkit.org>
19908
19909        Add WTF::getCurrentLocalTime()
19910        https://bugs.webkit.org/show_bug.cgi?id=83164
19911
19912        Reviewed by Alexey Proskuryakov.
19913
19914        Replace the calls to WTF::getLocalTime() with time(0) with the new function.
19915        This allows us to use Win32 API on windows to get the same result in a next step.
19916
19917        Also remove the inline keyword from WTF::getLocalTime(), since there is no need for
19918        it and it will make the later Win32 API changes easier.
19919
19920        * WTF.gyp/WTF.gyp:
19921        * wtf/CurrentTime.cpp:
19922        (WTF::getLocalTime):
19923        (WTF::getCurrentLocalTime):
19924        * wtf/CurrentTime.h:
19925
199262012-04-04  Chris Rogers  <crogers@google.com>
19927
19928        Web Audio should use MutexTryLocker class
19929        https://bugs.webkit.org/show_bug.cgi?id=83194
19930
19931        Reviewed by Kenneth Russell.
19932
19933        Add MutexTryLocker class which can be used as a stack-based object wrapping a Mutex.
19934        It will automatically unlock the Mutex in its destructor if the tryLock() succeeded.
19935
19936        * wtf/ThreadingPrimitives.h:
19937        (MutexTryLocker):
19938        (WTF::MutexTryLocker::MutexTryLocker):
19939        (WTF::MutexTryLocker::~MutexTryLocker):
19940        (WTF::MutexTryLocker::locked):
19941        Check if the tryLock() on the Mutex succeeded.
19942        (WTF):
19943
199442012-04-04  Kausalya Madhusudhanan  <kmadhusu@chromium.org>
19945
19946        [Coverity] Address some uninit constructor values.
19947        https://bugs.webkit.org/show_bug.cgi?id=82424
19948
19949        Reviewed by Stephen White.
19950
19951        New tests are not required since I did not modify any code behavior. I just initialized the class member variables in the constructor.
19952
19953        * wtf/ArrayBufferView.cpp:
19954        (WTF::ArrayBufferView::ArrayBufferView):
19955
199562012-03-30  David Barr  <davidbarr@chromium.org>
19957
19958        Split up top-level .gitignore and .gitattributes
19959        https://bugs.webkit.org/show_bug.cgi?id=82687
19960
19961        Reviewed by Tor Arne Vestbø.
19962
19963        * WTF.gyp/.gitignore: Added.
19964
199652012-03-29  Kevin Ollivier  <kevino@theolliviers.com>
19966
19967        [wx] Unreviewed build fix. Add export symbols needed to
19968        build wx under Windows.
19969        
19970        * wtf/NullPtr.h:
19971        * wtf/ParallelJobsGeneric.h:
19972        (ParallelEnvironment):
19973        * wtf/ThreadSpecific.h:
19974        (WTF):
19975
199762012-03-29  Kevin Ollivier  <kevino@theolliviers.com>
19977
19978        [wx] Unreviewed build fix. Add WTF_EXPORT_PRIVATE_NO_RTTI
19979        so that ports not using RTTI can add symbol exports to
19980        classes that RTTI ports export with WTF_EXPORT_PRIVATE_RTTI.
19981
19982        * wtf/ArrayBufferView.h:
19983        * wtf/ExportMacros.h:
19984
199852012-03-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
19986
19987        HashMap<>::add should return a more descriptive object
19988        https://bugs.webkit.org/show_bug.cgi?id=71063
19989
19990        Reviewed by Ryosuke Niwa.
19991
19992        Make HashTable<>::add() and derivate functions return an AddResult struct instead
19993        of a pair. This struct contains contains 'iterator' and 'isNewEntry' members, that are
19994        more readable at callsites than previous 'first' and 'second'.
19995
19996        * wtf/HashCountedSet.h:
19997        (HashCountedSet):
19998        (WTF::::add):
19999        * wtf/HashMap.h:
20000        (HashMap):
20001        (WTF):
20002        (WTF::::set):
20003        * wtf/HashSet.h:
20004        (HashSet):
20005        (WTF::::add):
20006        (WTF):
20007        * wtf/HashTable.h:
20008        (WTF::HashTableAddResult::HashTableAddResult):
20009        (HashTableAddResult):
20010        (WTF):
20011        (HashTable):
20012        (WTF::HashTable::add):
20013        (WTF::::add):
20014        (WTF::::addPassingHashCode):
20015        * wtf/ListHashSet.h:
20016        (ListHashSet):
20017        (WTF::::add):
20018        (WTF::::insertBefore):
20019        * wtf/RefPtrHashMap.h:
20020        (WTF):
20021        (WTF::::set):
20022        * wtf/Spectrum.h:
20023        (WTF::Spectrum::add):
20024        * wtf/WTFThreadData.cpp:
20025        (JSC::IdentifierTable::add):
20026        * wtf/WTFThreadData.h:
20027        (IdentifierTable):
20028        * wtf/text/AtomicString.cpp:
20029        (WTF::addToStringTable):
20030        (WTF::AtomicString::addSlowCase):
20031
200322012-03-29  Andreas Kling  <kling@webkit.org>
20033
20034        String: Subscript operator shouldn't force conversion to 16-bit characters.
20035        <http://webkit.org/b/82613>
20036
20037        Reviewed by Anders Carlsson.
20038
20039        Forward String::operator[] to StringImpl::operator[] instead of indexing into characters().
20040        This avoid implicit conversion of 8-bit strings to 16-bit, and as an example, reduces memory
20041        usage on http://www.allthingsd.com/ by 360kB.
20042
20043        * wtf/text/WTFString.h:
20044        (WTF::String::operator[]):
20045
200462012-03-28  Carlos Garcia Campos  <cgarcia@igalia.com>
20047
20048        [GTK] Implement PlatformStrategies
20049        https://bugs.webkit.org/show_bug.cgi?id=82454
20050
20051        Reviewed by Xan Lopez.
20052
20053        * wtf/Platform.h: Define WTF_USE_PLATFORM_STRATEGIES for GTK+
20054        platform too.
20055
200562012-03-26  Ryosuke Niwa  <rniwa@webkit.org>
20057
20058        Set eol-style: native on WTF.sln per Ryan Sleevi's request.
20059
20060        * WTF.vcproj/WTF.sln: Added property svn:eol-style.
20061
200622012-03-26  Ryosuke Niwa  <rniwa@webkit.org>
20063
20064        Chromium build fix; add BitVector.h/cpp to gypi.
20065
20066        * WTF.gypi:
20067
200682012-03-26  Ryosuke Niwa  <rniwa@webkit.org>
20069
20070        Touch BitVector as a speculative fix for Chromium Linux.
20071
20072        * wtf/BitVector.h:
20073        (BitVector):
20074
200752012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
20076
20077        cssText should use shorthand notations
20078        https://bugs.webkit.org/show_bug.cgi?id=81737
20079
20080        Reviewed by Enrica Casucci.
20081
20082        * wtf/BitVector.h:
20083        (BitVector):
20084        (WTF::BitVector::ensureSizeAndSet): Added.
20085
200862012-03-26  Carlos Garcia Campos  <cgarcia@igalia.com>
20087
20088        Unreviewed. Fix make distcheck.
20089
20090        * GNUmakefile.list.am: Add config.h to the source file list.
20091
200922012-03-25  Kevin Ollivier  <kevino@theolliviers.com>
20093
20094        [wx] Unreviewed build fix. Move WTF to its own static lib build.
20095
20096        * wscript: Added.
20097
200982012-03-23  Tony Chang  <tony@chromium.org>
20099
20100        [chromium] Unreviewed, move a comment closer to where it matters and
20101        make it more specific.
20102
20103        * WTF.gyp/WTF.gyp:
20104
201052012-03-23  Steve Falkenburg  <sfalken@apple.com>
20106
20107        Update Apple Windows build files for WTF move
20108        https://bugs.webkit.org/show_bug.cgi?id=82069
20109
20110        Reviewed by Jessie Berlin.
20111
20112        * WTF.vcproj/WTF.make: Added.
20113        * WTF.vcproj/WTF.sln: Added.
20114
201152012-03-23  Dean Jackson  <dino@apple.com>
20116
20117        Disable CSS_SHADERS in Apple builds
20118        https://bugs.webkit.org/show_bug.cgi?id=81996
20119
20120        Reviewed by Simon Fraser.
20121
20122        Put ENABLE_CSS_SHADERS into Platform.h, but disable for
20123        Apple builds.
20124
20125        * wtf/Platform.h:
20126
201272012-03-23  Tony Chang  <tony@chromium.org>
20128
20129        [chromium] rename newwtf target back to wtf
20130        https://bugs.webkit.org/show_bug.cgi?id=82064
20131
20132        Reviewed by Adam Barth.
20133
20134        * WTF.gyp/WTF.gyp:
20135
201362012-03-22  Jessie Berlin  <jberlin@apple.com>
20137
20138        Windows build fix after r111778.
20139
20140        * WTF.vcproj/WTF.vcproj:
20141        DateMath.h and DateMath.cpp should be built by WTF, since they are part of WTF.
20142
201432012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
20144
20145        [CMake] Unreviewed build fix after r111778.
20146
20147        * CMakeLists.txt: Added.
20148        * wtf/CMakeLists.txt: Add ${CMAKE_BINARY_DIR} to the include paths
20149        for cmakeconfig.h to be found.
20150
201512012-03-22  Tony Chang  <tony@chromium.org>
20152
20153        Unreviewed, attempt to fix the chromium-win build and another attempt
20154        at fixing the chromium-android build.
20155
20156        * WTF.gyp/WTF.gyp:
20157
201582012-03-22  Tony Chang  <tony@chromium.org>
20159
20160        Unreviewed, attempt to fix chromium-android build.
20161
20162        * WTF.gyp/WTF.gyp:
20163
201642012-03-22  Tony Chang  <tony@chromium.org>
20165
20166        Unreviewed, fix chromium build after wtf move.
20167
20168        Move wtf_config and wtf settings to newwtf.
20169
20170        * WTF.gyp/WTF.gyp:
20171
201722012-03-22  Martin Robinson  <mrobinson@igalia.com>
20173
20174        One more GTK+ build fix after r111778.
20175
20176        * GNUmakefile.am: Adding missing include path.
20177
201782012-03-22  Martin Robinson  <mrobinson@igalia.com>
20179
20180        Fixed the GTK+ WTF/JavaScriptCore build after r111778.
20181
20182        * GNUmakefile.am: Remove some extra trailing backslashes and a few uncessary
20183          variables.
20184        * GNUmakefile.list.am: Ditto.
20185
201862012-03-22  Dan Bernstein  <mitz@apple.com>
20187
20188        Fixed the JavaScriptCore debug build after r111778.
20189
20190        * WTF.xcodeproj/project.pbxproj: Use debug DEBUG_DEFINES when building
20191        the Debug configuration.
20192
201932012-03-22  Csaba Osztrogonác  <ossy@webkit.org>
20194
20195        Actually move WTF files to their new home
20196        https://bugs.webkit.org/show_bug.cgi?id=81844
20197
20198        [Qt] Unreviewed buildfix after r111778.
20199
20200        * WTF.pri:
20201
202022012-03-22  Eric Seidel  <eric@webkit.org>
20203
20204        Actually move WTF files to their new home
20205        https://bugs.webkit.org/show_bug.cgi?id=81844
20206
20207        Unreviewed attempt to fix AppleWin.
20208
20209        * WTF.vcproj/WTFCommon.vsprops:
20210
202112012-03-22  Eric Seidel  <eric@webkit.org>
20212
20213        Actually move WTF files to their new home
20214        https://bugs.webkit.org/show_bug.cgi?id=81844
20215
20216        Unreviewed.  The 5MB file move is not very reviewable,
20217        but various port representatives have OK'd changes to the
20218        individual build systems.
20219
20220        * Configurations/WTF.xcconfig:
20221        * GNUmakefile.list.am:
20222        * Stub.cpp: Removed.
20223        * Stub.h: Removed.
20224        * WTF.gypi:
20225        * WTF.pri:
20226        * WTF.pro:
20227        * WTF.vcproj/WTF.vcproj:
20228        * WTF.vcproj/copy-files.cmd:
20229        * WTF.xcodeproj/project.pbxproj:
20230        * config.h:
20231        * wtf/ASCIICType.h: Renamed from Source/JavaScriptCore/wtf/ASCIICType.h.
20232        (WTF):
20233        (WTF::isASCII):
20234        (WTF::isASCIIAlpha):
20235        (WTF::isASCIIDigit):
20236        (WTF::isASCIIAlphanumeric):
20237        (WTF::isASCIIHexDigit):
20238        (WTF::isASCIILower):
20239        (WTF::isASCIIOctalDigit):
20240        (WTF::isASCIIPrintable):
20241        (WTF::isASCIISpace):
20242        (WTF::isASCIIUpper):
20243        (WTF::toASCIILower):
20244        (WTF::toASCIILowerUnchecked):
20245        (WTF::toASCIIUpper):
20246        (WTF::toASCIIHexValue):
20247        (WTF::lowerNibbleToASCIIHexDigit):
20248        (WTF::upperNibbleToASCIIHexDigit):
20249        (WTF::isASCIIAlphaCaselessEqual):
20250        * wtf/AVLTree.h: Renamed from Source/JavaScriptCore/wtf/AVLTree.h.
20251        (WTF):
20252        (AVLTreeDefaultBSet):
20253        (WTF::AVLTreeDefaultBSet::operator[]):
20254        (WTF::AVLTreeDefaultBSet::set):
20255        (WTF::AVLTreeDefaultBSet::reset):
20256        (AVLTree):
20257        (WTF::AVLTree::abstractor):
20258        (WTF::AVLTree::purge):
20259        (WTF::AVLTree::is_empty):
20260        (WTF::AVLTree::AVLTree):
20261        (Iterator):
20262        (WTF::AVLTree::Iterator::Iterator):
20263        (WTF::AVLTree::Iterator::start_iter):
20264        (WTF::AVLTree::Iterator::start_iter_least):
20265        (WTF::AVLTree::Iterator::start_iter_greatest):
20266        (WTF::AVLTree::Iterator::operator*):
20267        (WTF::AVLTree::Iterator::operator++):
20268        (WTF::AVLTree::Iterator::operator--):
20269        (WTF::AVLTree::Iterator::cmp_k_n):
20270        (WTF::AVLTree::Iterator::cmp_n_n):
20271        (WTF::AVLTree::Iterator::get_lt):
20272        (WTF::AVLTree::Iterator::get_gt):
20273        (WTF::AVLTree::Iterator::null):
20274        (WTF::AVLTree::build):
20275        (abs_plus_root):
20276        (WTF::AVLTree::get_lt):
20277        (WTF::AVLTree::set_lt):
20278        (WTF::AVLTree::get_gt):
20279        (WTF::AVLTree::set_gt):
20280        (WTF::AVLTree::get_bf):
20281        (WTF::AVLTree::set_bf):
20282        (WTF::AVLTree::cmp_k_n):
20283        (WTF::AVLTree::cmp_n_n):
20284        (WTF::AVLTree::null):
20285        (WTF::AVLTree::balance):
20286        (WTF::::insert):
20287        (WTF::::search):
20288        (WTF::::search_least):
20289        (WTF::::search_greatest):
20290        (WTF::::remove):
20291        (WTF::::subst):
20292        * wtf/Alignment.h: Renamed from Source/JavaScriptCore/wtf/Alignment.h.
20293        (WTF):
20294        (WTF::swap):
20295        * wtf/AlwaysInline.h: Renamed from Source/JavaScriptCore/wtf/AlwaysInline.h.
20296        * wtf/ArrayBuffer.cpp: Renamed from Source/JavaScriptCore/wtf/ArrayBuffer.cpp.
20297        (WTF):
20298        (WTF::ArrayBuffer::transfer):
20299        (WTF::ArrayBuffer::addView):
20300        (WTF::ArrayBuffer::removeView):
20301        * wtf/ArrayBuffer.h: Renamed from Source/JavaScriptCore/wtf/ArrayBuffer.h.
20302        (WTF):
20303        (ArrayBufferContents):
20304        (WTF::ArrayBufferContents::ArrayBufferContents):
20305        (WTF::ArrayBufferContents::data):
20306        (WTF::ArrayBufferContents::sizeInBytes):
20307        (WTF::ArrayBufferContents::transfer):
20308        (ArrayBuffer):
20309        (WTF::ArrayBuffer::isNeutered):
20310        (WTF::ArrayBuffer::~ArrayBuffer):
20311        (WTF::ArrayBuffer::clampValue):
20312        (WTF::ArrayBuffer::create):
20313        (WTF::ArrayBuffer::ArrayBuffer):
20314        (WTF::ArrayBuffer::data):
20315        (WTF::ArrayBuffer::byteLength):
20316        (WTF::ArrayBuffer::slice):
20317        (WTF::ArrayBuffer::sliceImpl):
20318        (WTF::ArrayBuffer::clampIndex):
20319        (WTF::ArrayBufferContents::tryAllocate):
20320        (WTF::ArrayBufferContents::~ArrayBufferContents):
20321        * wtf/ArrayBufferView.cpp: Renamed from Source/JavaScriptCore/wtf/ArrayBufferView.cpp.
20322        (WTF):
20323        (WTF::ArrayBufferView::ArrayBufferView):
20324        (WTF::ArrayBufferView::~ArrayBufferView):
20325        (WTF::ArrayBufferView::neuter):
20326        * wtf/ArrayBufferView.h: Renamed from Source/JavaScriptCore/wtf/ArrayBufferView.h.
20327        (WTF):
20328        (WTF::ArrayBufferView::setImpl):
20329        (WTF::ArrayBufferView::setRangeImpl):
20330        (WTF::ArrayBufferView::zeroRangeImpl):
20331        (WTF::ArrayBufferView::calculateOffsetAndLength):
20332        * wtf/Assertions.cpp: Renamed from Source/JavaScriptCore/wtf/Assertions.cpp.
20333        * wtf/Assertions.h: Renamed from Source/JavaScriptCore/wtf/Assertions.h.
20334        (assertUnused):
20335        (assertWithMessageUnused):
20336        * wtf/Atomics.h: Renamed from Source/JavaScriptCore/wtf/Atomics.h.
20337        (WTF):
20338        (WTF::atomicIncrement):
20339        (WTF::atomicDecrement):
20340        (WTF::weakCompareAndSwap):
20341        (WTF::weakCompareAndSwapUIntPtr):
20342        * wtf/BitVector.cpp: Renamed from Source/JavaScriptCore/wtf/BitVector.cpp.
20343        (WTF):
20344        (WTF::BitVector::setSlow):
20345        (WTF::BitVector::resize):
20346        (WTF::BitVector::clearAll):
20347        (WTF::BitVector::OutOfLineBits::create):
20348        (WTF::BitVector::OutOfLineBits::destroy):
20349        (WTF::BitVector::resizeOutOfLine):
20350        (WTF::BitVector::dump):
20351        * wtf/BitVector.h: Renamed from Source/JavaScriptCore/wtf/BitVector.h.
20352        (WTF):
20353        (BitVector):
20354        (WTF::BitVector::BitVector):
20355        (WTF::BitVector::~BitVector):
20356        (WTF::BitVector::operator=):
20357        (WTF::BitVector::size):
20358        (WTF::BitVector::ensureSize):
20359        (WTF::BitVector::quickGet):
20360        (WTF::BitVector::quickSet):
20361        (WTF::BitVector::quickClear):
20362        (WTF::BitVector::get):
20363        (WTF::BitVector::set):
20364        (WTF::BitVector::clear):
20365        (WTF::BitVector::bitsInPointer):
20366        (WTF::BitVector::maxInlineBits):
20367        (WTF::BitVector::byteCount):
20368        (WTF::BitVector::makeInlineBits):
20369        (OutOfLineBits):
20370        (WTF::BitVector::OutOfLineBits::numBits):
20371        (WTF::BitVector::OutOfLineBits::numWords):
20372        (WTF::BitVector::OutOfLineBits::bits):
20373        (WTF::BitVector::OutOfLineBits::OutOfLineBits):
20374        (WTF::BitVector::isInline):
20375        (WTF::BitVector::outOfLineBits):
20376        (WTF::BitVector::bits):
20377        * wtf/Bitmap.h: Renamed from Source/JavaScriptCore/wtf/Bitmap.h.
20378        (WTF):
20379        (Bitmap):
20380        (WTF::::Bitmap):
20381        (WTF::::get):
20382        (WTF::::set):
20383        (WTF::::testAndSet):
20384        (WTF::::testAndClear):
20385        (WTF::::concurrentTestAndSet):
20386        (WTF::::concurrentTestAndClear):
20387        (WTF::::clear):
20388        (WTF::::clearAll):
20389        (WTF::::nextPossiblyUnset):
20390        (WTF::::findRunOfZeros):
20391        (WTF::::count):
20392        (WTF::::isEmpty):
20393        (WTF::::isFull):
20394        * wtf/BlockStack.h: Renamed from Source/JavaScriptCore/wtf/BlockStack.h.
20395        (WTF):
20396        (BlockStack):
20397        (WTF::::BlockStack):
20398        (WTF::::~BlockStack):
20399        (WTF::::blocks):
20400        (WTF::::grow):
20401        (WTF::::shrink):
20402        * wtf/BloomFilter.h: Renamed from Source/JavaScriptCore/wtf/BloomFilter.h.
20403        (WTF):
20404        (BloomFilter):
20405        (WTF::BloomFilter::maximumCount):
20406        (WTF::BloomFilter::BloomFilter):
20407        (WTF::BloomFilter::mayContain):
20408        (WTF::BloomFilter::add):
20409        (WTF::BloomFilter::remove):
20410        (WTF::BloomFilter::firstSlot):
20411        (WTF::BloomFilter::secondSlot):
20412        (WTF::::add):
20413        (WTF::::remove):
20414        (WTF::::clear):
20415        (WTF::::likelyEmpty):
20416        (WTF::::isClear):
20417        * wtf/BoundsCheckedPointer.h: Renamed from Source/JavaScriptCore/wtf/BoundsCheckedPointer.h.
20418        (WTF):
20419        (BoundsCheckedPointer):
20420        (WTF::BoundsCheckedPointer::BoundsCheckedPointer):
20421        (WTF::BoundsCheckedPointer::operator=):
20422        (WTF::BoundsCheckedPointer::operator+=):
20423        (WTF::BoundsCheckedPointer::operator-=):
20424        (WTF::BoundsCheckedPointer::operator+):
20425        (WTF::BoundsCheckedPointer::operator-):
20426        (WTF::BoundsCheckedPointer::operator++):
20427        (WTF::BoundsCheckedPointer::operator--):
20428        (WTF::BoundsCheckedPointer::operator<):
20429        (WTF::BoundsCheckedPointer::operator<=):
20430        (WTF::BoundsCheckedPointer::operator>):
20431        (WTF::BoundsCheckedPointer::operator>=):
20432        (WTF::BoundsCheckedPointer::operator==):
20433        (WTF::BoundsCheckedPointer::operator!=):
20434        (WTF::BoundsCheckedPointer::operator!):
20435        (WTF::BoundsCheckedPointer::get):
20436        (WTF::BoundsCheckedPointer::operator*):
20437        (WTF::BoundsCheckedPointer::operator[]):
20438        (WTF::BoundsCheckedPointer::strcat):
20439        (WTF::BoundsCheckedPointer::validate):
20440        * wtf/BumpPointerAllocator.h: Renamed from Source/JavaScriptCore/wtf/BumpPointerAllocator.h.
20441        (WTF):
20442        (BumpPointerPool):
20443        (WTF::BumpPointerPool::ensureCapacity):
20444        (WTF::BumpPointerPool::alloc):
20445        (WTF::BumpPointerPool::dealloc):
20446        (WTF::BumpPointerPool::operator new):
20447        (WTF::BumpPointerPool::BumpPointerPool):
20448        (WTF::BumpPointerPool::create):
20449        (WTF::BumpPointerPool::shrink):
20450        (WTF::BumpPointerPool::destroy):
20451        (WTF::BumpPointerPool::ensureCapacityCrossPool):
20452        (WTF::BumpPointerPool::deallocCrossPool):
20453        (BumpPointerAllocator):
20454        (WTF::BumpPointerAllocator::BumpPointerAllocator):
20455        (WTF::BumpPointerAllocator::~BumpPointerAllocator):
20456        (WTF::BumpPointerAllocator::startAllocator):
20457        (WTF::BumpPointerAllocator::stopAllocator):
20458        * wtf/ByteArray.cpp: Renamed from Source/JavaScriptCore/wtf/ByteArray.cpp.
20459        (WTF):
20460        (WTF::ByteArray::create):
20461        * wtf/ByteArray.h: Renamed from Source/JavaScriptCore/wtf/ByteArray.h.
20462        (ByteArray):
20463        (WTF::ByteArray::length):
20464        (WTF::ByteArray::set):
20465        (WTF::ByteArray::get):
20466        (WTF::ByteArray::data):
20467        (WTF::ByteArray::clear):
20468        (WTF::ByteArray::deref):
20469        (WTF::ByteArray::offsetOfSize):
20470        (WTF::ByteArray::offsetOfData):
20471        (WTF::ByteArray::ByteArray):
20472        * wtf/CMakeLists.txt: Renamed from Source/JavaScriptCore/wtf/CMakeLists.txt.
20473        * wtf/CONTRIBUTORS.pthreads-win32: Renamed from Source/JavaScriptCore/wtf/CONTRIBUTORS.pthreads-win32.
20474        * wtf/CheckedArithmetic.h: Renamed from Source/JavaScriptCore/wtf/CheckedArithmetic.h.
20475        (WTF):
20476        (CrashOnOverflow):
20477        (WTF::CrashOnOverflow::overflowed):
20478        (WTF::CrashOnOverflow::clearOverflow):
20479        (WTF::CrashOnOverflow::hasOverflowed):
20480        (RecordOverflow):
20481        (WTF::RecordOverflow::RecordOverflow):
20482        (WTF::RecordOverflow::overflowed):
20483        (WTF::RecordOverflow::clearOverflow):
20484        (WTF::RecordOverflow::hasOverflowed):
20485        (WTF::isInBounds):
20486        (RemoveChecked):
20487        (WTF::safeAdd):
20488        (WTF::safeSub):
20489        (WTF::safeMultiply):
20490        (WTF::safeEquals):
20491        (WTF::workAroundClangBug):
20492        (Checked):
20493        (WTF::Checked::Checked):
20494        (WTF::Checked::operator=):
20495        (WTF::Checked::operator++):
20496        (WTF::Checked::operator--):
20497        (WTF::Checked::operator!):
20498        (WTF::Checked::operator UnspecifiedBoolType*):
20499        (WTF::Checked::unsafeGet):
20500        (WTF::Checked::operator+=):
20501        (WTF::Checked::operator-=):
20502        (WTF::Checked::operator*=):
20503        (WTF::Checked::operator==):
20504        (WTF::Checked::operator!=):
20505        (WTF::operator+):
20506        (WTF::operator-):
20507        (WTF::operator*):
20508        * wtf/CheckedBoolean.h: Renamed from Source/JavaScriptCore/wtf/CheckedBoolean.h.
20509        (CheckedBoolean):
20510        (CheckedBoolean::CheckedBoolean):
20511        (CheckedBoolean::~CheckedBoolean):
20512        (CheckedBoolean::operator bool):
20513        * wtf/Compiler.h: Renamed from Source/JavaScriptCore/wtf/Compiler.h.
20514        * wtf/Complex.h: Renamed from Source/JavaScriptCore/wtf/Complex.h.
20515        (WTF):
20516        (WTF::complexFromMagnitudePhase):
20517        * wtf/CryptographicallyRandomNumber.cpp: Renamed from Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.cpp.
20518        (WTF::cryptographicallyRandomNumber):
20519        (WTF):
20520        (WTF::cryptographicallyRandomValues):
20521        * wtf/CryptographicallyRandomNumber.h: Renamed from Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.h.
20522        (WTF):
20523        * wtf/CurrentTime.cpp: Renamed from Source/JavaScriptCore/wtf/CurrentTime.cpp.
20524        (WTF):
20525        (WTF::highResUpTime):
20526        (WTF::lowResUTCTime):
20527        (WTF::qpcAvailable):
20528        (WTF::currentTime):
20529        (WTF::currentSystemTime):
20530        (WTF::monotonicallyIncreasingTime):
20531        * wtf/CurrentTime.h: Renamed from Source/JavaScriptCore/wtf/CurrentTime.h.
20532        (WTF):
20533        (WTF::currentTimeMS):
20534        (WTF::getLocalTime):
20535        * wtf/DataLog.cpp: Renamed from Source/JavaScriptCore/wtf/DataLog.cpp.
20536        (WTF):
20537        (WTF::initializeLogFileOnce):
20538        (WTF::initializeLogFile):
20539        (WTF::dataFile):
20540        (WTF::dataLogV):
20541        (WTF::dataLog):
20542        * wtf/DataLog.h: Renamed from Source/JavaScriptCore/wtf/DataLog.h.
20543        (WTF):
20544        * wtf/DateMath.cpp: Renamed from Source/JavaScriptCore/wtf/DateMath.cpp.
20545        (WTF):
20546        (WTF::isLeapYear):
20547        (WTF::daysInYear):
20548        (WTF::daysFrom1970ToYear):
20549        (WTF::msToDays):
20550        (WTF::twoDigitStringFromNumber):
20551        (WTF::msToYear):
20552        (WTF::dayInYear):
20553        (WTF::msToMilliseconds):
20554        (WTF::msToMinutes):
20555        (WTF::msToHours):
20556        (WTF::monthFromDayInYear):
20557        (WTF::checkMonth):
20558        (WTF::dayInMonthFromDayInYear):
20559        (WTF::monthToDayInYear):
20560        (WTF::dateToDaysFrom1970):
20561        (WTF::maximumYearForDST):
20562        (WTF::minimumYearForDST):
20563        (WTF::equivalentYearForDST):
20564        (WTF::calculateUTCOffset):
20565        (WTF::calculateDSTOffsetSimple):
20566        (WTF::calculateDSTOffset):
20567        (WTF::initializeDates):
20568        (WTF::ymdhmsToSeconds):
20569        (KnownZone):
20570        (WTF::skipSpacesAndComments):
20571        (WTF::findMonth):
20572        (WTF::parseLong):
20573        (WTF::parseES5DatePortion):
20574        (WTF::parseES5TimePortion):
20575        (WTF::parseES5DateFromNullTerminatedCharacters):
20576        (WTF::parseDateFromNullTerminatedCharacters):
20577        (WTF::timeClip):
20578        (WTF::makeRFC2822DateString):
20579        * wtf/DateMath.h: Renamed from Source/JavaScriptCore/wtf/DateMath.h.
20580        (WTF):
20581        (WTF::jsCurrentTime):
20582        * wtf/DecimalNumber.cpp: Renamed from Source/JavaScriptCore/wtf/DecimalNumber.cpp.
20583        (WTF):
20584        (WTF::DecimalNumber::bufferLengthForStringDecimal):
20585        (WTF::DecimalNumber::bufferLengthForStringExponential):
20586        (WTF::DecimalNumber::toStringDecimal):
20587        (WTF::DecimalNumber::toStringExponential):
20588        * wtf/DecimalNumber.h: Renamed from Source/JavaScriptCore/wtf/DecimalNumber.h.
20589        (WTF):
20590        (DecimalNumber):
20591        (WTF::DecimalNumber::DecimalNumber):
20592        (WTF::DecimalNumber::sign):
20593        (WTF::DecimalNumber::exponent):
20594        (WTF::DecimalNumber::significand):
20595        (WTF::DecimalNumber::precision):
20596        * wtf/Decoder.h: Renamed from Source/JavaScriptCore/wtf/Decoder.h.
20597        (WTF):
20598        (Decoder):
20599        (WTF::Decoder::Decoder):
20600        (WTF::Decoder::~Decoder):
20601        * wtf/Deque.h: Renamed from Source/JavaScriptCore/wtf/Deque.h.
20602        (WTF):
20603        (Deque):
20604        (WTF::Deque::size):
20605        (WTF::Deque::isEmpty):
20606        (WTF::Deque::begin):
20607        (WTF::Deque::end):
20608        (WTF::Deque::rbegin):
20609        (WTF::Deque::rend):
20610        (WTF::Deque::first):
20611        (WTF::Deque::last):
20612        (DequeIteratorBase):
20613        (WTF::DequeIteratorBase::assign):
20614        (DequeIterator):
20615        (WTF::DequeIterator::DequeIterator):
20616        (WTF::DequeIterator::operator=):
20617        (WTF::DequeIterator::operator*):
20618        (WTF::DequeIterator::operator->):
20619        (WTF::DequeIterator::operator==):
20620        (WTF::DequeIterator::operator!=):
20621        (WTF::DequeIterator::operator++):
20622        (WTF::DequeIterator::operator--):
20623        (DequeConstIterator):
20624        (WTF::DequeConstIterator::DequeConstIterator):
20625        (WTF::DequeConstIterator::operator=):
20626        (WTF::DequeConstIterator::operator*):
20627        (WTF::DequeConstIterator::operator->):
20628        (WTF::DequeConstIterator::operator==):
20629        (WTF::DequeConstIterator::operator!=):
20630        (WTF::DequeConstIterator::operator++):
20631        (WTF::DequeConstIterator::operator--):
20632        (DequeReverseIterator):
20633        (WTF::DequeReverseIterator::DequeReverseIterator):
20634        (WTF::DequeReverseIterator::operator=):
20635        (WTF::DequeReverseIterator::operator*):
20636        (WTF::DequeReverseIterator::operator->):
20637        (WTF::DequeReverseIterator::operator==):
20638        (WTF::DequeReverseIterator::operator!=):
20639        (WTF::DequeReverseIterator::operator++):
20640        (WTF::DequeReverseIterator::operator--):
20641        (DequeConstReverseIterator):
20642        (WTF::DequeConstReverseIterator::DequeConstReverseIterator):
20643        (WTF::DequeConstReverseIterator::operator=):
20644        (WTF::DequeConstReverseIterator::operator*):
20645        (WTF::DequeConstReverseIterator::operator->):
20646        (WTF::DequeConstReverseIterator::operator==):
20647        (WTF::DequeConstReverseIterator::operator!=):
20648        (WTF::DequeConstReverseIterator::operator++):
20649        (WTF::DequeConstReverseIterator::operator--):
20650        (WTF::::checkValidity):
20651        (WTF::::checkIndexValidity):
20652        (WTF::::invalidateIterators):
20653        (WTF::::Deque):
20654        (WTF::deleteAllValues):
20655        (WTF::=):
20656        (WTF::::destroyAll):
20657        (WTF::::~Deque):
20658        (WTF::::swap):
20659        (WTF::::clear):
20660        (WTF::::findIf):
20661        (WTF::::expandCapacityIfNeeded):
20662        (WTF::::expandCapacity):
20663        (WTF::::takeFirst):
20664        (WTF::::append):
20665        (WTF::::prepend):
20666        (WTF::::removeFirst):
20667        (WTF::::remove):
20668        (WTF::::addToIteratorsList):
20669        (WTF::::removeFromIteratorsList):
20670        (WTF::::DequeIteratorBase):
20671        (WTF::::~DequeIteratorBase):
20672        (WTF::::isEqual):
20673        (WTF::::increment):
20674        (WTF::::decrement):
20675        (WTF::::after):
20676        (WTF::::before):
20677        * wtf/DisallowCType.h: Renamed from Source/JavaScriptCore/wtf/DisallowCType.h.
20678        * wtf/DoublyLinkedList.h: Renamed from Source/JavaScriptCore/wtf/DoublyLinkedList.h.
20679        (WTF):
20680        (DoublyLinkedListNode):
20681        (WTF::::DoublyLinkedListNode):
20682        (WTF::::setPrev):
20683        (WTF::::setNext):
20684        (WTF::::prev):
20685        (WTF::::next):
20686        (DoublyLinkedList):
20687        (WTF::::DoublyLinkedList):
20688        (WTF::::isEmpty):
20689        (WTF::::size):
20690        (WTF::::clear):
20691        (WTF::::head):
20692        (WTF::::tail):
20693        (WTF::::push):
20694        (WTF::::append):
20695        (WTF::::remove):
20696        (WTF::::removeHead):
20697        * wtf/DynamicAnnotations.cpp: Renamed from Source/JavaScriptCore/wtf/DynamicAnnotations.cpp.
20698        (WTFAnnotateBenignRaceSized):
20699        (WTFAnnotateHappensBefore):
20700        (WTFAnnotateHappensAfter):
20701        * wtf/DynamicAnnotations.h: Renamed from Source/JavaScriptCore/wtf/DynamicAnnotations.h.
20702        * wtf/Encoder.h: Renamed from Source/JavaScriptCore/wtf/Encoder.h.
20703        (WTF):
20704        (Encoder):
20705        (WTF::Encoder::Encoder):
20706        (WTF::Encoder::~Encoder):
20707        * wtf/ExportMacros.h: Renamed from Source/JavaScriptCore/wtf/ExportMacros.h.
20708        * wtf/FastAllocBase.h: Renamed from Source/JavaScriptCore/wtf/FastAllocBase.h.
20709        (WTF):
20710        (WTF::fastNew):
20711        (Internal):
20712        (WTF::Internal::NewArrayImpl::fastNewArray):
20713        (WTF::fastNewArray):
20714        (WTF::fastDelete):
20715        (WTF::fastDeleteSkippingDestructor):
20716        (WTF::Internal::DeleteArrayImpl::fastDeleteArray):
20717        (WTF::fastDeleteArray):
20718        (WTF::fastNonNullDelete):
20719        (WTF::Internal::NonNullDeleteArrayImpl::fastNonNullDeleteArray):
20720        (WTF::fastNonNullDeleteArray):
20721        * wtf/FastMalloc.cpp: Renamed from Source/JavaScriptCore/wtf/FastMalloc.cpp.
20722        (WTF):
20723        (WTF::isForbidden):
20724        (WTF::fastMallocForbid):
20725        (WTF::fastMallocAllow):
20726        (WTF::initializeIsForbiddenKey):
20727        (Internal):
20728        (WTF::Internal::fastMallocMatchFailed):
20729        (WTF::fastZeroedMalloc):
20730        (WTF::fastStrDup):
20731        (WTF::tryFastZeroedMalloc):
20732        (WTF::tryFastMalloc):
20733        (WTF::fastMalloc):
20734        (WTF::tryFastCalloc):
20735        (WTF::fastCalloc):
20736        (WTF::fastFree):
20737        (WTF::tryFastRealloc):
20738        (WTF::fastRealloc):
20739        (WTF::releaseFastMallocFreeMemory):
20740        (WTF::fastMallocStatistics):
20741        (WTF::fastMallocSize):
20742        (FastMallocZone):
20743        (WTF::FastMallocZone::goodSize):
20744        (WTF::FastMallocZone::check):
20745        (WTF::FastMallocZone::print):
20746        (WTF::FastMallocZone::log):
20747        (WTF::FastMallocZone::forceLock):
20748        (WTF::FastMallocZone::forceUnlock):
20749        (WTF::FastMallocZone::statistics):
20750        (WTF::FastMallocZone::zoneValloc):
20751        (WTF::FastMallocZone::zoneDestroy):
20752        (WTF::KernelSupportsTLS):
20753        (WTF::CheckIfKernelSupportsTLS):
20754        (WTF::ClassIndex):
20755        (TCEntry):
20756        (WTF::LgFloor):
20757        (WTF::SLL_Next):
20758        (WTF::SLL_SetNext):
20759        (WTF::SLL_Push):
20760        (WTF::SLL_Pop):
20761        (WTF::SLL_PopRange):
20762        (WTF::SLL_PushRange):
20763        (WTF::SLL_Size):
20764        (WTF::SizeClass):
20765        (WTF::ByteSizeForClass):
20766        (WTF::NumMoveSize):
20767        (WTF::InitSizeClasses):
20768        (WTF::MetaDataAlloc):
20769        (PageHeapAllocator):
20770        (WTF::PageHeapAllocator::Init):
20771        (WTF::PageHeapAllocator::New):
20772        (WTF::PageHeapAllocator::Delete):
20773        (WTF::PageHeapAllocator::inuse):
20774        (WTF::PageHeapAllocator::recordAdministrativeRegions):
20775        (WTF::pages):
20776        (WTF::AllocationSize):
20777        (Span):
20778        (WTF::Event):
20779        (WTF::NewSpan):
20780        (WTF::DeleteSpan):
20781        (WTF::DLL_Init):
20782        (WTF::DLL_Remove):
20783        (WTF::DLL_IsEmpty):
20784        (WTF::DLL_Length):
20785        (WTF::DLL_Print):
20786        (WTF::DLL_Prepend):
20787        (StackTrace):
20788        (MapSelector):
20789        (TCMalloc_PageHeap):
20790        (WTF::TCMalloc_PageHeap::GetDescriptor):
20791        (WTF::TCMalloc_PageHeap::GetDescriptorEnsureSafe):
20792        (WTF::TCMalloc_PageHeap::SystemBytes):
20793        (WTF::TCMalloc_PageHeap::FreeBytes):
20794        (WTF::TCMalloc_PageHeap::GetSizeClassIfCached):
20795        (WTF::TCMalloc_PageHeap::CacheSizeClass):
20796        (SpanList):
20797        (WTF::TCMalloc_PageHeap::RecordSpan):
20798        (WTF::TCMalloc_PageHeap::init):
20799        (WTF::TCMalloc_PageHeap::initializeScavenger):
20800        (WTF::TCMalloc_PageHeap::isScavengerSuspended):
20801        (WTF::TCMalloc_PageHeap::scheduleScavenger):
20802        (WTF::TCMalloc_PageHeap::rescheduleScavenger):
20803        (WTF::TCMalloc_PageHeap::suspendScavenger):
20804        (WTF::TCMalloc_PageHeap::scavengerTimerFired):
20805        (WTF::TCMalloc_PageHeap::runScavengerThread):
20806        (WTF::TCMalloc_PageHeap::signalScavenger):
20807        (WTF::TCMalloc_PageHeap::scavenge):
20808        (WTF::TCMalloc_PageHeap::shouldScavenge):
20809        (WTF::TCMalloc_PageHeap::New):
20810        (WTF::TCMalloc_PageHeap::AllocLarge):
20811        (WTF::TCMalloc_PageHeap::Split):
20812        (WTF::TCMalloc_PageHeap::Carve):
20813        (WTF::mergeDecommittedStates):
20814        (WTF::TCMalloc_PageHeap::Delete):
20815        (WTF::TCMalloc_PageHeap::IncrementalScavenge):
20816        (WTF::TCMalloc_PageHeap::RegisterSizeClass):
20817        (WTF::TCMalloc_PageHeap::ReturnedBytes):
20818        (WTF::PagesToMB):
20819        (WTF::TCMalloc_PageHeap::Dump):
20820        (WTF::TCMalloc_PageHeap::GrowHeap):
20821        (WTF::TCMalloc_PageHeap::Check):
20822        (WTF::TCMalloc_PageHeap::CheckList):
20823        (WTF::TCMalloc_PageHeap::ReleaseFreeList):
20824        (WTF::TCMalloc_PageHeap::ReleaseFreePages):
20825        (TCMalloc_ThreadCache_FreeList):
20826        (WTF::TCMalloc_ThreadCache_FreeList::Init):
20827        (WTF::TCMalloc_ThreadCache_FreeList::length):
20828        (WTF::TCMalloc_ThreadCache_FreeList::empty):
20829        (WTF::TCMalloc_ThreadCache_FreeList::lowwatermark):
20830        (WTF::TCMalloc_ThreadCache_FreeList::clear_lowwatermark):
20831        (WTF::TCMalloc_ThreadCache_FreeList::Push):
20832        (WTF::TCMalloc_ThreadCache_FreeList::PushRange):
20833        (WTF::TCMalloc_ThreadCache_FreeList::PopRange):
20834        (WTF::TCMalloc_ThreadCache_FreeList::Pop):
20835        (WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects):
20836        (TCMalloc_ThreadCache):
20837        (WTF::TCMalloc_ThreadCache::freelist_length):
20838        (WTF::TCMalloc_ThreadCache::Size):
20839        (WTF::TCMalloc_ThreadCache::enumerateFreeObjects):
20840        (TCMalloc_Central_FreeList):
20841        (WTF::TCMalloc_Central_FreeList::length):
20842        (WTF::TCMalloc_Central_FreeList::tc_length):
20843        (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects):
20844        (TCMalloc_Central_FreeListPadded):
20845        (WTF::getPageHeap):
20846        (WTF::TCMalloc_PageHeap::periodicScavenge):
20847        (WTF::TCMalloc_PageHeap::scavengerThread):
20848        (WTF::setThreadHeap):
20849        (WTF::TCMalloc_Central_FreeList::Init):
20850        (WTF::TCMalloc_Central_FreeList::ReleaseListToSpans):
20851        (WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
20852        (WTF::TCMalloc_Central_FreeList::EvictRandomSizeClass):
20853        (WTF::TCMalloc_Central_FreeList::MakeCacheSpace):
20854        (WTF::TCMalloc_Central_FreeList::ShrinkCache):
20855        (WTF::TCMalloc_Central_FreeList::InsertRange):
20856        (WTF::TCMalloc_Central_FreeList::RemoveRange):
20857        (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe):
20858        (WTF::TCMalloc_Central_FreeList::FetchFromSpans):
20859        (WTF::TCMalloc_Central_FreeList::Populate):
20860        (WTF::TCMalloc_ThreadCache::SampleAllocation):
20861        (WTF::TCMalloc_ThreadCache::Init):
20862        (WTF::TCMalloc_ThreadCache::Cleanup):
20863        (WTF::TCMalloc_ThreadCache::Allocate):
20864        (WTF::TCMalloc_ThreadCache::Deallocate):
20865        (WTF::TCMalloc_ThreadCache::FetchFromCentralCache):
20866        (WTF::TCMalloc_ThreadCache::ReleaseToCentralCache):
20867        (WTF::TCMalloc_ThreadCache::Scavenge):
20868        (WTF::TCMalloc_ThreadCache::PickNextSample):
20869        (WTF::TCMalloc_ThreadCache::InitModule):
20870        (WTF::TCMalloc_ThreadCache::NewHeap):
20871        (WTF::TCMalloc_ThreadCache::GetThreadHeap):
20872        (WTF::TCMalloc_ThreadCache::GetCache):
20873        (WTF::TCMalloc_ThreadCache::GetCacheIfPresent):
20874        (WTF::TCMalloc_ThreadCache::InitTSD):
20875        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
20876        * wtf/FastMalloc.h: Renamed from Source/JavaScriptCore/wtf/FastMalloc.h.
20877        (WTF):
20878        (WTF::TryMallocReturnValue::TryMallocReturnValue):
20879        (WTF::TryMallocReturnValue::~TryMallocReturnValue):
20880        (TryMallocReturnValue):
20881        (WTF::TryMallocReturnValue::operator PossiblyNull<T>):
20882        (WTF::TryMallocReturnValue::getValue):
20883        (FastMallocStatistics):
20884        (ValidationHeader):
20885        (Internal):
20886        (WTF::Internal::fastMallocValidationHeader):
20887        (WTF::Internal::fastMallocValidationSuffix):
20888        (WTF::Internal::fastMallocMatchValidationType):
20889        (WTF::Internal::setFastMallocMatchValidationType):
20890        (WTF::fastMallocMatchValidateMalloc):
20891        (WTF::fastMallocMatchValidateFree):
20892        (WTF::fastMallocValidate):
20893        (throw):
20894        * wtf/FixedArray.h: Renamed from Source/JavaScriptCore/wtf/FixedArray.h.
20895        (WTF):
20896        (FixedArray):
20897        (WTF::FixedArray::operator[]):
20898        (WTF::FixedArray::data):
20899        (WTF::FixedArray::size):
20900        * wtf/Float32Array.h: Renamed from Source/JavaScriptCore/wtf/Float32Array.h.
20901        (WTF):
20902        (Float32Array):
20903        (WTF::Float32Array::set):
20904        (WTF::Float32Array::item):
20905        (WTF::Float32Array::isFloatArray):
20906        (WTF::Float32Array::create):
20907        (WTF::Float32Array::Float32Array):
20908        (WTF::Float32Array::subarray):
20909        * wtf/Float64Array.h: Renamed from Source/JavaScriptCore/wtf/Float64Array.h.
20910        (WTF):
20911        (Float64Array):
20912        (WTF::Float64Array::set):
20913        (WTF::Float64Array::item):
20914        (WTF::Float64Array::isDoubleArray):
20915        (WTF::Float64Array::create):
20916        (WTF::Float64Array::Float64Array):
20917        (WTF::Float64Array::subarray):
20918        * wtf/Forward.h: Renamed from Source/JavaScriptCore/wtf/Forward.h.
20919        (WTF):
20920        * wtf/Functional.h: Renamed from Source/JavaScriptCore/wtf/Functional.h.
20921        (WTF):
20922        (HasRefAndDeref):
20923        (NoType):
20924        (BaseMixin):
20925        (WTF::R):
20926        (WTF::C::):
20927        (WTF::RefAndDeref::ref):
20928        (WTF::RefAndDeref::deref):
20929        (ParamStorageTraits):
20930        (WTF::ParamStorageTraits::wrap):
20931        (WTF::ParamStorageTraits::unwrap):
20932        (FunctionImplBase):
20933        (WTF::FunctionImplBase::~FunctionImplBase):
20934        (FunctionBase):
20935        (WTF::FunctionBase::isNull):
20936        (WTF::FunctionBase::FunctionBase):
20937        (WTF::FunctionBase::impl):
20938        (WTF::bind):
20939        * wtf/GetPtr.h: Renamed from Source/JavaScriptCore/wtf/GetPtr.h.
20940        (WTF):
20941        (WTF::getPtr):
20942        * wtf/HashCountedSet.h: Renamed from Source/JavaScriptCore/wtf/HashCountedSet.h.
20943        (WTF):
20944        (HashCountedSet):
20945        (WTF::HashCountedSet::HashCountedSet):
20946        (WTF::::size):
20947        (WTF::::capacity):
20948        (WTF::::isEmpty):
20949        (WTF::::begin):
20950        (WTF::::end):
20951        (WTF::::find):
20952        (WTF::::contains):
20953        (WTF::::count):
20954        (WTF::::add):
20955        (WTF::::remove):
20956        (WTF::::removeAll):
20957        (WTF::::clear):
20958        (WTF::copyToVector):
20959        * wtf/HashFunctions.h: Renamed from Source/JavaScriptCore/wtf/HashFunctions.h.
20960        (WTF):
20961        (WTF::intHash):
20962        (WTF::IntHash::hash):
20963        (WTF::IntHash::equal):
20964        (IntHash):
20965        (WTF::FloatHash::hash):
20966        (WTF::FloatHash::equal):
20967        (FloatHash):
20968        (WTF::PtrHash::hash):
20969        (WTF::PtrHash::equal):
20970        (PtrHash):
20971        (WTF::PairHash::hash):
20972        (WTF::PairHash::equal):
20973        (PairHash):
20974        * wtf/HashIterators.h: Renamed from Source/JavaScriptCore/wtf/HashIterators.h.
20975        (WTF):
20976        (HashTableConstKeysIterator):
20977        (WTF::HashTableConstKeysIterator::HashTableConstKeysIterator):
20978        (WTF::HashTableConstKeysIterator::get):
20979        (WTF::HashTableConstKeysIterator::operator*):
20980        (WTF::HashTableConstKeysIterator::operator->):
20981        (WTF::HashTableConstKeysIterator::operator++):
20982        (HashTableConstValuesIterator):
20983        (WTF::HashTableConstValuesIterator::HashTableConstValuesIterator):
20984        (WTF::HashTableConstValuesIterator::get):
20985        (WTF::HashTableConstValuesIterator::operator*):
20986        (WTF::HashTableConstValuesIterator::operator->):
20987        (WTF::HashTableConstValuesIterator::operator++):
20988        (HashTableKeysIterator):
20989        (WTF::HashTableKeysIterator::HashTableKeysIterator):
20990        (WTF::HashTableKeysIterator::get):
20991        (WTF::HashTableKeysIterator::operator*):
20992        (WTF::HashTableKeysIterator::operator->):
20993        (WTF::HashTableKeysIterator::operator++):
20994        (WTF::HashTableKeysIterator::operator HashTableConstKeysIterator<HashTableType, KeyType, MappedType>):
20995        (HashTableValuesIterator):
20996        (WTF::HashTableValuesIterator::HashTableValuesIterator):
20997        (WTF::HashTableValuesIterator::get):
20998        (WTF::HashTableValuesIterator::operator*):
20999        (WTF::HashTableValuesIterator::operator->):
21000        (WTF::HashTableValuesIterator::operator++):
21001        (WTF::HashTableValuesIterator::operator HashTableConstValuesIterator<HashTableType, KeyType, MappedType>):
21002        (WTF::operator==):
21003        (WTF::operator!=):
21004        * wtf/HashMap.h: Renamed from Source/JavaScriptCore/wtf/HashMap.h.
21005        (WTF):
21006        (ReferenceTypeMaker):
21007        (HashMap):
21008        (WTF::HashMap::keys):
21009        (WTF::HashMap::values):
21010        (HashMapKeysProxy):
21011        (WTF::HashMap::HashMapKeysProxy::begin):
21012        (WTF::HashMap::HashMapKeysProxy::end):
21013        (HashMapValuesProxy):
21014        (WTF::HashMap::HashMapValuesProxy::begin):
21015        (WTF::HashMap::HashMapValuesProxy::end):
21016        (WTF::PairFirstExtractor::extract):
21017        (WTF::HashMapTranslator::hash):
21018        (WTF::HashMapTranslator::equal):
21019        (WTF::HashMapTranslator::translate):
21020        (WTF::HashMapTranslatorAdapter::hash):
21021        (WTF::HashMapTranslatorAdapter::equal):
21022        (WTF::HashMapTranslatorAdapter::translate):
21023        (WTF::::swap):
21024        (WTF::::size):
21025        (WTF::::capacity):
21026        (WTF::::isEmpty):
21027        (WTF::::begin):
21028        (WTF::::end):
21029        (WTF::::find):
21030        (WTF::::contains):
21031        (WTF::::inlineAdd):
21032        (WTF::::set):
21033        (WTF::::add):
21034        (WTF::::get):
21035        (WTF::::remove):
21036        (WTF::::clear):
21037        (WTF::::take):
21038        (WTF::::checkConsistency):
21039        (WTF::operator==):
21040        (WTF::operator!=):
21041        (WTF::deleteAllPairSeconds):
21042        (WTF::deleteAllValues):
21043        (WTF::deleteAllPairFirsts):
21044        (WTF::deleteAllKeys):
21045        (WTF::copyKeysToVector):
21046        (WTF::copyValuesToVector):
21047        * wtf/HashSet.h: Renamed from Source/JavaScriptCore/wtf/HashSet.h.
21048        (WTF):
21049        (HashSet):
21050        (WTF::IdentityExtractor::extract):
21051        (WTF::HashSetTranslatorAdapter::hash):
21052        (WTF::HashSetTranslatorAdapter::equal):
21053        (WTF::HashSetTranslatorAdapter::translate):
21054        (WTF::::swap):
21055        (WTF::::size):
21056        (WTF::::capacity):
21057        (WTF::::isEmpty):
21058        (WTF::::begin):
21059        (WTF::::end):
21060        (WTF::::find):
21061        (WTF::::contains):
21062        (WTF::::add):
21063        (WTF::::remove):
21064        (WTF::::clear):
21065        (WTF::deleteAllValues):
21066        (WTF::fastDeleteAllValues):
21067        (WTF::copyToVector):
21068        * wtf/HashTable.cpp: Renamed from Source/JavaScriptCore/wtf/HashTable.cpp.
21069        (WTF):
21070        (WTF::hashTableStatsMutex):
21071        (WTF::HashTableStats::~HashTableStats):
21072        (WTF::HashTableStats::recordCollisionAtCount):
21073        * wtf/HashTable.h: Renamed from Source/JavaScriptCore/wtf/HashTable.h.
21074        (WTF):
21075        (HashTableStats):
21076        (WTF::addIterator):
21077        (WTF::removeIterator):
21078        (HashTableConstIterator):
21079        (WTF::HashTableConstIterator::skipEmptyBuckets):
21080        (WTF::HashTableConstIterator::HashTableConstIterator):
21081        (WTF::HashTableConstIterator::~HashTableConstIterator):
21082        (WTF::HashTableConstIterator::operator=):
21083        (WTF::HashTableConstIterator::get):
21084        (WTF::HashTableConstIterator::operator*):
21085        (WTF::HashTableConstIterator::operator->):
21086        (WTF::HashTableConstIterator::operator++):
21087        (WTF::HashTableConstIterator::operator==):
21088        (WTF::HashTableConstIterator::operator!=):
21089        (WTF::HashTableConstIterator::checkValidity):
21090        (HashTableIterator):
21091        (WTF::HashTableIterator::HashTableIterator):
21092        (WTF::HashTableIterator::get):
21093        (WTF::HashTableIterator::operator*):
21094        (WTF::HashTableIterator::operator->):
21095        (WTF::HashTableIterator::operator++):
21096        (WTF::HashTableIterator::operator==):
21097        (WTF::HashTableIterator::operator!=):
21098        (WTF::HashTableIterator::operator const_iterator):
21099        (WTF::hashTableSwap):
21100        (IdentityHashTranslator):
21101        (WTF::IdentityHashTranslator::hash):
21102        (WTF::IdentityHashTranslator::equal):
21103        (WTF::IdentityHashTranslator::translate):
21104        (HashTable):
21105        (WTF::HashTable::~HashTable):
21106        (WTF::HashTable::begin):
21107        (WTF::HashTable::end):
21108        (WTF::HashTable::size):
21109        (WTF::HashTable::capacity):
21110        (WTF::HashTable::isEmpty):
21111        (WTF::HashTable::add):
21112        (WTF::HashTable::find):
21113        (WTF::HashTable::contains):
21114        (WTF::HashTable::isEmptyBucket):
21115        (WTF::HashTable::isDeletedBucket):
21116        (WTF::HashTable::isEmptyOrDeletedBucket):
21117        (WTF::HashTable::lookup):
21118        (WTF::HashTable::checkTableConsistency):
21119        (WTF::HashTable::internalCheckTableConsistency):
21120        (WTF::HashTable::internalCheckTableConsistencyExceptSize):
21121        (WTF::HashTable::lookupForWriting):
21122        (WTF::HashTable::shouldExpand):
21123        (WTF::HashTable::mustRehashInPlace):
21124        (WTF::HashTable::shouldShrink):
21125        (WTF::HashTable::shrink):
21126        (WTF::HashTable::deleteBucket):
21127        (WTF::HashTable::makeLookupResult):
21128        (WTF::HashTable::makeIterator):
21129        (WTF::HashTable::makeConstIterator):
21130        (WTF::HashTable::makeKnownGoodIterator):
21131        (WTF::HashTable::makeKnownGoodConstIterator):
21132        (WTF::HashTable::checkTableConsistencyExceptSize):
21133        (WTF::HashTable::invalidateIterators):
21134        (WTF::::HashTable):
21135        (WTF::doubleHash):
21136        (WTF::::checkKey):
21137        (WTF::::lookup):
21138        (WTF::::lookupForWriting):
21139        (WTF::::fullLookupForWriting):
21140        (WTF::::initializeBucket):
21141        (WTF::::add):
21142        (WTF::::addPassingHashCode):
21143        (WTF::::reinsert):
21144        (WTF::::find):
21145        (WTF::::contains):
21146        (WTF::::removeAndInvalidateWithoutEntryConsistencyCheck):
21147        (WTF::::removeAndInvalidate):
21148        (WTF::::remove):
21149        (WTF::::removeWithoutEntryConsistencyCheck):
21150        (WTF::::allocateTable):
21151        (WTF::::deallocateTable):
21152        (WTF::::expand):
21153        (WTF::::rehash):
21154        (WTF::::clear):
21155        (WTF::::swap):
21156        (WTF::=):
21157        (WTF::::checkTableConsistency):
21158        (WTF::::checkTableConsistencyExceptSize):
21159        (WTF::::invalidateIterators):
21160        (WTF::HashTableConstIteratorAdapter::HashTableConstIteratorAdapter):
21161        (HashTableConstIteratorAdapter):
21162        (WTF::HashTableConstIteratorAdapter::get):
21163        (WTF::HashTableConstIteratorAdapter::operator*):
21164        (WTF::HashTableConstIteratorAdapter::operator->):
21165        (WTF::HashTableConstIteratorAdapter::operator++):
21166        (WTF::HashTableIteratorAdapter::HashTableIteratorAdapter):
21167        (HashTableIteratorAdapter):
21168        (WTF::HashTableIteratorAdapter::get):
21169        (WTF::HashTableIteratorAdapter::operator*):
21170        (WTF::HashTableIteratorAdapter::operator->):
21171        (WTF::HashTableIteratorAdapter::operator++):
21172        (WTF::HashTableIteratorAdapter::operator HashTableConstIteratorAdapter<HashTableType, ValueType>):
21173        (WTF::operator==):
21174        (WTF::operator!=):
21175        * wtf/HashTraits.h: Renamed from Source/JavaScriptCore/wtf/HashTraits.h.
21176        (WTF):
21177        (GenericHashTraits):
21178        (WTF::GenericHashTraits::emptyValue):
21179        (WTF::GenericHashTraits::store):
21180        (WTF::GenericHashTraits::passOut):
21181        (WTF::GenericHashTraits::peek):
21182        (FloatHashTraits):
21183        (WTF::FloatHashTraits::emptyValue):
21184        (WTF::FloatHashTraits::constructDeletedValue):
21185        (WTF::FloatHashTraits::isDeletedValue):
21186        (UnsignedWithZeroKeyHashTraits):
21187        (WTF::UnsignedWithZeroKeyHashTraits::emptyValue):
21188        (WTF::UnsignedWithZeroKeyHashTraits::constructDeletedValue):
21189        (WTF::UnsignedWithZeroKeyHashTraits::isDeletedValue):
21190        (SimpleClassHashTraits):
21191        (WTF::SimpleClassHashTraits::constructDeletedValue):
21192        (WTF::SimpleClassHashTraits::isDeletedValue):
21193        (PairHashTraits):
21194        (WTF::PairHashTraits::emptyValue):
21195        (WTF::PairHashTraits::constructDeletedValue):
21196        (WTF::PairHashTraits::isDeletedValue):
21197        * wtf/HexNumber.h: Renamed from Source/JavaScriptCore/wtf/HexNumber.h.
21198        (WTF):
21199        (Internal):
21200        (WTF::Internal::hexDigitsForMode):
21201        (WTF::appendByteAsHex):
21202        (WTF::placeByteAsHexCompressIfPossible):
21203        (WTF::placeByteAsHex):
21204        (WTF::appendUnsignedAsHex):
21205        (WTF::appendUnsignedAsHexFixedSize):
21206        * wtf/InlineASM.h: Renamed from Source/JavaScriptCore/wtf/InlineASM.h.
21207        * wtf/Int16Array.h: Renamed from Source/JavaScriptCore/wtf/Int16Array.h.
21208        (WTF):
21209        (Int16Array):
21210        (WTF::Int16Array::set):
21211        (WTF::Int16Array::isShortArray):
21212        (WTF::Int16Array::create):
21213        (WTF::Int16Array::Int16Array):
21214        (WTF::Int16Array::subarray):
21215        * wtf/Int32Array.h: Renamed from Source/JavaScriptCore/wtf/Int32Array.h.
21216        (WTF):
21217        (Int32Array):
21218        (WTF::Int32Array::set):
21219        (WTF::Int32Array::isIntArray):
21220        (WTF::Int32Array::create):
21221        (WTF::Int32Array::Int32Array):
21222        (WTF::Int32Array::subarray):
21223        * wtf/Int8Array.h: Renamed from Source/JavaScriptCore/wtf/Int8Array.h.
21224        (WTF):
21225        (Int8Array):
21226        (WTF::Int8Array::set):
21227        (WTF::Int8Array::isByteArray):
21228        (WTF::Int8Array::create):
21229        (WTF::Int8Array::Int8Array):
21230        (WTF::Int8Array::subarray):
21231        * wtf/IntegralTypedArrayBase.h: Renamed from Source/JavaScriptCore/wtf/IntegralTypedArrayBase.h.
21232        (WTF):
21233        (IntegralTypedArrayBase):
21234        (WTF::IntegralTypedArrayBase::set):
21235        (WTF::IntegralTypedArrayBase::item):
21236        (WTF::IntegralTypedArrayBase::IntegralTypedArrayBase):
21237        * wtf/ListHashSet.h: Renamed from Source/JavaScriptCore/wtf/ListHashSet.h.
21238        (WTF):
21239        (ListHashSet):
21240        (ListHashSetNodeAllocator):
21241        (WTF::ListHashSetNodeAllocator::ListHashSetNodeAllocator):
21242        (WTF::ListHashSetNodeAllocator::allocate):
21243        (WTF::ListHashSetNodeAllocator::deallocate):
21244        (WTF::ListHashSetNodeAllocator::pool):
21245        (WTF::ListHashSetNodeAllocator::pastPool):
21246        (WTF::ListHashSetNodeAllocator::inPool):
21247        (ListHashSetNode):
21248        (WTF::ListHashSetNode::ListHashSetNode):
21249        (WTF::ListHashSetNode::operator new):
21250        (WTF::ListHashSetNode::destroy):
21251        (WTF::ListHashSetNodeHashFunctions::hash):
21252        (WTF::ListHashSetNodeHashFunctions::equal):
21253        (ListHashSetNodeHashFunctions):
21254        (ListHashSetIterator):
21255        (WTF::ListHashSetIterator::ListHashSetIterator):
21256        (WTF::ListHashSetIterator::get):
21257        (WTF::ListHashSetIterator::operator*):
21258        (WTF::ListHashSetIterator::operator->):
21259        (WTF::ListHashSetIterator::operator++):
21260        (WTF::ListHashSetIterator::operator--):
21261        (WTF::ListHashSetIterator::operator==):
21262        (WTF::ListHashSetIterator::operator!=):
21263        (WTF::ListHashSetIterator::operator const_iterator):
21264        (WTF::ListHashSetIterator::node):
21265        (ListHashSetConstIterator):
21266        (WTF::ListHashSetConstIterator::ListHashSetConstIterator):
21267        (WTF::ListHashSetConstIterator::get):
21268        (WTF::ListHashSetConstIterator::operator*):
21269        (WTF::ListHashSetConstIterator::operator->):
21270        (WTF::ListHashSetConstIterator::operator++):
21271        (WTF::ListHashSetConstIterator::operator--):
21272        (WTF::ListHashSetConstIterator::operator==):
21273        (WTF::ListHashSetConstIterator::operator!=):
21274        (WTF::ListHashSetConstIterator::node):
21275        (ListHashSetReverseIterator):
21276        (WTF::ListHashSetReverseIterator::ListHashSetReverseIterator):
21277        (WTF::ListHashSetReverseIterator::get):
21278        (WTF::ListHashSetReverseIterator::operator*):
21279        (WTF::ListHashSetReverseIterator::operator->):
21280        (WTF::ListHashSetReverseIterator::operator++):
21281        (WTF::ListHashSetReverseIterator::operator--):
21282        (WTF::ListHashSetReverseIterator::operator==):
21283        (WTF::ListHashSetReverseIterator::operator!=):
21284        (WTF::ListHashSetReverseIterator::operator const_reverse_iterator):
21285        (WTF::ListHashSetReverseIterator::node):
21286        (ListHashSetConstReverseIterator):
21287        (WTF::ListHashSetConstReverseIterator::ListHashSetConstReverseIterator):
21288        (WTF::ListHashSetConstReverseIterator::get):
21289        (WTF::ListHashSetConstReverseIterator::operator*):
21290        (WTF::ListHashSetConstReverseIterator::operator->):
21291        (WTF::ListHashSetConstReverseIterator::operator++):
21292        (WTF::ListHashSetConstReverseIterator::operator--):
21293        (WTF::ListHashSetConstReverseIterator::operator==):
21294        (WTF::ListHashSetConstReverseIterator::operator!=):
21295        (WTF::ListHashSetConstReverseIterator::node):
21296        (WTF::ListHashSetTranslator::hash):
21297        (WTF::ListHashSetTranslator::equal):
21298        (WTF::ListHashSetTranslator::translate):
21299        (WTF::::ListHashSet):
21300        (WTF::=):
21301        (WTF::::swap):
21302        (WTF::::~ListHashSet):
21303        (WTF::::size):
21304        (WTF::::capacity):
21305        (WTF::::isEmpty):
21306        (WTF::::begin):
21307        (WTF::::end):
21308        (WTF::::rbegin):
21309        (WTF::::rend):
21310        (WTF::::first):
21311        (WTF::::last):
21312        (WTF::::removeLast):
21313        (WTF::::find):
21314        (WTF::ListHashSetTranslatorAdapter::hash):
21315        (WTF::ListHashSetTranslatorAdapter::equal):
21316        (WTF::::contains):
21317        (WTF::::add):
21318        (WTF::::insertBefore):
21319        (WTF::::remove):
21320        (WTF::::clear):
21321        (WTF::::unlinkAndDelete):
21322        (WTF::::appendNode):
21323        (WTF::::insertNodeBefore):
21324        (WTF::::deleteAllNodes):
21325        (WTF::::makeReverseIterator):
21326        (WTF::::makeConstReverseIterator):
21327        (WTF::::makeIterator):
21328        (WTF::::makeConstIterator):
21329        (WTF::deleteAllValues):
21330        * wtf/ListRefPtr.h: Renamed from Source/JavaScriptCore/wtf/ListRefPtr.h.
21331        (WTF):
21332        (ListRefPtr):
21333        (WTF::ListRefPtr::ListRefPtr):
21334        (WTF::ListRefPtr::~ListRefPtr):
21335        (WTF::ListRefPtr::operator=):
21336        (WTF::getPtr):
21337        * wtf/Locker.h: Renamed from Source/JavaScriptCore/wtf/Locker.h.
21338        (WTF):
21339        (Locker):
21340        (WTF::Locker::Locker):
21341        (WTF::Locker::~Locker):
21342        * wtf/MD5.cpp: Renamed from Source/JavaScriptCore/wtf/MD5.cpp.
21343        (WTF):
21344        (WTF::testMD5):
21345        (WTF::expectMD5):
21346        (WTF::reverseBytes):
21347        (WTF::MD5Transform):
21348        (WTF::MD5::MD5):
21349        (WTF::MD5::addBytes):
21350        (WTF::MD5::checksum):
21351        * wtf/MD5.h: Renamed from Source/JavaScriptCore/wtf/MD5.h.
21352        (WTF):
21353        (MD5):
21354        (WTF::MD5::addBytes):
21355        * wtf/MainThread.cpp: Renamed from Source/JavaScriptCore/wtf/MainThread.cpp.
21356        (WTF):
21357        (FunctionWithContext):
21358        (WTF::FunctionWithContext::FunctionWithContext):
21359        (WTF::FunctionWithContext::operator == ):
21360        (FunctionWithContextFinder):
21361        (WTF::FunctionWithContextFinder::FunctionWithContextFinder):
21362        (WTF::FunctionWithContextFinder::operator()):
21363        (WTF::mainThreadFunctionQueueMutex):
21364        (WTF::functionQueue):
21365        (WTF::initializeMainThread):
21366        (WTF::initializeMainThreadOnce):
21367        (WTF::initializeMainThreadToProcessMainThreadOnce):
21368        (WTF::initializeMainThreadToProcessMainThread):
21369        (WTF::dispatchFunctionsFromMainThread):
21370        (WTF::callOnMainThread):
21371        (WTF::callOnMainThreadAndWait):
21372        (WTF::cancelCallOnMainThread):
21373        (WTF::callFunctionObject):
21374        (WTF::setMainThreadCallbacksPaused):
21375        (WTF::isMainThread):
21376        (WTF::initializeGCThreads):
21377        (WTF::registerGCThread):
21378        (WTF::isMainThreadOrGCThread):
21379        * wtf/MainThread.h: Renamed from Source/JavaScriptCore/wtf/MainThread.h.
21380        (WTF):
21381        (WTF::isMainThreadOrGCThread):
21382        * wtf/MallocZoneSupport.h: Renamed from Source/JavaScriptCore/wtf/MallocZoneSupport.h.
21383        (WTF):
21384        (RemoteMemoryReader):
21385        (WTF::RemoteMemoryReader::RemoteMemoryReader):
21386        (WTF::RemoteMemoryReader::operator()):
21387        (WTF::RemoteMemoryReader::nextEntryInLinkedList):
21388        * wtf/MathExtras.h: Renamed from Source/JavaScriptCore/wtf/MathExtras.h.
21389        (wtf_ceil):
21390        (isfinite):
21391        (isinf):
21392        (signbit):
21393        (round):
21394        (roundf):
21395        (llround):
21396        (llroundf):
21397        (lround):
21398        (lroundf):
21399        (trunc):
21400        (abs):
21401        (isnan):
21402        (nextafter):
21403        (nextafterf):
21404        (copysign):
21405        (log2):
21406        (log2f):
21407        (wtf_atan2):
21408        (wtf_fmod):
21409        (wtf_pow):
21410        (deg2rad):
21411        (rad2deg):
21412        (deg2grad):
21413        (grad2deg):
21414        (turn2deg):
21415        (deg2turn):
21416        (rad2grad):
21417        (grad2rad):
21418        (defaultMinimumForClamp):
21419        (defaultMaximumForClamp):
21420        (clampTo):
21421        (clampToInteger):
21422        (clampToFloat):
21423        (clampToPositiveInteger):
21424        (isWithinIntRange):
21425        (decomposeDouble):
21426        (doubleToInteger):
21427        * wtf/MessageQueue.h: Renamed from Source/JavaScriptCore/wtf/MessageQueue.h.
21428        (WTF):
21429        (MessageQueue):
21430        (WTF::MessageQueue::MessageQueue):
21431        (WTF::MessageQueue::infiniteTime):
21432        (WTF::MessageQueue::alwaysTruePredicate):
21433        (WTF::::~MessageQueue):
21434        (WTF::::append):
21435        (WTF::::appendAndCheckEmpty):
21436        (WTF::::prepend):
21437        (WTF::::waitForMessage):
21438        (WTF::::waitForMessageFilteredWithTimeout):
21439        (WTF::::tryGetMessage):
21440        (WTF::::tryGetMessageIgnoringKilled):
21441        (WTF::::removeIf):
21442        (WTF::::isEmpty):
21443        (WTF::::kill):
21444        (WTF::::killed):
21445        * wtf/MetaAllocator.cpp: Renamed from Source/JavaScriptCore/wtf/MetaAllocator.cpp.
21446        (WTF):
21447        (WTF::MetaAllocator::~MetaAllocator):
21448        (WTF::MetaAllocatorTracker::notify):
21449        (WTF::MetaAllocatorTracker::release):
21450        (WTF::MetaAllocator::release):
21451        (WTF::MetaAllocatorHandle::MetaAllocatorHandle):
21452        (WTF::MetaAllocatorHandle::~MetaAllocatorHandle):
21453        (WTF::MetaAllocatorHandle::shrink):
21454        (WTF::MetaAllocator::MetaAllocator):
21455        (WTF::MetaAllocator::allocate):
21456        (WTF::MetaAllocator::currentStatistics):
21457        (WTF::MetaAllocator::findAndRemoveFreeSpace):
21458        (WTF::MetaAllocator::addFreeSpaceFromReleasedHandle):
21459        (WTF::MetaAllocator::addFreshFreeSpace):
21460        (WTF::MetaAllocator::debugFreeSpaceSize):
21461        (WTF::MetaAllocator::addFreeSpace):
21462        (WTF::MetaAllocator::incrementPageOccupancy):
21463        (WTF::MetaAllocator::decrementPageOccupancy):
21464        (WTF::MetaAllocator::roundUp):
21465        (WTF::MetaAllocator::allocFreeSpaceNode):
21466        (WTF::MetaAllocator::freeFreeSpaceNode):
21467        (WTF::MetaAllocator::dumpProfile):
21468        * wtf/MetaAllocator.h: Renamed from Source/JavaScriptCore/wtf/MetaAllocator.h.
21469        (WTF):
21470        (MetaAllocatorTracker):
21471        (WTF::MetaAllocatorTracker::find):
21472        (MetaAllocator):
21473        (WTF::MetaAllocator::trackAllocations):
21474        (WTF::MetaAllocator::bytesAllocated):
21475        (WTF::MetaAllocator::bytesReserved):
21476        (WTF::MetaAllocator::bytesCommitted):
21477        (Statistics):
21478        (WTF::MetaAllocator::dumpProfile):
21479        (FreeSpaceNode):
21480        (WTF::MetaAllocator::FreeSpaceNode::FreeSpaceNode):
21481        (WTF::MetaAllocator::FreeSpaceNode::key):
21482        * wtf/MetaAllocatorHandle.h: Renamed from Source/JavaScriptCore/wtf/MetaAllocatorHandle.h.
21483        (WTF):
21484        (MetaAllocatorHandle):
21485        (WTF::MetaAllocatorHandle::start):
21486        (WTF::MetaAllocatorHandle::end):
21487        (WTF::MetaAllocatorHandle::sizeInBytes):
21488        (WTF::MetaAllocatorHandle::isManaged):
21489        (WTF::MetaAllocatorHandle::allocator):
21490        (WTF::MetaAllocatorHandle::ownerUID):
21491        (WTF::MetaAllocatorHandle::key):
21492        * wtf/NonCopyingSort.h: Renamed from Source/JavaScriptCore/wtf/NonCopyingSort.h.
21493        (WTF):
21494        (WTF::siftDown):
21495        (WTF::heapify):
21496        (WTF::heapSort):
21497        (WTF::nonCopyingSort):
21498        * wtf/Noncopyable.h: Renamed from Source/JavaScriptCore/wtf/Noncopyable.h.
21499        * wtf/NotFound.h: Renamed from Source/JavaScriptCore/wtf/NotFound.h.
21500        (WTF):
21501        * wtf/NullPtr.cpp: Renamed from Source/JavaScriptCore/wtf/NullPtr.cpp.
21502        * wtf/NullPtr.h: Renamed from Source/JavaScriptCore/wtf/NullPtr.h.
21503        * wtf/NumberOfCores.cpp: Renamed from Source/JavaScriptCore/wtf/NumberOfCores.cpp.
21504        (WTF):
21505        (WTF::numberOfProcessorCores):
21506        * wtf/NumberOfCores.h: Renamed from Source/JavaScriptCore/wtf/NumberOfCores.h.
21507        (WTF):
21508        * wtf/OSAllocator.h: Renamed from Source/JavaScriptCore/wtf/OSAllocator.h.
21509        (WTF):
21510        (OSAllocator):
21511        (WTF::OSAllocator::reserveAndCommit):
21512        (WTF::OSAllocator::decommitAndRelease):
21513        (WTF::OSAllocator::reallocateCommitted):
21514        * wtf/OSAllocatorPosix.cpp: Renamed from Source/JavaScriptCore/wtf/OSAllocatorPosix.cpp.
21515        (WTF):
21516        (WTF::OSAllocator::reserveUncommitted):
21517        (WTF::OSAllocator::reserveAndCommit):
21518        (WTF::OSAllocator::commit):
21519        (WTF::OSAllocator::decommit):
21520        (WTF::OSAllocator::releaseDecommitted):
21521        * wtf/OSAllocatorWin.cpp: Renamed from Source/JavaScriptCore/wtf/OSAllocatorWin.cpp.
21522        (WTF):
21523        (WTF::protection):
21524        (WTF::OSAllocator::reserveUncommitted):
21525        (WTF::OSAllocator::reserveAndCommit):
21526        (WTF::OSAllocator::commit):
21527        (WTF::OSAllocator::decommit):
21528        (WTF::OSAllocator::releaseDecommitted):
21529        * wtf/OSRandomSource.cpp: Renamed from Source/JavaScriptCore/wtf/OSRandomSource.cpp.
21530        (WTF):
21531        (WTF::cryptographicallyRandomValuesFromOS):
21532        * wtf/OSRandomSource.h: Renamed from Source/JavaScriptCore/wtf/OSRandomSource.h.
21533        (WTF):
21534        * wtf/OwnArrayPtr.h: Renamed from Source/JavaScriptCore/wtf/OwnArrayPtr.h.
21535        (WTF):
21536        (OwnArrayPtr):
21537        (WTF::OwnArrayPtr::OwnArrayPtr):
21538        (WTF::OwnArrayPtr::~OwnArrayPtr):
21539        (WTF::OwnArrayPtr::get):
21540        (WTF::OwnArrayPtr::operator*):
21541        (WTF::OwnArrayPtr::operator->):
21542        (WTF::OwnArrayPtr::operator[]):
21543        (WTF::OwnArrayPtr::operator!):
21544        (WTF::OwnArrayPtr::operator UnspecifiedBoolType):
21545        (WTF::OwnArrayPtr::operator=):
21546        (WTF::OwnArrayPtr::swap):
21547        (WTF::::OwnArrayPtr):
21548        (WTF::::clear):
21549        (WTF::::release):
21550        (WTF::::leakPtr):
21551        (WTF::=):
21552        (WTF::swap):
21553        (WTF::operator==):
21554        (WTF::operator!=):
21555        (WTF::getPtr):
21556        * wtf/OwnPtr.h: Renamed from Source/JavaScriptCore/wtf/OwnPtr.h.
21557        (WTF):
21558        (OwnPtr):
21559        (WTF::OwnPtr::OwnPtr):
21560        (WTF::OwnPtr::~OwnPtr):
21561        (WTF::OwnPtr::get):
21562        (WTF::OwnPtr::operator*):
21563        (WTF::OwnPtr::operator->):
21564        (WTF::OwnPtr::operator!):
21565        (WTF::OwnPtr::operator UnspecifiedBoolType):
21566        (WTF::OwnPtr::operator=):
21567        (WTF::OwnPtr::swap):
21568        (WTF::OwnPtr::operator==):
21569        (WTF::OwnPtr::operator!=):
21570        (WTF::::OwnPtr):
21571        (WTF::::clear):
21572        (WTF::::release):
21573        (WTF::::leakPtr):
21574        (WTF::=):
21575        (WTF::swap):
21576        (WTF::operator==):
21577        (WTF::operator!=):
21578        (WTF::getPtr):
21579        * wtf/OwnPtrCommon.h: Renamed from Source/JavaScriptCore/wtf/OwnPtrCommon.h.
21580        (WTF):
21581        (WTF::deleteOwnedPtr):
21582        * wtf/PackedIntVector.h: Renamed from Source/JavaScriptCore/wtf/PackedIntVector.h.
21583        (WTF):
21584        (PackedIntVector):
21585        (WTF::PackedIntVector::PackedIntVector):
21586        (WTF::PackedIntVector::operator=):
21587        (WTF::PackedIntVector::size):
21588        (WTF::PackedIntVector::ensureSize):
21589        (WTF::PackedIntVector::resize):
21590        (WTF::PackedIntVector::clearAll):
21591        (WTF::PackedIntVector::get):
21592        (WTF::PackedIntVector::set):
21593        (WTF::PackedIntVector::mask):
21594        * wtf/PageAllocation.h: Renamed from Source/JavaScriptCore/wtf/PageAllocation.h.
21595        (WTF):
21596        (PageAllocation):
21597        (WTF::PageAllocation::PageAllocation):
21598        (WTF::PageAllocation::operator bool):
21599        (WTF::PageAllocation::allocate):
21600        (WTF::PageAllocation::deallocate):
21601        * wtf/PageAllocationAligned.cpp: Renamed from Source/JavaScriptCore/wtf/PageAllocationAligned.cpp.
21602        (WTF):
21603        (WTF::PageAllocationAligned::allocate):
21604        (WTF::PageAllocationAligned::deallocate):
21605        * wtf/PageAllocationAligned.h: Renamed from Source/JavaScriptCore/wtf/PageAllocationAligned.h.
21606        (WTF):
21607        (PageAllocationAligned):
21608        (WTF::PageAllocationAligned::PageAllocationAligned):
21609        * wtf/PageBlock.cpp: Renamed from Source/JavaScriptCore/wtf/PageBlock.cpp.
21610        (WTF):
21611        (WTF::systemPageSize):
21612        (WTF::pageSize):
21613        (WTF::pageMask):
21614        * wtf/PageBlock.h: Renamed from Source/JavaScriptCore/wtf/PageBlock.h.
21615        (WTF):
21616        (WTF::isPageAligned):
21617        (WTF::isPowerOfTwo):
21618        (PageBlock):
21619        (WTF::PageBlock::base):
21620        (WTF::PageBlock::size):
21621        (WTF::PageBlock::operator bool):
21622        (WTF::PageBlock::contains):
21623        (WTF::PageBlock::PageBlock):
21624        * wtf/PageReservation.h: Renamed from Source/JavaScriptCore/wtf/PageReservation.h.
21625        (WTF):
21626        (PageReservation):
21627        (WTF::PageReservation::PageReservation):
21628        (WTF::PageReservation::operator bool):
21629        (WTF::PageReservation::commit):
21630        (WTF::PageReservation::decommit):
21631        (WTF::PageReservation::committed):
21632        (WTF::PageReservation::reserve):
21633        (WTF::PageReservation::reserveWithGuardPages):
21634        (WTF::PageReservation::deallocate):
21635        * wtf/ParallelJobs.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobs.h.
21636        (WTF):
21637        (ParallelJobs):
21638        (WTF::ParallelJobs::ParallelJobs):
21639        (WTF::ParallelJobs::numberOfJobs):
21640        (WTF::ParallelJobs::parameter):
21641        (WTF::ParallelJobs::execute):
21642        * wtf/ParallelJobsGeneric.cpp: Renamed from Source/JavaScriptCore/wtf/ParallelJobsGeneric.cpp.
21643        (WTF):
21644        (WTF::ParallelEnvironment::ParallelEnvironment):
21645        (WTF::ParallelEnvironment::execute):
21646        (WTF::ParallelEnvironment::ThreadPrivate::tryLockFor):
21647        (WTF::ParallelEnvironment::ThreadPrivate::execute):
21648        (WTF::ParallelEnvironment::ThreadPrivate::waitForFinish):
21649        (WTF::ParallelEnvironment::ThreadPrivate::workerThread):
21650        * wtf/ParallelJobsGeneric.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobsGeneric.h.
21651        (WTF):
21652        (ParallelEnvironment):
21653        (WTF::ParallelEnvironment::numberOfJobs):
21654        (ThreadPrivate):
21655        (WTF::ParallelEnvironment::ThreadPrivate::ThreadPrivate):
21656        (WTF::ParallelEnvironment::ThreadPrivate::create):
21657        * wtf/ParallelJobsLibdispatch.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobsLibdispatch.h.
21658        (WTF):
21659        (ParallelEnvironment):
21660        (WTF::ParallelEnvironment::ParallelEnvironment):
21661        (WTF::ParallelEnvironment::numberOfJobs):
21662        (WTF::ParallelEnvironment::execute):
21663        * wtf/ParallelJobsOpenMP.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobsOpenMP.h.
21664        (WTF):
21665        (ParallelEnvironment):
21666        (WTF::ParallelEnvironment::ParallelEnvironment):
21667        (WTF::ParallelEnvironment::numberOfJobs):
21668        (WTF::ParallelEnvironment::execute):
21669        * wtf/PassOwnArrayPtr.h: Renamed from Source/JavaScriptCore/wtf/PassOwnArrayPtr.h.
21670        (WTF):
21671        (PassOwnArrayPtr):
21672        (WTF::PassOwnArrayPtr::PassOwnArrayPtr):
21673        (WTF::PassOwnArrayPtr::~PassOwnArrayPtr):
21674        (WTF::PassOwnArrayPtr::get):
21675        (WTF::PassOwnArrayPtr::operator*):
21676        (WTF::PassOwnArrayPtr::operator->):
21677        (WTF::PassOwnArrayPtr::operator!):
21678        (WTF::PassOwnArrayPtr::operator UnspecifiedBoolType):
21679        (WTF::PassOwnArrayPtr::operator=):
21680        (WTF::::leakPtr):
21681        (WTF::operator==):
21682        (WTF::operator!=):
21683        (WTF::adoptArrayPtr):
21684        (WTF::deleteOwnedArrayPtr):
21685        (WTF::static_pointer_cast):
21686        (WTF::const_pointer_cast):
21687        (WTF::getPtr):
21688        * wtf/PassOwnPtr.h: Renamed from Source/JavaScriptCore/wtf/PassOwnPtr.h.
21689        (WTF):
21690        (PassOwnPtr):
21691        (WTF::PassOwnPtr::PassOwnPtr):
21692        (WTF::PassOwnPtr::~PassOwnPtr):
21693        (WTF::PassOwnPtr::get):
21694        (WTF::PassOwnPtr::operator*):
21695        (WTF::PassOwnPtr::operator->):
21696        (WTF::PassOwnPtr::operator!):
21697        (WTF::PassOwnPtr::operator UnspecifiedBoolType):
21698        (WTF::PassOwnPtr::operator=):
21699        (WTF::PassOwnPtr::operator==):
21700        (WTF::PassOwnPtr::operator!=):
21701        (WTF::::leakPtr):
21702        (WTF::operator==):
21703        (WTF::operator!=):
21704        (WTF::adoptPtr):
21705        (WTF::static_pointer_cast):
21706        (WTF::const_pointer_cast):
21707        (WTF::getPtr):
21708        * wtf/PassRefPtr.h: Renamed from Source/JavaScriptCore/wtf/PassRefPtr.h.
21709        (WTF):
21710        (WTF::adopted):
21711        (WTF::refIfNotNull):
21712        (WTF::derefIfNotNull):
21713        (PassRefPtr):
21714        (WTF::PassRefPtr::PassRefPtr):
21715        (WTF::PassRefPtr::~PassRefPtr):
21716        (WTF::PassRefPtr::get):
21717        (WTF::PassRefPtr::operator*):
21718        (WTF::PassRefPtr::operator->):
21719        (WTF::PassRefPtr::operator!):
21720        (WTF::PassRefPtr::operator UnspecifiedBoolType):
21721        (WTF::PassRefPtr::operator=):
21722        (NonNullPassRefPtr):
21723        (WTF::NonNullPassRefPtr::NonNullPassRefPtr):
21724        (WTF::NonNullPassRefPtr::~NonNullPassRefPtr):
21725        (WTF::NonNullPassRefPtr::get):
21726        (WTF::NonNullPassRefPtr::operator*):
21727        (WTF::NonNullPassRefPtr::operator->):
21728        (WTF::NonNullPassRefPtr::operator=):
21729        (WTF::::PassRefPtr):
21730        (WTF::::leakRef):
21731        (WTF::operator==):
21732        (WTF::operator!=):
21733        (WTF::adoptRef):
21734        (WTF::static_pointer_cast):
21735        (WTF::const_pointer_cast):
21736        (WTF::getPtr):
21737        * wtf/PassTraits.h: Renamed from Source/JavaScriptCore/wtf/PassTraits.h.
21738        (WTF):
21739        (PassTraits):
21740        (WTF::PassTraits::transfer):
21741        * wtf/PlatformBlackBerry.cmake: Renamed from Source/JavaScriptCore/wtf/PlatformBlackBerry.cmake.
21742        * wtf/PlatformEfl.cmake: Renamed from Source/JavaScriptCore/wtf/PlatformEfl.cmake.
21743        * wtf/PlatformWinCE.cmake: Renamed from Source/JavaScriptCore/wtf/PlatformWinCE.cmake.
21744        * wtf/PossiblyNull.h: Renamed from Source/JavaScriptCore/wtf/PossiblyNull.h.
21745        (WTF):
21746        (WTF::PossiblyNull::PossiblyNull):
21747        (WTF::PossiblyNull::~PossiblyNull):
21748        (PossiblyNull):
21749        (WTF::::getValue):
21750        * wtf/RandomNumber.cpp: Renamed from Source/JavaScriptCore/wtf/RandomNumber.cpp.
21751        (WTF):
21752        (WTF::randomNumber):
21753        * wtf/RandomNumber.h: Renamed from Source/JavaScriptCore/wtf/RandomNumber.h.
21754        (WTF):
21755        * wtf/RandomNumberSeed.h: Renamed from Source/JavaScriptCore/wtf/RandomNumberSeed.h.
21756        (WTF):
21757        (WTF::initializeRandomNumberGenerator):
21758        * wtf/RedBlackTree.h: Renamed from Source/JavaScriptCore/wtf/RedBlackTree.h.
21759        (WTF):
21760        (RedBlackTree):
21761        (Node):
21762        (WTF::RedBlackTree::Node::successor):
21763        (WTF::RedBlackTree::Node::predecessor):
21764        (WTF::RedBlackTree::Node::reset):
21765        (WTF::RedBlackTree::Node::parent):
21766        (WTF::RedBlackTree::Node::setParent):
21767        (WTF::RedBlackTree::Node::left):
21768        (WTF::RedBlackTree::Node::setLeft):
21769        (WTF::RedBlackTree::Node::right):
21770        (WTF::RedBlackTree::Node::setRight):
21771        (WTF::RedBlackTree::Node::color):
21772        (WTF::RedBlackTree::Node::setColor):
21773        (WTF::RedBlackTree::RedBlackTree):
21774        (WTF::RedBlackTree::insert):
21775        (WTF::RedBlackTree::remove):
21776        (WTF::RedBlackTree::findExact):
21777        (WTF::RedBlackTree::findLeastGreaterThanOrEqual):
21778        (WTF::RedBlackTree::findGreatestLessThanOrEqual):
21779        (WTF::RedBlackTree::first):
21780        (WTF::RedBlackTree::last):
21781        (WTF::RedBlackTree::size):
21782        (WTF::RedBlackTree::isEmpty):
21783        (WTF::RedBlackTree::treeMinimum):
21784        (WTF::RedBlackTree::treeMaximum):
21785        (WTF::RedBlackTree::treeInsert):
21786        (WTF::RedBlackTree::leftRotate):
21787        (WTF::RedBlackTree::rightRotate):
21788        (WTF::RedBlackTree::removeFixup):
21789        * wtf/RefCounted.h: Renamed from Source/JavaScriptCore/wtf/RefCounted.h.
21790        (WTF):
21791        (RefCountedBase):
21792        (WTF::RefCountedBase::ref):
21793        (WTF::RefCountedBase::hasOneRef):
21794        (WTF::RefCountedBase::refCount):
21795        (WTF::RefCountedBase::turnOffVerifier):
21796        (WTF::RefCountedBase::relaxAdoptionRequirement):
21797        (WTF::RefCountedBase::addressOfCount):
21798        (WTF::RefCountedBase::RefCountedBase):
21799        (WTF::RefCountedBase::~RefCountedBase):
21800        (WTF::RefCountedBase::derefBase):
21801        (WTF::RefCountedBase::deletionHasBegun):
21802        (WTF::adopted):
21803        (RefCounted):
21804        (WTF::RefCounted::deref):
21805        (WTF::RefCounted::RefCounted):
21806        (WTF::RefCounted::~RefCounted):
21807        (RefCountedCustomAllocated):
21808        (WTF::RefCountedCustomAllocated::deref):
21809        (WTF::RefCountedCustomAllocated::~RefCountedCustomAllocated):
21810        (WTF::RefCountedBase::setMutexForVerifier):
21811        (WTF::RefCountedBase::setDispatchQueueForVerifier):
21812        * wtf/RefCountedArray.h: Renamed from Source/JavaScriptCore/wtf/RefCountedArray.h.
21813        (WTF):
21814        (RefCountedArray):
21815        (WTF::RefCountedArray::RefCountedArray):
21816        (WTF::RefCountedArray::operator=):
21817        (WTF::RefCountedArray::~RefCountedArray):
21818        (WTF::RefCountedArray::size):
21819        (WTF::RefCountedArray::data):
21820        (WTF::RefCountedArray::begin):
21821        (WTF::RefCountedArray::end):
21822        (WTF::RefCountedArray::at):
21823        (WTF::RefCountedArray::operator[]):
21824        (Header):
21825        (WTF::RefCountedArray::Header::size):
21826        (WTF::RefCountedArray::Header::payload):
21827        (WTF::RefCountedArray::Header::fromPayload):
21828        * wtf/RefCountedLeakCounter.cpp: Renamed from Source/JavaScriptCore/wtf/RefCountedLeakCounter.cpp.
21829        (WTF):
21830        (WTF::RefCountedLeakCounter::suppressMessages):
21831        (WTF::RefCountedLeakCounter::cancelMessageSuppression):
21832        (WTF::RefCountedLeakCounter::RefCountedLeakCounter):
21833        (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
21834        (WTF::RefCountedLeakCounter::increment):
21835        (WTF::RefCountedLeakCounter::decrement):
21836        * wtf/RefCountedLeakCounter.h: Renamed from Source/JavaScriptCore/wtf/RefCountedLeakCounter.h.
21837        (WTF):
21838        (RefCountedLeakCounter):
21839        * wtf/RefPtr.h: Renamed from Source/JavaScriptCore/wtf/RefPtr.h.
21840        (WTF):
21841        (RefPtr):
21842        (WTF::RefPtr::RefPtr):
21843        (WTF::RefPtr::isHashTableDeletedValue):
21844        (WTF::RefPtr::~RefPtr):
21845        (WTF::RefPtr::get):
21846        (WTF::RefPtr::release):
21847        (WTF::RefPtr::operator*):
21848        (WTF::RefPtr::operator->):
21849        (WTF::RefPtr::operator!):
21850        (WTF::RefPtr::operator UnspecifiedBoolType):
21851        (WTF::RefPtr::operator=):
21852        (WTF::RefPtr::hashTableDeletedValue):
21853        (WTF::::RefPtr):
21854        (WTF::::clear):
21855        (WTF::=):
21856        (WTF::::swap):
21857        (WTF::swap):
21858        (WTF::operator==):
21859        (WTF::operator!=):
21860        (WTF::static_pointer_cast):
21861        (WTF::const_pointer_cast):
21862        (WTF::getPtr):
21863        * wtf/RefPtrHashMap.h: Renamed from Source/JavaScriptCore/wtf/RefPtrHashMap.h.
21864        (WTF):
21865        (WTF::::swap):
21866        (WTF::::size):
21867        (WTF::::capacity):
21868        (WTF::::isEmpty):
21869        (WTF::::begin):
21870        (WTF::::end):
21871        (WTF::::find):
21872        (WTF::::contains):
21873        (WTF::::inlineAdd):
21874        (WTF::::set):
21875        (WTF::::add):
21876        (WTF::::get):
21877        (WTF::::inlineGet):
21878        (WTF::::remove):
21879        (WTF::::clear):
21880        (WTF::::take):
21881        * wtf/RetainPtr.h: Renamed from Source/JavaScriptCore/wtf/RetainPtr.h.
21882        (WTF):
21883        (WTF::adoptNSReference):
21884        (RetainPtr):
21885        (WTF::RetainPtr::RetainPtr):
21886        (WTF::RetainPtr::isHashTableDeletedValue):
21887        (WTF::RetainPtr::~RetainPtr):
21888        (WTF::RetainPtr::get):
21889        (WTF::RetainPtr::operator->):
21890        (WTF::RetainPtr::operator!):
21891        (WTF::RetainPtr::operator UnspecifiedBoolType):
21892        (WTF::RetainPtr::operator=):
21893        (WTF::RetainPtr::hashTableDeletedValue):
21894        (WTF::::RetainPtr):
21895        (WTF::::clear):
21896        (WTF::::leakRef):
21897        (WTF::=):
21898        (WTF::::adoptCF):
21899        (WTF::::adoptNS):
21900        (WTF::::swap):
21901        (WTF::swap):
21902        (WTF::operator==):
21903        (WTF::operator!=):
21904        (WTF::adoptCF):
21905        (WTF::adoptNS):
21906        (WTF::retainPtr):
21907        * wtf/SHA1.cpp: Renamed from Source/JavaScriptCore/wtf/SHA1.cpp.
21908        (WTF):
21909        (WTF::testSHA1):
21910        (WTF::expectSHA1):
21911        (WTF::f):
21912        (WTF::k):
21913        (WTF::rotateLeft):
21914        (WTF::SHA1::SHA1):
21915        (WTF::SHA1::addBytes):
21916        (WTF::SHA1::computeHash):
21917        (WTF::SHA1::finalize):
21918        (WTF::SHA1::processBlock):
21919        (WTF::SHA1::reset):
21920        * wtf/SHA1.h: Renamed from Source/JavaScriptCore/wtf/SHA1.h.
21921        (WTF):
21922        (SHA1):
21923        (WTF::SHA1::addBytes):
21924        * wtf/SegmentedVector.h: Renamed from Source/JavaScriptCore/wtf/SegmentedVector.h.
21925        (WTF):
21926        (SegmentedVectorIterator):
21927        (WTF::SegmentedVectorIterator::~SegmentedVectorIterator):
21928        (WTF::SegmentedVectorIterator::operator*):
21929        (WTF::SegmentedVectorIterator::operator->):
21930        (WTF::SegmentedVectorIterator::operator++):
21931        (WTF::SegmentedVectorIterator::operator==):
21932        (WTF::SegmentedVectorIterator::operator!=):
21933        (WTF::SegmentedVectorIterator::operator=):
21934        (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
21935        (SegmentedVector):
21936        (WTF::SegmentedVector::SegmentedVector):
21937        (WTF::SegmentedVector::~SegmentedVector):
21938        (WTF::SegmentedVector::size):
21939        (WTF::SegmentedVector::isEmpty):
21940        (WTF::SegmentedVector::at):
21941        (WTF::SegmentedVector::operator[]):
21942        (WTF::SegmentedVector::last):
21943        (WTF::SegmentedVector::append):
21944        (WTF::SegmentedVector::alloc):
21945        (WTF::SegmentedVector::removeLast):
21946        (WTF::SegmentedVector::grow):
21947        (WTF::SegmentedVector::clear):
21948        (WTF::SegmentedVector::begin):
21949        (WTF::SegmentedVector::end):
21950        (WTF::SegmentedVector::deleteAllSegments):
21951        (WTF::SegmentedVector::segmentExistsFor):
21952        (WTF::SegmentedVector::segmentFor):
21953        (WTF::SegmentedVector::subscriptFor):
21954        (WTF::SegmentedVector::ensureSegmentsFor):
21955        (WTF::SegmentedVector::ensureSegment):
21956        * wtf/SentinelLinkedList.h: Renamed from Source/JavaScriptCore/wtf/SentinelLinkedList.h.
21957        (WTF):
21958        (BasicRawSentinelNode):
21959        (WTF::BasicRawSentinelNode::BasicRawSentinelNode):
21960        (WTF::BasicRawSentinelNode::setPrev):
21961        (WTF::BasicRawSentinelNode::setNext):
21962        (WTF::BasicRawSentinelNode::prev):
21963        (WTF::BasicRawSentinelNode::next):
21964        (WTF::BasicRawSentinelNode::isOnList):
21965        (SentinelLinkedList):
21966        (WTF::SentinelLinkedList::isEmpty):
21967        (WTF::::remove):
21968        (WTF::::SentinelLinkedList):
21969        (WTF::::begin):
21970        (WTF::::end):
21971        (WTF::::push):
21972        * wtf/SimpleStats.h: Renamed from Source/JavaScriptCore/wtf/SimpleStats.h.
21973        (WTF):
21974        (SimpleStats):
21975        (WTF::SimpleStats::SimpleStats):
21976        (WTF::SimpleStats::add):
21977        (WTF::SimpleStats::operator!):
21978        (WTF::SimpleStats::count):
21979        (WTF::SimpleStats::sum):
21980        (WTF::SimpleStats::sumOfSquares):
21981        (WTF::SimpleStats::mean):
21982        (WTF::SimpleStats::variance):
21983        (WTF::SimpleStats::standardDeviation):
21984        * wtf/SinglyLinkedList.h: Renamed from Source/JavaScriptCore/wtf/SinglyLinkedList.h.
21985        (WTF):
21986        (SinglyLinkedList):
21987        (WTF::::SinglyLinkedList):
21988        (WTF::::isEmpty):
21989        (WTF::::push):
21990        (WTF::::pop):
21991        * wtf/SizeLimits.cpp: Renamed from Source/JavaScriptCore/wtf/SizeLimits.cpp.
21992        (WTF):
21993        (SameSizeAsRefCounted):
21994        * wtf/Spectrum.h: Renamed from Source/JavaScriptCore/wtf/Spectrum.h.
21995        (WTF):
21996        (Spectrum):
21997        (WTF::Spectrum::Spectrum):
21998        (WTF::Spectrum::add):
21999        (WTF::Spectrum::get):
22000        (WTF::Spectrum::begin):
22001        (WTF::Spectrum::end):
22002        (WTF::Spectrum::KeyAndCount::KeyAndCount):
22003        (KeyAndCount):
22004        (WTF::Spectrum::KeyAndCount::operator<):
22005        (WTF::Spectrum::buildList):
22006        * wtf/StackBounds.cpp: Renamed from Source/JavaScriptCore/wtf/StackBounds.cpp.
22007        (WTF):
22008        (WTF::estimateStackBound):
22009        (WTF::StackBounds::initialize):
22010        (WTF::detectGrowingDownward):
22011        (WTF::isPageWritable):
22012        (WTF::getLowerStackBound):
22013        (WTF::getUpperStackBound):
22014        * wtf/StackBounds.h: Renamed from Source/JavaScriptCore/wtf/StackBounds.h.
22015        (WTF):
22016        (StackBounds):
22017        (WTF::StackBounds::StackBounds):
22018        (WTF::StackBounds::currentThreadStackBounds):
22019        (WTF::StackBounds::origin):
22020        (WTF::StackBounds::current):
22021        (WTF::StackBounds::recursionLimit):
22022        (WTF::StackBounds::recursionCheck):
22023        (WTF::StackBounds::isGrowingDownward):
22024        (WTF::StackBounds::checkConsistency):
22025        * wtf/StaticConstructors.h: Renamed from Source/JavaScriptCore/wtf/StaticConstructors.h.
22026        * wtf/StdLibExtras.h: Renamed from Source/JavaScriptCore/wtf/StdLibExtras.h.
22027        (isPointerTypeAlignmentOkay):
22028        (reinterpret_cast_ptr):
22029        (WTF):
22030        (WTF::isPointerAligned):
22031        (WTF::is8ByteAligned):
22032        (WTF::bitwise_cast):
22033        (WTF::safeCast):
22034        (WTF::bitCount):
22035        (WTF::roundUpToMultipleOf):
22036        (WTF::binarySearch):
22037        (WTF::binarySearchWithFunctor):
22038        (WTF::genericBinarySearch):
22039        (operator new):
22040        * wtf/StringExtras.cpp: Renamed from Source/JavaScriptCore/wtf/StringExtras.cpp.
22041        (strcasecmp):
22042        (strncasecmp):
22043        * wtf/StringExtras.h: Renamed from Source/JavaScriptCore/wtf/StringExtras.h.
22044        (snprintf):
22045        (wtf_vsnprintf):
22046        (strnicmp):
22047        (stricmp):
22048        (strdup):
22049        (strncasecmp):
22050        (strcasecmp):
22051        (strnstr):
22052        * wtf/StringHasher.h: Renamed from Source/JavaScriptCore/wtf/StringHasher.h.
22053        (WTF):
22054        (StringHasher):
22055        (WTF::StringHasher::StringHasher):
22056        (WTF::StringHasher::addCharacters):
22057        (WTF::StringHasher::addCharacter):
22058        (WTF::StringHasher::hash):
22059        (WTF::StringHasher::computeHash):
22060        (WTF::StringHasher::hashMemory):
22061        (WTF::StringHasher::defaultConverter):
22062        (WTF::StringHasher::addCharactersToHash):
22063        * wtf/TCPackedCache.h: Renamed from Source/JavaScriptCore/wtf/TCPackedCache.h.
22064        (PackedCache):
22065        (PackedCache::PackedCache):
22066        (PackedCache::Put):
22067        (PackedCache::Has):
22068        (PackedCache::GetOrDefault):
22069        (PackedCache::Clear):
22070        (PackedCache::EntryToValue):
22071        (PackedCache::EntryToUpper):
22072        (PackedCache::KeyToUpper):
22073        (PackedCache::UpperToPartialKey):
22074        (PackedCache::Hash):
22075        (PackedCache::KeyMatch):
22076        * wtf/TCPageMap.h: Renamed from Source/JavaScriptCore/wtf/TCPageMap.h.
22077        (TCMalloc_PageMap1):
22078        (TCMalloc_PageMap1::init):
22079        (TCMalloc_PageMap1::Ensure):
22080        (TCMalloc_PageMap1::PreallocateMoreMemory):
22081        (TCMalloc_PageMap1::get):
22082        (TCMalloc_PageMap1::set):
22083        (TCMalloc_PageMap2):
22084        (Leaf):
22085        (TCMalloc_PageMap2::init):
22086        (TCMalloc_PageMap2::get):
22087        (TCMalloc_PageMap2::set):
22088        (TCMalloc_PageMap2::Ensure):
22089        (TCMalloc_PageMap2::PreallocateMoreMemory):
22090        (TCMalloc_PageMap2::visitValues):
22091        (TCMalloc_PageMap2::visitAllocations):
22092        (TCMalloc_PageMap3):
22093        (Node):
22094        (TCMalloc_PageMap3::NewNode):
22095        (TCMalloc_PageMap3::init):
22096        (TCMalloc_PageMap3::get):
22097        (TCMalloc_PageMap3::set):
22098        (TCMalloc_PageMap3::Ensure):
22099        (TCMalloc_PageMap3::PreallocateMoreMemory):
22100        (TCMalloc_PageMap3::visitValues):
22101        (TCMalloc_PageMap3::visitAllocations):
22102        * wtf/TCSpinLock.h: Renamed from Source/JavaScriptCore/wtf/TCSpinLock.h.
22103        (TCMalloc_SpinLock):
22104        (TCMalloc_SpinLock::Lock):
22105        (TCMalloc_SpinLock::Unlock):
22106        (TCMalloc_SpinLock::IsHeld):
22107        (TCMalloc_SpinLock::Init):
22108        (TCMalloc_SpinLock::Finalize):
22109        (TCMalloc_SlowLock):
22110        (TCMalloc_SpinLockHolder):
22111        (TCMalloc_SpinLockHolder::TCMalloc_SpinLockHolder):
22112        (TCMalloc_SpinLockHolder::~TCMalloc_SpinLockHolder):
22113        * wtf/TCSystemAlloc.cpp: Renamed from Source/JavaScriptCore/wtf/TCSystemAlloc.cpp.
22114        (TrySbrk):
22115        (TryMmap):
22116        (TryVirtualAlloc):
22117        (TryDevMem):
22118        (TCMalloc_SystemAlloc):
22119        (TCMalloc_SystemRelease):
22120        (TCMalloc_SystemCommit):
22121        * wtf/TCSystemAlloc.h: Renamed from Source/JavaScriptCore/wtf/TCSystemAlloc.h.
22122        (TCMalloc_SystemRelease):
22123        (TCMalloc_SystemCommit):
22124        * wtf/TemporaryChange.h: Renamed from Source/JavaScriptCore/wtf/TemporaryChange.h.
22125        (WTF):
22126        (TemporaryChange):
22127        (WTF::TemporaryChange::TemporaryChange):
22128        (WTF::TemporaryChange::~TemporaryChange):
22129        * wtf/ThreadFunctionInvocation.h: Renamed from Source/JavaScriptCore/wtf/ThreadFunctionInvocation.h.
22130        (WTF):
22131        (WTF::ThreadFunctionInvocation::ThreadFunctionInvocation):
22132        (ThreadFunctionInvocation):
22133        * wtf/ThreadIdentifierDataPthreads.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.cpp.
22134        (WTF):
22135        (WTF::ThreadIdentifierData::~ThreadIdentifierData):
22136        (WTF::ThreadIdentifierData::initializeOnce):
22137        (WTF::ThreadIdentifierData::identifier):
22138        (WTF::ThreadIdentifierData::initialize):
22139        (WTF::ThreadIdentifierData::destruct):
22140        * wtf/ThreadIdentifierDataPthreads.h: Renamed from Source/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.h.
22141        (WTF):
22142        (ThreadIdentifierData):
22143        (WTF::ThreadIdentifierData::ThreadIdentifierData):
22144        * wtf/ThreadRestrictionVerifier.h: Renamed from Source/JavaScriptCore/wtf/ThreadRestrictionVerifier.h.
22145        (WTF):
22146        (ThreadRestrictionVerifier):
22147        (WTF::ThreadRestrictionVerifier::ThreadRestrictionVerifier):
22148        (WTF::ThreadRestrictionVerifier::~ThreadRestrictionVerifier):
22149        (WTF::ThreadRestrictionVerifier::setMutexMode):
22150        (WTF::ThreadRestrictionVerifier::setDispatchQueueMode):
22151        (WTF::ThreadRestrictionVerifier::turnOffVerification):
22152        (WTF::ThreadRestrictionVerifier::setShared):
22153        (WTF::ThreadRestrictionVerifier::isSafeToUse):
22154        * wtf/ThreadSafeRefCounted.h: Renamed from Source/JavaScriptCore/wtf/ThreadSafeRefCounted.h.
22155        (WTF):
22156        (ThreadSafeRefCountedBase):
22157        (WTF::ThreadSafeRefCountedBase::ThreadSafeRefCountedBase):
22158        (WTF::ThreadSafeRefCountedBase::ref):
22159        (WTF::ThreadSafeRefCountedBase::hasOneRef):
22160        (WTF::ThreadSafeRefCountedBase::refCount):
22161        (WTF::ThreadSafeRefCountedBase::derefBase):
22162        (ThreadSafeRefCounted):
22163        (WTF::ThreadSafeRefCounted::deref):
22164        (WTF::ThreadSafeRefCounted::ThreadSafeRefCounted):
22165        * wtf/ThreadSpecific.h: Renamed from Source/JavaScriptCore/wtf/ThreadSpecific.h.
22166        (WTF):
22167        (ThreadSpecific):
22168        (Data):
22169        (WTF::ThreadSpecific::Data::Data):
22170        (WTF::::ThreadSpecific):
22171        (WTF::::get):
22172        (WTF::::set):
22173        (WTF::::~ThreadSpecific):
22174        (WTF::::destroy):
22175        (WTF::::isSet):
22176        (WTF::T):
22177        (WTF::::operator):
22178        * wtf/ThreadSpecificWin.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadSpecificWin.cpp.
22179        (WTF):
22180        (WTF::tlsKeyCount):
22181        (WTF::tlsKeys):
22182        (WTF::ThreadSpecificThreadExit):
22183        * wtf/Threading.cpp: Renamed from Source/JavaScriptCore/wtf/Threading.cpp.
22184        (WTF):
22185        (NewThreadContext):
22186        (WTF::NewThreadContext::NewThreadContext):
22187        (WTF::threadEntryPoint):
22188        (WTF::createThread):
22189        (WTF::ThreadFunctionWithReturnValueInvocation::ThreadFunctionWithReturnValueInvocation):
22190        (ThreadFunctionWithReturnValueInvocation):
22191        (WTF::compatEntryPoint):
22192        (WTF::waitForThreadCompletion):
22193        * wtf/Threading.h: Renamed from Source/JavaScriptCore/wtf/Threading.h.
22194        (WTF):
22195        * wtf/ThreadingNone.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadingNone.cpp.
22196        * wtf/ThreadingPrimitives.h: Renamed from Source/JavaScriptCore/wtf/ThreadingPrimitives.h.
22197        (WTF):
22198        (PlatformMutex):
22199        (PlatformCondition):
22200        (Mutex):
22201        (WTF::Mutex::impl):
22202        (ReadWriteLock):
22203        (ThreadCondition):
22204        * wtf/ThreadingPthreads.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadingPthreads.cpp.
22205        (WTF):
22206        (WTF::threadMapMutex):
22207        (WTF::initializeThreading):
22208        (WTF::lockAtomicallyInitializedStaticMutex):
22209        (WTF::unlockAtomicallyInitializedStaticMutex):
22210        (WTF::threadMap):
22211        (WTF::identifierByPthreadHandle):
22212        (WTF::establishIdentifierForPthreadHandle):
22213        (WTF::pthreadHandleForIdentifier):
22214        (WTF::clearPthreadHandleForIdentifier):
22215        (WTF::wtfThreadEntryPoint):
22216        (WTF::createThreadInternal):
22217        (WTF::initializeCurrentThreadInternal):
22218        (WTF::waitForThreadCompletion):
22219        (WTF::detachThread):
22220        (WTF::yield):
22221        (WTF::currentThread):
22222        (WTF::Mutex::Mutex):
22223        (WTF::Mutex::~Mutex):
22224        (WTF::Mutex::lock):
22225        (WTF::Mutex::tryLock):
22226        (WTF::Mutex::unlock):
22227        (WTF::ReadWriteLock::ReadWriteLock):
22228        (WTF::ReadWriteLock::~ReadWriteLock):
22229        (WTF::ReadWriteLock::readLock):
22230        (WTF::ReadWriteLock::tryReadLock):
22231        (WTF::ReadWriteLock::writeLock):
22232        (WTF::ReadWriteLock::tryWriteLock):
22233        (WTF::ReadWriteLock::unlock):
22234        (WTF::ThreadCondition::ThreadCondition):
22235        (WTF::ThreadCondition::~ThreadCondition):
22236        (WTF::ThreadCondition::wait):
22237        (WTF::ThreadCondition::timedWait):
22238        (WTF::ThreadCondition::signal):
22239        (WTF::ThreadCondition::broadcast):
22240        * wtf/ThreadingWin.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadingWin.cpp.
22241        (WTF):
22242        (tagTHREADNAME_INFO):
22243        (WTF::initializeCurrentThreadInternal):
22244        (WTF::lockAtomicallyInitializedStaticMutex):
22245        (WTF::unlockAtomicallyInitializedStaticMutex):
22246        (WTF::threadMapMutex):
22247        (WTF::initializeThreading):
22248        (WTF::threadMap):
22249        (WTF::storeThreadHandleByIdentifier):
22250        (WTF::threadHandleForIdentifier):
22251        (WTF::clearThreadHandleForIdentifier):
22252        (WTF::wtfThreadEntryPoint):
22253        (WTF::createThreadInternal):
22254        (WTF::waitForThreadCompletion):
22255        (WTF::detachThread):
22256        (WTF::yield):
22257        (WTF::currentThread):
22258        (WTF::Mutex::Mutex):
22259        (WTF::Mutex::~Mutex):
22260        (WTF::Mutex::lock):
22261        (WTF::Mutex::tryLock):
22262        (WTF::Mutex::unlock):
22263        (WTF::PlatformCondition::timedWait):
22264        (WTF::PlatformCondition::signal):
22265        (WTF::ThreadCondition::ThreadCondition):
22266        (WTF::ThreadCondition::~ThreadCondition):
22267        (WTF::ThreadCondition::wait):
22268        (WTF::ThreadCondition::timedWait):
22269        (WTF::ThreadCondition::signal):
22270        (WTF::ThreadCondition::broadcast):
22271        (WTF::absoluteTimeToWaitTimeoutInterval):
22272        * wtf/TypeTraits.cpp: Renamed from Source/JavaScriptCore/wtf/TypeTraits.cpp.
22273        (WTF):
22274        * wtf/TypeTraits.h: Renamed from Source/JavaScriptCore/wtf/TypeTraits.h.
22275        (WTF):
22276        (IsConvertibleToInteger):
22277        (IsArray):
22278        (IsSameType):
22279        (IsSubclass):
22280        (NoType):
22281        (IsSubclassOfTemplate):
22282        (RemoveTemplate):
22283        (RemoveConst):
22284        (RemoveVolatile):
22285        (RemoveConstVolatile):
22286        (RemovePointer):
22287        (RemoveReference):
22288        (RemoveExtent):
22289        (DecayArray):
22290        (IntegralConstant):
22291        * wtf/TypedArrayBase.h: Renamed from Source/JavaScriptCore/wtf/TypedArrayBase.h.
22292        (WTF):
22293        (TypedArrayBase):
22294        (WTF::TypedArrayBase::data):
22295        (WTF::TypedArrayBase::set):
22296        (WTF::TypedArrayBase::setRange):
22297        (WTF::TypedArrayBase::zeroRange):
22298        (WTF::TypedArrayBase::length):
22299        (WTF::TypedArrayBase::byteLength):
22300        (WTF::TypedArrayBase::TypedArrayBase):
22301        (WTF::TypedArrayBase::create):
22302        (WTF::TypedArrayBase::subarrayImpl):
22303        (WTF::TypedArrayBase::neuter):
22304        * wtf/Uint16Array.h: Renamed from Source/JavaScriptCore/wtf/Uint16Array.h.
22305        (WTF):
22306        (Uint16Array):
22307        (WTF::Uint16Array::set):
22308        (WTF::Uint16Array::isUnsignedShortArray):
22309        (WTF::Uint16Array::create):
22310        (WTF::Uint16Array::Uint16Array):
22311        (WTF::Uint16Array::subarray):
22312        * wtf/Uint32Array.h: Renamed from Source/JavaScriptCore/wtf/Uint32Array.h.
22313        (WTF):
22314        (Uint32Array):
22315        (WTF::Uint32Array::set):
22316        (WTF::Uint32Array::isUnsignedIntArray):
22317        (WTF::Uint32Array::create):
22318        (WTF::Uint32Array::Uint32Array):
22319        (WTF::Uint32Array::subarray):
22320        * wtf/Uint8Array.h: Renamed from Source/JavaScriptCore/wtf/Uint8Array.h.
22321        (WTF):
22322        (Uint8Array):
22323        (WTF::Uint8Array::set):
22324        (WTF::Uint8Array::isUnsignedByteArray):
22325        (WTF::Uint8Array::create):
22326        (WTF::Uint8Array::Uint8Array):
22327        (WTF::Uint8Array::subarray):
22328        * wtf/Uint8ClampedArray.h: Renamed from Source/JavaScriptCore/wtf/Uint8ClampedArray.h.
22329        (WTF):
22330        (Uint8ClampedArray):
22331        (WTF::Uint8ClampedArray::set):
22332        (WTF::Uint8ClampedArray::isUnsignedByteClampedArray):
22333        (WTF::Uint8ClampedArray::create):
22334        (WTF::Uint8ClampedArray::Uint8ClampedArray):
22335        (WTF::Uint8ClampedArray::subarray):
22336        * wtf/UnionFind.h: Renamed from Source/JavaScriptCore/wtf/UnionFind.h.
22337        (WTF):
22338        (UnionFind):
22339        (WTF::UnionFind::UnionFind):
22340        (WTF::UnionFind::find):
22341        (WTF::UnionFind::unify):
22342        * wtf/UnusedParam.h: Renamed from Source/JavaScriptCore/wtf/UnusedParam.h.
22343        (unusedParam):
22344        * wtf/VMTags.h: Renamed from Source/JavaScriptCore/wtf/VMTags.h.
22345        * wtf/ValueCheck.h: Renamed from Source/JavaScriptCore/wtf/ValueCheck.h.
22346        (WTF):
22347        (ValueCheck):
22348        (WTF::ValueCheck::checkConsistency):
22349        * wtf/Vector.h: Renamed from Source/JavaScriptCore/wtf/Vector.h.
22350        (WTF):
22351        (WTF::VectorTypeOperations::destruct):
22352        (VectorTypeOperations):
22353        (WTF::VectorTypeOperations::initialize):
22354        (WTF::VectorTypeOperations::move):
22355        (WTF::VectorTypeOperations::moveOverlapping):
22356        (WTF::VectorTypeOperations::uninitializedCopy):
22357        (WTF::VectorTypeOperations::uninitializedFill):
22358        (WTF::VectorTypeOperations::compare):
22359        (VectorBufferBase):
22360        (WTF::VectorBufferBase::allocateBuffer):
22361        (WTF::VectorBufferBase::tryAllocateBuffer):
22362        (WTF::VectorBufferBase::deallocateBuffer):
22363        (WTF::VectorBufferBase::buffer):
22364        (WTF::VectorBufferBase::bufferSlot):
22365        (WTF::VectorBufferBase::capacity):
22366        (WTF::VectorBufferBase::releaseBuffer):
22367        (WTF::VectorBufferBase::VectorBufferBase):
22368        (WTF::VectorBufferBase::~VectorBufferBase):
22369        (VectorBuffer):
22370        (WTF::VectorBuffer::VectorBuffer):
22371        (WTF::VectorBuffer::~VectorBuffer):
22372        (WTF::VectorBuffer::allocateBuffer):
22373        (WTF::VectorBuffer::tryAllocateBuffer):
22374        (WTF::VectorBuffer::deallocateBuffer):
22375        (WTF::VectorBuffer::swap):
22376        (WTF::VectorBuffer::restoreInlineBufferIfNeeded):
22377        (WTF::VectorBuffer::releaseBuffer):
22378        (WTF::VectorBuffer::inlineBuffer):
22379        (Vector):
22380        (WTF::Vector::Vector):
22381        (WTF::Vector::~Vector):
22382        (WTF::Vector::size):
22383        (WTF::Vector::capacity):
22384        (WTF::Vector::isEmpty):
22385        (WTF::Vector::at):
22386        (WTF::Vector::operator[]):
22387        (WTF::Vector::data):
22388        (WTF::Vector::dataSlot):
22389        (WTF::Vector::begin):
22390        (WTF::Vector::end):
22391        (WTF::Vector::rbegin):
22392        (WTF::Vector::rend):
22393        (WTF::Vector::reversed):
22394        (WTF::Vector::first):
22395        (WTF::Vector::last):
22396        (WTF::Vector::shrinkToFit):
22397        (WTF::Vector::clear):
22398        (WTF::Vector::removeLast):
22399        (WTF::Vector::fill):
22400        (WTF::Vector::swap):
22401        (VectorReverseProxy):
22402        (WTF::Vector::VectorReverseProxy::begin):
22403        (WTF::Vector::VectorReverseProxy::end):
22404        (WTF::operator<<):
22405        (WTF::operator>>):
22406        (WTF::::Vector):
22407        (WTF::=):
22408        (WTF::typelessPointersAreEqual):
22409        (WTF::::contains):
22410        (WTF::::find):
22411        (WTF::::reverseFind):
22412        (WTF::::fill):
22413        (WTF::::appendRange):
22414        (WTF::::expandCapacity):
22415        (WTF::::tryExpandCapacity):
22416        (WTF::::resize):
22417        (WTF::::shrink):
22418        (WTF::::grow):
22419        (WTF::::reserveCapacity):
22420        (WTF::::tryReserveCapacity):
22421        (WTF::::reserveInitialCapacity):
22422        (WTF::::shrinkCapacity):
22423        (WTF::::append):
22424        (WTF::::tryAppend):
22425        (WTF::::appendSlowCase):
22426        (WTF::::uncheckedAppend):
22427        (WTF::::insert):
22428        (WTF::::prepend):
22429        (WTF::::remove):
22430        (WTF::::reverse):
22431        (WTF::::releaseBuffer):
22432        (WTF::::checkConsistency):
22433        (WTF::deleteAllValues):
22434        (WTF::swap):
22435        (WTF::operator==):
22436        (WTF::operator!=):
22437        * wtf/VectorTraits.h: Renamed from Source/JavaScriptCore/wtf/VectorTraits.h.
22438        (WTF):
22439        (SimpleClassVectorTraits):
22440        * wtf/WTFThreadData.cpp: Renamed from Source/JavaScriptCore/wtf/WTFThreadData.cpp.
22441        (WTF):
22442        (WTF::WTFThreadData::WTFThreadData):
22443        (WTF::WTFThreadData::~WTFThreadData):
22444        (JSC):
22445        (JSC::IdentifierTable::~IdentifierTable):
22446        (JSC::IdentifierTable::add):
22447        * wtf/WTFThreadData.h: Renamed from Source/JavaScriptCore/wtf/WTFThreadData.h.
22448        (JSC):
22449        (IdentifierTable):
22450        (JSC::IdentifierTable::remove):
22451        (JSC::IdentifierTable::literalTable):
22452        (WTF):
22453        (WTFThreadData):
22454        (WTF::WTFThreadData::atomicStringTable):
22455        (WTF::WTFThreadData::currentIdentifierTable):
22456        (WTF::WTFThreadData::setCurrentIdentifierTable):
22457        (WTF::WTFThreadData::resetCurrentIdentifierTable):
22458        (WTF::WTFThreadData::stack):
22459        (WTF::wtfThreadData):
22460        * wtf/blackberry/MainThreadBlackBerry.cpp: Renamed from Source/JavaScriptCore/wtf/blackberry/MainThreadBlackBerry.cpp.
22461        (WTF):
22462        (WTF::initializeMainThreadPlatform):
22463        (WTF::scheduleDispatchFunctionsOnMainThread):
22464        * wtf/chromium/ChromiumThreading.h: Renamed from Source/JavaScriptCore/wtf/chromium/ChromiumThreading.h.
22465        (WTF):
22466        (ChromiumThreading):
22467        * wtf/chromium/MainThreadChromium.cpp: Renamed from Source/JavaScriptCore/wtf/chromium/MainThreadChromium.cpp.
22468        (WTF):
22469        (WTF::initializeMainThread):
22470        (WTF::callOnMainThread):
22471        (WTF::callOnMainThreadAndWait):
22472        (WTF::setMainThreadCallbacksPaused):
22473        (WTF::isMainThread):
22474        * wtf/dtoa.cpp: Renamed from Source/JavaScriptCore/wtf/dtoa.cpp.
22475        (WTF):
22476        (WTF::storeInc):
22477        (WTF::BigInt::BigInt):
22478        (BigInt):
22479        (WTF::BigInt::clear):
22480        (WTF::BigInt::size):
22481        (WTF::BigInt::resize):
22482        (WTF::BigInt::words):
22483        (WTF::BigInt::append):
22484        (WTF::multadd):
22485        (WTF::hi0bits):
22486        (WTF::lo0bits):
22487        (WTF::i2b):
22488        (WTF::mult):
22489        (P5Node):
22490        (WTF::P5Node::P5Node):
22491        (WTF::pow5mult):
22492        (WTF::lshift):
22493        (WTF::cmp):
22494        (WTF::diff):
22495        (WTF::d2b):
22496        (WTF::strtod):
22497        (WTF::quorem):
22498        (WTF::dtoa):
22499        * wtf/dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa.h.
22500        (WTF):
22501        * wtf/dtoa/COPYING: Renamed from Source/JavaScriptCore/wtf/dtoa/COPYING.
22502        * wtf/dtoa/LICENSE: Renamed from Source/JavaScriptCore/wtf/dtoa/LICENSE.
22503        * wtf/dtoa/README: Renamed from Source/JavaScriptCore/wtf/dtoa/README.
22504        * wtf/dtoa/bignum-dtoa.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum-dtoa.cc.
22505        * wtf/dtoa/bignum-dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum-dtoa.h.
22506        (WTF):
22507        (double_conversion):
22508        * wtf/dtoa/bignum.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum.cc.
22509        * wtf/dtoa/bignum.h: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum.h.
22510        (WTF):
22511        (double_conversion):
22512        (Bignum):
22513        (WTF::double_conversion::Bignum::Times10):
22514        (WTF::double_conversion::Bignum::Equal):
22515        (WTF::double_conversion::Bignum::LessEqual):
22516        (WTF::double_conversion::Bignum::Less):
22517        (WTF::double_conversion::Bignum::PlusEqual):
22518        (WTF::double_conversion::Bignum::PlusLessEqual):
22519        (WTF::double_conversion::Bignum::PlusLess):
22520        (WTF::double_conversion::Bignum::EnsureCapacity):
22521        (WTF::double_conversion::Bignum::BigitLength):
22522        * wtf/dtoa/cached-powers.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/cached-powers.cc.
22523        * wtf/dtoa/cached-powers.h: Renamed from Source/JavaScriptCore/wtf/dtoa/cached-powers.h.
22524        (WTF):
22525        (double_conversion):
22526        (PowersOfTenCache):
22527        * wtf/dtoa/diy-fp.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/diy-fp.cc.
22528        * wtf/dtoa/diy-fp.h: Renamed from Source/JavaScriptCore/wtf/dtoa/diy-fp.h.
22529        (WTF):
22530        (double_conversion):
22531        (DiyFp):
22532        (WTF::double_conversion::DiyFp::DiyFp):
22533        (WTF::double_conversion::DiyFp::Subtract):
22534        (WTF::double_conversion::DiyFp::Minus):
22535        (WTF::double_conversion::DiyFp::Times):
22536        (WTF::double_conversion::DiyFp::Normalize):
22537        (WTF::double_conversion::DiyFp::f):
22538        (WTF::double_conversion::DiyFp::e):
22539        (WTF::double_conversion::DiyFp::set_f):
22540        (WTF::double_conversion::DiyFp::set_e):
22541        * wtf/dtoa/double-conversion.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/double-conversion.cc.
22542        * wtf/dtoa/double-conversion.h: Renamed from Source/JavaScriptCore/wtf/dtoa/double-conversion.h.
22543        (WTF):
22544        (double_conversion):
22545        (DoubleToStringConverter):
22546        (WTF::double_conversion::DoubleToStringConverter::DoubleToStringConverter):
22547        (StringToDoubleConverter):
22548        (WTF::double_conversion::StringToDoubleConverter::StringToDoubleConverter):
22549        * wtf/dtoa/double.h: Renamed from Source/JavaScriptCore/wtf/dtoa/double.h.
22550        (WTF):
22551        (double_conversion):
22552        (WTF::double_conversion::double_to_uint64):
22553        (WTF::double_conversion::uint64_to_double):
22554        (Double):
22555        (WTF::double_conversion::Double::Double):
22556        (WTF::double_conversion::Double::AsDiyFp):
22557        (WTF::double_conversion::Double::AsNormalizedDiyFp):
22558        (WTF::double_conversion::Double::AsUint64):
22559        (WTF::double_conversion::Double::NextDouble):
22560        (WTF::double_conversion::Double::Exponent):
22561        (WTF::double_conversion::Double::Significand):
22562        (WTF::double_conversion::Double::IsDenormal):
22563        (WTF::double_conversion::Double::IsSpecial):
22564        (WTF::double_conversion::Double::IsNan):
22565        (WTF::double_conversion::Double::IsInfinite):
22566        (WTF::double_conversion::Double::Sign):
22567        (WTF::double_conversion::Double::UpperBoundary):
22568        (WTF::double_conversion::Double::NormalizedBoundaries):
22569        (WTF::double_conversion::Double::value):
22570        (WTF::double_conversion::Double::SignificandSizeForOrderOfMagnitude):
22571        (WTF::double_conversion::Double::Infinity):
22572        (WTF::double_conversion::Double::NaN):
22573        (WTF::double_conversion::Double::DiyFpToUint64):
22574        * wtf/dtoa/fast-dtoa.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/fast-dtoa.cc.
22575        * wtf/dtoa/fast-dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa/fast-dtoa.h.
22576        (WTF):
22577        (double_conversion):
22578        * wtf/dtoa/fixed-dtoa.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/fixed-dtoa.cc.
22579        * wtf/dtoa/fixed-dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa/fixed-dtoa.h.
22580        (WTF):
22581        (double_conversion):
22582        * wtf/dtoa/strtod.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/strtod.cc.
22583        * wtf/dtoa/strtod.h: Renamed from Source/JavaScriptCore/wtf/dtoa/strtod.h.
22584        (WTF):
22585        (double_conversion):
22586        * wtf/dtoa/utils.h: Renamed from Source/JavaScriptCore/wtf/dtoa/utils.h.
22587        (WTF):
22588        (double_conversion):
22589        (WTF::double_conversion::Max):
22590        (WTF::double_conversion::Min):
22591        (WTF::double_conversion::StrLength):
22592        (Vector):
22593        (WTF::double_conversion::Vector::Vector):
22594        (WTF::double_conversion::Vector::SubVector):
22595        (WTF::double_conversion::Vector::length):
22596        (WTF::double_conversion::Vector::is_empty):
22597        (WTF::double_conversion::Vector::start):
22598        (WTF::double_conversion::Vector::operator[]):
22599        (WTF::double_conversion::Vector::first):
22600        (WTF::double_conversion::Vector::last):
22601        (StringBuilder):
22602        (WTF::double_conversion::StringBuilder::StringBuilder):
22603        (WTF::double_conversion::StringBuilder::~StringBuilder):
22604        (WTF::double_conversion::StringBuilder::size):
22605        (WTF::double_conversion::StringBuilder::position):
22606        (WTF::double_conversion::StringBuilder::SetPosition):
22607        (WTF::double_conversion::StringBuilder::Reset):
22608        (WTF::double_conversion::StringBuilder::AddCharacter):
22609        (WTF::double_conversion::StringBuilder::AddString):
22610        (WTF::double_conversion::StringBuilder::AddSubstring):
22611        (WTF::double_conversion::StringBuilder::AddPadding):
22612        (WTF::double_conversion::StringBuilder::Finalize):
22613        (WTF::double_conversion::StringBuilder::is_finalized):
22614        (WTF::double_conversion::BitCast):
22615        * wtf/efl/MainThreadEfl.cpp: Renamed from Source/JavaScriptCore/wtf/efl/MainThreadEfl.cpp.
22616        (WTF):
22617        (WTF::pipeObject):
22618        (WTF::monitorDispatchFunctions):
22619        (WTF::initializeMainThreadPlatform):
22620        (WTF::scheduleDispatchFunctionsOnMainThread):
22621        * wtf/efl/OwnPtrEfl.cpp: Renamed from Source/JavaScriptCore/wtf/efl/OwnPtrEfl.cpp.
22622        (WTF):
22623        (WTF::deleteOwnedPtr):
22624        * wtf/gobject/GOwnPtr.cpp: Renamed from Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp.
22625        (WTF):
22626        (WTF::GError):
22627        (WTF::GList):
22628        (WTF::GSList):
22629        (WTF::GPatternSpec):
22630        (WTF::GDir):
22631        (WTF::GTimer):
22632        (WTF::GKeyFile):
22633        * wtf/gobject/GOwnPtr.h: Renamed from Source/JavaScriptCore/wtf/gobject/GOwnPtr.h.
22634        (WTF):
22635        (GOwnPtr):
22636        (WTF::GOwnPtr::GOwnPtr):
22637        (WTF::GOwnPtr::~GOwnPtr):
22638        (WTF::GOwnPtr::get):
22639        (WTF::GOwnPtr::release):
22640        (WTF::GOwnPtr::outPtr):
22641        (WTF::GOwnPtr::set):
22642        (WTF::GOwnPtr::clear):
22643        (WTF::GOwnPtr::operator*):
22644        (WTF::GOwnPtr::operator->):
22645        (WTF::GOwnPtr::operator!):
22646        (WTF::GOwnPtr::operator UnspecifiedBoolType):
22647        (WTF::GOwnPtr::swap):
22648        (WTF::swap):
22649        (WTF::operator==):
22650        (WTF::operator!=):
22651        (WTF::getPtr):
22652        (WTF::freeOwnedGPtr):
22653        * wtf/gobject/GRefPtr.cpp: Renamed from Source/JavaScriptCore/wtf/gobject/GRefPtr.cpp.
22654        (WTF):
22655        (WTF::refGPtr):
22656        (WTF::derefGPtr):
22657        (_GVariant):
22658        * wtf/gobject/GRefPtr.h: Renamed from Source/JavaScriptCore/wtf/gobject/GRefPtr.h.
22659        (WTF):
22660        (GRefPtr):
22661        (WTF::GRefPtr::GRefPtr):
22662        (WTF::GRefPtr::~GRefPtr):
22663        (WTF::GRefPtr::clear):
22664        (WTF::GRefPtr::isHashTableDeletedValue):
22665        (WTF::GRefPtr::get):
22666        (WTF::GRefPtr::operator*):
22667        (WTF::GRefPtr::operator->):
22668        (WTF::GRefPtr::operator!):
22669        (WTF::GRefPtr::operator UnspecifiedBoolType):
22670        (WTF::GRefPtr::hashTableDeletedValue):
22671        (WTF::=):
22672        (WTF::::swap):
22673        (WTF::swap):
22674        (WTF::operator==):
22675        (WTF::operator!=):
22676        (WTF::static_pointer_cast):
22677        (WTF::const_pointer_cast):
22678        (WTF::getPtr):
22679        (WTF::adoptGRef):
22680        (WTF::refGPtr):
22681        (WTF::derefGPtr):
22682        * wtf/gobject/GTypedefs.h: Renamed from Source/JavaScriptCore/wtf/gobject/GTypedefs.h.
22683        * wtf/gobject/GlibUtilities.cpp: Renamed from Source/JavaScriptCore/wtf/gobject/GlibUtilities.cpp.
22684        (getCurrentExecutablePath):
22685        * wtf/gobject/GlibUtilities.h: Renamed from Source/JavaScriptCore/wtf/gobject/GlibUtilities.h.
22686        * wtf/gtk/MainThreadGtk.cpp: Renamed from Source/JavaScriptCore/wtf/gtk/MainThreadGtk.cpp.
22687        (WTF):
22688        (WTF::initializeMainThreadPlatform):
22689        (WTF::timeoutFired):
22690        (WTF::scheduleDispatchFunctionsOnMainThread):
22691        * wtf/mac/MainThreadMac.mm: Renamed from Source/JavaScriptCore/wtf/mac/MainThreadMac.mm.
22692        (-[JSWTFMainThreadCaller call]):
22693        (WTF):
22694        (WTF::initializeMainThreadPlatform):
22695        (WTF::initializeMainThreadToProcessMainThreadPlatform):
22696        (WTF::timerFired):
22697        (WTF::postTimer):
22698        (WTF::scheduleDispatchFunctionsOnMainThread):
22699        (WTF::isMainThread):
22700        * wtf/qt/MainThreadQt.cpp: Renamed from Source/JavaScriptCore/wtf/qt/MainThreadQt.cpp.
22701        (WTF):
22702        (MainThreadInvoker):
22703        (WTF::MainThreadInvoker::MainThreadInvoker):
22704        (WTF::MainThreadInvoker::event):
22705        (WTF::initializeMainThreadPlatform):
22706        (WTF::scheduleDispatchFunctionsOnMainThread):
22707        * wtf/qt/StringQt.cpp: Renamed from Source/JavaScriptCore/wtf/qt/StringQt.cpp.
22708        (WTF):
22709        (WTF::String::String):
22710        (WTF::String::operator QString):
22711        (WTF::operator<<):
22712        (WTF::operator>>):
22713        * wtf/qt/UtilsQt.h: Renamed from Source/JavaScriptCore/wtf/qt/UtilsQt.h.
22714        (escapeHtml):
22715        * wtf/qt/compat/QGuiApplication: Renamed from Source/JavaScriptCore/wtf/qt/compat/QGuiApplication.
22716        * wtf/qt/compat/qguiapplication.h: Renamed from Source/JavaScriptCore/wtf/qt/compat/qguiapplication.h.
22717        (QGuiApplication):
22718        (QGuiApplication::styleHints):
22719        * wtf/text/ASCIIFastPath.h: Renamed from Source/JavaScriptCore/wtf/text/ASCIIFastPath.h.
22720        (WTF):
22721        (WTF::isAlignedToMachineWord):
22722        (WTF::alignToMachineWord):
22723        (WTF::isAllASCII):
22724        (WTF::charactersAreAllASCII):
22725        * wtf/text/AtomicString.cpp: Renamed from Source/JavaScriptCore/wtf/text/AtomicString.cpp.
22726        (WTF):
22727        (AtomicStringTable):
22728        (WTF::AtomicStringTable::create):
22729        (WTF::AtomicStringTable::table):
22730        (WTF::AtomicStringTable::destroy):
22731        (WTF::stringTable):
22732        (WTF::addToStringTable):
22733        (WTF::CStringTranslator::hash):
22734        (CStringTranslator):
22735        (WTF::CStringTranslator::equal):
22736        (WTF::CStringTranslator::translate):
22737        (WTF::AtomicString::add):
22738        (UCharBuffer):
22739        (WTF::UCharBufferTranslator::hash):
22740        (UCharBufferTranslator):
22741        (WTF::UCharBufferTranslator::equal):
22742        (WTF::UCharBufferTranslator::translate):
22743        (HashAndCharacters):
22744        (WTF::HashAndCharactersTranslator::hash):
22745        (HashAndCharactersTranslator):
22746        (WTF::HashAndCharactersTranslator::equal):
22747        (WTF::HashAndCharactersTranslator::translate):
22748        (HashAndUTF8Characters):
22749        (WTF::HashAndUTF8CharactersTranslator::hash):
22750        (HashAndUTF8CharactersTranslator):
22751        (WTF::HashAndUTF8CharactersTranslator::equal):
22752        (WTF::HashAndUTF8CharactersTranslator::translate):
22753        (SubstringLocation):
22754        (WTF::SubstringTranslator::hash):
22755        (SubstringTranslator):
22756        (WTF::SubstringTranslator::equal):
22757        (WTF::SubstringTranslator::translate):
22758        (WTF::AtomicString::addSlowCase):
22759        (WTF::AtomicString::find):
22760        (WTF::AtomicString::remove):
22761        (WTF::AtomicString::lower):
22762        (WTF::AtomicString::fromUTF8Internal):
22763        (WTF::AtomicString::show):
22764        * wtf/text/AtomicString.h: Renamed from Source/JavaScriptCore/wtf/text/AtomicString.h.
22765        (WTF):
22766        (AtomicString):
22767        (WTF::AtomicString::AtomicString):
22768        (WTF::AtomicString::isHashTableDeletedValue):
22769        (WTF::AtomicString::operator const String&):
22770        (WTF::AtomicString::string):
22771        (WTF::AtomicString::impl):
22772        (WTF::AtomicString::characters):
22773        (WTF::AtomicString::length):
22774        (WTF::AtomicString::operator[]):
22775        (WTF::AtomicString::contains):
22776        (WTF::AtomicString::find):
22777        (WTF::AtomicString::startsWith):
22778        (WTF::AtomicString::endsWith):
22779        (WTF::AtomicString::upper):
22780        (WTF::AtomicString::toInt):
22781        (WTF::AtomicString::toDouble):
22782        (WTF::AtomicString::toFloat):
22783        (WTF::AtomicString::percentage):
22784        (WTF::AtomicString::isNull):
22785        (WTF::AtomicString::isEmpty):
22786        (WTF::AtomicString::createCFString):
22787        (WTF::AtomicString::operator NSString*):
22788        (WTF::AtomicString::operator QString):
22789        (WTF::AtomicString::add):
22790        (WTF::operator==):
22791        (WTF::operator!=):
22792        (WTF::equalIgnoringCase):
22793        (WTF::AtomicString::fromUTF8):
22794        * wtf/text/AtomicStringHash.h: Renamed from Source/JavaScriptCore/wtf/text/AtomicStringHash.h.
22795        (WTF):
22796        (WTF::AtomicStringHash::hash):
22797        (AtomicStringHash):
22798        (WTF::AtomicStringHash::equal):
22799        * wtf/text/AtomicStringImpl.h: Renamed from Source/JavaScriptCore/wtf/text/AtomicStringImpl.h.
22800        (WTF):
22801        (AtomicStringImpl):
22802        (WTF::AtomicStringImpl::AtomicStringImpl):
22803        * wtf/text/CString.cpp: Renamed from Source/JavaScriptCore/wtf/text/CString.cpp.
22804        (WTF):
22805        (WTF::CString::CString):
22806        (WTF::CString::init):
22807        (WTF::CString::mutableData):
22808        (WTF::CString::newUninitialized):
22809        (WTF::CString::copyBufferIfNeeded):
22810        (WTF::operator==):
22811        * wtf/text/CString.h: Renamed from Source/JavaScriptCore/wtf/text/CString.h.
22812        (WTF):
22813        (CStringBuffer):
22814        (WTF::CStringBuffer::data):
22815        (WTF::CStringBuffer::length):
22816        (WTF::CStringBuffer::create):
22817        (WTF::CStringBuffer::CStringBuffer):
22818        (WTF::CStringBuffer::mutableData):
22819        (CString):
22820        (WTF::CString::CString):
22821        (WTF::CString::data):
22822        (WTF::CString::length):
22823        (WTF::CString::isNull):
22824        (WTF::CString::buffer):
22825        (WTF::operator!=):
22826        * wtf/text/StringBuffer.h: Renamed from Source/JavaScriptCore/wtf/text/StringBuffer.h.
22827        (WTF):
22828        (StringBuffer):
22829        (WTF::StringBuffer::StringBuffer):
22830        (WTF::StringBuffer::~StringBuffer):
22831        (WTF::StringBuffer::shrink):
22832        (WTF::StringBuffer::resize):
22833        (WTF::StringBuffer::length):
22834        (WTF::StringBuffer::characters):
22835        (WTF::StringBuffer::operator[]):
22836        (WTF::StringBuffer::release):
22837        * wtf/text/StringBuilder.cpp: Renamed from Source/JavaScriptCore/wtf/text/StringBuilder.cpp.
22838        (WTF):
22839        (WTF::StringBuilder::reifyString):
22840        (WTF::StringBuilder::resize):
22841        (WTF::StringBuilder::allocateBuffer):
22842        (WTF::StringBuilder::allocateBufferUpConvert):
22843        (WTF::LChar):
22844        (WTF::UChar):
22845        (WTF::StringBuilder::reserveCapacity):
22846        (WTF::StringBuilder::appendUninitialized):
22847        (WTF::StringBuilder::appendUninitializedSlow):
22848        (WTF::StringBuilder::append):
22849        (WTF::StringBuilder::canShrink):
22850        (WTF::StringBuilder::shrinkToFit):
22851        * wtf/text/StringBuilder.h: Renamed from Source/JavaScriptCore/wtf/text/StringBuilder.h.
22852        (WTF):
22853        (StringBuilder):
22854        (WTF::StringBuilder::StringBuilder):
22855        (WTF::StringBuilder::append):
22856        (WTF::StringBuilder::toString):
22857        (WTF::StringBuilder::toStringPreserveCapacity):
22858        (WTF::StringBuilder::toAtomicString):
22859        (WTF::StringBuilder::length):
22860        (WTF::StringBuilder::isEmpty):
22861        (WTF::StringBuilder::capacity):
22862        (WTF::StringBuilder::operator[]):
22863        (WTF::StringBuilder::characters8):
22864        (WTF::StringBuilder::characters16):
22865        (WTF::StringBuilder::characters):
22866        (WTF::StringBuilder::is8Bit):
22867        (WTF::StringBuilder::clear):
22868        (WTF::StringBuilder::swap):
22869        (WTF::LChar):
22870        (WTF::UChar):
22871        (WTF::equal):
22872        (WTF::operator==):
22873        (WTF::operator!=):
22874        * wtf/text/StringConcatenate.h: Renamed from Source/JavaScriptCore/wtf/text/StringConcatenate.h.
22875        (WTF):
22876        (WTF::sumWithOverflow):
22877        (WTF::tryMakeString):
22878        (WTF::makeString):
22879        * wtf/text/StringHash.h: Renamed from Source/JavaScriptCore/wtf/text/StringHash.h.
22880        (WTF):
22881        (WTF::StringHash::hash):
22882        (WTF::StringHash::equal):
22883        (StringHash):
22884        (CaseFoldingHash):
22885        (WTF::CaseFoldingHash::foldCase):
22886        (WTF::CaseFoldingHash::hash):
22887        (WTF::CaseFoldingHash::equal):
22888        (WTF::AlreadyHashed::hash):
22889        (AlreadyHashed):
22890        (WTF::AlreadyHashed::avoidDeletedValue):
22891        * wtf/text/StringImpl.cpp: Renamed from Source/JavaScriptCore/wtf/text/StringImpl.cpp.
22892        (WTF):
22893        (WTF::StringImpl::~StringImpl):
22894        (WTF::StringImpl::createUninitialized):
22895        (WTF::StringImpl::reallocate):
22896        (WTF::StringImpl::create):
22897        (WTF::StringImpl::getData16SlowCase):
22898        (WTF::StringImpl::upconvertCharacters):
22899        (WTF::StringImpl::containsOnlyWhitespace):
22900        (WTF::StringImpl::substring):
22901        (WTF::StringImpl::characterStartingAt):
22902        (WTF::StringImpl::lower):
22903        (WTF::StringImpl::upper):
22904        (WTF::StringImpl::fill):
22905        (WTF::StringImpl::foldCase):
22906        (WTF::StringImpl::stripMatchedCharacters):
22907        (UCharPredicate):
22908        (WTF::UCharPredicate::UCharPredicate):
22909        (WTF::UCharPredicate::operator()):
22910        (SpaceOrNewlinePredicate):
22911        (WTF::SpaceOrNewlinePredicate::operator()):
22912        (WTF::StringImpl::stripWhiteSpace):
22913        (WTF::StringImpl::removeCharacters):
22914        (WTF::StringImpl::simplifyMatchedCharactersToSpace):
22915        (WTF::StringImpl::simplifyWhiteSpace):
22916        (WTF::StringImpl::toIntStrict):
22917        (WTF::StringImpl::toUIntStrict):
22918        (WTF::StringImpl::toInt64Strict):
22919        (WTF::StringImpl::toUInt64Strict):
22920        (WTF::StringImpl::toIntPtrStrict):
22921        (WTF::StringImpl::toInt):
22922        (WTF::StringImpl::toUInt):
22923        (WTF::StringImpl::toInt64):
22924        (WTF::StringImpl::toUInt64):
22925        (WTF::StringImpl::toIntPtr):
22926        (WTF::StringImpl::toDouble):
22927        (WTF::StringImpl::toFloat):
22928        (WTF::equalIgnoringCase):
22929        (WTF::StringImpl::find):
22930        (WTF::StringImpl::findIgnoringCase):
22931        (WTF::findInner):
22932        (WTF::StringImpl::reverseFind):
22933        (WTF::reverseFindInner):
22934        (WTF::StringImpl::reverseFindIgnoringCase):
22935        (WTF::StringImpl::endsWith):
22936        (WTF::StringImpl::replace):
22937        (WTF::equal):
22938        (WTF::equalIgnoringNullity):
22939        (WTF::StringImpl::defaultWritingDirection):
22940        (WTF::StringImpl::adopt):
22941        (WTF::StringImpl::createWithTerminatingNullCharacter):
22942        * wtf/text/StringImpl.h: Renamed from Source/JavaScriptCore/wtf/text/StringImpl.h.
22943        (JSC):
22944        (WTF):
22945        (StringImpl):
22946        (WTF::StringImpl::StringImpl):
22947        (WTF::StringImpl::create):
22948        (WTF::StringImpl::create8):
22949        (WTF::StringImpl::tryCreateUninitialized):
22950        (WTF::StringImpl::flagsOffset):
22951        (WTF::StringImpl::flagIs8Bit):
22952        (WTF::StringImpl::dataOffset):
22953        (WTF::StringImpl::adopt):
22954        (WTF::StringImpl::length):
22955        (WTF::StringImpl::is8Bit):
22956        (WTF::StringImpl::characters8):
22957        (WTF::StringImpl::characters16):
22958        (WTF::StringImpl::characters):
22959        (WTF::StringImpl::cost):
22960        (WTF::StringImpl::has16BitShadow):
22961        (WTF::StringImpl::isIdentifier):
22962        (WTF::StringImpl::setIsIdentifier):
22963        (WTF::StringImpl::hasTerminatingNullCharacter):
22964        (WTF::StringImpl::isAtomic):
22965        (WTF::StringImpl::setIsAtomic):
22966        (WTF::StringImpl::setHash):
22967        (WTF::StringImpl::rawHash):
22968        (WTF::StringImpl::hasHash):
22969        (WTF::StringImpl::existingHash):
22970        (WTF::StringImpl::hash):
22971        (WTF::StringImpl::hasOneRef):
22972        (WTF::StringImpl::ref):
22973        (WTF::StringImpl::deref):
22974        (WTF::StringImpl::copyChars):
22975        (WTF::StringImpl::operator[]):
22976        (WTF::StringImpl::find):
22977        (WTF::StringImpl::findIgnoringCase):
22978        (WTF::StringImpl::startsWith):
22979        (WTF::StringImpl::bufferOwnership):
22980        (WTF::StringImpl::isStatic):
22981        (WTF::LChar):
22982        (WTF::UChar):
22983        (WTF::equal):
22984        (WTF::equalIgnoringCase):
22985        (WTF::equalIgnoringNullity):
22986        (WTF::codePointCompare):
22987        (WTF::codePointCompare8):
22988        (WTF::codePointCompare16):
22989        (WTF::codePointCompare8To16):
22990        (WTF::isSpaceOrNewline):
22991        (WTF::StringImpl::isolatedCopy):
22992        * wtf/text/StringOperators.h: Renamed from Source/JavaScriptCore/wtf/text/StringOperators.h.
22993        (WTF):
22994        (StringAppend):
22995        (WTF::StringAppend::StringAppend):
22996        (WTF::StringAppend::operator String):
22997        (WTF::StringAppend::operator AtomicString):
22998        (WTF::StringAppend::is8Bit):
22999        (WTF::StringAppend::writeTo):
23000        (WTF::StringAppend::length):
23001        (WTF::operator+):
23002        * wtf/text/StringStatics.cpp: Renamed from Source/JavaScriptCore/wtf/text/StringStatics.cpp.
23003        (WTF):
23004        (WTF::StringImpl::empty):
23005        (WTF::StringImpl::hashSlowCase):
23006        (WTF::AtomicString::init):
23007        * wtf/text/TextPosition.h: Renamed from Source/JavaScriptCore/wtf/text/TextPosition.h.
23008        (WTF):
23009        (OrdinalNumber):
23010        (WTF::OrdinalNumber::fromZeroBasedInt):
23011        (WTF::OrdinalNumber::fromOneBasedInt):
23012        (WTF::OrdinalNumber::OrdinalNumber):
23013        (WTF::OrdinalNumber::zeroBasedInt):
23014        (WTF::OrdinalNumber::oneBasedInt):
23015        (WTF::OrdinalNumber::operator==):
23016        (WTF::OrdinalNumber::operator!=):
23017        (WTF::OrdinalNumber::first):
23018        (WTF::OrdinalNumber::beforeFirst):
23019        (TextPosition):
23020        (WTF::TextPosition::TextPosition):
23021        (WTF::TextPosition::operator==):
23022        (WTF::TextPosition::operator!=):
23023        (WTF::TextPosition::minimumPosition):
23024        (WTF::TextPosition::belowRangePosition):
23025        * wtf/text/WTFString.cpp: Renamed from Source/JavaScriptCore/wtf/text/WTFString.cpp.
23026        (WTF):
23027        (WTF::String::String):
23028        (WTF::String::append):
23029        (WTF::codePointCompare):
23030        (WTF::String::insert):
23031        (WTF::String::characterStartingAt):
23032        (WTF::String::truncate):
23033        (WTF::String::remove):
23034        (WTF::String::substring):
23035        (WTF::String::substringSharingImpl):
23036        (WTF::String::lower):
23037        (WTF::String::upper):
23038        (WTF::String::stripWhiteSpace):
23039        (WTF::String::simplifyWhiteSpace):
23040        (WTF::String::removeCharacters):
23041        (WTF::String::foldCase):
23042        (WTF::String::percentage):
23043        (WTF::String::charactersWithNullTermination):
23044        (WTF::String::format):
23045        (WTF::String::number):
23046        (WTF::String::toIntStrict):
23047        (WTF::String::toUIntStrict):
23048        (WTF::String::toInt64Strict):
23049        (WTF::String::toUInt64Strict):
23050        (WTF::String::toIntPtrStrict):
23051        (WTF::String::toInt):
23052        (WTF::String::toUInt):
23053        (WTF::String::toInt64):
23054        (WTF::String::toUInt64):
23055        (WTF::String::toIntPtr):
23056        (WTF::String::toDouble):
23057        (WTF::String::toFloat):
23058        (WTF::String::isolatedCopy):
23059        (WTF::String::split):
23060        (WTF::String::ascii):
23061        (WTF::String::latin1):
23062        (WTF::putUTF8Triple):
23063        (WTF::String::utf8):
23064        (WTF::String::fromUTF8):
23065        (WTF::String::fromUTF8WithLatin1Fallback):
23066        (WTF::isCharacterAllowedInBase):
23067        (WTF::toIntegralType):
23068        (WTF::lengthOfCharactersAsInteger):
23069        (WTF::charactersToIntStrict):
23070        (WTF::charactersToUIntStrict):
23071        (WTF::charactersToInt64Strict):
23072        (WTF::charactersToUInt64Strict):
23073        (WTF::charactersToIntPtrStrict):
23074        (WTF::charactersToInt):
23075        (WTF::charactersToUInt):
23076        (WTF::charactersToInt64):
23077        (WTF::charactersToUInt64):
23078        (WTF::charactersToIntPtr):
23079        (WTF::toDoubleType):
23080        (WTF::charactersToDouble):
23081        (WTF::charactersToFloat):
23082        (WTF::charactersToFloatIgnoringJunk):
23083        (WTF::emptyString):
23084        (String::show):
23085        (string):
23086        (asciiDebug):
23087        * wtf/text/WTFString.h: Renamed from Source/JavaScriptCore/wtf/text/WTFString.h.
23088        (WebKit):
23089        (WTF):
23090        (String):
23091        (WTF::String::String):
23092        (WTF::String::~String):
23093        (WTF::String::swap):
23094        (WTF::String::adopt):
23095        (WTF::String::isNull):
23096        (WTF::String::isEmpty):
23097        (WTF::String::impl):
23098        (WTF::String::length):
23099        (WTF::String::characters):
23100        (WTF::String::characters8):
23101        (WTF::String::characters16):
23102        (WTF::String::is8Bit):
23103        (WTF::String::operator[]):
23104        (WTF::String::find):
23105        (WTF::String::reverseFind):
23106        (WTF::String::findIgnoringCase):
23107        (WTF::String::reverseFindIgnoringCase):
23108        (WTF::String::contains):
23109        (WTF::String::startsWith):
23110        (WTF::String::endsWith):
23111        (WTF::String::append):
23112        (WTF::String::replace):
23113        (WTF::String::makeLower):
23114        (WTF::String::makeUpper):
23115        (WTF::String::fill):
23116        (WTF::String::left):
23117        (WTF::String::right):
23118        (WTF::String::createUninitialized):
23119        (WTF::String::operator NSString*):
23120        (WTF::String::fromUTF8):
23121        (WTF::String::fromUTF8WithLatin1Fallback):
23122        (WTF::String::defaultWritingDirection):
23123        (WTF::String::containsOnlyWhitespace):
23124        (WTF::String::isHashTableDeletedValue):
23125        (WTF::operator+=):
23126        (WTF::operator==):
23127        (WTF::operator!=):
23128        (WTF::equalIgnoringCase):
23129        (WTF::equalPossiblyIgnoringCase):
23130        (WTF::equalIgnoringNullity):
23131        (WTF::operator!):
23132        (WTF::swap):
23133        (WTF::LChar):
23134        (WTF::UChar):
23135        (WTF::String::containsOnlyLatin1):
23136        (WTF::nsStringNilIfEmpty):
23137        (WTF::String::containsOnlyASCII):
23138        (WTF::codePointCompareLessThan):
23139        (WTF::find):
23140        (WTF::reverseFind):
23141        (WTF::append):
23142        (WTF::appendNumber):
23143        (WTF::isAllSpecialCharacters):
23144        (WTF::String::isAllSpecialCharacters):
23145        * wtf/threads/BinarySemaphore.cpp: Renamed from Source/JavaScriptCore/wtf/threads/BinarySemaphore.cpp.
23146        (WTF):
23147        (WTF::BinarySemaphore::BinarySemaphore):
23148        (WTF::BinarySemaphore::~BinarySemaphore):
23149        (WTF::BinarySemaphore::signal):
23150        (WTF::BinarySemaphore::wait):
23151        * wtf/threads/BinarySemaphore.h: Renamed from Source/JavaScriptCore/wtf/threads/BinarySemaphore.h.
23152        (WTF):
23153        (BinarySemaphore):
23154        (WTF::BinarySemaphore::event):
23155        * wtf/threads/win/BinarySemaphoreWin.cpp: Renamed from Source/JavaScriptCore/wtf/threads/win/BinarySemaphoreWin.cpp.
23156        (WTF):
23157        (WTF::BinarySemaphore::BinarySemaphore):
23158        (WTF::BinarySemaphore::~BinarySemaphore):
23159        (WTF::BinarySemaphore::signal):
23160        (WTF::BinarySemaphore::wait):
23161        * wtf/unicode/CharacterNames.h: Renamed from Source/JavaScriptCore/wtf/unicode/CharacterNames.h.
23162        (Unicode):
23163        * wtf/unicode/Collator.h: Renamed from Source/JavaScriptCore/wtf/unicode/Collator.h.
23164        (WTF):
23165        (Collator):
23166        * wtf/unicode/CollatorDefault.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/CollatorDefault.cpp.
23167        (WTF):
23168        (WTF::Collator::Collator):
23169        (WTF::Collator::~Collator):
23170        (WTF::Collator::setOrderLowerFirst):
23171        (WTF::Collator::userDefault):
23172        (WTF::Collator::collate):
23173        * wtf/unicode/ScriptCodesFromICU.h: Renamed from Source/JavaScriptCore/wtf/unicode/ScriptCodesFromICU.h.
23174        * wtf/unicode/UTF8.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/UTF8.cpp.
23175        (Unicode):
23176        (WTF::Unicode::inlineUTF8SequenceLengthNonASCII):
23177        (WTF::Unicode::inlineUTF8SequenceLength):
23178        (WTF::Unicode::UTF8SequenceLength):
23179        (WTF::Unicode::decodeUTF8Sequence):
23180        (WTF::Unicode::convertLatin1ToUTF8):
23181        (WTF::Unicode::convertUTF16ToUTF8):
23182        (WTF::Unicode::isLegalUTF8):
23183        (WTF::Unicode::readUTF8Sequence):
23184        (WTF::Unicode::convertUTF8ToUTF16):
23185        (WTF::Unicode::calculateStringHashAndLengthFromUTF8):
23186        (WTF::Unicode::equalUTF16WithUTF8):
23187        * wtf/unicode/UTF8.h: Renamed from Source/JavaScriptCore/wtf/unicode/UTF8.h.
23188        (Unicode):
23189        * wtf/unicode/Unicode.h: Renamed from Source/JavaScriptCore/wtf/unicode/Unicode.h.
23190        * wtf/unicode/UnicodeMacrosFromICU.h: Renamed from Source/JavaScriptCore/wtf/unicode/UnicodeMacrosFromICU.h.
23191        * wtf/unicode/glib/UnicodeGLib.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/glib/UnicodeGLib.cpp.
23192        (Unicode):
23193        (WTF::Unicode::foldCase):
23194        (WTF::Unicode::getUTF16LengthFromUTF8):
23195        (WTF::Unicode::convertCase):
23196        (WTF::Unicode::toLower):
23197        (WTF::Unicode::toUpper):
23198        (WTF::Unicode::direction):
23199        (WTF::Unicode::umemcasecmp):
23200        * wtf/unicode/glib/UnicodeGLib.h: Renamed from Source/JavaScriptCore/wtf/unicode/glib/UnicodeGLib.h.
23201        (Unicode):
23202        (WTF::Unicode::toLower):
23203        (WTF::Unicode::toUpper):
23204        (WTF::Unicode::toTitleCase):
23205        (WTF::Unicode::isArabicChar):
23206        (WTF::Unicode::isAlphanumeric):
23207        (WTF::Unicode::isFormatChar):
23208        (WTF::Unicode::isSeparatorSpace):
23209        (WTF::Unicode::isPrintableChar):
23210        (WTF::Unicode::isDigit):
23211        (WTF::Unicode::isPunct):
23212        (WTF::Unicode::hasLineBreakingPropertyComplexContext):
23213        (WTF::Unicode::hasLineBreakingPropertyComplexContextOrIdeographic):
23214        (WTF::Unicode::mirroredChar):
23215        (WTF::Unicode::category):
23216        (WTF::Unicode::isLower):
23217        (WTF::Unicode::digitValue):
23218        (WTF::Unicode::combiningClass):
23219        (WTF::Unicode::decompositionType):
23220        * wtf/unicode/icu/CollatorICU.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp.
23221        (WTF):
23222        (WTF::cachedCollatorMutex):
23223        (WTF::Collator::Collator):
23224        (WTF::Collator::userDefault):
23225        (WTF::Collator::~Collator):
23226        (WTF::Collator::setOrderLowerFirst):
23227        (WTF::Collator::collate):
23228        (WTF::Collator::createCollator):
23229        (WTF::Collator::releaseCollator):
23230        * wtf/unicode/icu/UnicodeIcu.h: Renamed from Source/JavaScriptCore/wtf/unicode/icu/UnicodeIcu.h.
23231        (Unicode):
23232        (WTF::Unicode::foldCase):
23233        (WTF::Unicode::toLower):
23234        (WTF::Unicode::toUpper):
23235        (WTF::Unicode::toTitleCase):
23236        (WTF::Unicode::isArabicChar):
23237        (WTF::Unicode::isAlphanumeric):
23238        (WTF::Unicode::isSeparatorSpace):
23239        (WTF::Unicode::isPrintableChar):
23240        (WTF::Unicode::isPunct):
23241        (WTF::Unicode::hasLineBreakingPropertyComplexContext):
23242        (WTF::Unicode::hasLineBreakingPropertyComplexContextOrIdeographic):
23243        (WTF::Unicode::mirroredChar):
23244        (WTF::Unicode::category):
23245        (WTF::Unicode::direction):
23246        (WTF::Unicode::isLower):
23247        (WTF::Unicode::combiningClass):
23248        (WTF::Unicode::decompositionType):
23249        (WTF::Unicode::umemcasecmp):
23250        * wtf/unicode/qt4/UnicodeQt4.h: Renamed from Source/JavaScriptCore/wtf/unicode/qt4/UnicodeQt4.h.
23251        (Properties):
23252        (QUnicodeTables):
23253        (Unicode):
23254        (WTF::Unicode::toLower):
23255        (WTF::Unicode::toUpper):
23256        (WTF::Unicode::toTitleCase):
23257        (WTF::Unicode::foldCase):
23258        (WTF::Unicode::isArabicChar):
23259        (WTF::Unicode::isPrintableChar):
23260        (WTF::Unicode::isSeparatorSpace):
23261        (WTF::Unicode::isPunct):
23262        (WTF::Unicode::isLower):
23263        (WTF::Unicode::hasLineBreakingPropertyComplexContext):
23264        (WTF::Unicode::mirroredChar):
23265        (WTF::Unicode::combiningClass):
23266        (WTF::Unicode::decompositionType):
23267        (WTF::Unicode::umemcasecmp):
23268        (WTF::Unicode::direction):
23269        (WTF::Unicode::category):
23270        * wtf/unicode/wince/UnicodeWinCE.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/wince/UnicodeWinCE.cpp.
23271        (Unicode):
23272        (WTF::Unicode::toLower):
23273        (WTF::Unicode::toUpper):
23274        (WTF::Unicode::foldCase):
23275        (WTF::Unicode::isPrintableChar):
23276        (WTF::Unicode::isSpace):
23277        (WTF::Unicode::isLetter):
23278        (WTF::Unicode::isUpper):
23279        (WTF::Unicode::isLower):
23280        (WTF::Unicode::isDigit):
23281        (WTF::Unicode::isPunct):
23282        (WTF::Unicode::isAlphanumeric):
23283        (WTF::Unicode::toTitleCase):
23284        (WTF::Unicode::direction):
23285        (WTF::Unicode::category):
23286        (WTF::Unicode::decompositionType):
23287        (WTF::Unicode::combiningClass):
23288        (WTF::Unicode::mirroredChar):
23289        (WTF::Unicode::digitValue):
23290        * wtf/unicode/wince/UnicodeWinCE.h: Renamed from Source/JavaScriptCore/wtf/unicode/wince/UnicodeWinCE.h.
23291        (Unicode):
23292        (WTF::Unicode::isSeparatorSpace):
23293        (WTF::Unicode::isHighSurrogate):
23294        (WTF::Unicode::isLowSurrogate):
23295        (WTF::Unicode::isArabicChar):
23296        (WTF::Unicode::hasLineBreakingPropertyComplexContext):
23297        (WTF::Unicode::umemcasecmp):
23298        (WTF::Unicode::surrogateToUcs4):
23299        * wtf/url/api/ParsedURL.cpp: Renamed from Source/JavaScriptCore/wtf/url/api/ParsedURL.cpp.
23300        (WTF):
23301        (WTF::ParsedURL::ParsedURL):
23302        (WTF::ParsedURL::isolatedCopy):
23303        (WTF::ParsedURL::scheme):
23304        (WTF::ParsedURL::username):
23305        (WTF::ParsedURL::password):
23306        (WTF::ParsedURL::host):
23307        (WTF::ParsedURL::port):
23308        (WTF::ParsedURL::path):
23309        (WTF::ParsedURL::query):
23310        (WTF::ParsedURL::fragment):
23311        (WTF::ParsedURL::baseAsString):
23312        (WTF::ParsedURL::segment):
23313        * wtf/url/api/ParsedURL.h: Renamed from Source/JavaScriptCore/wtf/url/api/ParsedURL.h.
23314        (WTF):
23315        (ParsedURL):
23316        (WTF::ParsedURL::ParsedURL):
23317        (WTF::ParsedURL::isValid):
23318        (WTF::ParsedURL::spec):
23319        * wtf/url/api/URLString.h: Renamed from Source/JavaScriptCore/wtf/url/api/URLString.h.
23320        (WTF):
23321        (URLString):
23322        (WTF::URLString::URLString):
23323        (WTF::URLString::string):
23324        * wtf/url/src/RawURLBuffer.h: Renamed from Source/JavaScriptCore/wtf/url/src/RawURLBuffer.h.
23325        (WTF):
23326        (RawURLBuffer):
23327        (WTF::RawURLBuffer::RawURLBuffer):
23328        (WTF::RawURLBuffer::~RawURLBuffer):
23329        (WTF::RawURLBuffer::resize):
23330        * wtf/url/src/URLBuffer.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLBuffer.h.
23331        (WTF):
23332        (URLBuffer):
23333        (WTF::URLBuffer::URLBuffer):
23334        (WTF::URLBuffer::~URLBuffer):
23335        (WTF::URLBuffer::at):
23336        (WTF::URLBuffer::set):
23337        (WTF::URLBuffer::capacity):
23338        (WTF::URLBuffer::length):
23339        (WTF::URLBuffer::data):
23340        (WTF::URLBuffer::setLength):
23341        (WTF::URLBuffer::append):
23342        (WTF::URLBuffer::grow):
23343        * wtf/url/src/URLCharacterTypes.cpp: Renamed from Source/JavaScriptCore/wtf/url/src/URLCharacterTypes.cpp.
23344        (WTF):
23345        * wtf/url/src/URLCharacterTypes.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLCharacterTypes.h.
23346        (WTF):
23347        (URLCharacterTypes):
23348        (WTF::URLCharacterTypes::isQueryChar):
23349        (WTF::URLCharacterTypes::isIPv4Char):
23350        (WTF::URLCharacterTypes::isHexChar):
23351        (WTF::URLCharacterTypes::isCharOfType):
23352        * wtf/url/src/URLComponent.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLComponent.h.
23353        (WTF):
23354        (URLComponent):
23355        (WTF::URLComponent::URLComponent):
23356        (WTF::URLComponent::fromRange):
23357        (WTF::URLComponent::isValid):
23358        (WTF::URLComponent::isNonEmpty):
23359        (WTF::URLComponent::isEmptyOrInvalid):
23360        (WTF::URLComponent::reset):
23361        (WTF::URLComponent::operator==):
23362        (WTF::URLComponent::begin):
23363        (WTF::URLComponent::setBegin):
23364        (WTF::URLComponent::length):
23365        (WTF::URLComponent::setLength):
23366        (WTF::URLComponent::end):
23367        * wtf/url/src/URLEscape.cpp: Renamed from Source/JavaScriptCore/wtf/url/src/URLEscape.cpp.
23368        (WTF):
23369        * wtf/url/src/URLEscape.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLEscape.h.
23370        (WTF):
23371        (WTF::appendURLEscapedCharacter):
23372        * wtf/url/src/URLParser.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLParser.h.
23373        (WTF):
23374        (URLParser):
23375        (WTF::URLParser::isPossibleAuthorityTerminator):
23376        (WTF::URLParser::parseAuthority):
23377        (WTF::URLParser::extractScheme):
23378        (WTF::URLParser::parseAfterScheme):
23379        (WTF::URLParser::parseStandardURL):
23380        (WTF::URLParser::parsePath):
23381        (WTF::URLParser::parsePathURL):
23382        (WTF::URLParser::parseMailtoURL):
23383        (WTF::URLParser::parsePort):
23384        (WTF::URLParser::extractFileName):
23385        (WTF::URLParser::extractQueryKeyValue):
23386        (WTF::URLParser::isURLSlash):
23387        (WTF::URLParser::shouldTrimFromURL):
23388        (WTF::URLParser::trimURL):
23389        (WTF::URLParser::consecutiveSlashes):
23390        (WTF::URLParser::isPortDigit):
23391        (WTF::URLParser::nextAuthorityTerminator):
23392        (WTF::URLParser::parseUserInfo):
23393        (WTF::URLParser::parseServerInfo):
23394        * wtf/url/src/URLQueryCanonicalizer.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLQueryCanonicalizer.h.
23395        (WTF):
23396        (URLQueryCanonicalizer):
23397        (WTF::URLQueryCanonicalizer::canonicalize):
23398        (WTF::URLQueryCanonicalizer::isAllASCII):
23399        (WTF::URLQueryCanonicalizer::isRaw8Bit):
23400        (WTF::URLQueryCanonicalizer::appendRaw8BitQueryString):
23401        (WTF::URLQueryCanonicalizer::convertToQueryEncoding):
23402        * wtf/url/src/URLSegments.cpp: Renamed from Source/JavaScriptCore/wtf/url/src/URLSegments.cpp.
23403        (WTF):
23404        (WTF::URLSegments::length):
23405        (WTF::URLSegments::charactersBefore):
23406        * wtf/url/src/URLSegments.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLSegments.h.
23407        (WTF):
23408        (URLSegments):
23409        (WTF::URLSegments::URLSegments):
23410        * wtf/win/MainThreadWin.cpp: Renamed from Source/JavaScriptCore/wtf/win/MainThreadWin.cpp.
23411        (WTF):
23412        (WTF::ThreadingWindowWndProc):
23413        (WTF::initializeMainThreadPlatform):
23414        (WTF::scheduleDispatchFunctionsOnMainThread):
23415        * wtf/win/OwnPtrWin.cpp: Renamed from Source/JavaScriptCore/wtf/win/OwnPtrWin.cpp.
23416        (WTF):
23417        (WTF::deleteOwnedPtr):
23418        * wtf/wince/FastMallocWinCE.h: Renamed from Source/JavaScriptCore/wtf/wince/FastMallocWinCE.h.
23419        (operator new):
23420        (operator delete):
23421        (operator new[]):
23422        (operator delete[]):
23423        (throw):
23424        (WTF):
23425        (Internal):
23426        (WTF::Internal::fastMallocMatchValidationType):
23427        (WTF::Internal::fastMallocMatchValidationValue):
23428        (WTF::Internal::setFastMallocMatchValidationType):
23429        (WTF::fastMallocMatchValidateMalloc):
23430        (WTF::fastMallocMatchValidateFree):
23431        * wtf/wince/MemoryManager.cpp: Renamed from Source/JavaScriptCore/wtf/wince/MemoryManager.cpp.
23432        (WTF):
23433        (WTF::memoryManager):
23434        (WTF::MemoryManager::MemoryManager):
23435        (WTF::MemoryManager::~MemoryManager):
23436        (WTF::MemoryManager::createCompatibleBitmap):
23437        (WTF::MemoryManager::createDIBSection):
23438        (WTF::MemoryManager::m_malloc):
23439        (WTF::MemoryManager::m_calloc):
23440        (WTF::MemoryManager::m_realloc):
23441        (WTF::MemoryManager::m_free):
23442        (WTF::MemoryManager::resizeMemory):
23443        (WTF::MemoryManager::allocate64kBlock):
23444        (WTF::MemoryManager::free64kBlock):
23445        (WTF::MemoryManager::onIdle):
23446        (WTF::MemoryManager::virtualAlloc):
23447        (WTF::MemoryManager::virtualFree):
23448        (WTF::fastMalloc):
23449        (WTF::fastCalloc):
23450        (WTF::fastFree):
23451        (WTF::fastRealloc):
23452        (WTF::fastMallocForbid):
23453        (WTF::fastMallocAllow):
23454        (WTF::fastZeroedMalloc):
23455        (WTF::tryFastMalloc):
23456        (WTF::tryFastZeroedMalloc):
23457        (WTF::tryFastCalloc):
23458        (WTF::tryFastRealloc):
23459        (WTF::fastStrDup):
23460        * wtf/wince/MemoryManager.h: Renamed from Source/JavaScriptCore/wtf/wince/MemoryManager.h.
23461        (WTF):
23462        (MemoryManager):
23463        (WTF::MemoryManager::allocationCanFail):
23464        (WTF::MemoryManager::setAllocationCanFail):
23465        (MemoryAllocationCanFail):
23466        (WTF::MemoryAllocationCanFail::MemoryAllocationCanFail):
23467        (WTF::MemoryAllocationCanFail::~MemoryAllocationCanFail):
23468        (MemoryAllocationCannotFail):
23469        (WTF::MemoryAllocationCannotFail::MemoryAllocationCannotFail):
23470        (WTF::MemoryAllocationCannotFail::~MemoryAllocationCannotFail):
23471        * wtf/wx/MainThreadWx.cpp: Renamed from Source/JavaScriptCore/wtf/wx/MainThreadWx.cpp.
23472        (wxCallAfter):
23473        (wxCallAfter::wxCallAfter):
23474        (wxCallAfter::OnCallback):
23475        (WTF):
23476        (WTF::initializeMainThreadPlatform):
23477        (WTF::scheduleDispatchFunctionsOnMainThread):
23478        * wtf/wx/StringWx.cpp: Renamed from Source/JavaScriptCore/wtf/wx/StringWx.cpp.
23479        (WTF):
23480        (WTF::String::String):
23481        (WTF::String::operator wxString):
23482
234832012-03-22  Hyowon Kim  <hw1008.kim@samsung.com>
23484
23485        [EFL] Add PageClientEfl to WebCoreSupport.
23486        https://bugs.webkit.org/show_bug.cgi?id=80748
23487
23488        Reviewed by Noam Rosenthal.
23489
23490        * wtf/Platform.h: Disable accelerated compositing. It's not ready yet.
23491
234922012-03-21  Beth Dakin  <bdakin@apple.com>
23493
23494        https://bugs.webkit.org/show_bug.cgi?id=80322
23495        Implement image-set
23496
23497        Reviewed by Dean Jackson.
23498
23499        For the time being, image-set is opt-in since the implementation is 
23500        incomplete. 
23501
23502        Add an ENABLE flag for image-set.
23503        * wtf/Platform.h:
23504
235052012-03-21  Jessie Berlin  <jberlin@apple.com>
23506
23507        Fix the Windows build after r111504.
23508
23509        * WTF.vcproj/WTF.vcproj:
23510        Platform.h was moved to Source/WTF.
23511        * WTF.vcproj/copy-files.cmd:
23512        Copy Platform.h from its new source location. This separate copy will not be necessary once
23513        the full move is done and all the headers are being copied at once from the new locations.
23514
235152012-03-21  Jessie Berlin  <jberlin@apple.com>
23516
23517        WTF headers should be in $(ConfigurationBuildDir)\include\private\wtf, not
23518        $(ConfigurationBuildDir)\include\private\JavaScriptCore\wtf.
23519        https://bugs.webkit.org/show_bug.cgi?id=81739
23520
23521        Reviewed by Dan Bernstein.
23522
23523        * WTF.vcproj/copy-files.cmd:
23524        Copy the headers to private/include/wtf instead of private/include/JavaScriptCore/wtf.
23525
235262012-03-20  Eric Seidel  <eric@webkit.org>
23527
23528        Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf
23529        https://bugs.webkit.org/show_bug.cgi?id=80911
23530
23531        Reviewed by Adam Barth.
23532
23533        Update build systems to account for the new location of Platform.h
23534
23535        * GNUmakefile.list.am:
23536        * WTF.gypi:
23537        * WTF.pro:
23538        * WTF.vcproj/WTF.vcproj:
23539        * WTF.vcproj/work-around-vs-dependency-tracking-bugs.py:
23540        (react_to_vsprops_changes):
23541        * WTF.xcodeproj/project.pbxproj:
23542        * config.h: I don't think this change is 100% correct (but seemed to be needed to make qt-wk2 build)
23543         - This dependency on JSC should be removed regardless (in a later patch).
23544        * wtf/Platform.h: Renamed from Source/JavaScriptCore/wtf/Platform.h.
23545
235462012-03-20  Steve Falkenburg  <sfalken@apple.com>
23547
23548        Move WTF-related Windows project files out of JavaScriptCore
23549        https://bugs.webkit.org/show_bug.cgi?id=80680
23550        
23551        This change only moves the vcproj and related files from JavaScriptCore/JavaScriptCore.vcproj/WTF.
23552        It does not move any source code. This is in preparation for the WTF source move out of
23553        JavaScriptCore.
23554
23555        Reviewed by Jessie Berlin.
23556
23557        * WTF.vcproj: Added.
23558        * WTF.vcproj/WTF.vcproj: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTF.vcproj.
23559        * WTF.vcproj/WTFCommon.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFCommon.vsprops.
23560        * WTF.vcproj/WTFDebug.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFDebug.vsprops.
23561        * WTF.vcproj/WTFDebugAll.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFDebugAll.vsprops.
23562        * WTF.vcproj/WTFDebugCairoCFLite.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFDebugCairoCFLite.vsprops.
23563        * WTF.vcproj/WTFGenerated.make: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGenerated.make.
23564        * WTF.vcproj/WTFGenerated.vcproj: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGenerated.vcproj.
23565        * WTF.vcproj/WTFGeneratedCommon.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedCommon.vsprops.
23566        * WTF.vcproj/WTFGeneratedDebug.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedDebug.vsprops.
23567        * WTF.vcproj/WTFGeneratedDebugAll.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedDebugAll.vsprops.
23568        * WTF.vcproj/WTFGeneratedDebugCairoCFLite.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedDebugCairoCFLite.vsprops.
23569        * WTF.vcproj/WTFGeneratedProduction.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedProduction.vsprops.
23570        * WTF.vcproj/WTFGeneratedRelease.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedRelease.vsprops.
23571        * WTF.vcproj/WTFGeneratedReleaseCairoCFLite.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedReleaseCairoCFLite.vsprops.
23572        * WTF.vcproj/WTFPostBuild.cmd: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFPostBuild.cmd.
23573        * WTF.vcproj/WTFPreBuild.cmd: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFPreBuild.cmd.
23574        * WTF.vcproj/WTFProduction.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFProduction.vsprops.
23575        * WTF.vcproj/WTFRelease.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFRelease.vsprops.
23576        * WTF.vcproj/WTFReleaseCairoCFLite.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFReleaseCairoCFLite.vsprops.
23577        * WTF.vcproj/build-generated-files.sh: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/build-generated-files.sh.
23578        * WTF.vcproj/copy-files.cmd: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/copy-files.cmd.
23579        * WTF.vcproj/work-around-vs-dependency-tracking-bugs.py: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/work-around-vs-dependency-tracking-bugs.py.
23580
235812012-03-20  Peter Beverloo  <peter@chromium.org>
23582
23583        [Chromium] Fix the Android build by building NEWWTF for host
23584        https://bugs.webkit.org/show_bug.cgi?id=81643
23585
23586        Reviewed by Tony Gentilcore.
23587
23588        Chromium for Android builds the ImageDiff target for the host architecture,
23589        so all dependencies it has need to be able to build for host as well.
23590        r111258 added (new)WTF as a dependency instead of just including the
23591        header files, so make it possible to build the newwtf target for host.
23592
23593        * WTF.gyp/WTF.gyp:
23594
235952012-03-19  Dan Bernstein  <mitz@apple.com>
23596
23597        Set the svn:ignore property on the Xcode project.
23598
23599        * WTF.xcodeproj: Added property svn:ignore.
23600
236012012-03-16  Mark Rowe  <mrowe@apple.com>
23602
23603        Build fix. Do not preserve owner and group information when installing the WTF headers.
23604
23605        * WTF.xcodeproj/project.pbxproj:
23606
236072012-03-07  Mark Rowe  <mrowe@apple.com>
23608
23609        Teach make to build WTF.
23610
23611        * Makefile: Added.
23612
236132012-02-11  Filip Pizlo  <fpizlo@apple.com>
23614
23615        It should be possible to send all JSC debug logging to a file
23616        https://bugs.webkit.org/show_bug.cgi?id=78418
23617
23618        Reviewed by Sam Weinig.
23619        
23620        Introduced wtf/DataLog, which defines WTF::dataFile, WTF::dataLog,
23621        and WTF::dataLogV. Changed all debugging- and profiling-related printfs
23622        to use WTF::dataLog() or one of its friends. By default, debug logging
23623        goes to stderr, unless you change the setting in wtf/DataLog.cpp.
23624
23625        * WTF.pro:
23626
236272012-02-03  Simon Hausmann  <simon.hausmann@nokia.com>
23628
23629        [Qt] Fix build when cross-compiling
23630        https://bugs.webkit.org/show_bug.cgi?id=77634
23631
23632        Reviewed by Tor Arne Vestbø.
23633
23634        * WTF.pri: Don't use icu-config for determining the library search
23635        path and libraries needed for ICU. Either we use icu-config for includes
23636        _and_ libraries or we don't. Right now we assume that icu is a system library
23637        and expect the headers in the default include search pathes (/usr/include for example).
23638        However we use icu-config to figure out where the libraries are, which breaks when
23639        cross-compiling, because icu-config isn't cross-compile friendly (I wish icu was using
23640        pkg-config). I think for the time being we should require ICU as a _system_ library,
23641        which implies the header and library availability in default search paths. This also
23642        makes the build succeed when cross-compiling with --sysroot.
23643
236442012-01-27  Zeno Albisser  <zeno@webkit.org>
23645
23646        [Qt][Mac] Build fails after adding ICU support (r105997).
23647        https://bugs.webkit.org/show_bug.cgi?id=77118
23648
23649        Link to libicucore if platform Mac.
23650
23651        Reviewed by Tor Arne Vestbø.
23652
23653        * WTF.pri:
23654
236552012-01-26  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
23656
23657        [Qt] Use ICU if available
23658        https://bugs.webkit.org/show_bug.cgi?id=76821
23659
23660        Reviewed by Simon Hausmann.
23661
23662        Adding libicu dependencies for a Qt5 based build.
23663
23664        * WTF.pri:
23665
236662012-01-26  Csaba Osztrogonác  <ossy@webkit.org>
23667
23668        [Qt][Win] One more speculative buildfix after r105970.
23669
23670        * WTF.pri:
23671
236722012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
23673
23674        Not reviewed. Try to fix Qt/Win build by building OwnPtrWin.cpp into the WTF library.
23675
23676        * WTF.pro:
23677
236782012-01-19  Joi Sigurdsson  <joi@chromium.org>
23679
23680        Enable use of precompiled headers in Chromium port on Windows.
23681
23682        Bug 76381 - Use precompiled headers in Chromium port on Windows
23683        https://bugs.webkit.org/show_bug.cgi?id=76381
23684
23685        Reviewed by Tony Chang.
23686
23687        * WTF.gyp/WTF.gyp: Include WinPrecompile.gypi.
23688
236892012-01-18  Roland Takacs  <takacs.roland@stud.u-szeged.hu>
23690
23691        Cross-platform processor core counter
23692        https://bugs.webkit.org/show_bug.cgi?id=76530
23693
23694        Reviewed by Zoltan Herczeg.
23695
23696        Two files have been added to the project, namely NumberOfCores.h/cpp,
23697        that include a CPU core number determining function.
23698
23699        * WTF.pro:
23700
237012012-01-17  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
23702
23703        Uint8ClampedArray support
23704        https://bugs.webkit.org/show_bug.cgi?id=74455
23705
23706        Reviewed by Filip Pizlo.
23707
23708        * WTF.pro:
23709
237102012-01-13  Alexis Menard  <alexis.menard@openbossa.org>
23711
23712        Unreviewed build fix for Qt SnowLeopard build bot.
23713
23714        This is a workaround for the moment.
23715
23716        * wtf/Platform.h:
23717
237182012-01-12  Simon Hausmann  <simon.hausmann@nokia.com>
23719
23720        Make the new WTF module build on Qt
23721        https://bugs.webkit.org/show_bug.cgi?id=76163
23722
23723        Reviewed by Tor Arne Vestbø.
23724
23725        With this change the WTF sources are built _here_ but _from_ their old location using a VPATH.
23726
23727        * WTF.pri: Renamed from Source/JavaScriptCore/wtf/wtf.pri.
23728        * WTF.pro: Renamed from Source/JavaScriptCore/wtf/wtf.pro.
23729        * config.h: Bring this file in sync with JavaScriptCore/config.h with regards to the inclusion
23730        / definition of the export macros.
23731
237322012-01-06  Benjamin Poulain  <bpoulain@apple.com>
23733
23734        [Mac] Sort the resources of WTF.xcodeproj
23735        https://bugs.webkit.org/show_bug.cgi?id=75639
23736
23737        Reviewed by Andreas Kling.
23738
23739        * WTF.xcodeproj/project.pbxproj:
23740
237412012-01-06  Eric Seidel  <eric@webkit.org> and Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
23742
23743        Make the new WTF module build on Gtk
23744        https://bugs.webkit.org/show_bug.cgi?id=75669
23745
23746        * GNUmakefile.am: Added.
23747        * GNUmakefile.list.am: Added.
23748
237492011-11-19  Adam Barth  <abarth@webkit.org>
23750
23751        Integrate Source/WTF with the Chromium build system
23752        https://bugs.webkit.org/show_bug.cgi?id=72790
23753
23754        Reviewed by Eric Seidel.
23755
23756        Rename the target in this file to "newwtf" to avoid naming conflicts.
23757
23758        * WTF.gyp/WTF.gyp:
23759
237602011-11-19  Mark Rowe  <mrowe@apple.com>
23761
23762        WTF should have an Xcode project
23763        https://bugs.webkit.org/show_bug.cgi?id=71752
23764
23765        Reviewed by Adam Barth.
23766
23767        This adds an Xcode project that includes only Stub.cpp and Stub.h.
23768        They’re built in to a library at the appropriate path for each
23769        configuration (WebKitBuild/{Debug,Release}/libWTF.a and
23770        /usr/local/lib/libWTF.a) and headers are installed in to the
23771        appropriate location (WebKitBuild/{Debug,Release}/usr/local/include/wtf
23772        and /usr/local/include/wtf). I tested building WTF in this project and
23773        everything appears to build except for DateMath.cpp (due to bug 71747).
23774        I have not yet done any work on making JavaScriptCore and other
23775        projects use the built products of this new project.
23776
23777        * Configurations: Added.
23778        * Configurations/Base.xcconfig: Copied from Source/JavaScriptCore/Configurations/Base.xcconfig.
23779        * Configurations/CompilerVersion.xcconfig: Copied from Source/JavaScriptCore/Configurations/CompilerVersion.xcconfig.
23780        * Configurations/DebugRelease.xcconfig: Copied from Source/JavaScriptCore/Configurations/DebugRelease.xcconfig.
23781        * Configurations/WTF.xcconfig: Copied from Source/WebKit2/Configurations/Shim.xcconfig.
23782        * WTF.xcodeproj: Added.
23783        * WTF.xcodeproj/project.pbxproj: Added.
23784        * config.h: Copied from Source/JavaScriptCore/config.h.
23785        * icu: Added.
23786        * icu/LICENSE: Copied from Source/JavaScriptCore/icu/LICENSE.
23787        * icu/README: Copied from Source/JavaScriptCore/icu/README.
23788        * icu/unicode: Added.
23789        * icu/unicode/parseerr.h: Copied from Source/JavaScriptCore/icu/unicode/parseerr.h.
23790        * icu/unicode/platform.h: Copied from Source/JavaScriptCore/icu/unicode/platform.h.
23791        * icu/unicode/putil.h: Copied from Source/JavaScriptCore/icu/unicode/putil.h.
23792        * icu/unicode/uchar.h: Copied from Source/JavaScriptCore/icu/unicode/uchar.h.
23793        * icu/unicode/ucnv.h: Copied from Source/JavaScriptCore/icu/unicode/ucnv.h.
23794        * icu/unicode/ucnv_err.h: Copied from Source/JavaScriptCore/icu/unicode/ucnv_err.h.
23795        * icu/unicode/ucol.h: Copied from Source/JavaScriptCore/icu/unicode/ucol.h.
23796        * icu/unicode/uconfig.h: Copied from Source/JavaScriptCore/icu/unicode/uconfig.h.
23797        * icu/unicode/uenum.h: Copied from Source/JavaScriptCore/icu/unicode/uenum.h.
23798        * icu/unicode/uiter.h: Copied from Source/JavaScriptCore/icu/unicode/uiter.h.
23799        * icu/unicode/uloc.h: Copied from Source/JavaScriptCore/icu/unicode/uloc.h.
23800        * icu/unicode/umachine.h: Copied from Source/JavaScriptCore/icu/unicode/umachine.h.
23801        * icu/unicode/unorm.h: Copied from Source/JavaScriptCore/icu/unicode/unorm.h.
23802        * icu/unicode/urename.h: Copied from Source/JavaScriptCore/icu/unicode/urename.h.
23803        * icu/unicode/uscript.h: Copied from Source/JavaScriptCore/icu/unicode/uscript.h.
23804        * icu/unicode/uset.h: Copied from Source/JavaScriptCore/icu/unicode/uset.h.
23805        * icu/unicode/ustring.h: Copied from Source/JavaScriptCore/icu/unicode/ustring.h.
23806        * icu/unicode/utf.h: Copied from Source/JavaScriptCore/icu/unicode/utf.h.
23807        * icu/unicode/utf16.h: Copied from Source/JavaScriptCore/icu/unicode/utf16.h.
23808        * icu/unicode/utf8.h: Copied from Source/JavaScriptCore/icu/unicode/utf8.h.
23809        * icu/unicode/utf_old.h: Copied from Source/JavaScriptCore/icu/unicode/utf_old.h.
23810        * icu/unicode/utypes.h: Copied from Source/JavaScriptCore/icu/unicode/utypes.h.
23811        * icu/unicode/uversion.h: Copied from Source/JavaScriptCore/icu/unicode/uversion.h.
23812
238132011-11-03  Adam Barth  <abarth@webkit.org>
23814
23815        Add Stub.h and Stub.cpp to Source-level WTF project
23816        https://bugs.webkit.org/show_bug.cgi?id=71497
23817
23818        Reviewed by Eric Seidel.
23819
23820        This patch adds some stub files and a skelton GYP build file as a
23821        starting point for the new Source-level WTF project.  Other build
23822        systems and actual code will arrive in future patches.
23823
23824        * Stub.cpp: Added.
23825        * Stub.h: Added.
23826        * WTF.gyp/WTF.gyp: Added.
23827        * WTF.gypi: Added.
23828
238292011-11-02  Adam Barth  <abarth@webkit.org>
23830
23831        Add stubs for WTF and Platform
23832        https://bugs.webkit.org/show_bug.cgi?id=71492
23833
23834        Reviewed by Eric Seidel.
23835
23836        This patch creates the WTF directory, which begins the process of
23837        moving WTF out of JavaScriptCore.
23838