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