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