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