Remove WTF::String::operator+=
[WebKit-https.git] / Source / WTF / ChangeLog
1 2012-09-06  Adam Barth  <abarth@chromium.org>
2
3         Remove WTF::String::operator+=
4         https://bugs.webkit.org/show_bug.cgi?id=95797
5
6         Reviewed by Sam Weinig.
7
8         This patch encloses WTF::String::operator+= in an ifdef so that we can
9         gradually remove it from the various port-specific files. The ifdef
10         lets us whitelist use of operator+= in individual files during the
11         transition.
12
13         * wtf/Platform.h
14         * wtf/text/WTFString.h:
15
16 2012-09-05  Gabor Rapcsanyi  <rgabor@webkit.org>
17
18         DFG JIT doesn't work properly on ARM hardfp
19         https://bugs.webkit.org/show_bug.cgi?id=95684
20
21         Reviewed by Filip Pizlo.
22
23         Add hardfp support to DFG JIT. The patch is created with the
24         help of Zoltan Herczeg.
25
26         * wtf/Platform.h:
27
28 2012-09-04  Zoltan Horvath  <zoltan@webkit.org>
29
30         Extend the coverage of the Custom Allocation Framework in WTF and in JavaScriptCore
31         https://bugs.webkit.org/show_bug.cgi?id=95737
32
33         Reviewed by Eric Seidel.
34
35         Add WTF_MAKE_FAST_ALLOCATED macro to the following class declarations because these are instantiated by operator new.
36
37         * wtf/CryptographicallyRandomNumber.cpp: CryptographicallyRandomNumber is instantiated at wtf/CryptographicallyRandomNumber.cpp:162.
38         * wtf/MediaTime.h: MediaTime is instantiated at wtf/MediaTime.cpp:288.
39         * wtf/MetaAllocator.h:
40         (MetaAllocatorTracker): MetaAllocatorTracker is instantiated at JavaScriptCore/tools/CodeProfiling.cpp:120.
41         * wtf/ThreadingPthreads.cpp:
42         (PthreadState): PthreadState is instantiated at wtf/ThreadingPthreads.cpp:165.
43         * wtf/text/AtomicString.cpp:
44         (AtomicStringTable): AtomicStringTable is instantiated at wtf/text/AtomicString.cpp:43.
45
46 2012-09-01  Mark Lam  <mark.lam@apple.com>
47
48         LLInt C loop backend.
49         https://bugs.webkit.org/show_bug.cgi?id=91052.
50
51         Reviewed by Filip Pizlo.
52
53         Added configs for the llint C loop backend.
54
55         * wtf/Platform.h:
56
57 2012-08-31  Pratik Solanki  <psolanki@apple.com>
58
59         objc_msgSend and IMP should be cast appropriately before using
60         https://bugs.webkit.org/show_bug.cgi?id=95242
61
62         Reviewed by Benjamin Poulain.
63
64         Fix for older compilers. Pass id as the return type to the template
65         instead of relying on default type.
66
67         * wtf/Functional.h:
68         (WTF::R):
69         * wtf/ObjcRuntimeExtras.h:
70
71 2012-08-31  Michael Saboff  <msaboff@apple.com>
72
73         CSS Parser should directly parse 8 bit source strings
74         https://bugs.webkit.org/show_bug.cgi?id=95207
75
76         Reviewed by Geoffrey Garen.
77
78         * wtf/text/StringImpl.h:
79         (WTF::equalIgnoringCase): Added (const char*, const LChar*, unsigned) flavor to support
80         8 bit CSS parser work.
81
82 2012-08-30  Benjamin Poulain  <bpoulain@apple.com>
83
84         AtomicString(ASCIILiteral) should not compile
85         https://bugs.webkit.org/show_bug.cgi?id=95413
86
87         Reviewed by Adam Barth.
88
89         * wtf/text/AtomicString.h:
90         (AtomicString): Declare the constructor from ASCIILiteral private to ensure it is
91         not used by accident.
92
93 2012-08-30  Benjamin Poulain  <bpoulain@apple.com>
94
95         Ambiguous operator[]  after r127191 on some compiler
96         https://bugs.webkit.org/show_bug.cgi?id=95509
97
98         Reviewed by Simon Fraser.
99
100         * wtf/text/WTFString.h:
101         (WTF::String::characterAt): At this as a synonym to operator[] to attempt a build fix.
102
103 2012-08-30  Mark Lam  <mark.lam@apple.com>
104
105         Render unto #ifdef's that which belong to them.
106         https://bugs.webkit.org/show_bug.cgi?id=95482.
107
108         Reviewed by Filip Pizlo.
109
110         * wtf/Platform.h: Added ENABLE(COMPUTED_GOTO_OPCODES).
111
112 2012-08-30  Pratik Solanki  <psolanki@apple.com>
113
114         objc_msgSend and IMP should be cast appropriately before using
115         https://bugs.webkit.org/show_bug.cgi?id=95242
116
117         Reviewed by Benjamin Poulain.
118
119         Add new templates wtfObjcMsgSend and wtfCallIMP that do the appropriate
120         casts to correctly typed function pointers before calling objc_msgSend
121         and IMP methods directly.
122
123         * wtf/Functional.h:
124         (WTF::R): Use wtfObjcMsgSend.
125         * wtf/ObjcRuntimeExtras.h: Added.
126         (wtfObjcMsgSend):
127         (wtfCallIMP):
128
129 2012-08-30  Benjamin Poulain  <bpoulain@apple.com>
130
131         Replace JSC::UString by WTF::String
132         https://bugs.webkit.org/show_bug.cgi?id=95271
133
134         Reviewed by Geoffrey Garen.
135
136         * wtf/Platform.h: Useless edit to force a full build. This is needed for some bots for some reason.
137         * wtf/text/WTFString.h: Export a symbol that was exported on UString and needed in WebCore.
138
139         Add String::getCharactersWithUpconvert<>(), which is similar to String::getCharacters<>() but with the same
140         behaviors as UString::getCharacters<>().
141
142         String::getCharactersWithUpconvert<>() is useful when manipulating multiple strings, it allow writting code
143         using 16bits characters if any of the input String is not 8bit.
144
145 2012-08-30  Yong Li  <yoli@rim.com>
146
147         Vector::shrinkToFit should use realloc when suitable.
148         https://bugs.webkit.org/show_bug.cgi?id=94810
149
150         Reviewed by Benjamin Poulain.
151
152         Only tested on BlackBerry. So it is wrapped with PLATFORM(BLACKBERRY) in the mean time.
153         Use realloc to shrink buffer when inline buffer isn't involved and and canMoveWithMemcpy is true.
154
155         When running the test code attached to the bug, it gives 30-45% performance boost for the large blocks
156         (Every test cycle includes an extra pair of malloc/free, so the boost on shrinkToFit() is even bigger)
157         Performance impact on small blocks is not noticeable. (Tested on BlackBerry)
158
159         * wtf/Vector.h:
160         (WTF::VectorBufferBase::shouldReallocateBuffer):
161         (VectorBufferBase):
162         (WTF::VectorBufferBase::reallocateBuffer):
163         (VectorBuffer):
164         (WTF::VectorBuffer::shouldReallocateBuffer):
165         (WTF::VectorBuffer::reallocateBuffer):
166         (WTF::VectorBuffer::inlineBuffer):
167         (WTF::::shrinkCapacity):
168
169 2012-08-30  Patrick Gansterer  <paroga@webkit.org>
170
171         Build fix for COMPILER(MSVC) && !CPU(X86) after r127001.
172
173         * wtf/MathExtras.h:
174         (lrint): Added additional parentheses to silence compiler warning.
175
176 2012-08-29  Benjamin Poulain  <bpoulain@apple.com>
177
178         REGRESSION(r126780): Crash using StringImpl::is8Bit before checking if there is an impl
179         https://bugs.webkit.org/show_bug.cgi?id=95380
180
181         Reviewed by Michael Saboff.
182
183         Blindly copying code from UString in r126780 was stupid. I just brought over a bug.
184         This patch adds the zero length branch back so that null strings are handled correctly.
185
186         * wtf/text/WTFString.cpp:
187         (WTF::String::ascii): Return a empty CString if the String is null or empty.
188
189 2012-08-29  Dominik Röttsches  <dominik.rottsches@intel.com>
190
191         The 2d.imageData.object.round canvas test is failing
192         https://bugs.webkit.org/show_bug.cgi?id=40272
193
194         Reviewed by Benjamin Poulain.
195
196         Updating previous patch to address Benjamin's comments.
197         #ifdef in Uint8ClampedArray removed, fallback implementation for MSVC on non-X86 added.
198
199         * wtf/MathExtras.h:
200         (lrint): Fallback implementation for non-X86 & MSVC case.
201         * wtf/Uint8ClampedArray.h: Removed #ifdef.
202
203 2012-08-28  Sheriff Bot  <webkit.review.bot@gmail.com>
204
205         Unreviewed, rolling out r126914.
206         http://trac.webkit.org/changeset/126914
207         https://bugs.webkit.org/show_bug.cgi?id=95239
208
209         it breaks everything and fixes nothing (Requested by pizlo on
210         #webkit).
211
212         * wtf/HashCountedSet.h:
213         (WTF::::add):
214         (WTF::::remove):
215         (WTF::copyToVector):
216         * wtf/HashIterators.h:
217         (WTF::HashTableConstKeysIterator::get):
218         (WTF::HashTableConstValuesIterator::get):
219         (WTF::HashTableKeysIterator::get):
220         (WTF::HashTableValuesIterator::get):
221         * wtf/HashMap.h:
222         (WTF::KeyValuePairKeyExtractor::extract):
223         (WTF::HashMapValueTraits::isEmptyValue):
224         (WTF::HashMapTranslator::translate):
225         (WTF::HashMapTranslatorAdapter::translate):
226         (WTF::::set):
227         (WTF::::get):
228         (WTF::::take):
229         (WTF::operator==):
230         (WTF):
231         (WTF::deleteAllPairSeconds):
232         (WTF::deleteAllValues):
233         (WTF::deleteAllPairFirsts):
234         (WTF::deleteAllKeys):
235         * wtf/HashTable.h:
236         (WTF::hashTableSwap):
237         (WTF::::checkTableConsistencyExceptSize):
238         * wtf/HashTraits.h:
239         (WTF::KeyValuePair::KeyValuePair):
240         (KeyValuePair):
241         (WTF::KeyValuePairHashTraits::constructDeletedValue):
242         (WTF::KeyValuePairHashTraits::isDeletedValue):
243         * wtf/MetaAllocator.cpp:
244         (WTF::MetaAllocator::addFreeSpace):
245         (WTF::MetaAllocator::incrementPageOccupancy):
246         (WTF::MetaAllocator::decrementPageOccupancy):
247         * wtf/RefCountedLeakCounter.cpp:
248         (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
249         * wtf/RefPtrHashMap.h:
250         (WTF::::set):
251         (WTF::::get):
252         (WTF::::inlineGet):
253         (WTF::::take):
254         * wtf/Spectrum.h:
255         (WTF::Spectrum::add):
256         (WTF::Spectrum::get):
257         (WTF::Spectrum::buildList):
258         * wtf/ThreadingPthreads.cpp:
259         (WTF::identifierByPthreadHandle):
260
261 2012-08-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
262
263         Rename first/second to key/value in HashMap iterators
264         https://bugs.webkit.org/show_bug.cgi?id=82784
265
266         Reviewed by Eric Seidel.
267
268         * wtf/HashCountedSet.h:
269         (WTF::::add):
270         (WTF::::remove):
271         (WTF::copyToVector):
272         * wtf/HashIterators.h:
273         (WTF::HashTableConstKeysIterator::get):
274         (WTF::HashTableConstValuesIterator::get):
275         (WTF::HashTableKeysIterator::get):
276         (WTF::HashTableValuesIterator::get):
277         * wtf/HashMap.h:
278         (WTF::KeyValuePairKeyExtractor::extract):
279         (WTF::HashMapValueTraits::isEmptyValue):
280         (WTF::HashMapTranslator::translate):
281         (WTF::HashMapTranslatorAdapter::translate):
282         (WTF::::set):
283         (WTF::::get):
284         (WTF::::take):
285         (WTF::operator==):
286         (WTF::deleteAllValues):
287         (WTF::deleteAllKeys):
288         Remove deleteAllPairFirsts/Seconds.
289
290         * wtf/HashTable.h:
291         (WTF::hashTableSwap):
292         (WTF::::checkTableConsistencyExceptSize):
293         * wtf/HashTraits.h:
294         (WTF::KeyValuePair::KeyValuePair):
295         (KeyValuePair):
296         (WTF::KeyValuePairHashTraits::constructDeletedValue):
297         (WTF::KeyValuePairHashTraits::isDeletedValue):
298         * wtf/MetaAllocator.cpp:
299         (WTF::MetaAllocator::addFreeSpace):
300         (WTF::MetaAllocator::incrementPageOccupancy):
301         (WTF::MetaAllocator::decrementPageOccupancy):
302         * wtf/RefCountedLeakCounter.cpp:
303         (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
304         * wtf/RefPtrHashMap.h:
305         (WTF::::set):
306         (WTF::::get):
307         (WTF::::inlineGet):
308         (WTF::::take):
309         * wtf/Spectrum.h:
310         (WTF::Spectrum::add):
311         (WTF::Spectrum::get):
312         (WTF::Spectrum::buildList):
313         * wtf/ThreadingPthreads.cpp:
314         (WTF::identifierByPthreadHandle):
315
316 2012-08-27  Sheriff Bot  <webkit.review.bot@gmail.com>
317
318         Unreviewed, rolling out r126836.
319         http://trac.webkit.org/changeset/126836
320         https://bugs.webkit.org/show_bug.cgi?id=95163
321
322         Broke all Apple ports, EFL, and Qt. (Requested by tkent on
323         #webkit).
324
325         * wtf/HashCountedSet.h:
326         (WTF::::add):
327         (WTF::::remove):
328         (WTF::copyToVector):
329         * wtf/HashIterators.h:
330         (WTF::HashTableConstKeysIterator::get):
331         (WTF::HashTableConstValuesIterator::get):
332         (WTF::HashTableValuesIterator::get):
333         * wtf/HashMap.h:
334         (WTF::KeyValuePairKeyExtractor::extract):
335         (WTF::HashMapValueTraits::isEmptyValue):
336         (WTF::HashMapTranslator::translate):
337         (WTF::HashMapTranslatorAdapter::translate):
338         (WTF::::set):
339         (WTF::::get):
340         (WTF::::take):
341         (WTF::operator==):
342         (WTF):
343         (WTF::deleteAllPairSeconds):
344         (WTF::deleteAllValues):
345         (WTF::deleteAllPairFirsts):
346         (WTF::deleteAllKeys):
347         * wtf/HashTable.h:
348         (WTF::hashTableSwap):
349         (WTF::::checkTableConsistencyExceptSize):
350         * wtf/HashTraits.h:
351         (WTF::KeyValuePair::KeyValuePair):
352         (KeyValuePair):
353         (WTF::KeyValuePairHashTraits::constructDeletedValue):
354         (WTF::KeyValuePairHashTraits::isDeletedValue):
355         * wtf/MetaAllocator.cpp:
356         (WTF::MetaAllocator::addFreeSpace):
357         (WTF::MetaAllocator::incrementPageOccupancy):
358         (WTF::MetaAllocator::decrementPageOccupancy):
359         * wtf/RefCountedLeakCounter.cpp:
360         (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
361         * wtf/RefPtrHashMap.h:
362         (WTF::::set):
363         (WTF::::get):
364         (WTF::::inlineGet):
365         (WTF::::take):
366         * wtf/Spectrum.h:
367         (WTF::Spectrum::add):
368         (WTF::Spectrum::get):
369         (WTF::Spectrum::buildList):
370         * wtf/ThreadingPthreads.cpp:
371         (WTF::identifierByPthreadHandle):
372
373 2012-08-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
374
375         Rename first/second to key/value in HashMap iterators
376         https://bugs.webkit.org/show_bug.cgi?id=82784
377
378         Reviewed by Eric Seidel.
379
380         * wtf/HashCountedSet.h:
381         (WTF::::add):
382         (WTF::::remove):
383         (WTF::copyToVector):
384         * wtf/HashIterators.h:
385         (WTF::HashTableConstKeysIterator::get):
386         (WTF::HashTableConstValuesIterator::get):
387         (WTF::HashTableValuesIterator::get):
388         * wtf/HashMap.h:
389         (WTF::KeyValuePairKeyExtractor::extract):
390         (WTF::HashMapValueTraits::isEmptyValue):
391         (WTF::HashMapTranslator::translate):
392         (WTF::HashMapTranslatorAdapter::translate):
393         (WTF::::set):
394         (WTF::::get):
395         (WTF::::take):
396         (WTF::operator==):
397         (WTF::deleteAllValues):
398         (WTF::deleteAllKeys):
399         Remove deleteAllPairFirsts/Seconds.
400
401         * wtf/HashTable.h:
402         (WTF::hashTableSwap):
403         (WTF::::checkTableConsistencyExceptSize):
404         * wtf/HashTraits.h:
405         (WTF::KeyValuePair::KeyValuePair):
406         (KeyValuePair):
407         (WTF::KeyValuePairHashTraits::constructDeletedValue):
408         (WTF::KeyValuePairHashTraits::isDeletedValue):
409         * wtf/MetaAllocator.cpp:
410         (WTF::MetaAllocator::addFreeSpace):
411         (WTF::MetaAllocator::incrementPageOccupancy):
412         (WTF::MetaAllocator::decrementPageOccupancy):
413         * wtf/RefCountedLeakCounter.cpp:
414         (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
415         * wtf/RefPtrHashMap.h:
416         (WTF::::set):
417         (WTF::::get):
418         (WTF::::inlineGet):
419         (WTF::::take):
420         * wtf/Spectrum.h:
421         (WTF::Spectrum::add):
422         (WTF::Spectrum::get):
423         (WTF::Spectrum::buildList):
424         * wtf/ThreadingPthreads.cpp:
425         (WTF::identifierByPthreadHandle):
426
427 2012-08-27  Benjamin Poulain  <benjamin@webkit.org>
428
429         Add ECMAScript Number to String conversion to WTF::String
430         https://bugs.webkit.org/show_bug.cgi?id=95016
431
432         Reviewed by Geoffrey Garen.
433
434         * wtf/text/WTFString.cpp:
435         (WTF::String::numberToStringECMAScript):
436         * wtf/text/WTFString.h:
437         Add the implementation of numberToStringECMAScript(double) from UString to String.
438         This will make it easier to replace UString in the future.
439
440 2012-08-27  Benjamin Poulain  <benjamin@webkit.org>
441
442         Even up WTF::String to CString functions
443         https://bugs.webkit.org/show_bug.cgi?id=95008
444
445         Reviewed by Sam Weinig.
446
447         Apply advantages from UString to WTF::String.
448
449         * wtf/text/WTFString.cpp:
450         (WTF::String::ascii): There is no need to special case the null length, both
451         following branches use CString::newUninitialized(), which create empty string
452         for null length.
453         (WTF::String::latin1): Use characters16() instead of characters() to avoid
454         testing is8Bit() a second time.
455
456 2012-08-24  Benjamin Poulain  <benjamin@webkit.org>
457
458         Touch Platform.h to solve a build dependency issue
459
460         Unreviewed.
461
462         * wtf/Platform.h:
463
464 2012-08-24  Benjamin Poulain  <bpoulain@apple.com>
465
466         Unify Number to StringImpl conversion
467         https://bugs.webkit.org/show_bug.cgi?id=94879
468
469         Reviewed by Geoffrey Garen.
470
471         Previously, UString::number() and String::number() used different implementations.
472
473         WTF::String::number() was simply forwarding to String::format().
474         UString::number() had an optimized version of the conversion.
475
476         This patch replace both implementation by a new version, faster than the two previous versions.
477
478         The new functions numberToStringImpl improvements are:
479         -about 3 times faster than String::number().
480         -14% faster than UString::number() on signed numbers.
481         -9% faster than UString::number() on unsigned numbers.
482
483         * GNUmakefile.list.am:
484         * WTF.gypi:
485         * WTF.pro:
486         * WTF.vcproj/WTF.vcproj:
487         * WTF.xcodeproj/project.pbxproj:
488         * wtf/CMakeLists.txt:
489         * wtf/text/IntegerToStringConversion.cpp: Added.
490         (WTF::numberToStringImplSigned):
491         (WTF::numberToStringImpl):
492         (WTF::numberToStringImplUnsigned):
493         * wtf/text/IntegerToStringConversion.h: Added.
494         * wtf/text/WTFString.cpp:
495         (WTF::String::format):
496         * wtf/text/WTFString.h:
497         (WTF::String::number):
498
499 2012-08-24  Andras Becsi  <andras.becsi@nokia.com>
500
501         [Qt] Be more explicit about the ICU dependency in the error message
502
503         Rubber-stamped by Simon Hausmann.
504
505         When building QtWebKit with a Qt5 which was not configured with libICU support
506         the error message is somewhat ambiguous about the indirect dependency.
507
508         * WTF.pri:
509
510 2012-08-23  Julien Chaffraix  <jchaffraix@webkit.org>
511
512         [Chromium] Enable AtomicString && CString && WTFString && StringImpl unit tests
513         https://bugs.webkit.org/show_bug.cgi?id=94871
514
515         Reviewed by Benjamin Poulain.
516
517         * wtf/PassRefPtr.h:
518         We need to include Assertions.h due to the COMPILE_ASSERT added in r89283.
519         This matches other files in WTF though I am not sure why Chromium is the only
520         platform complaining about that.
521
522 2012-08-23  Mark Rowe  <mrowe@apple.com>
523
524         Build fix for old, old versions of Clang.
525
526         * wtf/FastMalloc.cpp:
527         (WTF): Rejigger things so that they parse correctly if __has_warning isn't defined.
528
529 2012-08-23  Emil A Eklund  <eae@chromium.org>
530
531         Add saturation arithmetic support to FractionalLayoutUnit
532         https://bugs.webkit.org/show_bug.cgi?id=94364
533
534         Reviewed by Benjamin Poulain.
535
536         Add support functions for saturated addition and subtraction.
537
538         Test: TestWebKitAPI/Tests/WTF/SaturatedArithmeticOperations.cpp
539
540         * GNUmakefile.list.am:
541         * WTF.gypi:
542         * WTF.pro:
543         * WTF.vcproj/WTF.vcproj:
544         * WTF.xcodeproj/project.pbxproj:
545         * WTF/wtf/CMakeLists.txt:
546         Add SaturatedArithmetic.h to build files.
547
548         * wtf/SaturatedArithmetic.h: Added.
549         (saturatedAddition):
550         (saturatedSubtraction):
551         Support functions for saturated addition/subtraction. Compares the signed
552         bit of the values instead of using range checks to reduce branching.
553
554         * wtf/Platform.h:
555         Add ENABLE_SATURATED_LAYOUT_ARITHMETIC flag.
556
557 2012-08-23  Mark Rowe  <mrowe@apple.com>
558
559         Roll back in the part of r126475 that I had rolled out.
560
561         * wtf/FastMalloc.cpp:
562         (WTF): Disable the -Wunused-private-field warning around the declaration of
563         TCMalloc_Central_FreeListPadded since the padding is intentionally unused.
564         Only disable the warning if we detect it is enabled, since the warning may not
565         be supported by the version of Clang that is being used.
566
567 2012-08-23  Mark Rowe  <mrowe@apple.com>
568
569         Roll out part of r126475 that breaks the build with older versions of Clang.
570
571         * wtf/FastMalloc.cpp:
572
573 2012-08-23  Mark Rowe  <mrowe@apple.com>
574
575         Make WTF build with the latest version of clang.
576
577         Reviewed by Dan Bernstein.
578
579         * wtf/FastMalloc.cpp:
580         (WTF): Disable the -Wunused-private-field warning around the declaration of
581         TCMalloc_Central_FreeListPadded since the padding is intentionally unused.
582         (WTF::AdminRegionRecorder): Remove the unused m_reader member.
583         (WTF::FastMallocZone::enumerate): Don't pass in the RemoteMemoryReader since
584         it is no longer needed.
585
586 2012-08-22  Geoffrey Garen  <ggaren@apple.com>
587
588         Fixed a fastMallocForbid/Allow compile error for some compilers
589         https://bugs.webkit.org/show_bug.cgi?id=94775
590
591         Reviewed by Gavin Barraclough.
592
593         * wtf/FastMalloc.h:
594         (WTF::fastMallocForbid()):
595         (WTF::fastMallocAllow()): Export, since these are called by JavaScriptCore.
596
597 2012-08-22  Geoffrey Garen  <ggaren@apple.com>
598
599         ThreadRestrictionVerifier should be opt-in, not opt-out
600         https://bugs.webkit.org/show_bug.cgi?id=94761
601
602         Reviewed by Mark Hahnenberg.
603
604         WebKit's JavaScript engine supports use on multiple threads, so default-on
605         is not appropriate for most of our objects, and it causes lots of suprious
606         assertions.
607
608         * wtf/MetaAllocator.cpp:
609         (WTF::MetaAllocatorHandle::MetaAllocatorHandle): No need to turn off
610         explicitly, since it's off by default now.
611
612         * wtf/ThreadRestrictionVerifier.h:
613         (WTF::ThreadRestrictionVerifier::ThreadRestrictionVerifier): Turn off by default.
614
615         (WTF::ThreadRestrictionVerifier::setMutexMode):
616         (WTF::ThreadRestrictionVerifier::setDispatchQueueMode):
617         (WTF::ThreadRestrictionVerifier::turnOffVerification): These assertions
618         about state transitions were inconsistent with each other, and impossible
619         to maintain with default off, so I removed them.
620
621 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
622
623         [Qt] Optionally support smooth-scrolling on all platforms
624         https://bugs.webkit.org/show_bug.cgi?id=74926
625
626         Reviewed by Simon Hausmann.
627
628         Initialize GESTURE_ANIMATION feature flag.
629
630         * wtf/Platform.h:
631
632 2012-08-21  Mark Hahnenberg  <mhahnenberg@apple.com>
633
634         WTF Threading leaks kernel objects on platforms that use pthreads
635         https://bugs.webkit.org/show_bug.cgi?id=94636
636
637         Reviewed by Geoffrey Garen.
638
639         Creating lots of Web workers on Mac platforms leaks lots of Mach ports. Eventually, the 
640         process can exhaust its allocation of Mach ports from the kernel, which can then cause 
641         all sorts of badness, including the inability to allocate new virtual memory from the 
642         kernel. ThreadingPthreads.cpp and ThreadIdentifierDataPthreads.cpp need to be refactored 
643         so that we do not leak these kernel resources. I would assume that we also leak kernel 
644         resources on other pthreads platforms as well.
645
646         * wtf/ThreadIdentifierDataPthreads.cpp:
647         (WTF):
648         (WTF::ThreadIdentifierData::~ThreadIdentifierData): Now calls the event threadDidExit, which 
649         handles all relevant tear-down of the thread metadata in the thread map.
650         * wtf/ThreadingPthreads.cpp: Added a new class called PthreadState that encapsulates the 
651         state of a thread and the possible transitions between those states.
652         (PthreadState):
653         (WTF::PthreadState::PthreadState):
654         (WTF::PthreadState::joinableState): Returns the current state of the pthread.
655         (WTF::PthreadState::pthreadHandle): Returns the pthread_t for this particular thread. This needs to 
656         remain valid even after the thread has exited because somebody could come along at any time in the 
657         future and call join on the thread.
658         (WTF::PthreadState::didBecomeDetached): Signals that the thread was detached.
659         (WTF::PthreadState::didExit): Signals that the thread's exit destructor (~ThreadIdentifierData) has run.
660         (WTF::PthreadState::didJoin): Signals that the thread has been joined on successfully.
661         (WTF::PthreadState::hasExited): Returns whether or not the thread's exit destructor has run.
662         (WTF):
663         (WTF::identifierByPthreadHandle): Changed to also check hasExited() on the threads it finds in the map. We 
664         should only have one valid pthread_t in the map, but there are other pthread_t's that need to remain in the 
665         thread map for when somebody joins on that thread id later.
666         (WTF::establishIdentifierForPthreadHandle): Changed to put the allocate the new PthreadState data structure and 
667         put it in the map.
668         (WTF::pthreadHandleForIdentifierWithLockAlreadyHeld):
669         (WTF::wtfThreadEntryPoint):
670         (WTF::waitForThreadCompletion): We now do the relevant cleanup after the specified thread has been 
671         successfully joined on depending on if the joined thread has already exited.
672         (WTF::detachThread): Performs relevant cleanup if the thread has already exited. Otherwise signals to the 
673         PthreadState that the thread has been detached.
674         (WTF::threadDidExit): Function called by ~ThreadIdentifierData to indicate that the thread has exited. 
675         Only cleans up after itself if the thread isn't Joinable (i.e. Joined or Detached).
676
677 2012-08-21  Ulan Degenbaev  <ulan@chromium.org>
678
679         Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer constructed and destructed
680         https://bugs.webkit.org/show_bug.cgi?id=92993
681
682         Reviewed by Kenneth Russell.
683
684         Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer
685         is constructed and destructed so that V8's garbage collection
686         heuristics can account for the memory held by these objects.
687
688         * wtf/ArrayBuffer.h:
689         (WTF):
690         (ArrayBufferDeallocationObserver):
691         (WTF::ArrayBufferContents::ArrayBufferContents):
692         (WTF::ArrayBufferContents::transfer):
693         (ArrayBufferContents):
694         (ArrayBuffer):
695         (WTF::ArrayBuffer::setDeallocationObserver):
696         (WTF::ArrayBufferContents::~ArrayBufferContents):
697
698 2012-08-21  Benjamin Poulain  <bpoulain@apple.com>
699
700         Store CString data in the CStringBuffer to avoid the double indirection
701         https://bugs.webkit.org/show_bug.cgi?id=94562
702
703         Reviewed by Darin Adler.
704
705         Previously, any non-trivial CString would require two allocations:
706         1) CStringBuffer (ref-counted container for CString's data).
707         2) VectorBuffer's m_buffer (the actual char data).
708
709         This patches changes CStringBuffer to hold the data previously owned by
710         WTF::Vector and WTF::VectorBuffer. This makes CString more efficient
711         both in CPU time and memory use.
712
713         * wtf/text/CString.cpp:
714         (WTF::CStringBuffer::createUninitialized): This new method allocate the memory
715         for CStringBuffer and its data. We simply allocate more memory after CStringBuffer
716         to hold the data.
717
718         The extra memory needed to store the terminating zero is now handled by design.
719         (WTF::CString::CString): Move the test for "str" one level up the stack from CString::init().
720         This avoid double checking the pointer when using the other constructor.
721         (WTF::CString::init):
722         (WTF::CString::newUninitialized):
723         (WTF::CString::copyBufferIfNeeded):
724         * wtf/text/CString.h:
725         (WTF::CStringBuffer::data):
726         (WTF::CStringBuffer::length):
727         (CStringBuffer):
728         (WTF::CStringBuffer::CStringBuffer):
729         (WTF::CStringBuffer::mutableData):
730         (WTF::CString::length):
731
732 2012-08-21  Patrick Gansterer  <paroga@webkit.org>
733
734         Build fix for COMPILER(MSVC) && !CPU(X86) after r126023.
735
736         * wtf/MathExtras.h:
737         (lrint):
738
739 2012-08-20  Dominik Röttsches  <dominik.rottsches@intel.com>
740
741         The 2d.imageData.object.round canvas test is failing
742         https://bugs.webkit.org/show_bug.cgi?id=40272
743
744         Reviewed by Kenneth Rohde Christiansen.
745
746         According to the Uint8ClampedArray spec (http://www.khronos.org/registry/typedarray/specs/latest/#7.1)
747         which references WebIDL's clamping rules, with implications defined in http://www.w3.org/TR/WebIDL/#es-octet
748         we need to round to nearest integer, and to the even one if exactly halfway in between.
749         As a solution: applying C99's lrint which, in default rounding mode, does that.
750
751         The updated version of test 2d.imageData.object.round.html test passes now.
752
753         * wtf/MathExtras.h:
754         (lrint): Assembly based implementation for MSVC under X86, otherwise falling back to casting.
755         * wtf/Uint8ClampedArray.h:
756         (WTF::Uint8ClampedArray::set): lrint instead of simple rounding.
757
758 2012-08-17  Michael Saboff  <msaboff@apple.com>
759
760         Add ability to create AtomicString using LChar* buffer and length
761         https://bugs.webkit.org/show_bug.cgi?id=94381
762
763         Reviewed by Geoffrey Garen.
764
765         Allows the use of 8 bit string data directly without converting to 16 bits first.
766
767         * wtf/text/AtomicString.cpp:
768         (WTF::LCharBufferTranslator::hash):
769         (LCharBufferTranslator):
770         (WTF::LCharBufferTranslator::equal):
771         (WTF::LCharBufferTranslator::translate):
772         (WTF::AtomicString::add):
773         * wtf/text/AtomicString.h:
774         (WTF::AtomicString::AtomicString):
775         (AtomicString):
776         * wtf/text/StringImpl.h:
777         (StringImpl):
778
779 2012-08-17  Benjamin Poulain  <bpoulain@apple.com>
780
781         Make it easier to append a literal to StringBuilder
782         https://bugs.webkit.org/show_bug.cgi?id=94273
783
784         Reviewed by Kentaro Hara.
785
786         * wtf/text/StringBuilder.h:
787         (WTF::StringBuilder::appendLiteral): Add the method StringBuilder::appendLiteral() for efficiently
788         adding a string literal to the StringBuilder.
789
790 2012-08-17  Yong Li  <yoli@rim.com>
791
792         [BlackBerry] Turn on a few macros for jpeg decoding and image interpolation
793         https://bugs.webkit.org/show_bug.cgi?id=94244
794
795         Reviewed by Antonio Gomes.
796
797         Turn on these macros to get better performance.
798
799         * wtf/Platform.h:
800
801 2012-08-17  Milian Wolff  <milian.wolff@kdab.com>
802
803         [Qt] QNX build fails due to ctype usage in system headers
804         https://bugs.webkit.org/show_bug.cgi?id=93849
805
806         Reviewed by Simon Hausmann.
807
808         Move the check for whether DisallowCType should be active or not
809         to the DisallowCType.h header. This way, we can update the list
810         of platforms or OSes which do not work with this header in a
811         central place. All users can now safely include the header
812         and do not need to place custom guards around it.
813
814         * config.h:
815         * wtf/DisallowCType.h:
816
817 2012-08-17  Milian Wolff  <milian.wolff@kdab.com>
818
819         [Qt] QNX build fails due to missing timegm declaration
820         https://bugs.webkit.org/show_bug.cgi?id=93842
821
822         Reviewed by Simon Hausmann.
823
824         On QNX, timegm is declared in nbutils.h and one must link against
825         nbutils to use it.
826
827         * WTF.pri:
828         * wtf/DateMath.cpp:
829
830 2012-08-16  Kent Tamura  <tkent@chromium.org>
831
832         Build fix for Chromium-mac.
833
834         * wtf/text/WTFString.cpp: Remove unnecessary includes.
835
836 2012-08-16  Michael Saboff  <msaboff@apple.com>
837
838         HTML Parser should produce 8bit substrings for inline style and script elements
839         https://bugs.webkit.org/show_bug.cgi?id=93742
840
841         Reviewed by Benjamin Poulain.
842
843         Added 8 bit path to String::isAllSpecialCharacters(). Added new String creator
844         that takes a pointer to a UChar array that is known to contain only 8 bit
845         characters (LChar's). Added new helper method to copy contents of a
846         UChar buffer to a LChar buffer. The helper method includes X86-64 intrinsics
847         of SSE family instructions for performance.
848
849         * wtf/Alignment.h:
850         (WTF::isAlignedTo):
851         * wtf/text/ASCIIFastPath.h:
852         (WTF::copyLCharsFromUCharSource):
853         * wtf/text/WTFString.cpp:
854         (WTF::String::make8BitFrom16BitSource):
855         * wtf/text/WTFString.h:
856         (String):
857         (WTF::isAllSpecialCharacters):
858         (WTF::String::isAllSpecialCharacters):
859
860 2012-08-16  Benjamin Poulain  <bpoulain@apple.com>
861
862         Use initialization from literals for StringStatics
863         https://bugs.webkit.org/show_bug.cgi?id=94185
864
865         Reviewed by Geoffrey Garen.
866
867         * wtf/text/StringStatics.cpp:
868         Remove the arguments for DEFINE_GLOBAL. They are no longer used by the macro.
869         (WTF::AtomicString::init):
870         Use ConstructFromLiteral to initialize the strings faster and to save memory.
871
872 2012-08-14  Milian Wolff  <milian.wolff@kdab.com>
873
874         [Qt] QNX build fails due to reference to MADV_FREE_REUSE and MADV_FREE_REUSABLE
875         https://bugs.webkit.org/show_bug.cgi?id=93843
876
877         Reviewed by Simon Hausmann.
878
879         QNX does not implement MADV_FREE_REUSE nor MADV_FREE_REUSABLE.
880         The Blackberry port already sets the define to use the system
881         malloc, which is now also done for QNX in general.
882
883         * wtf/Platform.h:
884
885 2012-08-13  Raphael Kubo da Costa  <rakuco@webkit.org>
886
887         [CMake] Remove glib-related Find modules and write single new one instead.
888         https://bugs.webkit.org/show_bug.cgi?id=93786
889
890         Reviewed by Rob Buis.
891
892         * wtf/PlatformEfl.cmake: Use GLIB_* instead of Glib_*, and link directly to GIO, as wtf/gobject uses functions from it.
893
894 2012-08-11  Sam Weinig  <sam@webkit.org>
895
896         Enable XPC Service based WebProcess with runtime flag
897         https://bugs.webkit.org/show_bug.cgi?id=93773
898
899         Reviewed by Dan Bernstein.
900
901         * wtf/Platform.h:
902         Define HAVE_XPC on 10.7 and later.
903
904 2012-08-11  Benjamin Poulain  <bpoulain@apple.com>
905
906         Do the DecimalNumber to String conversion on 8 bits
907         https://bugs.webkit.org/show_bug.cgi?id=93683
908
909         Reviewed by Andreas Kling.
910
911         Modify DecimalNumber to do the conversion to string on LChar instead of UChar.
912
913         * wtf/DecimalNumber.cpp:
914         (WTF::DecimalNumber::toStringDecimal):
915         (WTF::DecimalNumber::toStringExponential):
916         * wtf/DecimalNumber.h:
917         (DecimalNumber):
918         * wtf/dtoa.h:
919         * wtf/text/StringBuffer.h:
920         (WTF::StringBuffer::operator[]): StringBuffer::operator[] was incorrectly typed to UChar, making
921         the method impossible to instanciate with LChar.
922         * wtf/text/WTFString.h:
923         (String):
924         (WTF::String::adopt): String::adopt() is modified to work with both LChar and UChar. StringImpl
925         already support that.
926         (WTF::appendNumber): Add support for any type that can instanciate the template.
927
928 2012-08-11  Benjamin Poulain  <benjamin@webkit.org>
929
930         WebCore::findAtomicString(PropertyName) always convert the name to 16bits
931         https://bugs.webkit.org/show_bug.cgi?id=93685
932
933         Reviewed by Geoffrey Garen.
934
935         Previously, WebCore::findAtomicString() was causing a conversion for the 8bit property name
936         to a 16bits due to the call to StringImpl::character16().
937
938         This patch fixes the issue by adding support for both 8bits and 16bits string in AtomicString::find().
939
940         * wtf/text/AtomicString.cpp:
941         (HashAndCharacters):
942         (WTF::HashAndCharactersTranslator::hash):
943         (WTF::HashAndCharactersTranslator::equal):
944         (WTF::HashAndCharactersTranslator::translate):
945         Use a template to make the struct and the translator independant of the CharacterType.
946
947         (WTF::AtomicString::add):
948         (WTF::findString):
949         (WTF::AtomicString::find): Change the API to take a StringImpl*. AtomicString can use
950         it efficiently to find the right string.
951         * wtf/text/AtomicString.h:
952         (AtomicString):
953         * wtf/text/StringImpl.h:
954         (StringImpl): Adapt the friends translator to support the template.
955
956 2012-08-10  Benjamin Poulain  <bpoulain@apple.com>
957
958         Add support for String initialization from literal to WTFString
959         https://bugs.webkit.org/show_bug.cgi?id=93426
960
961         Reviewed by Anders Carlsson.
962
963         This patch adds two constructor to WTF::String in order to support fast initialization from literal:
964         -String(ASCIILiteral): Constructor similar to String(const char*) while being faster. This constructor
965          does not incur any overhead over String(const char*).
966         -String(char[], ConstructFromLiteralTag): Template constructor that encode explicitely the size of the
967          string.
968
969         String(ASCIILiteral) is expected to be used in most cases to avoid regressions. This constructor was
970         added because of what we have learned from r124922: inlining the string length in the code causes a code bloat
971         that is not always welcome.
972
973         Regarding performance of string initialization, the constructors performance are (6 characters string):
974         -String(ASCIILiteral): 16% faster.
975         -String(char[], ConstructFromLiteralTag): 33% faster (the delta increases with the string length).
976
977         In addition, no memory is allocated for the characters.
978
979         * wtf/text/StringImpl.cpp:
980         * wtf/text/StringImpl.h:
981         (WTF::StringImpl::createFromLiteral): Extend StringImpl::createFromLiteral to have a version
982         with strlen() which avoids loading one extra argument.
983         * wtf/text/WTFString.cpp:
984         (WTF::String::String):
985         * wtf/text/WTFString.h:
986         (WTF::String::String):
987         (ASCIILiteral): This class is aimed at making the construction of WTFString from a literal very easy.
988         By using the explicit constructor ASCIILiteral(char *), one can expect the implicit conversion to String
989         when needed.
990         (WTF::ASCIILiteral::ASCIILiteral):
991         (WTF::ASCIILiteral::operator const char*):
992
993 2012-08-08  Benjamin Poulain  <bpoulain@apple.com>
994
995         Use char* instead of LChar* for the public interface of String construction from literals
996         https://bugs.webkit.org/show_bug.cgi?id=93402
997
998         Reviewed by Michael Saboff.
999
1000         When the initialization from literal was added, some constructor/initialization function were
1001         using LChar for convenience.
1002
1003         Since those function should only take ASCII characters, using LChar* could cause confusion. This
1004         patch intents to clarify this by using char* for all those APIs.
1005
1006         * wtf/text/AtomicString.cpp:
1007         (WTF::CharBufferFromLiteralDataTranslator::hash):
1008         (WTF::CharBufferFromLiteralDataTranslator::equal):
1009         (WTF::CharBufferFromLiteralDataTranslator::translate):
1010         (WTF::AtomicString::addFromLiteralData):
1011         * wtf/text/AtomicString.h:
1012         (WTF::AtomicString::AtomicString):
1013         (AtomicString):
1014         * wtf/text/StringImpl.cpp:
1015         (WTF::StringImpl::createFromLiteral):
1016         * wtf/text/StringImpl.h:
1017         (StringImpl):
1018         (WTF::StringImpl::StringImpl):
1019         (WTF::StringImpl::createFromLiteral):
1020
1021 2012-08-08  Patrick Gansterer  <paroga@webkit.org>
1022
1023         Remove ce_time.(cpp|h) from list of source files
1024         https://bugs.webkit.org/show_bug.cgi?id=93446
1025
1026         Reviewed by Simon Hausmann.
1027
1028         r125004 removed the last dependency on functions defined in ce_time.cpp.
1029
1030         * wtf/PlatformWinCE.cmake:
1031
1032 2012-08-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>
1033
1034         Atomics.h has incorrect GCC test for ext/atomicity.h when using LSB compilers
1035         https://bugs.webkit.org/show_bug.cgi?id=51974
1036
1037         Reviewed by Simon Hausmann.
1038
1039         * wtf/Atomics.h: Inhibits the inclusion of the atomicity.h GNU C++
1040         extension when compiling with a LSB compliant compiler. Thanks to
1041         Craig Scott for the new precompiler check code.
1042
1043 2012-08-07  Yoshifumi Inoue  <yosin@chromium.org>
1044
1045         [WTF] Add using WTF::msPerHour into DateMath.h
1046         https://bugs.webkit.org/show_bug.cgi?id=93428
1047
1048         Reviewed by Kent Tamura.
1049
1050         This patch adds "using WTF::msPerHour" into DateMath.h for some codes
1051         which will use it, e.g. bug 92960. Note: DateMath.h already has had
1052         using statements for msPerDay, msPerMinute and msPerSecond.
1053
1054         * wtf/DateMath.h: Added "using WTF::msPerHour".
1055
1056 2012-08-07  Benjamin Poulain  <benjamin@webkit.org>
1057
1058         Use the initialization from literal for JSC's Identifiers
1059         https://bugs.webkit.org/show_bug.cgi?id=93193
1060
1061         Reviewed by Geoffrey Garen.
1062
1063         * wtf/text/StringImpl.h: Update the names for the HashTranslator used by Identifier.
1064
1065 2012-07-19  Simon Hausmann  <simon.hausmann@nokia.com>
1066
1067         [Qt] Remove Qt 4 specific code paths
1068         https://bugs.webkit.org/show_bug.cgi?id=88161
1069
1070         Reviewed by Kenneth Rohde Christiansen.
1071
1072         * WTF.pri:
1073         * WTF.pro:
1074         * wtf/qt/StringQt.cpp:
1075         (WTF::String::String):
1076         (WTF::String::operator QString):
1077         * wtf/qt/UtilsQt.h: Removed.
1078         * wtf/qt/compat/QGuiApplication: Removed.
1079         * wtf/qt/compat/qguiapplication.h: Removed.
1080         * wtf/text/StringImpl.cpp:
1081         (WTF::StringImpl::~StringImpl):
1082         (WTF):
1083         * wtf/text/StringImpl.h:
1084         (StringImpl):
1085
1086 2012-08-06  Patrick Gansterer  <paroga@webkit.org>
1087
1088         [WIN] Remove dependency on pthread from MachineStackMarker
1089         https://bugs.webkit.org/show_bug.cgi?id=68429
1090
1091         Reviewed by Geoffrey Garen.
1092
1093         Windows has no support for calling a destructor for thread specific data.
1094         Since we need more control over creating and deleting thread specific keys
1095         we can not simply extend WTF::ThreadSpecific with this functionality.
1096
1097         All thread specific keys created via the new API get stored in a list.
1098         After a thread function finished we iterate over this list and call
1099         the registered destructor for every item if needed.
1100
1101         * wtf/ThreadSpecific.h:
1102         (WTF):
1103         (WTF::threadSpecificKeyCreate): Added wrapper around pthread_key_create.
1104         (WTF::threadSpecificKeyDelete): Added wrapper around pthread_key_delete.
1105         (WTF::threadSpecificSet): Added wrapper around pthread_setspecific.
1106         (WTF::threadSpecificGet): Added wrapper around pthread_getspecific.
1107         * wtf/ThreadSpecificWin.cpp:
1108
1109 2012-08-04  No'am Rosenthal  <noam.rosenthal@nokia.com>
1110
1111         [Qt] UI_SIDE_COMPOSITING code has confusing names
1112         https://bugs.webkit.org/show_bug.cgi?id=93164
1113
1114         Reviewed by Kenneth Rohde Christiansen.
1115
1116         Renamed UI_SIDE_COMPOSITING to COORDINATED_GRAPHICS.
1117
1118         * wtf/Platform.h:
1119
1120 2012-08-03  Michael Saboff  <msaboff@apple.com>
1121
1122         Convert HTML parser to handle 8-bit resources without converting to UChar*
1123         https://bugs.webkit.org/show_bug.cgi?id=90321
1124
1125         Reviewed by Adam Barth.
1126
1127         * wtf/text/WTFString.h:
1128         (WTF::String::dataSize): New method to return the number of bytes 
1129         the string requires.  This replaces a harcoded calculation based on
1130         length and sizeof(UChar).
1131
1132 2012-08-03  Benjamin Poulain  <benjamin@webkit.org>
1133
1134         StringImpl created from literal should be BufferInternal
1135         https://bugs.webkit.org/show_bug.cgi?id=92940
1136
1137         Reviewed by Anders Carlsson.
1138
1139         The ownership of string created from literal should be BufferInternal so that
1140         StringImpl never tries to delete the characters.
1141
1142         The ownership was accidentaly set to BufferOwned in r123689.
1143
1144         * wtf/text/StringImpl.cpp:
1145         (WTF::StringImpl::createFromLiteral): Update to use the new constructor.
1146         * wtf/text/StringImpl.h:
1147         (WTF::StringImpl::StringImpl):
1148         Add a new constructor making the construction from literal explicit.
1149         Add the flag s_hashFlagHasTerminatingNullCharacter since the data has the terminating
1150         null character.
1151
1152 2012-08-02  Patrick Gansterer  <paroga@webkit.org>
1153
1154         Move getLocalTime() as static inline function to DateMath
1155         https://bugs.webkit.org/show_bug.cgi?id=92955
1156
1157         Reviewed by Ryosuke Niwa.
1158
1159         getCurrentLocalTime() and getLocalTime() has been superseded with the
1160         GregorianDateTime class. So we can move it into DateMath.cpp as an static inline
1161         function. This allows us to remove the dependecy on time() and localtime()
1162         for Windows CE, where this functions require the ce_time library to work.
1163
1164         * wtf/CurrentTime.cpp:
1165         (WTF):
1166         * wtf/CurrentTime.h:
1167         * wtf/DateMath.cpp:
1168         (WTF):
1169         (WTF::getLocalTime):
1170
1171 2012-08-02  Patrick Gansterer  <paroga@webkit.org>
1172
1173         [WINCE] Return 0 at calculateDSTOffset(double, double)
1174         https://bugs.webkit.org/show_bug.cgi?id=92953
1175
1176         Reviewed by Ryosuke Niwa.
1177
1178         localtime() is implemented as a call to gmtime() in ce_time.c.
1179         Since this will never return correct values, returning 0 instead
1180         does not remove any existing functionality, but decreases the
1181         dependency on the (external) ce_time implementation.
1182
1183         * wtf/DateMath.cpp:
1184         (WTF::calculateDSTOffsetSimple):
1185
1186 2012-08-02  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1187
1188         TypedArray set method is slow when called with another typed array
1189         https://bugs.webkit.org/show_bug.cgi?id=92556
1190
1191         Reviewed by Kenneth Russell.
1192
1193         Add an checkInboundData function to TypedArrayBase to check if a
1194         position will be not be out of bound or overflow from the typed array.
1195
1196         * wtf/TypedArrayBase.h:
1197         (WTF::TypedArrayBase::checkInboundData):
1198         (TypedArrayBase):
1199
1200 2012-08-01  Patrick Gansterer  <paroga@webkit.org>
1201
1202         Replace WTF::getCurrentLocalTime() with GregorianDateTime::setToCurrentLocalTime()
1203         https://bugs.webkit.org/show_bug.cgi?id=92286
1204
1205         Reviewed by Geoffrey Garen.
1206
1207         Add a method to GregorianDateTime to set its values to the current locale time.
1208         Replacing all occurrences of getCurrentLocalTime with the new function allows
1209         us to remove getCurrentLocalTime in a next step.
1210
1211         * GNUmakefile.list.am:
1212         * WTF.gypi:
1213         * WTF.pro:
1214         * WTF.vcproj/WTF.vcproj:
1215         * WTF.xcodeproj/project.pbxproj:
1216         * wtf/CMakeLists.txt:
1217         * wtf/DateMath.cpp:
1218         (WTF::dayInYear):
1219         * wtf/DateMath.h:
1220         (WTF):
1221         * wtf/GregorianDateTime.cpp: Added.
1222         (WTF):
1223         (WTF::GregorianDateTime::setToCurrentLocalTime):
1224         * wtf/GregorianDateTime.h:
1225         (GregorianDateTime):
1226
1227 2012-08-01  Patrick Gansterer  <paroga@webkit.org>
1228
1229         Fix FastMalloc build with assertions enabled.
1230
1231         * wtf/FastMalloc.cpp:
1232         (WTF::TCMalloc_PageHeap::isScavengerSuspended):
1233         (WTF::TCMalloc_PageHeap::scheduleScavenger):
1234         (WTF::TCMalloc_PageHeap::suspendScavenger):
1235
1236 2012-08-01  Patrick Gansterer  <paroga@webkit.org>
1237
1238         Export StringImpl::sizeInBytes() with WTF_EXPORT_STRING_API
1239         https://bugs.webkit.org/show_bug.cgi?id=92851
1240
1241         Reviewed by Hajime Morita.
1242
1243         r124069 missed to change one export macro, which is needed
1244         to make the windows port with USE(EXPORT_MACROS).
1245
1246         * wtf/text/StringImpl.h:
1247         (StringImpl):
1248
1249 2012-08-01  Patrick Gansterer  <paroga@webkit.org>
1250
1251         [WIN] Add missing WTF export macros to functions
1252         https://bugs.webkit.org/show_bug.cgi?id=92842
1253
1254         Reviewed by Hajime Morita.
1255
1256         When we switch the windows port to USE(EXPORT_MACROS) we
1257         need to export all functions referenced by WebKit.dll.
1258
1259         * wtf/ThreadingPrimitives.h:
1260         (WTF):
1261         * wtf/dtoa.h:
1262         (WTF):
1263         * wtf/dtoa/double-conversion.h:
1264         (StringToDoubleConverter):
1265         * wtf/unicode/UTF8.h:
1266
1267 2012-07-31  Sam Weinig  <sam@webkit.org>
1268
1269         Stop masking 8 bits off of the visited link hash. We need all the bits!
1270         https://bugs.webkit.org/show_bug.cgi?id=92799
1271
1272         Reviewed by Anders Carlsson.
1273
1274         * wtf/StringHasher.h:
1275         (WTF::StringHasher::hashWithTop8BitsMasked):
1276         (WTF::StringHasher::hash):
1277         (StringHasher):
1278         (WTF::StringHasher::computeHashAndMaskTop8Bits):
1279         (WTF::StringHasher::hashMemory):
1280         (WTF::StringHasher::avalancheBits):
1281         Rename existing computeHash and hash functions to computeHashAndMaskTop8Bits
1282         and hashWithTop8BitsMasked respectively. Add new computeHash and hash functions
1283         that do the StringHash without the masking.
1284
1285         * wtf/text/AtomicString.cpp:
1286         (WTF::CStringTranslator::hash):
1287         (WTF::UCharBufferTranslator::hash):
1288         (WTF::HashAndCharactersTranslator::hash):
1289         (WTF::SubstringTranslator::hash):
1290         (WTF::LCharBufferFromLiteralDataTranslator::hash):
1291         (WTF::AtomicString::fromUTF8Internal):
1292         * wtf/text/StringHash.h:
1293         (WTF::CaseFoldingHash::hash):
1294         * wtf/text/StringImpl.h:
1295         (WTF::StringImpl::setHash):
1296         * wtf/text/StringStatics.cpp:
1297         (WTF::StringImpl::hashSlowCase):
1298         * wtf/unicode/UTF8.cpp:
1299         (WTF::Unicode::calculateStringHashAndLengthFromUTF8MaskingTop8Bits):
1300         * wtf/unicode/UTF8.h:
1301         Update for new function names.
1302
1303 2012-07-31  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1304
1305         Add a mechanism to dump the stack trace in case of a crash
1306         https://bugs.webkit.org/show_bug.cgi?id=92666
1307
1308         Reviewed by Csaba Osztrogonác.
1309
1310         Unix based ports can make use of signal handlers to dump the stack
1311         trace in case of a crash. This is specially handy when a test crashes on
1312         the bot without hitting an assertion, we might have a chance to see
1313         some insightful information at the reports.
1314
1315         * wtf/Assertions.cpp:
1316         * wtf/Assertions.h:
1317
1318 2012-07-31  Stephen Chenney  <schenney@chromium.org>
1319
1320         xmlserializer strips xlink from xlink:html svg image tag
1321         https://bugs.webkit.org/show_bug.cgi?id=79586
1322
1323         Reviewed by Nikolas Zimmermann.
1324
1325         Add WTF::xlinkAtom as a global AtomicString constant.
1326
1327         * wtf/text/AtomicString.h:
1328         (WTF): Add xlinkAtom.
1329         * wtf/text/StringStatics.cpp:
1330         (WTF): Add xlinkAtom.
1331         (WTF::AtomicString::init): Add xlinkAtom.
1332
1333 2012-07-30  Patrick Gansterer  <paroga@webkit.org>
1334
1335         Add WTF_EXPORT_PRIVATE to deleteOwnedPtr()
1336         https://bugs.webkit.org/show_bug.cgi?id=92668
1337
1338         Reviewed by Hajime Morita.
1339
1340         When using export macros all non-inlined deleteOwnedPtr()
1341         functions need to be declared with WTF_EXPORT_PRIVATE.
1342
1343         * wtf/OwnPtrCommon.h:
1344         (WTF):
1345
1346 2012-07-30  Wei James  <james.wei@intel.com>
1347
1348         atomicDecrement() never reach 0 on Android so no deref() will be called
1349         https://bugs.webkit.org/show_bug.cgi?id=92635
1350
1351         Reviewed by Adam Barth.
1352
1353         With Android NDK 7b and later, __atomic_dec()  is implemented by
1354         __sync_fetch_and_sub(), which will result in that atomicDecrement()
1355         returns the old value instead of new one.
1356
1357         * wtf/Atomics.h:
1358         (WTF):
1359         (WTF::atomicIncrement):
1360         (WTF::atomicDecrement):
1361
1362 2012-07-30  Patrick Gansterer  <paroga@webkit.org>
1363
1364         Add function to calculate the day in year from a date
1365         https://bugs.webkit.org/show_bug.cgi?id=92671
1366
1367         Reviewed by Ryosuke Niwa.
1368
1369         Replace monthToDayInYear() with dayInYear() which takes a whole
1370         date for calculation and will be used for bug 92286 later.
1371
1372         * wtf/DateMath.cpp:
1373         (WTF::dayInYear):
1374         (WTF::dateToDaysFrom1970):
1375
1376 2012-07-30  Patrick Gansterer  <paroga@webkit.org>
1377
1378         Add special export macro for string related functions
1379         https://bugs.webkit.org/show_bug.cgi?id=92624
1380
1381         Reviewed by Hajime Morita.
1382
1383         The windows port compiles string related code into every binary for performance reasons (see r59187).
1384         Add the WTF_EXPORT_STRING_API define to allow this behaviour with export macros too.
1385
1386         * wtf/ExportMacros.h:
1387         * wtf/text/AtomicString.h:
1388         (AtomicString):
1389         * wtf/text/StringImpl.h:
1390         (StringImpl):
1391         (WTF):
1392         * wtf/text/WTFString.h:
1393         (WTF):
1394         (String):
1395
1396 2012-07-30  Patrick Gansterer  <paroga@webkit.org>
1397
1398         Replace UnicodeWinCE with UnicodeWchar
1399         https://bugs.webkit.org/show_bug.cgi?id=92539
1400
1401         Reviewed by Ryosuke Niwa.
1402
1403         UnicodeWinCE never contained WinCE specific code. UnicodeWchar
1404         is a replacement for it, which is mainly based on the functions
1405         from <wchar.h>. It is ment as a minimal Unicode backend, which
1406         can be used very easy and has no external dependencies.
1407
1408         * WTF.gyp/WTF.gyp:
1409         * WTF.gypi:
1410         * wtf/Platform.h:
1411         * wtf/PlatformWinCE.cmake:
1412         * wtf/unicode/Unicode.h:
1413         * wtf/unicode/wchar/UnicodeWchar.cpp: Added.
1414         (Unicode):
1415         (WTF::Unicode::category):
1416         (WTF::Unicode::combiningClass):
1417         (WTF::Unicode::direction):
1418         (WTF::Unicode::decompositionType):
1419         (WTF::Unicode::hasLineBreakingPropertyComplexContext):
1420         (WTF::Unicode::mirroredChar):
1421         (WTF::Unicode::convertWithFunction):
1422         (WTF::Unicode::foldCase):
1423         (WTF::Unicode::toLower):
1424         (WTF::Unicode::toUpper):
1425         * wtf/unicode/wchar/UnicodeWchar.h: Added.
1426         (Unicode):
1427         (WTF::Unicode::isAlphanumeric):
1428         (WTF::Unicode::isDigit):
1429         (WTF::Unicode::isLetter):
1430         (WTF::Unicode::isLower):
1431         (WTF::Unicode::isPrintableChar):
1432         (WTF::Unicode::isPunct):
1433         (WTF::Unicode::isSpace):
1434         (WTF::Unicode::isUpper):
1435         (WTF::Unicode::isArabicChar):
1436         (WTF::Unicode::isSeparatorSpace):
1437         (WTF::Unicode::foldCase):
1438         (WTF::Unicode::toLower):
1439         (WTF::Unicode::toUpper):
1440         (WTF::Unicode::toTitleCase):
1441         (WTF::Unicode::umemcasecmp):
1442         * wtf/unicode/wince/UnicodeWinCE.cpp: Removed.
1443         * wtf/unicode/wince/UnicodeWinCE.h: Removed.
1444
1445 2012-07-26  Yury Semikhatsky  <yurys@chromium.org>
1446
1447         Web Inspector: move StringImpl size calculation to StringImpl
1448         https://bugs.webkit.org/show_bug.cgi?id=92359
1449
1450         Reviewed by Pavel Feldman.
1451
1452         Moved stringSize(StringImpl*) implementation from InspectorMemoryAgent to
1453         StringImpl::sizeInBytes();
1454
1455         * wtf/text/StringImpl.cpp:
1456         (WTF::StringImpl::sizeInBytes):
1457         (WTF):
1458         * wtf/text/StringImpl.h:
1459         (StringImpl):
1460
1461 2012-07-28  Patrick Gansterer  <paroga@webkit.org>
1462
1463         [WIN] Add missing export macro to friend decleration.
1464
1465         Since the __declspec is part of the function signature
1466         on windows, we need it at all friend declerations too.
1467
1468         * wtf/MediaTime.h:
1469
1470 2012-07-28  Patrick Gansterer  <paroga@webkit.org>
1471
1472         [CMake] Add missing MediaTime files after r123878.
1473
1474         * wtf/CMakeLists.txt:
1475
1476 2012-07-28  Patrick Gansterer  <paroga@webkit.org>
1477
1478         Remove obsolete functions from WTF::Unicode
1479         https://bugs.webkit.org/show_bug.cgi?id=92571
1480
1481         Reviewed by Kentaro Hara.
1482
1483         Remove hasLineBreakingPropertyComplexContextOrIdeographic() and digitValue(),
1484         since they are never used and defined for a few Unicode backends only.
1485
1486         * wtf/unicode/glib/UnicodeGLib.h:
1487         * wtf/unicode/icu/UnicodeIcu.h:
1488
1489 2012-07-27  Sheriff Bot  <webkit.review.bot@gmail.com>
1490
1491         Unreviewed, rolling out r123679.
1492         http://trac.webkit.org/changeset/123679
1493         https://bugs.webkit.org/show_bug.cgi?id=92565
1494
1495         Slowed down HTML parsing by 3.6% (Requested by abarth on
1496         #webkit).
1497
1498         * wtf/text/WTFString.h:
1499
1500 2012-07-27  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1501
1502         use createUninitialized when creating TypedArray from another array
1503         https://bugs.webkit.org/show_bug.cgi?id=92518
1504
1505         Reviewed by Kenneth Russell.
1506
1507         Expose a createUninitialized static method on TypedArray classes.
1508
1509         * wtf/Float32Array.h:
1510         (Float32Array):
1511         (WTF::Float32Array::createUninitialized):
1512         (WTF):
1513         * wtf/Float64Array.h:
1514         (Float64Array):
1515         (WTF::Float64Array::createUninitialized):
1516         (WTF):
1517         * wtf/Int16Array.h:
1518         (Int16Array):
1519         (WTF::Int16Array::createUninitialized):
1520         (WTF):
1521         * wtf/Int32Array.h:
1522         (Int32Array):
1523         (WTF::Int32Array::createUninitialized):
1524         (WTF):
1525         * wtf/Int8Array.h:
1526         (Int8Array):
1527         (WTF::Int8Array::createUninitialized):
1528         (WTF):
1529         * wtf/Uint16Array.h:
1530         (Uint16Array):
1531         (WTF::Uint16Array::createUninitialized):
1532         (WTF):
1533         * wtf/Uint32Array.h:
1534         (Uint32Array):
1535         (WTF::Uint32Array::createUninitialized):
1536         (WTF):
1537         * wtf/Uint8Array.h:
1538         (Uint8Array):
1539         (WTF::Uint8Array::createUninitialized):
1540         (WTF):
1541         * wtf/Uint8ClampedArray.h:
1542         (Uint8ClampedArray):
1543
1544 2012-07-27  Patrick Gansterer  <paroga@webkit.org>
1545
1546         [WINCE] Use macros from ICU instead of defining the same functionality again
1547         https://bugs.webkit.org/show_bug.cgi?id=92530
1548
1549         Reviewed by Ryosuke Niwa.
1550
1551         Replace isHighSurrogate() with U16_IS_LEAD(), isLowSurrogate() with
1552         U16_IS_TRAIL() and surrogateToUcs4() with U16_GET_SUPPLEMENTARY().
1553
1554         * wtf/unicode/wince/UnicodeWinCE.h:
1555
1556 2012-07-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1557
1558         [Qt] Fix build after r123917
1559         https://bugs.webkit.org/show_bug.cgi?id=92555
1560
1561         Unreviewed.
1562
1563         * wtf/GregorianDateTime.h: Needs string.h for memset().
1564
1565 2012-07-27  Paweł Forysiuk  <tuxator@o2.pl>
1566
1567         MinGW build fails because of missing header in GregorianDateTime.h
1568         https://bugs.webkit.org/show_bug.cgi?id=92531
1569
1570         * wtf/GregorianDateTime.h: Include time.h
1571
1572 2012-07-27  Jer Noble  <jer.noble@apple.com>
1573
1574         Unreviewed build fix.
1575
1576         Use MathExtras.h and the non std:: versions of isnan and signbit.
1577
1578         * wtf/MediaTime.cpp:
1579         (WTF::MediaTime::createWithFloat):
1580         (WTF::MediaTime::createWithDouble):
1581
1582 2012-07-27  Jer Noble  <jer.noble@apple.com>
1583
1584         Support a rational time class for use by media elements.
1585         https://bugs.webkit.org/show_bug.cgi?id=88787
1586
1587         Reviewed by Eric Carlson.
1588
1589         Add a new MediaTime class which implements rational math operations.
1590
1591         Add common constructors and assignment operators:
1592         * wtf/MediaTime.cpp: Added.
1593         (WTF::MediaTime::MediaTime):
1594         (WTF::MediaTime::~MediaTime):
1595         (WTF::MediaTime::operator=):
1596
1597         Add common math operators:
1598         * wtf/MediaTime.cpp:
1599         (WTF::MediaTime::operator+):
1600         (WTF::MediaTime::operator-):
1601         (WTF::MediaTime::operator<):
1602         (WTF::MediaTime::operator>):
1603         (WTF::MediaTime::operator==):
1604         (WTF::MediaTime::operator>=):
1605         (WTF::MediaTime::operator<=):
1606
1607         Add functions to check the MeiaTime time type flags:
1608         * wtf/MediaTime.h:
1609         (WTF::MediaTime::isValid):
1610         (WTF::MediaTime::isInvalid):
1611         (WTF::MediaTime::hasBeenRounde):
1612         (WTF::MediaTime::isPositiveInfinite):
1613         (WTF::MediaTime::isNegativeInfinite):
1614         (WTF::MediaTime::isIndefinite):
1615
1616         Add constants for commonly used MediaTime values:
1617         (WTF::MediaTime::zeroTime):
1618         (WTF::MediaTime::invalidTime):
1619         (WTF::MediaTime::positiveInfiniteTime):
1620         (WTF::MediaTime::negativeInfiniteTime):
1621         (WTF::MediaTime::indefiniteTime):
1622
1623         Add explicit conversion functions to convert to and from floating point values.
1624         * wtf/MediaTime.cpp:
1625         (WTF::MediaTime::createWithFloat):
1626         (WTF::MediaTime::createWithDouble):
1627         (WTF::MediaTime::toFloat):
1628         (WTF::MediaTime::toDouble):
1629
1630         Add some useful exported functions:
1631         * wtf/MediaTime.cpp:
1632         (WTF::MediaTime::compare): Master function for the comparison operators above.
1633         (WTF::MediaTime::setTimeScale): Rescale the time value to a new time scale.
1634         (WTF::abs): Return an absolute value for the current MediaTime.
1635
1636         Static utility functions to implement the above:
1637         * wtf/MediaTime.cpp:
1638         (WTF::greatestCommonDivisor):
1639         (WTF::leastCommonMultiple):
1640         (WTF::signum):
1641
1642         Windows-only implementations of isinf and signbit:
1643         * wtf/MediaTime.cpp:
1644         (std::isinf):
1645         (std::signbit):
1646
1647         Add the new class to platform build files:
1648         * GNUmakefile.list.am:
1649         * WTF.gypi:
1650         * WTF.pro:
1651         * WTF.vcproj/WTF.vcproj:
1652         * WTF.xcodeproj/project.pbxproj:
1653
1654 2012-07-27  Wei James  <james.wei@intel.com>
1655
1656         set WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED for chromium android
1657         https://bugs.webkit.org/show_bug.cgi?id=91746
1658
1659         Reviewed by Adam Barth.
1660
1661         This patch is part of efforts to enable web audio for chromium android.
1662         Web audio component needs to use atomicIncrement and atomicDecrement,
1663         which are enabled by this MACRO.
1664
1665         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=89428#c19, make
1666         this patch standalone.
1667
1668         * wtf/Atomics.h:
1669         (WTF):
1670
1671 2012-07-27  Wei James  <james.wei@intel.com>
1672
1673         set WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED for chromium android
1674         https://bugs.webkit.org/show_bug.cgi?id=91746
1675
1676         Reviewed by Adam Barth.
1677
1678         This patch is part of efforts to enable web audio for chromium android.
1679         Web audio component needs to use atomicIncrement and atomicDecrement,
1680         which are enabled by this MACRO.
1681
1682         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=89428#c19, make
1683         this patch standalone.
1684
1685         * wtf/Atomics.h:
1686         (WTF):
1687
1688 2012-07-26  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1689
1690         constructing TypedArray from another TypedArray is slow
1691         https://bugs.webkit.org/show_bug.cgi?id=90838
1692
1693         Reviewed by Kenneth Russell.
1694
1695         Introduce virtual method getType on ArrayBufferView. It returns the actual
1696         type of the view. This method replaces previous is<Type>Array() methods.
1697
1698         * wtf/ArrayBufferView.h:
1699         * wtf/Float32Array.h:
1700         (WTF::Float32Array::getType):
1701         (Float32Array):
1702         * wtf/Float64Array.h:
1703         (WTF::Float64Array::getType):
1704         (Float64Array):
1705         * wtf/Int16Array.h:
1706         (WTF::Int16Array::getType):
1707         (Int16Array):
1708         * wtf/Int32Array.h:
1709         (WTF::Int32Array::getType):
1710         (Int32Array):
1711         * wtf/Int8Array.h:
1712         (WTF::Int8Array::getType):
1713         (Int8Array):
1714         * wtf/IntegralTypedArrayBase.h:
1715         * wtf/TypedArrayBase.h:
1716         (TypedArrayBase):
1717         (WTF::TypedArrayBase::item):
1718         * wtf/Uint16Array.h:
1719         (WTF::Uint16Array::getType):
1720         (Uint16Array):
1721         * wtf/Uint32Array.h:
1722         (WTF::Uint32Array::getType):
1723         (Uint32Array):
1724         * wtf/Uint8Array.h:
1725         (WTF::Uint8Array::getType):
1726         (Uint8Array):
1727         * wtf/Uint8ClampedArray.h:
1728         (WTF::Uint8ClampedArray::getType):
1729         (Uint8ClampedArray):
1730
1731 2012-07-26  Zeno Albisser  <zeno@webkit.org>
1732
1733         [Qt] requestAnimationFrame should only trigger when a new frame can be displayed.
1734         https://bugs.webkit.org/show_bug.cgi?id=88638
1735
1736         Disable REQUEST_ANIMATION_FRAME_TIMER for the Qt port and tie
1737         the servicing of scripted animations to layer syncing for WK2.
1738         For WK1 we rely on the RefreshAnimation that is based on QAbstractAnimation.
1739
1740         Reviewed by Jocelyn Turcotte.
1741
1742         * wtf/Platform.h:
1743
1744 2012-07-26  Yury Semikhatsky  <yurys@chromium.org>
1745
1746         Unreviewed. Revert r123740 as it breaks AppleMac compilation.
1747
1748         * wtf/text/StringImpl.cpp:
1749         * wtf/text/StringImpl.h:
1750
1751 2012-07-26  Yury Semikhatsky  <yurys@chromium.org>
1752
1753         Web Inspector: move StringImpl size calculation to StringImpl
1754         https://bugs.webkit.org/show_bug.cgi?id=92359
1755
1756         Reviewed by Pavel Feldman.
1757
1758         Moved stringSize(StringImpl*) implementation from InspectorMemoryAgent to
1759         StringImpl::sizeInBytes();
1760
1761         * wtf/text/StringImpl.cpp:
1762         (WTF::StringImpl::sizeInBytes):
1763         (WTF):
1764         * wtf/text/StringImpl.h:
1765         (StringImpl):
1766
1767 2012-07-25  Benjamin Poulain  <bpoulain@apple.com>
1768
1769         Initialize QualifiedName's strings from the read only data segment
1770         https://bugs.webkit.org/show_bug.cgi?id=92226
1771
1772         Reviewed by Anders Carlsson.
1773
1774         Add constructors for StringImpl and AtomicString to be able to create
1775         the strings from the literal in read only memory.
1776
1777         * wtf/text/AtomicString.cpp:
1778         (HashTranslatorCharBuffer):
1779         (WTF::LCharBufferFromLiteralDataTranslator::hash):
1780         (LCharBufferFromLiteralDataTranslator):
1781         (WTF::LCharBufferFromLiteralDataTranslator::equal):
1782         (WTF::LCharBufferFromLiteralDataTranslator::translate):
1783         (WTF::AtomicString::addFromLiteralData):
1784         * wtf/text/AtomicString.h:
1785         (WTF::AtomicString::AtomicString):
1786         (AtomicString):
1787         * wtf/text/StringImpl.cpp:
1788         (WTF::StringImpl::createFromLiteral):
1789         * wtf/text/StringImpl.h:
1790         (WTF):
1791         (StringImpl):
1792         (WTF::StringImpl::createFromLiteral):
1793
1794 2012-07-25  Michael Saboff  <msaboff@apple.com>
1795
1796         Convert HTML parser to handle 8-bit resources without converting to UChar*
1797         https://bugs.webkit.org/show_bug.cgi?id=90321
1798
1799         Reviewed by Geoffrey Garen.
1800
1801         * wtf/text/WTFString.h:
1802         (WTF::String::dataSize): New method to return the number of bytes 
1803         the string requires.  This replaces a harcoded calculation based on
1804         length and sizeof(UChar).
1805
1806 2012-07-25  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1807
1808         Create a specialized pair for use in HashMap iterators
1809         https://bugs.webkit.org/show_bug.cgi?id=92137
1810
1811         Reviewed by Ryosuke Niwa.
1812
1813         The type used for internal storage in HashMap is exposed in its interface as iterator
1814         "contents". Currently HashMap uses std::pair<>, which this patch replaces with
1815         KeyValuePair.
1816
1817         Having this specialized structure will allow us to customize the members to be called
1818         key/value, improving readability in code using HashMap iterators. They are still called
1819         first/second to separate this change from the mechanical change of updating callsites.
1820
1821         * wtf/HashIterators.h:
1822         (HashTableConstKeysIterator):
1823         (HashTableConstValuesIterator):
1824         (HashTableKeysIterator):
1825         (HashTableValuesIterator):
1826         Use KeyValuePair instead of std::pair when defining the iterators.
1827
1828         * wtf/HashMap.h:
1829         (WTF):
1830         (WTF::KeyValuePairKeyExtractor::extract):
1831         (HashMap):
1832         Remove PairFirstExtractor. Add and use the KeyValuePair corresponding extractor.
1833
1834         (WTF::HashMapValueTraits::isEmptyValue): Use KeyValuePairHashTraits for HashMaps.
1835         (WTF::HashMapTranslator::translate):
1836         (WTF::HashMapTranslatorAdapter::translate):
1837         The traits of the mapped value is now called ValueTraits instead of SecondTraits.
1838
1839         * wtf/HashTable.h:
1840         (WTF::hashTableSwap): Add specialization for swapping KeyValuePairs.
1841         (WTF): Remove now unneeded specialization for std::pairs.
1842
1843         * wtf/HashTraits.h:
1844         (KeyValuePair):
1845         (WTF::KeyValuePair::KeyValuePair):
1846         (WTF):
1847         Specialized pair. In the future difference from pair should be the member names.
1848
1849         (KeyValuePairHashTraits):
1850         (WTF::KeyValuePairHashTraits::emptyValue):
1851         (WTF::KeyValuePairHashTraits::constructDeletedValue):
1852         (WTF::KeyValuePairHashTraits::isDeletedValue):
1853         These traits are analogous to PairHashTraits but for KeyValuePair.
1854
1855         * wtf/RefPtrHashMap.h: Use KeyValuePairHashTraits.
1856
1857 2012-07-25  Andrew Wilson  <atwilson@chromium.org>
1858
1859         Unreviewed, rolling out r123560.
1860         http://trac.webkit.org/changeset/123560
1861         https://bugs.webkit.org/show_bug.cgi?id=90321
1862
1863         Breaks chromium valgrind tests.
1864
1865         * wtf/text/WTFString.h:
1866
1867 2012-07-25  Csaba Osztrogonác  <ossy@webkit.org>
1868
1869         [Qt] There are parallel GC related crashes regularly
1870         https://bugs.webkit.org/show_bug.cgi?id=90957
1871
1872         Rubber-stamped by Zoltan Herczeg.
1873
1874         * wtf/Platform.h: Disable parallel GC temporarily on Qt until proper fix.
1875
1876 2012-07-24  Benjamin Poulain  <bpoulain@apple.com> && Joseph Pecoraro  <pecoraro@apple.com>
1877
1878         QualifiedName's HashSet should be big enough to hold at least all the static names
1879         https://bugs.webkit.org/show_bug.cgi?id=91891
1880
1881         Reviewed by Darin Adler.
1882
1883         Add a static struct to compute the HashTable capacity for any given size at compile time.
1884         This allow us to create HashTraits giving the minimumSize without hardcoding the values.
1885
1886         * wtf/HashTable.h:
1887         (OneifyLowBits):
1888         (UpperPowerOfTwoBound):
1889         (HashTableCapacityForSize): Compute the HashTable capacity at compile time.
1890
1891 2012-07-24  Michael Saboff  <msaboff@apple.com>
1892
1893         Convert HTML parser to handle 8-bit resources without converting to UChar*
1894         https://bugs.webkit.org/show_bug.cgi?id=90321
1895
1896         Reviewed by Geoffrey Garen.
1897
1898         * wtf/text/WTFString.h:
1899         (WTF::String::dataSize): New method to return the number of bytes 
1900         the string requires.  This replaces a harcoded calculation based on
1901         length and sizeof(UChar).
1902
1903 2012-07-24  Sam Weinig  <sam@webkit.org>
1904
1905         Add per-HashTable stats
1906         https://bugs.webkit.org/show_bug.cgi?id=92185
1907
1908         Reviewed by Anders Carlsson.
1909
1910         Add per-HashTable stats, so we can look at the effectiveness of an individual HashTable.
1911
1912         * wtf/HashTable.h:
1913         (WTF::HashTable::Stats::Stats):
1914         Add a HashTable::Stats to hold the stats.
1915
1916         (WTF::HashTable::Stats::recordCollisionAtCount):
1917         (WTF::HashTable::Stats::dumpStats):
1918         Add versions of recordCollisionAtCount and dumpStats for per-HashTable version.
1919
1920         (WTF::HashTable):
1921         Keep the stats, if enabled, in an OwnPtr, to not blow JSCell max size restrictions.
1922
1923         (WTF::lookup):
1924         (WTF::lookupForWriting):
1925         (WTF::fullLookupForWriting):
1926         (WTF::add):
1927         (WTF::reinsert):
1928         (WTF::remove):
1929         (WTF::rehash):
1930         Keep track of the stats as the table is used.
1931
1932 2012-07-24  Patrick Gansterer  <paroga@webkit.org>
1933
1934         Store the full year in GregorianDateTime
1935         https://bugs.webkit.org/show_bug.cgi?id=92067
1936
1937         Reviewed by Geoffrey Garen.
1938
1939         Use the full year instead of the offset from year 1900 
1940         for the year member variable of GregorianDateTime.
1941
1942         * wtf/GregorianDateTime.h:
1943         (WTF::GregorianDateTime::operator tm):
1944
1945 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
1946
1947         Move GregorianDateTime from JSC to WTF namespace
1948         https://bugs.webkit.org/show_bug.cgi?id=91948
1949
1950         Reviewed by Geoffrey Garen.
1951
1952         Moving GregorianDateTime into the WTF namespace allows us to us to
1953         use it in WebCore too. The new class has the same behaviour as the
1954         old struct. Only the unused timeZone member has been removed.
1955
1956         * GNUmakefile.list.am:
1957         * WTF.gypi:
1958         * WTF.pro:
1959         * WTF.vcproj/WTF.vcproj:
1960         * WTF.xcodeproj/project.pbxproj:
1961         * wtf/CMakeLists.txt:
1962         * wtf/GregorianDateTime.h: Added.
1963         (GregorianDateTime):
1964
1965 2012-07-23  Rob Buis  <rbuis@rim.com>
1966
1967         [BlackBerry] Merge createThreadInternal implementations
1968         https://bugs.webkit.org/show_bug.cgi?id=91899
1969
1970         Reviewed by Yong Li.
1971
1972         PR 111675
1973
1974         Remove our implementation since the default thread stack size on QNX is fine.
1975
1976         * wtf/ThreadingPthreads.cpp:
1977         (WTF::createThreadInternal):
1978         (WTF::initializeCurrentThreadInternal): make sure we set the thread name.
1979
1980 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
1981
1982         [WINCE] Define NOMINMAX in the build system instead of Platform.h
1983         https://bugs.webkit.org/show_bug.cgi?id=91938
1984
1985         Reviewed by Ryosuke Niwa.
1986
1987         * wtf/Platform.h:
1988
1989 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
1990
1991         Build fix for Windows after r123317.
1992
1993         * wtf/DateMath.cpp: Added missing header include.
1994
1995 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
1996
1997         [WIN] Use GetTimeZoneInformation() for calculateUTCOffset()
1998         https://bugs.webkit.org/show_bug.cgi?id=91935
1999
2000         Reviewed by Ryosuke Niwa.
2001
2002         GetTimeZoneInformation() returns the offset directly. Using it
2003         avoids unnecessary calculations and remove dependencies on
2004         other time related function, which do not exist on WinCE.
2005
2006         * wtf/DateMath.cpp:
2007         (WTF::calculateUTCOffset):
2008
2009 2012-07-20  Han Shen  <shenhan@google.com>
2010
2011         [Chromium] Compilation fails under gcc 4.7
2012         https://bugs.webkit.org/show_bug.cgi?id=90227
2013
2014         Reviewed by Tony Chang.
2015
2016         Disable warnings about c++0x compatibility in gcc newer than 4.6.
2017
2018         * WTF.gyp/WTF.gyp:
2019
2020 2012-07-19  Dan Bernstein  <mitz@apple.com>
2021
2022         The ATSUI-based complex text code is unused
2023         https://bugs.webkit.org/show_bug.cgi?id=91816
2024
2025         Reviewed by Sam Weinig.
2026
2027         Removed definitions of WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
2028
2029         * wtf/Platform.h:
2030
2031 2012-07-19  Wei James  <james.wei@intel.com>
2032
2033         enable Web Audio for chromium android port
2034         https://bugs.webkit.org/show_bug.cgi?id=89428
2035
2036         Reviewed by Kenneth Russell.
2037
2038         * wtf/MathExtras.h:
2039         (log2):
2040         (log2f):
2041
2042 2012-07-19  Scott Graham  <scottmg@chromium.org>
2043
2044         [Chromium] disable warning on Windows from gcc-only pragma in Assertions.cpp"
2045         https://bugs.webkit.org/show_bug.cgi?id=91776
2046
2047         Reviewed by Ryosuke Niwa.
2048
2049         Avoids:
2050             ...\source\wtf\wtf\assertions.cpp(31) : warning C4068: unknown pragma
2051
2052         * WTF.gyp/WTF.gyp:
2053
2054 2012-07-19  Robert Sesek  <rsesek@chromium.org>
2055
2056         [chromium][Mac] Switch the MACOSX_DEPLOYMENT_TARGET to 10.6
2057         https://bugs.webkit.org/show_bug.cgi?id=91752
2058
2059         Reviewed by Eric Seidel.
2060
2061         When building CHROMIUM && DARWIN, do not enable ATSUI support.
2062
2063         * wtf/Platform.h:
2064
2065 2012-07-18  Yong Li  <yoli@rim.com>
2066
2067         [BlackBerry] Implement currentTime() and monotonicallyIncreasingTime() for OS(QNX)
2068         https://bugs.webkit.org/show_bug.cgi?id=91659
2069
2070         Reviewed by Rob Buis.
2071
2072         Implement currentTime() and monotonicallyIncreasingTime() for OS(QNX) with clock_gettime().
2073
2074         * wtf/CurrentTime.cpp:
2075         (WTF):
2076         (WTF::currentTime):
2077         (WTF::monotonicallyIncreasingTime):
2078
2079 2012-07-18  Tom Sepez  <tsepez@chromium.org>
2080
2081         OOB read of stack buffer below DoubleToStringConverter::CreateExponentialRepresentation() in debug builds
2082         https://bugs.webkit.org/show_bug.cgi?id=91642
2083
2084         Reviewed by Abhishek Arya.
2085
2086         * wtf/dtoa/double-conversion.cc:
2087         (DoubleToStringConverter::CreateExponentialRepresentation): NUL-terminate string buffer before passing it to StringBuilder::AddSubstring()
2088         
2089 2012-07-18  Michael Saboff  <msaboff@apple.com>
2090
2091         Make TextCodecLatin1 handle 8 bit data without converting to UChar's
2092         https://bugs.webkit.org/show_bug.cgi?id=90319
2093
2094         Reviewed by Oliver Hunt.
2095
2096         * wtf/text/StringImpl.h:
2097         (StringImpl): Exported LChar variant of adopt().
2098         * wtf/text/WTFString.h:
2099         (WTF::String::createUninitialized): Exported LChar variant.
2100
2101 2012-07-18  Rob Buis  <rbuis@rim.com>
2102
2103         Alignment crash in MIMESniffer
2104         https://bugs.webkit.org/show_bug.cgi?id=89787
2105
2106         Reviewed by Yong Li.
2107
2108         PR 169064
2109
2110         Change isPointerTypeAlignmentOkay so calling it does not require ifdefs.
2111
2112         * wtf/StdLibExtras.h:
2113         (isPointerTypeAlignmentOkay):
2114
2115 2012-07-17  Gabor Ballabas  <gaborb@inf.u-szeged.hu>
2116
2117         [Qt][V8] Remove the V8 related codepaths and configuration
2118         https://bugs.webkit.org/show_bug.cgi?id=90863
2119
2120         Reviewed by Simon Hausmann.
2121
2122         * WTF.pri:
2123
2124 2012-07-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2125
2126         Unreviewed, rolling out r122834.
2127         http://trac.webkit.org/changeset/122834
2128         https://bugs.webkit.org/show_bug.cgi?id=91492
2129
2130         it broke the chromium (Requested by kkristof on #webkit).
2131
2132         * WTF.pri:
2133
2134 2012-07-17  Gabor Ballabas  <gaborb@inf.u-szeged.hu>
2135
2136         [Qt][V8] Remove the V8 related codepaths and configuration
2137         https://bugs.webkit.org/show_bug.cgi?id=90863
2138
2139         Reviewed by Simon Hausmann.
2140
2141         * WTF.pri:
2142
2143 2012-07-16  Hajime Morrita  <morrita@chromium.org>
2144
2145         WebCore needs WEBCORE_TESTING macro to mark methods being exported for testing.
2146         https://bugs.webkit.org/show_bug.cgi?id=90764
2147
2148         Reviewed by Adam Barth.
2149
2150         Added USE(EXPORT_MACROS_FOR_TESTING) and enabled it on GTK and Windows.
2151
2152         * wtf/ExportMacros.h:
2153         * wtf/Platform.h:
2154
2155 2012-07-16  Filip Pizlo  <fpizlo@apple.com>
2156
2157         Unreviewed build fix.
2158
2159         * wtf/FastMalloc.cpp:
2160         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2161
2162 2012-07-16  Adam Treat  <atreat@rim.com>
2163
2164         [BlackBerry] Use newer version of platform API to implement callOnMainThread
2165         https://bugs.webkit.org/show_bug.cgi?id=91404
2166
2167         Reviewed by Yong Li.
2168
2169         Right now we're using an outdated API that involves a virtual function call for no reason.
2170         Use the new API that is much more direct and to the point.
2171
2172         * wtf/blackberry/MainThreadBlackBerry.cpp:
2173         (WTF::scheduleDispatchFunctionsOnMainThread):
2174
2175 2012-07-14  Filip Pizlo  <fpizlo@apple.com>
2176
2177         Unreviewed, build fix.
2178
2179         * wtf/Assertions.cpp:
2180         * wtf/Platform.h:
2181         * wtf/unicode/icu/CollatorICU.cpp:
2182         (WTF::Collator::userDefault):
2183
2184 2012-07-13  Xianzhu Wang  <wangxianzhu@chromium.org>
2185
2186         Move WebCore/platform/text/Base64 to WTF/wtf/text
2187         https://bugs.webkit.org/show_bug.cgi?id=91162
2188
2189         Reviewed by Adam Barth.
2190
2191         * GNUmakefile.list.am:
2192         * WTF.gypi:
2193         * WTF.pro:
2194         * WTF.vcproj/WTF.vcproj:
2195         * WTF.xcodeproj/project.pbxproj:
2196         * wtf/CMakeLists.txt:
2197         * wtf/text/Base64.cpp: Renamed from Source/WebCore/platform/text/Base64.cpp.
2198         (WTF):
2199         (WTF::base64Encode):
2200         (WTF::base64Decode):
2201         (WTF::base64DecodeInternal):
2202         * wtf/text/Base64.h: Renamed from Source/WebCore/platform/text/Base64.h.
2203         (WTF):
2204         (WTF::base64Encode):
2205
2206 2012-07-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2207
2208         [GTK] Add API to get HTTPS status to WebKit2 GTK+
2209         https://bugs.webkit.org/show_bug.cgi?id=91100
2210
2211         Reviewed by Martin Robinson.
2212
2213         Add support for GByteArray.
2214
2215         * wtf/gobject/GRefPtr.cpp:
2216         (WTF::refGPtr):
2217         (WTF):
2218         (WTF::derefGPtr):
2219         * wtf/gobject/GRefPtr.h:
2220         (WTF):
2221         * wtf/gobject/GTypedefs.h:
2222
2223 2012-07-12  Maciej Stachowiak  <mjs@apple.com>
2224
2225         Document ListHashSet iteration guarantees
2226         https://bugs.webkit.org/show_bug.cgi?id=91106
2227
2228         Reviewed by Eric Seidel.
2229
2230         * wtf/ListHashSet.h:
2231         (WTF): Expand class comment to document this.
2232
2233 2012-07-11  Mark Rowe  <mrowe@apple.com>
2234
2235         <http://webkit.org/b/91024> Build against the latest SDK when targeting older OS X versions.
2236
2237         Reviewed by Dan Bernstein.
2238
2239         The deployment target is already set to the version that we're targeting, and it's that setting
2240         which determines which functionality from the SDK is available to us.
2241
2242         * Configurations/Base.xcconfig:
2243
2244 2012-07-11  Mark Rowe  <mrowe@apple.com>
2245
2246         Replace definitions of BUILDING_ON / TARGETING macros with macros that will error when used.
2247
2248         Part of <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros.
2249
2250         Reviewed by Anders Carlsson.
2251
2252         * wtf/Platform.h:
2253
2254 2012-07-11  Mark Rowe  <mrowe@apple.com>
2255
2256         Switch a few cases that care about the SDK over to checking __MAC_OS_X_VERSION_MAX_ALLOWED so that things build.
2257
2258         Part of <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros
2259
2260         Reviewed by Filip Pizlo.
2261
2262         * wtf/FastMalloc.cpp:
2263         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): The SDK we're building against determines how many elements
2264         the structure is declared as having.
2265
2266 2012-07-11  Mark Rowe  <mrowe@apple.com>
2267
2268         <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros
2269
2270         This removal was handled by a script that translates the relevant macros in to the equivalent checks
2271         using the system availability macros.
2272
2273         Reviewed by Filip Pizlo.
2274
2275         * wtf/Assertions.cpp:
2276         * wtf/FastMalloc.cpp:
2277         * wtf/Platform.h:
2278         * wtf/ThreadingPthreads.cpp:
2279         * wtf/unicode/icu/CollatorICU.cpp:
2280
2281 2012-07-11  Anders Carlsson  <andersca@apple.com>
2282
2283         Add -Wtautological-compare and -Wsign-compare warning flags
2284         https://bugs.webkit.org/show_bug.cgi?id=90994
2285
2286         Reviewed by Mark Rowe.
2287
2288         * Configurations/Base.xcconfig:
2289
2290 2012-07-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2291
2292         Re-enable __declspec(dl{import,export}) for MinGW when using EXPORT_MACROS
2293         https://bugs.webkit.org/show_bug.cgi?id=90612
2294
2295         Reviewed by Csaba Osztrogonác.
2296
2297         MinGW was switched to use auto import/export of symbols on r44184.
2298         From my understanding of the documentation, MinGW will not auto-export symbols
2299         unless there are no explicit __declspec(dlexport) in the DLL already.
2300
2301         The issues that originally made us rely on the auto-import feature of MinGW
2302         should now be resolved with the EXPORT_MACROS work. This patch re-enables them.
2303
2304         It also removes the GCC check for internal symbols hiding as the visibility should
2305         already be hidden by default for both MSVC and GCC on Windows anyway.
2306
2307         * wtf/ExportMacros.h:
2308
2309 2012-07-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
2310
2311         Shared code that is guarded with ENABLE(WEBGL) should be guarded with USE()
2312         https://bugs.webkit.org/show_bug.cgi?id=90506
2313
2314         Reviewed by Martin Robinson.
2315
2316         Made USE(3D_GRAPHICS) default to true when ENABLE(WEBGL) is true.
2317         Also updated the Qt default to always use TEXTURE_MAPPER, and to use TEXTURE_MAPPER_GL when
2318         3D_GRAPHICS is used.
2319
2320         * wtf/Platform.h:
2321
2322 2012-07-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2323
2324         Introduce a build flag for low quality JPEG images
2325         https://bugs.webkit.org/show_bug.cgi?id=90748
2326
2327         Reviewed by Adam Barth.
2328
2329         Turn on the newly introduced flags for android.
2330
2331         * wtf/Platform.h:
2332
2333 2012-07-05  Filip Pizlo  <fpizlo@apple.com>
2334
2335         INLINE_ARM_FUNCTION(thingy) should make thingy be thumb2 if we're using thumb2
2336         https://bugs.webkit.org/show_bug.cgi?id=90644
2337
2338         Reviewed by Mark Hahnenberg.
2339         
2340         Fix breakage introduced in http://trac.webkit.org/changeset/121885
2341
2342         * wtf/InlineASM.h:
2343
2344 2012-07-05  Zoltan Herczeg  <zherczeg@webkit.org>
2345
2346         Port DFG JIT to traditional ARM
2347         https://bugs.webkit.org/show_bug.cgi?id=90198
2348
2349         Reviewed by Filip Pizlo.
2350
2351         Enabling DFG JIT on ARM systems with 32 bit instruction set.
2352
2353         * wtf/InlineASM.h:
2354         * wtf/Platform.h:
2355
2356 2012-07-04  Andy Wingo  <wingo@igalia.com>
2357
2358         [GTK] Enable parallel GC
2359         https://bugs.webkit.org/show_bug.cgi?id=90568
2360
2361         Reviewed by Martin Robinson.
2362
2363         * wtf/Platform.h: Add GTK to the ENABLE_PARALLEL_GC party.
2364
2365 2012-07-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2366
2367         [Qt] Get rid of un-needed QT += declarative for Qt 5
2368
2369         The declarative module has been renamed to quick1 in Qt 5, and the
2370         engine-only module for Qt 5 is named 'qml'. For many of the instances
2371         we could just remove 'declarative', since the project file was only
2372         used for Qt5/WebKit2 builds. In the other cases the module was wrapped
2373         in a haveQt(4) scope.
2374
2375         Reviewed by Csaba Osztrogonác.
2376
2377         * WTF.pri:
2378
2379 2012-07-03  Yong Li  <yoli@rim.com>
2380
2381         [BlackBerry] Turn on DFGJIT in Platform.h
2382         https://bugs.webkit.org/show_bug.cgi?id=90482
2383
2384         Set ENABLE_DFG_JIT for PLATFORM(BLACKBERRY).
2385
2386         Reviewed by Rob Buis.
2387
2388         * wtf/Platform.h:
2389
2390 2012-07-03  Tony Chang  <tony@chromium.org>
2391
2392         [chromium] Unreviewed, update .gitignore to handle VS2010 files.
2393
2394         * WTF.gyp/.gitignore:
2395
2396 2012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2397
2398         [Qt] Make use of .qmake.cache for caching features
2399
2400         Instead of loading() features from the files that need them (and re-running
2401         a bunch of checks), we now run feature detection as part of configure.pro,
2402         and have build-webkit write the computed feature-defines and CONFIG to
2403         .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
2404         when building WebKit.pro.
2405
2406         At some point we'll be able to selectivly prevent running of config tests
2407         in configure.pro, which means we don't need a separate code-path for
2408         the build-webkit --help case.
2409
2410         We should also move the code in build-webkit that now uses .webkit.config
2411         to detect clean builds, to use .qmake.cache, since we now store the same
2412         thing there.
2413
2414         Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2415
2416         Reviewed by Tor Arne Vestbø.
2417
2418         * WTF.pri:
2419
2420 2012-07-03  Sheriff Bot  <webkit.review.bot@gmail.com>
2421
2422         Unreviewed, rolling out r121766.
2423         http://trac.webkit.org/changeset/121766
2424         https://bugs.webkit.org/show_bug.cgi?id=90465
2425
2426         It caused flakey build errors on the bots (Requested by Ossy
2427         on #webkit).
2428
2429         * WTF.pri:
2430
2431 2012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2432
2433         [Qt] Make use of .qmake.cache for caching features
2434
2435         Instead of loading() features from the files that need them (and re-running
2436         a bunch of checks), we now run feature detection as part of configure.pro,
2437         and have build-webkit write the computed feature-defines and CONFIG to
2438         .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
2439         when building WebKit.pro.
2440
2441         At some point we'll be able to selectivly prevent running of config tests
2442         in configure.pro, which means we don't need a separate code-path for
2443         the build-webkit --help case.
2444
2445         We should also move the code in build-webkit that now uses .webkit.config
2446         to detect clean builds, to use .qmake.cache, since we now store the same
2447         thing there.
2448
2449         Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2450
2451         Reviewed by Tor Arne Vestbø.
2452
2453         * WTF.pri:
2454
2455 2012-07-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>  Joel Dillon <joel.dillon@codethink.co.uk>
2456
2457         [Qt][Win] Fix broken QtWebKit5.lib linking
2458         https://bugs.webkit.org/show_bug.cgi?id=88321
2459
2460         Reviewed by Kenneth Rohde Christiansen.
2461
2462         Instead of letting a module's headers know which other modules depend on them,
2463         have depending modules define explicitely that they want its symbols exported too.
2464
2465         JavaScriptCore should then be compiled with both BUILDING_JavaScriptCore and
2466         STATICALLY_LINKED_WITH_WTF.
2467
2468         * wtf/ExportMacros.h:
2469
2470 2012-06-29  Tony Chang  <tony@chromium.org>
2471
2472         Unreviewed, rolling out r121572.
2473         http://trac.webkit.org/changeset/121572
2474         https://bugs.webkit.org/show_bug.cgi?id=90249
2475
2476         Breaks Mac build since it depends on r121547, which was rolled
2477         out
2478
2479         * wtf/ThreadingPthreads.cpp:
2480         (WTF::initializeCurrentThreadInternal):
2481
2482 2012-06-29  Eric Seidel  <eric@webkit.org>
2483
2484         Remove BUILDING_ON_LEOPARD now that no ports build on Leopard
2485         https://bugs.webkit.org/show_bug.cgi?id=90249
2486
2487         Reviewed by Ryosuke Niwa.
2488
2489         * wtf/ThreadingPthreads.cpp:
2490         (WTF::initializeCurrentThreadInternal):
2491
2492 2012-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2493
2494         Unreviewed, rolling out r121529.
2495         http://trac.webkit.org/changeset/121529
2496         https://bugs.webkit.org/show_bug.cgi?id=90260
2497
2498         Failed to compile on Chromium WebKitMacBuilder (Requested by
2499         keishi on #webkit).
2500
2501         * wtf/FastMalloc.cpp:
2502         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2503         * wtf/unicode/icu/CollatorICU.cpp:
2504         (WTF::Collator::userDefault):
2505
2506 2012-06-29  Eric Seidel  <eric@webkit.org>
2507
2508         Remove more BUILDING_ON_LEOPARD branches now that no port builds on Leopard
2509         https://bugs.webkit.org/show_bug.cgi?id=90252
2510
2511         Reviewed by Ryosuke Niwa.
2512
2513         * wtf/FastMalloc.cpp:
2514         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2515         * wtf/unicode/icu/CollatorICU.cpp:
2516         (WTF::Collator::userDefault):
2517
2518 2012-06-29  Eric Seidel  <eric@webkit.org>
2519
2520         Remove more BUILDING_ON_LEOPARD usage in PLATFORM(MAC) code
2521         https://bugs.webkit.org/show_bug.cgi?id=85846
2522
2523         Reviewed by Adam Barth.
2524
2525         PLATFORM(MAC) has not supported Leopard for several months now.
2526         This change removes about 1/3 of the remaining BUILDING_ON_LEOPARD
2527         uses in the PLATFORM(MAC) codepaths.  PLATFORM(CHROMIUM) still
2528         supports BUILDING_ON_LEOPARD for now.
2529
2530         * wtf/Platform.h:
2531
2532 2012-06-28  Kalev Lember  <kalevlember@gmail.com>
2533
2534         ThreadingWin: Silence GCC compiler warnings
2535         https://bugs.webkit.org/show_bug.cgi?id=89491
2536
2537         Reviewed by Adam Roben.
2538
2539         * wtf/ThreadingWin.cpp:
2540         (WTF::createThreadInternal):
2541         (WTF::PlatformCondition::timedWait):
2542         (WTF::PlatformCondition::signal): Fix unused-but-set-variable
2543         warnings.
2544
2545 2012-06-26  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2546
2547         [Qt] Add missing heades to HEADERS
2548
2549         For JavaScriptCore there aren't any Qt specific files, so we include all
2550         headers for easy editing in Qt Creator.
2551
2552         Reviewed by Simon Hausmann.
2553
2554         * WTF.pro:
2555
2556 2012-06-25  Kent Tamura  <tkent@chromium.org>
2557
2558         Unreviewed, rolling out r121145.
2559         http://trac.webkit.org/changeset/121145
2560         https://bugs.webkit.org/show_bug.cgi?id=89847
2561
2562         Had an objection for the change.
2563
2564         * wtf/text/StringBuilder.h:
2565
2566 2012-06-25  Yong Li  <yoli@rim.com>
2567
2568         [BlackBerry] Add JSC statistics into about:memory
2569         https://bugs.webkit.org/show_bug.cgi?id=89779
2570
2571         Reviewed by Rob Buis.
2572
2573         Turn on WTF_USE_EXPORT_MACROS for BlackBerry port.
2574         This will make macros like JS_EXPORT_PRIVATE work without
2575         extra porting.
2576
2577         * wtf/Platform.h:
2578
2579 2012-06-25  Adam Barth  <abarth@webkit.org>
2580
2581         Use InterpolationLow on chromium-android
2582         https://bugs.webkit.org/show_bug.cgi?id=89849
2583
2584         Reviewed by Daniel Bates.
2585
2586         Introduce a USE macro to control image interpolation quality.
2587
2588         * wtf/Platform.h:
2589
2590 2012-06-25  Kent Tamura  <tkent@chromium.org>
2591
2592         Change the serialization format of form control state to make the code simple
2593         https://bugs.webkit.org/show_bug.cgi?id=89847
2594
2595         Reviewed by Hajime Morita.
2596
2597         * wtf/text/StringBuilder.h:
2598         (WTF::StringBuilder::appendEscaped): Added. This function adds the
2599         escaped form of the input string. e.g. if stiring="foo,bar" escape='\'
2600         special=',', the appended string is foo\,bar.
2601
2602 2012-06-24  Adam Barth  <abarth@webkit.org>
2603
2604         Remove USE(CHROMIUM_NET) because it is unused
2605         https://bugs.webkit.org/show_bug.cgi?id=89850
2606
2607         Reviewed by Eric Seidel.
2608
2609         I didn't see any mentions of CHROMIUM_NET when I grepped the Source
2610         directory. Also, this USE macro isn't defined on OS(DARWIN) or
2611         OS(ANDROID), which seems a bit odd given that Chromium uses the same
2612         network stack on all platforms.
2613
2614         * wtf/Platform.h:
2615
2616 2012-06-22  Peter Beverloo  <peter@chromium.org>
2617
2618         [Chromium] Disable c++0x compatibility warnings in JavaScriptCore.gyp when building for Android
2619         https://bugs.webkit.org/show_bug.cgi?id=88853
2620
2621         Reviewed by Steve Block.
2622
2623         The Android exclusions were necessary to fix a gyp generation error, as
2624         the gcc_version variable wasn't being defined for Android. Remove these
2625         exceptions when Chromium is able to define the gcc_version variable.
2626
2627         * WTF.gyp/WTF.gyp:
2628
2629 2012-06-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2630
2631         Causes crashes in LLVMPipe
2632         https://bugs.webkit.org/show_bug.cgi?id=89358
2633
2634         Reviewed by Martin Robinson.
2635
2636         Change suggested by Dave Airlie and Xan Lopez.
2637
2638         * wtf/Platform.h: disable global fastMalloc for GTK+
2639
2640 2012-06-22  Mario Sanchez Prada  <msanchez@igalia.com>
2641
2642         Memory corruption on HashTable.h
2643         https://bugs.webkit.org/show_bug.cgi?id=88419
2644
2645         Reviewed by Martin Robinson.
2646
2647         Simplify definition of WTF_USE_PTHREADS and HAVE_PTHREAD_RWLOCK
2648         for the GTK platform using OS(LINUX) instead of HAVE(PTHREAD_H).
2649
2650         * wtf/Platform.h:
2651
2652 2012-06-21  Parth Patel  <parpatel@rim.com>
2653
2654         [Blackberry] BlackBerry::Platform::Settings::get() rename to BlackBerry::Platform::Settings::instance() to make it consistent with our other singletons
2655         https://bugs.webkit.org/show_bug.cgi?id=89684
2656
2657         Reviewed by Yong Li.
2658         
2659         Update setting instance access to use instance() instead of get().
2660
2661         * wtf/ThreadingPthreads.cpp:
2662         (WTF::createThreadInternal):
2663
2664 2012-06-21  Kalev Lember  <kalevlember@gmail.com>
2665
2666         [GTK] Fix NPAPI plugins on Windows
2667         https://bugs.webkit.org/show_bug.cgi?id=54531
2668
2669         Reviewed by Martin Robinson.
2670
2671         Define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH for the GTK+ port, and
2672         include OwnPtrWin.cpp in the list of files built on Windows.
2673
2674         * GNUmakefile.am:
2675         * GNUmakefile.list.am:
2676         * wtf/Platform.h:
2677
2678 2012-06-21  Balazs Kelemen  <kbalazs@webkit.org>
2679
2680         Compile error: 'bool std::isinf(float)' is not 'constexpr' with GCC 4.6 in C++11 mode
2681         https://bugs.webkit.org/show_bug.cgi?id=88721
2682
2683         Reviewed by Csaba Osztrogonác.
2684
2685         Don't define these as consexpr because with gcc 4.6
2686         they call non constexpr functions.
2687         * wtf/MathExtras.h:
2688         (std::wtf_isinf):
2689         (std::wtf_isnan):
2690
2691 2012-06-17  Filip Pizlo  <fpizlo@apple.com>
2692
2693         It should be possible to look at disassembly
2694         https://bugs.webkit.org/show_bug.cgi?id=89319
2695
2696         Reviewed by Sam Weinig.
2697         
2698         Made changes to Assertions.h to make it friendly to C code again.
2699         
2700         Added ENABLE(DISASSEMBLER) and USE(UDIS86) logic to Platform.h.
2701
2702         * wtf/Assertions.h:
2703         * wtf/Platform.h:
2704
2705 2012-06-19  Jon Honeycutt  <jhoneycutt@apple.com>
2706
2707         REGRESSION(r120552): Many tests timing out on Windows
2708         https://bugs.webkit.org/show_bug.cgi?id=89433
2709
2710         Reviewed by Andy Estes.
2711
2712         * wtf/CurrentTime.cpp:
2713         (WTF::lowResUTCTime):
2714         It looks like there were two bugs:
2715         1) the function was converting from 100ths of nanoseconds to seconds
2716            rather than 100s of nanoseconds to seconds by dividing by
2717            (nsPerSecond * 100) rather than (nsPerSecond / 100)
2718         2) the function should've been returning milliseconds, not seconds
2719
2720 2012-06-18  Tony Payne  <tpayne@chromium.org>
2721
2722         [chromium] Add iccjpeg and qcms to chromium port.
2723         https://bugs.webkit.org/show_bug.cgi?id=81974
2724
2725         * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
2726         to each Chromium platform, excluding Android.
2727
2728         Reviewed by Adam Barth.
2729
2730 2012-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
2731
2732         Unreviewed, rolling out r120485 and r120582.
2733         http://trac.webkit.org/changeset/120485
2734         http://trac.webkit.org/changeset/120582
2735         https://bugs.webkit.org/show_bug.cgi?id=89345
2736
2737         chromeos tree breakage (Requested by morrita on #webkit).
2738
2739         * wtf/Platform.h:
2740
2741 2012-06-17  Patrick Gansterer  <paroga@webkit.org>
2742
2743         [WIN] Simplify implementation of currentTime()
2744         https://bugs.webkit.org/show_bug.cgi?id=83156
2745
2746         Reviewed by Brent Fulgham.
2747
2748         Use GetSystemTimeAsFileTime() instead of ftime().
2749         This avoids an unneeded call to the MS CRT and
2750         brings the Win/WinCE code closer together.
2751
2752         * wtf/CurrentTime.cpp:
2753         (WTF::lowResUTCTime):
2754         (WTF::currentTime):
2755
2756 2012-06-15  Tony Payne  <tpayne@chromium.org>
2757
2758         [chromium] Add iccjpeg and qcms to chromium port.
2759         https://bugs.webkit.org/show_bug.cgi?id=81974
2760
2761         * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
2762         to each Chromium platform, excluding Android.
2763
2764         Reviewed by Adam Barth.
2765
2766 2012-06-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2767
2768         Unreviewed, rolling out r120393.
2769         http://trac.webkit.org/changeset/120393
2770         https://bugs.webkit.org/show_bug.cgi?id=89163
2771
2772         breaks cr-mac build (Requested by morrita on #webkit).
2773
2774         * wtf/Platform.h:
2775
2776 2012-06-14  Tony Payne  <tpayne@chromium.org>
2777
2778         [chromium] Add iccjpeg and qcms to chromium port.
2779         https://bugs.webkit.org/show_bug.cgi?id=81974
2780
2781         * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
2782         to each Chromium platform, excluding Android.
2783
2784         Reviewed by Adam Barth.
2785
2786 2012-06-14  Yong Li  <yoli@rim.com>
2787
2788         [BlackBerry] Implement computeRAMSize for QNX
2789         https://bugs.webkit.org/show_bug.cgi?id=89110
2790
2791         Reviewed by Rob Buis.
2792
2793         * wtf/RAMSize.cpp:
2794         (WTF::computeRAMSize):
2795
2796 2012-06-14  Geoffrey Garen  <ggaren@apple.com>
2797
2798         ARMv7 should support spinlocks
2799         https://bugs.webkit.org/show_bug.cgi?id=88957
2800
2801         Reviewed by Darin Adler.
2802
2803         More info @ http://infocenter.arm.com/help/topic/
2804         com.arm.doc.genc007826/Barrier_Litmus_Tests_and_Cookbook_A08.pdf
2805
2806         * wtf/Atomics.h:
2807         (WTF::memoryBarrierAfterLock):
2808         (WTF::memoryBarrierBeforeUnlock): Added memory barrier primitives since
2809         ARMv7 has a weakly ordered memory model.
2810
2811         * wtf/Platform.h: Enabled compare-and-swap on Windows so our spinlock
2812         implementation would continue working on Windows.
2813
2814         * wtf/TCSpinLock.h:
2815         (TCMalloc_SpinLock::Lock):
2816         (TCMalloc_SpinLock::Unlock):
2817         (TCMalloc_SpinLock): Use our compare-and-swap helper function to avoid
2818         rewriting it in assembly here.
2819
2820         Added memory barriers since ARMv7 needs them.
2821
2822         Removed PPC support because our helper function doesn't support PPC.
2823
2824 2012-06-13  Arnaud Renevier  <arno@renevier.net>
2825
2826         make sure headers are included only once per file
2827         https://bugs.webkit.org/show_bug.cgi?id=88929
2828
2829         Reviewed by Kentaro Hara.
2830
2831         * wtf/FastMalloc.cpp:
2832         * wtf/MathExtras.h:
2833         * wtf/OSAllocator.h:
2834
2835 2012-06-13  Benjamin Poulain  <benjamin@webkit.org>
2836
2837         Implement the simple constructors WTFURL's KURL
2838         https://bugs.webkit.org/show_bug.cgi?id=85724
2839
2840         Reviewed by Adam Barth.
2841
2842         This patch extends WTFURL with:
2843         -support basic debugging using print() methods
2844         -parsing in the incomming string character set (8bits or 16bits)
2845         -add a function for parsing of relative URL (but no implementation yet)
2846
2847         * WTF.xcodeproj/project.pbxproj:
2848         * wtf/text/WTFString.h:
2849         (String):
2850         * wtf/url/api/ParsedURL.cpp:
2851         (WTF::ParsedURL::ParsedURL):
2852         (WTF):
2853         (WTF::ParsedURL::hasFragment): Add this method to query the framgent availability without
2854         allocating a new String.
2855         (WTF::ParsedURL::withoutFragment): This method is added to implement KURL::removeFragmentIdentifier() and
2856         the parsing of empty relative URL (where we return the base without fragment).
2857         (WTF::ParsedURL::print):
2858         * wtf/url/api/ParsedURL.h:
2859         (ParsedURL):
2860         (WTF::ParsedURL::spec):
2861         * wtf/url/api/URLString.h:
2862         (URLString):
2863         * wtf/url/src/URLParser.h:
2864         (WTF):
2865         (URLParser):
2866         (WTF::URLParser::parseURLWithBase):
2867         * wtf/url/src/URLSegments.cpp:
2868         (WTF::URLSegments::length):
2869         (WTF::URLSegments::charactersBefore):
2870         * wtf/url/src/URLSegments.h:
2871         (URLSegments):
2872         Change the boolean argument includeDelimiter in favor of an enum to improve readability.
2873
2874 2012-06-13  Filip Pizlo  <fpizlo@apple.com>
2875
2876         DFG should be able to set watchpoints on global variables
2877         https://bugs.webkit.org/show_bug.cgi?id=88692
2878
2879         Reviewed by Geoffrey Garen.
2880         
2881         Added ability to set the inline capacity of segmented vectors.
2882         
2883         Also added the ability ot ASSERT_NOT_REACHED() without having to
2884         propagate NO_RETURN macros, which would be a show-stopper for code
2885         that is conditionally unreachable.
2886
2887         * wtf/Assertions.h:
2888         (UNREACHABLE_FOR_PLATFORM):
2889         * wtf/SegmentedVector.h:
2890         (WTF):
2891         (SegmentedVectorIterator):
2892         (WTF::SegmentedVectorIterator::operator=):
2893         (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
2894         (SegmentedVector):
2895
2896 2012-06-13  Sheriff Bot  <webkit.review.bot@gmail.com>
2897
2898         Unreviewed, rolling out r120172.
2899         http://trac.webkit.org/changeset/120172
2900         https://bugs.webkit.org/show_bug.cgi?id=88976
2901
2902         The patch causes compilation failures on Gtk, Qt and Apple Win
2903         bots (Requested by zdobersek on #webkit).
2904
2905         * wtf/SegmentedVector.h:
2906         (WTF):
2907         (SegmentedVectorIterator):
2908         (WTF::SegmentedVectorIterator::operator=):
2909         (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
2910         (SegmentedVector):
2911
2912 2012-06-10  Filip Pizlo  <fpizlo@apple.com>
2913
2914         DFG should be able to set watchpoints on global variables
2915         https://bugs.webkit.org/show_bug.cgi?id=88692
2916
2917         Reviewed by Geoffrey Garen.
2918         
2919         Added ability to set the inline capacity of segmented vectors.
2920
2921         * wtf/SegmentedVector.h:
2922         (WTF):
2923         (SegmentedVectorIterator):
2924         (WTF::SegmentedVectorIterator::operator=):
2925         (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
2926         (SegmentedVector):
2927
2928 2012-06-12  Geoffrey Garen  <ggaren@apple.com>
2929
2930         Try to fix the build.
2931
2932         Maybe don't export inlined functions.
2933
2934         * wtf/ThreadingPrimitives.h:
2935         (WTF::MutexTryLocker::MutexTryLocker):
2936         (WTF::MutexTryLocker::~MutexTryLocker):
2937         (WTF::MutexTryLocker::locked):
2938
2939 2012-06-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2940
2941         Using extrernal ICU library on case unsensitive drives will not work
2942         https://bugs.webkit.org/show_bug.cgi?id=70913
2943
2944         Reviewed by Csaba Osztrogonác.
2945
2946         Properly set the include path for the WTF module and for modules using it.
2947         The path should include Source/WTF/wtf only when building WTF itself. Other
2948         modules are expected to include the headers as #include <wtf/Header.h>, so
2949         only add Source/WTF to their include path.
2950
2951         "unicode/utf8.h" should now then always reference to ICU in the include path
2952         and "wtf/unicode/UTF8.h" reference to the WTF version.
2953         This will work as long as WTF object files don't depend on ICU themselves.
2954
2955         Removed gobject, qt and unicode from the include path as those directories
2956         don't exist anymore.
2957
2958         * WTF.pri:
2959         * WTF.pro:
2960
2961 2012-06-11  Carlos Garcia Campos  <cgarcia@igalia.com>
2962
2963         Unreviewed. Fix make distcheck issues.
2964
2965         * GNUmakefile.list.am: Add missing header file.
2966
2967 2012-06-09  Dominic Cooney  <dominicc@chromium.org>
2968
2969         [Chromium] Remove JavaScriptCore dependencies from gyp
2970         https://bugs.webkit.org/show_bug.cgi?id=88510
2971
2972         Reviewed by Adam Barth.
2973
2974         Chromium doesn't support JSC any more and there doesn't seem to be
2975         a strong interest in using GYP as the common build system in other
2976         ports.
2977
2978         * WTF.gyp/WTF.gyp:
2979
2980 2012-06-08  Andy Wingo  <wingo@igalia.com>
2981
2982         Explictly mark stubs called by JIT as being internal
2983         https://bugs.webkit.org/show_bug.cgi?id=88552
2984
2985         Reviewed by Filip Pizlo.
2986
2987         * wtf/ExportMacros.h (WTF_INTERNAL, HAVE_INTERNAL_VISIBILITY): New
2988         defines.  Regardless of what the port does about visibility in
2989         general, for code referenced only from assembly it is useful to
2990         give it internal visibility.
2991         * wtf/InlineASM.h: Split SYMBOL_STRING_RELOCATION into
2992         LOCAL_REFERENCE and GLOBAL_REFERENCE; the former will try to avoid
2993         indirection if HAVE(INTERNAL_VISIBILITY).
2994
2995 2012-06-07  Csaba Osztrogonác  <ossy@webkit.org>
2996
2997         [Qt][Win] Fix linking WTF with ICU
2998         https://bugs.webkit.org/show_bug.cgi?id=88302
2999
3000         Reviewed by Simon Hausmann.
3001
3002         * WTF.pri: Use proper library names on win32 platforms.
3003
3004 2012-06-06  Michael Saboff  <msaboff@apple.com>
3005
3006         ENH: Add Logging to GC Marking Phase
3007         https://bugs.webkit.org/show_bug.cgi?id=88364
3008
3009         Reviewed by Filip Pizlo.
3010
3011         * wtf/DataLog.cpp:
3012         (WTF::dataLogString): Additional method to support GC Mark logging.
3013         * wtf/DataLog.h:
3014         * wtf/Platform.h: New ENABLE_OBJECT_MARK_LOGGING flag macro.
3015
3016 2012-06-06  Andy Wingo  <wingo@igalia.com>
3017
3018         [GTK] Enable the LLInt
3019         https://bugs.webkit.org/show_bug.cgi?id=88315
3020
3021         Reviewed by Filip Pizlo.
3022
3023         * wtf/InlineASM.h: Add an implementation of LOCAL_LABEL_STRING for
3024         OS(LINUX).
3025         * wtf/Platform.h: Add OS(LINUX) to the set of operating systems
3026         for ENABLE_LLINT.  Add a specific check for PLATFORM(MAC) or
3027         PLATFORM(IOS), and add to that a check for PLATFORM(GTK).
3028
3029 2012-06-05  Roland Takacs  <takacs.roland@stud.u-szeged.hu>
3030
3031         [Qt] Use GraphicsContext3DOpenGLES.cpp when using OpenGL ES
3032         https://bugs.webkit.org/show_bug.cgi?id=78720
3033
3034         Reviewed by Noam Rosenthal.
3035
3036         Defined a global Opengl ES macro to check OpenGL ES on every platforms.
3037
3038         * wtf/Platform.h:
3039
3040 2012-06-04  Takashi Toyoshima  <toyoshim@chromium.org>
3041
3042         [WebSocket] Send requires super linear time against data size
3043         https://bugs.webkit.org/show_bug.cgi?id=87383
3044
3045         Reviewed by Kent Tamura.
3046
3047         * wtf/StreamBuffer.h: Added.
3048         (WTF):
3049         (StreamBuffer):
3050         (WTF::StreamBuffer::StreamBuffer):
3051         (WTF::StreamBuffer::~StreamBuffer):
3052         (WTF::StreamBuffer::isEmpty):
3053         (WTF::StreamBuffer::append):
3054         (WTF::StreamBuffer::consume):
3055         (WTF::StreamBuffer::size):
3056         (WTF::StreamBuffer::firstBlockData):
3057         (WTF::StreamBuffer::firstBlockSize):
3058
3059 2012-06-04  Patrick Gansterer  <paroga@webkit.org>
3060
3061         Port RAMSize to WinCE
3062         https://bugs.webkit.org/show_bug.cgi?id=87854
3063
3064         Reviewed by Geoffrey Garen.
3065
3066         WinCE has no GlobalMemoryStatusEx() function. Use GlobalMemoryStatus() instead.
3067
3068         * wtf/RAMSize.cpp:
3069         (WTF::computeRAMSize):
3070
3071 2012-06-01  Xianzhu Wang  <wangxianzhu@chromium.org>
3072
3073         Remove dependency from ImageDiff to WTF
3074         https://bugs.webkit.org/show_bug.cgi?id=88147
3075
3076         Reviewed by Adam Barth.
3077
3078         * WTF.gyp/WTF.gyp:
3079
3080 2012-06-01  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3081
3082         [Qt] Save one copy when going from 8-bit WTF::String to QString
3083
3084         Asking for characters() of an 8-bit string will make a 16-bit copy internally
3085         in WTF::String. Since we're going to copy the data to QStringData anyways, which
3086         is 16-bit, we can do the conversion ourselves and save one copy.
3087
3088         Reviewed by Simon Hausmann.
3089
3090         * wtf/qt/StringQt.cpp:
3091         (WTF::String::operator QString):
3092
3093 2012-05-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3094
3095         [Qt] Make conversion from QString to WTF::String (and back again) ~free
3096
3097         https://bugs.webkit.org/show_bug.cgi?id=87847
3098
3099         Instead of copying the QString data when converting to a WTF::String we
3100         make the WTF::String adopt the QString data by introducing a new buffer
3101         ownership type, and pointing the internal WTF::StringImpl 16-bit data
3102         member to the string data managed by QStringData.
3103
3104         We make sure to reference the QStringData when adopting, so that the
3105         data will stay alive, and then dereference it when the WTF::StringImpl
3106         is deleted, which will free the QStringData (either straight away, if
3107         we're the only one holding a reference still, or later, when the ref
3108         count goes to 0).
3109
3110         In the case of going back from a WTF::String to a QString we can cheat
3111         a bit (avoid a copy), if we know that the WTF::String was adopted from
3112         a QString, since it's then just a matter of having the QString adopt
3113         the existing QStringData (just like a regular QString copy).
3114
3115         If the WTF::String buffer is not owned by QStringData, eg a regular
3116         8-bit or 16-bit string/substring, we have to fall back to copying,
3117         as before (though there are potential optimization tricks we can
3118         apply here later on).
3119
3120         Reviewed by Gavin Barraclough.
3121
3122         * wtf/qt/StringQt.cpp:
3123         * wtf/text/StringImpl.cpp:
3124         * wtf/text/StringImpl.h:
3125
3126 2012-06-01  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
3127
3128         [EFL] Implement PlatformStrategies
3129         https://bugs.webkit.org/show_bug.cgi?id=86946
3130
3131         Reviewed by Carlos Garcia Campos.
3132
3133         * wtf/Platform.h: Enable PLATFORM_STRATEGIES for EFL platform.
3134
3135 2012-05-31  Anders Carlsson  <andersca@apple.com>
3136
3137         Enable support for rvalue references when building with a version of clang that supports them
3138         https://bugs.webkit.org/show_bug.cgi?id=88018
3139
3140         Re-enable support for rvalue references when building with a version of Xcode newer than 4.2.
3141
3142         * wtf/Compiler.h:
3143
3144 2012-05-31  Filip Pizlo  <fpizlo@apple.com>
3145
3146         DataLog should be usable outside of JSC
3147         https://bugs.webkit.org/show_bug.cgi?id=88015
3148
3149         Reviewed by Oliver Hunt.
3150
3151         * wtf/DataLog.h:
3152         (WTF):
3153
3154 2012-05-31  Anders Carlsson  <andersca@apple.com>
3155
3156         Disable support for rvalue references until I figure out why this is breaking the Xcode 4.2 build.
3157
3158         * wtf/Compiler.h:
3159
3160 2012-05-31  Anders Carlsson  <andersca@apple.com>
3161
3162         Vector should have a move constructor and move assignment operator
3163         https://bugs.webkit.org/show_bug.cgi?id=87997
3164
3165         Reviewed by Andreas Kling.
3166
3167         * wtf/Compiler.h:
3168         Use __has_extension so we can use move semantics and other C++11 features even when building as C++98.
3169
3170         * wtf/Vector.h:
3171         Add a move constructor and a move assignment operator to Vector.
3172
3173 2012-05-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3174
3175         [Qt] Simplify QT_VERSION_CHECKS for Qt5 by introducing HAVE(QT5)
3176         https://bugs.webkit.org/show_bug.cgi?id=87955
3177
3178         Reviewed by Simon Hausmann.
3179
3180         * wtf/qt/UtilsQt.h:
3181
3182 2012-05-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3183
3184         HashTable.h has using directives for std::pair and std::make_pair
3185         https://bugs.webkit.org/show_bug.cgi?id=29919
3186
3187         Reviewed by Darin Adler.
3188
3189         * wtf/HashTraits.h:
3190         (WTF): Remove the directives.
3191
3192 2012-05-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3193
3194         HashTable.h has using directives for std::pair and std::make_pair
3195         https://bugs.webkit.org/show_bug.cgi?id=29919
3196
3197         Reviewed by Darin Adler.
3198
3199         Change code to use std::pair and std::make_pair. Later patch will remove the
3200         'using' directives.
3201
3202         * wtf/HashTable.h:
3203         (WTF::hashTableSwap):
3204         (HashTable):
3205         * wtf/HashTraits.h:
3206         (PairHashTraits):
3207         (WTF::PairHashTraits::emptyValue):
3208
3209 2012-05-30  Patrick Gansterer  <paroga@webkit.org>
3210
3211         Build fix for WinCE after r118603.
3212
3213         * wtf/Atomics.h:
3214         (WTF::weakCompareAndSwap):
3215
3216 2012-05-29  Anders Carlsson  <andersca@apple.com>
3217
3218         String should be move enabled/optimized
3219         https://bugs.webkit.org/show_bug.cgi?id=87596
3220
3221         Reviewed by Andreas Kling.
3222
3223         Add move constructors and move assignment operators to String and AtomicString when building with
3224         compilers that support rvalue references. This gets rid of ref-churn when the source of the 
3225         constructor or assignment is a temporary object.
3226
3227         * wtf/text/AtomicString.h:
3228         (AtomicString):
3229         (WTF::AtomicString::AtomicString):
3230         (WTF::AtomicString::operator=):
3231         * wtf/text/WTFString.h:
3232         (String):
3233         (WTF::String::String):
3234         (WTF::String::operator=):
3235
3236 2012-05-29  Alexandre Elias  <aelias@google.com>
3237
3238         Support WebKit log messages on Android
3239         https://bugs.webkit.org/show_bug.cgi?id=87773
3240
3241         Reviewed by Darin Adler.
3242
3243         This sends WebKit log messages to the Android "logcat" facility, as
3244         Android sends stderr to /dev/null.
3245
3246         * wtf/Assertions.cpp:
3247
3248 2012-05-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3249
3250         [Qt] Remove duplication of logic for disabling selected warnings related to C++11
3251
3252         This is already handled in unix/default_post.prf
3253
3254         Reviewed by Simon Hausmann.
3255
3256         * WTF.pro:
3257
3258 2012-05-27  Darin Adler  <darin@apple.com>
3259
3260         Fix an incorrect assertion in Vector::remove
3261         https://bugs.webkit.org/show_bug.cgi?id=87612
3262
3263         Reviewed by Dan Bernstein.
3264
3265         * wtf/Vector.h: There's no good reason to disallow calling remove
3266         with a size of 0, even when the position is at the end of the vector,
3267         so changed the two-argument Vector::remove assertion to assert that
3268         the position is <= size rather than < size.
3269
3270 2012-05-27  Yoshifumi Inoue  <yosin@chromium.org>
3271
3272         [WTF] Introduce UINT64_C to MathExtras.h
3273         https://bugs.webkit.org/show_bug.cgi?id=87485
3274
3275         Reviewed by Kent Tamura.
3276
3277         * wtf/MathExtras.h:
3278
3279 2012-05-25  Filip Pizlo  <fpizlo@apple.com>
3280
3281         weakCompareAndSwap should work on Windows
3282         https://bugs.webkit.org/show_bug.cgi?id=87549
3283
3284         Reviewed by Jessie Berlin.
3285
3286         * wtf/Atomics.h:
3287         (WTF):
3288         (WTF::weakCompareAndSwap):
3289
3290 2012-05-24  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3291
3292         cti_vm_throw gets kicked out by gcc 4.6 -flto
3293         https://bugs.webkit.org/show_bug.cgi?id=56088
3294
3295         Reviewed by Darin Adler.
3296
3297         Define REFERENCED_FROM_ASM to __attribute__((used)) on GCC.
3298
3299         * wtf/Compiler.h:
3300
3301 2012-05-23  Darin Adler  <darin@apple.com>
3302
3303         Optimize iteration of empty hash tables
3304         https://bugs.webkit.org/show_bug.cgi?id=87215
3305
3306         Reviewed by Geoffrey Garen.
3307
3308         Iteration of empty hash tables was showing up on simple page loading
3309         profiles due to the use of hash tables in the
3310         NodeListsNodeData::invalidateCaches and
3311         NodeListsNodeData::invalidateCachesThatDependOnAttributes functions.
3312         It's worth optimizing the case of an empty table.
3313
3314         * wtf/HashTable.h:
3315         (WTF::HashTable::begin): Return the known-good end iterator when the
3316         table is empty. This makes iterating an empty table faster because we
3317         avoid skipping empty and deleted buckets.
3318
3319 2012-05-22  Geoffrey Garen  <ggaren@apple.com>
3320
3321         Build fix.
3322
3323         * wtf/RAMSize.cpp:
3324         (WTF::computeRAMSize): sysctl expects a uint64_t, so use that and then
3325         cast back to size_t. Since it's coneivable that a 32bit process would
3326         run on a system with more than 4GB RAM, I added a paranoid check for
3327         that condition.
3328
3329 2012-05-22  Jessie Berlin  <jberlin@apple.com>
3330
3331         Build fix.
3332
3333         * wtf/RAMSize.cpp:
3334         (WTF::computeRAMSize):
3335         If you say you are going to return a size_t, actually return a size_t.
3336
3337 2012-05-21  Geoffrey Garen  <ggaren@apple.com>
3338
3339         GC allocation trigger should be tuned to system RAM
3340         https://bugs.webkit.org/show_bug.cgi?id=87039
3341
3342         Reviewed by Darin Adler.
3343
3344         Added a helper function for measuring system RAM.
3345
3346         * GNUmakefile.list.am:
3347         * WTF.gypi:
3348         * WTF.pro:
3349         * WTF.vcproj/WTF.vcproj:
3350         * WTF.xcodeproj/project.pbxproj:
3351         * wtf/AmountOfRAM.cpp: Added.
3352         (WTF):
3353         (WTF::computeAmountOfRAM):
3354         (WTF::amountOfRAM):
3355         * wtf/AmountOfRAM.h: Added.
3356         (WTF):
3357         * wtf/CMakeLists.txt:
3358         * wtf/StdLibExtras.h:
3359         (WTF):
3360
3361 2012-05-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3362
3363         GCC 4.7 and C++11 support.
3364         https://bugs.webkit.org/show_bug.cgi?id=86465
3365
3366         Reviewed by Darin Adler.
3367
3368         Detect C++11 mode in GCC 4.7 and set appropiate compiler feature flags.
3369         Turn C++11 override control into a compiler feature flag.
3370         Fix non-clang support of compiler feature CXX_DELETED_FUNCTIONS.
3371
3372         * wtf/Compiler.h:
3373         * wtf/Noncopyable.h:
3374
3375 2012-05-22  Filip Pizlo  <fpizlo@apple.com>
3376
3377         REGRESSION(r117861): It made almost all tests crash on Qt
3378         https://bugs.webkit.org/show_bug.cgi?id=87082
3379
3380         Reviewed by Csaba Osztrogonác.
3381         
3382         Using OwnArrayPtr is a bad idea if you allocate array with fastCalloc.
3383
3384         * wtf/FastBitVector.h:
3385         (WTF::FastBitVector::FastBitVector):
3386         (WTF::FastBitVector::~FastBitVector):
3387         (FastBitVector):
3388         (WTF::FastBitVector::operator=):
3389         (WTF::FastBitVector::resize):
3390         (WTF::FastBitVector::setAll):
3391         (WTF::FastBitVector::clearAll):
3392         (WTF::FastBitVector::set):
3393
3394 2012-05-21  Filip Pizlo  <fpizlo@apple.com>
3395
3396         DFG should be able to compute dominators
3397         https://bugs.webkit.org/show_bug.cgi?id=85269
3398
3399         Reviewed by Oliver Hunt.
3400         
3401         Merged r115754 from dfgopt.
3402         
3403         Added a bitvector class suitable for cheap static analysis. This class
3404         differs from BitVector in that instead of optimizing for space, it
3405         optimizes for execution time. Its API is also somewhat less friendly,
3406         which is intentional; it's meant to be used in places where you know
3407         up front how bit your bitvectors are going to be.
3408
3409         * GNUmakefile.list.am:
3410         * WTF.vcproj/WTF.vcproj:
3411         * WTF.xcodeproj/project.pbxproj:
3412         * wtf/FastBitVector.h: Added.
3413         (WTF):
3414         (FastBitVector):
3415         (WTF::FastBitVector::FastBitVector):
3416         (WTF::FastBitVector::operator=):
3417         (WTF::FastBitVector::numBits):
3418         (WTF::FastBitVector::resize):
3419         (WTF::FastBitVector::setAll):
3420         (WTF::FastBitVector::clearAll):
3421         (WTF::FastBitVector::set):
3422         (WTF::FastBitVector::setAndCheck):
3423         (WTF::FastBitVector::equals):
3424         (WTF::FastBitVector::merge):
3425         (WTF::FastBitVector::filter):
3426         (WTF::FastBitVector::exclude):
3427         (WTF::FastBitVector::clear):
3428         (WTF::FastBitVector::get):
3429         (WTF::FastBitVector::arrayLength):
3430
3431 2012-05-15  Gavin Barraclough  <barraclough@apple.com>
3432
3433         Add support for private names
3434         https://bugs.webkit.org/show_bug.cgi?id=86509
3435
3436         Reviewed by Oliver Hunt.
3437
3438         The spec isn't final, but we can start adding support to allow property maps
3439         to contain keys that aren't identifiers.
3440
3441         * wtf/text/StringImpl.h:
3442         (WTF::StringImpl::StringImpl):
3443         (StringImpl):
3444         (WTF::StringImpl::createEmptyUnique):
3445         (WTF::StringImpl::isEmptyUnique):
3446             - Allow empty string impls to be allocated, which can be used as unique keys.
3447
3448 2012-05-21  Emil A Eklund <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
3449
3450         Enable SUBPIXEL_LAYOUT feature flag on Chromium
3451         https://bugs.webkit.org/show_bug.cgi?id=85555
3452
3453         Reviewed by Eric Seidel.
3454
3455         Enabling sub-pixel layout on Chromium port.
3456
3457         * wtf/Platform.h:
3458
3459 2012-05-21  Andreas Kling  <kling@webkit.org>
3460
3461         CSS: Move duplicate property elimination to parser.
3462         <http://webkit.org/b/86948>
3463
3464         Reviewed by Antti Koivisto.
3465
3466         Add WTF::BitArray, a simple, malloc free, fixed-size bit array class.
3467
3468         * GNUmakefile.list.am:
3469         * WTF.gypi:
3470         * WTF.pro:
3471         * WTF.vcproj/WTF.vcproj:
3472         * WTF.xcodeproj/project.pbxproj:
3473         * wtf/BitArray.h: Added.
3474         (WTF):
3475         (BitArray):
3476         (WTF::BitArray::BitArray):
3477         (WTF::BitArray::set):
3478         (WTF::BitArray::get):
3479         * wtf/CMakeLists.txt:
3480
3481 2012-05-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3482
3483         Colliding isinf/isnan between C99 and C++11 with GCC >=4.6
3484         https://bugs.webkit.org/show_bug.cgi?id=59249
3485
3486         Reviewed by Darin Adler.
3487
3488         Workaround the isinf and isnan conflict in GCC C++11.
3489
3490         * wtf/Compiler.h:
3491         * wtf/MathExtras.h:
3492         (std::wtf_isinf):
3493         (std::wtf_isnan):
3494
3495 2012-05-21  Andreas Kling  <kling@webkit.org>
3496
3497         REGRESSION(r117501): IconDatabase asserts on startup in synchronousIconForPageURL().
3498         <http://webkit.org/b/86935>
3499         <rdar://problem/11480012>
3500
3501         Reviewed by Anders Carlsson.
3502
3503         Added a swap() to HashCountedSet.
3504
3505         * wtf/HashCountedSet.h:
3506         (HashCountedSet::swap):
3507
3508 2012-05-16  Geoffrey Garen  <ggaren@apple.com>
3509
3510         This is not a joke: 3.7X speedup from removing a call to sleep
3511         https://bugs.webkit.org/show_bug.cgi?id=86702
3512
3513         Reviewed by Eric Seidel.
3514
3515         The speedup was on a GC benchmark, with a custom VM caching layer
3516         not in TOT yet.
3517
3518         Instruments showed most GC threads spending the majority of their
3519         time sleeping instead of doing useful work. Removing the call to
3520         sleep sped up the benchmark.
3521
3522         * wtf/TCSpinLock.h:
3523         (TCMalloc_SlowLock): Since a spin lock is only ever held for a short
3524         amount of time, don't sleep for a long amount of time waiting for it
3525         to unlock -- yielding to the scheduler is sufficient.
3526
3527         If we find a case where someone is sitting on a spin lock for over 2ms,
3528         we should fix the spin lock holder, not the spin lock.
3529
3530 2012-05-16  Simon Fraser  <simon.fraser@apple.com>
3531
3532         Make things build with DUMP_HASHTABLE_STATS=1
3533         https://bugs.webkit.org/show_bug.cgi?id=86571
3534
3535         Reviewed by Geoffrey Garen.
3536         
3537         DUMP_HASHTABLE_STATS bitrotted after the WTF separation. This patch
3538         makes it build.
3539         
3540         Added WTF_EXPORTDATA to the global data, and WTF_EXPORT_PRIVATE to
3541         the static HashTableStats methods. Added a dumpStats() method
3542         that is not yet called anywhere; we can no longer rely on destroying
3543         a global object to dump the stats because global destructors are
3544         disallowed.
3545
3546         * wtf/HashTable.cpp:
3547         (WTF):
3548         (WTF::HashTableStats::recordCollisionAtCount):
3549         (WTF::HashTableStats::dumpStats):
3550         * wtf/HashTable.h:
3551         (HashTableStats):
3552
3553 2012-05-15  Filip Pizlo  <fpizlo@apple.com>
3554
3555         shrinkToFit() is often not called for Vectors in CodeBlock
3556         https://bugs.webkit.org/show_bug.cgi?id=86436
3557
3558         Reviewed by Oliver Hunt.
3559         
3560         Gave SegmentedVector a shrinkToFit() method. This only shrinks the segment
3561         lookup table, which is likely to not be hugely profitable, but it is better
3562         than nothing.
3563
3564         * wtf/SegmentedVector.h:
3565         (SegmentedVector):
3566         (WTF::SegmentedVector::shrinkToFit):
3567
3568 2012-05-15  Andy Estes  <aestes@apple.com>
3569
3570         Add WTF_USE_SECURITY_FRAMEWORK and use it in place of the less specific PLATFORM(MAC)
3571         https://bugs.webkit.org/show_bug.cgi?id=86508
3572
3573         Reviewed by Sam Weinig.
3574
3575         * wtf/Platform.h:
3576
3577 2012-05-15  Zoltan Herczeg  <zherczeg@webkit.org>
3578
3579         NEONizing forceValidPreMultipliedPixels
3580         https://bugs.webkit.org/show_bug.cgi?id=86468
3581
3582         Reviewed by Nikolas Zimmermann.
3583
3584         Allow to disable all intrinsics with a single macro.
3585
3586         * wtf/Platform.h:
3587
3588 2012-05-14  Andy Estes  <aestes@apple.com>
3589
3590         Add WTF_USE_APPKIT to differentiate platforms that use AppKit.framework from other Darwin platforms
3591         https://bugs.webkit.org/show_bug.cgi?id=86432
3592
3593         Reviewed by Maciej Stachowiak.
3594
3595         * wtf/Platform.h:
3596
3597 2012-05-14  Mark Rowe  <mrowe@apple.com>
3598
3599         <http://webkit.org/b/86320> WTF.xcodeproj builds with -O3 in debug builds
3600
3601         Reviewed by Simon Fraser.
3602
3603         * WTF.xcodeproj/project.pbxproj: Ensure that the debug configuration uses the
3604         same settings as the debug variant would.
3605
3606 2012-05-14  Wei James  <james.wei@intel.com>
3607
3608         [Chromium] ImageDiff should be build for host on Android
3609         https://bugs.webkit.org/show_bug.cgi?id=82039
3610
3611         Reviewed by Adam Barth.
3612
3613         * WTF.gyp/WTF.gyp:
3614
3615 2012-05-14  Yong Li  <yoli@rim.com>
3616
3617         DFG JIT is not ARM EABI compatible
3618         https://bugs.webkit.org/show_bug.cgi?id=84449
3619
3620         Reviewed by Filip Pizlo.
3621
3622         Add COMPILER_SUPPORTS(EABI) when __ARM_EABI__
3623         or __EABI__ is defined.
3624
3625         * wtf/Compiler.h:
3626
3627 2012-05-10  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
3628
3629         [EFL] Add OwnPtr specialization for Eina_Hash.
3630         https://bugs.webkit.org/show_bug.cgi?id=85046
3631
3632         Reviewed by Andreas Kling.
3633
3634         Add an override for Eina_Hash for EFL port.
3635
3636         * wtf/OwnPtrCommon.h:
3637         (WTF):
3638         * wtf/efl/OwnPtrEfl.cpp:
3639         (WTF::deleteOwnedPtr):
3640         (WTF):
3641
3642 2012-05-09  Filip Pizlo  <fpizlo@apple.com>
3643
3644         It should be possible to get useful debug logging from the JIT memory allocator
3645         https://bugs.webkit.org/show_bug.cgi?id=86042
3646
3647         Reviewed by Geoff Garen.
3648
3649         * wtf/MetaAllocator.cpp:
3650         (WTF::MetaAllocator::findAndRemoveFreeSpace):
3651         (WTF::MetaAllocator::addFreeSpace):
3652         (WTF::MetaAllocator::dumpProfile):
3653
3654 2012-05-08  Sheriff Bot  <webkit.review.bot@gmail.com>
3655
3656         Unreviewed, rolling out r116440.
3657         http://trac.webkit.org/changeset/116440
3658         https://bugs.webkit.org/show_bug.cgi?id=85904
3659
3660         Broke the Chromium Android bot (Requested by beverloo on
3661         #webkit).
3662
3663         * WTF.gyp/WTF.gyp:
3664
3665 2012-05-08  Adam Barth  <abarth@webkit.org>
3666
3667         [Chromium] OS(ANDROID) ImageDiff requires us to build WTF for both host and target
3668         https://bugs.webkit.org/show_bug.cgi?id=85897
3669
3670         Reviewed by Tony Chang.
3671
3672         * WTF.gyp/WTF.gyp:
3673
3674 2012-05-08  Adam Barth  <abarth@webkit.org>