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