1 2013-07-02 Geoffrey Garen <ggaren@apple.com>
4 https://bugs.webkit.org/show_bug.cgi?id=118282
5 <rdar://problem/14284360>
7 Reviewed by Alexey Proskuryakov.
9 * wtf/text/StringBuilder.cpp:
10 (WTF::expandCapacity): Factored out this helper function to simplify
11 some code that was duplicated in four places.
13 (WTF::StringBuilder::appendUninitializedSlow):
14 (WTF::StringBuilder::append): Use expandCapacity(). One of the cases
15 was not doing anything special, and so was O(N^2).
17 Also, always call expandCapacity() it in a standard way, calling
18 capacity() first, so it's easy to tell at a glance that you got it right.
20 2013-07-02 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
22 Avoid code duplication inside String::append()
23 https://bugs.webkit.org/show_bug.cgi?id=118290
25 Reviewed by Anders Carlsson.
27 The implementation of 'append(UChar)' had been repeated inside 'append(LChar)',
28 this duplication is obviated now.
30 * wtf/text/WTFString.cpp:
31 (WTF::String::appendInternal):
32 (WTF::String::append):
33 * wtf/text/WTFString.h:
35 2013-06-28 Anders Carlsson <andersca@apple.com>
37 Remove String::deprecatedCharactersWithNullTermination() and related code
38 https://bugs.webkit.org/show_bug.cgi?id=118211
40 Reviewed by Benjamin Poulain.
42 Remove String::deprecatedCharactersWithNullTermination, StringImpl::createWithTerminatingNullCharacter
43 and the s_hashFlagHasTerminatingNullCharacter flag. We no longer care about whether strings have a
44 terminating null character.
46 * wtf/text/StringImpl.cpp:
47 (WTF::StringImpl::createFromLiteral):
48 (WTF::StringImpl::createWithoutCopying):
49 (WTF::StringImpl::getData16SlowCase):
50 (WTF::StringImpl::sizeInBytes):
51 * wtf/text/StringImpl.h:
52 (WTF::StringImpl::StringImpl):
53 (WTF::StringImpl::createFromLiteral):
54 (WTF::StringImpl::isolatedCopy):
55 * wtf/text/WTFString.cpp:
56 * wtf/text/WTFString.h:
58 2013-06-27 Anders Carlsson <andersca@apple.com>
60 Add a new String::charactersWithNullTermination() function that returns a vector
61 https://bugs.webkit.org/show_bug.cgi?id=118155
63 Reviewed by Andreas Kling.
65 This new String::charactersWithNullTermination() function returns a new Vector<UChar>
66 and does not modify the underlying string data.
68 * wtf/text/WTFString.cpp:
69 (WTF::String::charactersWithNullTermination):
70 * wtf/text/WTFString.h:
72 2013-06-26 Anders Carlsson <andersca@apple.com>
74 Deprecate StringImpl::charactersWithNullTermination
75 https://bugs.webkit.org/show_bug.cgi?id=118108
77 Reviewed by Beth Dakin.
79 The optimization in String and StringImpl to keep track of whether a string
80 has a null terminator isn't worth it; in most cases we call charactersWithNullTermination() on
81 temporary strings which ends up copying strings anyway.
83 A better solution is to have a charactersWithNullTermination() function that returns a Vector<UChar>,
84 which is similar to what we have for String::utf8() and String::ascii(). This will be done in a follow-up patch.
86 * wtf/text/WTFString.cpp:
87 (WTF::String::deprecatedCharactersWithNullTermination):
88 * wtf/text/WTFString.h:
90 2013-06-26 Anders Carlsson <andersca@apple.com>
92 Add JSStringCreateWithCharactersNoCopy SPI
93 https://bugs.webkit.org/show_bug.cgi?id=118074
94 <rdar://problem/14279905>
96 Reviewed by Geoffrey Garen.
98 * wtf/text/StringImpl.cpp:
99 (WTF::StringImpl::createFromLiteral):
100 Use the new ConstructWithoutCopying constructor, passing DoesHaveTerminatingNullCharacter to it.
101 Change the other createFromLiteral overload to just call the first.
103 (WTF::StringImpl::createWithoutCopying):
104 Add helper functions for creating strings that shouldn't copy their underlying data.
106 * wtf/text/StringImpl.h:
107 (WTF::StringImpl::StringImpl):
108 Rename the ConstructFromLiteralTag constructor enum to ConstructWithoutCopyingTag. Change the constructor
109 to take an enum that states whether the string has a terminating null character or not.
111 (WTF::StringImpl::createFromLiteral):
112 Call createWithoutCopying.
114 (WTF::StringImpl::requiresCopy):
115 Rename this from isASCIILiteral() and make it more generic so it can handle 16-bit strings as well.
117 (WTF::StringImpl::isolatedCopy):
118 If this string doesn't have to be copied, just create a new StringImpl object that references the current data.
120 2013-06-26 Jer Noble <jer.noble@apple.com>
122 Potential use-after-free after neutering AudioBuffer's underlying ArrayBuffer.
123 https://bugs.webkit.org/show_bug.cgi?id=118040
125 Reviewed by Filip Pizlo.
127 Add support for 'unneuterable' ArrayBufferViews. Views marked as such will have their underlying
128 ArrayBuffer objects copied rather than transferred to a new view.
130 * wtf/ArrayBuffer.cpp:
131 (WTF::ArrayBuffer::transfer): Check whether the associated views are neuterable, and if not
132 clone the ArrayBuffer rather than transferring it.
134 (WTF::ArrayBufferContents::copyTo): Added. Utility function.
135 * wtf/ArrayBufferView.cpp:
136 (WTF::ArrayBufferView::ArrayBufferView):
137 (WTF::ArrayBufferView::neuter):
138 * wtf/ArrayBufferView.h:
139 (WTF::ArrayBufferView::setNeuterable):
140 (WTF::ArrayBufferView::isNeuterable):
142 2013-06-26 Brent Fulgham <bfulgham@apple.com>
144 [Windows] Enable CaptionUserPreferenceMediaAF on Windows.
145 https://bugs.webkit.org/show_bug.cgi?id=118076
147 Reviewed by Eric Carlson.
149 * wtf/Platform.h: Enable Media Accessibility Framework in Windows build environments
152 2013-06-24 Roger Fong <roger_fong@apple.com>
154 Unreviewed. AppleWin build fix, followup to r151915.
156 * WTF.vcxproj/WTFProduction.props:
158 2013-06-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
160 HashMap: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods
161 https://bugs.webkit.org/show_bug.cgi?id=117911
163 Reviewed by Anders Carlsson.
165 The order of the template arguments at HashMap alternate 'find', 'contains' and
166 'add' methods is reversed so that callers can just pass the translator
167 and let the compiler deduce input argument type.
169 Another rational is consistency with HashSet class.
173 2013-06-24 peavo@outlook.com <peavo@outlook.com>
175 [WinCairo] WTF.dll is linking with CoreFoundation.lib in VS2010.
176 https://bugs.webkit.org/show_bug.cgi?id=117294
178 Reviewed by Brent Fulgham.
180 WinCairo build should not use CoreFoundation.
182 * WTF.vcxproj/WTFCFLite.props: Added.
183 * WTF.vcxproj/WTFCommon.props: Remove CoreFoundation.lib from depencency list.
184 * WTF.vcxproj/WTFCoreFoundation.props: Added.
185 * WTF.vcxproj/WTFDebug.props: Import WTFCoreFoundation.props for WinApple.
186 * WTF.vcxproj/WTFDebugWinCairo.props: Import WTFCFLite.props for WinCairo.
187 * WTF.vcxproj/WTFRelease.props: Import WTFCoreFoundation.props for WinApple.
188 * WTF.vcxproj/WTFReleaseWinCairo.props: Import WTFCFLite.props for WinCairo.
190 2013-06-17 Darin Adler <darin@apple.com>
192 Sort all the Xcode project files
193 https://bugs.webkit.org/show_bug.cgi?id=117696
195 Reviewed by Anders Carlsson.
197 * WTF.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script.
199 2013-06-20 Sergio Correia <sergio.correia@openbossa.org>
201 [WK2] Looping for EINTR on close() is incorrect for Linux, at least
202 https://bugs.webkit.org/show_bug.cgi?id=117266
204 Reviewed by Darin Adler.
206 Added file UniStdExtras with a closeWithRetry() function that works around
207 the EINTR behavior on Linux during a close() call: it closes the descriptor
208 unconditionally even when the call is interrupted.
210 * wtf/UniStdExtras.h: Added.
211 (WTF::closeWithRetry): Wrapper around POSIX close() that handles EINTR
214 2013-06-20 Mark Lam <mark.lam@apple.com>
216 Refine the StackBounds computation for Windows.
217 https://bugs.webkit.org/show_bug.cgi?id=117854.
219 Reviewed by Brent Fulgham.
221 * wtf/StackBounds.cpp:
222 (WTF::StackBounds::initialize):
224 2013-06-20 Mark Lam <mark.lam@apple.com>
226 [Windows] Undoing r150621 to roll r150600 back in as the jsc test
227 failures have been fixed in r151808.
228 https://bugs.webkit.org/show_bug.cgi?id=116661.
230 Reviewed by Brent Fulgham.
232 * wtf/StackBounds.cpp:
233 (WTF::StackBounds::initialize):
235 2013-06-20 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
237 HashSet: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods
238 https://bugs.webkit.org/show_bug.cgi?id=117830
240 Reviewed by Anders Carlsson.
242 The order of the template arguments at HashSet alternate 'find', 'contains' and
243 'add' methods is reversed so that callers can just pass the translator
244 and let the compiler deduce input argument type.
247 * wtf/text/AtomicString.cpp:
248 (WTF::addToStringTable):
251 2013-06-20 Roger Fong <roger_fong@apple.com>
253 Make Windows makefile copy build output to a different folder.
254 <rdar://problem/14219184>.
256 * WTF.vcxproj/WTF.make:
258 2013-06-19 Geoffrey Garen <ggaren@apple.com>
260 Remove the SegmentedVector inline segment to shrink CodeBlock by 6X
261 https://bugs.webkit.org/show_bug.cgi?id=117808
263 Reviewed by Oliver Hunt.
265 SegmentedVector allocation isn't super hot, but we do tend to have many
266 live SegmentedVectors at runtime, particularly in CodeBlocks, so the
267 right tradeoff is to allocate segments out-of-line as needed.
269 This reduces startup memory usage @ google.com by about 6MB.
271 No regression on SunSpider.
273 * wtf/SegmentedVector.h:
274 (WTF::SegmentedVector::SegmentedVector):
275 (WTF::SegmentedVector::at):
276 (WTF::SegmentedVector::append):
277 (WTF::SegmentedVector::removeLast):
278 (WTF::SegmentedVector::clear):
279 (WTF::SegmentedVector::deleteAllSegments): No more inline segment.
281 (WTF::SegmentedVector::ensureSegmentsFor): This code used to assume
282 that there was always a 0 segment, so the math would underflow if there
283 were no 0 segment. I udpated the math to account for having no segments.
285 2013-06-19 David Kilzer <ddkilzer@apple.com>
287 BUILD FIX (r151663): Fix build for iOS WebKit
289 * wtf/text/AtomicStringTable.cpp: Include MainThread.h.
290 (WTF::AtomicStringTable::create): Use AtomicStringTable::destroy
291 instead of non-existent destroyAtomicStringTable function.
293 2013-06-18 Roger Fong <roger_fong@apple.com>
295 Replace tools32 folder with tools and update WebKit Windows solution accordingly.
296 <rdar://problem/14118143>.
298 Rubberstamped by Brent Fulgham.
300 * WTF.vcxproj/WTF.vcxproj:
301 * WTF.vcxproj/WTFDebug.props:
302 * WTF.vcxproj/WTFDebugWinCairo.props:
303 * WTF.vcxproj/WTFGenerated.vcxproj:
304 * WTF.vcxproj/WTFGeneratedDebug.props:
305 * WTF.vcxproj/WTFGeneratedProduction.props:
306 * WTF.vcxproj/WTFGeneratedRelease.props:
307 * WTF.vcxproj/WTFProduction.props:
308 * WTF.vcxproj/WTFRelease.props:
309 * WTF.vcxproj/WTFReleaseWinCairo.props:
310 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
311 (react_to_vsprops_changes):
313 2013-06-18 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
315 PackedIntVector: check template arguments at compile time
316 https://bugs.webkit.org/show_bug.cgi?id=117737
318 Use 'COMPILE_ASSERT' instead of 'ASSERT' in PackedIntVector class
321 Reviewed by Sam Weinig.
323 * wtf/PackedIntVector.h:
324 (WTF::PackedIntVector::PackedIntVector):
326 2013-06-17 Andy Estes <aestes@apple.com>
328 A static_assert() in RetainPtr.h sometimes causes the build to fail.
330 Wrap the first argument to a static_assert() in parentheses since it
331 contains a comma, which sometimes tricks the preprocessor into thinking
332 the macro is being passed three arguments rather than two.
334 Reviewed by Brian Weinstein.
337 (WTF::RetainPtr::RetainPtr):
339 2013-06-17 Zan Dobersek <zdobersek@igalia.com>
341 REGRESSION (r149184): Build errors in RefPtr.h when building with Clang, C++98 standard
342 https://bugs.webkit.org/show_bug.cgi?id=116352
344 Reviewed by Anders Carlsson.
346 Use the __has_feature macro instead of the __has_extension one when detecting what features the Clang compiler
347 that's being used is capable to provide. With the project moving onto using C++11 throughout its components,
348 there currently exist cases where C++11-specific functionality (for instance std::move) is used despite being
349 guarded by compiler-specific feature guards that still get enabled even when compiling in C++98 with Clang.
350 The problematic features are enabled because they're available as C++98 language extensions by Clang.
352 Using __has_feature instead enables the feature guard only if the tested feature is actually standardized in
353 the currently used language standard.
357 2013-06-17 Ryosuke Niwa <rniwa@webkit.org>
359 Initialize AtomicStringTable in WTFThreadData's constructor
360 https://bugs.webkit.org/show_bug.cgi?id=117671
362 Reviewed by Geoffrey Garen.
364 Extracted AtomicStringTable from AtomicString.cpp into AtomicStringTable.h/cpp
365 and made WTFThreadDada::WTFThreadData create the atomic string table for the thread.
367 This eliminates a branch from stringTable() in AtomicString.cpp.
369 * GNUmakefile.list.am:
371 * WTF.vcxproj/WTF.vcxproj:
372 * WTF.vcxproj/WTF.vcxproj.filters:
373 * WTF.xcodeproj/project.pbxproj:
374 * wtf/CMakeLists.txt:
375 * wtf/WTFThreadData.cpp:
376 (WTF::WTFThreadData::WTFThreadData):
377 * wtf/text/AtomicString.cpp:
379 * wtf/text/AtomicStringTable.cpp: Added.
380 (WTF::AtomicStringTable::create):
381 (WTF::AtomicStringTable::destroy):
382 * wtf/text/AtomicStringTable.h: Added.
383 (WTF::AtomicStringTable::table):
385 2013-06-17 Roger Fong <roger_fong@apple.com>
387 Modify Windows makefiles to copy some bin output into Program Files.
388 https://bugs.webkit.org/show_bug.cgi?id=117714.
389 <rdar://problem/14179054>
391 Reviewed by Brent Fulgham.
393 * WTF.vcxproj/WTF.make:
395 2013-06-17 Grzegorz Czajkowski <g.czajkowski@samsung.com>
397 Unreviewed, rolling out r151632.
398 http://trac.webkit.org/changeset/151632
399 https://bugs.webkit.org/show_bug.cgi?id=117585
401 Debug build error ASSERT(WTF_USE_GRAMMAR_CHECKING) for non MAC
406 2013-06-14 Grzegorz Czajkowski <g.czajkowski@samsung.com>
408 Context menu grammar checking items are available when GRAMMAR_CHECKING macro is off
409 https://bugs.webkit.org/show_bug.cgi?id=117585
411 Reviewed by Anders Carlsson.
413 Enable GRAMMAR_CHECKING for WebKit ports that use/implement it.
417 2013-06-14 Patrick Gansterer <paroga@webkit.org>
419 Introduce USE(WINGDI) for the Windows port
420 https://bugs.webkit.org/show_bug.cgi?id=116138
422 Reviewed by Ryosuke Niwa.
424 Using USE(WINGDI) instead of OS(WINCE) will allow us to
425 compile the GDI based Windows port on WinNT too.
429 2013-06-13 Ryosuke Niwa <rniwa@webkit.org>
431 Remove LiteralIdentifierTable
432 https://bugs.webkit.org/show_bug.cgi?id=117613
434 Reviewed by Geoffrey Garen.
436 Removed LiteralIdentifierTable since it doesn't seem to have any perf. impact now.
438 * wtf/WTFThreadData.h:
440 2013-06-13 Brent Fulgham <bfulgham@apple.com>
442 [WinCairo] Correct FeatureDefines.h Default for ENABLE_VIEW_MODE_CSS_MEDIA
443 https://bugs.webkit.org/show_bug.cgi?id=114396
445 Reviewed by Dean Jackson.
447 * wtf/FeatureDefines.h: The WinCairo port does not (currently) support Media elements,
448 so make sure we do not enable this feature by default for that port.
450 2013-06-13 Brent Fulgham <bfulgham@apple.com>
452 [Windows] Unreviewed gardening.
454 * WTF.vcxproj/WTF.vcxproj: Add FeatureDefines.h to visible files.
455 * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
457 2013-06-13 Gyuyoung Kim <gyuyoung.kim@samsung.com>
459 Optimize String::fromUTF8 for ASCII
460 https://bugs.webkit.org/show_bug.cgi?id=117586
462 Reviewed by Brent Fulgham.
464 From Blink r152243 by <abarth@chromium.org>
466 Current String::fromUTF8() implementation converts 8 bit ASCII character into 16 bit.
467 Instead of always trying to convert into a 16 bit buffer, we can add a call to charactersAreAllASCII.
468 In the common case when characters are ASCII, we directly copy it into an 8 bit string buffer.
470 * wtf/text/WTFString.cpp:
471 (WTF::String::fromUTF8):
473 2013-06-12 Brent Fulgham <bfulgham@apple.com>
475 [Windows] Activate supported C++11 Features for VS2010
476 https://bugs.webkit.org/show_bug.cgi?id=117569
478 Reviewed by Anders Carlsson.
480 * wtf/Compiler.h: Turn on rvalue references and static_assert
481 when compiling with VS2010 (or newer)
483 2013-06-07 Roger Fong <roger_fong@apple.com>
485 Unreviewed. Makefile fix. Copy WTF.dll over as well.
487 * WTF.vcxproj/WTF.make:
489 2013-06-07 Commit Queue <commit-queue@webkit.org>
491 Unreviewed, rolling out r151318.
492 http://trac.webkit.org/changeset/151318
493 https://bugs.webkit.org/show_bug.cgi?id=117356
495 Broke Windows Release Build (Requested by bfulgham on
498 * WTF.vcxproj/WTF.vcxproj:
499 * WTF.vcxproj/WTFCommon.props:
500 * WTF.vcxproj/WTFCoreFoundation.props: Removed.
501 * WTF.vcxproj/WTFDebug.props:
502 * WTF.vcxproj/WTFRelease.props:
504 2013-06-07 peavo@outlook.com <peavo@outlook.com>
506 [WinCairo] WTF.dll is linking with CoreFoundation.lib in VS2010.
507 https://bugs.webkit.org/show_bug.cgi?id=117294
509 Reviewed by Darin Adler.
511 WinCairo build should not use CoreFoundation.
513 * WTF.vcxproj/WTF.vcxproj: Exclude unneeded file from WinCairo build.
514 * WTF.vcxproj/WTFCommon.props: Removed CoreFoundation.lib from common props.
515 * WTF.vcxproj/WTFCoreFoundation.props: Added.
516 * WTF.vcxproj/WTFDebug.props: Inherit from WTFCoreFoundations.props.
517 * WTF.vcxproj/WTFRelease.props: Inherit from WTFCoreFoundations.props.
519 2013-06-06 Roger Fong <roger_fong@apple.com>
521 Unreviewed. Fix typo with winmm linker input.
523 * WTF.vcxproj/WTFCommon.props:
525 2013-06-05 Benjamin Poulain <bpoulain@apple.com>
527 WebSQL forces 16-bit strings
528 https://bugs.webkit.org/show_bug.cgi?id=116935
530 Reviewed by Darin Adler.
532 Merge chromium 49c9632ac135f6f06e623a7a81d9da1f6bb7196f.
533 https://chromium.googlesource.com/chromium/blink/+/49c9632ac135f6f06e623a7a81d9da1f6bb7196f
535 * wtf/text/StringImpl.cpp:
536 (WTF::StringImpl::create8BitIfPossible):
537 * wtf/text/StringImpl.h:
538 (WTF::lengthOfNullTerminatedString):
539 * wtf/text/WTFString.cpp:
540 (WTF::String::String):
542 2013-06-03 Roger Fong <roger_fong@apple.com>
544 Nuke VS2005 files from the tree.
545 <rdar://problem/14042021>.
547 Rubberstamped by Brent Fulgham.
549 * WTF.vcproj: Removed.
550 * WTF.vcproj/WTF.make: Removed.
551 * WTF.vcproj/WTF.sln: Removed.
552 * WTF.vcproj/WTF.vcproj: Removed.
553 * WTF.vcproj/WTFCommon.vsprops: Removed.
554 * WTF.vcproj/WTFDebug.vsprops: Removed.
555 * WTF.vcproj/WTFDebugAll.vsprops: Removed.
556 * WTF.vcproj/WTFDebugCairoCFLite.vsprops: Removed.
557 * WTF.vcproj/WTFGenerated.make: Removed.
558 * WTF.vcproj/WTFGenerated.vcproj: Removed.
559 * WTF.vcproj/WTFGeneratedCommon.vsprops: Removed.
560 * WTF.vcproj/WTFGeneratedDebug.vsprops: Removed.
561 * WTF.vcproj/WTFGeneratedDebugAll.vsprops: Removed.
562 * WTF.vcproj/WTFGeneratedDebugCairoCFLite.vsprops: Removed.
563 * WTF.vcproj/WTFGeneratedProduction.vsprops: Removed.
564 * WTF.vcproj/WTFGeneratedRelease.vsprops: Removed.
565 * WTF.vcproj/WTFGeneratedReleaseCairoCFLite.vsprops: Removed.
566 * WTF.vcproj/WTFPostBuild.cmd: Removed.
567 * WTF.vcproj/WTFPreBuild.cmd: Removed.
568 * WTF.vcproj/WTFProduction.vsprops: Removed.
569 * WTF.vcproj/WTFRelease.vsprops: Removed.
570 * WTF.vcproj/WTFReleaseCairoCFLite.vsprops: Removed.
571 * WTF.vcproj/build-generated-files.sh: Removed.
572 * WTF.vcproj/copy-files.cmd: Removed.
573 * WTF.vcproj/work-around-vs-dependency-tracking-bugs.py: Removed.
575 2013-06-03 Patrick Gansterer <paroga@webkit.org>
577 Unreviewed WinCE build fix after r150833.
580 (WTF::calculateDSTOffset):
582 2013-06-03 Gyuyoung Kim <gyuyoung.kim@samsung.com>
584 [WTF] Add OwnArrayPtr vectortraits template
585 https://bugs.webkit.org/show_bug.cgi?id=117131
587 Reviewed by Darin Adler.
589 To support Vector<OwnArrayPtr<P>>, which will be used by EFL port.
591 * wtf/VectorTraits.h:
593 2013-05-31 Rafael Brandao <rafael.lobo@openbossa.org>
595 Fix double hash lookup in PageMapMemoryUsageRecorder::visit
596 https://bugs.webkit.org/show_bug.cgi?id=117071
598 Reviewed by Andreas Kling.
600 * wtf/FastMalloc.cpp:
601 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
603 2013-05-31 Brent Fulgham <bfulgham@apple.com>
605 [Windows] Speculative build fix for pre-VS2010 compilers
607 * wtf/Platform.h: Only treat WTF as DLL for VS2010 builds
609 2013-05-31 Zan Dobersek <zdobersek@igalia.com>
611 Move MD5, SHA1 unit tests from WTF to TestWebKitAPI
612 https://bugs.webkit.org/show_bug.cgi?id=116445
614 Reviewed by Benjamin Poulain.
616 Remove the MD5 and SHA1 test cases from the WTF code. The same cases are now built and run under TestWebKitAPI.
623 2013-05-30 Roger Fong <roger_fong@apple.com>
625 Another unreviewed build fix for Mac.
627 * wtf/text/WTFString.h:
628 (WTF::String::fromUTF8WithLatin1Fallback):
630 2013-05-30 Roger Fong <roger_fong@apple.com>
632 Unreviewed build fix for Mac.
635 * wtf/text/WTFString.h:
636 (WTF::String::fromUTF8):
638 2013-05-30 Roger Fong <roger_fong@apple.com>
640 Get rid of JavaScript exports file on AppleWin port.
641 https://bugs.webkit.org/show_bug.cgi?id=117050.
643 Reviewed by Darin Adler.
645 This requires turning WTF into a shared library and adding the WTF_EXPORT_PRIVATE to some methods where it was missed.
647 * WTF.vcxproj/WTF.vcxproj:
648 * WTF.vcxproj/WTFCommon.props:
650 * wtf/ExportMacros.h:
651 * wtf/FilePrintStream.h:
653 * wtf/PageAllocationAligned.h:
657 * wtf/StringPrintStream.h:
658 * wtf/ThreadSpecific.h:
659 * wtf/WTFThreadData.h:
660 * wtf/dtoa/cached-powers.h:
661 * wtf/dtoa/double-conversion.h:
662 * wtf/text/WTFString.h:
663 * wtf/unicode/Collator.h:
664 * wtf/unicode/UTF8.h:
666 2013-05-29 Kent Tamura <tkent@chromium.org>
668 Remove ENABLE_INPUT_MULTIPLE_FIELDS_UI.
669 https://bugs.webkit.org/show_bug.cgi?id=116796
671 Reviewed by Ryosuke Niwa.
673 * wtf/FeatureDefines.h:
675 2013-05-27 Gavin Barraclough <barraclough@apple.com>
677 String(new Date(2010,10,1)) is wrong in KRAT, YAKT
678 https://bugs.webkit.org/show_bug.cgi?id=106750
680 Reviewed by Darin Adler.
682 First part of a fix, simplfy date handling code, instead of operating separately
683 on the UTC-standard and standard-DST offsets, just generate a combined UTC-local
684 offset (this is what we actually need, and what the OS gives us).
687 (WTF::calculateUTCOffset):
688 (WTF::calculateDSTOffset):
689 - made static, now not called from outside of this file.
690 (WTF::calculateLocalTimeOffset):
691 - This combines the 2038 related adjustment from calculateDSTOffset with the
692 maxUnixTime adjustment from calculateDSTOffsetSimple. Then, if HAVE(TM_GMTOFF)
693 just call getLocalTime, if not use calculateUTCOffset/calculateDSTOffset.
694 (WTF::parseDateFromNullTerminatedCharacters):
695 - call calculateLocalTimeOffset instead of calculateUTCOffset/calculateDSTOffset
697 (WTF::LocalTimeOffset::LocalTimeOffset):
699 (WTF::LocalTimeOffset::operator==):
700 - new struct type, a tuple of UTC-local offset & isDST flag.
701 - replaced calculateUTCOffset/calculateDSTOffset with calculateLocalTimeOffset
702 * wtf/GregorianDateTime.cpp:
703 (WTF::GregorianDateTime::setToCurrentLocalTime):
704 - call calculateLocalTimeOffset instead of calculateUTCOffset/calculateDSTOffset
706 2013-05-27 Patrick Gansterer <paroga@webkit.org>
708 Use correct stack size on Solaris and OpenBSD
709 https://bugs.webkit.org/show_bug.cgi?id=114978
711 Recommit after wrong rollout in r150621.
713 * wtf/StackBounds.cpp:
715 (WTF::StackBounds::initialize):
717 2013-05-27 Patrick Gansterer <paroga@webkit.org>
719 Use ICU_INCLUDE_DIRS in BlackBerry CMake files
720 https://bugs.webkit.org/show_bug.cgi?id=116210
722 Reviewed by Rob Buis.
724 Set and use the ICU_INCLUDE_DIRS variable to avoid
725 duplicated adding of the ICU include directory.
727 * wtf/PlatformBlackBerry.cmake:
729 2013-05-27 Ádám Kallai <kadam@inf.u-szeged.hu>
731 [Qt] Enable parallel GC. Probably it has been fixed in r131791.
732 https://bugs.webkit.org/show_bug.cgi?id=90957
734 Reviewed by Csaba Osztrogonác.
738 2013-05-26 Patrick Gansterer <paroga@webkit.org>
740 [WINCE] Add wtf_bsearch()
741 https://bugs.webkit.org/show_bug.cgi?id=116528
743 Reviewed by Darin Adler.
745 r149833 introduced usage of ::bsearch(), which does not exist on Windwos CE.
746 Add our own implementation of this function as wtf_bsearch and define
747 bsearch as wtf_bsearch to fix compilation on Windwos CE.
749 * wtf/StdLibExtras.h:
752 2013-05-26 Kent Tamura <tkent@chromium.org>
754 Remove ENABLE_CALENDAR_PICKER
755 https://bugs.webkit.org/show_bug.cgi?id=116795
757 Reviewed by Ryosuke Niwa.
759 * wtf/FeatureDefines.h:
761 2013-05-24 Benjamin Poulain <bpoulain@apple.com>
763 Inline TCMalloc_Central_FreeList's RemoveRange and FetchFromSpansSafe
764 https://bugs.webkit.org/show_bug.cgi?id=116700
766 Reviewed by Darin Adler.
768 The two functions only have one call site each.
770 * wtf/FastMalloc.cpp:
771 (WTF::TCMalloc_Central_FreeList::RemoveRange):
772 (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe):
774 2013-05-24 Filip Pizlo <fpizlo@apple.com>
777 https://bugs.webkit.org/show_bug.cgi?id=116736
779 Reviewed by Gavin Barraclough.
782 (isNotZeroAndOrdered):
785 2013-05-24 Anders Carlsson <andersca@apple.com>
787 Remove PagePopup code
788 https://bugs.webkit.org/show_bug.cgi?id=116732
790 Reviewed by Andreas Kling.
792 Remove ENABLE_PAGE_POPUP.
794 * wtf/FeatureDefines.h:
796 2013-05-25 Jer Noble <jer.noble@apple.com>
798 Mac: Set the default audio buffer size to a large value for <video> elements.
799 https://bugs.webkit.org/show_bug.cgi?id=116342
801 Reviewed by Eric Carlson.
803 * wtf/Platform.h: Add a WTF_USE_AUDIO_SESSION setting.
805 2013-05-23 Brent Fulgham <bfulgham@apple.com>
807 [Windows] Rolling back r150600 as it breaks the VS2010 builds.
809 * wtf/StackBounds.cpp: Rollback.
811 2013-05-23 Patrick Gansterer <paroga@webkit.org>
813 Use correct stack size on Solaris and OpenBSD
814 https://bugs.webkit.org/show_bug.cgi?id=114978
816 Reviewed by Oliver Hunt.
818 Original patch by David Hill <david@wmol.com>.
820 Use stack_t.ss_size for getting the size of the stack.
823 * wtf/StackBounds.cpp:
825 (WTF::StackBounds::initialize):
827 2013-05-23 Patrick Gansterer <paroga@webkit.org>
829 [WIN] Implement correct detection of stack size
830 https://bugs.webkit.org/show_bug.cgi?id=116661
832 Reviewed by Oliver Hunt.
834 * wtf/StackBounds.cpp:
836 (WTF::StackBounds::initialize):
838 2013-05-22 Dean Jackson <dino@apple.com>
840 Rolling out r150555. It borked about 30 media tests.
844 2013-05-21 Anders Carlsson <andersca@apple.com>
848 * wtf/NeverDestroyed.h:
851 2013-05-20 Anders Carlsson <andersca@apple.com>
853 Add WTF::NeverDestroyed and start using it in WTF
854 https://bugs.webkit.org/show_bug.cgi?id=116472
856 Reviewed by Benjamin Poulain.
858 NeverDestroyed is a class template that can be used for singletons and other objects that we never
859 want to destroy. It's intended as a replacement for WTF_STATIC_LOCAL with the advantage that it doesn't
862 * GNUmakefile.list.am:
863 * WTF.vcproj/WTF.vcproj:
864 * WTF.vcxproj/WTF.vcxproj:
865 * WTF.vcxproj/WTF.vcxproj.filters:
866 * WTF.xcodeproj/project.pbxproj:
870 Add a helper macro, WTF_DELETED_FUNCTION.
872 * wtf/CryptographicallyRandomNumber.cpp:
875 * wtf/NeverDestroyed.h: Added.
878 Use WTF_DELETED_FUNCTION.
880 * wtf/text/WTFString.cpp:
884 2013-05-20 Zan Dobersek <zdobersek@igalia.com>
886 Use '__typeof__' keyword to avoid problems when compiling in C++11 standard compliance
887 https://bugs.webkit.org/show_bug.cgi?id=116447
889 Reviewed by Darin Adler.
891 The 'typeof' keyword is a GNU C extension which becomes unavailable when compiling in ANSI or specific standard mode
892 (such as -std=c++11). The '__typeof__' keyword should be used instead as it's available in all modes both under GCC and Clang.
894 * wtf/FastMalloc.cpp:
895 (WTF): Replace the 'typeof' keyword with '__typeof__'.
897 2013-05-19 Anders Carlsson <andersca@apple.com>
899 Remove link prerendering code
900 https://bugs.webkit.org/show_bug.cgi?id=116415
902 Reviewed by Darin Adler.
904 This code was only used by Chromium and is dead now.
906 * wtf/FeatureDefines.h:
908 2013-05-18 Patrick Gansterer <paroga@webkit.org>
910 [CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
911 https://bugs.webkit.org/show_bug.cgi?id=114554
913 Reviewed by Gyuyoung Kim.
915 Using variables as target names is very uncommon in CMake.
916 The usual way to specify the name of the resulting binary
917 is to set the OUTPUT_NAME target property.
919 * wtf/CMakeLists.txt:
921 2013-05-17 Andreas Kling <akling@apple.com>
923 Re-align the OS(AIX) macro...
924 ...in the hopes that the resulting world rebuild will fix failures after r150294.
928 2013-05-17 Anders Carlsson <andersca@apple.com>
930 WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process
931 https://bugs.webkit.org/show_bug.cgi?id=116346
932 <rdar://problem/13852829>
934 Reviewed by Andreas Kling.
936 Add forward declaration for Function.
940 2013-05-17 Patrick Gansterer <paroga@webkit.org>
942 [CMake] Remove invalid include paths
943 https://bugs.webkit.org/show_bug.cgi?id=116213
945 Reviewed by Gyuyoung Kim.
947 Since "${JAVASCRIPTCORE_DIR}/wtf" does not exist, it is safe
948 to remove them from the list of include directories.
950 * wtf/PlatformEfl.cmake:
951 * wtf/PlatformGTK.cmake:
953 2013-05-16 Benjamin Poulain <bpoulain@apple.com>
955 Add the symbol WTFInvokeCrashHook back for binary compatibility.
957 Reviewed by Ryosuke Niwa.
959 * wtf/Assertions.cpp:
962 2013-05-16 Seokju Kwon <seokju.kwon@gmail.com>
964 [CMAKE] Need to set WTF_LIBRARIES in wtf/CMakeLists.txt
965 https://bugs.webkit.org/show_bug.cgi?id=116209
967 Reviewed by Gyuyoung Kim.
969 * wtf/CMakeLists.txt: Replace list with set.
971 2013-05-16 Benjamin Poulain <benjamin@webkit.org>
973 Crash properly on iOS
974 https://bugs.webkit.org/show_bug.cgi?id=115782
976 Reviewed by Darin Adler.
978 Improve crash handling. <rdar://problem/13842771>
980 * wtf/Assertions.cpp:
983 2013-05-15 Ryuan Choi <ryuan.choi@samsung.com>
985 Unreviewed build fix after r150123
987 * wtf/CMakeLists.txt:
989 2013-05-15 Oliver Hunt <oliver@apple.com>
991 RefCountedArray needs to use vector initialisers for its backing store
992 https://bugs.webkit.org/show_bug.cgi?id=116194
994 Reviewed by Gavin Barraclough.
996 Use VectorOperations to operate on the backing store
998 * wtf/RefCountedArray.h:
999 (WTF::RefCountedArray::RefCountedArray):
1000 (WTF::RefCountedArray::operator=):
1001 (WTF::RefCountedArray::~RefCountedArray):
1003 2013-05-15 Nico Weber <thakis@chromium.org>
1005 WebKit doesn't support MSVS2003 any more, remove preprocessor checks for older versions.
1006 https://bugs.webkit.org/show_bug.cgi?id=116157
1008 Reviewed by Anders Carlsson.
1010 Also remove a gcc3.2 workaround.
1012 Merges parts of these two commits by the talented Nico Weber:
1013 https://chromium.googlesource.com/chromium/blink/+/3677e2f47348daeff405a40b6f90fbdf0654c2f5
1014 https://chromium.googlesource.com/chromium/blink/+/0fcd96c448dc30be1416dcc15713c53710c1a312
1023 (WTF::getLocalTime):
1025 * wtf/RefCountedLeakCounter.h:
1026 (RefCountedLeakCounter):
1027 * wtf/StaticConstructors.h:
1029 2013-05-15 Patrick Gansterer <paroga@webkit.org>
1031 Consolidate lists in WTF CMake files
1032 https://bugs.webkit.org/show_bug.cgi?id=116142
1034 Reviewed by Martin Robinson.
1036 Move common files into the CMakeLists.txt to avoid duplicating the list of files.
1037 Also rebase the recently added GTK files to match the other CMake ports, since
1038 the submitted patch was based on an older version of the source tree.
1040 * wtf/CMakeLists.txt:
1041 * wtf/PlatformBlackBerry.cmake:
1042 * wtf/PlatformEfl.cmake:
1043 * wtf/PlatformGTK.cmake:
1044 * wtf/PlatformWinCE.cmake:
1046 2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
1048 Remove WTF_USE_PLATFORM_STRATEGIES
1049 https://bugs.webkit.org/show_bug.cgi?id=114431
1051 Reviewed by Darin Adler.
1055 2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
1057 [BlackBerry] Use requestAnimationFrame for animations
1058 https://bugs.webkit.org/show_bug.cgi?id=115896
1060 Reviewed by Rob Buis.
1062 * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER and
1063 WTF_USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR for BlackBerry
1066 2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
1068 [BlackBerry] Implement platform strategies
1069 https://bugs.webkit.org/show_bug.cgi?id=112162
1071 Reviewed by Rob Buis.
1073 * wtf/Platform.h: Add BlackBerry platform to the list of platforms
1074 using platform strategies.
1076 2013-05-13 Benjamin Poulain <benjamin@webkit.org>
1078 Improve stringProtoFuncLastIndexOf for the prefix case
1079 https://bugs.webkit.org/show_bug.cgi?id=115952
1081 Reviewed by Geoffrey Garen.
1083 Add an optimized version of StringImpl::startsWith() for JavaScriptCore.
1085 * wtf/text/StringImpl.cpp:
1086 (WTF::StringImpl::startsWith):
1087 * wtf/text/StringImpl.h:
1089 (WTF::StringImpl::startsWith):
1090 * wtf/text/WTFString.h:
1091 (WTF::String::startsWith):
1093 2013-05-13 Carlos Garcia Campos <cgarcia@igalia.com>
1095 Unreviewed. Fix Qt Linux MIPS32R2 build after r149879.
1097 Bring back GLIB_CHECK_VERSION for GBytes since Qt Linux MIPS32R2
1098 depends on glib 2.24.2.
1100 * wtf/gobject/GRefPtr.cpp:
1105 2013-05-13 Anders Carlsson <andersca@apple.com>
1107 Remove UnusedParam.h
1108 https://bugs.webkit.org/show_bug.cgi?id=116029
1110 Reviewed by Andreas Kling.
1112 Remove UnusedParam.h, it's empty now.
1114 * GNUmakefile.list.am:
1116 * WTF.vcproj/WTF.vcproj:
1117 * WTF.vcxproj/WTF.vcxproj:
1118 * WTF.vcxproj/WTF.vcxproj.filters:
1119 * WTF.xcodeproj/project.pbxproj:
1120 * wtf/CMakeLists.txt:
1121 * wtf/UnusedParam.h: Removed.
1123 2013-05-13 Zalan Bujtas <zalan@apple.com>
1125 WebProcess consuming very high CPU on linkedin.com
1126 https://bugs.webkit.org/show_bug.cgi?id=115601
1128 Reviewed by Andreas Kling.
1130 Disable WEB_TIMING_MINIMAL.
1131 Turn off window.performance and performance.now(). Some JS frameworks expect
1132 additional Web Timing APIs, when performance.now() is available.
1134 * wtf/FeatureDefines.h:
1136 2013-05-12 Anders Carlsson <andersca@apple.com>
1138 Stop including UnusedParam.h
1139 https://bugs.webkit.org/show_bug.cgi?id=116003
1141 Reviewed by Sam Weinig.
1143 UnusedParam.h is empty now so there's no need to include it anymore.
1146 * wtf/BoundsCheckedPointer.h:
1148 * wtf/FastMalloc.cpp:
1149 * wtf/NumberOfCores.cpp:
1150 * wtf/OSAllocator.h:
1151 * wtf/OSAllocatorPosix.cpp:
1152 * wtf/PageAllocation.h:
1154 * wtf/TCSystemAlloc.cpp:
1155 * wtf/ThreadingPthreads.cpp:
1157 * wtf/dtoa/cached-powers.cc:
1158 * wtf/dtoa/fixed-dtoa.cc:
1160 2013-05-12 Anders Carlsson <andersca@apple.com>
1162 Move UNUSED_PARAM and UNUSED_LABEL macros to Compiler.h
1163 https://bugs.webkit.org/show_bug.cgi?id=115997
1165 Reviewed by Benjamin Poulain.
1167 UnusedParam.h predates Compiler.h and the macros defined there should just go into Compiler.h
1171 * wtf/UnusedParam.h:
1173 2013-05-12 Anders Carlsson <andersca@apple.com>
1175 Remove Complex.h from WTF
1176 https://bugs.webkit.org/show_bug.cgi?id=115989
1178 Reviewed by Beth Dakin.
1180 Complex.h contains a typedef and a single function (that already has an equivalent in the STL).
1181 The header is used by three files in WebCore, so just use std::complex<double> and std::polar directly.
1183 * GNUmakefile.list.am:
1184 * WTF.vcproj/WTF.vcproj:
1185 * WTF.vcxproj/WTF.vcxproj:
1186 * WTF.vcxproj/WTF.vcxproj.filters:
1187 * WTF.xcodeproj/project.pbxproj:
1188 * wtf/CMakeLists.txt:
1189 * wtf/Complex.h: Removed.
1191 2013-05-11 Martin Robinson <mrobinson@igalia.com>
1193 [GTK] Add a basic cmake build for WTF and JavaScriptCore
1194 https://bugs.webkit.org/show_bug.cgi?id=115967
1196 Reviewed by Laszlo Gombos.
1198 * wtf/PlatformGTK.cmake: Added.
1200 2013-05-11 Martin Robinson <mrobinson@igalia.com>
1202 Move defines to platform
1204 [GTK] Move defines that will never be configured to Platform.h
1205 https://bugs.webkit.org/show_bug.cgi?id=115965
1207 Reviewed by Andreas Kling.
1209 * wtf/Platform.h: Add new defines that were previously in the autoconf header.
1211 2013-05-12 Anders Carlsson <andersca@apple.com>
1213 Simplify AutodrainedPool
1214 https://bugs.webkit.org/show_bug.cgi?id=115986
1216 Reviewed by Andreas Kling.
1218 Remove the ability to cycle an AutodrainedPool, as well as the iteration count.
1219 Creating and draining pools is fast enough now that we don't need to try to be clever about it.
1221 * wtf/AutodrainedPool.h:
1223 (WTF::AutodrainedPool::AutodrainedPool):
1224 * wtf/AutodrainedPoolMac.mm:
1225 (WTF::AutodrainedPool::AutodrainedPool):
1227 2013-05-12 Anders Carlsson <andersca@apple.com>
1229 Move RemoteMemoryReader into FastMalloc.cpp
1230 https://bugs.webkit.org/show_bug.cgi?id=115985
1232 Reviewed by Andreas Kling.
1234 RemoteMemoryReader is only used in FastMalloc.cpp, and even had one of its member functions
1235 implemented there, so move the entire class template there and remove MallocZoneSupport.h.
1237 * GNUmakefile.list.am:
1239 * WTF.vcproj/WTF.vcproj:
1240 * WTF.vcxproj/WTF.vcxproj:
1241 * WTF.vcxproj/WTF.vcxproj.filters:
1242 * WTF.xcodeproj/project.pbxproj:
1243 * wtf/CMakeLists.txt:
1244 * wtf/FastMalloc.cpp:
1246 (PageHeapAllocator):
1247 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1248 * wtf/MallocZoneSupport.h: Removed.
1250 2013-05-10 Laszlo Gombos <l.gombos@samsung.com>
1252 Remove USE(OS_RANDOMNESS)
1253 https://bugs.webkit.org/show_bug.cgi?id=108095
1255 Reviewed by Darin Adler.
1257 Remove the USE(OS_RANDOMNESS) guard as it is turned on for all
1260 * wtf/CryptographicallyRandomNumber.cpp:
1261 (WTF::cryptographicallyRandomValues):
1262 * wtf/CryptographicallyRandomNumber.h:
1263 * wtf/OSRandomSource.cpp:
1264 (WTF::cryptographicallyRandomValuesFromOS):
1265 * wtf/OSRandomSource.h:
1267 * wtf/RandomNumber.cpp:
1268 (WTF::randomNumber):
1269 * wtf/RandomNumber.h:
1270 * wtf/RandomNumberSeed.h:
1271 (WTF::initializeRandomNumberGenerator):
1273 2013-05-10 Carlos Garcia Campos <cgarcia@igalia.com>
1275 [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
1276 https://bugs.webkit.org/show_bug.cgi?id=115904
1278 Reviewed by Martin Robinson.
1280 * wtf/gobject/GRefPtr.cpp:
1282 2013-05-09 Darin Adler <darin@apple.com>
1284 RenderQuote has giant function for language to quotes map
1285 https://bugs.webkit.org/show_bug.cgi?id=115807
1287 Reviewed by Anders Carlsson.
1289 * wtf/unicode/CharacterNames.h: Added a couple of character names.
1291 2013-05-08 Michael Saboff <msaboff@apple.com>
1293 JSC: There should be a disassembler for ARM Thumb 2
1294 https://bugs.webkit.org/show_bug.cgi?id=115827
1296 Reviewed by Filip Pizlo.
1298 Added a new disassembler for ARMv7 Thumb2 instructions for use by the JSC debugging
1299 and profiling code. Enabled the disassembler for IOS bulds.
1303 2013-05-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
1305 Simplify RetainPtrObjectHashTraits
1306 https://bugs.webkit.org/show_bug.cgi?id=115822
1308 Reviewed by Benjamin Poulain.
1310 RetainPtrObjectHashTraits is inherited from SimpleClassHashTraits
1311 instead of GenericHashTraits re-using more shared functionality.
1314 (WTF::RetainPtrObjectHashTraits::emptyValue):
1316 2013-05-08 Anders Carlsson <andersca@apple.com>
1318 Assert at compile time that we don't pass Objective-C object pointers to adoptCF
1319 https://bugs.webkit.org/show_bug.cgi?id=115823
1321 Reviewed by Geoffrey Garen.
1323 static_assert in adoptCF that the object passed in is not an Objective-C object.
1326 2013-05-08 Anders Carlsson <andersca@apple.com>
1328 Remove RetainPtr::adoptNS and RetainPtr::adoptCF
1329 https://bugs.webkit.org/show_bug.cgi?id=115817
1331 Reviewed by Jessie Berlin.
1333 These functions are now unused so remove them. The preferred way to create a RetainPtr with an
1334 adopted reference is to use the adoptNS/adoptCF free functions.
1336 Rewrite the move assignment operators to just call CFRelease explicitly.
1340 2013-05-08 Anders Carlsson <andersca@apple.com>
1342 Remove ThreadingNone.cpp
1344 Rubber-stamped by Beth Dakin.
1346 ThreadingNone.cpp is empty and not used anywhere.
1348 * wtf/ThreadingNone.cpp: Removed.
1350 2013-05-08 Anders Carlsson <andersca@apple.com>
1352 Remove HashMap::deleteAllKeys
1353 https://bugs.webkit.org/show_bug.cgi?id=115806
1355 Reviewed by Brent Fulgham.
1357 This function was not used anywhere so let's get rid of it.
1361 2013-05-08 Eric Carlson <eric.carlson@apple.com>
1363 [Mac] Inband text tracks are not in track menu on Lion
1364 https://bugs.webkit.org/show_bug.cgi?id=115740
1366 Reviewed by Dean Jackson.
1368 * wtf/Platform.h: AVFOUNDATION_TEXT_TRACK_SUPPORT -> AVFOUNDATION_MEDIA_SELECTION_GROUP
1370 2013-05-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
1372 HashTraits<RefPtr<P> >::peek should consider empty value
1373 https://bugs.webkit.org/show_bug.cgi?id=115799
1375 Reviewed by Darin Adler.
1377 HashTraits<RefPtr<P> >::peek() should consider passing of empty value which is
1378 raw pointer equal to '0', and return it right away instead of converting it to RefPtr
1383 2013-05-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
1385 Avoid unnecessary arguments copying inside GenericHashTraits methods
1386 https://bugs.webkit.org/show_bug.cgi?id=115733
1388 Reviewed by Darin Adler.
1390 Before the change both WTF::GenericHashTraits::passOut and WTF::GenericHashTraits::passOut
1391 used to return the given argument always by value and that caused implicit extra
1392 copying of the argument. It was OK as long as argument type T was POD, as compiler
1393 could optimize it, but in case T was a class having non-trivial copy constructor the
1394 extra copying of the argument could not have been obviated.
1396 The proposed solution is to provide overloaded functions that accept non-temporary
1397 values and return them by reference thus avoiding extra copying.
1399 The proposed solution made an impact on the size of libjavascriptcore_efl.so (EFL
1400 release build): the size decreased from 6554992 bytes to 6554560 bytes.
1403 (WTF::GenericHashTraits::passOut):
1404 (WTF::GenericHashTraits::peek):
1406 2013-05-07 Anders Carlsson <andersca@apple.com>
1408 Remove AlwaysInline.h from WTF
1409 https://bugs.webkit.org/show_bug.cgi?id=115727
1411 Reviewed by Brent Fulgham.
1413 The macro that used to be in AlwaysInline.h is now in Compiler.h so there's no reason
1414 to keep AlwaysInline.h around anymore.
1416 * WTF.vcproj/WTF.vcproj:
1417 * WTF.vcxproj/WTF.vcxproj:
1418 * WTF.vcxproj/WTF.vcxproj.filters:
1419 * WTF.xcodeproj/project.pbxproj:
1420 * wtf/AlwaysInline.h: Removed.
1421 * wtf/BloomFilter.h:
1422 * wtf/FastMalloc.cpp:
1425 * wtf/gobject/GRefPtr.h:
1427 2013-05-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
1429 HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
1430 https://bugs.webkit.org/show_bug.cgi?id=115646
1432 Reviewed by Darin Adler.
1434 HashTraits<RefPtr<P> >::PeekType should be raw pointer so that we
1435 can obviate multiple RefPtr copying when invoking HashMap<.., RefPtr>::get()
1440 2013-05-06 Cosmin Truta <ctruta@blackberry.com>
1442 Cherry-pick fixes to bignum from upstream
1443 https://bugs.webkit.org/show_bug.cgi?id=115658
1445 Reviewed by Darin Adler.
1447 Cherry-picked the following change lists:
1449 Fix bug in bignum implementation
1450 http://codereview.chromium.org/13454019
1452 Make VS2005 project files compile without errors
1453 http://codereview.chromium.org/6286135
1455 * wtf/dtoa/bignum.cc:
1457 2013-05-06 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
1459 Change HashTraits<RefPtr<P> >::PassOutType to PassRefPtr for better performance
1460 https://bugs.webkit.org/show_bug.cgi?id=115410
1462 Reviewed by Darin Adler.
1464 The type HashTraits<RefPtr<P> >::PassOutType is PassRefPtr now to
1465 avoid extra ref/unrefing on return from HashMap methods that transfer
1466 ownership, such as take.
1469 (WTF::IdentityHashTranslator::equal):
1472 2013-05-05 Anders Carlsson <andersca@apple.com>
1474 Remove Vector::prepend
1475 https://bugs.webkit.org/show_bug.cgi?id=115618
1477 Reviewed by Geoffrey Garen.
1479 Given the performance characteristics of prepending something to a Vector, not having prepend
1480 will hopefully make developers think about whether prepending is necessary at all. For example,
1481 the functions in HexNumber.h were easily converted to using Vector::append and then Vector::reverse.
1484 (WTF::appendUnsignedAsHex):
1485 (WTF::appendUnsignedAsHexFixedSize):
1489 2013-05-05 Anders Carlsson <andersca@apple.com>
1491 Remove the Vector::append overload that takes a Vector
1492 https://bugs.webkit.org/show_bug.cgi?id=115535
1494 Reviewed by Andreas Kling.
1496 The Vector::append overload that takes a Vector conflicts with rvalues in C++11, so remove it and
1497 replace calls to it with calls to appendVector.
1502 2013-05-04 Andreas Kling <akling@apple.com>
1504 Unreviewed, rolling out r149563.
1505 http://trac.webkit.org/changeset/149563
1506 https://bugs.webkit.org/show_bug.cgi?id=115587
1510 * wtf/text/StringImpl.h:
1513 2013-05-04 Xan Lopez <xlopez@igalia.com>
1515 No need to declare JSC::LLInt::Data as friend class of WTF::StringImpl
1516 https://bugs.webkit.org/show_bug.cgi?id=115587
1518 Reviewed by Andreas Kling.
1520 No need to declare LLInt::Data as friend class of WTF::StringImpl,
1521 it does not use any private method/data member of the latter.
1523 * wtf/text/StringImpl.h:
1526 2013-05-03 Brent Fulgham <bfulgham@webkit.org>
1528 Make ThreadFunctionInvocation fast allocated.
1529 https://bugs.webkit.org/show_bug.cgi?id=115552
1531 Reviewed by Benjamin Poulain.
1533 * wtf/ThreadFunctionInvocation.h:
1534 (ThreadFunctionInvocation): Make Fast-allocated.
1536 2013-05-03 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
1538 Remove WTF::ListRefPtr class
1539 https://bugs.webkit.org/show_bug.cgi?id=115516
1541 Reviewed by Anders Carlsson.
1543 ListRefPtr was used only by FontFamily class, besides it strongly depended
1544 on FontFamily class semantics which made it non-generic and inappropriate
1545 for being present inside WTF.
1547 This patch removes WTF::ListRefPtr class and moves its the functionality
1548 into FontFamily class.
1550 * GNUmakefile.list.am:
1552 * WTF.vcproj/WTF.vcproj:
1553 * WTF.vcxproj/WTF.vcxproj:
1554 * WTF.vcxproj/WTF.vcxproj.filters:
1555 * WTF.xcodeproj/project.pbxproj:
1556 * wtf/CMakeLists.txt:
1559 * wtf/ListRefPtr.h: Removed.
1561 2013-05-02 Brent Fulgham <bfulgham@webkit.org>
1563 [WinCairo] Unreviewed build fix.
1565 * WTF.vcxproj/WTF.vcxproj: Use WinCairo FeatureDefines
1566 * WTF.vcxproj/WTF.vcxproj.filters: Use WinCairo FeatureDefines
1567 * WTF.vcxproj/WTFDebugWinCairo.props: Added.
1568 * WTF.vcxproj/WTFReleaseWinCairo.props: Added.
1570 2013-05-02 Brent Fulgham <bfulgham@webkit.org>
1572 [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html
1573 https://bugs.webkit.org/show_bug.cgi?id=115130
1575 Reviewed by Tim Horton.
1577 Windows is suffering from mismatched allocation/deallocation
1578 between the system allocator and fastMalloc/fastFree. By turning
1579 off the global switch to fastMalloc, only classes specified to
1580 honor fastMalloc/fastFree are affected, and other memory allocation
1581 and freeing is done with consistent library calls.
1583 * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for
1586 2013-05-02 Eric Carlson <eric.carlson@apple.com>
1588 Caption menu does not include in-band captions
1589 https://bugs.webkit.org/show_bug.cgi?id=111934
1591 Reviewed by Dean Jackson.
1593 * wtf/Platform.h: Define HAVE_AVFOUNDATION_TEXT_TRACK_SUPPORT on 10.8 and higher. Added
1594 HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT.
1596 2013-05-02 Brent Fulgham <bfulgham@webkit.org>
1598 Make BloomFilter fast allocated.
1599 https://bugs.webkit.org/show_bug.cgi?id=115519
1601 Reviewed by Benjamin Poulain.
1603 * wtf/BloomFilter.h:
1604 (BloomFilter): Make BloomFilter Fast-allocated.
1606 2013-05-01 Michael Saboff <msaboff@apple.com>
1608 FastMalloc.cpp should use system defined page size instead of literal constant
1609 https://bugs.webkit.org/show_bug.cgi?id=115502
1611 Reviewed by Geoffrey Garen.
1613 Updated kPageShift to be PAGE_SHIFT for Mac. Changed kMaxSize to be fixed at 32K.
1614 Updated kNumClasses for 4K and 16K page sizes.
1616 * wtf/FastMalloc.cpp:
1617 kPageShift: Changed this to be PAGE_SHIFT on mac.
1619 2013-05-01 Roger Fong <roger_fong@apple.com>
1621 Set Path in makefile for AppleWin.
1623 * WTF.vcxproj/WTF.make:
1625 2013-05-01 Anders Carlsson <andersca@apple.com>
1627 Add FunctionDispatcher class and make RunLoop derive from it
1628 https://bugs.webkit.org/show_bug.cgi?id=115480
1630 Reviewed by Sam Weinig.
1632 Add FunctionDispatcher files.
1635 * WTF.vcproj/WTF.vcproj:
1636 * WTF.vcxproj/WTF.vcxproj:
1637 * WTF.xcodeproj/project.pbxproj:
1638 * wtf/FunctionDispatcher.cpp: Added.
1639 (WTF::FunctionDispatcher::FunctionDispatcher):
1640 (WTF::FunctionDispatcher::~FunctionDispatcher):
1641 * wtf/FunctionDispatcher.h: Added.
1643 2013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu>
1645 [Qt][Win] Fix build after r149416.
1646 https://bugs.webkit.org/show_bug.cgi?id=115474
1648 Reviewed by Anders Carlsson.
1651 * wtf/threads/BinarySemaphore.h:
1654 2013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu>
1656 [Qt] Unreviewed buildfix after r149416.
1660 2013-04-30 Anders Carlsson <andersca@apple.com>
1662 Remove the WebKit2 BinarySemaphore class
1663 https://bugs.webkit.org/show_bug.cgi?id=115458
1665 Reviewed by Benjamin Poulain.
1668 Add BinarySemaphore forward declaration.
1670 * wtf/threads/BinarySemaphore.h:
1671 Add WTF_EXPORT_PRIVATE to declarations.
1673 2013-04-30 Commit Queue <rniwa@webkit.org>
1675 Unreviewed, rolling out r149408.
1676 http://trac.webkit.org/changeset/149408
1677 https://bugs.webkit.org/show_bug.cgi?id=115453
1679 Broke Windows Build (Requested by bfulgham on #webkit).
1683 2013-04-30 Brent Fulgham <bfulgham@webkit.org>
1685 [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html
1686 https://bugs.webkit.org/show_bug.cgi?id=115130
1688 Reviewed by Tim Horton.
1690 Windows is suffering from mismatched allocation/deallocation
1691 between the system allocator and fastMalloc/fastFree. By turning
1692 off the global switch to fastMalloc, only classes specified to
1693 honor fastMalloc/fastFree are affected, and other memory allocation
1694 and freeing is done with consistent library calls.
1696 * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for
1699 2013-04-30 Commit Queue <rniwa@webkit.org>
1701 Unreviewed, rolling out r149349 and r149354.
1702 http://trac.webkit.org/changeset/149349
1703 http://trac.webkit.org/changeset/149354
1704 https://bugs.webkit.org/show_bug.cgi?id=115444
1706 The Thumb version of compileSoftModulo make invalid use of
1707 registers (Requested by benjaminp on #webkit).
1711 2013-04-30 Darin Adler <darin@apple.com>
1713 [Mac] Make adoptNS faster on platforms without garbage collection by skipping a CFRetain/NSRelease pair
1714 https://bugs.webkit.org/show_bug.cgi?id=115424
1716 Reviewed by Eric Carlson.
1719 (WTF::adoptNSReference): When OBJC_NO_GC is set, make this an empty function, because in that case
1720 CFRetain and -[NSObject retain] are the same thing and there is no need to call CFRetain and
1721 -[NSObject release] to adopt an Objective-C object.
1723 2013-04-30 Anders Carlsson <andersca@apple.com>
1725 String::isolatedCopy() can avoid a copy if the original is a temporary
1726 https://bugs.webkit.org/show_bug.cgi?id=115425
1728 Reviewed by Darin Adler.
1731 Add WTF_COMPILER_SUPPORTS_CXX_REFERENCE_QUALIFIED_FUNCTIONS define.
1733 * wtf/text/WTFString.cpp:
1734 (WTF::String::isolatedCopy):
1735 * wtf/text/WTFString.h:
1736 If COMPILER_SUPPORTS(CXX_REFERENCE_QUALIFIED_FUNCTIONS) is true, add two overloads of String::isolatedCopy().
1737 One is used if *this is an lvalue, and one is used if *this is an rvalue. In the latter case, we know that the original
1738 String object is a temporary and will be going away, so if it's safe to send it to another thread (if it's not an AtomicString,
1739 and if it's refcount is 1), then we can just steal the StringImpl from the original and avoid a copy altogether.
1741 2013-04-30 Zalan Bujtas <zalan@apple.com>
1743 Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/
1744 https://bugs.webkit.org/show_bug.cgi?id=111244
1746 Reviewed by David Kilzer.
1748 Enable performance.now() as a minimal subset of Web Timing API.
1749 It returns DOMHighResTimeStamp, a monotonically increasing value representing the
1750 number of milliseconds from the start of the navigation of the current document.
1751 JS libraries use this API to check against the requestAnimationFrame() timestamp.
1753 * wtf/FeatureDefines.h:
1755 2013-04-29 Cosmin Truta <ctruta@blackberry.com>
1757 [ARM] Expand the use of integer division
1758 https://bugs.webkit.org/show_bug.cgi?id=115138
1760 Reviewed by Benjamin Poulain.
1762 * wtf/Platform.h: Added ENABLE_ARM_INTEGER_DIV.
1764 2013-04-29 Anders Carlsson <andersca@apple.com>
1766 It should be an error to use adoptPtr with RefCounted subclasses
1767 https://bugs.webkit.org/show_bug.cgi?id=115389
1769 Reviewed by Benjamin Poulain.
1773 Add COMPILE_ASSERTs.
1775 2013-04-29 Patrick Gansterer <paroga@webkit.org>
1777 [WIN] Add workaround for UNUSED_PARAM()
1778 https://bugs.webkit.org/show_bug.cgi?id=115350
1780 Reviewed by Andreas Kling.
1782 r147882 added an workaround for the MSVC compiler on Windows CE.
1783 Extend this workaround to whole MSVC compiler, since the same
1784 problem occurs with the Visual Studio 10 compiler too.
1786 * wtf/UnusedParam.h:
1788 2013-04-29 Patrick Gansterer <paroga@webkit.org>
1790 [WIN] Add WTF_USE_IMLANG_FONT_LINK2
1791 https://bugs.webkit.org/show_bug.cgi?id=115198
1793 Reviewed by Andreas Kling.
1797 2013-04-29 Patrick Gansterer <paroga@webkit.org>
1799 Define USE(ICU_UNICODE) if USE(WCHAR_UNICODE) is false
1800 https://bugs.webkit.org/show_bug.cgi?id=115349
1802 Reviewed by Andreas Kling.
1804 Since we support only ICU and WCHAR as Unicode backend (ICU is the default)
1805 automatically use ICU if WCHAR was not selected via compiler defines.
1809 2013-04-29 Patrick Gansterer <paroga@webkit.org>
1811 Build fix for WinCE after r148888 and r149097
1812 https://bugs.webkit.org/show_bug.cgi?id=115168
1814 Reviewed by Anders Carlsson.
1816 When using compiler intrinsics on Windows CE the compiler complains
1817 about wrong linkage specification of replaced CRT functions defined
1818 in math.h. This is because the compiler has intrinsics for this
1819 functions defined, and requires them to have extern "C" linkage.
1822 (wtf_atan2): Added extern "C" to function signature.
1826 2013-04-29 Carlos Garcia Campos <cgarcia@igalia.com>
1828 Unreviewed. Fix make distcheck.
1830 * GNUmakefile.list.am: Add missing header file to compilation.
1832 2013-04-27 Darin Adler <darin@apple.com>
1834 Move from constructor and member function adoptCF/NS to free function adoptCF/NS.
1835 https://bugs.webkit.org/show_bug.cgi?id=115307
1837 Reviewed by Geoffrey Garen.
1839 * wtf/RunLoopTimerCF.cpp:
1840 (WTF::RunLoopTimerBase::start):
1841 * wtf/SchedulePair.h:
1842 (WTF::SchedulePair::SchedulePair):
1843 * wtf/SchedulePairMac.mm:
1844 (WTF::SchedulePair::SchedulePair):
1845 * wtf/unicode/icu/CollatorICU.cpp:
1846 (WTF::Collator::userDefault):
1847 Use adoptCF free function.
1849 2013-04-26 Geoffrey Garen <ggaren@apple.com>
1851 Filled out more cases of branch folding in bytecode when emitting expressions into a branching context
1852 https://bugs.webkit.org/show_bug.cgi?id=115057
1854 Reviewed by Filip Pizlo.
1856 Added a helper constructor for TriState so clients can make one without
1857 branching or making assumptions about the integer values of TriStates.
1863 2013-04-26 Roger Fong <roger_fong@apple.com>
1865 Make Apple Windows VS2010 build results into and get dependencies from __32 suffixed folders.
1866 Make the DebugSuffix configuration use _debug dependencies.
1868 * WTF.vcxproj/WTF.make:
1869 * WTF.vcxproj/WTF.vcxproj:
1870 * WTF.vcxproj/WTFCommon.props:
1871 * WTF.vcxproj/WTFDebug.props:
1872 * WTF.vcxproj/WTFGenerated.make:
1873 * WTF.vcxproj/WTFGenerated.vcxproj:
1874 * WTF.vcxproj/WTFGeneratedCommon.props:
1875 * WTF.vcxproj/WTFGeneratedDebug.props:
1876 * WTF.vcxproj/WTFGeneratedProduction.props:
1877 * WTF.vcxproj/WTFGeneratedRelease.props:
1878 * WTF.vcxproj/WTFProduction.props:
1879 * WTF.vcxproj/WTFRelease.props:
1880 * WTF.vcxproj/build-generated-files.sh:
1881 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
1882 (react_to_vsprops_changes):
1884 2013-04-26 Martin Robinson <mrobinson@igalia.com>
1886 Remove the remaining Skia #ifdefs
1887 https://bugs.webkit.org/show_bug.cgi?id=114886
1889 Reviewed by Benjamin Poulain.
1893 2013-04-26 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
1895 Add move semantics to RefPtr
1896 https://bugs.webkit.org/show_bug.cgi?id=115033
1898 Reviewed by Anders Carlsson.
1900 Add move constructors and move assignment operators to RefPtr when
1901 COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES).
1902 This obviates unnecessary reffing/ureffing when RefPtr is created
1903 or assigned from rvalue references.
1907 (WTF::RefPtr::RefPtr):
1908 (WTF::RefPtr::operator=):
1910 2013-04-26 Andreas Kling <akling@apple.com>
1912 Remove wxWebKit from WTF.
1913 <http://webkit.org/b/115249>
1915 Reviewed by Antti Koivisto.
1918 * wtf/ArrayBufferView.h:
1920 * wtf/CurrentTime.cpp:
1921 * wtf/DisallowCType.h:
1922 * wtf/ExportMacros.h:
1923 * wtf/FeatureDefines.h:
1925 * wtf/text/WTFString.h:
1927 * wtf/wx/MainThreadWx.cpp: Removed.
1928 * wtf/wx/StringWx.cpp: Removed.
1930 2013-04-25 Filip Pizlo <fpizlo@apple.com>
1932 Unreviewed, roll out http://trac.webkit.org/changeset/148999
1933 It broke http://kripken.github.io/ammo.js/examples/new/ammo.html
1937 2013-04-25 Oliver Hunt <oliver@apple.com>
1941 * wtf/StackBounds.cpp:
1942 (WTF::StackBounds::initialize):
1944 2013-04-25 Oliver Hunt <oliver@apple.com>
1946 Stack guards are too conservative
1947 https://bugs.webkit.org/show_bug.cgi?id=115147
1949 Reviewed by Mark Hahnenberg.
1951 Use getrlimit on darwin to get the stack size for the main thread.
1953 * wtf/StackBounds.cpp:
1954 (WTF::StackBounds::initialize):
1956 2013-04-25 Andreas Kling <akling@apple.com>
1958 Remove ENABLE(PARSED_STYLE_SHEET_CACHING) and make it always-on.
1960 Rubber-stamped by Anders Koivisto.
1962 * wtf/FeatureDefines.h:
1964 2013-04-25 peavo@outlook.com <peavo@outlook.com>
1966 [Windows] Compile fix.
1967 https://bugs.webkit.org/show_bug.cgi?id=115170
1969 Reviewed by Filip Pizlo.
1971 Forward declare function, instead of including intrin.h.
1975 2013-04-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
1977 Use std::move in AtomicString
1978 https://bugs.webkit.org/show_bug.cgi?id=115102
1980 Reviewed by Anders Carlsson.
1982 Use std::move in AtomicString instead of direct casting to rvalue references.
1984 * wtf/text/AtomicString.h:
1986 (WTF::AtomicString::AtomicString):
1987 (WTF::AtomicString::operator=):
1989 2013-04-25 Patrick Gansterer <paroga@webkit.org>
1991 Unreviewed WinCE build fix after r148888.
1993 * wtf/Atomics.h: WinCE version of intrin.h is called cmnintrin.h.
1995 2013-04-24 Roger Fong <roger_fong@apple.com>
1997 Have VS2010 WebKit solution look in WebKit_Libraries/lib32 for dependencies.
1999 * WTF.vcxproj/build-generated-files.sh:
2001 2013-04-24 Benjamin Poulain <benjamin@webkit.org>
2003 Use post-branch store for RefCountedBase::derefBase
2004 https://bugs.webkit.org/show_bug.cgi?id=115078
2006 Reviewed by Andreas Kling.
2009 (WTF::RefCountedBase::derefBase): This makes the assembly easier to follow.
2011 2013-04-23 Geoffrey Garen <ggaren@apple.com>
2013 Filled out more cases of branch folding in bytecode when emitting expressions into a branching context
2014 https://bugs.webkit.org/show_bug.cgi?id=115057
2016 Reviewed by Filip Pizlo.
2018 Added a helper constructor for TriState so clients can make one without
2019 branching or making assumptions about the integer values of TriStates.
2025 2013-04-23 Roger Fong <roger_fong@apple.com>
2029 * WTF.vcproj/WTF.vcproj:
2031 2013-04-23 Benjamin Poulain <bpoulain@apple.com>
2033 Remove unused code of RefCounted after chromium removal
2034 https://bugs.webkit.org/show_bug.cgi?id=115009
2036 Reviewed by Ryosuke Niwa.
2039 (WTF::RefCountedBase::refCount):
2041 It looks like addressOfCount() is no longer needed.
2042 Also change the type back to unsigned as it make more sense.
2044 2013-04-23 David Kilzer <ddkilzer@apple.com>
2046 RetainPtr.h should compile with -Wshorten-64-to-32
2047 <http://webkit.org/b/115047>
2049 Reviewed by Anders Carlsson.
2051 Fixes the following warning:
2053 RetainPtr.h:318:20: error: implicit conversion loses integer precision: 'CFHashCode' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
2054 return CFHash(o.get());
2055 ~~~~~~ ^~~~~~~~~~~~~~~
2058 (WTF::RetainPtrObjectHash::hash): Cast return value of CFHash()
2059 to unsigned. This has no effect on 32-bit architectures, but
2060 takes the lower 32-bits of the CFHashCode (unsigned long) on
2061 64-bit architectures, which is what happens implicitly now.
2063 2013-04-22 Patrick Gansterer <paroga@webkit.org>
2065 [CMake] Move NullPtr.cpp from PlatformWinCE.cmake to CMakeLists.txt
2066 https://bugs.webkit.org/show_bug.cgi?id=114557
2068 Reviewed by Laszlo Gombos.
2070 This file is not specific to Windwos CE. Move it the the general
2071 CMakeLists.txt so other ports can use it to. It does not affect
2072 ports which do not need it, since it contains a preprocessor guard.
2074 * wtf/CMakeLists.txt:
2075 * wtf/PlatformWinCE.cmake:
2077 2013-04-22 Benjamin Poulain <benjamin@webkit.org>
2079 Remove the memory instrumentation code
2080 https://bugs.webkit.org/show_bug.cgi?id=114931
2082 Reviewed by Andreas Kling.
2084 On Mac x86_64, the code removal cause the binary to be
2087 * GNUmakefile.list.am:
2089 * WTF.vcproj/WTF.vcproj:
2090 * WTF.vcxproj/WTF.vcxproj:
2091 * WTF.vcxproj/WTF.vcxproj.filters:
2092 * WTF.xcodeproj/project.pbxproj:
2093 * wtf/CMakeLists.txt:
2095 * wtf/ListHashSet.h:
2097 (ListHashSetNodeAllocator):
2098 (WTF::ListHashSetNodeAllocator::pool):
2099 (WTF::ListHashSetNodeAllocator::pastPool):
2100 * wtf/MemoryInstrumentation.cpp: Removed.
2101 * wtf/MemoryInstrumentation.h: Removed.
2102 * wtf/MemoryInstrumentationArrayBufferView.h: Removed.
2103 * wtf/MemoryInstrumentationHashCountedSet.h: Removed.
2104 * wtf/MemoryInstrumentationHashMap.h: Removed.
2105 * wtf/MemoryInstrumentationHashSet.h: Removed.
2106 * wtf/MemoryInstrumentationListHashSet.h: Removed.
2107 * wtf/MemoryInstrumentationSequence.h: Removed.
2108 * wtf/MemoryInstrumentationString.h: Removed.
2109 * wtf/MemoryInstrumentationVector.h: Removed.
2110 * wtf/MemoryObjectInfo.h: Removed.
2111 * wtf/text/AtomicString.h:
2112 * wtf/text/StringImpl.h:
2113 (WTF::StringImpl::isASCIILiteral):
2114 * wtf/text/WTFString.h:
2116 2013-04-22 David Kilzer <ddkilzer@apple.com>
2118 StringImpl.h should compile with -Wshorten-64-to-32
2119 <http://webkit.org/b/114970>
2121 Reviewed by Darin Adler.
2123 Fixes the following warnings with -Wshorten-64-to-32:
2125 StringImpl.h:317:25: error: implicit conversion loses integer precision: 'uintptr_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
2126 unsigned hash = reinterpret_cast<uintptr_t>(this);
2127 ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2129 * wtf/text/StringImpl.h:
2130 (WTF::StringImpl::StringImpl): Add static_cast<uint32_t>() to
2131 formalize taking the lower 32-bits of the pointer value on
2132 64-bit architectures.
2134 2013-04-22 Andreas Kling <akling@apple.com>
2136 Shrink baseline size of WTF::Vector on 64-bit by switching to unsigned capacity and size.
2137 <http://webkit.org/b/97268>
2138 <rdar://problem/12376519>
2140 Reviewed by Sam Weinig.
2142 Shrink Vector by 8 bytes on 64-bit by using 32-bit capacity and size.
2143 Vector now inherits from VectorBuffer instead of having a VectorBuffer member;
2144 this is necessary for m_size to fall into the padding after the base class members.
2146 The WTF::Vector API still uses size_t.
2148 Based on Blink r148313 by <cevans@chromium.org>.
2150 * wtf/SizeLimits.cpp:
2152 (WTF::VectorBufferBase::allocateBuffer):
2153 (WTF::VectorBufferBase::tryAllocateBuffer):
2155 (WTF::VectorBuffer::shouldReallocateBuffer):
2157 (WTF::Vector::Vector):
2158 (WTF::Vector::capacity):
2160 (WTF::Vector::data):
2161 (WTF::Vector::swap):
2163 (WTF::::reserveCapacity):
2164 (WTF::::tryReserveCapacity):
2165 (WTF::::reserveInitialCapacity):
2166 (WTF::::shrinkCapacity):
2167 (WTF::::releaseBuffer):
2169 2013-04-21 Filip Pizlo <fpizlo@apple.com>
2171 Memory barrier support should also ensure that we always do a compiler fence
2172 https://bugs.webkit.org/show_bug.cgi?id=114934
2174 Reviewed by Michael Saboff.
2176 This is a cherry-pick merge of the WTF part of r148836 from the dfgFourthTier
2177 branch. It fixes a memory ordering bug that is likely asymptomatic, but
2178 nonetheless real: TCSpinLock expects that using a memoryBarrierBeforeUnlock()
2179 prior to setting lockword_ to 0 will ensure that the assignment to lockword_
2180 won't get floated above any of the stores in the critical section. While that
2181 memory barrier does indeed do the right thing on ARM, it doesn't do the right
2182 thing on other architectures: it turns into empty code that the compiler blows
2183 away, which is fine for the hardware since X86 won't reorder that store - but
2184 it's not fine for the compiler, which may still do its own reorderings.
2186 The WTF part of r148836 fixes this by using a compiler fence: an empty asm
2187 volatile block that is marked as clobbering memory.
2189 Instead of doing a separate surgical fix in trunk, I decided to merge the
2190 whole WTF change over, to make merging easier in the future.
2192 Performance testing of this change in dfgFourthTier showed no regression.
2195 (WTF::compilerFence):
2197 (WTF::armV7_dmb_st):
2198 (WTF::loadLoadFence):
2199 (WTF::loadStoreFence):
2200 (WTF::storeLoadFence):
2201 (WTF::storeStoreFence):
2202 (WTF::memoryBarrierAfterLock):
2203 (WTF::memoryBarrierBeforeUnlock):
2206 2013-04-22 David Kilzer <ddkilzer@apple.com>
2208 WTF::AtomicString::find() should take unsigned 'start' argument
2209 <http://webkit.org/b/114958>
2211 Reviewed by Darin Adler.
2213 Fixes the following warnings with -Wshorten-64-to-32:
2215 AtomicString.h:113:76: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
2216 size_t find(UChar c, size_t start = 0) const { return m_string.find(c, start); }
2218 AtomicString.h:115:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
2219 { return m_string.find(s, start, caseSentitive); }
2221 AtomicString.h:117:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
2222 { return m_string.find(s, start, caseSentitive); }
2225 * wtf/text/AtomicString.h:
2226 (WTF::AtomicString::find): Change type of 'start' argument from
2229 2013-04-21 Benjamin Poulain <benjamin@webkit.org>
2231 Improve StringImpl code density for older ARM hardware
2232 https://bugs.webkit.org/show_bug.cgi?id=114898
2234 Reviewed by Geoffrey Garen.
2236 Reduce the number of instructions needed for StringImpl::deref
2237 on older ARM hardware.
2239 The extra indirection should have a negligible impact on x86_64.
2241 * wtf/text/StringImpl.cpp:
2242 (WTF::StringImpl::destroy):
2243 * wtf/text/StringImpl.h:
2245 (WTF::StringImpl::deref):
2247 2013-04-20 Allan Sandfeld Jensen <allan.jensen@digia.com>
2249 LLint should be able to use x87 instead of SSE for floating pointer
2250 https://bugs.webkit.org/show_bug.cgi?id=112239
2252 Reviewed by Filip Pizlo.
2254 Disable GTK workaround now that LLInt does not require SSE2.
2258 2013-04-19 Roger Fong <roger_fong@apple.com>
2260 Remove uses of WebKit_Source from AppleWin build in WTF.
2262 * WTF.vcxproj/WTF.make:
2263 * WTF.vcxproj/copy-files.cmd:
2264 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
2265 (react_to_vsprops_changes):
2266 (react_to_webkit1_interface_changes):
2268 2013-04-19 Benjamin Poulain <benjamin@webkit.org>
2270 Remove the declaration of MemoryObjectInfo from StringImpl
2271 https://bugs.webkit.org/show_bug.cgi?id=114788
2273 Reviewed by Andreas Kling.
2275 * wtf/text/StringImpl.h: The declaration is an other left over from chromium.
2277 2013-04-19 Benjamin Poulain <benjamin@webkit.org>
2279 Make StringImpl::cost const
2280 https://bugs.webkit.org/show_bug.cgi?id=114790
2282 Reviewed by Andreas Kling.
2284 * wtf/text/StringImpl.h:
2285 (WTF::StringImpl::cost):
2287 2013-04-19 Roger Fong <roger_fong@apple.com>
2289 Unreviewed. WebKit_Source is incorrectly set.
2291 * WTF.vcxproj/WTF.make:
2293 2013-04-19 Alberto Garcia <agarcia@igalia.com>
2295 OSAllocatorPosix: fix build warnings about unused parameters in QNX
2296 https://bugs.webkit.org/show_bug.cgi?id=114859
2298 Reviewed by Carlos Garcia Campos.
2300 * wtf/OSAllocatorPosix.cpp:
2301 (WTF::OSAllocator::reserveUncommitted):
2303 2013-04-19 Dan Beam <dbeam@chromium.org>
2305 Remove unmaintained feature REQUEST_AUTOCOMPLETE
2306 https://bugs.webkit.org/show_bug.cgi?id=114846
2308 Reviewed by Kent Tamura.
2310 * wtf/FeatureDefines.h: Remove REQUEST_AUTOCOMPLETE as a feature definition.
2312 2013-04-18 Zoltan Arvai <zarvai@inf.u-szeged.hu>
2314 Speculative build fix for Qt Mountain Lion Release after r148639.
2315 https://bugs.webkit.org/show_bug.cgi?id=114793
2317 Reviewed by Michael Saboff.
2319 * wtf/CurrentTime.cpp:
2321 2013-04-17 Mark Lam <mark.lam@apple.com>
2323 Added currentCPUTime() and currentCPUTimeMS().
2324 https://bugs.webkit.org/show_bug.cgi?id=114577.
2326 Reviewed by Geoffrey Garen.
2328 The currentCPUTime() implementation came from the old TimeoutChecker.cpp.
2330 * wtf/CurrentTime.cpp:
2331 (WTF::currentCPUTime):
2332 (WTF::currentCPUTimeMS):
2333 * wtf/CurrentTime.h:
2335 2013-04-17 Ryosuke Niwa <rniwa@webkit.org>
2337 REGRESSION(r148584): WebKit nightly builds don't load any page
2338 https://bugs.webkit.org/show_bug.cgi?id=114752
2340 Reviewed by Anders Carlsson.
2342 We can't use C++ style (//) comments in Platform.h because WebKit2/DerivedSource.make doesn't know
2343 how to strip it to be merged with *.sb.in to generate *.sb files. Specifically, we have:
2345 # Some versions of clang incorrectly strip out // comments in c89 code.
2346 # Use -traditional as a workaround, but only when needed since that causes
2347 # other problems with later versions of clang.
2348 ifeq ($(shell echo '//x' | $(CC) -E -P -x c -std=c89 - | grep x),)
2349 TEXT_PREPROCESSOR_FLAGS=-E -P -x c -traditional -w
2351 TEXT_PREPROCESSOR_FLAGS=-E -P -x c -std=c89 -w
2356 2013-04-17 Brent Fulgham <bfulgham@webkit.org>
2358 [Windows, WinCairo] Remove Include Settings for Pthreads from WTF
2359 https://bugs.webkit.org/show_bug.cgi?id=114694
2361 Reviewed by Ryosuke Niwa.
2363 * WTF.vcproj/WTFCommon.vsprops: Remove pthread search path.
2364 * WTF.vcxproj/WTFCommon.props: Remove pthread search path.
2365 * wtf/FastMalloc.cpp: Guard pthread.h include for non-pthread
2368 2013-04-16 Oliver Hunt <oliver@apple.com>
2370 Harden FastMalloc against partial pointer overflows
2371 https://bugs.webkit.org/show_bug.cgi?id=114716
2373 Reviewed by Gavin Barraclough.
2375 Bite the bullet and perform object alignment checks on free.
2376 malloc/free micro benchmark shows a regression, but real
2377 benchmarks don't. There's a little code motion in this avoid
2378 taking too much of a performance hit. In addition to the
2379 alignment check we also validate the containing span as
2380 we've already taken the hit of finding it.
2382 * wtf/FastMalloc.cpp:
2383 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2385 2013-04-16 Sam Weinig <sam@webkit.org>
2387 Fix fallout after r148545.
2390 Move Platform defines that were incorrectly in WebCore, into Platform.h
2392 2013-04-15 Commit Queue <rniwa@webkit.org>
2394 Unreviewed, rolling out r148488.
2395 http://trac.webkit.org/changeset/148488
2396 https://bugs.webkit.org/show_bug.cgi?id=114660
2398 Roll back in r148462 since it was a false positive. (Requested
2399 by rniwa on #webkit).
2401 * wtf/FastMalloc.cpp:
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):
2412 2013-04-15 Commit Queue <rniwa@webkit.org>
2414 Unreviewed, rolling out r148462.
2415 http://trac.webkit.org/changeset/148462
2416 https://bugs.webkit.org/show_bug.cgi?id=114658
2418 Broke Windows builds (Requested by rniwa on #webkit).
2420 * wtf/FastMalloc.cpp:
2422 (WTF::setThreadHeap):
2423 (WTF::TCMalloc_ThreadCache::GetThreadHeap):
2424 (WTF::TCMalloc_ThreadCache::InitTSD):
2425 * wtf/ThreadSpecificWin.cpp:
2426 (WTF::destructorsList):
2427 (WTF::destructorsMutex):
2428 (WTF::threadSpecificKeyCreate):
2429 (WTF::threadSpecificKeyDelete):
2431 2013-04-15 Julien Brianceau <jbrianceau@nds.com>
2433 LLInt SH4 backend implementation
2434 https://bugs.webkit.org/show_bug.cgi?id=112886
2436 Reviewed by Oliver Hunt.
2440 2013-04-15 Patrick Gansterer <paroga@webkit.org>
2442 [CMake] Add WTF_USE_*_UNICODE variables
2443 https://bugs.webkit.org/show_bug.cgi?id=114556
2445 Reviewed by Brent Fulgham.
2447 WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to
2448 reduce duplication in the platform specific CMake files.
2450 * wtf/CMakeLists.txt:
2451 * wtf/PlatformBlackBerry.cmake:
2452 * wtf/PlatformEfl.cmake:
2453 * wtf/PlatformWinCE.cmake:
2455 2013-04-15 Patrick Gansterer <paroga@webkit.org>
2457 [WIN] Remove remaining calls to pthread from WTF
2458 https://bugs.webkit.org/show_bug.cgi?id=114563
2460 Reviewed by Brent Fulgham.
2462 Replace pthread_key_create with threadSpecificKeyCreate and
2463 pthread_setspecific with threadSpecificSet from ThreadSpecific.h.
2464 These functions provide a windows-specific implementation for the pthread functions,
2465 but require that the thread has been created with WTF::createThread(),
2466 which is the case for all threads created within WebKit.
2467 To call this function from fastMalloc we must not call fastMalloc in them.
2468 To fulfill this constraint ThreadSpecificWin will allocated its memory through the
2469 original malloc implementation and use the stack for local and static variables.
2470 Keep the Darwin implementation as it is, since it contains some performance tweaks.
2472 * wtf/FastMalloc.cpp:
2473 * wtf/ThreadSpecificWin.cpp:
2474 (WTF::destructorsList):
2475 (WTF::destructorsMutex):
2476 (WTF::threadSpecificKeyCreate):
2477 (WTF::threadSpecificKeyDelete):
2479 2013-04-14 Oliver Hunt <oliver@apple.com>
2481 Try to fix non-apple windows builds
2485 2013-04-14 David Kilzer <ddkilzer@apple.com>
2487 Add EnumClass.h to project files
2488 <http://webkit.org/b/114582>
2490 Rubber-stamped by Dan Bernstein.
2492 * WTF.pro: Add EnumClass.h to project.
2493 * WTF.vcproj/WTF.vcproj: Ditto.
2494 * WTF.vcxproj/WTF.vcxproj: Ditto.
2495 * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
2496 * WTF.xcodeproj/project.pbxproj: Ditto.
2498 2013-04-12 Oliver Hunt <oliver@apple.com>
2500 Apologies to all, I have no idea what happened to cause this change.
2504 2013-04-12 Oliver Hunt <oliver@apple.com>
2506 [Qt][Win] r148257 broke the build
2507 https://bugs.webkit.org/show_bug.cgi?id=114512
2513 2013-04-11 Oliver Hunt <oliver@apple.com>
2515 Add more type validation to debug builds
2516 https://bugs.webkit.org/show_bug.cgi?id=114478
2518 Reviewed by Mark Hahnenberg.
2520 Add BINDING_VALIDATION flag and make RELEASE_ASSERT use UNLIKELY.
2525 2013-04-10 Thiago Marcos P. Santos <thiago.santos@intel.com>
2527 [WTF] Get rid of truncated thread name warnings for non-Windows platforms
2528 https://bugs.webkit.org/show_bug.cgi?id=114266
2530 Reviewed by Ryosuke Niwa.
2532 Hide the annoying message from ports that are not really interested
2535 * wtf/Threading.cpp:
2536 (WTF::createThread):
2538 2013-04-10 Benjamin Poulain <bpoulain@apple.com>
2540 Mass remove all the empty directories
2542 Rubberstamped by Ryosuke Niwa.
2544 * wtf/qt/compat: Removed.
2545 * wtf/unicode/glib: Removed.
2546 * wtf/unicode/qt4: Removed.
2547 * wtf/unicode/wince: Removed.
2549 2013-04-08 Anders Carlsson <andersca@apple.com>
2551 Remove unneeded headers from FrameLoader.h
2552 https://bugs.webkit.org/show_bug.cgi?id=114223
2554 Reviewed by Geoffrey Garen.
2560 Don't include DataLog.h unless DUMP_HASHTABLE_STATS_PER_TABLE is 1.
2562 2013-04-10 Laszlo Gombos <l.gombos@samsung.com>
2564 Remove ENABLE_3D_PLUGIN
2565 https://bugs.webkit.org/show_bug.cgi?id=108002
2567 Reviewed by Antti Koivisto.
2569 Remove ENABLE_3D_PLUGIN, it was only used by Chromium.
2571 * wtf/FeatureDefines.h:
2573 2013-04-09 Patrick Gansterer <paroga@webkit.org>
2575 [CMake] Remove conditional source file lists in WTF
2576 https://bugs.webkit.org/show_bug.cgi?id=114250
2578 Reviewed by Laszlo Gombos.
2580 Use the #ifdef in the source file instead of conditional adding
2581 files to the list of source files. This allows us to remove the
2582 information of enabled features from CMake in next step.
2584 * wtf/CMakeLists.txt:
2586 2013-04-08 Ryosuke Niwa <rniwa@webkit.org>
2588 Remove WTF.gyp/WTF.gypi
2589 https://bugs.webkit.org/show_bug.cgi?id=114237
2591 Reviewed by Maciej Stachowiak.
2594 * WTF.gyp/.gitignore: Removed.
2595 * WTF.gyp/WTF.gyp: Removed.
2596 * WTF.gypi: Removed.
2598 2013-04-08 Benjamin Poulain <benjamin@webkit.org>
2600 Remove HTML Notification
2601 https://bugs.webkit.org/show_bug.cgi?id=114231
2603 Reviewed by Ryosuke Niwa.
2605 * wtf/FeatureDefines.h:
2607 2013-04-08 Benjamin Poulain <benjamin@webkit.org>
2609 wtf/dtoa/* uses a confusing name to reference its buffers
2610 https://bugs.webkit.org/show_bug.cgi?id=109709
2612 Reviewed by Darin Adler.
2614 The data structure Vector in wtf/dtoa has nothing to do with a traditional
2615 vector, is it just a pointer and the length of the pointed buffer.
2617 Rename it to BufferReference to avoid mistakes.
2619 * wtf/dtoa/bignum-dtoa.cc:
2620 * wtf/dtoa/bignum-dtoa.h:
2621 * wtf/dtoa/bignum.cc:
2622 * wtf/dtoa/bignum.h:
2624 * wtf/dtoa/double-conversion.cc:
2625 * wtf/dtoa/fast-dtoa.cc:
2626 * wtf/dtoa/fast-dtoa.h:
2627 * wtf/dtoa/fixed-dtoa.cc:
2628 * wtf/dtoa/fixed-dtoa.h:
2629 (double_conversion):
2630 * wtf/dtoa/strtod.cc:
2631 * wtf/dtoa/strtod.h:
2632 (double_conversion):
2634 (double_conversion):
2635 (WTF::double_conversion::BufferReference::BufferReference):
2636 (WTF::double_conversion::BufferReference::SubBufferReference):
2639 2013-04-08 Alberto Garcia <agarcia@igalia.com>
2641 [BlackBerry] MathExtras: macros defined in math.h conflict with the real functions
2642 https://bugs.webkit.org/show_bug.cgi?id=112683
2644 Reviewed by Darin Adler.
2646 After calls to signbit and friends were prefixed with std:: in
2647 r143232, the BlackBerry port no longer compiles.
2649 The solution is to get rid of the macros defined in math.h and use
2650 the real functions instead.
2654 2013-04-08 Max Vujovic <mvujovic@adobe.com>
2656 REGRESSION (r147502): Animations of CA filters broken
2657 https://bugs.webkit.org/show_bug.cgi?id=114067
2659 Reviewed by Dean Jackson.
2661 Revert r147502 [1] because it broke CA filter animations.
2663 [1]: http://trac.webkit.org/changeset/147502
2667 2013-04-08 Andreas Kling <akling@apple.com>
2669 REGRESSION(r147894): Broke WTFReportBacktrace() on Mac.
2670 <http://webkit.org/b/114174>
2672 Reviewed by Anders Carlsson.
2674 An #elif !OS(ANDROID) block was erroneously removed, turn it into an #else instead since
2675 that path will still be taken for OS(DARWIN).
2677 * wtf/Assertions.cpp:
2679 2013-04-08 Oliver Hunt <oliver@apple.com>
2683 Remove unnecessary include of <wtf/Forward.h> from Vector.h
2687 2013-04-08 Csaba Osztrogonác <ossy@webkit.org>
2689 Unreviewed trivial buildfix after r147799.
2691 Add an ifdef guard to ensure Qt uses its own monotonicallyIncreasingTime()
2692 implemenation instead of the GLIB based one.
2694 * wtf/CurrentTime.cpp:
2697 2013-04-07 Benjamin Poulain <benjamin@webkit.org>
2699 Remove the android code from WebKit Template Framework
2700 https://bugs.webkit.org/show_bug.cgi?id=114138
2702 Reviewed by Dirk Schulze.
2704 * wtf/Assertions.cpp:
2708 * wtf/ThreadIdentifierDataPthreads.cpp:
2710 2013-04-07 Oliver Hunt <oliver@apple.com>
2712 Add bounds checking for WTF::Vector::operator[]
2713 https://bugs.webkit.org/show_bug.cgi?id=89600
2715 Reviewed by Filip Pizlo.
2717 Add a template parameter to Vector<> that controls whether
2718 bounds checking is performed in release builds or not.
2719 Defaults to crashing on overflow.
2727 (WTF::Vector::removeLast):
2732 (WTF::::reverseFind):
2734 (WTF::::appendRange):
2735 (WTF::::expandCapacity):
2736 (WTF::::tryExpandCapacity):
2740 (WTF::::reserveCapacity):
2741 (WTF::::tryReserveCapacity):
2742 (WTF::::reserveInitialCapacity):
2743 (WTF::::shrinkCapacity):
2746 (WTF::::appendSlowCase):
2747 (WTF::::uncheckedAppend):
2748 (WTF::::appendVector):
2753 (WTF::::releaseBuffer):
2754 (WTF::::checkConsistency):
2755 (WTF::deleteAllValues):
2760 2013-04-07 Patrick Gansterer <paroga@webkit.org>
2762 [WIN] Fix problems with export macros of AutodrainedPool
2763 https://bugs.webkit.org/show_bug.cgi?id=114132
2765 Reviewed by Geoffrey Garen.
2767 Exporting an inline function results in an error with the MS compiler.
2769 * wtf/AutodrainedPool.h:
2771 (WTF::AutodrainedPool::AutodrainedPool):
2772 (WTF::AutodrainedPool::~AutodrainedPool):
2773 (WTF::AutodrainedPool::cycle):
2775 2013-04-07 Patrick Gansterer <paroga@webkit.org>
2777 [WinCE] Add workaround for UNUSED_PARAM()
2778 https://bugs.webkit.org/show_bug.cgi?id=113440
2780 Reviewed by Benjamin Poulain.
2782 The MSVC compiler for Windwos CE throws an error when
2783 an function parameter is passed to UNUSED_PARAM() and
2784 its type is only forward declared.
2786 * wtf/UnusedParam.h:
2788 2013-04-07 Patrick Gansterer <paroga@webkit.org>
2790 Do not check if WTF_ARM_ARCH_VERSION is defined in WTF_ARM_ARCH_AT_LEAST macro
2791 https://bugs.webkit.org/show_bug.cgi?id=114127
2793 Reviewed by Benjamin Poulain.
2795 Platform.h defines WTF_ARM_ARCH_VERSION for CPU(ARM) always and removing
2796 the check works around a bug in older Microsoft compiler versions.
2800 2013-04-07 David Kilzer <ddkilzer@apple.com>
2802 Remove the rest of SVG_DOM_OBJC_BINDINGS
2803 <http://webkit.org/b/114112>
2805 Reviewed by Geoffrey Garen.
2807 * wtf/FeatureDefines.h:
2808 - Remove ENABLE_SVG_DOM_OBJC_BINDINGS macro.
2810 2013-04-06 Geoffrey Garen <ggaren@apple.com>
2812 Removed v8 bindings hooks from IDL files
2813 https://bugs.webkit.org/show_bug.cgi?id=114091
2815 Reviewed by Anders Carlsson and Sam Weinig.
2817 * wtf/ArrayBuffer.h:
2819 (WTF::ArrayBufferContents::ArrayBufferContents):
2820 (WTF::ArrayBufferContents::transfer):
2821 (ArrayBufferContents):
2823 (WTF::ArrayBufferContents::~ArrayBufferContents):
2826 2013-04-05 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
2828 [GTK] Change from PLATFORM(GTK) to USE(GLIB) in WTF/CurrentTime.cpp
2829 https://bugs.webkit.org/show_bug.cgi?id=114061
2831 Reviewed by Gustavo Noronha Silva.
2833 Now other ports using GLib can use the correct implementation
2834 and not the fallback one without adding any other PLATFORM guards
2837 * wtf/CurrentTime.cpp:
2840 2013-04-05 Geoffrey Garen <ggaren@apple.com>
2842 Made USE(JSC) unconditional
2843 https://bugs.webkit.org/show_bug.cgi?id=114058
2845 Reviewed by Anders Carlsson.
2847 * wtf/ThreadRestrictionVerifier.h:
2849 * wtf/WTFThreadData.cpp:
2850 (WTF::WTFThreadData::WTFThreadData):
2851 (WTF::WTFThreadData::~WTFThreadData):
2852 * wtf/WTFThreadData.h:
2854 * wtf/text/StringImpl.cpp:
2855 (WTF::StringImpl::~StringImpl):
2857 2013-04-05 Roger Fong <roger_fong@apple.com>
2859 More VS2010 solution makefile fixes.
2860 <rdar://problem/13588964>
2862 * WTF.vcxproj/WTF.make:
2864 2013-04-05 Anders Carlsson <andersca@apple.com>
2866 Remove more dead Chromium code from WTF
2867 https://bugs.webkit.org/show_bug.cgi?id=114037
2869 Reviewed by Allan Sandfeld Jensen.
2871 * wtf/CurrentTime.cpp:
2873 * wtf/DisallowCType.h:
2874 * wtf/ExportMacros.h:
2875 * wtf/MainThread.cpp:
2878 2013-04-05 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
2880 [EFL] Disable GLOBAL_FAST_MALLOC_NEW by default.
2881 https://bugs.webkit.org/show_bug.cgi?id=114031
2883 Reviewed by Alexis Menard.
2885 Follow what some other ports already do and avoid globally overriding
2886 the `new' and `delete' operators with the ones in FastMalloc.
2888 In many cases, third-party or client code allocates memory with
2889 standard library calls but the memory gets deleted by FastMalloc,
2890 causing a crash. The reverse (ie. memory being allocated by FastMalloc
2891 and freed by the system libraries) is also possible.
2893 Commits 135666 and 121018 provide more information about this, as well
2894 as comment 6 in bug 89358.
2898 2013-04-05 Benjamin Poulain <bpoulain@apple.com>
2900 Remove WTFURL from WebKit
2901 https://bugs.webkit.org/show_bug.cgi?id=113994
2903 Reviewed by Ryosuke Niwa.
2905 Painful, but that is for the best now :(
2907 * GNUmakefile.list.am:
2908 * WTF.xcodeproj/project.pbxproj:
2909 * wtf/MemoryInstrumentationParsedURL.h: Removed.
2910 * wtf/url/api/ParsedURL.cpp: Removed.
2911 * wtf/url/api/ParsedURL.h: Removed.
2912 * wtf/url/api/URLBuffer.h: Removed.
2913 * wtf/url/api/URLQueryCharsetConverter.h: Removed.
2914 * wtf/url/api/URLString.cpp: Removed.
2915 * wtf/url/api/URLString.h: Removed.
2916 * wtf/url/src/RawURLBuffer.h: Removed.
2917 * wtf/url/src/URLCanon.h: Removed.
2918 * wtf/url/src/URLCanonEtc.cpp: Removed.
2919 * wtf/url/src/URLCanonFilesystemurl.cpp: Removed.
2920 * wtf/url/src/URLCanonFileurl.cpp: Removed.
2921 * wtf/url/src/URLCanonHost.cpp: Removed.
2922 * wtf/url/src/URLCanonICU.cpp: Removed.
2923 * wtf/url/src/URLCanonIP.cpp: Removed.
2924 * wtf/url/src/URLCanonInternal.cpp: Removed.
2925 * wtf/url/src/URLCanonInternal.h: Removed.
2926 * wtf/url/src/URLCanonMailto.cpp: Removed.
2927 * wtf/url/src/URLCanonPath.cpp: Removed.
2928 * wtf/url/src/URLCanonPathurl.cpp: Removed.
2929 * wtf/url/src/URLCanonQuery.cpp: Removed.
2930 * wtf/url/src/URLCanonRelative.cpp: Removed.
2931 * wtf/url/src/URLCanonStdURL.cpp: Removed.
2932 * wtf/url/src/URLCharacterTypes.cpp: Removed.
2933 * wtf/url/src/URLCharacterTypes.h: Removed.
2934 * wtf/url/src/URLComponent.h: Removed.
2935 * wtf/url/src/URLFile.h: Removed.
2936 * wtf/url/src/URLParse.cpp: Removed.
2937 * wtf/url/src/URLParse.h: Removed.
2938 * wtf/url/src/URLParseFile.cpp: Removed.
2939 * wtf/url/src/URLParseInternal.h: Removed.
2940 * wtf/url/src/URLSegments.cpp: Removed.
2941 * wtf/url/src/URLSegments.h: Removed.
2942 * wtf/url/src/URLUtil.cpp: Removed.
2943 * wtf/url/src/URLUtil.h: Removed.
2944 * wtf/url/src/URLUtilInternal.h: Removed.
2946 2013-04-04 Geoffrey Garen <ggaren@apple.com>
2948 Nixed the defunct chromium folder from WTF
2949 https://bugs.webkit.org/show_bug.cgi?id=113992
2951 Reviewed by Ryosuke Niwa.
2953 * wtf/chromium: Removed.
2954 * wtf/chromium/ChromiumThreading.h: Removed.
2955 * wtf/chromium/MainThreadChromium.cpp: Removed.
2957 2013-04-04 Martin Robinson <mrobinson@igalia.com>
2959 [GTK] Remove the gyp build
2960 https://bugs.webkit.org/show_bug.cgi?id=113942
2962 Reviewed by Gustavo Noronha Silva.
2964 * WTF.gyp/WTFGTK.gyp: Removed.
2966 2013-04-04 Anders Carlsson <andersca@apple.com>
2968 ObjcRuntimeExtras.h should use variadic templates
2969 https://bugs.webkit.org/show_bug.cgi?id=113941
2971 Reviewed by Andreas Kling.
2973 Reimplement wtfObjcMsgSend and wtfCallIMP as variadic function templates.
2975 * wtf/ObjcRuntimeExtras.h:
2979 2013-04-04 Andras Becsi <andras.becsi@digia.com>
2981 Fix the build with GCC 4.8
2982 https://bugs.webkit.org/show_bug.cgi?id=113147
2984 Reviewed by Allan Sandfeld Jensen.
2986 Disable diagnostic warning -Wunused-local-typedefs for GCC 4.8
2987 since dummy typedefs are commonly used in the codebase.
2991 2013-04-03 Pratik Solanki <psolanki@apple.com>
2993 Enable HAVE_MADV_FREE_REUSE on iOS
2994 https://bugs.webkit.org/show_bug.cgi?id=113892
2995 <rdar://problem/12787563>
2997 Reviewed by Mark Rowe.
3001 2013-04-02 Ryosuke Niwa <rniwa@webkit.org>
3003 Remove code for Mac 10.5 and earlier from WTF and WebKit2
3004 https://bugs.webkit.org/show_bug.cgi?id=113844
3006 Reviewed by Benjamin Poulain.
3008 Removed the code for 10.5 and removed if-def for 10.6.
3010 * wtf/FastMalloc.cpp:
3011 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3013 * wtf/ThreadingPthreads.cpp:
3014 (WTF::initializeCurrentThreadInternal):
3015 * wtf/unicode/icu/CollatorICU.cpp:
3016 (WTF::Collator::userDefault):
3018 2013-04-02 Max Vujovic <mvujovic@adobe.com>
3020 [CSS Filters] Filter outsets clipped on composited layers when filter is applied after first layout
3021 https://bugs.webkit.org/show_bug.cgi?id=109098
3023 Reviewed by Dean Jackson.
3026 Add flag for HAVE(COMPOSITOR_FILTER_OUTSETS) macro. This is used to check if a
3027 platform's compositor expands layers internally for filter outsets when it applies
3028 filters like drop-shadow and blur. Currently, only CoreAnimation does has this
3031 2013-04-02 Yury Semikhatsky <yurys@chromium.org>
3033 Web Inspector: memory instrumentation for external arrays is broken
3034 https://bugs.webkit.org/show_bug.cgi?id=113790
3036 Reviewed by Pavel Feldman.
3038 * wtf/MemoryInstrumentationArrayBufferView.h: report buffer pointer as retaining one as
3039 we know that the pointer is not broken.
3040 (WTF::reportMemoryUsage):
3042 2013-04-01 Han Shen <shenhan@google.com>
3044 Move definition of nested classes that inherit enclosing class outside class definition.
3045 https://bugs.webkit.org/show_bug.cgi?id=113454
3047 Reviewed by Benjamin Poulain.
3049 HashMap.h does not build on GCC 4.8. Inside this file,
3050 HashMapKeysProxy and HashMapValuesProxy are defined as nested
3051 class inside HashMap - which is legal - the illegal part is that
3052 these 2 classes inherit HashMap, that is the enclosing class, that
3053 causes "reference to in-complete definition" error.
3055 The fix is to move outside the definition of these 2 classes, and
3056 leave only declaration part inside HashMap as is illustrated below -
3058 template class <typename T>
3063 class HashMapKeysProxy;
3065 // ERROR - nested class inherits enclosing class.
3066 class HashMapKeysProxy : private HashMap {
3071 class HashMapKeysProxy : private HashMap {
3079 template class <typename T>
3084 class HashMapKeysProxy;
3085 class HashMapValuesProxy;
3091 template <typename T>
3092 class HashMap<T>::HashMapKeysProxy : private HashMap<T> {
3096 template <typename T>
3097 class HashMap<T>::HashMapValuesProxy : private HashMap<T> {
3103 (WTF): Factor out nested class definition from enclosing class.
3105 2013-03-31 Mark Hahnenberg <mhahnenberg@apple.com>
3107 Regions should be allocated from the same contiguous segment of virtual memory
3108 https://bugs.webkit.org/show_bug.cgi?id=113662
3110 Reviewed by Filip Pizlo.
3112 Instead of letting the OS spread our Regions all over the place, we should allocate them all within
3113 some range of each other. This change will open the door to some other optimizations, e.g. doing simple
3114 range checks for our write barriers and compressing JSCell pointers to 32-bits.
3116 * wtf/MetaAllocator.cpp: Changed the MetaAllocator to allow custom page sizes if the derived class wants to
3117 use something other than the system page size.
3118 (WTF::MetaAllocator::MetaAllocator):
3119 * wtf/MetaAllocator.h:
3122 2013-04-01 Yury Semikhatsky <yurys@chromium.org>
3124 Web Inspector: add memory instrumentation for StringBuffer
3125 https://bugs.webkit.org/show_bug.cgi?id=113507
3127 Reviewed by Pavel Feldman.
3129 Added memory instrumentation for StringBuffer.
3131 * wtf/MemoryInstrumentationString.h:
3133 (WTF::reportMemoryUsage):
3135 2013-03-30 Tom Sepez <tsepez@chromium.org>
3137 View-source iframes are dangerous (and not very useful).
3138 https://bugs.webkit.org/show_bug.cgi?id=113345
3140 Reviewed by Adam Barth.
3142 * wtf/FeatureDefines.h:
3143 Default definition of ENABLE_VIEWSOURCE_ATTRIBUTE is enabled.
3145 2013-03-27 Patrick Gansterer <paroga@webkit.org>
3147 Set WTF_ARM_ARCH_VERSION to correct value when used with MSVC
3148 https://bugs.webkit.org/show_bug.cgi?id=113436
3150 Reviewed by Benjamin Poulain.
3152 The Microsoft compiler defines _M_ARM with used ARM version.
3156 2013-03-27 Allan Sandfeld Jensen <allan.jensen@digia.com>
3158 Support C++11 static_assert
3159 https://bugs.webkit.org/show_bug.cgi?id=113308
3161 Reviewed by Alexey Proskuryakov.
3163 Use the C++11 static_assert for COMPILE_ASSERT when it is available. Note that
3164 even when compiling with C++11 support, static_assert will not always be available
3165 since Assertions.h may also be used outside of C++.
3167 C11 _Static_assert is enabled for GCC when it has C11 support (gcc>=4.7 -std=c11).
3172 2013-03-25 Oliver Hunt <oliver@apple.com>
3174 RefCountedArray needs a size based constructor
3175 https://bugs.webkit.org/show_bug.cgi?id=113277
3177 Reviewed by Benjamin Poulain.
3179 Simple patch to add a size based constructor for RefCountedArray
3180 so that we can create an sharable array without a copy.
3182 * wtf/RefCountedArray.h:
3184 (WTF::RefCountedArray::RefCountedArray):
3186 2013-03-26 James Robinson <jamesr@chromium.org>
3188 Compile fix - OS(WINDOWS), not OS(WIN).
3191 (WTF::getCurrentProcessID):
3193 2013-03-26 James Robinson <jamesr@chromium.org>
3195 Fix compile for OS(WIN) != PLATFORM(WIN)
3196 https://bugs.webkit.org/show_bug.cgi?id=113356
3198 Reviewed by Tim Horton.
3201 (WTF::getCurrentProcessID):
3203 2013-03-23 Filip Pizlo <fpizlo@apple.com>
3205 JSC_enableProfiler=true should also cause JSGlobalData to save the profiler output somewhere
3206 https://bugs.webkit.org/show_bug.cgi?id=113144
3208 Reviewed by Geoffrey Garen.
3210 I got tired of the fact that getpid(2) is not a syscall on Windows (unless you do
3211 _getpid() I believe), so I wrote a header that abstracts it. I also changed existing
3212 code that uses getpid() to use WTF::getCurrentProcessID().
3214 * GNUmakefile.list.am:
3217 * WTF.vcproj/WTF.vcproj:
3218 * WTF.xcodeproj/project.pbxproj:
3219 * wtf/CMakeLists.txt:
3220 * wtf/MetaAllocator.cpp:
3221 (WTF::MetaAllocator::dumpProfile):
3222 * wtf/ProcessID.h: Added.
3224 (WTF::getCurrentProcessID):
3225 * wtf/text/StringImpl.cpp:
3226 (WTF::StringStats::printStats):
3228 2013-03-25 Kent Tamura <tkent@chromium.org>
3230 Rename ENABLE_INPUT_TYPE_DATETIME
3231 https://bugs.webkit.org/show_bug.cgi?id=113254
3233 Reviewed by Kentaro Hara.
3235 Rename ENABLE_INPUT_TYPE_DATETIME to ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE.
3236 Actually I'd like to remove the code, but we shouldn't remove it yet
3237 because we shipped products with it on some platforms.
3239 * wtf/FeatureDefines.h:
3241 2013-03-25 David Kilzer <ddkilzer@apple.com>
3243 WTF::binarySearchImpl() should compile with -Wshorten-64-to-32
3244 <http://webkit.org/b/113170>
3246 Reviewed by Dan Bernstein.
3248 Fixes the following build failure:
3250 /usr/local/include/wtf/StdLibExtras.h:190:30: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
3251 int pos = (size - 1) >> 1;
3255 * wtf/StdLibExtras.h:
3256 (WTF::binarySearchImpl): Switch type from int to size_t.
3258 2013-03-22 Benjamin Poulain <bpoulain@apple.com>
3260 Remove 2 bad branches from StringHash::equal() and CaseFoldingHash::equal()
3261 https://bugs.webkit.org/show_bug.cgi?id=113003
3263 Reviewed by Eric Seidel.
3265 StringHash::equal() and CaseFoldingHash::equal() were both testing for
3266 the nullity of the two input pointers. The catch is: neither traits handle
3267 null pointers, and any client code would have crashed on hash(), before equal()
3269 Consequently, the two branches had a pass rate of zero when called from a HashMap code.
3271 The function is also never inlined because it is too big (the code of equal() for characters
3272 is always inlined, causing the function to be quite big).
3274 This patch introduces two new functions in the StringImpl API: equalNonNull() and
3275 equalIgnoringCaseNonNull(). Those functions are similar to their equal() equivalent
3276 but make the assumtion the input is never null.
3278 The functions are used for StringHash to avoid the useless branches.
3280 * wtf/text/StringHash.h:
3281 (WTF::StringHash::equal):
3282 (WTF::CaseFoldingHash::equal):
3283 * wtf/text/StringImpl.cpp:
3284 (WTF::stringImplContentEqual):
3286 (WTF::equalNonNull):
3287 (WTF::equalIgnoringCase):
3288 (WTF::equalIgnoringCaseNonNull):
3289 (WTF::equalIgnoringNullity):
3290 * wtf/text/StringImpl.h:
3291 (WTF::equalIgnoringCase):
3293 2013-03-22 Benjamin Poulain <bpoulain@apple.com>
3295 Name correctly the argument of StringImpl::setIsAtomic()
3296 https://bugs.webkit.org/show_bug.cgi?id=113000
3298 Reviewed by Geoffrey Garen.
3300 * wtf/text/StringImpl.h:
3301 (WTF::StringImpl::setIsAtomic):
3302 The argument was probably an unfortunate copy-paste from setIsIdentifier().
3305 2013-03-22 Hajime Morrita <morrita@google.com>
3307 Custom Elements: "readyCallback" lifecycle callback should be called.
3308 https://bugs.webkit.org/show_bug.cgi?id=112538
3310 Reviewed by Elliott Sprehn.
3313 (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.
3315 2013-03-22 Sheriff Bot <webkit.review.bot@gmail.com>
3317 Unreviewed, rolling out r146534 and r146565.
3318 http://trac.webkit.org/changeset/146534
3319 http://trac.webkit.org/changeset/146565
3320 https://bugs.webkit.org/show_bug.cgi?id=113017
3322 "r146534 caused perf regression on Chromium Linux x64"
3323 (Requested by yurys on #webkit).
3327 (WTF::copyToVector):
3329 2013-03-21 Hajime Morrita <morrita@google.com>
3331 Custom Elements: "readyCallback" lifecycle callback should be called.
3332 https://bugs.webkit.org/show_bug.cgi?id=112538
3334 Reviewed by Elliott Sprehn.
3337 (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.
3339 2013-03-21 Mark Lam <mark.lam@apple.com>
3341 Introducing String::findNextLineStart().
3342 https://bugs.webkit.org/show_bug.cgi?id=112957.
3344 Reviewed by Geoffrey Garen.
3346 This is replaces String::reverseFindLineTerminator() in the JSC
3347 debugger's code for computing column numbers.
3349 * wtf/text/StringImpl.cpp:
3350 (WTF::StringImpl::findNextLineStart):
3351 * wtf/text/StringImpl.h:
3352 (WTF::findNextLineStart):
3353 * wtf/text/WTFString.h:
3354 (WTF::String::findNextLineStart):
3356 2013-03-21 Adam Barth <abarth@webkit.org>
3358 HTMLNames should construct strings at compile time
3359 https://bugs.webkit.org/show_bug.cgi?id=112831
3361 Reviewed by Darin Adler.
3363 * wtf/text/StringImpl.h:
3365 (StaticASCIILiteral):
3366 - This struct lets us construct StringImpl objects at compile time.
3367 (WTF::StringImpl::assertHashIsCorrect):
3368 - This function lets us sanity check StringImpl objects created from StaticData.
3369 (WTF::StringImpl::find): Remove a stray ;
3370 (WTF::StringImpl::findIgnoringCase): ditto
3371 (WTF::StringImpl::startsWith): ditto
3372 (WTF::ValueCheck<StringImpl*>):
3373 * wtf/text/AtomicStringImpl.h:
3374 (WTF::ValueCheck<AtomicStringImpl*>):
3376 2013-03-21 Gabor Rapcsanyi <rgabor@webkit.org>
3378 Implement LLInt for CPU(ARM_TRADITIONAL)
3379 https://bugs.webkit.org/show_bug.cgi?id=97589
3381 Reviewed by Zoltan Herczeg.
3383 Enable LLInt for ARMv5 and ARMv7 traditional as well.
3387 2013-03-20 Sheriff Bot <webkit.review.bot@gmail.com>
3389 Unreviewed, rolling out r146419.
3390 http://trac.webkit.org/changeset/146419
3391 https://bugs.webkit.org/show_bug.cgi?id=112870
3393 Broke many tests on debug builds (Requested by rniwa_ on
3396 * wtf/text/StringImpl.h:
3399 2013-03-20 Adam Barth <abarth@webkit.org>
3401 HTMLNames should construct strings at compile time
3402 https://bugs.webkit.org/show_bug.cgi?id=112831
3404 Reviewed by Darin Adler.
3406 * wtf/text/StringImpl.h:
3408 (StaticASCIILiteral):
3409 - This struct lets us construct StringImpl objects at compile time.
3410 (WTF::StringImpl::assertValidHash):
3411 - This function lets us sanity check StringImpl objects created from StaticData.
3413 2013-03-20 Jessie Berlin <jberlin@apple.com>
3415 REGRESSION(r145592): AutodrainedPool.h. RunLoopTimer.h, SchedulePair.h are being copied into
3417 https://bugs.webkit.org/show_bug.cgi?id=112833
3419 Reviewed by Darin Adler.
3421 * WTF.xcodeproj/project.pbxproj:
3422 Make sure those three headers are copied with the rest of the WTF headers.
3424 2013-03-20 Mark Rowe <mrowe@apple.com>
3426 FastMalloc scavenge timer specifies an overly narrow leeway value.
3428 Reviewed by Alexey Proskuryakov.
3430 There's no need to allow only 1ms of leeway on a 2s timer.
3432 * wtf/FastMalloc.cpp:
3433 (WTF::TCMalloc_PageHeap::initializeScavenger): Bump the leeway window
3434 to 10% of the scavenge timer.
3436 2013-03-20 JungJik Lee <jungjik.lee@samsung.com>
3438 [EFL] Disable REQUEST_ANIMATION_FRAME_TIMER to render a new animation frame.
3439 https://bugs.webkit.org/show_bug.cgi?id=112114
3441 Reviewed by Kenneth Rohde Christiansen.
3443 The issue is that if the animation starts outside of the area covered by keepRects,
3444 the web process does not create tiles of the animation layer and the layer moves
3445 without having any tiles. In order to fix this issue, CoordinatedLayerHost must call
3446 scheduleLayerFlush to create new tiles when the layer enters the area covered by keepRect.
3447 However EFL port didn't call scheduleLayerFlush periodically for animation.
3448 We can tie scripted animations with synchronization of the layer and that already
3449 has been implemented in r123786 by Qt port. This patch is for activating r123786 patch.
3451 The testing is covered by ManualTests/animation/transition-on-and-offscreen-animation.html
3453 * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER.
3455 2013-03-20 Mark Lam <mark.lam@apple.com>
3457 Introducing String::reverseFindLineTerminator().
3458 https://bugs.webkit.org/show_bug.cgi?id=112741.
3460 Reviewed by Oliver Hunt.
3462 This is needed by the JSC debugger code for computing column numbers.
3464 * wtf/text/StringImpl.cpp:
3465 (WTF::StringImpl::reverseFindLineTerminator):
3466 * wtf/text/StringImpl.h:
3468 (WTF::reverseFindLineTerminator):
3469 * wtf/text/WTFString.h:
3470 (WTF::String::reverseFindLineTerminator):
3472 2013-03-19 Martin Robinson <mrobinson@igalia.com>
3474 Fix the WTF gyp build for GTK+.
3476 * WTF.gyp/WTFGTK.gyp: Skip files with CF in the name.
3478 2013-03-19 Alberto Garcia <agarcia@igalia.com>
3480 [BlackBerry] Enable USE_SYSTEM_MALLOC by default
3481 https://bugs.webkit.org/show_bug.cgi?id=112365
3483 Reviewed by Benjamin Poulain.
3485 Enable USE_SYSTEM_MALLOC by default via FeatureList.pm instead of
3486 harcoding it in wtf/Platform.h
3490 2013-03-18 Benjamin Poulain <benjamin@webkit.org>
3492 [iOS] Make a UChar string equal() based on the LChar version
3493 https://bugs.webkit.org/show_bug.cgi?id=112495
3495 Reviewed by David Kilzer.
3497 * wtf/text/StringImpl.h:
3499 Create a equal() function for UChar based on the work done for LChar.
3501 On A6, this is a speed up of about 40% for any string of 2 or more characters.
3502 It is slower by 8% on a single UChar comparison.
3504 2013-03-18 Brent Fulgham <bfulgham@webkit.org>
3506 [WinCairo] Get build working under VS2010.
3507 https://bugs.webkit.org/show_bug.cgi?id=112604
3509 Reviewed by Tim Horton.
3511 * WTF.vcxproj/WTF.vcxproj: Add Debug_WinCairo and Release_WinCairo
3512 targets so headers get copied to appropriate build folder.
3513 * WTF.vcxproj/WTFGenerated.vcxproj: Ditto.
3515 2013-03-15 Benjamin Poulain <bpoulain@apple.com>
3517 [iOS] Update StringImpl's equal to have a single version on all supported Apple CPUs
3518 https://bugs.webkit.org/show_bug.cgi?id=112400
3520 Reviewed by Michael Saboff.
3522 * wtf/text/StringImpl.h:
3524 Tweak the code to make it work on older Apple CPUs:
3525 -Use external "ouput" variable instead of the registers R9 and R12. This gets rid
3526 of some register pressure previously imposed on the compiler. (Clang nicely
3527 choose R9 and R12 when needed, following iOS ABI).
3528 -Instead of using "R3" for storing the length / 4, update the length by -4 on
3529 each iteration and work in the negative space for the tail. This frees one register
3530 which is then used for isEqual.
3531 -Get rid of the unconditional branch from the loop. By using subs and working in the
3532 negative space, we can test for the Carry flag to jump back to the next LDR.
3534 2013-03-15 Benjamin Poulain <bpoulain@apple.com>
3536 [iOS] Fix the length pass to memcmp in the fallback versions of String's equal
3537 https://bugs.webkit.org/show_bug.cgi?id=112463
3539 Reviewed by Ryosuke Niwa.
3541 * wtf/text/StringImpl.h:
3542 (WTF::equal): It might be a good idea to compare the full UChar strings...
3544 2013-03-15 Michael Saboff <msaboff@apple.com>
3546 Add runtime check for improper register allocations in DFG
3547 https://bugs.webkit.org/show_bug.cgi?id=112380
3549 Reviewed by Geoffrey Garen.
3551 * wtf/Platform.h: Added new ENABLE_DFG_REGISTER_ALLOCATION_VALIDATION compilation flag to
3552 enable generation of register allocation checking. This is on for debug builds.
3554 2013-03-13 Jessie Berlin <jberlin@apple.com>
3556 Remove svn:executable from a file that isn't supposed to be executable.
3558 Rubber-stamped by Geoff Garen.
3562 2013-03-13 Oliver Hunt <oliver@apple.com>
3564 Simplify Checked<> multiplication
3565 https://bugs.webkit.org/show_bug.cgi?id=112286
3567 Reviewed by James Robinson.
3569 Trying to correctly identify multiplication by zero complicated the
3570 unsigned * unsigned multiply, and still didn't handle all cases correctly.
3571 Now we just do the normal division based approach to overflow detection
3572 leading to much simpler reasoning.
3574 Would be nice if we could have a jo style intrinsic one day.
3576 * wtf/CheckedArithmetic.h:
3578 2013-03-13 Dean Jackson <dino@apple.com>
3580 Unreviewed attempted build fix for Windows. SchedulePair.cpp -> SchedulePairCF.cpp
3582 * WTF.vcproj/WTF.vcproj:
3583 * WTF.vcxproj/WTF.vcxproj:
3584 * WTF.vcxproj/WTF.vcxproj.filters:
3586 2013-03-13 Benjamin Poulain <bpoulain@apple.com>
3588 [iOS] Add optimized version of StringImpl's equal(LChar*,LChar*) for Apple CPUs
3589 https://bugs.webkit.org/show_bug.cgi?id=112202
3591 Reviewed by Gavin Barraclough.
3593 * Source/WTF/wtf/Platform.h:
3594 Make the macro WTF_ARM_ARCH_VERSION valid on any architecture.
3595 * wtf/text/StringImpl.h:
3597 On ARMv7S, the new version is about 11% percent faster than the simple loop.
3598 On ARMv7 classic, memcmp is a little faster than the simple loop on Apple A5.
3600 2013-03-13 James Robinson <jamesr@chromium.org>
3602 SchedulePair.cpp is CF-specific
3603 https://bugs.webkit.org/show_bug.cgi?id=112204
3605 Reviewed by Oliver Hunt.
3607 This renames SchedulePair.cpp SchedulePairCF.cpp, since it depends on CF, and excludes it from chromium's gyp
3611 Add CF to the exclusion filter for the Chromium port.
3613 Add SchedulePairCF.cpp
3614 * WTF.xcodeproj/project.pbxproj:
3615 Update project file to point to new .cpp location
3616 * wtf/SchedulePairCF.cpp: Renamed from Source/WTF/wtf/SchedulePair.cpp.
3618 2013-03-13 Allan Sandfeld Jensen <allan.jensen@digia.com>
3620 Support C++11 features in GCC <4.6
3621 https://bugs.webkit.org/show_bug.cgi?id=111553
3623 Reviewed by Simon Hausmann.
3625 Enable support for rvalue references from gcc 4.3, deleted functions
3626 from gcc 4.4, explicit conversion from gcc 4.5, and strongly typed
3631 2013-03-12 Geoffrey Garen <ggaren@apple.com>
3633 Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592.
3635 * wtf/SchedulePair.cpp:
3636 * wtf/SchedulePair.h:
3637 (WTF::SchedulePair::SchedulePair): Since linking is failing,
3638 try inlining this function.
3640 2013-03-12 Tim Horton <timothy_horton@apple.com>
3642 Typo in earlier Windows build fix. Unreviewed.
3644 * WTF.vcproj/WTF.vcproj:
3646 2013-03-12 Tim Horton <timothy_horton@apple.com>
3648 Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592.
3650 * WTF.vcproj/WTF.vcproj:
3651 * WTF.vcxproj/WTF.vcxproj:
3652 * WTF.vcxproj/WTF.vcxproj.filters:
3654 2013-03-12 James Robinson <jamesr@chromium.org>
3656 Build fix for r145592 - update gyp files to refer to new file locations.
3660 2013-03-12 Geoffrey Garen <ggaren@apple.com>
3662 Moved RunLoopTimer and SchedulePair to WTF
3663 https://bugs.webkit.org/show_bug.cgi?id=112171
3665 Reviewed by Oliver Hunt.
3667 This will allow us to use timers in lower level primitives without
3668 duplicating all the code.
3670 * WTF.xcodeproj/project.pbxproj:
3671 * wtf/AutodrainedPool.h: Copied from Source/WebCore/platform/AutodrainedPool.h.
3673 * wtf/AutodrainedPoolMac.mm: Copied from Source/WebCore/platform/mac/AutodrainedPool.mm.
3674 * wtf/RunLoopTimer.h: Copied from Source/WebCore/platform/RunLoopTimer.h.
3675 * wtf/RunLoopTimerCF.cpp: Copied from Source/WebCore/platform/cf/RunLoopTimerCF.cpp.
3676 * wtf/SchedulePair.cpp: Copied from Source/WebCore/platform/cf/SchedulePair.cpp.
3677 * wtf/SchedulePair.h: Copied from Source/WebCore/platform/cf/SchedulePair.h.
3679 * wtf/SchedulePairMac.mm: Copied from Source/WebCore/platform/mac/SchedulePairMac.mm.
3681 2013-03-12 Oliver Hunt <oliver@apple.com>
3683 Add more Checked<> tests
3684 https://bugs.webkit.org/show_bug.cgi?id=112190
3686 Reviewed by Geoffrey Garen.
3688 Export the CheckedState enum type
3690 * wtf/CheckedArithmetic.h:
3692 2013-03-12 Oliver Hunt <oliver@apple.com>
3694 Make CheckedArithmetic slightly more sane