902c1d851e0e991539e68df77175b73bde38b2be
[WebKit-https.git] / Source / WTF / ChangeLog
1 2013-05-15  Oliver Hunt  <oliver@apple.com>
2
3         RefCountedArray needs to use vector initialisers for its backing store
4         https://bugs.webkit.org/show_bug.cgi?id=116194
5
6         Reviewed by Gavin Barraclough.
7
8         Use VectorOperations to operate on the backing store
9
10         * wtf/RefCountedArray.h:
11         (WTF::RefCountedArray::RefCountedArray):
12         (WTF::RefCountedArray::operator=):
13         (WTF::RefCountedArray::~RefCountedArray):
14
15 2013-05-15  Nico Weber  <thakis@chromium.org>
16
17         WebKit doesn't support MSVS2003 any more, remove preprocessor checks for older versions.
18         https://bugs.webkit.org/show_bug.cgi?id=116157
19
20         Reviewed by Anders Carlsson.
21
22         Also remove a gcc3.2 workaround.
23
24         Merges parts of these two commits by the talented Nico Weber:
25         https://chromium.googlesource.com/chromium/blink/+/3677e2f47348daeff405a40b6f90fbdf0654c2f5
26         https://chromium.googlesource.com/chromium/blink/+/0fcd96c448dc30be1416dcc15713c53710c1a312
27
28         * wtf/Alignment.h:
29         (WTF):
30         * wtf/Assertions.h:
31         * wtf/Atomics.h:
32         (WTF):
33         * wtf/Compiler.h:
34         * wtf/DateMath.cpp:
35         (WTF::getLocalTime):
36         * wtf/MathExtras.h:
37         * wtf/RefCountedLeakCounter.h:
38         (RefCountedLeakCounter):
39         * wtf/StaticConstructors.h:
40
41 2013-05-15  Patrick Gansterer  <paroga@webkit.org>
42
43         Consolidate lists in WTF CMake files
44         https://bugs.webkit.org/show_bug.cgi?id=116142
45
46         Reviewed by Martin Robinson.
47
48         Move common files into the CMakeLists.txt to avoid duplicating the list of files.
49         Also rebase the recently added GTK files to match the other CMake ports, since
50         the submitted patch was based on an older version of the source tree.
51
52         * wtf/CMakeLists.txt:
53         * wtf/PlatformBlackBerry.cmake:
54         * wtf/PlatformEfl.cmake:
55         * wtf/PlatformGTK.cmake:
56         * wtf/PlatformWinCE.cmake:
57
58 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
59
60         Remove WTF_USE_PLATFORM_STRATEGIES
61         https://bugs.webkit.org/show_bug.cgi?id=114431
62
63         Reviewed by Darin Adler.
64
65         * wtf/Platform.h:
66
67 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
68
69         [BlackBerry] Use requestAnimationFrame for animations
70         https://bugs.webkit.org/show_bug.cgi?id=115896
71
72         Reviewed by Rob Buis.
73
74         * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER and
75         WTF_USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR for BlackBerry
76         port.
77
78 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
79
80         [BlackBerry] Implement platform strategies
81         https://bugs.webkit.org/show_bug.cgi?id=112162
82
83         Reviewed by Rob Buis.
84
85         * wtf/Platform.h: Add BlackBerry platform to the list of platforms
86         using platform strategies.
87
88 2013-05-13  Benjamin Poulain  <benjamin@webkit.org>
89
90         Improve stringProtoFuncLastIndexOf for the prefix case
91         https://bugs.webkit.org/show_bug.cgi?id=115952
92
93         Reviewed by Geoffrey Garen.
94
95         Add an optimized version of StringImpl::startsWith() for JavaScriptCore.
96
97         * wtf/text/StringImpl.cpp:
98         (WTF::StringImpl::startsWith):
99         * wtf/text/StringImpl.h:
100         (StringImpl):
101         (WTF::StringImpl::startsWith):
102         * wtf/text/WTFString.h:
103         (WTF::String::startsWith):
104
105 2013-05-13  Carlos Garcia Campos  <cgarcia@igalia.com>
106
107         Unreviewed. Fix Qt Linux MIPS32R2 build after r149879.
108
109         Bring back GLIB_CHECK_VERSION for GBytes since Qt Linux MIPS32R2
110         depends on glib 2.24.2.
111
112         * wtf/gobject/GRefPtr.cpp:
113         (_GBytes):
114         (WTF::refGPtr):
115         (WTF::derefGPtr):
116
117 2013-05-13  Anders Carlsson  <andersca@apple.com>
118
119         Remove UnusedParam.h
120         https://bugs.webkit.org/show_bug.cgi?id=116029
121
122         Reviewed by Andreas Kling.
123
124         Remove UnusedParam.h, it's empty now.
125
126         * GNUmakefile.list.am:
127         * WTF.pro:
128         * WTF.vcproj/WTF.vcproj:
129         * WTF.vcxproj/WTF.vcxproj:
130         * WTF.vcxproj/WTF.vcxproj.filters:
131         * WTF.xcodeproj/project.pbxproj:
132         * wtf/CMakeLists.txt:
133         * wtf/UnusedParam.h: Removed.
134
135 2013-05-13  Zalan Bujtas  <zalan@apple.com>
136
137         WebProcess consuming very high CPU on linkedin.com
138         https://bugs.webkit.org/show_bug.cgi?id=115601
139
140         Reviewed by Andreas Kling.
141
142         Disable WEB_TIMING_MINIMAL.
143         Turn off window.performance and performance.now(). Some JS frameworks expect
144         additional Web Timing APIs, when performance.now() is available.
145
146         * wtf/FeatureDefines.h:
147
148 2013-05-12  Anders Carlsson  <andersca@apple.com>
149
150         Stop including UnusedParam.h
151         https://bugs.webkit.org/show_bug.cgi?id=116003
152
153         Reviewed by Sam Weinig.
154
155         UnusedParam.h is empty now so there's no need to include it anymore.
156
157         * wtf/Atomics.h:
158         * wtf/BoundsCheckedPointer.h:
159         * wtf/DateMath.h:
160         * wtf/FastMalloc.cpp:
161         * wtf/NumberOfCores.cpp:
162         * wtf/OSAllocator.h:
163         * wtf/OSAllocatorPosix.cpp:
164         * wtf/PageAllocation.h:
165         * wtf/RefCounted.h:
166         * wtf/TCSystemAlloc.cpp:
167         * wtf/ThreadingPthreads.cpp:
168         * wtf/Vector.h:
169         * wtf/dtoa/cached-powers.cc:
170         * wtf/dtoa/fixed-dtoa.cc:
171
172 2013-05-12  Anders Carlsson  <andersca@apple.com>
173
174         Move UNUSED_PARAM and UNUSED_LABEL macros to Compiler.h
175         https://bugs.webkit.org/show_bug.cgi?id=115997
176
177         Reviewed by Benjamin Poulain.
178
179         UnusedParam.h predates Compiler.h and the macros defined there should just go into Compiler.h
180
181         * wtf/Compiler.h:
182         (unusedParam):
183         * wtf/UnusedParam.h:
184
185 2013-05-12  Anders Carlsson  <andersca@apple.com>
186
187         Remove Complex.h from WTF
188         https://bugs.webkit.org/show_bug.cgi?id=115989
189
190         Reviewed by Beth Dakin.
191
192         Complex.h contains a typedef and a single function (that already has an equivalent in the STL).
193         The header is used by three files in WebCore, so just use std::complex<double> and std::polar directly.
194
195         * GNUmakefile.list.am:
196         * WTF.vcproj/WTF.vcproj:
197         * WTF.vcxproj/WTF.vcxproj:
198         * WTF.vcxproj/WTF.vcxproj.filters:
199         * WTF.xcodeproj/project.pbxproj:
200         * wtf/CMakeLists.txt:
201         * wtf/Complex.h: Removed.
202
203 2013-05-11  Martin Robinson  <mrobinson@igalia.com>
204
205         [GTK] Add a basic cmake build for WTF and JavaScriptCore
206         https://bugs.webkit.org/show_bug.cgi?id=115967
207
208         Reviewed by Laszlo Gombos.
209
210         * wtf/PlatformGTK.cmake: Added.
211
212 2013-05-11  Martin Robinson  <mrobinson@igalia.com>
213
214         Move defines to platform
215
216         [GTK] Move defines that will never be configured to Platform.h
217         https://bugs.webkit.org/show_bug.cgi?id=115965
218
219         Reviewed by Andreas Kling.
220
221         * wtf/Platform.h: Add new defines that were previously in the autoconf header.
222
223 2013-05-12  Anders Carlsson  <andersca@apple.com>
224
225         Simplify AutodrainedPool
226         https://bugs.webkit.org/show_bug.cgi?id=115986
227
228         Reviewed by Andreas Kling.
229
230         Remove the ability to cycle an AutodrainedPool, as well as the iteration count.
231         Creating and draining pools is fast enough now that we don't need to try to be clever about it.
232
233         * wtf/AutodrainedPool.h:
234         (AutodrainedPool):
235         (WTF::AutodrainedPool::AutodrainedPool):
236         * wtf/AutodrainedPoolMac.mm:
237         (WTF::AutodrainedPool::AutodrainedPool):
238
239 2013-05-12  Anders Carlsson  <andersca@apple.com>
240
241         Move RemoteMemoryReader into FastMalloc.cpp
242         https://bugs.webkit.org/show_bug.cgi?id=115985
243
244         Reviewed by Andreas Kling.
245
246         RemoteMemoryReader is only used in FastMalloc.cpp, and even had one of its member functions
247         implemented there, so move the entire class template there and remove MallocZoneSupport.h.
248
249         * GNUmakefile.list.am:
250         * WTF.pro:
251         * WTF.vcproj/WTF.vcproj:
252         * WTF.vcxproj/WTF.vcxproj:
253         * WTF.vcxproj/WTF.vcxproj.filters:
254         * WTF.xcodeproj/project.pbxproj:
255         * wtf/CMakeLists.txt:
256         * wtf/FastMalloc.cpp:
257         (WTF):
258         (PageHeapAllocator):
259         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
260         * wtf/MallocZoneSupport.h: Removed.
261
262 2013-05-10  Laszlo Gombos  <l.gombos@samsung.com>
263
264         Remove USE(OS_RANDOMNESS)
265         https://bugs.webkit.org/show_bug.cgi?id=108095
266
267         Reviewed by Darin Adler.
268
269         Remove the USE(OS_RANDOMNESS) guard as it is turned on for all
270         ports.
271
272         * wtf/CryptographicallyRandomNumber.cpp:
273         (WTF::cryptographicallyRandomValues):
274         * wtf/CryptographicallyRandomNumber.h:
275         * wtf/OSRandomSource.cpp:
276         (WTF::cryptographicallyRandomValuesFromOS):
277         * wtf/OSRandomSource.h:
278         * wtf/Platform.h:
279         * wtf/RandomNumber.cpp:
280         (WTF::randomNumber):
281         * wtf/RandomNumber.h:
282         * wtf/RandomNumberSeed.h:
283         (WTF::initializeRandomNumberGenerator):
284
285 2013-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
286
287         [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
288         https://bugs.webkit.org/show_bug.cgi?id=115904
289
290         Reviewed by Martin Robinson.
291
292         * wtf/gobject/GRefPtr.cpp:
293
294 2013-05-09  Darin Adler  <darin@apple.com>
295
296         RenderQuote has giant function for language to quotes map
297         https://bugs.webkit.org/show_bug.cgi?id=115807
298
299         Reviewed by Anders Carlsson.
300
301         * wtf/unicode/CharacterNames.h: Added a couple of character names.
302
303 2013-05-08  Michael Saboff  <msaboff@apple.com>
304
305         JSC: There should be a disassembler for ARM Thumb 2
306         https://bugs.webkit.org/show_bug.cgi?id=115827
307
308         Reviewed by Filip Pizlo.
309
310         Added a new disassembler for ARMv7 Thumb2 instructions for use by the JSC debugging
311         and profiling code.  Enabled the disassembler for IOS bulds.
312
313         * wtf/Platform.h:
314
315 2013-05-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
316
317         Simplify RetainPtrObjectHashTraits
318         https://bugs.webkit.org/show_bug.cgi?id=115822
319
320         Reviewed by Benjamin Poulain.
321
322         RetainPtrObjectHashTraits is inherited from SimpleClassHashTraits
323         instead of GenericHashTraits re-using more shared functionality.
324
325         * wtf/RetainPtr.h:
326         (WTF::RetainPtrObjectHashTraits::emptyValue):
327
328 2013-05-08  Anders Carlsson  <andersca@apple.com>
329
330         Assert at compile time that we don't pass Objective-C object pointers to adoptCF
331         https://bugs.webkit.org/show_bug.cgi?id=115823
332
333         Reviewed by Geoffrey Garen.
334
335         static_assert in adoptCF that the object passed in is not an Objective-C object.
336         * wtf/RetainPtr.h:
337
338 2013-05-08  Anders Carlsson  <andersca@apple.com>
339
340         Remove RetainPtr::adoptNS and RetainPtr::adoptCF
341         https://bugs.webkit.org/show_bug.cgi?id=115817
342
343         Reviewed by Jessie Berlin.
344
345         These functions are now unused so remove them. The preferred way to create a RetainPtr with an
346         adopted reference is to use the adoptNS/adoptCF free functions.
347         
348         Rewrite the move assignment operators to just call CFRelease explicitly.
349
350         * wtf/RetainPtr.h:
351
352 2013-05-08  Anders Carlsson  <andersca@apple.com>
353
354         Remove ThreadingNone.cpp
355
356         Rubber-stamped by Beth Dakin.
357
358         ThreadingNone.cpp is empty and not used anywhere.
359
360         * wtf/ThreadingNone.cpp: Removed.
361
362 2013-05-08  Anders Carlsson  <andersca@apple.com>
363
364         Remove HashMap::deleteAllKeys
365         https://bugs.webkit.org/show_bug.cgi?id=115806
366
367         Reviewed by Brent Fulgham.
368
369         This function was not used anywhere so let's get rid of it.
370
371         * wtf/HashMap.h:
372
373 2013-05-08  Eric Carlson  <eric.carlson@apple.com>
374
375         [Mac] Inband text tracks are not in track menu on Lion
376         https://bugs.webkit.org/show_bug.cgi?id=115740
377
378         Reviewed by Dean Jackson.
379
380         * wtf/Platform.h: AVFOUNDATION_TEXT_TRACK_SUPPORT -> AVFOUNDATION_MEDIA_SELECTION_GROUP
381
382 2013-05-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
383
384         HashTraits<RefPtr<P> >::peek should consider empty value
385         https://bugs.webkit.org/show_bug.cgi?id=115799
386
387         Reviewed by Darin Adler.
388
389         HashTraits<RefPtr<P> >::peek() should consider passing of empty value which is
390         raw pointer equal to '0', and return it right away instead of converting it to RefPtr
391         and invoking get().
392
393         * wtf/HashTraits.h:
394
395 2013-05-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
396
397         Avoid unnecessary arguments copying inside GenericHashTraits methods
398         https://bugs.webkit.org/show_bug.cgi?id=115733
399
400         Reviewed by Darin Adler.
401
402         Before the change both WTF::GenericHashTraits::passOut and WTF::GenericHashTraits::passOut
403         used to return the given argument always by value and that caused implicit extra
404         copying of the argument. It was OK as long as argument type T was POD, as compiler
405         could optimize it, but in case T was a class having non-trivial copy constructor the
406         extra copying of the argument could not have been obviated.
407
408         The proposed solution is to provide overloaded functions that accept non-temporary
409         values and return them by reference thus avoiding extra copying.
410
411         The proposed solution made an impact on the size of libjavascriptcore_efl.so (EFL
412         release build): the size decreased from 6554992 bytes to 6554560 bytes.
413
414         * wtf/HashTraits.h:
415         (WTF::GenericHashTraits::passOut): 
416         (WTF::GenericHashTraits::peek):
417
418 2013-05-07  Anders Carlsson  <andersca@apple.com>
419
420         Remove AlwaysInline.h from WTF
421         https://bugs.webkit.org/show_bug.cgi?id=115727
422
423         Reviewed by Brent Fulgham.
424
425         The macro that used to be in AlwaysInline.h is now in Compiler.h so there's no reason
426         to keep AlwaysInline.h around anymore.
427
428         * WTF.vcproj/WTF.vcproj:
429         * WTF.vcxproj/WTF.vcxproj:
430         * WTF.vcxproj/WTF.vcxproj.filters:
431         * WTF.xcodeproj/project.pbxproj:
432         * wtf/AlwaysInline.h: Removed.
433         * wtf/BloomFilter.h:
434         * wtf/FastMalloc.cpp:
435         * wtf/PassRefPtr.h:
436         * wtf/dtoa.cpp:
437         * wtf/gobject/GRefPtr.h:
438
439 2013-05-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
440
441         HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
442         https://bugs.webkit.org/show_bug.cgi?id=115646
443
444         Reviewed by Darin Adler.
445
446         HashTraits<RefPtr<P> >::PeekType should be raw pointer so that we
447         can obviate multiple RefPtr copying when invoking HashMap<.., RefPtr>::get()
448         method.
449
450         * wtf/HashTraits.h:
451
452 2013-05-06  Cosmin Truta  <ctruta@blackberry.com>
453
454         Cherry-pick fixes to bignum from upstream
455         https://bugs.webkit.org/show_bug.cgi?id=115658
456
457         Reviewed by Darin Adler.
458
459         Cherry-picked the following change lists:
460
461         Fix bug in bignum implementation
462         http://codereview.chromium.org/13454019
463
464         Make VS2005 project files compile without errors
465         http://codereview.chromium.org/6286135
466
467         * wtf/dtoa/bignum.cc:
468
469 2013-05-06  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
470
471         Change HashTraits<RefPtr<P> >::PassOutType to PassRefPtr for better performance
472         https://bugs.webkit.org/show_bug.cgi?id=115410
473
474         Reviewed by Darin Adler.
475
476         The type HashTraits<RefPtr<P> >::PassOutType is PassRefPtr now to
477         avoid extra ref/unrefing on return from HashMap methods that transfer
478         ownership, such as take.
479
480         * wtf/HashTable.h:
481         (WTF::IdentityHashTranslator::equal):
482         * wtf/HashTraits.h:
483
484 2013-05-05  Anders Carlsson  <andersca@apple.com>
485
486         Remove Vector::prepend
487         https://bugs.webkit.org/show_bug.cgi?id=115618
488
489         Reviewed by Geoffrey Garen.
490
491         Given the performance characteristics of prepending something to a Vector, not having prepend
492         will hopefully make developers think about whether prepending is necessary at all. For example,
493         the functions in HexNumber.h were easily converted to using Vector::append and then Vector::reverse.
494
495         * wtf/HexNumber.h:
496         (WTF::appendUnsignedAsHex):
497         (WTF::appendUnsignedAsHexFixedSize):
498         * wtf/Vector.h:
499         (Vector):
500
501 2013-05-05  Anders Carlsson  <andersca@apple.com>
502
503         Remove the Vector::append overload that takes a Vector
504         https://bugs.webkit.org/show_bug.cgi?id=115535
505
506         Reviewed by Andreas Kling.
507
508         The Vector::append overload that takes a Vector conflicts with rvalues in C++11, so remove it and
509         replace calls to it with calls to appendVector.
510
511         * wtf/Vector.h:
512         (Vector):
513
514 2013-05-04  Andreas Kling  <akling@apple.com>
515
516         Unreviewed, rolling out r149563.
517         http://trac.webkit.org/changeset/149563
518         https://bugs.webkit.org/show_bug.cgi?id=115587
519
520         Broke LLInt build.
521
522         * wtf/text/StringImpl.h:
523         (StringImpl):
524
525 2013-05-04  Xan Lopez  <xlopez@igalia.com>
526
527         No need to declare JSC::LLInt::Data as friend class of WTF::StringImpl
528         https://bugs.webkit.org/show_bug.cgi?id=115587
529
530         Reviewed by Andreas Kling.
531
532         No need to declare LLInt::Data as friend class of WTF::StringImpl,
533         it does not use any private method/data member of the latter.
534
535         * wtf/text/StringImpl.h:
536         (StringImpl):
537
538 2013-05-03  Brent Fulgham  <bfulgham@webkit.org>
539
540         Make ThreadFunctionInvocation fast allocated.
541         https://bugs.webkit.org/show_bug.cgi?id=115552
542
543         Reviewed by Benjamin Poulain.
544
545         * wtf/ThreadFunctionInvocation.h:
546         (ThreadFunctionInvocation): Make Fast-allocated.
547
548 2013-05-03  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
549
550         Remove WTF::ListRefPtr class
551         https://bugs.webkit.org/show_bug.cgi?id=115516
552
553         Reviewed by Anders Carlsson.
554
555         ListRefPtr was used only by FontFamily class, besides it strongly depended
556         on FontFamily class semantics which made it non-generic and inappropriate
557         for being present inside WTF.
558
559         This patch removes WTF::ListRefPtr class and moves its the functionality
560         into FontFamily class.
561
562         * GNUmakefile.list.am:
563         * WTF.pro:
564         * WTF.vcproj/WTF.vcproj:
565         * WTF.vcxproj/WTF.vcxproj:
566         * WTF.vcxproj/WTF.vcxproj.filters:
567         * WTF.xcodeproj/project.pbxproj:
568         * wtf/CMakeLists.txt:
569         * wtf/Forward.h:
570         (WTF):
571         * wtf/ListRefPtr.h: Removed.
572
573 2013-05-02  Brent Fulgham  <bfulgham@webkit.org>
574
575         [WinCairo] Unreviewed build fix.
576
577         * WTF.vcxproj/WTF.vcxproj: Use WinCairo FeatureDefines
578         * WTF.vcxproj/WTF.vcxproj.filters: Use WinCairo FeatureDefines
579         * WTF.vcxproj/WTFDebugWinCairo.props: Added.
580         * WTF.vcxproj/WTFReleaseWinCairo.props: Added.
581
582 2013-05-02  Brent Fulgham  <bfulgham@webkit.org>
583
584         [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html
585         https://bugs.webkit.org/show_bug.cgi?id=115130
586
587         Reviewed by Tim Horton.
588
589         Windows is suffering from mismatched allocation/deallocation
590         between the system allocator and fastMalloc/fastFree.  By turning
591         off the global switch to fastMalloc, only classes specified to
592         honor fastMalloc/fastFree are affected, and other memory allocation
593         and freeing is done with consistent library calls.
594
595         * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for
596         the Windows build.
597
598 2013-05-02  Eric Carlson  <eric.carlson@apple.com>
599
600         Caption menu does not include in-band captions
601         https://bugs.webkit.org/show_bug.cgi?id=111934
602
603         Reviewed by Dean Jackson.
604
605         * wtf/Platform.h: Define HAVE_AVFOUNDATION_TEXT_TRACK_SUPPORT on 10.8 and higher. Added
606             HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT.
607
608 2013-05-02  Brent Fulgham  <bfulgham@webkit.org>
609
610         Make BloomFilter fast allocated.
611         https://bugs.webkit.org/show_bug.cgi?id=115519
612
613         Reviewed by Benjamin Poulain.
614
615         * wtf/BloomFilter.h:
616         (BloomFilter): Make BloomFilter Fast-allocated.
617
618 2013-05-01  Michael Saboff  <msaboff@apple.com>
619
620         FastMalloc.cpp should use system defined page size instead of literal constant
621         https://bugs.webkit.org/show_bug.cgi?id=115502
622
623         Reviewed by Geoffrey Garen.
624
625         Updated kPageShift to be PAGE_SHIFT for Mac.  Changed kMaxSize to be fixed at 32K.
626         Updated kNumClasses for 4K and 16K page sizes.
627
628         * wtf/FastMalloc.cpp:
629         kPageShift: Changed this to be PAGE_SHIFT on mac.
630
631 2013-05-01  Roger Fong  <roger_fong@apple.com>
632
633         Set Path in makefile for AppleWin.
634
635         * WTF.vcxproj/WTF.make:
636
637 2013-05-01  Anders Carlsson  <andersca@apple.com>
638
639         Add FunctionDispatcher class and make RunLoop derive from it
640         https://bugs.webkit.org/show_bug.cgi?id=115480
641
642         Reviewed by Sam Weinig.
643
644         Add FunctionDispatcher files.
645
646         * WTF.pro:
647         * WTF.vcproj/WTF.vcproj:
648         * WTF.vcxproj/WTF.vcxproj:
649         * WTF.xcodeproj/project.pbxproj:
650         * wtf/FunctionDispatcher.cpp: Added.
651         (WTF::FunctionDispatcher::FunctionDispatcher):
652         (WTF::FunctionDispatcher::~FunctionDispatcher):
653         * wtf/FunctionDispatcher.h: Added.
654
655 2013-05-01  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
656
657         [Qt][Win] Fix build after r149416.
658         https://bugs.webkit.org/show_bug.cgi?id=115474
659
660         Reviewed by Anders Carlsson.
661
662         * WTF.pro:
663         * wtf/threads/BinarySemaphore.h:
664         (BinarySemaphore):
665
666 2013-05-01  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
667
668         [Qt] Unreviewed buildfix after r149416.
669
670         * WTF.pro:
671
672 2013-04-30  Anders Carlsson  <andersca@apple.com>
673
674         Remove the WebKit2 BinarySemaphore class
675         https://bugs.webkit.org/show_bug.cgi?id=115458
676
677         Reviewed by Benjamin Poulain.
678
679         * wtf/Forward.h:
680         Add BinarySemaphore forward declaration.
681
682         * wtf/threads/BinarySemaphore.h:
683         Add WTF_EXPORT_PRIVATE to declarations.
684
685 2013-04-30  Commit Queue  <rniwa@webkit.org>
686
687         Unreviewed, rolling out r149408.
688         http://trac.webkit.org/changeset/149408
689         https://bugs.webkit.org/show_bug.cgi?id=115453
690
691         Broke Windows Build (Requested by bfulgham on #webkit).
692
693         * wtf/Platform.h:
694
695 2013-04-30  Brent Fulgham  <bfulgham@webkit.org>
696
697         [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html
698         https://bugs.webkit.org/show_bug.cgi?id=115130
699
700         Reviewed by Tim Horton.
701
702         Windows is suffering from mismatched allocation/deallocation
703         between the system allocator and fastMalloc/fastFree.  By turning
704         off the global switch to fastMalloc, only classes specified to
705         honor fastMalloc/fastFree are affected, and other memory allocation
706         and freeing is done with consistent library calls.
707
708         * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for
709         the Windows build.
710
711 2013-04-30  Commit Queue  <rniwa@webkit.org>
712
713         Unreviewed, rolling out r149349 and r149354.
714         http://trac.webkit.org/changeset/149349
715         http://trac.webkit.org/changeset/149354
716         https://bugs.webkit.org/show_bug.cgi?id=115444
717
718          The Thumb version of compileSoftModulo make invalid use of
719         registers (Requested by benjaminp on #webkit).
720
721         * wtf/Platform.h:
722
723 2013-04-30  Darin Adler  <darin@apple.com>
724
725         [Mac] Make adoptNS faster on platforms without garbage collection by skipping a CFRetain/NSRelease pair
726         https://bugs.webkit.org/show_bug.cgi?id=115424
727
728         Reviewed by Eric Carlson.
729
730         * wtf/RetainPtr.h:
731         (WTF::adoptNSReference): When OBJC_NO_GC is set, make this an empty function, because in that case
732         CFRetain and -[NSObject retain] are the same thing and there is no need to call CFRetain and
733         -[NSObject release] to adopt an Objective-C object.
734
735 2013-04-30  Anders Carlsson  <andersca@apple.com>
736
737         String::isolatedCopy() can avoid a copy if the original is a temporary
738         https://bugs.webkit.org/show_bug.cgi?id=115425
739
740         Reviewed by Darin Adler.
741
742         * wtf/Compiler.h:
743         Add WTF_COMPILER_SUPPORTS_CXX_REFERENCE_QUALIFIED_FUNCTIONS define.
744
745         * wtf/text/WTFString.cpp:
746         (WTF::String::isolatedCopy):
747         * wtf/text/WTFString.h:
748         If COMPILER_SUPPORTS(CXX_REFERENCE_QUALIFIED_FUNCTIONS) is true, add two overloads of String::isolatedCopy().
749         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
750         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,
751         and if it's refcount is 1), then we can just steal the StringImpl from the original and avoid a copy altogether.
752
753 2013-04-30  Zalan Bujtas  <zalan@apple.com>
754
755         Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/
756         https://bugs.webkit.org/show_bug.cgi?id=111244
757
758         Reviewed by David Kilzer.
759         
760         Enable performance.now() as a minimal subset of Web Timing API. 
761         It returns DOMHighResTimeStamp, a monotonically increasing value representing the 
762         number of milliseconds from the start of the navigation of the current document.
763         JS libraries use this API to check against the requestAnimationFrame() timestamp.
764
765         * wtf/FeatureDefines.h:
766
767 2013-04-29  Cosmin Truta  <ctruta@blackberry.com>
768
769         [ARM] Expand the use of integer division
770         https://bugs.webkit.org/show_bug.cgi?id=115138
771
772         Reviewed by Benjamin Poulain.
773
774         * wtf/Platform.h: Added ENABLE_ARM_INTEGER_DIV.
775
776 2013-04-29  Anders Carlsson  <andersca@apple.com>
777
778         It should be an error to use adoptPtr with RefCounted subclasses
779         https://bugs.webkit.org/show_bug.cgi?id=115389
780
781         Reviewed by Benjamin Poulain.
782
783         * wtf/PassOwnPtr.h:
784         (WTF::adoptPtr):
785         Add COMPILE_ASSERTs.
786
787 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
788
789         [WIN] Add workaround for UNUSED_PARAM()
790         https://bugs.webkit.org/show_bug.cgi?id=115350
791
792         Reviewed by Andreas Kling.
793
794         r147882 added an workaround for the MSVC compiler on Windows CE.
795         Extend this workaround to whole MSVC compiler, since the same
796         problem occurs with the Visual Studio 10 compiler too.
797
798         * wtf/UnusedParam.h:
799
800 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
801
802         [WIN] Add WTF_USE_IMLANG_FONT_LINK2
803         https://bugs.webkit.org/show_bug.cgi?id=115198
804
805         Reviewed by Andreas Kling.
806
807         * wtf/Platform.h:
808
809 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
810
811         Define USE(ICU_UNICODE) if USE(WCHAR_UNICODE) is false
812         https://bugs.webkit.org/show_bug.cgi?id=115349
813
814         Reviewed by Andreas Kling.
815
816         Since we support only ICU and WCHAR as Unicode backend (ICU is the default)
817         automatically use ICU if WCHAR was not selected via compiler defines.
818
819         * wtf/Platform.h:
820
821 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
822
823         Build fix for WinCE after r148888 and r149097
824         https://bugs.webkit.org/show_bug.cgi?id=115168
825
826         Reviewed by Anders Carlsson.
827
828         When using compiler intrinsics on Windows CE the compiler complains
829         about wrong linkage specification of replaced CRT functions defined
830         in math.h. This is because the compiler has intrinsics for this
831         functions defined, and requires them to have extern "C" linkage.
832
833         * wtf/MathExtras.h:
834         (wtf_atan2): Added extern "C" to function signature.
835         (wtf_fmod): Ditto.
836         (wtf_pow): Ditto.
837
838 2013-04-29  Carlos Garcia Campos  <cgarcia@igalia.com>
839
840         Unreviewed. Fix make distcheck.
841
842         * GNUmakefile.list.am: Add missing header file to compilation.
843
844 2013-04-27  Darin Adler  <darin@apple.com>
845
846         Move from constructor and member function adoptCF/NS to free function adoptCF/NS.
847         https://bugs.webkit.org/show_bug.cgi?id=115307
848
849         Reviewed by Geoffrey Garen.
850
851         * wtf/RunLoopTimerCF.cpp:
852         (WTF::RunLoopTimerBase::start):
853         * wtf/SchedulePair.h:
854         (WTF::SchedulePair::SchedulePair):
855         * wtf/SchedulePairMac.mm:
856         (WTF::SchedulePair::SchedulePair):
857         * wtf/unicode/icu/CollatorICU.cpp:
858         (WTF::Collator::userDefault):
859         Use adoptCF free function.
860
861 2013-04-26  Geoffrey Garen  <ggaren@apple.com>
862
863         Filled out more cases of branch folding in bytecode when emitting expressions into a branching context
864         https://bugs.webkit.org/show_bug.cgi?id=115057
865
866         Reviewed by Filip Pizlo.
867
868         Added a helper constructor for TriState so clients can make one without
869         branching or making assumptions about the integer values of TriStates.
870
871         * wtf/TriState.h:
872         (WTF::triState):
873         (WTF):
874
875 2013-04-26  Roger Fong  <roger_fong@apple.com>
876
877         Make Apple Windows VS2010 build results into and get dependencies from __32 suffixed folders.
878         Make the DebugSuffix configuration use _debug dependencies.
879
880         * WTF.vcxproj/WTF.make:
881         * WTF.vcxproj/WTF.vcxproj:
882         * WTF.vcxproj/WTFCommon.props:
883         * WTF.vcxproj/WTFDebug.props:
884         * WTF.vcxproj/WTFGenerated.make:
885         * WTF.vcxproj/WTFGenerated.vcxproj:
886         * WTF.vcxproj/WTFGeneratedCommon.props:
887         * WTF.vcxproj/WTFGeneratedDebug.props:
888         * WTF.vcxproj/WTFGeneratedProduction.props:
889         * WTF.vcxproj/WTFGeneratedRelease.props:
890         * WTF.vcxproj/WTFProduction.props:
891         * WTF.vcxproj/WTFRelease.props:
892         * WTF.vcxproj/build-generated-files.sh:
893         * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
894         (react_to_vsprops_changes):
895
896 2013-04-26  Martin Robinson  <mrobinson@igalia.com>
897
898         Remove the remaining Skia #ifdefs
899         https://bugs.webkit.org/show_bug.cgi?id=114886
900
901         Reviewed by Benjamin Poulain.
902
903         * wtf/Platform.h:
904
905 2013-04-26  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
906
907         Add move semantics to RefPtr
908         https://bugs.webkit.org/show_bug.cgi?id=115033
909
910         Reviewed by Anders Carlsson.
911
912         Add move constructors and move assignment operators to RefPtr when
913         COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES).
914         This obviates unnecessary reffing/ureffing when RefPtr is created
915         or assigned from rvalue references.
916
917         * wtf/RefPtr.h:
918         (RefPtr):
919         (WTF::RefPtr::RefPtr):
920         (WTF::RefPtr::operator=):
921
922 2013-04-26  Andreas Kling  <akling@apple.com>
923
924         Remove wxWebKit from WTF.
925         <http://webkit.org/b/115249>
926
927         Reviewed by Antti Koivisto.
928
929         * wscript: Removed.
930         * wtf/ArrayBufferView.h:
931         (ArrayBufferView):
932         * wtf/CurrentTime.cpp:
933         * wtf/DisallowCType.h:
934         * wtf/ExportMacros.h:
935         * wtf/FeatureDefines.h:
936         * wtf/Platform.h:
937         * wtf/text/WTFString.h:
938         (String):
939         * wtf/wx/MainThreadWx.cpp: Removed.
940         * wtf/wx/StringWx.cpp: Removed.
941
942 2013-04-25  Filip Pizlo  <fpizlo@apple.com>
943
944         Unreviewed, roll out http://trac.webkit.org/changeset/148999
945         It broke http://kripken.github.io/ammo.js/examples/new/ammo.html
946
947         * wtf/TriState.h:
948
949 2013-04-25  Oliver Hunt  <oliver@apple.com>
950
951         Fix 32bit build
952
953         * wtf/StackBounds.cpp:
954         (WTF::StackBounds::initialize):
955
956 2013-04-25  Oliver Hunt  <oliver@apple.com>
957
958         Stack guards are too conservative
959         https://bugs.webkit.org/show_bug.cgi?id=115147
960
961         Reviewed by Mark Hahnenberg.
962
963         Use getrlimit on darwin to get the stack size for the main thread.
964
965         * wtf/StackBounds.cpp:
966         (WTF::StackBounds::initialize):
967
968 2013-04-25  Andreas Kling  <akling@apple.com>
969
970         Remove ENABLE(PARSED_STYLE_SHEET_CACHING) and make it always-on.
971
972         Rubber-stamped by Anders Koivisto.
973
974         * wtf/FeatureDefines.h:
975
976 2013-04-25  peavo@outlook.com  <peavo@outlook.com>
977
978         [Windows] Compile fix.
979         https://bugs.webkit.org/show_bug.cgi?id=115170
980
981         Reviewed by Filip Pizlo.
982
983         Forward declare function, instead of including intrin.h.
984
985         * wtf/Atomics.h:
986
987 2013-04-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
988
989         Use std::move in AtomicString
990         https://bugs.webkit.org/show_bug.cgi?id=115102
991
992         Reviewed by Anders Carlsson.
993
994         Use std::move in AtomicString instead of direct casting to rvalue references.
995
996         * wtf/text/AtomicString.h:
997         (AtomicString):
998         (WTF::AtomicString::AtomicString):
999         (WTF::AtomicString::operator=):
1000
1001 2013-04-25  Patrick Gansterer  <paroga@webkit.org>
1002
1003         Unreviewed WinCE build fix after r148888.
1004
1005         * wtf/Atomics.h: WinCE version of intrin.h is called cmnintrin.h.
1006
1007 2013-04-24  Roger Fong  <roger_fong@apple.com>
1008
1009         Have VS2010 WebKit solution look in WebKit_Libraries/lib32 for dependencies.
1010
1011         * WTF.vcxproj/build-generated-files.sh:
1012
1013 2013-04-24  Benjamin Poulain  <benjamin@webkit.org>
1014
1015         Use post-branch store for RefCountedBase::derefBase
1016         https://bugs.webkit.org/show_bug.cgi?id=115078
1017
1018         Reviewed by Andreas Kling.
1019
1020         * wtf/RefCounted.h:
1021         (WTF::RefCountedBase::derefBase): This makes the assembly easier to follow.
1022
1023 2013-04-23  Geoffrey Garen  <ggaren@apple.com>
1024
1025         Filled out more cases of branch folding in bytecode when emitting expressions into a branching context
1026         https://bugs.webkit.org/show_bug.cgi?id=115057
1027
1028         Reviewed by Filip Pizlo.
1029
1030         Added a helper constructor for TriState so clients can make one without
1031         branching or making assumptions about the integer values of TriStates.
1032
1033         * wtf/TriState.h:
1034         (WTF::triState):
1035         (WTF):
1036
1037 2013-04-23  Roger Fong  <roger_fong@apple.com>
1038
1039         AppleWin build fix.
1040
1041         * WTF.vcproj/WTF.vcproj:
1042
1043 2013-04-23  Benjamin Poulain  <bpoulain@apple.com>
1044
1045         Remove unused code of RefCounted after chromium removal
1046         https://bugs.webkit.org/show_bug.cgi?id=115009
1047
1048         Reviewed by Ryosuke Niwa.
1049
1050         * wtf/RefCounted.h:
1051         (WTF::RefCountedBase::refCount):
1052         (RefCountedBase):
1053         It looks like addressOfCount() is no longer needed.
1054         Also change the type back to unsigned as it make more sense.
1055
1056 2013-04-23  David Kilzer  <ddkilzer@apple.com>
1057
1058         RetainPtr.h should compile with -Wshorten-64-to-32
1059         <http://webkit.org/b/115047>
1060
1061         Reviewed by Anders Carlsson.
1062
1063         Fixes the following warning:
1064
1065             RetainPtr.h:318:20: error: implicit conversion loses integer precision: 'CFHashCode' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
1066                         return CFHash(o.get());
1067                         ~~~~~~ ^~~~~~~~~~~~~~~
1068
1069         * wtf/RetainPtr.h:
1070         (WTF::RetainPtrObjectHash::hash): Cast return value of CFHash()
1071         to unsigned.  This has no effect on 32-bit architectures, but
1072         takes the lower 32-bits of the CFHashCode (unsigned long) on
1073         64-bit architectures, which is what happens implicitly now.
1074
1075 2013-04-22  Patrick Gansterer  <paroga@webkit.org>
1076
1077         [CMake] Move NullPtr.cpp from PlatformWinCE.cmake to CMakeLists.txt
1078         https://bugs.webkit.org/show_bug.cgi?id=114557
1079
1080         Reviewed by Laszlo Gombos.
1081
1082         This file is not specific to Windwos CE. Move it the the general
1083         CMakeLists.txt so other ports can use it to. It does not affect
1084         ports which do not need it, since it contains a preprocessor guard.
1085
1086         * wtf/CMakeLists.txt:
1087         * wtf/PlatformWinCE.cmake:
1088
1089 2013-04-22  Benjamin Poulain  <benjamin@webkit.org>
1090
1091         Remove the memory instrumentation code
1092         https://bugs.webkit.org/show_bug.cgi?id=114931
1093
1094         Reviewed by Andreas Kling.
1095
1096         On Mac x86_64, the code removal cause the binary to be
1097         9224 bytes smaller.
1098
1099         * GNUmakefile.list.am:
1100         * WTF.pro:
1101         * WTF.vcproj/WTF.vcproj:
1102         * WTF.vcxproj/WTF.vcxproj:
1103         * WTF.vcxproj/WTF.vcxproj.filters:
1104         * WTF.xcodeproj/project.pbxproj:
1105         * wtf/CMakeLists.txt:
1106         * wtf/Forward.h:
1107         * wtf/ListHashSet.h:
1108         (ListHashSet):
1109         (ListHashSetNodeAllocator):
1110         (WTF::ListHashSetNodeAllocator::pool):
1111         (WTF::ListHashSetNodeAllocator::pastPool):
1112         * wtf/MemoryInstrumentation.cpp: Removed.
1113         * wtf/MemoryInstrumentation.h: Removed.
1114         * wtf/MemoryInstrumentationArrayBufferView.h: Removed.
1115         * wtf/MemoryInstrumentationHashCountedSet.h: Removed.
1116         * wtf/MemoryInstrumentationHashMap.h: Removed.
1117         * wtf/MemoryInstrumentationHashSet.h: Removed.
1118         * wtf/MemoryInstrumentationListHashSet.h: Removed.
1119         * wtf/MemoryInstrumentationSequence.h: Removed.
1120         * wtf/MemoryInstrumentationString.h: Removed.
1121         * wtf/MemoryInstrumentationVector.h: Removed.
1122         * wtf/MemoryObjectInfo.h: Removed.
1123         * wtf/text/AtomicString.h:
1124         * wtf/text/StringImpl.h:
1125         (WTF::StringImpl::isASCIILiteral):
1126         * wtf/text/WTFString.h:
1127
1128 2013-04-22  David Kilzer  <ddkilzer@apple.com>
1129
1130         StringImpl.h should compile with -Wshorten-64-to-32
1131         <http://webkit.org/b/114970>
1132
1133         Reviewed by Darin Adler.
1134
1135         Fixes the following warnings with -Wshorten-64-to-32:
1136
1137             StringImpl.h:317:25: error: implicit conversion loses integer precision: 'uintptr_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
1138                     unsigned hash = reinterpret_cast<uintptr_t>(this);
1139                              ~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1140
1141         * wtf/text/StringImpl.h:
1142         (WTF::StringImpl::StringImpl): Add static_cast<uint32_t>() to
1143         formalize taking the lower 32-bits of the pointer value on
1144         64-bit architectures.
1145
1146 2013-04-22  Andreas Kling  <akling@apple.com>
1147
1148         Shrink baseline size of WTF::Vector on 64-bit by switching to unsigned capacity and size.
1149         <http://webkit.org/b/97268>
1150         <rdar://problem/12376519>
1151
1152         Reviewed by Sam Weinig.
1153
1154         Shrink Vector by 8 bytes on 64-bit by using 32-bit capacity and size.
1155         Vector now inherits from VectorBuffer instead of having a VectorBuffer member;
1156         this is necessary for m_size to fall into the padding after the base class members.
1157
1158         The WTF::Vector API still uses size_t.
1159
1160         Based on Blink r148313 by <cevans@chromium.org>.
1161
1162         * wtf/SizeLimits.cpp:
1163         * wtf/Vector.h:
1164         (WTF::VectorBufferBase::allocateBuffer):
1165         (WTF::VectorBufferBase::tryAllocateBuffer):
1166         (VectorBufferBase):
1167         (WTF::VectorBuffer::shouldReallocateBuffer):
1168         (Vector):
1169         (WTF::Vector::Vector):
1170         (WTF::Vector::capacity):
1171         (WTF::Vector::at):
1172         (WTF::Vector::data):
1173         (WTF::Vector::swap):
1174         (WTF::::Vector):
1175         (WTF::::reserveCapacity):
1176         (WTF::::tryReserveCapacity):
1177         (WTF::::reserveInitialCapacity):
1178         (WTF::::shrinkCapacity):
1179         (WTF::::releaseBuffer):
1180
1181 2013-04-21  Filip Pizlo  <fpizlo@apple.com>
1182
1183         Memory barrier support should also ensure that we always do a compiler fence
1184         https://bugs.webkit.org/show_bug.cgi?id=114934
1185
1186         Reviewed by Michael Saboff.
1187         
1188         This is a cherry-pick merge of the WTF part of r148836 from the dfgFourthTier
1189         branch. It fixes a memory ordering bug that is likely asymptomatic, but
1190         nonetheless real: TCSpinLock expects that using a memoryBarrierBeforeUnlock()
1191         prior to setting lockword_ to 0 will ensure that the assignment to lockword_
1192         won't get floated above any of the stores in the critical section. While that
1193         memory barrier does indeed do the right thing on ARM, it doesn't do the right
1194         thing on other architectures: it turns into empty code that the compiler blows
1195         away, which is fine for the hardware since X86 won't reorder that store - but
1196         it's not fine for the compiler, which may still do its own reorderings.
1197         
1198         The WTF part of r148836 fixes this by using a compiler fence: an empty asm
1199         volatile block that is marked as clobbering memory.
1200         
1201         Instead of doing a separate surgical fix in trunk, I decided to merge the
1202         whole WTF change over, to make merging easier in the future.
1203         
1204         Performance testing of this change in dfgFourthTier showed no regression.
1205
1206         * wtf/Atomics.h:
1207         (WTF::compilerFence):
1208         (WTF::armV7_dmb):
1209         (WTF::armV7_dmb_st):
1210         (WTF::loadLoadFence):
1211         (WTF::loadStoreFence):
1212         (WTF::storeLoadFence):
1213         (WTF::storeStoreFence):
1214         (WTF::memoryBarrierAfterLock):
1215         (WTF::memoryBarrierBeforeUnlock):
1216         (WTF::x86_mfence):
1217
1218 2013-04-22  David Kilzer  <ddkilzer@apple.com>
1219
1220         WTF::AtomicString::find() should take unsigned 'start' argument
1221         <http://webkit.org/b/114958>
1222
1223         Reviewed by Darin Adler.
1224
1225         Fixes the following warnings with -Wshorten-64-to-32:
1226
1227             AtomicString.h:113:76: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
1228                 size_t find(UChar c, size_t start = 0) const { return m_string.find(c, start); }
1229                                                                       ~~~~~~~~         ^~~~~
1230             AtomicString.h:115:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
1231                     { return m_string.find(s, start, caseSentitive); }
1232                              ~~~~~~~~         ^~~~~
1233             AtomicString.h:117:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
1234                     { return m_string.find(s, start, caseSentitive); }
1235                              ~~~~~~~~         ^~~~~
1236
1237         * wtf/text/AtomicString.h:
1238         (WTF::AtomicString::find): Change type of 'start' argument from
1239         size_t to unsigned.
1240
1241 2013-04-21  Benjamin Poulain  <benjamin@webkit.org>
1242
1243         Improve StringImpl code density for older ARM hardware
1244         https://bugs.webkit.org/show_bug.cgi?id=114898
1245
1246         Reviewed by Geoffrey Garen.
1247
1248         Reduce the number of instructions needed for StringImpl::deref
1249         on older ARM hardware.
1250
1251         The extra indirection should have a negligible impact on x86_64.
1252
1253         * wtf/text/StringImpl.cpp:
1254         (WTF::StringImpl::destroy):
1255         * wtf/text/StringImpl.h:
1256         (StringImpl):
1257         (WTF::StringImpl::deref):
1258
1259 2013-04-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1260
1261         LLint should be able to use x87 instead of SSE for floating pointer
1262         https://bugs.webkit.org/show_bug.cgi?id=112239
1263
1264         Reviewed by Filip Pizlo.
1265
1266         Disable GTK workaround now that LLInt does not require SSE2.
1267
1268         * wtf/Platform.h:
1269
1270 2013-04-19  Roger Fong  <roger_fong@apple.com>
1271
1272         Remove uses of WebKit_Source from AppleWin build in WTF.
1273
1274         * WTF.vcxproj/WTF.make:
1275         * WTF.vcxproj/copy-files.cmd:
1276         * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
1277         (react_to_vsprops_changes):
1278         (react_to_webkit1_interface_changes):
1279
1280 2013-04-19  Benjamin Poulain  <benjamin@webkit.org>
1281
1282         Remove the declaration of MemoryObjectInfo from StringImpl
1283         https://bugs.webkit.org/show_bug.cgi?id=114788
1284
1285         Reviewed by Andreas Kling.
1286
1287         * wtf/text/StringImpl.h: The declaration is an other left over from chromium.
1288
1289 2013-04-19  Benjamin Poulain  <benjamin@webkit.org>
1290
1291         Make StringImpl::cost const
1292         https://bugs.webkit.org/show_bug.cgi?id=114790
1293
1294         Reviewed by Andreas Kling.
1295
1296         * wtf/text/StringImpl.h:
1297         (WTF::StringImpl::cost):
1298
1299 2013-04-19  Roger Fong  <roger_fong@apple.com>
1300
1301         Unreviewed. WebKit_Source is incorrectly set.
1302
1303         * WTF.vcxproj/WTF.make:
1304
1305 2013-04-19  Alberto Garcia  <agarcia@igalia.com>
1306
1307         OSAllocatorPosix: fix build warnings about unused parameters in QNX
1308         https://bugs.webkit.org/show_bug.cgi?id=114859
1309
1310         Reviewed by Carlos Garcia Campos.
1311
1312         * wtf/OSAllocatorPosix.cpp:
1313         (WTF::OSAllocator::reserveUncommitted):
1314
1315 2013-04-19  Dan Beam  <dbeam@chromium.org>
1316
1317         Remove unmaintained feature REQUEST_AUTOCOMPLETE
1318         https://bugs.webkit.org/show_bug.cgi?id=114846
1319
1320         Reviewed by Kent Tamura.
1321
1322         * wtf/FeatureDefines.h: Remove REQUEST_AUTOCOMPLETE as a feature definition.
1323
1324 2013-04-18  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
1325
1326         Speculative build fix for Qt Mountain Lion Release after r148639.
1327         https://bugs.webkit.org/show_bug.cgi?id=114793
1328
1329         Reviewed by Michael Saboff.
1330
1331         * wtf/CurrentTime.cpp:
1332
1333 2013-04-17  Mark Lam  <mark.lam@apple.com>
1334
1335         Added currentCPUTime() and currentCPUTimeMS().
1336         https://bugs.webkit.org/show_bug.cgi?id=114577.
1337
1338         Reviewed by Geoffrey Garen.
1339
1340         The currentCPUTime() implementation came from the old TimeoutChecker.cpp.
1341
1342         * wtf/CurrentTime.cpp:
1343         (WTF::currentCPUTime):
1344         (WTF::currentCPUTimeMS):
1345         * wtf/CurrentTime.h:
1346
1347 2013-04-17  Ryosuke Niwa  <rniwa@webkit.org>
1348
1349         REGRESSION(r148584): WebKit nightly builds don't load any page
1350         https://bugs.webkit.org/show_bug.cgi?id=114752
1351
1352         Reviewed by Anders Carlsson.
1353
1354         We can't use C++ style (//) comments in Platform.h because WebKit2/DerivedSource.make doesn't know
1355         how to strip it to be merged with *.sb.in to generate *.sb files. Specifically, we have:
1356         
1357         # Some versions of clang incorrectly strip out // comments in c89 code.
1358         # Use -traditional as a workaround, but only when needed since that causes
1359         # other problems with later versions of clang.
1360         ifeq ($(shell echo '//x' | $(CC) -E -P -x c -std=c89 - | grep x),)
1361         TEXT_PREPROCESSOR_FLAGS=-E -P -x c -traditional -w
1362         else
1363         TEXT_PREPROCESSOR_FLAGS=-E -P -x c -std=c89 -w
1364         endif
1365
1366         * wtf/Platform.h:
1367
1368 2013-04-17  Brent Fulgham  <bfulgham@webkit.org>
1369
1370         [Windows, WinCairo] Remove Include Settings for Pthreads from WTF
1371         https://bugs.webkit.org/show_bug.cgi?id=114694
1372
1373         Reviewed by Ryosuke Niwa.
1374
1375         * WTF.vcproj/WTFCommon.vsprops: Remove pthread search path.
1376         * WTF.vcxproj/WTFCommon.props: Remove pthread search path.
1377         * wtf/FastMalloc.cpp: Guard pthread.h include for non-pthread
1378         builds.
1379
1380 2013-04-16  Oliver Hunt  <oliver@apple.com>
1381
1382         Harden FastMalloc against partial pointer overflows
1383         https://bugs.webkit.org/show_bug.cgi?id=114716
1384
1385         Reviewed by Gavin Barraclough.
1386
1387         Bite the bullet and perform object alignment checks on free.
1388         malloc/free micro benchmark shows a regression, but real
1389         benchmarks don't.  There's a little code motion in this avoid
1390         taking too much of a performance hit.  In addition to the
1391         alignment check we also validate the containing span as
1392         we've already taken the hit of finding it.
1393
1394         * wtf/FastMalloc.cpp:
1395         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1396
1397 2013-04-16  Sam Weinig  <sam@webkit.org>
1398
1399         Fix fallout after r148545.
1400
1401         * wtf/Platform.h:
1402         Move Platform defines that were incorrectly in WebCore, into Platform.h
1403
1404 2013-04-15  Commit Queue  <rniwa@webkit.org>
1405
1406         Unreviewed, rolling out r148488.
1407         http://trac.webkit.org/changeset/148488
1408         https://bugs.webkit.org/show_bug.cgi?id=114660
1409
1410         Roll back in r148462 since it was a false positive. (Requested
1411         by rniwa on #webkit).
1412
1413         * wtf/FastMalloc.cpp:
1414         (WTF):
1415         (WTF::setThreadHeap):
1416         (WTF::TCMalloc_ThreadCache::GetThreadHeap):
1417         (WTF::TCMalloc_ThreadCache::InitTSD):
1418         * wtf/ThreadSpecificWin.cpp:
1419         (WTF::destructorsList):
1420         (WTF::destructorsMutex):
1421         (WTF::threadSpecificKeyCreate):
1422         (WTF::threadSpecificKeyDelete):
1423
1424 2013-04-15  Commit Queue  <rniwa@webkit.org>
1425
1426         Unreviewed, rolling out r148462.
1427         http://trac.webkit.org/changeset/148462
1428         https://bugs.webkit.org/show_bug.cgi?id=114658
1429
1430         Broke Windows builds (Requested by rniwa on #webkit).
1431
1432         * wtf/FastMalloc.cpp:
1433         (WTF):
1434         (WTF::setThreadHeap):
1435         (WTF::TCMalloc_ThreadCache::GetThreadHeap):
1436         (WTF::TCMalloc_ThreadCache::InitTSD):
1437         * wtf/ThreadSpecificWin.cpp:
1438         (WTF::destructorsList):
1439         (WTF::destructorsMutex):
1440         (WTF::threadSpecificKeyCreate):
1441         (WTF::threadSpecificKeyDelete):
1442
1443 2013-04-15  Julien Brianceau  <jbrianceau@nds.com>
1444
1445         LLInt SH4 backend implementation
1446         https://bugs.webkit.org/show_bug.cgi?id=112886
1447
1448         Reviewed by Oliver Hunt.
1449
1450         * wtf/Platform.h:
1451
1452 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
1453
1454         [CMake] Add WTF_USE_*_UNICODE variables
1455         https://bugs.webkit.org/show_bug.cgi?id=114556
1456
1457         Reviewed by Brent Fulgham.
1458
1459         WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to
1460         reduce duplication in the platform specific CMake files.
1461
1462         * wtf/CMakeLists.txt:
1463         * wtf/PlatformBlackBerry.cmake:
1464         * wtf/PlatformEfl.cmake:
1465         * wtf/PlatformWinCE.cmake:
1466
1467 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
1468
1469         [WIN] Remove remaining calls to pthread from WTF
1470         https://bugs.webkit.org/show_bug.cgi?id=114563
1471
1472         Reviewed by Brent Fulgham.
1473
1474         Replace pthread_key_create with threadSpecificKeyCreate and
1475         pthread_setspecific with threadSpecificSet from ThreadSpecific.h.
1476         These functions provide a windows-specific implementation for the pthread functions,
1477         but require that the thread has been created with WTF::createThread(),
1478         which is the case for all threads created within WebKit.
1479         To call this function from fastMalloc we must not call fastMalloc in them.
1480         To fulfill this constraint ThreadSpecificWin will allocated its memory through the
1481         original malloc implementation and use the stack for local and static variables.
1482         Keep the Darwin implementation as it is, since it contains some performance tweaks.
1483
1484         * wtf/FastMalloc.cpp:
1485         * wtf/ThreadSpecificWin.cpp:
1486         (WTF::destructorsList):
1487         (WTF::destructorsMutex):
1488         (WTF::threadSpecificKeyCreate):
1489         (WTF::threadSpecificKeyDelete):
1490
1491 2013-04-14  Oliver Hunt  <oliver@apple.com>
1492
1493         Try to fix non-apple windows builds
1494
1495         * wtf/Platform.h:
1496
1497 2013-04-14  David Kilzer  <ddkilzer@apple.com>
1498
1499         Add EnumClass.h to project files
1500         <http://webkit.org/b/114582>
1501
1502         Rubber-stamped by Dan Bernstein.
1503
1504         * WTF.pro: Add EnumClass.h to project.
1505         * WTF.vcproj/WTF.vcproj: Ditto.
1506         * WTF.vcxproj/WTF.vcxproj: Ditto.
1507         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
1508         * WTF.xcodeproj/project.pbxproj: Ditto.
1509
1510 2013-04-12  Oliver Hunt  <oliver@apple.com>
1511
1512         Apologies to all, I have no idea what happened to cause this change.
1513
1514         * wtf/Platform.h:
1515
1516 2013-04-12  Oliver Hunt  <oliver@apple.com>
1517
1518         [Qt][Win] r148257 broke the build
1519         https://bugs.webkit.org/show_bug.cgi?id=114512
1520
1521         Build fix.
1522
1523         * wtf/Platform.h:
1524
1525 2013-04-11  Oliver Hunt  <oliver@apple.com>
1526
1527         Add more type validation to debug builds
1528         https://bugs.webkit.org/show_bug.cgi?id=114478
1529
1530         Reviewed by Mark Hahnenberg.
1531
1532         Add BINDING_VALIDATION flag and make RELEASE_ASSERT use UNLIKELY.
1533
1534         * wtf/Assertions.h:
1535         * wtf/Platform.h:
1536
1537 2013-04-10  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1538
1539         [WTF] Get rid of truncated thread name warnings for non-Windows platforms
1540         https://bugs.webkit.org/show_bug.cgi?id=114266
1541
1542         Reviewed by Ryosuke Niwa.
1543
1544         Hide the annoying message from ports that are not really interested
1545         about it.
1546
1547         * wtf/Threading.cpp:
1548         (WTF::createThread):
1549
1550 2013-04-10  Benjamin Poulain  <bpoulain@apple.com>
1551
1552         Mass remove all the empty directories
1553
1554         Rubberstamped by Ryosuke Niwa.
1555
1556         * wtf/qt/compat: Removed.
1557         * wtf/unicode/glib: Removed.
1558         * wtf/unicode/qt4: Removed.
1559         * wtf/unicode/wince: Removed.
1560
1561 2013-04-08  Anders Carlsson  <andersca@apple.com>
1562
1563         Remove unneeded headers from FrameLoader.h
1564         https://bugs.webkit.org/show_bug.cgi?id=114223
1565
1566         Reviewed by Geoffrey Garen.
1567
1568         * wtf/Forward.h:
1569         Add PrintStream.
1570
1571         * wtf/HashTable.h:
1572         Don't include DataLog.h unless DUMP_HASHTABLE_STATS_PER_TABLE is 1.
1573
1574 2013-04-10  Laszlo Gombos  <l.gombos@samsung.com>
1575
1576         Remove ENABLE_3D_PLUGIN
1577         https://bugs.webkit.org/show_bug.cgi?id=108002
1578
1579         Reviewed by Antti Koivisto.
1580
1581         Remove ENABLE_3D_PLUGIN, it was only used by Chromium.
1582
1583         * wtf/FeatureDefines.h:
1584
1585 2013-04-09  Patrick Gansterer  <paroga@webkit.org>
1586
1587         [CMake] Remove conditional source file lists in WTF
1588         https://bugs.webkit.org/show_bug.cgi?id=114250
1589
1590         Reviewed by Laszlo Gombos.
1591
1592         Use the #ifdef in the source file instead of conditional adding
1593         files to the list of source files. This allows us to remove the
1594         information of enabled features from CMake in next step.
1595
1596         * wtf/CMakeLists.txt:
1597
1598 2013-04-08  Ryosuke Niwa  <rniwa@webkit.org>
1599
1600         Remove WTF.gyp/WTF.gypi
1601         https://bugs.webkit.org/show_bug.cgi?id=114237
1602
1603         Reviewed by Maciej Stachowiak.
1604
1605         * WTF.gyp: Removed.
1606         * WTF.gyp/.gitignore: Removed.
1607         * WTF.gyp/WTF.gyp: Removed.
1608         * WTF.gypi: Removed.
1609
1610 2013-04-08  Benjamin Poulain  <benjamin@webkit.org>
1611
1612         Remove HTML Notification
1613         https://bugs.webkit.org/show_bug.cgi?id=114231
1614
1615         Reviewed by Ryosuke Niwa.
1616
1617         * wtf/FeatureDefines.h:
1618
1619 2013-04-08  Benjamin Poulain  <benjamin@webkit.org>
1620
1621         wtf/dtoa/* uses a confusing name to reference its buffers
1622         https://bugs.webkit.org/show_bug.cgi?id=109709
1623
1624         Reviewed by Darin Adler.
1625
1626         The data structure Vector in wtf/dtoa has nothing to do with a traditional
1627         vector, is it just a pointer and the length of the pointed buffer.
1628
1629         Rename it to BufferReference to avoid mistakes.
1630
1631         * wtf/dtoa/bignum-dtoa.cc:
1632         * wtf/dtoa/bignum-dtoa.h:
1633         * wtf/dtoa/bignum.cc:
1634         * wtf/dtoa/bignum.h:
1635         (Bignum):
1636         * wtf/dtoa/double-conversion.cc:
1637         * wtf/dtoa/fast-dtoa.cc:
1638         * wtf/dtoa/fast-dtoa.h:
1639         * wtf/dtoa/fixed-dtoa.cc:
1640         * wtf/dtoa/fixed-dtoa.h:
1641         (double_conversion):
1642         * wtf/dtoa/strtod.cc:
1643         * wtf/dtoa/strtod.h:
1644         (double_conversion):
1645         * wtf/dtoa/utils.h:
1646         (double_conversion):
1647         (WTF::double_conversion::BufferReference::BufferReference):
1648         (WTF::double_conversion::BufferReference::SubBufferReference):
1649         (StringBuilder):
1650
1651 2013-04-08  Alberto Garcia  <agarcia@igalia.com>
1652
1653         [BlackBerry] MathExtras: macros defined in math.h conflict with the real functions
1654         https://bugs.webkit.org/show_bug.cgi?id=112683
1655
1656         Reviewed by Darin Adler.
1657
1658         After calls to signbit and friends were prefixed with std:: in
1659         r143232, the BlackBerry port no longer compiles.
1660
1661         The solution is to get rid of the macros defined in math.h and use
1662         the real functions instead.
1663
1664         * wtf/MathExtras.h:
1665
1666 2013-04-08  Max Vujovic  <mvujovic@adobe.com>
1667
1668         REGRESSION (r147502): Animations of CA filters broken
1669         https://bugs.webkit.org/show_bug.cgi?id=114067
1670
1671         Reviewed by Dean Jackson.
1672
1673         Revert r147502 [1] because it broke CA filter animations.
1674         
1675         [1]: http://trac.webkit.org/changeset/147502
1676
1677         * wtf/Platform.h:
1678
1679 2013-04-08  Andreas Kling  <akling@apple.com>
1680
1681         REGRESSION(r147894): Broke WTFReportBacktrace() on Mac.
1682         <http://webkit.org/b/114174>
1683
1684         Reviewed by Anders Carlsson.
1685
1686         An #elif !OS(ANDROID) block was erroneously removed, turn it into an #else instead since
1687         that path will still be taken for OS(DARWIN).
1688
1689         * wtf/Assertions.cpp:
1690
1691 2013-04-08  Oliver Hunt  <oliver@apple.com>
1692
1693         Build fix.
1694
1695         Remove unnecessary include of <wtf/Forward.h> from Vector.h
1696
1697         * wtf/Vector.h:
1698
1699 2013-04-08  Csaba Osztrogonác  <ossy@webkit.org>
1700
1701         Unreviewed trivial buildfix after r147799.
1702
1703         Add an ifdef guard to ensure Qt uses its own monotonicallyIncreasingTime()
1704         implemenation instead of the GLIB based one.
1705
1706         * wtf/CurrentTime.cpp:
1707         (WTF):
1708
1709 2013-04-07  Benjamin Poulain  <benjamin@webkit.org>
1710
1711         Remove the android code from WebKit Template Framework
1712         https://bugs.webkit.org/show_bug.cgi?id=114138
1713
1714         Reviewed by Dirk Schulze.
1715
1716         * wtf/Assertions.cpp:
1717         * wtf/Atomics.h:
1718         * wtf/MathExtras.h:
1719         * wtf/Platform.h:
1720         * wtf/ThreadIdentifierDataPthreads.cpp:
1721
1722 2013-04-07  Oliver Hunt  <oliver@apple.com>
1723
1724         Add bounds checking for WTF::Vector::operator[]
1725         https://bugs.webkit.org/show_bug.cgi?id=89600
1726
1727         Reviewed by Filip Pizlo.
1728
1729         Add a template parameter to Vector<> that controls whether
1730         bounds checking is performed in release builds or not.
1731         Defaults to crashing on overflow.
1732
1733         * wtf/Forward.h:
1734         (WTF):
1735         * wtf/Vector.h:
1736         (WTF):
1737         (Vector):
1738         (WTF::Vector::at):
1739         (WTF::Vector::removeLast):
1740         (WTF::::Vector):
1741         (WTF::=):
1742         (WTF::::contains):
1743         (WTF::::find):
1744         (WTF::::reverseFind):
1745         (WTF::::fill):
1746         (WTF::::appendRange):
1747         (WTF::::expandCapacity):
1748         (WTF::::tryExpandCapacity):
1749         (WTF::::resize):
1750         (WTF::::shrink):
1751         (WTF::::grow):
1752         (WTF::::reserveCapacity):
1753         (WTF::::tryReserveCapacity):
1754         (WTF::::reserveInitialCapacity):
1755         (WTF::::shrinkCapacity):
1756         (WTF::::append):
1757         (WTF::::tryAppend):
1758         (WTF::::appendSlowCase):
1759         (WTF::::uncheckedAppend):
1760         (WTF::::appendVector):
1761         (WTF::::insert):
1762         (WTF::::prepend):
1763         (WTF::::remove):
1764         (WTF::::reverse):
1765         (WTF::::releaseBuffer):
1766         (WTF::::checkConsistency):
1767         (WTF::deleteAllValues):
1768         (WTF::swap):
1769         (WTF::operator==):
1770         (WTF::operator!=):
1771
1772 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
1773
1774         [WIN] Fix problems with export macros of AutodrainedPool
1775         https://bugs.webkit.org/show_bug.cgi?id=114132
1776
1777         Reviewed by Geoffrey Garen.
1778
1779         Exporting an inline function results in an error with the MS compiler.
1780
1781         * wtf/AutodrainedPool.h:
1782         (AutodrainedPool):
1783         (WTF::AutodrainedPool::AutodrainedPool):
1784         (WTF::AutodrainedPool::~AutodrainedPool):
1785         (WTF::AutodrainedPool::cycle):
1786
1787 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
1788
1789         [WinCE] Add workaround for UNUSED_PARAM()
1790         https://bugs.webkit.org/show_bug.cgi?id=113440
1791
1792         Reviewed by Benjamin Poulain.
1793
1794         The MSVC compiler for Windwos CE throws an error when
1795         an function parameter is passed to UNUSED_PARAM() and
1796         its type is only forward declared.
1797
1798         * wtf/UnusedParam.h:
1799
1800 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
1801
1802         Do not check if WTF_ARM_ARCH_VERSION is defined in WTF_ARM_ARCH_AT_LEAST macro
1803         https://bugs.webkit.org/show_bug.cgi?id=114127
1804
1805         Reviewed by Benjamin Poulain.
1806
1807         Platform.h defines WTF_ARM_ARCH_VERSION for CPU(ARM) always and removing
1808         the check works around a bug in older Microsoft compiler versions.
1809
1810         * wtf/Platform.h:
1811
1812 2013-04-07  David Kilzer  <ddkilzer@apple.com>
1813
1814         Remove the rest of SVG_DOM_OBJC_BINDINGS
1815         <http://webkit.org/b/114112>
1816
1817         Reviewed by Geoffrey Garen.
1818
1819         * wtf/FeatureDefines.h:
1820         - Remove ENABLE_SVG_DOM_OBJC_BINDINGS macro.
1821
1822 2013-04-06  Geoffrey Garen  <ggaren@apple.com>
1823
1824         Removed v8 bindings hooks from IDL files
1825         https://bugs.webkit.org/show_bug.cgi?id=114091
1826
1827         Reviewed by Anders Carlsson and Sam Weinig.
1828
1829         * wtf/ArrayBuffer.h:
1830         (WTF):
1831         (WTF::ArrayBufferContents::ArrayBufferContents):
1832         (WTF::ArrayBufferContents::transfer):
1833         (ArrayBufferContents):
1834         (ArrayBuffer):
1835         (WTF::ArrayBufferContents::~ArrayBufferContents):
1836         * wtf/Platform.h:
1837
1838 2013-04-05  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1839
1840         [GTK] Change from PLATFORM(GTK) to USE(GLIB) in WTF/CurrentTime.cpp
1841         https://bugs.webkit.org/show_bug.cgi?id=114061
1842
1843         Reviewed by Gustavo Noronha Silva.
1844
1845         Now other ports using GLib can use the correct implementation
1846         and not the fallback one without adding any other PLATFORM guards
1847         here.
1848
1849         * wtf/CurrentTime.cpp:
1850         (WTF):
1851
1852 2013-04-05  Geoffrey Garen  <ggaren@apple.com>
1853
1854         Made USE(JSC) unconditional
1855         https://bugs.webkit.org/show_bug.cgi?id=114058
1856
1857         Reviewed by Anders Carlsson.
1858
1859         * wtf/ThreadRestrictionVerifier.h:
1860         (WTF):
1861         * wtf/WTFThreadData.cpp:
1862         (WTF::WTFThreadData::WTFThreadData):
1863         (WTF::WTFThreadData::~WTFThreadData):
1864         * wtf/WTFThreadData.h:
1865         (WTFThreadData):
1866         * wtf/text/StringImpl.cpp:
1867         (WTF::StringImpl::~StringImpl):
1868
1869 2013-04-05  Roger Fong  <roger_fong@apple.com>
1870
1871         More VS2010 solution makefile fixes.
1872         <rdar://problem/13588964>
1873
1874         * WTF.vcxproj/WTF.make:
1875
1876 2013-04-05  Anders Carlsson  <andersca@apple.com>
1877
1878         Remove more dead Chromium code from WTF
1879         https://bugs.webkit.org/show_bug.cgi?id=114037
1880
1881         Reviewed by Allan Sandfeld Jensen.
1882
1883         * wtf/CurrentTime.cpp:
1884         (WTF):
1885         * wtf/DisallowCType.h:
1886         * wtf/ExportMacros.h:
1887         * wtf/MainThread.cpp:
1888         * wtf/Platform.h:
1889
1890 2013-04-05  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1891
1892         [EFL] Disable GLOBAL_FAST_MALLOC_NEW by default.
1893         https://bugs.webkit.org/show_bug.cgi?id=114031
1894
1895         Reviewed by Alexis Menard.
1896
1897         Follow what some other ports already do and avoid globally overriding
1898         the `new' and `delete' operators with the ones in FastMalloc.
1899
1900         In many cases, third-party or client code allocates memory with
1901         standard library calls but the memory gets deleted by FastMalloc,
1902         causing a crash. The reverse (ie. memory being allocated by FastMalloc
1903         and freed by the system libraries) is also possible.
1904
1905         Commits 135666 and 121018 provide more information about this, as well
1906         as comment 6 in bug 89358.
1907
1908         * wtf/Platform.h:
1909
1910 2013-04-05  Benjamin Poulain  <bpoulain@apple.com>
1911
1912         Remove WTFURL from WebKit
1913         https://bugs.webkit.org/show_bug.cgi?id=113994
1914
1915         Reviewed by Ryosuke Niwa.
1916
1917         Painful, but that is for the best now :(
1918
1919         * GNUmakefile.list.am:
1920         * WTF.xcodeproj/project.pbxproj:
1921         * wtf/MemoryInstrumentationParsedURL.h: Removed.
1922         * wtf/url/api/ParsedURL.cpp: Removed.
1923         * wtf/url/api/ParsedURL.h: Removed.
1924         * wtf/url/api/URLBuffer.h: Removed.
1925         * wtf/url/api/URLQueryCharsetConverter.h: Removed.
1926         * wtf/url/api/URLString.cpp: Removed.
1927         * wtf/url/api/URLString.h: Removed.
1928         * wtf/url/src/RawURLBuffer.h: Removed.
1929         * wtf/url/src/URLCanon.h: Removed.
1930         * wtf/url/src/URLCanonEtc.cpp: Removed.
1931         * wtf/url/src/URLCanonFilesystemurl.cpp: Removed.
1932         * wtf/url/src/URLCanonFileurl.cpp: Removed.
1933         * wtf/url/src/URLCanonHost.cpp: Removed.
1934         * wtf/url/src/URLCanonICU.cpp: Removed.
1935         * wtf/url/src/URLCanonIP.cpp: Removed.
1936         * wtf/url/src/URLCanonInternal.cpp: Removed.
1937         * wtf/url/src/URLCanonInternal.h: Removed.
1938         * wtf/url/src/URLCanonMailto.cpp: Removed.
1939         * wtf/url/src/URLCanonPath.cpp: Removed.
1940         * wtf/url/src/URLCanonPathurl.cpp: Removed.
1941         * wtf/url/src/URLCanonQuery.cpp: Removed.
1942         * wtf/url/src/URLCanonRelative.cpp: Removed.
1943         * wtf/url/src/URLCanonStdURL.cpp: Removed.
1944         * wtf/url/src/URLCharacterTypes.cpp: Removed.
1945         * wtf/url/src/URLCharacterTypes.h: Removed.
1946         * wtf/url/src/URLComponent.h: Removed.
1947         * wtf/url/src/URLFile.h: Removed.
1948         * wtf/url/src/URLParse.cpp: Removed.
1949         * wtf/url/src/URLParse.h: Removed.
1950         * wtf/url/src/URLParseFile.cpp: Removed.
1951         * wtf/url/src/URLParseInternal.h: Removed.
1952         * wtf/url/src/URLSegments.cpp: Removed.
1953         * wtf/url/src/URLSegments.h: Removed.
1954         * wtf/url/src/URLUtil.cpp: Removed.
1955         * wtf/url/src/URLUtil.h: Removed.
1956         * wtf/url/src/URLUtilInternal.h: Removed.
1957
1958 2013-04-04  Geoffrey Garen  <ggaren@apple.com>
1959
1960         Nixed the defunct chromium folder from WTF
1961         https://bugs.webkit.org/show_bug.cgi?id=113992
1962
1963         Reviewed by Ryosuke Niwa.
1964
1965         * wtf/chromium: Removed.
1966         * wtf/chromium/ChromiumThreading.h: Removed.
1967         * wtf/chromium/MainThreadChromium.cpp: Removed.
1968
1969 2013-04-04  Martin Robinson  <mrobinson@igalia.com>
1970
1971         [GTK] Remove the gyp build
1972         https://bugs.webkit.org/show_bug.cgi?id=113942
1973
1974         Reviewed by Gustavo Noronha Silva.
1975
1976         * WTF.gyp/WTFGTK.gyp: Removed.
1977
1978 2013-04-04  Anders Carlsson  <andersca@apple.com>
1979
1980         ObjcRuntimeExtras.h should use variadic templates
1981         https://bugs.webkit.org/show_bug.cgi?id=113941
1982
1983         Reviewed by Andreas Kling.
1984
1985         Reimplement wtfObjcMsgSend and wtfCallIMP as variadic function templates.
1986
1987         * wtf/ObjcRuntimeExtras.h:
1988         (wtfObjcMsgSend):
1989         (wtfCallIMP):
1990
1991 2013-04-04  Andras Becsi  <andras.becsi@digia.com>
1992
1993         Fix the build with GCC 4.8
1994         https://bugs.webkit.org/show_bug.cgi?id=113147
1995
1996         Reviewed by Allan Sandfeld Jensen.
1997
1998         Disable diagnostic warning -Wunused-local-typedefs for GCC 4.8
1999         since dummy typedefs are commonly used in the codebase.
2000
2001         * wtf/Compiler.h:
2002
2003 2013-04-03  Pratik Solanki  <psolanki@apple.com>
2004
2005         Enable HAVE_MADV_FREE_REUSE on iOS
2006         https://bugs.webkit.org/show_bug.cgi?id=113892
2007         <rdar://problem/12787563>
2008
2009         Reviewed by Mark Rowe.
2010
2011         * wtf/Platform.h:
2012
2013 2013-04-02  Ryosuke Niwa  <rniwa@webkit.org>
2014
2015         Remove code for Mac 10.5 and earlier from WTF and WebKit2
2016         https://bugs.webkit.org/show_bug.cgi?id=113844
2017
2018         Reviewed by Benjamin Poulain.
2019
2020         Removed the code for 10.5 and removed if-def for 10.6.
2021
2022         * wtf/FastMalloc.cpp:
2023         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2024         * wtf/Platform.h:
2025         * wtf/ThreadingPthreads.cpp:
2026         (WTF::initializeCurrentThreadInternal):
2027         * wtf/unicode/icu/CollatorICU.cpp:
2028         (WTF::Collator::userDefault):
2029
2030 2013-04-02  Max Vujovic  <mvujovic@adobe.com>
2031
2032         [CSS Filters] Filter outsets clipped on composited layers when filter is applied after first layout
2033         https://bugs.webkit.org/show_bug.cgi?id=109098
2034
2035         Reviewed by Dean Jackson.
2036
2037         * wtf/Platform.h:
2038             Add flag for HAVE(COMPOSITOR_FILTER_OUTSETS) macro. This is used to check if a
2039             platform's compositor expands layers internally for filter outsets when it applies
2040             filters like drop-shadow and blur. Currently, only CoreAnimation does has this
2041             capability.
2042
2043 2013-04-02  Yury Semikhatsky  <yurys@chromium.org>
2044
2045         Web Inspector: memory instrumentation for external arrays is broken
2046         https://bugs.webkit.org/show_bug.cgi?id=113790
2047
2048         Reviewed by Pavel Feldman.
2049
2050         * wtf/MemoryInstrumentationArrayBufferView.h: report buffer pointer as retaining one as
2051         we know that the pointer is not broken.
2052         (WTF::reportMemoryUsage):
2053
2054 2013-04-01  Han Shen  <shenhan@google.com>
2055
2056         Move definition of nested classes that inherit enclosing class outside class definition.
2057         https://bugs.webkit.org/show_bug.cgi?id=113454
2058
2059         Reviewed by Benjamin Poulain.
2060
2061         HashMap.h does not build on GCC 4.8. Inside this file,
2062         HashMapKeysProxy and HashMapValuesProxy are defined as nested
2063         class inside HashMap - which is legal - the illegal part is that
2064         these 2 classes inherit HashMap, that is the enclosing class, that
2065         causes "reference to in-complete definition" error.
2066
2067         The fix is to move outside the definition of these 2 classes, and
2068         leave only declaration part inside HashMap as is illustrated below -
2069
2070           template class <typename T>
2071           class HashMap {
2072             ... ...
2073             ... ...
2074           private:
2075             class HashMapKeysProxy;
2076
2077             // ERROR - nested class inherits enclosing class.
2078             class HashMapKeysProxy : private HashMap {
2079                 ... ...
2080             };
2081             ... ...
2082             ... ...
2083             class HashMapKeysProxy : private HashMap {
2084                 ... ...
2085             };
2086             ... ...
2087             ... ...
2088           };
2089
2090         Fixed as below:
2091           template class <typename T>
2092           class HashMap {
2093             ... ...
2094             ... ...
2095           private:
2096             class HashMapKeysProxy;
2097             class HashMapValuesProxy;
2098
2099             ... ...
2100             ... ...
2101           };
2102
2103           template <typename T>
2104           class HashMap<T>::HashMapKeysProxy : private HashMap<T> {
2105             ... ...
2106           };
2107
2108           template <typename T>
2109           class HashMap<T>::HashMapValuesProxy : private HashMap<T> {
2110             ... ...
2111           };
2112
2113         * wtf/HashMap.h:
2114         (HashMap):
2115         (WTF): Factor out nested class definition from enclosing class.
2116
2117 2013-03-31  Mark Hahnenberg  <mhahnenberg@apple.com>
2118
2119         Regions should be allocated from the same contiguous segment of virtual memory
2120         https://bugs.webkit.org/show_bug.cgi?id=113662
2121
2122         Reviewed by Filip Pizlo.
2123
2124         Instead of letting the OS spread our Regions all over the place, we should allocate them all within 
2125         some range of each other. This change will open the door to some other optimizations, e.g. doing simple 
2126         range checks for our write barriers and compressing JSCell pointers to 32-bits.
2127
2128         * wtf/MetaAllocator.cpp: Changed the MetaAllocator to allow custom page sizes if the derived class wants to
2129         use something other than the system page size.
2130         (WTF::MetaAllocator::MetaAllocator):
2131         * wtf/MetaAllocator.h:
2132         (MetaAllocator):
2133
2134 2013-04-01  Yury Semikhatsky  <yurys@chromium.org>
2135
2136         Web Inspector: add memory instrumentation for StringBuffer
2137         https://bugs.webkit.org/show_bug.cgi?id=113507
2138
2139         Reviewed by Pavel Feldman.
2140
2141         Added memory instrumentation for StringBuffer.
2142
2143         * wtf/MemoryInstrumentationString.h:
2144         (WTF):
2145         (WTF::reportMemoryUsage):
2146
2147 2013-03-30  Tom Sepez  <tsepez@chromium.org>
2148
2149         View-source iframes are dangerous (and not very useful).
2150         https://bugs.webkit.org/show_bug.cgi?id=113345
2151
2152         Reviewed by Adam Barth.
2153
2154         * wtf/FeatureDefines.h:
2155         Default definition of ENABLE_VIEWSOURCE_ATTRIBUTE is enabled.
2156
2157 2013-03-27  Patrick Gansterer  <paroga@webkit.org>
2158
2159         Set WTF_ARM_ARCH_VERSION to correct value when used with MSVC
2160         https://bugs.webkit.org/show_bug.cgi?id=113436
2161
2162         Reviewed by Benjamin Poulain.
2163
2164         The Microsoft compiler defines _M_ARM with used ARM version.
2165
2166         * wtf/Platform.h:
2167
2168 2013-03-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2169
2170         Support C++11 static_assert
2171         https://bugs.webkit.org/show_bug.cgi?id=113308
2172
2173         Reviewed by Alexey Proskuryakov.
2174
2175         Use the C++11 static_assert for COMPILE_ASSERT when it is available. Note that
2176         even when compiling with C++11 support, static_assert will not always be available
2177         since Assertions.h may also be used outside of C++.
2178
2179         C11 _Static_assert is enabled for GCC when it has C11 support (gcc>=4.7 -std=c11).
2180
2181         * wtf/Assertions.h:
2182         * wtf/Compiler.h:
2183
2184 2013-03-25  Oliver Hunt  <oliver@apple.com>
2185
2186         RefCountedArray needs a size based constructor
2187         https://bugs.webkit.org/show_bug.cgi?id=113277
2188
2189         Reviewed by Benjamin Poulain.
2190
2191         Simple patch to add a size based constructor for RefCountedArray
2192         so that we can create an sharable array without a copy.
2193
2194         * wtf/RefCountedArray.h:
2195         (RefCountedArray):
2196         (WTF::RefCountedArray::RefCountedArray):
2197
2198 2013-03-26  James Robinson  <jamesr@chromium.org>
2199
2200         Compile fix - OS(WINDOWS), not OS(WIN).
2201
2202         * wtf/ProcessID.h:
2203         (WTF::getCurrentProcessID):
2204
2205 2013-03-26  James Robinson  <jamesr@chromium.org>
2206
2207         Fix compile for OS(WIN) != PLATFORM(WIN)
2208         https://bugs.webkit.org/show_bug.cgi?id=113356
2209
2210         Reviewed by Tim Horton.
2211
2212         * wtf/ProcessID.h:
2213         (WTF::getCurrentProcessID):
2214
2215 2013-03-23  Filip Pizlo  <fpizlo@apple.com>
2216
2217         JSC_enableProfiler=true should also cause JSGlobalData to save the profiler output somewhere
2218         https://bugs.webkit.org/show_bug.cgi?id=113144
2219
2220         Reviewed by Geoffrey Garen.
2221         
2222         I got tired of the fact that getpid(2) is not a syscall on Windows (unless you do
2223         _getpid() I believe), so I wrote a header that abstracts it. I also changed existing
2224         code that uses getpid() to use WTF::getCurrentProcessID().
2225
2226         * GNUmakefile.list.am:
2227         * WTF.gypi:
2228         * WTF.pro:
2229         * WTF.vcproj/WTF.vcproj:
2230         * WTF.xcodeproj/project.pbxproj:
2231         * wtf/CMakeLists.txt:
2232         * wtf/MetaAllocator.cpp:
2233         (WTF::MetaAllocator::dumpProfile):
2234         * wtf/ProcessID.h: Added.
2235         (WTF):
2236         (WTF::getCurrentProcessID):
2237         * wtf/text/StringImpl.cpp:
2238         (WTF::StringStats::printStats):
2239
2240 2013-03-25  Kent Tamura  <tkent@chromium.org>
2241
2242         Rename ENABLE_INPUT_TYPE_DATETIME
2243         https://bugs.webkit.org/show_bug.cgi?id=113254
2244
2245         Reviewed by Kentaro Hara.
2246
2247         Rename ENABLE_INPUT_TYPE_DATETIME to ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE.
2248         Actually I'd like to remove the code, but we shouldn't remove it yet
2249         because we shipped products with it on some platforms.
2250
2251         * wtf/FeatureDefines.h:
2252
2253 2013-03-25  David Kilzer  <ddkilzer@apple.com>
2254
2255         WTF::binarySearchImpl() should compile with -Wshorten-64-to-32
2256         <http://webkit.org/b/113170>
2257
2258         Reviewed by Dan Bernstein.
2259
2260         Fixes the following build failure:
2261
2262             /usr/local/include/wtf/StdLibExtras.h:190:30: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
2263                     int pos = (size - 1) >> 1;
2264                         ~~~   ~~~~~~~~~~~^~~~
2265             1 error generated.
2266
2267         * wtf/StdLibExtras.h:
2268         (WTF::binarySearchImpl): Switch type from int to size_t.
2269
2270 2013-03-22  Benjamin Poulain  <bpoulain@apple.com>
2271
2272         Remove 2 bad branches from StringHash::equal() and CaseFoldingHash::equal()
2273         https://bugs.webkit.org/show_bug.cgi?id=113003
2274
2275         Reviewed by Eric Seidel.
2276
2277         StringHash::equal() and CaseFoldingHash::equal() were both testing for
2278         the nullity of the two input pointers. The catch is: neither traits handle
2279         null pointers, and any client code would have crashed on hash(), before equal()
2280         is called.
2281         Consequently, the two branches had a pass rate of zero when called from a HashMap code.
2282
2283         The function is also never inlined because it is too big (the code of equal() for characters
2284         is always inlined, causing the function to be quite big).
2285
2286         This patch introduces two new functions in the StringImpl API: equalNonNull() and
2287         equalIgnoringCaseNonNull(). Those functions are similar to their equal() equivalent
2288         but make the assumtion the input is never null.
2289
2290         The functions are used for StringHash to avoid the useless branches.
2291
2292         * wtf/text/StringHash.h:
2293         (WTF::StringHash::equal):
2294         (WTF::CaseFoldingHash::equal):
2295         * wtf/text/StringImpl.cpp:
2296         (WTF::stringImplContentEqual):
2297         (WTF::equal):
2298         (WTF::equalNonNull):
2299         (WTF::equalIgnoringCase):
2300         (WTF::equalIgnoringCaseNonNull):
2301         (WTF::equalIgnoringNullity):
2302         * wtf/text/StringImpl.h:
2303         (WTF::equalIgnoringCase):
2304
2305 2013-03-22  Benjamin Poulain  <bpoulain@apple.com>
2306
2307         Name correctly the argument of StringImpl::setIsAtomic()
2308         https://bugs.webkit.org/show_bug.cgi?id=113000
2309
2310         Reviewed by Geoffrey Garen.
2311
2312         * wtf/text/StringImpl.h:
2313         (WTF::StringImpl::setIsAtomic):
2314         The argument was probably an unfortunate copy-paste from setIsIdentifier().
2315         Fix the name.
2316
2317 2013-03-22  Hajime Morrita  <morrita@google.com>
2318
2319         Custom Elements: "readyCallback" lifecycle callback should be called.
2320         https://bugs.webkit.org/show_bug.cgi?id=112538
2321
2322         Reviewed by Elliott Sprehn.
2323
2324         * wtf/HashSet.h:
2325         (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.
2326
2327 2013-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
2328
2329         Unreviewed, rolling out r146534 and r146565.
2330         http://trac.webkit.org/changeset/146534
2331         http://trac.webkit.org/changeset/146565
2332         https://bugs.webkit.org/show_bug.cgi?id=113017
2333
2334         "r146534 caused perf regression on Chromium Linux x64"
2335         (Requested by yurys on #webkit).
2336
2337         * wtf/HashSet.h:
2338         (WTF):
2339         (WTF::copyToVector):
2340
2341 2013-03-21  Hajime Morrita  <morrita@google.com>
2342
2343         Custom Elements: "readyCallback" lifecycle callback should be called.
2344         https://bugs.webkit.org/show_bug.cgi?id=112538
2345
2346         Reviewed by Elliott Sprehn.
2347
2348         * wtf/HashSet.h:
2349         (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.
2350
2351 2013-03-21  Mark Lam  <mark.lam@apple.com>
2352
2353         Introducing String::findNextLineStart().
2354         https://bugs.webkit.org/show_bug.cgi?id=112957.
2355
2356         Reviewed by Geoffrey Garen.
2357
2358         This is replaces String::reverseFindLineTerminator() in the JSC
2359         debugger's code for computing column numbers.
2360
2361         * wtf/text/StringImpl.cpp:
2362         (WTF::StringImpl::findNextLineStart):
2363         * wtf/text/StringImpl.h:
2364         (WTF::findNextLineStart):
2365         * wtf/text/WTFString.h:
2366         (WTF::String::findNextLineStart):
2367
2368 2013-03-21  Adam Barth  <abarth@webkit.org>
2369
2370         HTMLNames should construct strings at compile time
2371         https://bugs.webkit.org/show_bug.cgi?id=112831
2372
2373         Reviewed by Darin Adler.
2374
2375         * wtf/text/StringImpl.h:
2376         (StringImpl):
2377         (StaticASCIILiteral):
2378             - This struct lets us construct StringImpl objects at compile time.
2379         (WTF::StringImpl::assertHashIsCorrect):
2380             - This function lets us sanity check StringImpl objects created from StaticData.
2381         (WTF::StringImpl::find): Remove a stray ;
2382         (WTF::StringImpl::findIgnoringCase): ditto
2383         (WTF::StringImpl::startsWith): ditto
2384         (WTF::ValueCheck<StringImpl*>):
2385         * wtf/text/AtomicStringImpl.h:
2386         (WTF::ValueCheck<AtomicStringImpl*>):
2387
2388 2013-03-21  Gabor Rapcsanyi  <rgabor@webkit.org>
2389
2390         Implement LLInt for CPU(ARM_TRADITIONAL)
2391         https://bugs.webkit.org/show_bug.cgi?id=97589
2392
2393         Reviewed by Zoltan Herczeg.
2394
2395         Enable LLInt for ARMv5 and ARMv7 traditional as well.
2396
2397         * wtf/Platform.h:
2398
2399 2013-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2400
2401         Unreviewed, rolling out r146419.
2402         http://trac.webkit.org/changeset/146419
2403         https://bugs.webkit.org/show_bug.cgi?id=112870
2404
2405         Broke many tests on debug builds (Requested by rniwa_ on
2406         #webkit).
2407
2408         * wtf/text/StringImpl.h:
2409         (StringImpl):
2410
2411 2013-03-20  Adam Barth  <abarth@webkit.org>
2412
2413         HTMLNames should construct strings at compile time
2414         https://bugs.webkit.org/show_bug.cgi?id=112831
2415
2416         Reviewed by Darin Adler.
2417
2418         * wtf/text/StringImpl.h:
2419         (StringImpl):
2420         (StaticASCIILiteral):
2421             - This struct lets us construct StringImpl objects at compile time.
2422         (WTF::StringImpl::assertValidHash):
2423             - This function lets us sanity check StringImpl objects created from StaticData.
2424
2425 2013-03-20  Jessie Berlin  <jberlin@apple.com>
2426
2427         REGRESSION(r145592): AutodrainedPool.h. RunLoopTimer.h, SchedulePair.h are being copied into
2428         the wrong location
2429         https://bugs.webkit.org/show_bug.cgi?id=112833
2430
2431         Reviewed by Darin Adler.
2432
2433         * WTF.xcodeproj/project.pbxproj:
2434         Make sure those three headers are copied with the rest of the WTF headers.
2435
2436 2013-03-20  Mark Rowe  <mrowe@apple.com>
2437
2438         FastMalloc scavenge timer specifies an overly narrow leeway value.
2439
2440         Reviewed by Alexey Proskuryakov.
2441
2442         There's no need to allow only 1ms of leeway on a 2s timer.
2443
2444         * wtf/FastMalloc.cpp:
2445         (WTF::TCMalloc_PageHeap::initializeScavenger): Bump the leeway window
2446         to 10% of the scavenge timer.
2447
2448 2013-03-20  JungJik Lee  <jungjik.lee@samsung.com>
2449
2450         [EFL] Disable REQUEST_ANIMATION_FRAME_TIMER to render a new animation frame.
2451         https://bugs.webkit.org/show_bug.cgi?id=112114
2452
2453         Reviewed by Kenneth Rohde Christiansen.
2454
2455         The issue is that if the animation starts outside of the area covered by keepRects,
2456         the web process does not create tiles of the animation layer and the layer moves 
2457         without having any tiles. In order to fix this issue, CoordinatedLayerHost must call 
2458         scheduleLayerFlush to create new tiles when the layer enters the area covered by keepRect.
2459         However EFL port didn't call scheduleLayerFlush periodically for animation.
2460         We can tie scripted animations with synchronization of the layer and that already 
2461         has been implemented in r123786 by Qt port. This patch is for activating r123786 patch.
2462
2463         The testing is covered by ManualTests/animation/transition-on-and-offscreen-animation.html
2464
2465         * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER.
2466
2467 2013-03-20  Mark Lam  <mark.lam@apple.com>
2468
2469         Introducing String::reverseFindLineTerminator().
2470         https://bugs.webkit.org/show_bug.cgi?id=112741.
2471
2472         Reviewed by Oliver Hunt.
2473
2474         This is needed by the JSC debugger code for computing column numbers.
2475
2476         * wtf/text/StringImpl.cpp:
2477         (WTF::StringImpl::reverseFindLineTerminator):
2478         * wtf/text/StringImpl.h:
2479         (StringImpl):
2480         (WTF::reverseFindLineTerminator):
2481         * wtf/text/WTFString.h:
2482         (WTF::String::reverseFindLineTerminator):
2483
2484 2013-03-19  Martin Robinson  <mrobinson@igalia.com>
2485
2486         Fix the WTF gyp build for GTK+.
2487
2488         * WTF.gyp/WTFGTK.gyp: Skip files with CF in the name.
2489
2490 2013-03-19  Alberto Garcia  <agarcia@igalia.com>
2491
2492         [BlackBerry] Enable USE_SYSTEM_MALLOC by default
2493         https://bugs.webkit.org/show_bug.cgi?id=112365
2494
2495         Reviewed by Benjamin Poulain.
2496
2497         Enable USE_SYSTEM_MALLOC by default via FeatureList.pm instead of
2498         harcoding it in wtf/Platform.h
2499
2500         * wtf/Platform.h:
2501
2502 2013-03-18  Benjamin Poulain  <benjamin@webkit.org>
2503
2504         [iOS] Make a UChar string equal() based on the LChar version
2505         https://bugs.webkit.org/show_bug.cgi?id=112495
2506
2507         Reviewed by David Kilzer.
2508
2509         * wtf/text/StringImpl.h:
2510         (WTF::equal):
2511         Create a equal() function for UChar based on the work done for LChar.
2512
2513         On A6, this is a speed up of about 40% for any string of 2 or more characters.
2514         It is slower by 8% on a single UChar comparison.
2515
2516 2013-03-18  Brent Fulgham  <bfulgham@webkit.org>
2517
2518         [WinCairo] Get build working under VS2010.
2519         https://bugs.webkit.org/show_bug.cgi?id=112604
2520
2521         Reviewed by Tim Horton.
2522
2523         * WTF.vcxproj/WTF.vcxproj: Add Debug_WinCairo and Release_WinCairo
2524         targets so headers get copied to appropriate build folder.
2525         * WTF.vcxproj/WTFGenerated.vcxproj: Ditto.
2526
2527 2013-03-15  Benjamin Poulain  <bpoulain@apple.com>
2528
2529         [iOS] Update StringImpl's equal to have a single version on all supported Apple CPUs
2530         https://bugs.webkit.org/show_bug.cgi?id=112400
2531
2532         Reviewed by Michael Saboff.
2533
2534         * wtf/text/StringImpl.h:
2535         (WTF::equal):
2536         Tweak the code to make it work on older Apple CPUs:
2537         -Use external "ouput" variable instead of the registers R9 and R12. This gets rid
2538          of some register pressure previously imposed on the compiler. (Clang nicely
2539          choose R9 and R12 when needed, following iOS ABI).
2540         -Instead of using "R3" for storing the length / 4, update the length by -4 on
2541          each iteration and work in the negative space for the tail. This frees one register
2542          which is then used for isEqual.
2543         -Get rid of the unconditional branch from the loop. By using subs and working in the
2544          negative space, we can test for the Carry flag to jump back to the next LDR.
2545
2546 2013-03-15  Benjamin Poulain  <bpoulain@apple.com>
2547
2548         [iOS] Fix the length pass to memcmp in the fallback versions of String's equal
2549         https://bugs.webkit.org/show_bug.cgi?id=112463
2550
2551         Reviewed by Ryosuke Niwa.
2552
2553         * wtf/text/StringImpl.h:
2554         (WTF::equal): It might be a good idea to compare the full UChar strings...
2555
2556 2013-03-15  Michael Saboff  <msaboff@apple.com>
2557
2558         Add runtime check for improper register allocations in DFG
2559         https://bugs.webkit.org/show_bug.cgi?id=112380
2560
2561         Reviewed by Geoffrey Garen.
2562
2563         * wtf/Platform.h: Added new ENABLE_DFG_REGISTER_ALLOCATION_VALIDATION compilation flag to
2564         enable generation of register allocation checking.  This is on for debug builds.
2565
2566 2013-03-13  Jessie Berlin  <jberlin@apple.com>
2567
2568         Remove svn:executable from a file that isn't supposed to be executable.
2569
2570         Rubber-stamped by Geoff Garen.
2571
2572         * wtf/MediaTime.h:
2573
2574 2013-03-13  Oliver Hunt  <oliver@apple.com>
2575
2576         Simplify Checked<> multiplication
2577         https://bugs.webkit.org/show_bug.cgi?id=112286
2578
2579         Reviewed by James Robinson.
2580
2581         Trying to correctly identify multiplication by zero complicated the
2582         unsigned * unsigned multiply, and still didn't handle all cases correctly.
2583         Now we just do the normal division based approach to overflow detection
2584         leading to much simpler reasoning.
2585
2586         Would be nice if we could have a jo style intrinsic one day.
2587
2588         * wtf/CheckedArithmetic.h:
2589
2590 2013-03-13  Dean Jackson  <dino@apple.com>
2591
2592         Unreviewed attempted build fix for Windows. SchedulePair.cpp -> SchedulePairCF.cpp
2593
2594         * WTF.vcproj/WTF.vcproj:
2595         * WTF.vcxproj/WTF.vcxproj:
2596         * WTF.vcxproj/WTF.vcxproj.filters:
2597
2598 2013-03-13  Benjamin Poulain  <bpoulain@apple.com>
2599
2600         [iOS] Add optimized version of StringImpl's equal(LChar*,LChar*) for Apple CPUs
2601         https://bugs.webkit.org/show_bug.cgi?id=112202
2602
2603         Reviewed by Gavin Barraclough.
2604
2605         * Source/WTF/wtf/Platform.h:
2606         Make the macro WTF_ARM_ARCH_VERSION valid on any architecture.
2607         * wtf/text/StringImpl.h:
2608         (WTF::equal):
2609         On ARMv7S, the new version is about 11% percent faster than the simple loop.
2610         On ARMv7 classic, memcmp is a little faster than the simple loop on Apple A5.
2611
2612 2013-03-13  James Robinson  <jamesr@chromium.org>
2613
2614         SchedulePair.cpp is CF-specific
2615         https://bugs.webkit.org/show_bug.cgi?id=112204
2616
2617         Reviewed by Oliver Hunt.
2618
2619         This renames SchedulePair.cpp SchedulePairCF.cpp, since it depends on CF, and excludes it from chromium's gyp
2620         files.
2621
2622         * WTF.gyp/WTF.gyp:
2623           Add CF to the exclusion filter for the Chromium port.
2624         * WTF.gypi:
2625           Add SchedulePairCF.cpp
2626         * WTF.xcodeproj/project.pbxproj:
2627           Update project file to point to new .cpp location
2628         * wtf/SchedulePairCF.cpp: Renamed from Source/WTF/wtf/SchedulePair.cpp.
2629
2630 2013-03-13  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2631
2632         Support C++11 features in GCC <4.6
2633         https://bugs.webkit.org/show_bug.cgi?id=111553
2634
2635         Reviewed by Simon Hausmann.
2636
2637         Enable support for rvalue references from gcc 4.3, deleted functions
2638         from gcc 4.4, explicit conversion from gcc 4.5, and strongly typed
2639         enums from gcc 4.6. 
2640
2641         * wtf/Compiler.h:
2642
2643 2013-03-12  Geoffrey Garen  <ggaren@apple.com>
2644
2645         Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592.
2646
2647         * wtf/SchedulePair.cpp:
2648         * wtf/SchedulePair.h:
2649         (WTF::SchedulePair::SchedulePair): Since linking is failing,
2650         try inlining this function.
2651
2652 2013-03-12  Tim Horton  <timothy_horton@apple.com>
2653
2654         Typo in earlier Windows build fix. Unreviewed.
2655
2656         * WTF.vcproj/WTF.vcproj:
2657
2658 2013-03-12  Tim Horton  <timothy_horton@apple.com>
2659
2660         Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592.
2661
2662         * WTF.vcproj/WTF.vcproj:
2663         * WTF.vcxproj/WTF.vcxproj:
2664         * WTF.vcxproj/WTF.vcxproj.filters:
2665
2666 2013-03-12  James Robinson  <jamesr@chromium.org>
2667
2668         Build fix for r145592 - update gyp files to refer to new file locations.
2669
2670         * WTF.gypi:
2671
2672 2013-03-12  Geoffrey Garen  <ggaren@apple.com>
2673
2674         Moved RunLoopTimer and SchedulePair to WTF
2675         https://bugs.webkit.org/show_bug.cgi?id=112171
2676
2677         Reviewed by Oliver Hunt.
2678
2679         This will allow us to use timers in lower level primitives without
2680         duplicating all the code.
2681
2682         * WTF.xcodeproj/project.pbxproj:
2683         * wtf/AutodrainedPool.h: Copied from Source/WebCore/platform/AutodrainedPool.h.
2684         (AutodrainedPool):
2685         * wtf/AutodrainedPoolMac.mm: Copied from Source/WebCore/platform/mac/AutodrainedPool.mm.
2686         * wtf/RunLoopTimer.h: Copied from Source/WebCore/platform/RunLoopTimer.h.
2687         * wtf/RunLoopTimerCF.cpp: Copied from Source/WebCore/platform/cf/RunLoopTimerCF.cpp.
2688         * wtf/SchedulePair.cpp: Copied from Source/WebCore/platform/cf/SchedulePair.cpp.
2689         * wtf/SchedulePair.h: Copied from Source/WebCore/platform/cf/SchedulePair.h.
2690         (SchedulePair):
2691         * wtf/SchedulePairMac.mm: Copied from Source/WebCore/platform/mac/SchedulePairMac.mm.
2692
2693 2013-03-12  Oliver Hunt  <oliver@apple.com>
2694
2695         Add more Checked<> tests
2696         https://bugs.webkit.org/show_bug.cgi?id=112190
2697
2698         Reviewed by Geoffrey Garen.
2699
2700         Export the CheckedState enum type
2701
2702         * wtf/CheckedArithmetic.h:
2703
2704 2013-03-12  Oliver Hunt  <oliver@apple.com>
2705
2706         Make CheckedArithmetic slightly more sane
2707         https://bugs.webkit.org/show_bug.cgi?id=112178
2708
2709         Reviewed by Geoffrey Garen.
2710
2711         Add an enum type for safeGet rather than using a bool,
2712         and correctly handle unsigned * unsigned, when one value
2713         is 0.
2714
2715         * wtf/CheckedArithmetic.h:
2716         (WTF::ENUM_CLASS):
2717         (WTF):
2718         (WTF::operator+):
2719         (WTF::operator-):
2720         (WTF::operator*):
2721
2722 2013-03-11  Michael Saboff  <msaboff@apple.com>
2723
2724         Unreviewed build fix.  Rolling out inadvertent setting of DATA_LOG_TO_FILE.
2725
2726 2013-03-11  Oliver Hunt  <oliver@apple.com>
2727
2728         Make SegmentedVector Noncopyable
2729         https://bugs.webkit.org/show_bug.cgi?id=112059
2730
2731         Reviewed by Geoffrey Garen.
2732
2733         Copying a SegmentedVector can be extraordinarily expensive, so we beat
2734         it with the Noncopyable stick - that way we can ensure that if anyone
2735         wants an actual copy they know what they're doing.
2736
2737         * wtf/SegmentedVector.h:
2738         (SegmentedVector):
2739
2740 2013-03-08  Benjamin Poulain  <benjamin@webkit.org>
2741
2742         [Mac] Add a feature flag for 'view-mode' Media Feature, disable it on Mac
2743         https://bugs.webkit.org/show_bug.cgi?id=111297
2744
2745         Reviewed by Kenneth Rohde Christiansen.
2746
2747         * wtf/FeatureDefines.h: Add a new feature flag for the view-mode
2748         CSS media: ENABLE_VIEW_MODE_CSS_MEDIA.
2749
2750 2013-03-08  Roger Fong  <roger_fong@apple.com>
2751
2752         Makefile fixes.
2753
2754         * WTF.vcxproj/WTF.make:
2755
2756 2013-03-08  Gabor Rapcsanyi  <rgabor@webkit.org>
2757
2758         Cache flush problem on ARMv7 JSC
2759         https://bugs.webkit.org/show_bug.cgi?id=111441
2760
2761         Reviewed by Zoltan Herczeg.
2762
2763         Not proper cache flush causing random crashes on ARMv7 Linux with V8 tests.
2764         The problem is similar to https://bugs.webkit.org/show_bug.cgi?id=77712.
2765         Change the cache fulsh mechanism similar to ARM traditinal and revert the
2766         temporary fix.
2767
2768         * wtf/OSAllocatorPosix.cpp:
2769         (WTF::OSAllocator::reserveUncommitted):
2770         (WTF::OSAllocator::decommit):
2771
2772 2013-03-07  Andrew Bortz  <andrew@abortz.net>
2773
2774         Replace Mersenne Twister random number generator with a simpler one.
2775         https://bugs.webkit.org/show_bug.cgi?id=111533
2776
2777         Reviewed by Adam Barth.
2778
2779         The new generator is only a single line long, but passes all the Diehard
2780         statistical tests and runs ~3x faster than the Mersenne Twister, with a
2781         guaranteed cycle length of 2^64 and only 8 bytes of state.
2782         
2783         * wtf/Platform.h: Mersenne Twister defines are no longer needed
2784         * wtf/RandomNumber.cpp:
2785         (WTF::Internal::initializeRandomNumber): State initialization
2786         (WTF::Internal::randomNumber): Actual implementation
2787         (WTF::randomNumber): We don't need to fall back on rand()-based generator anymore,
2788         so this code is greatly simplified.
2789         * wtf/RandomNumber.h:
2790         * wtf/RandomNumberSeed.h:
2791         (WTF::initializeRandomNumberGenerator): This code is no longer needed.
2792         Additionally, the code had an error, since rand() returns 32-bits, so each
2793         initializationBuffer's upper 16-bits has more bits set than random.
2794
2795 2013-03-06  Adenilson Cavalcanti  <cavalcantii@gmail.com>
2796
2797         Build fix: PageAllocationAligned no longer has executable flag
2798         https://bugs.webkit.org/show_bug.cgi?id=111659
2799
2800         Reviewed by Kentaro Hara.
2801
2802         Build fix: use false as parameter to execution flag.
2803
2804         * wtf/PageAllocationAligned.cpp:
2805         (WTF::PageAllocationAligned::allocate):
2806
2807 2013-03-06  Eric Seidel  <eric@webkit.org>
2808
2809         AtomicStringImpls are not safe to send between threads
2810         https://bugs.webkit.org/show_bug.cgi?id=111652
2811
2812         Reviewed by Benjamin Poulain.
2813
2814         We don't have this problem yet, but it's good to be safe.
2815
2816         * wtf/text/WTFString.cpp:
2817         (WTF::String::isSafeToSendToAnotherThread):
2818
2819 2013-03-06  Oliver Hunt  <oliver@apple.com>
2820
2821         Don't give PageAllocationAligned the option to allocate executable memory
2822         https://bugs.webkit.org/show_bug.cgi?id=111657
2823
2824         Reviewed by Geoffrey Garen.
2825
2826         * wtf/PageAllocationAligned.cpp:
2827         (WTF::PageAllocationAligned::allocate):
2828         * wtf/PageAllocationAligned.h:
2829         (PageAllocationAligned):
2830
2831 2013-03-04  Jer Noble  <jer.noble@apple.com>
2832
2833         Default mouse cursor behavior should be auto-hide for full screen video with custom controls
2834         https://bugs.webkit.org/show_bug.cgi?id=107601
2835
2836         Reviewed by Beth Dakin.
2837
2838         Enable the CURSOR_VISIBILITY feature.
2839
2840         * wtf/FeatureDefines.h:
2841
2842 2013-03-04  Oliver Hunt  <oliver@apple.com>
2843
2844         Make fastmalloc use guardpages
2845         https://bugs.webkit.org/show_bug.cgi?id=111353
2846
2847         Reviewed by Anders Carlsson.
2848
2849         Add PROT_NONE pages at the beginning and end of every
2850         mmap call made by fastmalloc.
2851
2852         * wtf/TCSystemAlloc.cpp:
2853         (TryMmap):
2854
2855 2013-03-06  Paweł Forysiuk  <tuxator@o2.pl>
2856
2857         Typo in inline function in ByteOrder.h
2858         https://bugs.webkit.org/show_bug.cgi?id=111473
2859
2860         Reviewed by Benjamin Poulain.
2861
2862         * wtf/ByteOrder.h:
2863         (ntohs):
2864
2865 2013-03-05  Ryuan Choi  <ryuan.choi@samsung.com>
2866
2867         [EFL] Build break with latest EFL libraries
2868         https://bugs.webkit.org/show_bug.cgi?id=111028
2869
2870         Reviewed by Dirk Pranke.
2871
2872         * wtf/PlatformEfl.cmake: Added ECORE_IMF_INCLUDE_DIRS.
2873
2874 2013-03-05  Csaba Osztrogonác  <ossy@webkit.org>
2875
2876         Fix cast-align warning in ASCIIFastPath.h on ARM
2877         https://bugs.webkit.org/show_bug.cgi?id=111436
2878
2879         Reviewed by Benjamin Poulain.
2880
2881         * wtf/text/ASCIIFastPath.h:
2882         (WTF::charactersAreAllASCII):
2883
2884 2013-03-04  Laszlo Gombos  <l.gombos@samsung.com>
2885
2886         JSC_OBJC_API_ENABLED should be removed from FeatureDefines.h
2887         https://bugs.webkit.org/show_bug.cgi?id=111269
2888
2889         Reviewed by Mark Hahnenberg.
2890
2891         JSC_OBJC_API_ENABLED flag was added to FeatureDefines.h (r143637) 
2892         so that it could be used in WebCore.exp.in to determine whether 
2893         or not we should be exporting certain symbols based on whether 
2894         the WebKit-related portion of the JSC ObjC API was enabled.
2895         
2896         It turned out conditionally including certain symbols didn't
2897         work when building fat binaries, so it's not even necessary any more.
2898
2899         * wtf/FeatureDefines.h: Remove JSC_OBJC_API_ENABLED.
2900
2901 2013-03-04  Andreas Kling  <akling@apple.com>
2902
2903         Deque: Free internal buffer in clear().
2904         <http://webkit.org/b/111316>
2905         <rdar://problem/13336675>
2906
2907         Reviewed by Antti Koivisto.
2908
2909         525 kB progression on Membuster3.
2910
2911         * wtf/Deque.h:
2912         (WTF::::clear):
2913
2914 2013-03-04  Kunihiko Sakamoto  <ksakamoto@chromium.org>
2915
2916         Add build flag for FontLoader
2917         https://bugs.webkit.org/show_bug.cgi?id=111289
2918
2919         Reviewed by Benjamin Poulain.
2920
2921         Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
2922
2923         * wtf/FeatureDefines.h:
2924
2925 2013-02-27  Darin Adler  <darin@apple.com>
2926
2927         StringHasher functions require alignment that call sites do not all guarantee
2928         https://bugs.webkit.org/show_bug.cgi?id=110171
2929
2930         Reviewed by Benjamin Poulain.
2931
2932         The StringHasher class is optimized for clients who pass it two characters at
2933         a time. However, the function named addCharacters did not make this clear to
2934         clients, and one calculateStringHashAndLengthFromUTF8MaskingTop8Bits got it wrong.
2935         Fix by making addCharacters work regardless of hasher alignment and adding a new
2936         function, addCharactersAssumingAligned, for use when we want a faster path and can
2937         guarantee we are adding characters two at a time.
2938
2939         * wtf/StringHasher.h:
2940         (WTF::StringHasher::addCharactersAssumingAligned): Renamed the addCharacters function
2941         addCharactersAssumingAligned, since it only works if the hasher is currently aligned,
2942         meaning it contains an even number of characters. The function already asserts
2943         that this is true, but the calculateStringHashAndLengthFromUTF8MaskingTop8Bits
2944         function was using it in cases where the assertion could fire. Also updated to
2945         call addCharactersInternal by its new name. Also added some new overloads that take
2946         data pointers and lengths so callers can always use addCharactersAssumingAligned
2947         instead of addCharacters if they know the hasher is aligned.
2948         (WTF::StringHasher::addCharacter): Updated to call the public
2949         addCharactersAssumingAligned function since that's simpler and a bit cleaner.
2950         (WTF::StringHasher::addCharacters): Added functions with this name that handle
2951         the case where the hasher is not aligned. These will be called by existing call sites
2952         that were formerly using the function named addCharactersAssumingAligned above.
2953         Also add an overload that works with the default converter automatically.
2954         (WTF::StringHasher::computeHashAndMaskTop8Bits): Changed to call
2955         addCharactersAssumingAligned to eliminate copied and pasted code. The hasher is empty,
2956         so definitely aligned.
2957         (WTF::StringHasher::computeHash): Ditto.
2958         (WTF::StringHasher::addCharactersInternal): Renamed from addCharactersToHash, since
2959         the former name did not make clear how this differs from the public functions.
2960         The real difference is that this is like addCharactersAssumingAligned, but without
2961         the assertion, so addCharactersAssumingAligned is called instead, even within the
2962         class's implementation.
2963
2964 2013-03-01  Ilya Tikhonovsky  <loislo@chromium.org>
2965
2966         Web Inspector: Native Memory Instrumentation: do not visit raw pointers by default.
2967         https://bugs.webkit.org/show_bug.cgi?id=110943
2968
2969         Reviewed by Yury Semikhatsky.
2970
2971         Unfortunately in many cases raw pointer may point to an object that has been deleted.
2972         There is no working solution to solve this problem in general.
2973         It could be solved only on case by case basis.
2974
2975         * wtf/MemoryInstrumentation.h:
2976         (WTF::MemoryInstrumentation::addObject):
2977         (WTF::MemoryInstrumentation::MemberTypeTraits::addObject):
2978         (WTF::MemoryClassInfo::addMember):
2979         (WTF::MemoryInstrumentation::addObjectImpl):
2980         * wtf/MemoryInstrumentationString.h:
2981         (WTF::reportMemoryUsage):
2982
2983 2013-03-01  Eric Seidel  <eric@webkit.org>
2984
2985         Threaded HTML Parser has an extra copy of every byte from the network
2986         https://bugs.webkit.org/show_bug.cgi?id=111135
2987
2988         Reviewed by Adam Barth.
2989
2990         The threaded html parser needs to accept ownership
2991         of a string buffer.  The easiest way to do this seemed
2992         to be to use a PassRefPtr<StringImpl>, but there was no way
2993         to generated one from a String (easily), so I added one.
2994
2995         * wtf/text/WTFString.h:
2996         (WTF::String::releaseImpl):
2997
2998 2013-02-28  Oliver Hunt  <oliver@apple.com>
2999
3000         Crash in JSC::MarkedBlock::FreeList JSC::MarkedBlock::sweepHelper
3001         https://bugs.webkit.org/show_bug.cgi?id=111059
3002
3003         Reviewed by Ryosuke Niwa.
3004
3005         Sometimes C++'s implicit operator conversion rules suck.
3006         Add explicit operator== and !=.
3007
3008         * wtf/FastMalloc.cpp:
3009         (WTF::HardenedSLL::operator!=):
3010         (WTF::HardenedSLL::operator==):
3011         (HardenedSLL):
3012
3013 2013-02-28  Zeno Albisser  <zeno@webkit.org>
3014
3015         Enable DFG JIT for Qt on Mac
3016         https://bugs.webkit.org/show_bug.cgi?id=111095
3017
3018         Rubber-stamped by Simon Hausmann
3019
3020         * wtf/Platform.h:
3021
3022 2013-02-28  Eric Carlson  <eric.carlson@apple.com>
3023
3024         [Mac] use HAVE() macro instead of version check
3025         https://bugs.webkit.org/show_bug.cgi?id=111087
3026
3027         Reviewed by Dean Jackson.
3028
3029         * wtf/Platform.h: Define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK.
3030
3031 2013-02-27  Balazs Kilvady  <kilvadyb@homejinni.com>
3032
3033         Bug in atomicIncrement implementation for MIPS GCC
3034         https://bugs.webkit.org/show_bug.cgi?id=110969
3035
3036         Reviewed by Csaba Osztrogonác.
3037
3038         Fix of __sync_[add|sub]_and_fetch_8 for GCC patch.
3039
3040         * wtf/Atomics.cpp:
3041
3042 2013-02-27  Simon Hausmann  <simon.hausmann@digia.com>
3043
3044         REGRESSION(r137994): It made JSC tests hang and layout tests fail on ARM Thumb2 / Linux
3045         https://bugs.webkit.org/show_bug.cgi?id=108632
3046
3047         Reviewed by Csaba Osztrogonác.
3048
3049         It appears that mprotect() is very slow on ARM/Linux, so disable the
3050         approach of unreserved mappings there and fall back to overcomitting
3051         memory, based on Uli Schlachter's recommendation.
3052
3053         * wtf/OSAllocatorPosix.cpp:
3054         (WTF::OSAllocator::reserveUncommitted):
3055         (WTF::OSAllocator::decommit):
3056
3057 2013-02-26  Roger Fong  <roger_fong@apple.com>
3058
3059         Unreviewed. Build fix for VS2010 solution, take 2.
3060
3061         * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
3062
3063 2013-02-26  Roger Fong  <roger_fong@apple.com>
3064
3065         Unreviewed. Unreviewed build fix for VS2010 solution.
3066
3067         * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
3068
3069 2013-02-26  Balazs Kilvady  <kilvadyb@homejinni.com>
3070
3071         Fix the atomicIncrement implementation for MIPS GCC
3072         https://bugs.webkit.org/show_bug.cgi?id=106739
3073
3074         Reviewed by Oliver Hunt.
3075
3076         Implementation of missing __sync_[add|sub]_and_fetch_8 functions.
3077
3078         Some architectures, like MIPS32, don't have GCC implementation for
3079         builtin __sync_* functions with 64 bits variable size. GCC answer
3080         for the problem: If a target doesn't support atomic operations on
3081         certain variable sizes, you are out of luck with atomicity in that
3082         case (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56296). GCC >= 4.8
3083         will support __atomic_* builtin functions for this purpose for all
3084         the GCC targets, but for current compilers we have to include our
3085         own implementation.
3086
3087         * GNUmakefile.list.am:
3088         * WTF.pro:
3089         * wtf/Atomics.cpp: Added.
3090         (WTF):
3091         (WTF::getSwapLock):
3092         (WTF::atomicStep):
3093         * wtf/CMakeLists.txt:
3094
3095 2013-02-26  Oliver Hunt  <oliver@apple.com>
3096
3097         Appease the QT bots.
3098
3099         * wtf/FastMalloc.cpp:
3100
3101 2013-02-26  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
3102
3103         Implement JIT on Windows 64 bits
3104         https://bugs.webkit.org/show_bug.cgi?id=107965
3105
3106         Reviewed by Simon Hausmann.
3107
3108         * wtf/Platform.h:
3109
3110 2013-02-26  Oliver Hunt  <oliver@apple.com>
3111
3112         Appease static analyzer warning about null string passed to strlen
3113         https://bugs.webkit.org/show_bug.cgi?id=110658
3114
3115         Reviewed by Benjamin Poulain.
3116
3117         Add a null check before calling strlen
3118
3119         * wtf/Threading.cpp:
3120         (WTF::createThread):
3121
3122 2013-02-25  Ryosuke Niwa  <rniwa@webkit.org>
3123
3124         Build fix attempt after r143996.
3125
3126         * wtf/FastMalloc.cpp:
3127         (WTF):
3128
3129 2013-02-25  Roger Fong  <roger_fong@apple.com>
3130
3131         Unreviewed. Fix script to use WEBKIT_SOURCE for VS2010 property sheets instead of WEBKIT_LIBRARIES.
3132
3133         * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
3134
3135 2013-02-25  Oliver Hunt  <oliver@apple.com>
3136
3137         Add cookies to FastMalloc spans
3138         https://bugs.webkit.org/show_bug.cgi?id=110827
3139
3140         Reviewed by Michael Saboff.
3141
3142         Add a cookie to spans, and move some of the hardening around so
3143         that it's more useful.
3144
3145         * wtf/FastMalloc.cpp:
3146         (WTF::internalEntropyValue):
3147         (WTF::spanInitializerCookie):
3148         (WTF::Span::initCookie):
3149         (WTF::Span::clearCookie):
3150         (WTF::Span::isValid):
3151         (Span):
3152         (WTF::NewSpan):
3153         (WTF::DeleteSpan):
3154         (WTF::TCMalloc_ThreadCache_FreeList::Validate):
3155         (WTF::TCMalloc_Central_FreeList::Populate):
3156         (WTF::TCMalloc_ThreadCache::Deallocate):
3157         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3158
3159 2013-02-25  Jer Noble  <jer.noble@apple.com>
3160
3161         Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
3162         https://bugs.webkit.org/show_bug.cgi?id=110806
3163
3164         Reviewed by Alexey Proskuryakov.
3165
3166         Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.
3167
3168         * wtf/FeatureDefines.h:
3169
3170 2013-02-23  Ilya Tikhonovsky  <loislo@chromium.org>
3171
3172         Web Inspector: Native Memory Instrumentation: replace String with const char* in MemoryObjectInfo
3173         https://bugs.webkit.org/show_bug.cgi?id=110599
3174
3175         Reviewed by Yury Semikhatsky.
3176
3177         Due to potentially dynamic nature of names and classNames we need to make a copy of the strings
3178         that were given us via MemoryInstrumentation calls.
3179         So I extended client api with registerString method that pushes the strings
3180         down to the serializer.
3181
3182         * wtf/MemoryInstrumentation.h:
3183         (MemoryInstrumentationClient):
3184         * wtf/MemoryObjectInfo.h:
3185         (WTF::MemoryObjectInfo::MemoryObjectInfo):
3186         (WTF::MemoryObjectInfo::setClassName):
3187         (WTF::MemoryObjectInfo::classNameId):
3188         (WTF::MemoryObjectInfo::setName):
3189         (WTF::MemoryObjectInfo::nameId):
3190         (MemoryObjectInfo):
3191
3192 2013-02-21  Brady Eidson  <beidson@apple.com>
3193
3194         Move fastlog2() to WTF/MathExtras.h so it can be used from multiple projects.
3195
3196         Rubberstamped by Geoff Garen.
3197
3198         * wtf/MathExtras.h:
3199         (WTF::fastLog2):
3200
3201 2013-02-21  Andy Estes  <aestes@apple.com>
3202
3203         TriState.h should be a Project header
3204         https://bugs.webkit.org/show_bug.cgi?id=110543
3205
3206         Rubber-stamped by Dan Bernstein.
3207
3208         WTF uses a script to copy headers to the build destination, so it isn't
3209         necessary to mark headers as Private/Public (and doing so can be problematic).
3210
3211         * WTF.xcodeproj/project.pbxproj: Mark TriState.h as a Project header.
3212
3213 2013-02-21  Roger Fong  <roger_fong@apple.com>
3214
3215         Unreviewed. Add executable property to cmd file.
3216         Required for executable files to maintain their executable permissions over svn.
3217
3218         * WTF.vcxproj/copy-files.cmd: Added property svn:executable.
3219
3220 2013-02-19  Mark Hahnenberg  <mhahnenberg@apple.com>
3221
3222         Objective-C API: Need a way to use the Objective-C JavaScript API with WebKit
3223         https://bugs.webkit.org/show_bug.cgi?id=106059
3224
3225         Reviewed by Geoffrey Garen.
3226
3227         * wtf/FeatureDefines.h: Added enable flag for JSC Objective-C API so it can be used in
3228         export files.
3229
3230 2013-02-21  Martin Robinson  <mrobinson@igalia.com>
3231
3232         A couple more 'make dist' fixes for WebKitGTK+.
3233
3234         * GNUmakefile.list.am: Add a missing file to the source list.
3235
3236 2013-02-20  Roger Fong  <roger_fong@apple.com>
3237
3238         Get VS2010 Solution B&I ready.
3239         <rdar://problem/1322988>
3240
3241         Rubberstamped by Timothy Horton.        
3242         
3243         Add Production configuration. 
3244         Add a WTF submit solution with a DebugSuffix configuration. 
3245         Modify WTF.make as necessary.
3246         
3247         * WTF.vcxproj: Added property svn:eol-style. Modified property svn:ignore.
3248         * WTF.vcxproj/WTF.make: Added.
3249         * WTF.vcxproj/WTF.submit.sln: Added.
3250         * WTF.vcxproj/WTF.vcxproj:
3251         * WTF.vcxproj/WTFCommon.props:
3252         * WTF.vcxproj/WTFGenerated.vcxproj:
3253         * WTF.vcxproj/WTFGeneratedProduction.props: Added.
3254         * WTF.vcxproj/WTFGeneratedRelease.props:
3255         * WTF.vcxproj/WTFProduction.props: Added.
3256         * WTF.vcxproj/WTFRelease.props:
3257         * WTF.vcxproj/copy-files.cmd:
3258
3259 2013-02-20  Oliver Hunt  <oliver@apple.com>
3260
3261         Moar hardening
3262         https://bugs.webkit.org/show_bug.cgi?id=110275
3263
3264         Reviewed by Mark Hahnenberg.
3265
3266         We now poison objects when they get freed, and verify that
3267         any object that is being freed is not poisoned.  If the
3268         object looks like it's poisoned we validate the freelist,
3269         and ensure the object is not already present.  If it is
3270         we crash.
3271
3272         On allocation, we ensure that the object being allocated
3273         is poisoned, then clear the poisoning fields.
3274
3275         * wtf/FastMalloc.cpp:
3276         (WTF::internalEntropyValue):
3277         (WTF):
3278         (WTF::freedObjectStartPoison):
3279         (WTF::freedObjectEndPoison):
3280         (TCMalloc_ThreadCache_FreeList):
3281         (WTF::TCMalloc_ThreadCache_FreeList::Validate):
3282         (WTF::TCMalloc_Central_FreeList::Populate):
3283         (WTF::TCMalloc_ThreadCache::Allocate):
3284         (WTF::TCMalloc_ThreadCache::Deallocate):
3285         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3286
3287 2013-02-19  Sheriff Bot  <webkit.review.bot@gmail.com>
3288
3289         Unreviewed, rolling out r143400.
3290         http://trac.webkit.org/changeset/143400
3291         https://bugs.webkit.org/show_bug.cgi?id=110290
3292
3293         breaks everything (instacrash launching Safari) (Requested by
3294         thorton on #webkit).
3295
3296         * wtf/FastMalloc.cpp:
3297         (WTF::internalEntropyValue):
3298         (WTF):
3299         (WTF::TCMalloc_Central_FreeList::Populate):
3300         (WTF::TCMalloc_ThreadCache::Allocate):
3301         (WTF::TCMalloc_ThreadCache::Deallocate):
3302
3303 2013-02-19  Oliver Hunt  <oliver@apple.com>
3304
3305         Moar hardening
3306         https://bugs.webkit.org/show_bug.cgi?id=110275
3307
3308         Reviewed by Anders Carlsson.
3309
3310         We now poison objects when they get freed, and verify that
3311         any object that is being freed is not poisoned.  If the
3312         object looks like it's poisoned we validate the freelist,
3313         and ensure the object is not already present.  If it is
3314         we crash.
3315
3316         On allocation, we ensure that the object being allocated
3317         is poisoned, then clear the poisoning fields.
3318
3319         * wtf/FastMalloc.cpp:
3320         (WTF::internalEntropyValue):
3321         (WTF):
3322         (WTF::freedObjectStartPoison):
3323         (WTF::freedObjectEndPoison):
3324         (TCMalloc_ThreadCache_FreeList):
3325         (WTF::TCMalloc_ThreadCache_FreeList::Validate):
3326         (WTF::TCMalloc_Central_FreeList::Populate):
3327         (WTF::TCMalloc_ThreadCache::Allocate):
3328         (WTF::TCMalloc_ThreadCache::Deallocate):
3329
3330 2013-02-18  Darin Adler  <darin@apple.com>
3331
3332         Style tweaks to StringHasher.h
3333         https://bugs.webkit.org/show_bug.cgi?id=110042
3334
3335         Reviewed by Alexey Proskuryakov.
3336
3337         I have a bug fix coming soon, but figured I'd separate out style tweaks and land them
3338         first to make that patch easier to undrestand.
3339
3340         * wtf/StringHasher.h: Tweak and rearrange comments a bit.
3341         (WTF::StringHasher::addCharacter): Use character instead of ch.
3342         (WTF::StringHasher::addCharacters): Use remainder instead of rem. Also capitalize the U
3343         that we use to make an unsigned 1 constant.
3344         (WTF::StringHasher::computeHashAndMaskTop8Bits): Ditto.
3345         (WTF::StringHasher::hashMemory): Change version that takes size as a template argument
3346         to call the version that takes the size at runtime, since both generate the same code
3347         anyway. Added a FIXME questioning why this function uses the "mask top 8 bits" version
3348         of the hash. Fix incorrect compile assertion that required sizes that are multiples
3349         of four. This function works on sizes that are multiples of two. Also fixed a spelling
3350         error where we called it a "multible".
3351         (WTF::StringHasher::defaultConverter): Use character instead of ch.
3352         (WTF::StringHasher::addCharactersToHash): Eliminated unnecessary local variable.
3353
3354 2013-02-18  Alexey Proskuryakov  <ap@apple.com>
3355
3356         Make HexNumber functions return 8-bit strings
3357         https://bugs.webkit.org/show_bug.cgi?id=110152
3358
3359         Reviewed by Michael Saboff.
3360
3361         * wtf/HexNumber.h:
3362         (Internal):
3363         (WTF::Internal::hexDigitsForMode):
3364         (WTF::appendByteAsHex):
3365         (WTF::placeByteAsHexCompressIfPossible):
3366         (WTF::placeByteAsHex):
3367         (WTF::appendUnsignedAsHex):
3368         (WTF::appendUnsignedAsHexFixedSize):
3369         Use LChar everywhere.
3370
3371 2013-02-18  Benjamin Poulain  <bpoulain@apple.com>
3372
3373         Remove Vector::dataSlot(), it has no implementation
3374         https://bugs.webkit.org/show_bug.cgi?id=109999
3375
3376         Reviewed by Andreas Kling.
3377
3378         VectorBufferBase does not implement any function bufferSlot().
3379         The file only compiles because that part of the template is never
3380         instantiated.
3381
3382         * wtf/Vector.h:
3383
3384 2013-02-18  Laszlo Gombos  <l.gombos@samsung.com>
3385
3386         Move ENABLE macros for WebCore out from Platform.h
3387         https://bugs.webkit.org/show_bug.cgi?id=105735
3388
3389         Unreviewed, build fix when NETSCAPE_PLUGIN_API is disabled.
3390
3391         Enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH even if
3392         NETSCAPE_PLUGIN_API is disabled (Qt, Efl, GTK, WX ports).
3393
3394         * wtf/FeatureDefines.h:
3395
3396 2013-02-18  Balazs Kilvady  <kilvadyb@homejinni.com>
3397
3398         MIPS DFG implementation.
3399         https://bugs.webkit.org/show_bug.cgi?id=101328
3400
3401         Reviewed by Oliver Hunt.
3402
3403         DFG implementation for MIPS.
3404
3405         * wtf/Platform.h:
3406
3407 2013-02-18  Zan Dobersek  <zdobersek@igalia.com>
3408
3409         Stop placing std::isfinite and std::signbit inside the global scope
3410         https://bugs.webkit.org/show_bug.cgi?id=109817
3411
3412         Reviewed by Darin Adler.
3413
3414         Prefix calls to the isfinite and signbit methods with std:: as the two
3415         methods are no longer being imported into the global scope.
3416
3417         On Solaris and OpenBSD platforms or when using Visual C++ the two methods
3418         are now defined (as incompatibility workarounds) inside the std namespace.
3419
3420         * wtf/DateMath.cpp:
3421         (WTF::timeClip):
3422         * wtf/DecimalNumber.h:
3423         (WTF::DecimalNumber::DecimalNumber):
3424         * wtf/MathExtras.h:
3425         (std):
3426         (std::isfinite):
3427         (std::signbit):
3428         (lrint):
3429         (wtf_pow):
3430         (decomposeDouble):
3431         * wtf/MediaTime.cpp:
3432         (WTF::MediaTime::createWithFloat):
3433         (WTF::MediaTime::createWithDouble):
3434         * wtf/dtoa.cpp:
3435         (WTF::dtoa):
3436
3437 2013-02-18  Laszlo Gombos  <l.gombos@samsung.com>
3438
3439         Move ENABLE macros for WebCore out from Platform.h
3440         https://bugs.webkit.org/show_bug.cgi?id=105735
3441
3442         Reviewed by Darin Adler and Benjamin Poulain.
3443
3444         Introduce FeatureDefines.h by combining the existing rules from
3445         Platform.h and adding new rules for all the ENABLE flags that are
3446         listed in the FeatureFlags wiki.
3447
3448         The new rules are not used at the moment by any ports
3449         as the port specific build systems already define these flags
3450         so the !defined() guard will prevent redefinition of the macros.
3451
3452         * GNUmakefile.list.am: Add FeatureDefines.h.
3453         * WTF.gypi: Ditto.
3454         * WTF.pro: Ditto.
3455         * WTF.vcproj/WTF.vcproj: Ditto.
3456         * WTF.xcodeproj/project.pbxproj: Ditto.
3457         * wtf/CMakeLists.txt: Ditto.
3458         * wtf/FeatureDefines.h: Added.
3459         * wtf/Platform.h: Move macro definitions to FeatureDefines.h.
3460
3461 2013-02-16  Darin Adler  <darin@apple.com>
3462
3463         Remove redundant use of inline keyword in StringHasher.h
3464         https://bugs.webkit.org/show_bug.cgi?id=110036
3465
3466         Reviewed by Geoffrey Garen.
3467
3468         I have some other improvements for StringHasher.h, but wanted to get the simplest ones
3469         out of the way first.
3470
3471         * wtf/StringHasher.h: Remove inline keyword on functions inside the class definition,
3472         since functions defined inside the class are automatically inline.
3473
3474 2013-02-15  Martin Robinson  <mrobinson@igalia.com>
3475
3476         [GTK] Spread the gyp build files throughout the tree
3477         https://bugs.webkit.org/show_bug.cgi?id=109960
3478
3479         Reviewed by Dirk Pranke.
3480
3481         * WTF.gyp/WTFGTK.gyp: Renamed from Source/WebKit/gtk/gyp/WTF.gyp.
3482
3483 2013-02-15  Anders Carlsson  <andersca@apple.com>
3484
3485         Add HashMap::isValidKey and HashSet::isValidValue
3486         https://bugs.webkit.org/show_bug.cgi?id=109977
3487
3488         Reviewed by Sam Weinig and Darin Adler.
3489
3490         Add helper functions for determining whether keys are valid, i.e. if
3491         they are _not_ empty or deleted according to the hash traits.
3492
3493         * wtf/HashMap.h:
3494         * wtf/HashSet.h:
3495
3496 2013-02-15  Laszlo Gombos  <l.gombos@samsung.com>
3497
3498         Remove support for RVCT version less than 4.0
3499         https://bugs.webkit.org/show_bug.cgi?id=109390
3500
3501         The 4.0 version of the RVCT compiler was 
3502         released in 2008. 
3503         
3504         Remove support for version older then 4.0 of RVCT, 
3505         and keep the support for newer RVCT versions.
3506
3507         Reviewed by Zoltan Herczeg.
3508
3509         * WTF.gypi: Remove StringExtras.cpp.
3510         * WTF.vcproj/WTF.vcproj: Remove StringExtras.cpp.
3511         * WTF.vcxproj/WTF.vcxproj: Remove StringExtras.cpp.
3512         * WTF.vcxproj/WTF.vcxproj.filters: Remove StringExtras.cpp.
3513         * WTF.xcodeproj/project.pbxproj: Remove StringExtras.cpp.
3514         * wtf/CMakeLists.txt: Remove StringExtras.cpp.
3515         * wtf/Compiler.h: Remove tests for RVCT_VERSION_AT_LEAST(3, 0, 0, 0).
3516         * wtf/Float32Array.h: Remove a quirk introduced for RVCT version <=2.2 .
3517         * wtf/Float64Array.h: Ditto.
3518         * wtf/Int16Array.h: Ditto.
3519         * wtf/Int32Array.h: Ditto.
3520         * wtf/Int8Array.h: Ditto.
3521         * wtf/MathExtras.h: Remove a quirk needed for RVCT version  <= 3.0.
3522         * wtf/Platform.h: Remove test for RVCT 4.0. Remove OS(RVCT).
3523         * wtf/StringExtras.cpp: Removed.
3524         * wtf/StringExtras.h: Remove a quirk introduced for RVCT version < 4.0.
3525         * wtf/Uint16Array.h: Remove a quirk introduced for RVCT version <= 2.2.
3526         * wtf/Uint32Array.h: Ditto.
3527         * wtf/Uint8Array.h: Ditto.
3528         * wtf/Uint8ClampedArray.h: Ditto.
3529
3530 2013-02-15  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3531
3532         Add CString operators for comparison with const char*
3533         https://bugs.webkit.org/show_bug.cgi?id=109947
3534
3535         Reviewed by Darin Adler.
3536
3537         Add operators to WTF::CString for equality/inequality comparison
3538         with const char* strings. This avoids constructing a CString
3539         from a const char* in such cases, which is can be expensive as
3540         it would copy it and call strlen().
3541
3542         * wtf/text/CString.cpp:
3543         (WTF::operator==): Use memcmp instead of strncmp to compare the
3544         CString buffers as we know they are the same size and we don't
3545         want to scan for terminating null byte.
3546         (WTF):
3547         * wtf/text/CString.h:
3548         (WTF):
3549         (WTF::operator!=):
3550
3551 2013-02-15  Geoffrey Garen  <ggaren@apple.com>
3552
3553         Merged the global function cache into the source code cache
3554         https://bugs.webkit.org/show_bug.cgi?id=108660
3555
3556         Reviewed by Sam Weinig.
3557
3558         Responding to review comments by Darin Adler.
3559
3560         * wtf/HashTraits.h: Added a using directive to simplify client code.
3561
3562 2013-02-14  Dan Bernstein  <mitz@apple.com>
3563
3564         No easy way to use a RetainPtr as a key in a HashMap using object (rather than pointer) equality
3565         https://bugs.webkit.org/show_bug.cgi?id=109864
3566
3567         Reviewed by Sam Weinig and Benjamin Poulain.
3568
3569         Added RetainPtrObjectHashTraits and RetainPtrObjectHash, which use CFEqual
3570         and CFHash.
3571
3572         * wtf/RetainPtr.h:
3573         (RetainPtrObjectHashTraits):
3574         (WTF::RetainPtrObjectHashTraits::emptyValue):
3575         (WTF::RetainPtrObjectHashTraits::constructDeletedValue):
3576         (WTF::RetainPtrObjectHashTraits::isDeletedValue):
3577         (WTF):
3578         (WTF::RetainPtrObjectHash::hash):
3579         (WTF::RetainPtrObjectHash::equal):
3580         (RetainPtrObjectHash):
3581
3582 2013-02-14  Tony Chang  <tony@chromium.org>
3583
3584         Unreviewed, set svn:eol-style native for .sln, .vcproj, and .vsprops files.
3585         https://bugs.webkit.org/show_bug.cgi?id=96934
3586
3587         * WTF.vcproj/WTF.sln: Modified property svn:eol-style.
3588
3589 2013-02-14  Tony Chang  <tony@chromium.org>
3590
3591         Unreviewed, set svn:eol-style CRLF for .sln files.
3592
3593         * WTF.vcproj/WTF.sln: Added property svn:eol-style.
3594
3595 2013-02-14  David Kilzer  <ddkilzer@apple.com>
3596
3597         [Mac] Clean up WARNING_CFLAGS
3598         <http://webkit.org/b/109747>
3599         <rdar://problem/13208373>
3600
3601         Reviewed by Mark Rowe.
3602
3603         * Configurations/Base.xcconfig: Use
3604         GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
3605         -Wshorten-64-to-32 rather than WARNING_CFLAGS.
3606
3607         * WTF.vcproj/WTF.sln: Added property svn:eol-style.
3608
3609 2013-02-14  Eric Seidel  <eric@webkit.org>
3610
3611         String(Vector) behaves differently from String(vector.data(), vector.size()) for vectors with inline capacity in the size=0 case
3612         https://bugs.webkit.org/show_bug.cgi?id=109784
3613
3614         Reviewed by Darin Adler.
3615
3616         This makes String(Vector) never return null strings.
3617         Which matches behavior of String(UChar*, size_t)
3618         for vectors with inlineCapacity, but differs from
3619         String(UChar*, size_t) in the no-inlineCapacity case.
3620
3621         This incidentally will fix a behavioral regression
3622         in the html threaded parser which came from converting
3623         many String(UChar*, size_t) callsites to using String(Vector).
3624
3625         * wtf/text/WTFString.h:
3626         (String):
3627         (WTF::String::String):
3628
3629 2013-02-14  Eric Seidel  <eric@webkit.org>
3630
3631         REGRESSION(r142712): attribute values show up as "(null)" instead of null with the threaded parser
3632         https://bugs.webkit.org/show_bug.cgi?id=109784
3633
3634         Reviewed by Benjamin Poulain.
3635
3636         When I changed many callsites to use the (existing) String(Vector) constructor
3637         I inadvertantly made those callsites convert empty vectors to null strings
3638         instead of empty strings (like String(UChar,size_t) does).
3639
3640         This is due to an oddity/bug in our Vector implementation where data()
3641         will be 0 if the Vector is empty, but only if it doesn't have inline capacity.
3642         https://bugs.webkit.org/show_bug.cgi?id=109792
3643
3644         This changes String(Vector) to exactly match the behavior of String(vector.data(), vector.size()).
3645
3646         This regression was easily detectable with the threaded parser, because we use String
3647         instead of AtomicString in our CompactToken (used to send the Token data
3648         between threads). The main-thread parser path uses AtomicHTMLToken which
3649         uses AtomicString(Vector) and does not have this bug.
3650
3651         * wtf/text/WTFString.h:
3652         (String):
3653         (WTF::String::String):
3654
3655 2013-02-13  Zan Dobersek  <zdobersek@igalia.com>
3656
3657         The 'global isinf/isnan' compiler quirk required when using clang with libstdc++
3658         https://bugs.webkit.org/show_bug.cgi?id=109325
3659
3660         Reviewed by Anders Carlsson.
3661
3662         Prefix calls to the isinf and isnan methods with std::, declaring we want to use the
3663         two methods as they're provided by the C++ standard library being used.
3664
3665         * wtf/Compiler.h: Remove the global isinf/isnan compiler quirk definitions. They're not required anymore.
3666         * wtf/DateMath.cpp: Move the workaround for isinf on Solaris into the std namespace. Ditto for isinf and isnan
3667         when using MSVC. Stop bringing the isinf and isnan methods into the global scope when using other configurations.
3668         (WTF::parseDateFromNullTerminatedCharacters):
3669         * wtf/IntegralTypedArrayBase.h:
3670         (WTF::IntegralTypedArrayBase::set):
3671         * wtf/MathExtras.h:
3672         (std):
3673         (std::isinf):
3674         (wtf_fmod):
3675         (wtf_pow):
3676         (doubleToInteger):
3677         * wtf/MediaTime.cpp:
3678         (WTF::MediaTime::createWithFloat):
3679         (WTF::MediaTime::createWithDouble):
3680         * wtf/Uint8ClampedArray.h:
3681         (WTF::Uint8ClampedArray::set):
3682
3683 2013-02-13  Eric Seidel  <eric@webkit.org>
3684
3685         Don't copy Vector<UChar> when passing to new String methods from bug 109617
3686         https://bugs.webkit.org/show_bug.cgi?id=109708
3687
3688         Reviewed by Tony Gentilcore.
3689
3690         Thanks for the catch Darin.
3691
3692         * wtf/text/AtomicString.h:
3693         (WTF::AtomicString::AtomicString):
3694         * wtf/text/StringImpl.h:
3695         (WTF::StringImpl::create8BitIfPossible):
3696
3697 2013-02-13  Martin Robinson  <mrobinson@igalia.com>
3698
3699         [GTK] Remove remaining dead code from the GLib unicode backend
3700         https://bugs.webkit.org/show_bug.cgi?id=109707
3701
3702         Reviewed by Philippe Normand.
3703
3704         * wtf/unicode/Unicode.h:
3705
3706 2013-02-13  Andrew Wilson  <atwilson@chromium.org>
3707
3708         Unreviewed Chromium gyp-file cleanup after glib backend removal.
3709         https://bugs.webkit.org/show_bug.cgi?id=109672
3710
3711         Removed references to GLib unicode backend:
3712
3713         * WTF.gyp/WTF.gyp:
3714         * WTF.gypi:
3715
3716 2013-02-12  Martin Robinson  <mrobinson@igalia.com>
3717
3718         [GTK] Remove the GLib unicode backend
3719         https://bugs.webkit.org/show_bug.cgi?id=109627
3720
3721         Reviewed by Benjamin Poulain.
3722
3723         Remove references to the GLib unicode backend from WTF.
3724
3725         * GNUmakefile.list.am: Remove GLib unicode files from the source list.
3726         * wtf/unicode/glib/UnicodeGLib.cpp: Removed.
3727         * wtf/unicode/glib/UnicodeGLib.h: Removed.
3728
3729 2013-02-12  Takeshi Yoshino  <tyoshino@google.com>
3730
3731         Remove unnecessary and confusing includes from StreamBuffer.h.
3732         https://bugs.webkit.org/show_bug.cgi?id=109652
3733
3734         Reviewed by Benjamin Poulain.
3735
3736         StreamBuffer.h is using OwnPtr for storing Vectors into a Deque.
3737         FixedArray.h and PassOwnPtr.h are included but not used.
3738
3739         VectorTraits defines how to move OwnPtr in Vector. It's done by memcpy.
3740         So, there's no need for PassOwnPtr (Deque<PassOwnPtr<Vector<char> > >
3741         is even slower).
3742
3743         * wtf/StreamBuffer.h:
3744
3745 2013-02-12  Eric Seidel  <eric@webkit.org>
3746
3747         Teach more WTF string classes about vectors with inline capacity
3748         https://bugs.webkit.org/show_bug.cgi?id=109617
3749
3750         Reviewed by Benjamin Poulain.
3751
3752         The HTML and WebVTT parsers use constructions like:
3753         AtomicString name(m_name.data(), m_name.size())
3754         all over the place because they use inline capacity
3755         on the parse vectors for performance.
3756
3757         This change just add the necessary template variants
3758         to the related String constructors/methods in WTF so that
3759         this parser code can just pass the vector directly instead.
3760
3761         I'll do the actual parser cleanups in follow-up patches to keep things simple.
3762
3763         * wtf/text/AtomicString.h:
3764         (AtomicString):
3765         (WTF::AtomicString::AtomicString):
3766         * wtf/text/StringImpl.h:
3767         (StringImpl):
3768         (WTF::StringImpl::create8BitIfPossible):
3769         * wtf/text/WTFString.h:
3770         (String):
3771         (WTF::String::make8BitFrom16BitSource):
3772         (WTF):
3773         (WTF::append):
3774
3775 2013-02-11  Oliver Hunt  <oliver@apple.com>
3776
3777         Build fix.
3778
3779         * wtf/FastMalloc.cpp:
3780         (WTF::TCMalloc_PageHeap::IncrementalScavenge):
3781
3782 2013-02-11  Ryosuke Niwa  <rniwa@webkit.org>
3783
3784         Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface
3785         https://bugs.webkit.org/show_bug.cgi?id=109534
3786
3787         Reviewed by Anders Carlsson.
3788
3789         * wtf/Platform.h:
3790
3791 2013-02-11  David Kilzer  <ddkilzer@apple.com>
3792
3793         [iOS] Upstream changes to Platform.h
3794         <http://webkit.org/b/109459>
3795
3796         Reviewed by Benjamin Poulain.
3797
3798         * wtf/Platform.h:
3799         - Changes for armv7s.
3800         - Add ENABLE() definitions for DASHBOARD_SUPPORT and WEBGL.
3801         - Re-sort ENABLE() and USE() macros.
3802         - Remove ENABLE() macros for JIT, LLINT and YARR_JIT to enable
3803           on iOS Simulator.  They are already defined below.
3804         - Turn off HAVE(HOSTED_CORE_ANIMATION) for iOS.
3805         - Turn on USE(COREMEDIA) for iOS 6.0 and later.
3806
3807 2013-02-08  Oliver Hunt  <oliver@apple.com>
3808
3809         Harden FastMalloc (again)
3810         https://bugs.webkit.org/show_bug.cgi?id=109334
3811
3812         Reviewed by Mark Hahnenberg.
3813
3814         Re-implement hardening of linked lists in TCMalloc.
3815
3816         In order to keep heap introspection working, we need to thread the
3817         heap entropy manually as the introspection process can't use the
3818         address of a global in determining the mask.  Given we now have to
3819         thread a value through anyway, I've stopped relying on ASLR for entropy
3820         and am simply using arc4random() on darwin, and time + ASLR everywhere
3821         else.
3822
3823         I've also made an explicit struct type for the FastMalloc singly linked
3824         lists, as it seemed like the only way to reliably distinguish between
3825         void*'s that were lists vs. void* that were not.  This also made it
3826         somewhat easier to reason about things across processes.
3827
3828         Verified that all the introspection tools work as expected.
3829
3830         * wtf/FastMalloc.cpp:
3831         (WTF::internalEntropyValue):
3832         (WTF):
3833         (HardenedSLL):
3834         (WTF::HardenedSLL::create):
3835         (WTF::HardenedSLL::null):
3836         (WTF::HardenedSLL::setValue):
3837         (WTF::HardenedSLL::value):
3838         (WTF::HardenedSLL::operator!):
3839         (WTF::HardenedSLL::operator UnspecifiedBoolType):
3840         (TCEntry):
3841         (WTF::SLL_Next):
3842         (WTF::SLL_SetNext):
3843         (WTF::SLL_Push):
3844         (WTF::SLL_Pop):
3845         (WTF::SLL_PopRange):
3846         (WTF::SLL_PushRange):
3847         (WTF::SLL_Size):
3848         (PageHeapAllocator):
3849         (WTF::PageHeapAllocator::Init):
3850         (WTF::PageHeapAllocator::New):
3851         (WTF::PageHeapAllocator::Delete):
3852         (WTF::PageHeapAllocator::recordAdministrativeRegions):
3853         (WTF::Span::next):
3854         (WTF::Span::remoteNext):
3855         (WTF::Span::prev):
3856         (WTF::Span::setNext):
3857         (WTF::Span::setPrev):
3858         (Span):
3859         (WTF::DLL_Init):
3860         (WTF::DLL_Remove):
3861         (WTF::DLL_IsEmpty):
3862         (WTF::DLL_Length):
3863         (WTF::DLL_Prepend):
3864         (TCMalloc_Central_FreeList):
3865         (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects):
3866         (WTF::TCMalloc_Central_FreeList::entropy):
3867         (TCMalloc_PageHeap):
3868         (WTF::TCMalloc_PageHeap::init):
3869         (WTF::TCMalloc_PageHeap::scavenge):
3870         (WTF::TCMalloc_PageHeap::New):
3871         (WTF::TCMalloc_PageHeap::AllocLarge):
3872         (WTF::TCMalloc_PageHeap::Carve):
3873         (WTF::TCMalloc_PageHeap::Delete):
3874         (WTF::TCMalloc_PageHeap::ReturnedBytes):
3875         (WTF::TCMalloc_PageHeap::Check):
3876         (WTF::TCMalloc_PageHeap::CheckList):
3877         (WTF::TCMalloc_PageHeap::ReleaseFreeList):
3878         (TCMalloc_ThreadCache_FreeList):
3879         (WTF::TCMalloc_ThreadCache_FreeList::Init):
3880         (WTF::TCMalloc_ThreadCache_FreeList::empty):
3881         (WTF::TCMalloc_ThreadCache_FreeList::Push):
3882         (WTF::TCMalloc_ThreadCache_FreeList::PushRange):
3883         (WTF::TCMalloc_ThreadCache_FreeList::PopRange):
3884         (WTF::TCMalloc_ThreadCache_FreeList::Pop):
3885         (WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects):
3886         (TCMalloc_ThreadCache):
3887         (WTF::TCMalloc_Central_FreeList::Init):
3888         (WTF::TCMalloc_Central_FreeList::ReleaseListToSpans):
3889         (WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
3890         (WTF::TCMalloc_Central_FreeList::InsertRange):
3891         (WTF::TCMalloc_Central_FreeList::RemoveRange):
3892         (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe):
3893         (WTF::TCMalloc_Central_FreeList::FetchFromSpans):
3894         (WTF::TCMalloc_Central_FreeList::Populate):
3895         (WTF::TCMalloc_ThreadCache::Init):
3896         (WTF::TCMalloc_ThreadCache::Deallocate):
3897         (WTF::TCMalloc_ThreadCache::FetchFromCentralCache):
3898         (WTF::TCMalloc_ThreadCache::ReleaseToCentralCache):
3899         (WTF::TCMalloc_ThreadCache::InitModule):
3900         (WTF::TCMalloc_ThreadCache::NewHeap):
3901         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3902         * wtf/MallocZoneSupport.h:
3903         (RemoteMemoryReader):
3904
3905 2013-02-11  Enrica Casucci  <enrica@apple.com>
3906
3907         Add ENABLE_DELETION_UI to control the use of the deletion UI.
3908         https://bugs.webkit.org/show_bug.cgi?id=109463.
3909         
3910         ENABLE_DELETION_UI is set to 1 by default for
3911         all ports. It is explicitly enabled for MAC and disabled for iOS.
3912
3913         Reviewed by Ryosuke Niwa.
3914
3915         * wtf/Platform.h:
3916
3917 2013-02-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3918
3919         [EFL] Stop using smart pointers for Ecore_Timer
3920         https://bugs.webkit.org/show_bug.cgi?id=109409
3921
3922         Reviewed by Kenneth Rohde Christiansen.
3923
3924         Remove support in OwnPtr for EFL's Ecore_Timer. It is a bad idea to use
3925         OwnPtr for Ecore_Timer because the timer handle may become invalid.
3926
3927         * wtf/OwnPtrCommon.h:
3928         (WTF):
3929         * wtf/efl/OwnPtrEfl.cpp:
3930
3931 2013-02-11  Abhishek Arya  <inferno@chromium.org>
3932
3933         Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
3934         https://bugs.webkit.org/show_bug.cgi?id=108981
3935
3936         Reviewed by Eric Seidel.
3937
3938         * wtf/BitVector.h:
3939         (WTF::BitVector::quickGet):
3940         (WTF::BitVector::quickSet):
3941         (WTF::BitVector::quickClear):
3942         * wtf/DecimalNumber.h:
3943         (WTF::DecimalNumber::DecimalNumber):
3944         * wtf/SegmentedVector.h:
3945         (WTF::SegmentedVector::ensureSegment):
3946         * wtf/StringPrintStream.cpp:
3947         (WTF::StringPrintStream::vprintf):
3948         * wtf/Vector.h:
3949         (WTF::::insert):
3950         (WTF::::remove):
3951         * wtf/dtoa/utils.h:
3952         (WTF::double_conversion::StringBuilder::SetPosition):
3953         (WTF::double_conversion::StringBuilder::AddSubstring):
3954
3955 2013-02-10  Laszlo Gombos  <l.gombos@samsung.com>
3956
3957         Consolidate the way WTF_USE_PTHREADS is enabled
3958         https://bugs.webkit.org/show_bug.cgi?id=108191
3959
3960         Reviewed by Benjamin Poulain.
3961
3962         Define WTF_USE_PTHREADS to 1 on all OS(UNIX) environments.
3963
3964         * WTF.gyp/WTF.gyp: Remove duplicated definition of WTF_USE_PTHREADS.
3965         * wtf/Platform.h:
3966
3967 2013-02-10  Laszlo Gombos  <l.gombos@samsung.com>
3968
3969         Refactor the way HAVE_XXX macros are set
3970         https://bugs.webkit.org/show_bug.cgi?id=108132
3971
3972         Reviewed by Benjamin Poulain.
3973
3974         OS(WINDOWS) and OS(UNIX) are so broadly defined that for each
3975         builds exactly one of them is enabled. Use this assumption to
3976         cleanup Platform.h.
3977
3978         * wtf/Platform.h:
3979
3980 2013-02-10  Jae Hyun Park  <jae.park08@gmail.com>
3981
3982         Rename ENABLE(GLIB_SUPPORT) to USE(GLIB)
3983         https://bugs.webkit.org/show_bug.cgi?id=104266
3984
3985         Reviewed by Philippe Normand.
3986
3987         Using USE(GLIB) instead of ENABLE(GLIB_SUPPORT) is more consistent with
3988         the existing macro naming conventions.
3989
3990         From Platform.h
3991         USE() - use a particular third-party library or optional OS service
3992         ENABLE() - turn on a specific feature of WebKit
3993
3994         * WTF.pri:
3995         * wtf/Platform.h:
3996         * wtf/gobject/GOwnPtr.cpp:
3997         * wtf/gobject/GOwnPtr.h:
3998         * wtf/gobject/GRefPtr.cpp:
3999         * wtf/gobject/GRefPtr.h:
4000
4001 2013-02-08  Michael Saboff  <msaboff@apple.com>
4002
4003         ARM_NEON Inline Assembly for copyLCharsFromUCharSource() inefficient for aligned destinations
4004         https://bugs.webkit.org/show_bug.cgi?id=109335
4005
4006         Reviewed by Filip Pizlo.
4007
4008         Change a "do while" to a "while" so that we don't copy single characters to align the 
4009         destination when it is already aligned.
4010
4011         * wtf/text/ASCIIFastPath.h:
4012         (WTF::copyLCharsFromUCharSource):
4013
4014 2013-02-08  Jer Noble  <jer.noble@apple.com>
4015
4016         Bring WebKit up to speed with latest Encrypted Media spec.
4017         https://bugs.webkit.org/show_bug.cgi?id=97037
4018
4019         Reviewed by Eric Carlson.
4020
4021         Define the ENABLE_ENCRYPTED_MEDIA_V2 setting.
4022
4023         * wtf/Platform.h:
4024
4025 2013-02-08  Adam Barth  <abarth@webkit.org>
4026
4027         Use WeakPtrs to communicate between the HTMLDocumentParser and the BackgroundHTMLParser
4028         https://bugs.webkit.org/show_bug.cgi?id=107190
4029
4030         Reviewed by Eric Seidel.
4031
4032         Add the ability to create an unbound weak reference. This facility lets
4033         you start sending messages to a WeakPtr on another thread before the
4034         object backing the WeakPtr has actually been created.
4035
4036         * wtf/WeakPtr.h:
4037         (WTF::WeakReference::createUnbound):
4038         (WTF::WeakReference::bindTo):
4039         (WeakReference):
4040         (WTF::WeakReference::WeakReference):
4041         (WTF::WeakPtr::WeakPtr):
4042         (WeakPtr):
4043         (WTF::WeakPtrFactory::WeakPtrFactory):
4044         (WeakPtrFactory):
4045         (WTF::WeakPtrFactory::revokeAll):
4046
4047 2013-02-08  Martin Robinson  <mrobinson@igalia.com>
4048
4049         [GTK] Add an experimental gyp build
4050         https://bugs.webkit.org/show_bug.cgi?id=109003
4051
4052         Reviewed by Gustavo Noronha Silva.
4053
4054         * WTF.gyp/WTF.gyp: Filter out MetaAllocator.(cpp/h) from the Chromium
4055         build. It's only necessary for GTK+.
4056         * WTF.gypi: Add MetaAllocator to the build for WebKitGTK+.
4057
4058 2013-02-06  Ilya Tikhonovsky  <loislo@chromium.org>
4059
4060         Web Inspector: Native Memory Instrumentation: reportBaseAddress needs to be called after the reportNode. So it may reuse the node index for the real address.
4061         https://bugs.webkit.org/show_bug.cgi?id=109051
4062
4063         Reviewed by Yury Semikhatsky.
4064
4065         * wtf/MemoryInstrumentation.cpp:
4066         (WTF::MemoryInstrumentation::WrapperBase::processPointer):
4067
4068 2013-02-07  David Kilzer  <ddkilzer@apple.com>
4069
4070         Fix #endif comment from r142163 and r142183
4071
4072         * wtf/MainThread.h:
4073         (WTF): s/PLATFORM/USE/
4074
4075 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
4076
4077         Fix an incorrect comment from r142163
4078
4079         Unreviewed.
4080
4081         * wtf/MainThread.h:
4082         I accidentally copied PLATFORM(IOS) instead of USE(WEB_THREAD) for the #ifdef closing.
4083
4084 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
4085
4086         Upstream iOS isWebThread() and isUIThread()
4087         https://bugs.webkit.org/show_bug.cgi?id=109130
4088
4089         Reviewed by Sam Weinig.
4090
4091         On iOS, it is sometimes necessary to differenciate the thread running WebCore,
4092         and the thread running the UI. This patch upstream those functions.
4093
4094         * wtf/MainThread.cpp:
4095         * wtf/MainThread.h:
4096         Disable the legacy initializer as it is incorrect when using the WebThread to run WebCore.
4097         (WTF::isWebThread):
4098         (WTF::isUIThread):
4099         Return true when the current thread is the Web/UI thread.
4100
4101         * wtf/mac/MainThreadMac.mm:
4102         (WTF::isUIThread):
4103         (WTF::isWebThread):
4104
4105         * wtf/text/AtomicString.cpp:
4106         (WTF::AtomicStringTable::create):
4107         Use the newly added methods.
4108
4109 2013-02-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
4110
4111         [Qt] Fix build without 3D_GRAPHICS
4112         https://bugs.webkit.org/show_bug.cgi?id=109194
4113
4114         Reviewed by Noam Rosenthal.
4115
4116         Now that Coordinated Graphics was moved to WebCore, we need to explicitly enable
4117         it when we have 3D_GRAPHICS. This dependency was implicitly by the fact that
4118         3D_GRAPHICS is a dependency of WebKit2 and Coordinated Graphics was only
4119         available there. This should fix build for Qt SH4 Linux.
4120
4121         * wtf/Platform.h:
4122
4123 2013-02-06  Zan Dobersek  <zdobersek@igalia.com>
4124
4125         [WTFURL] Fix erroneous header inclusions in WTFURL code
4126         https://bugs.webkit.org/show_bug.cgi?id=109040
4127
4128         Reviewed by Benjamin Poulain.
4129
4130         Include WTFURL API headers from files in Source/WTF/wtf/url/src
4131         by specifying their relative path to Source/WTF. 
4132
4133         * GNUmakefile.am: The changes make it possible to compile the WTF library
4134         without specifying both Source/WTF/wtf/url/api and Source/WTF/wtf/url/src
4135         as inclusion directories in CPPFLAGS, so remove these two entries.
4136         * wtf/url/src/RawURLBuffer.h:
4137         * wtf/url/src/URLCanon.h: Include the URLParse.h header by specifying
4138         only the base name as it's located in the same directory.
4139         * wtf/url/src/URLCanonQuery.cpp:
4140         * wtf/url/src/URLUtil.h:
4141
4142 2013-02-06  Tony Gentilcore  <tonyg@chromium.org>
4143
4144         Call XSSAuditor's didBlockScript() for the threaded HTML parser
4145         https://bugs.webkit.org/show_bug.cgi?id=108726
4146
4147         Reviewed by Adam Barth.
4148
4149         This patch adds isSafeToSendToAnotherThread() methods to CString, String, ParsedURL and URLString.
4150         These methods check to ensure there are 0 or 1 references.
4151
4152         * wtf/text/CString.cpp:
4153         (WTF::CString::isSafeToSendToAnotherThread): Added.
4154         (WTF):
4155         * wtf/text/CString.h:
4156         (CString):
4157         * wtf/text/WTFString.cpp:
4158         (WTF::String::isSafeToSendToAnotherThread): Added.
4159         (WTF):
4160         * wtf/text/WTFString.h:
4161         (String):
4162         * wtf/url/api/ParsedURL.h:
4163         (WTF::ParsedURL::isSafeToSendToAnotherThread): Added.
4164         * wtf/url/api/URLString.h:
4165         (WTF::URLString::isSafeToSendToAnotherThread): Added.
4166
4167 2013-02-06  Ilya Tikhonovsky  <loislo@chromium.org>
4168
4169         Web Inspector: Native Memory Instrumentation: assign class name to the heap graph node automatically
4170         https://bugs.webkit.org/show_bug.cgi?id=107262
4171
4172         Reviewed by Yury Semikhatsky.
4173
4174         We need a way to calculate class name for a pointer automatically.
4175         Otherwise we need to write className manually in all the instrumentation methods.
4176         And for all reported but not instrumented classes.
4177
4178         C++ can do that for us with help of typeid but unfortunatelly it requires rtti.
4179         There is another way to do that. C++ preprocessor provides a define which has a function name.
4180
4181         For g++ and clang it is __PRETTY_FUNCTION__.
4182         For MSVC it is __FUNCTION__.
4183         The content of the string is a function signature.
4184         We can use it because it has the name of the template argument.
4185         The format is sligthly different. That's why I made two different parsers.
4186         One for MSVC the other for GCC, Clang etc.
4187         The other problem is the resulting binary size.
4188         I made very simple function that does the only thing, returns the smallest possible function signature.
4189         Unfortunatelly MSVC doesn't generate template argument name for functions.
4190         It does this only for classes.
4191
4192         * wtf/MemoryInstrumentation.cpp:
4193         (WTF):
4194         (WTF::className):
4195         (WTF::MemoryClassInfo::callReportObjectInfo):
4196         (WTF::MemoryClassInfo::init):
4197         * wtf/MemoryInstrumentation.h:
4198         (WTF):
4199         (WTF::FN::fn):
4200         (WTF::fn):
4201         (WTF::MemoryClassInfo::MemoryClassInfo):
4202         (MemoryClassInfo):
4203         (WTF::::reportObjectMemoryUsage):
4204
4205 2013-02-05  Mark Lam  <mark.lam@apple.com>
4206
4207         Fix EnumClass so that it can be used with switch statements.
4208         https://bugs.webkit.org/show_bug.cgi?id=109004.
4209
4210         Reviewed by Sam Weinig.
4211
4212         * wtf/EnumClass.h:
4213         (WTF::EnumClass::operator==):
4214         (WTF::EnumClass::operator!=):
4215         (WTF::EnumClass::operator<):
4216         (WTF::EnumClass::operator<=):
4217         (WTF::EnumClass::operator>):
4218         (WTF::EnumClass::operator>=):
4219         (EnumClass):
4220         (WTF::EnumClass::operator Value):
4221
4222 2013-02-05  Oliver Hunt  <oliver@apple.com>
4223
4224         Disable TCMalloc hardening as it's breaking leaks.
4225
4226         Reviewed by Gavin Barraclough.
4227
4228         * wtf/FastMalloc.cpp:
4229
4230 2013-02-05  Mark Lam  <mark.lam@apple.com>
4231
4232         Rename ENUM_CLASS_BEGIN() macro to ENUM_CLASS(), and make DatabaseType a strong enum.
4233         https://bugs.webkit.org/show_bug.cgi?id=108988.
4234
4235         Reviewed by Alexey Proskuryakov.
4236
4237         * wtf/EnumClass.h:
4238
4239 2013-02-05  Roger Fong  <roger_fong@apple.com>
4240
4241         Unreviewed build fix.
4242
4243         * wtf/FastMalloc.cpp:
4244
4245 2013-02-05  Benjamin Poulain  <bpoulain@apple.com>
4246
4247         Tidy up StackBounds
4248         https://bugs.webkit.org/show_bug.cgi?id=108889
4249
4250         Reviewed by Ryosuke Niwa.
4251
4252         * wtf/StackBounds.h:
4253         (StackBounds):
4254         (WTF::StackBounds::isSafeToRecurse):
4255         (WTF::StackBounds::size):
4256         Adopt a more conventional style for a multiline branch.
4257
4258         (WTF::StackBounds::StackBounds):
4259         (WTF::StackBounds::current):
4260         (WTF::StackBounds::recursionLimit):
4261         Make those method private.
4262
4263         Making the constructor private ensure initialize() is alwasy called on any StackBounds.
4264
4265 2013-02-05  Zan Dobersek  <zdobersek@igalia.com>
4266
4267         [WTFURL] Comparison between signed and unsigned integer expressions in URLUtil.cpp
4268         https://bugs.webkit.org/show_bug.cgi?id=108955
4269
4270         Reviewed by Benjamin Poulain.
4271
4272         * wtf/url/src/URLUtil.cpp:
4273         (URLUtilities): Make the counter variable a signed integer to get rid of the warning.
4274
4275 2013-02-05  Benjamin Poulain  <bpoulain@apple.com>
4276
4277         Rationalize the use of iOS/Mac #defines in Assertions.cpp
4278         https://bugs.webkit.org/show_bug.cgi?id=108870
4279
4280         Reviewed by David Kilzer.
4281
4282         * wtf/Assertions.cpp: Instead of using PLATFORM(MAC) and assume it works for iOS and OS X,
4283         use CF as the guard for CFString. Similarily, USE_APPLE_SYSTEM_LOG guards code using ASL.
4284
4285 2013-02-05  Benjamin Poulain  <bpoulain@apple.com>
4286
4287         Make StringBuilder::toAtomicString() consistent with StringBuilder::toString() for strings of length zero
4288         https://bugs.webkit.org/show_bug.cgi?id=108894
4289
4290         Reviewed by Andreas Kling.
4291
4292         * wtf/text/StringBuilder.h:
4293         (WTF::StringBuilder::toAtomicString): The function was returning the nullAtom for strings of length zero.
4294         This is inconsistent with StringBuilder::toString() which always return an empty string.
4295
4296         This patch unifies the behavior.
4297
4298 2013-02-04  Mark Hahnenberg  <mhahnenberg@apple.com>
4299
4300         Structure::m_outOfLineCapacity is unnecessary
4301         https://bugs.webkit.org/show_bug.cgi?id=108206
4302
4303         Reviewed by Darin Adler.
4304
4305         Simplifying the utility functions that we use since we don't need a 
4306         bunch of fancy templates for this one specific call site.
4307
4308         * wtf/MathExtras.h:
4309         (WTF::roundUpToPowerOfTwo):
4310
4311 2013-02-05  Sheriff Bot  <webkit.review.bot@gmail.com>
4312
4313         Unreviewed, rolling out r141905.
4314         http://trac.webkit.org/changeset/141905
4315         https://bugs.webkit.org/show_bug.cgi?id=108963
4316
4317         "Broke mac build" (Requested by tonyg-cr on #webkit).
4318
4319         * wtf/text/CString.cpp:
4320         * wtf/text/CString.h:
4321         * wtf/text/WTFString.cpp:
4322         * wtf/text/WTFString.h:
4323         (String):
4324         * wtf/url/api/ParsedURL.h:
4325         (ParsedURL):
4326         * wtf/url/api/URLString.h:
4327
4328 2013-02-05  Tony Gentilcore  <tonyg@chromium.org>
4329
4330         Call XSSAuditor's didBlockScript() for the threaded HTML parser
4331         https://bugs.webkit.org/show_bug.cgi?id=108726
4332
4333         Reviewed by Adam Barth.
4334
4335         This patch adds isSafeToSendToAnotherThread() methods to CString, String, ParsedURL and URLString.
4336         These methods check to ensure there are 0 or 1 references.
4337
4338         * wtf/text/CString.cpp:
4339         (WTF::CString::isSafeToSendToAnotherThread): Added.
4340         (WTF):
4341         * wtf/text/CString.h:
4342         (CString):
4343         * wtf/text/WTFString.cpp:
4344         (WTF::String::isSafeToSendToAnotherThread): Added.
4345         (WTF):
4346         * wtf/text/WTFString.h:
4347         (String):
4348         * wtf/url/api/ParsedURL.h:
4349         (WTF::Pars