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