1 2013-05-15 Ryuan Choi <ryuan.choi@samsung.com>
3 Unreviewed build fix after r150123
7 2013-05-15 Oliver Hunt <oliver@apple.com>
9 RefCountedArray needs to use vector initialisers for its backing store
10 https://bugs.webkit.org/show_bug.cgi?id=116194
12 Reviewed by Gavin Barraclough.
14 Use VectorOperations to operate on the backing store
16 * wtf/RefCountedArray.h:
17 (WTF::RefCountedArray::RefCountedArray):
18 (WTF::RefCountedArray::operator=):
19 (WTF::RefCountedArray::~RefCountedArray):
21 2013-05-15 Nico Weber <thakis@chromium.org>
23 WebKit doesn't support MSVS2003 any more, remove preprocessor checks for older versions.
24 https://bugs.webkit.org/show_bug.cgi?id=116157
26 Reviewed by Anders Carlsson.
28 Also remove a gcc3.2 workaround.
30 Merges parts of these two commits by the talented Nico Weber:
31 https://chromium.googlesource.com/chromium/blink/+/3677e2f47348daeff405a40b6f90fbdf0654c2f5
32 https://chromium.googlesource.com/chromium/blink/+/0fcd96c448dc30be1416dcc15713c53710c1a312
43 * wtf/RefCountedLeakCounter.h:
44 (RefCountedLeakCounter):
45 * wtf/StaticConstructors.h:
47 2013-05-15 Patrick Gansterer <paroga@webkit.org>
49 Consolidate lists in WTF CMake files
50 https://bugs.webkit.org/show_bug.cgi?id=116142
52 Reviewed by Martin Robinson.
54 Move common files into the CMakeLists.txt to avoid duplicating the list of files.
55 Also rebase the recently added GTK files to match the other CMake ports, since
56 the submitted patch was based on an older version of the source tree.
59 * wtf/PlatformBlackBerry.cmake:
60 * wtf/PlatformEfl.cmake:
61 * wtf/PlatformGTK.cmake:
62 * wtf/PlatformWinCE.cmake:
64 2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
66 Remove WTF_USE_PLATFORM_STRATEGIES
67 https://bugs.webkit.org/show_bug.cgi?id=114431
69 Reviewed by Darin Adler.
73 2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
75 [BlackBerry] Use requestAnimationFrame for animations
76 https://bugs.webkit.org/show_bug.cgi?id=115896
80 * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER and
81 WTF_USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR for BlackBerry
84 2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
86 [BlackBerry] Implement platform strategies
87 https://bugs.webkit.org/show_bug.cgi?id=112162
91 * wtf/Platform.h: Add BlackBerry platform to the list of platforms
92 using platform strategies.
94 2013-05-13 Benjamin Poulain <benjamin@webkit.org>
96 Improve stringProtoFuncLastIndexOf for the prefix case
97 https://bugs.webkit.org/show_bug.cgi?id=115952
99 Reviewed by Geoffrey Garen.
101 Add an optimized version of StringImpl::startsWith() for JavaScriptCore.
103 * wtf/text/StringImpl.cpp:
104 (WTF::StringImpl::startsWith):
105 * wtf/text/StringImpl.h:
107 (WTF::StringImpl::startsWith):
108 * wtf/text/WTFString.h:
109 (WTF::String::startsWith):
111 2013-05-13 Carlos Garcia Campos <cgarcia@igalia.com>
113 Unreviewed. Fix Qt Linux MIPS32R2 build after r149879.
115 Bring back GLIB_CHECK_VERSION for GBytes since Qt Linux MIPS32R2
116 depends on glib 2.24.2.
118 * wtf/gobject/GRefPtr.cpp:
123 2013-05-13 Anders Carlsson <andersca@apple.com>
126 https://bugs.webkit.org/show_bug.cgi?id=116029
128 Reviewed by Andreas Kling.
130 Remove UnusedParam.h, it's empty now.
132 * GNUmakefile.list.am:
134 * WTF.vcproj/WTF.vcproj:
135 * WTF.vcxproj/WTF.vcxproj:
136 * WTF.vcxproj/WTF.vcxproj.filters:
137 * WTF.xcodeproj/project.pbxproj:
138 * wtf/CMakeLists.txt:
139 * wtf/UnusedParam.h: Removed.
141 2013-05-13 Zalan Bujtas <zalan@apple.com>
143 WebProcess consuming very high CPU on linkedin.com
144 https://bugs.webkit.org/show_bug.cgi?id=115601
146 Reviewed by Andreas Kling.
148 Disable WEB_TIMING_MINIMAL.
149 Turn off window.performance and performance.now(). Some JS frameworks expect
150 additional Web Timing APIs, when performance.now() is available.
152 * wtf/FeatureDefines.h:
154 2013-05-12 Anders Carlsson <andersca@apple.com>
156 Stop including UnusedParam.h
157 https://bugs.webkit.org/show_bug.cgi?id=116003
159 Reviewed by Sam Weinig.
161 UnusedParam.h is empty now so there's no need to include it anymore.
164 * wtf/BoundsCheckedPointer.h:
166 * wtf/FastMalloc.cpp:
167 * wtf/NumberOfCores.cpp:
169 * wtf/OSAllocatorPosix.cpp:
170 * wtf/PageAllocation.h:
172 * wtf/TCSystemAlloc.cpp:
173 * wtf/ThreadingPthreads.cpp:
175 * wtf/dtoa/cached-powers.cc:
176 * wtf/dtoa/fixed-dtoa.cc:
178 2013-05-12 Anders Carlsson <andersca@apple.com>
180 Move UNUSED_PARAM and UNUSED_LABEL macros to Compiler.h
181 https://bugs.webkit.org/show_bug.cgi?id=115997
183 Reviewed by Benjamin Poulain.
185 UnusedParam.h predates Compiler.h and the macros defined there should just go into Compiler.h
191 2013-05-12 Anders Carlsson <andersca@apple.com>
193 Remove Complex.h from WTF
194 https://bugs.webkit.org/show_bug.cgi?id=115989
196 Reviewed by Beth Dakin.
198 Complex.h contains a typedef and a single function (that already has an equivalent in the STL).
199 The header is used by three files in WebCore, so just use std::complex<double> and std::polar directly.
201 * GNUmakefile.list.am:
202 * WTF.vcproj/WTF.vcproj:
203 * WTF.vcxproj/WTF.vcxproj:
204 * WTF.vcxproj/WTF.vcxproj.filters:
205 * WTF.xcodeproj/project.pbxproj:
206 * wtf/CMakeLists.txt:
207 * wtf/Complex.h: Removed.
209 2013-05-11 Martin Robinson <mrobinson@igalia.com>
211 [GTK] Add a basic cmake build for WTF and JavaScriptCore
212 https://bugs.webkit.org/show_bug.cgi?id=115967
214 Reviewed by Laszlo Gombos.
216 * wtf/PlatformGTK.cmake: Added.
218 2013-05-11 Martin Robinson <mrobinson@igalia.com>
220 Move defines to platform
222 [GTK] Move defines that will never be configured to Platform.h
223 https://bugs.webkit.org/show_bug.cgi?id=115965
225 Reviewed by Andreas Kling.
227 * wtf/Platform.h: Add new defines that were previously in the autoconf header.
229 2013-05-12 Anders Carlsson <andersca@apple.com>
231 Simplify AutodrainedPool
232 https://bugs.webkit.org/show_bug.cgi?id=115986
234 Reviewed by Andreas Kling.
236 Remove the ability to cycle an AutodrainedPool, as well as the iteration count.
237 Creating and draining pools is fast enough now that we don't need to try to be clever about it.
239 * wtf/AutodrainedPool.h:
241 (WTF::AutodrainedPool::AutodrainedPool):
242 * wtf/AutodrainedPoolMac.mm:
243 (WTF::AutodrainedPool::AutodrainedPool):
245 2013-05-12 Anders Carlsson <andersca@apple.com>
247 Move RemoteMemoryReader into FastMalloc.cpp
248 https://bugs.webkit.org/show_bug.cgi?id=115985
250 Reviewed by Andreas Kling.
252 RemoteMemoryReader is only used in FastMalloc.cpp, and even had one of its member functions
253 implemented there, so move the entire class template there and remove MallocZoneSupport.h.
255 * GNUmakefile.list.am:
257 * WTF.vcproj/WTF.vcproj:
258 * WTF.vcxproj/WTF.vcxproj:
259 * WTF.vcxproj/WTF.vcxproj.filters:
260 * WTF.xcodeproj/project.pbxproj:
261 * wtf/CMakeLists.txt:
262 * wtf/FastMalloc.cpp:
265 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
266 * wtf/MallocZoneSupport.h: Removed.
268 2013-05-10 Laszlo Gombos <l.gombos@samsung.com>
270 Remove USE(OS_RANDOMNESS)
271 https://bugs.webkit.org/show_bug.cgi?id=108095
273 Reviewed by Darin Adler.
275 Remove the USE(OS_RANDOMNESS) guard as it is turned on for all
278 * wtf/CryptographicallyRandomNumber.cpp:
279 (WTF::cryptographicallyRandomValues):
280 * wtf/CryptographicallyRandomNumber.h:
281 * wtf/OSRandomSource.cpp:
282 (WTF::cryptographicallyRandomValuesFromOS):
283 * wtf/OSRandomSource.h:
285 * wtf/RandomNumber.cpp:
287 * wtf/RandomNumber.h:
288 * wtf/RandomNumberSeed.h:
289 (WTF::initializeRandomNumberGenerator):
291 2013-05-10 Carlos Garcia Campos <cgarcia@igalia.com>
293 [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
294 https://bugs.webkit.org/show_bug.cgi?id=115904
296 Reviewed by Martin Robinson.
298 * wtf/gobject/GRefPtr.cpp:
300 2013-05-09 Darin Adler <darin@apple.com>
302 RenderQuote has giant function for language to quotes map
303 https://bugs.webkit.org/show_bug.cgi?id=115807
305 Reviewed by Anders Carlsson.
307 * wtf/unicode/CharacterNames.h: Added a couple of character names.
309 2013-05-08 Michael Saboff <msaboff@apple.com>
311 JSC: There should be a disassembler for ARM Thumb 2
312 https://bugs.webkit.org/show_bug.cgi?id=115827
314 Reviewed by Filip Pizlo.
316 Added a new disassembler for ARMv7 Thumb2 instructions for use by the JSC debugging
317 and profiling code. Enabled the disassembler for IOS bulds.
321 2013-05-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
323 Simplify RetainPtrObjectHashTraits
324 https://bugs.webkit.org/show_bug.cgi?id=115822
326 Reviewed by Benjamin Poulain.
328 RetainPtrObjectHashTraits is inherited from SimpleClassHashTraits
329 instead of GenericHashTraits re-using more shared functionality.
332 (WTF::RetainPtrObjectHashTraits::emptyValue):
334 2013-05-08 Anders Carlsson <andersca@apple.com>
336 Assert at compile time that we don't pass Objective-C object pointers to adoptCF
337 https://bugs.webkit.org/show_bug.cgi?id=115823
339 Reviewed by Geoffrey Garen.
341 static_assert in adoptCF that the object passed in is not an Objective-C object.
344 2013-05-08 Anders Carlsson <andersca@apple.com>
346 Remove RetainPtr::adoptNS and RetainPtr::adoptCF
347 https://bugs.webkit.org/show_bug.cgi?id=115817
349 Reviewed by Jessie Berlin.
351 These functions are now unused so remove them. The preferred way to create a RetainPtr with an
352 adopted reference is to use the adoptNS/adoptCF free functions.
354 Rewrite the move assignment operators to just call CFRelease explicitly.
358 2013-05-08 Anders Carlsson <andersca@apple.com>
360 Remove ThreadingNone.cpp
362 Rubber-stamped by Beth Dakin.
364 ThreadingNone.cpp is empty and not used anywhere.
366 * wtf/ThreadingNone.cpp: Removed.
368 2013-05-08 Anders Carlsson <andersca@apple.com>
370 Remove HashMap::deleteAllKeys
371 https://bugs.webkit.org/show_bug.cgi?id=115806
373 Reviewed by Brent Fulgham.
375 This function was not used anywhere so let's get rid of it.
379 2013-05-08 Eric Carlson <eric.carlson@apple.com>
381 [Mac] Inband text tracks are not in track menu on Lion
382 https://bugs.webkit.org/show_bug.cgi?id=115740
384 Reviewed by Dean Jackson.
386 * wtf/Platform.h: AVFOUNDATION_TEXT_TRACK_SUPPORT -> AVFOUNDATION_MEDIA_SELECTION_GROUP
388 2013-05-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
390 HashTraits<RefPtr<P> >::peek should consider empty value
391 https://bugs.webkit.org/show_bug.cgi?id=115799
393 Reviewed by Darin Adler.
395 HashTraits<RefPtr<P> >::peek() should consider passing of empty value which is
396 raw pointer equal to '0', and return it right away instead of converting it to RefPtr
401 2013-05-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
403 Avoid unnecessary arguments copying inside GenericHashTraits methods
404 https://bugs.webkit.org/show_bug.cgi?id=115733
406 Reviewed by Darin Adler.
408 Before the change both WTF::GenericHashTraits::passOut and WTF::GenericHashTraits::passOut
409 used to return the given argument always by value and that caused implicit extra
410 copying of the argument. It was OK as long as argument type T was POD, as compiler
411 could optimize it, but in case T was a class having non-trivial copy constructor the
412 extra copying of the argument could not have been obviated.
414 The proposed solution is to provide overloaded functions that accept non-temporary
415 values and return them by reference thus avoiding extra copying.
417 The proposed solution made an impact on the size of libjavascriptcore_efl.so (EFL
418 release build): the size decreased from 6554992 bytes to 6554560 bytes.
421 (WTF::GenericHashTraits::passOut):
422 (WTF::GenericHashTraits::peek):
424 2013-05-07 Anders Carlsson <andersca@apple.com>
426 Remove AlwaysInline.h from WTF
427 https://bugs.webkit.org/show_bug.cgi?id=115727
429 Reviewed by Brent Fulgham.
431 The macro that used to be in AlwaysInline.h is now in Compiler.h so there's no reason
432 to keep AlwaysInline.h around anymore.
434 * WTF.vcproj/WTF.vcproj:
435 * WTF.vcxproj/WTF.vcxproj:
436 * WTF.vcxproj/WTF.vcxproj.filters:
437 * WTF.xcodeproj/project.pbxproj:
438 * wtf/AlwaysInline.h: Removed.
440 * wtf/FastMalloc.cpp:
443 * wtf/gobject/GRefPtr.h:
445 2013-05-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
447 HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
448 https://bugs.webkit.org/show_bug.cgi?id=115646
450 Reviewed by Darin Adler.
452 HashTraits<RefPtr<P> >::PeekType should be raw pointer so that we
453 can obviate multiple RefPtr copying when invoking HashMap<.., RefPtr>::get()
458 2013-05-06 Cosmin Truta <ctruta@blackberry.com>
460 Cherry-pick fixes to bignum from upstream
461 https://bugs.webkit.org/show_bug.cgi?id=115658
463 Reviewed by Darin Adler.
465 Cherry-picked the following change lists:
467 Fix bug in bignum implementation
468 http://codereview.chromium.org/13454019
470 Make VS2005 project files compile without errors
471 http://codereview.chromium.org/6286135
473 * wtf/dtoa/bignum.cc:
475 2013-05-06 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
477 Change HashTraits<RefPtr<P> >::PassOutType to PassRefPtr for better performance
478 https://bugs.webkit.org/show_bug.cgi?id=115410
480 Reviewed by Darin Adler.
482 The type HashTraits<RefPtr<P> >::PassOutType is PassRefPtr now to
483 avoid extra ref/unrefing on return from HashMap methods that transfer
484 ownership, such as take.
487 (WTF::IdentityHashTranslator::equal):
490 2013-05-05 Anders Carlsson <andersca@apple.com>
492 Remove Vector::prepend
493 https://bugs.webkit.org/show_bug.cgi?id=115618
495 Reviewed by Geoffrey Garen.
497 Given the performance characteristics of prepending something to a Vector, not having prepend
498 will hopefully make developers think about whether prepending is necessary at all. For example,
499 the functions in HexNumber.h were easily converted to using Vector::append and then Vector::reverse.
502 (WTF::appendUnsignedAsHex):
503 (WTF::appendUnsignedAsHexFixedSize):
507 2013-05-05 Anders Carlsson <andersca@apple.com>
509 Remove the Vector::append overload that takes a Vector
510 https://bugs.webkit.org/show_bug.cgi?id=115535
512 Reviewed by Andreas Kling.
514 The Vector::append overload that takes a Vector conflicts with rvalues in C++11, so remove it and
515 replace calls to it with calls to appendVector.
520 2013-05-04 Andreas Kling <akling@apple.com>
522 Unreviewed, rolling out r149563.
523 http://trac.webkit.org/changeset/149563
524 https://bugs.webkit.org/show_bug.cgi?id=115587
528 * wtf/text/StringImpl.h:
531 2013-05-04 Xan Lopez <xlopez@igalia.com>
533 No need to declare JSC::LLInt::Data as friend class of WTF::StringImpl
534 https://bugs.webkit.org/show_bug.cgi?id=115587
536 Reviewed by Andreas Kling.
538 No need to declare LLInt::Data as friend class of WTF::StringImpl,
539 it does not use any private method/data member of the latter.
541 * wtf/text/StringImpl.h:
544 2013-05-03 Brent Fulgham <bfulgham@webkit.org>
546 Make ThreadFunctionInvocation fast allocated.
547 https://bugs.webkit.org/show_bug.cgi?id=115552
549 Reviewed by Benjamin Poulain.
551 * wtf/ThreadFunctionInvocation.h:
552 (ThreadFunctionInvocation): Make Fast-allocated.
554 2013-05-03 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
556 Remove WTF::ListRefPtr class
557 https://bugs.webkit.org/show_bug.cgi?id=115516
559 Reviewed by Anders Carlsson.
561 ListRefPtr was used only by FontFamily class, besides it strongly depended
562 on FontFamily class semantics which made it non-generic and inappropriate
563 for being present inside WTF.
565 This patch removes WTF::ListRefPtr class and moves its the functionality
566 into FontFamily class.
568 * GNUmakefile.list.am:
570 * WTF.vcproj/WTF.vcproj:
571 * WTF.vcxproj/WTF.vcxproj:
572 * WTF.vcxproj/WTF.vcxproj.filters:
573 * WTF.xcodeproj/project.pbxproj:
574 * wtf/CMakeLists.txt:
577 * wtf/ListRefPtr.h: Removed.
579 2013-05-02 Brent Fulgham <bfulgham@webkit.org>
581 [WinCairo] Unreviewed build fix.
583 * WTF.vcxproj/WTF.vcxproj: Use WinCairo FeatureDefines
584 * WTF.vcxproj/WTF.vcxproj.filters: Use WinCairo FeatureDefines
585 * WTF.vcxproj/WTFDebugWinCairo.props: Added.
586 * WTF.vcxproj/WTFReleaseWinCairo.props: Added.
588 2013-05-02 Brent Fulgham <bfulgham@webkit.org>
590 [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html
591 https://bugs.webkit.org/show_bug.cgi?id=115130
593 Reviewed by Tim Horton.
595 Windows is suffering from mismatched allocation/deallocation
596 between the system allocator and fastMalloc/fastFree. By turning
597 off the global switch to fastMalloc, only classes specified to
598 honor fastMalloc/fastFree are affected, and other memory allocation
599 and freeing is done with consistent library calls.
601 * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for
604 2013-05-02 Eric Carlson <eric.carlson@apple.com>
606 Caption menu does not include in-band captions
607 https://bugs.webkit.org/show_bug.cgi?id=111934
609 Reviewed by Dean Jackson.
611 * wtf/Platform.h: Define HAVE_AVFOUNDATION_TEXT_TRACK_SUPPORT on 10.8 and higher. Added
612 HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT.
614 2013-05-02 Brent Fulgham <bfulgham@webkit.org>
616 Make BloomFilter fast allocated.
617 https://bugs.webkit.org/show_bug.cgi?id=115519
619 Reviewed by Benjamin Poulain.
622 (BloomFilter): Make BloomFilter Fast-allocated.
624 2013-05-01 Michael Saboff <msaboff@apple.com>
626 FastMalloc.cpp should use system defined page size instead of literal constant
627 https://bugs.webkit.org/show_bug.cgi?id=115502
629 Reviewed by Geoffrey Garen.
631 Updated kPageShift to be PAGE_SHIFT for Mac. Changed kMaxSize to be fixed at 32K.
632 Updated kNumClasses for 4K and 16K page sizes.
634 * wtf/FastMalloc.cpp:
635 kPageShift: Changed this to be PAGE_SHIFT on mac.
637 2013-05-01 Roger Fong <roger_fong@apple.com>
639 Set Path in makefile for AppleWin.
641 * WTF.vcxproj/WTF.make:
643 2013-05-01 Anders Carlsson <andersca@apple.com>
645 Add FunctionDispatcher class and make RunLoop derive from it
646 https://bugs.webkit.org/show_bug.cgi?id=115480
648 Reviewed by Sam Weinig.
650 Add FunctionDispatcher files.
653 * WTF.vcproj/WTF.vcproj:
654 * WTF.vcxproj/WTF.vcxproj:
655 * WTF.xcodeproj/project.pbxproj:
656 * wtf/FunctionDispatcher.cpp: Added.
657 (WTF::FunctionDispatcher::FunctionDispatcher):
658 (WTF::FunctionDispatcher::~FunctionDispatcher):
659 * wtf/FunctionDispatcher.h: Added.
661 2013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu>
663 [Qt][Win] Fix build after r149416.
664 https://bugs.webkit.org/show_bug.cgi?id=115474
666 Reviewed by Anders Carlsson.
669 * wtf/threads/BinarySemaphore.h:
672 2013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu>
674 [Qt] Unreviewed buildfix after r149416.
678 2013-04-30 Anders Carlsson <andersca@apple.com>
680 Remove the WebKit2 BinarySemaphore class
681 https://bugs.webkit.org/show_bug.cgi?id=115458
683 Reviewed by Benjamin Poulain.
686 Add BinarySemaphore forward declaration.
688 * wtf/threads/BinarySemaphore.h:
689 Add WTF_EXPORT_PRIVATE to declarations.
691 2013-04-30 Commit Queue <rniwa@webkit.org>
693 Unreviewed, rolling out r149408.
694 http://trac.webkit.org/changeset/149408
695 https://bugs.webkit.org/show_bug.cgi?id=115453
697 Broke Windows Build (Requested by bfulgham on #webkit).
701 2013-04-30 Brent Fulgham <bfulgham@webkit.org>
703 [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html
704 https://bugs.webkit.org/show_bug.cgi?id=115130
706 Reviewed by Tim Horton.
708 Windows is suffering from mismatched allocation/deallocation
709 between the system allocator and fastMalloc/fastFree. By turning
710 off the global switch to fastMalloc, only classes specified to
711 honor fastMalloc/fastFree are affected, and other memory allocation
712 and freeing is done with consistent library calls.
714 * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for
717 2013-04-30 Commit Queue <rniwa@webkit.org>
719 Unreviewed, rolling out r149349 and r149354.
720 http://trac.webkit.org/changeset/149349
721 http://trac.webkit.org/changeset/149354
722 https://bugs.webkit.org/show_bug.cgi?id=115444
724 The Thumb version of compileSoftModulo make invalid use of
725 registers (Requested by benjaminp on #webkit).
729 2013-04-30 Darin Adler <darin@apple.com>
731 [Mac] Make adoptNS faster on platforms without garbage collection by skipping a CFRetain/NSRelease pair
732 https://bugs.webkit.org/show_bug.cgi?id=115424
734 Reviewed by Eric Carlson.
737 (WTF::adoptNSReference): When OBJC_NO_GC is set, make this an empty function, because in that case
738 CFRetain and -[NSObject retain] are the same thing and there is no need to call CFRetain and
739 -[NSObject release] to adopt an Objective-C object.
741 2013-04-30 Anders Carlsson <andersca@apple.com>
743 String::isolatedCopy() can avoid a copy if the original is a temporary
744 https://bugs.webkit.org/show_bug.cgi?id=115425
746 Reviewed by Darin Adler.
749 Add WTF_COMPILER_SUPPORTS_CXX_REFERENCE_QUALIFIED_FUNCTIONS define.
751 * wtf/text/WTFString.cpp:
752 (WTF::String::isolatedCopy):
753 * wtf/text/WTFString.h:
754 If COMPILER_SUPPORTS(CXX_REFERENCE_QUALIFIED_FUNCTIONS) is true, add two overloads of String::isolatedCopy().
755 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
756 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,
757 and if it's refcount is 1), then we can just steal the StringImpl from the original and avoid a copy altogether.
759 2013-04-30 Zalan Bujtas <zalan@apple.com>
761 Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/
762 https://bugs.webkit.org/show_bug.cgi?id=111244
764 Reviewed by David Kilzer.
766 Enable performance.now() as a minimal subset of Web Timing API.
767 It returns DOMHighResTimeStamp, a monotonically increasing value representing the
768 number of milliseconds from the start of the navigation of the current document.
769 JS libraries use this API to check against the requestAnimationFrame() timestamp.
771 * wtf/FeatureDefines.h:
773 2013-04-29 Cosmin Truta <ctruta@blackberry.com>
775 [ARM] Expand the use of integer division
776 https://bugs.webkit.org/show_bug.cgi?id=115138
778 Reviewed by Benjamin Poulain.
780 * wtf/Platform.h: Added ENABLE_ARM_INTEGER_DIV.
782 2013-04-29 Anders Carlsson <andersca@apple.com>
784 It should be an error to use adoptPtr with RefCounted subclasses
785 https://bugs.webkit.org/show_bug.cgi?id=115389
787 Reviewed by Benjamin Poulain.
793 2013-04-29 Patrick Gansterer <paroga@webkit.org>
795 [WIN] Add workaround for UNUSED_PARAM()
796 https://bugs.webkit.org/show_bug.cgi?id=115350
798 Reviewed by Andreas Kling.
800 r147882 added an workaround for the MSVC compiler on Windows CE.
801 Extend this workaround to whole MSVC compiler, since the same
802 problem occurs with the Visual Studio 10 compiler too.
806 2013-04-29 Patrick Gansterer <paroga@webkit.org>
808 [WIN] Add WTF_USE_IMLANG_FONT_LINK2
809 https://bugs.webkit.org/show_bug.cgi?id=115198
811 Reviewed by Andreas Kling.
815 2013-04-29 Patrick Gansterer <paroga@webkit.org>
817 Define USE(ICU_UNICODE) if USE(WCHAR_UNICODE) is false
818 https://bugs.webkit.org/show_bug.cgi?id=115349
820 Reviewed by Andreas Kling.
822 Since we support only ICU and WCHAR as Unicode backend (ICU is the default)
823 automatically use ICU if WCHAR was not selected via compiler defines.
827 2013-04-29 Patrick Gansterer <paroga@webkit.org>
829 Build fix for WinCE after r148888 and r149097
830 https://bugs.webkit.org/show_bug.cgi?id=115168
832 Reviewed by Anders Carlsson.
834 When using compiler intrinsics on Windows CE the compiler complains
835 about wrong linkage specification of replaced CRT functions defined
836 in math.h. This is because the compiler has intrinsics for this
837 functions defined, and requires them to have extern "C" linkage.
840 (wtf_atan2): Added extern "C" to function signature.
844 2013-04-29 Carlos Garcia Campos <cgarcia@igalia.com>
846 Unreviewed. Fix make distcheck.
848 * GNUmakefile.list.am: Add missing header file to compilation.
850 2013-04-27 Darin Adler <darin@apple.com>
852 Move from constructor and member function adoptCF/NS to free function adoptCF/NS.
853 https://bugs.webkit.org/show_bug.cgi?id=115307
855 Reviewed by Geoffrey Garen.
857 * wtf/RunLoopTimerCF.cpp:
858 (WTF::RunLoopTimerBase::start):
859 * wtf/SchedulePair.h:
860 (WTF::SchedulePair::SchedulePair):
861 * wtf/SchedulePairMac.mm:
862 (WTF::SchedulePair::SchedulePair):
863 * wtf/unicode/icu/CollatorICU.cpp:
864 (WTF::Collator::userDefault):
865 Use adoptCF free function.
867 2013-04-26 Geoffrey Garen <ggaren@apple.com>
869 Filled out more cases of branch folding in bytecode when emitting expressions into a branching context
870 https://bugs.webkit.org/show_bug.cgi?id=115057
872 Reviewed by Filip Pizlo.
874 Added a helper constructor for TriState so clients can make one without
875 branching or making assumptions about the integer values of TriStates.
881 2013-04-26 Roger Fong <roger_fong@apple.com>
883 Make Apple Windows VS2010 build results into and get dependencies from __32 suffixed folders.
884 Make the DebugSuffix configuration use _debug dependencies.
886 * WTF.vcxproj/WTF.make:
887 * WTF.vcxproj/WTF.vcxproj:
888 * WTF.vcxproj/WTFCommon.props:
889 * WTF.vcxproj/WTFDebug.props:
890 * WTF.vcxproj/WTFGenerated.make:
891 * WTF.vcxproj/WTFGenerated.vcxproj:
892 * WTF.vcxproj/WTFGeneratedCommon.props:
893 * WTF.vcxproj/WTFGeneratedDebug.props:
894 * WTF.vcxproj/WTFGeneratedProduction.props:
895 * WTF.vcxproj/WTFGeneratedRelease.props:
896 * WTF.vcxproj/WTFProduction.props:
897 * WTF.vcxproj/WTFRelease.props:
898 * WTF.vcxproj/build-generated-files.sh:
899 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
900 (react_to_vsprops_changes):
902 2013-04-26 Martin Robinson <mrobinson@igalia.com>
904 Remove the remaining Skia #ifdefs
905 https://bugs.webkit.org/show_bug.cgi?id=114886
907 Reviewed by Benjamin Poulain.
911 2013-04-26 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
913 Add move semantics to RefPtr
914 https://bugs.webkit.org/show_bug.cgi?id=115033
916 Reviewed by Anders Carlsson.
918 Add move constructors and move assignment operators to RefPtr when
919 COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES).
920 This obviates unnecessary reffing/ureffing when RefPtr is created
921 or assigned from rvalue references.
925 (WTF::RefPtr::RefPtr):
926 (WTF::RefPtr::operator=):
928 2013-04-26 Andreas Kling <akling@apple.com>
930 Remove wxWebKit from WTF.
931 <http://webkit.org/b/115249>
933 Reviewed by Antti Koivisto.
936 * wtf/ArrayBufferView.h:
938 * wtf/CurrentTime.cpp:
939 * wtf/DisallowCType.h:
940 * wtf/ExportMacros.h:
941 * wtf/FeatureDefines.h:
943 * wtf/text/WTFString.h:
945 * wtf/wx/MainThreadWx.cpp: Removed.
946 * wtf/wx/StringWx.cpp: Removed.
948 2013-04-25 Filip Pizlo <fpizlo@apple.com>
950 Unreviewed, roll out http://trac.webkit.org/changeset/148999
951 It broke http://kripken.github.io/ammo.js/examples/new/ammo.html
955 2013-04-25 Oliver Hunt <oliver@apple.com>
959 * wtf/StackBounds.cpp:
960 (WTF::StackBounds::initialize):
962 2013-04-25 Oliver Hunt <oliver@apple.com>
964 Stack guards are too conservative
965 https://bugs.webkit.org/show_bug.cgi?id=115147
967 Reviewed by Mark Hahnenberg.
969 Use getrlimit on darwin to get the stack size for the main thread.
971 * wtf/StackBounds.cpp:
972 (WTF::StackBounds::initialize):
974 2013-04-25 Andreas Kling <akling@apple.com>
976 Remove ENABLE(PARSED_STYLE_SHEET_CACHING) and make it always-on.
978 Rubber-stamped by Anders Koivisto.
980 * wtf/FeatureDefines.h:
982 2013-04-25 peavo@outlook.com <peavo@outlook.com>
984 [Windows] Compile fix.
985 https://bugs.webkit.org/show_bug.cgi?id=115170
987 Reviewed by Filip Pizlo.
989 Forward declare function, instead of including intrin.h.
993 2013-04-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
995 Use std::move in AtomicString
996 https://bugs.webkit.org/show_bug.cgi?id=115102
998 Reviewed by Anders Carlsson.
1000 Use std::move in AtomicString instead of direct casting to rvalue references.
1002 * wtf/text/AtomicString.h:
1004 (WTF::AtomicString::AtomicString):
1005 (WTF::AtomicString::operator=):
1007 2013-04-25 Patrick Gansterer <paroga@webkit.org>
1009 Unreviewed WinCE build fix after r148888.
1011 * wtf/Atomics.h: WinCE version of intrin.h is called cmnintrin.h.
1013 2013-04-24 Roger Fong <roger_fong@apple.com>
1015 Have VS2010 WebKit solution look in WebKit_Libraries/lib32 for dependencies.
1017 * WTF.vcxproj/build-generated-files.sh:
1019 2013-04-24 Benjamin Poulain <benjamin@webkit.org>
1021 Use post-branch store for RefCountedBase::derefBase
1022 https://bugs.webkit.org/show_bug.cgi?id=115078
1024 Reviewed by Andreas Kling.
1027 (WTF::RefCountedBase::derefBase): This makes the assembly easier to follow.
1029 2013-04-23 Geoffrey Garen <ggaren@apple.com>
1031 Filled out more cases of branch folding in bytecode when emitting expressions into a branching context
1032 https://bugs.webkit.org/show_bug.cgi?id=115057
1034 Reviewed by Filip Pizlo.
1036 Added a helper constructor for TriState so clients can make one without
1037 branching or making assumptions about the integer values of TriStates.
1043 2013-04-23 Roger Fong <roger_fong@apple.com>
1047 * WTF.vcproj/WTF.vcproj:
1049 2013-04-23 Benjamin Poulain <bpoulain@apple.com>
1051 Remove unused code of RefCounted after chromium removal
1052 https://bugs.webkit.org/show_bug.cgi?id=115009
1054 Reviewed by Ryosuke Niwa.
1057 (WTF::RefCountedBase::refCount):
1059 It looks like addressOfCount() is no longer needed.
1060 Also change the type back to unsigned as it make more sense.
1062 2013-04-23 David Kilzer <ddkilzer@apple.com>
1064 RetainPtr.h should compile with -Wshorten-64-to-32
1065 <http://webkit.org/b/115047>
1067 Reviewed by Anders Carlsson.
1069 Fixes the following warning:
1071 RetainPtr.h:318:20: error: implicit conversion loses integer precision: 'CFHashCode' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
1072 return CFHash(o.get());
1073 ~~~~~~ ^~~~~~~~~~~~~~~
1076 (WTF::RetainPtrObjectHash::hash): Cast return value of CFHash()
1077 to unsigned. This has no effect on 32-bit architectures, but
1078 takes the lower 32-bits of the CFHashCode (unsigned long) on
1079 64-bit architectures, which is what happens implicitly now.
1081 2013-04-22 Patrick Gansterer <paroga@webkit.org>
1083 [CMake] Move NullPtr.cpp from PlatformWinCE.cmake to CMakeLists.txt
1084 https://bugs.webkit.org/show_bug.cgi?id=114557
1086 Reviewed by Laszlo Gombos.
1088 This file is not specific to Windwos CE. Move it the the general
1089 CMakeLists.txt so other ports can use it to. It does not affect
1090 ports which do not need it, since it contains a preprocessor guard.
1092 * wtf/CMakeLists.txt:
1093 * wtf/PlatformWinCE.cmake:
1095 2013-04-22 Benjamin Poulain <benjamin@webkit.org>
1097 Remove the memory instrumentation code
1098 https://bugs.webkit.org/show_bug.cgi?id=114931
1100 Reviewed by Andreas Kling.
1102 On Mac x86_64, the code removal cause the binary to be
1105 * GNUmakefile.list.am:
1107 * WTF.vcproj/WTF.vcproj:
1108 * WTF.vcxproj/WTF.vcxproj:
1109 * WTF.vcxproj/WTF.vcxproj.filters:
1110 * WTF.xcodeproj/project.pbxproj:
1111 * wtf/CMakeLists.txt:
1113 * wtf/ListHashSet.h:
1115 (ListHashSetNodeAllocator):
1116 (WTF::ListHashSetNodeAllocator::pool):
1117 (WTF::ListHashSetNodeAllocator::pastPool):
1118 * wtf/MemoryInstrumentation.cpp: Removed.
1119 * wtf/MemoryInstrumentation.h: Removed.
1120 * wtf/MemoryInstrumentationArrayBufferView.h: Removed.
1121 * wtf/MemoryInstrumentationHashCountedSet.h: Removed.
1122 * wtf/MemoryInstrumentationHashMap.h: Removed.
1123 * wtf/MemoryInstrumentationHashSet.h: Removed.
1124 * wtf/MemoryInstrumentationListHashSet.h: Removed.
1125 * wtf/MemoryInstrumentationSequence.h: Removed.
1126 * wtf/MemoryInstrumentationString.h: Removed.
1127 * wtf/MemoryInstrumentationVector.h: Removed.
1128 * wtf/MemoryObjectInfo.h: Removed.
1129 * wtf/text/AtomicString.h:
1130 * wtf/text/StringImpl.h:
1131 (WTF::StringImpl::isASCIILiteral):
1132 * wtf/text/WTFString.h:
1134 2013-04-22 David Kilzer <ddkilzer@apple.com>
1136 StringImpl.h should compile with -Wshorten-64-to-32
1137 <http://webkit.org/b/114970>
1139 Reviewed by Darin Adler.
1141 Fixes the following warnings with -Wshorten-64-to-32:
1143 StringImpl.h:317:25: error: implicit conversion loses integer precision: 'uintptr_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
1144 unsigned hash = reinterpret_cast<uintptr_t>(this);
1145 ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1147 * wtf/text/StringImpl.h:
1148 (WTF::StringImpl::StringImpl): Add static_cast<uint32_t>() to
1149 formalize taking the lower 32-bits of the pointer value on
1150 64-bit architectures.
1152 2013-04-22 Andreas Kling <akling@apple.com>
1154 Shrink baseline size of WTF::Vector on 64-bit by switching to unsigned capacity and size.
1155 <http://webkit.org/b/97268>
1156 <rdar://problem/12376519>
1158 Reviewed by Sam Weinig.
1160 Shrink Vector by 8 bytes on 64-bit by using 32-bit capacity and size.
1161 Vector now inherits from VectorBuffer instead of having a VectorBuffer member;
1162 this is necessary for m_size to fall into the padding after the base class members.
1164 The WTF::Vector API still uses size_t.
1166 Based on Blink r148313 by <cevans@chromium.org>.
1168 * wtf/SizeLimits.cpp:
1170 (WTF::VectorBufferBase::allocateBuffer):
1171 (WTF::VectorBufferBase::tryAllocateBuffer):
1173 (WTF::VectorBuffer::shouldReallocateBuffer):
1175 (WTF::Vector::Vector):
1176 (WTF::Vector::capacity):
1178 (WTF::Vector::data):
1179 (WTF::Vector::swap):
1181 (WTF::::reserveCapacity):
1182 (WTF::::tryReserveCapacity):
1183 (WTF::::reserveInitialCapacity):
1184 (WTF::::shrinkCapacity):
1185 (WTF::::releaseBuffer):
1187 2013-04-21 Filip Pizlo <fpizlo@apple.com>
1189 Memory barrier support should also ensure that we always do a compiler fence
1190 https://bugs.webkit.org/show_bug.cgi?id=114934
1192 Reviewed by Michael Saboff.
1194 This is a cherry-pick merge of the WTF part of r148836 from the dfgFourthTier
1195 branch. It fixes a memory ordering bug that is likely asymptomatic, but
1196 nonetheless real: TCSpinLock expects that using a memoryBarrierBeforeUnlock()
1197 prior to setting lockword_ to 0 will ensure that the assignment to lockword_
1198 won't get floated above any of the stores in the critical section. While that
1199 memory barrier does indeed do the right thing on ARM, it doesn't do the right
1200 thing on other architectures: it turns into empty code that the compiler blows
1201 away, which is fine for the hardware since X86 won't reorder that store - but
1202 it's not fine for the compiler, which may still do its own reorderings.
1204 The WTF part of r148836 fixes this by using a compiler fence: an empty asm
1205 volatile block that is marked as clobbering memory.
1207 Instead of doing a separate surgical fix in trunk, I decided to merge the
1208 whole WTF change over, to make merging easier in the future.
1210 Performance testing of this change in dfgFourthTier showed no regression.
1213 (WTF::compilerFence):
1215 (WTF::armV7_dmb_st):
1216 (WTF::loadLoadFence):
1217 (WTF::loadStoreFence):
1218 (WTF::storeLoadFence):
1219 (WTF::storeStoreFence):
1220 (WTF::memoryBarrierAfterLock):
1221 (WTF::memoryBarrierBeforeUnlock):
1224 2013-04-22 David Kilzer <ddkilzer@apple.com>
1226 WTF::AtomicString::find() should take unsigned 'start' argument
1227 <http://webkit.org/b/114958>
1229 Reviewed by Darin Adler.
1231 Fixes the following warnings with -Wshorten-64-to-32:
1233 AtomicString.h:113:76: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
1234 size_t find(UChar c, size_t start = 0) const { return m_string.find(c, start); }
1236 AtomicString.h:115:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
1237 { return m_string.find(s, start, caseSentitive); }
1239 AtomicString.h:117:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
1240 { return m_string.find(s, start, caseSentitive); }
1243 * wtf/text/AtomicString.h:
1244 (WTF::AtomicString::find): Change type of 'start' argument from
1247 2013-04-21 Benjamin Poulain <benjamin@webkit.org>
1249 Improve StringImpl code density for older ARM hardware
1250 https://bugs.webkit.org/show_bug.cgi?id=114898
1252 Reviewed by Geoffrey Garen.
1254 Reduce the number of instructions needed for StringImpl::deref
1255 on older ARM hardware.
1257 The extra indirection should have a negligible impact on x86_64.
1259 * wtf/text/StringImpl.cpp:
1260 (WTF::StringImpl::destroy):
1261 * wtf/text/StringImpl.h:
1263 (WTF::StringImpl::deref):
1265 2013-04-20 Allan Sandfeld Jensen <allan.jensen@digia.com>
1267 LLint should be able to use x87 instead of SSE for floating pointer
1268 https://bugs.webkit.org/show_bug.cgi?id=112239
1270 Reviewed by Filip Pizlo.
1272 Disable GTK workaround now that LLInt does not require SSE2.
1276 2013-04-19 Roger Fong <roger_fong@apple.com>
1278 Remove uses of WebKit_Source from AppleWin build in WTF.
1280 * WTF.vcxproj/WTF.make:
1281 * WTF.vcxproj/copy-files.cmd:
1282 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
1283 (react_to_vsprops_changes):
1284 (react_to_webkit1_interface_changes):
1286 2013-04-19 Benjamin Poulain <benjamin@webkit.org>
1288 Remove the declaration of MemoryObjectInfo from StringImpl
1289 https://bugs.webkit.org/show_bug.cgi?id=114788
1291 Reviewed by Andreas Kling.
1293 * wtf/text/StringImpl.h: The declaration is an other left over from chromium.
1295 2013-04-19 Benjamin Poulain <benjamin@webkit.org>
1297 Make StringImpl::cost const
1298 https://bugs.webkit.org/show_bug.cgi?id=114790
1300 Reviewed by Andreas Kling.
1302 * wtf/text/StringImpl.h:
1303 (WTF::StringImpl::cost):
1305 2013-04-19 Roger Fong <roger_fong@apple.com>
1307 Unreviewed. WebKit_Source is incorrectly set.
1309 * WTF.vcxproj/WTF.make:
1311 2013-04-19 Alberto Garcia <agarcia@igalia.com>
1313 OSAllocatorPosix: fix build warnings about unused parameters in QNX
1314 https://bugs.webkit.org/show_bug.cgi?id=114859
1316 Reviewed by Carlos Garcia Campos.
1318 * wtf/OSAllocatorPosix.cpp:
1319 (WTF::OSAllocator::reserveUncommitted):
1321 2013-04-19 Dan Beam <dbeam@chromium.org>
1323 Remove unmaintained feature REQUEST_AUTOCOMPLETE
1324 https://bugs.webkit.org/show_bug.cgi?id=114846
1326 Reviewed by Kent Tamura.
1328 * wtf/FeatureDefines.h: Remove REQUEST_AUTOCOMPLETE as a feature definition.
1330 2013-04-18 Zoltan Arvai <zarvai@inf.u-szeged.hu>
1332 Speculative build fix for Qt Mountain Lion Release after r148639.
1333 https://bugs.webkit.org/show_bug.cgi?id=114793
1335 Reviewed by Michael Saboff.
1337 * wtf/CurrentTime.cpp:
1339 2013-04-17 Mark Lam <mark.lam@apple.com>
1341 Added currentCPUTime() and currentCPUTimeMS().
1342 https://bugs.webkit.org/show_bug.cgi?id=114577.
1344 Reviewed by Geoffrey Garen.
1346 The currentCPUTime() implementation came from the old TimeoutChecker.cpp.
1348 * wtf/CurrentTime.cpp:
1349 (WTF::currentCPUTime):
1350 (WTF::currentCPUTimeMS):
1351 * wtf/CurrentTime.h:
1353 2013-04-17 Ryosuke Niwa <rniwa@webkit.org>
1355 REGRESSION(r148584): WebKit nightly builds don't load any page
1356 https://bugs.webkit.org/show_bug.cgi?id=114752
1358 Reviewed by Anders Carlsson.
1360 We can't use C++ style (//) comments in Platform.h because WebKit2/DerivedSource.make doesn't know
1361 how to strip it to be merged with *.sb.in to generate *.sb files. Specifically, we have:
1363 # Some versions of clang incorrectly strip out // comments in c89 code.
1364 # Use -traditional as a workaround, but only when needed since that causes
1365 # other problems with later versions of clang.
1366 ifeq ($(shell echo '//x' | $(CC) -E -P -x c -std=c89 - | grep x),)
1367 TEXT_PREPROCESSOR_FLAGS=-E -P -x c -traditional -w
1369 TEXT_PREPROCESSOR_FLAGS=-E -P -x c -std=c89 -w
1374 2013-04-17 Brent Fulgham <bfulgham@webkit.org>
1376 [Windows, WinCairo] Remove Include Settings for Pthreads from WTF
1377 https://bugs.webkit.org/show_bug.cgi?id=114694
1379 Reviewed by Ryosuke Niwa.
1381 * WTF.vcproj/WTFCommon.vsprops: Remove pthread search path.
1382 * WTF.vcxproj/WTFCommon.props: Remove pthread search path.
1383 * wtf/FastMalloc.cpp: Guard pthread.h include for non-pthread
1386 2013-04-16 Oliver Hunt <oliver@apple.com>
1388 Harden FastMalloc against partial pointer overflows
1389 https://bugs.webkit.org/show_bug.cgi?id=114716
1391 Reviewed by Gavin Barraclough.
1393 Bite the bullet and perform object alignment checks on free.
1394 malloc/free micro benchmark shows a regression, but real
1395 benchmarks don't. There's a little code motion in this avoid
1396 taking too much of a performance hit. In addition to the
1397 alignment check we also validate the containing span as
1398 we've already taken the hit of finding it.
1400 * wtf/FastMalloc.cpp:
1401 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1403 2013-04-16 Sam Weinig <sam@webkit.org>
1405 Fix fallout after r148545.
1408 Move Platform defines that were incorrectly in WebCore, into Platform.h
1410 2013-04-15 Commit Queue <rniwa@webkit.org>
1412 Unreviewed, rolling out r148488.
1413 http://trac.webkit.org/changeset/148488
1414 https://bugs.webkit.org/show_bug.cgi?id=114660
1416 Roll back in r148462 since it was a false positive. (Requested
1417 by rniwa on #webkit).
1419 * wtf/FastMalloc.cpp:
1421 (WTF::setThreadHeap):
1422 (WTF::TCMalloc_ThreadCache::GetThreadHeap):
1423 (WTF::TCMalloc_ThreadCache::InitTSD):
1424 * wtf/ThreadSpecificWin.cpp:
1425 (WTF::destructorsList):
1426 (WTF::destructorsMutex):
1427 (WTF::threadSpecificKeyCreate):
1428 (WTF::threadSpecificKeyDelete):
1430 2013-04-15 Commit Queue <rniwa@webkit.org>
1432 Unreviewed, rolling out r148462.
1433 http://trac.webkit.org/changeset/148462
1434 https://bugs.webkit.org/show_bug.cgi?id=114658
1436 Broke Windows builds (Requested by rniwa on #webkit).
1438 * wtf/FastMalloc.cpp:
1440 (WTF::setThreadHeap):
1441 (WTF::TCMalloc_ThreadCache::GetThreadHeap):
1442 (WTF::TCMalloc_ThreadCache::InitTSD):
1443 * wtf/ThreadSpecificWin.cpp:
1444 (WTF::destructorsList):
1445 (WTF::destructorsMutex):
1446 (WTF::threadSpecificKeyCreate):
1447 (WTF::threadSpecificKeyDelete):
1449 2013-04-15 Julien Brianceau <jbrianceau@nds.com>
1451 LLInt SH4 backend implementation
1452 https://bugs.webkit.org/show_bug.cgi?id=112886
1454 Reviewed by Oliver Hunt.
1458 2013-04-15 Patrick Gansterer <paroga@webkit.org>
1460 [CMake] Add WTF_USE_*_UNICODE variables
1461 https://bugs.webkit.org/show_bug.cgi?id=114556
1463 Reviewed by Brent Fulgham.
1465 WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to
1466 reduce duplication in the platform specific CMake files.
1468 * wtf/CMakeLists.txt:
1469 * wtf/PlatformBlackBerry.cmake:
1470 * wtf/PlatformEfl.cmake:
1471 * wtf/PlatformWinCE.cmake:
1473 2013-04-15 Patrick Gansterer <paroga@webkit.org>
1475 [WIN] Remove remaining calls to pthread from WTF
1476 https://bugs.webkit.org/show_bug.cgi?id=114563
1478 Reviewed by Brent Fulgham.
1480 Replace pthread_key_create with threadSpecificKeyCreate and
1481 pthread_setspecific with threadSpecificSet from ThreadSpecific.h.
1482 These functions provide a windows-specific implementation for the pthread functions,
1483 but require that the thread has been created with WTF::createThread(),
1484 which is the case for all threads created within WebKit.
1485 To call this function from fastMalloc we must not call fastMalloc in them.
1486 To fulfill this constraint ThreadSpecificWin will allocated its memory through the
1487 original malloc implementation and use the stack for local and static variables.
1488 Keep the Darwin implementation as it is, since it contains some performance tweaks.
1490 * wtf/FastMalloc.cpp:
1491 * wtf/ThreadSpecificWin.cpp:
1492 (WTF::destructorsList):
1493 (WTF::destructorsMutex):
1494 (WTF::threadSpecificKeyCreate):
1495 (WTF::threadSpecificKeyDelete):
1497 2013-04-14 Oliver Hunt <oliver@apple.com>
1499 Try to fix non-apple windows builds
1503 2013-04-14 David Kilzer <ddkilzer@apple.com>
1505 Add EnumClass.h to project files
1506 <http://webkit.org/b/114582>
1508 Rubber-stamped by Dan Bernstein.
1510 * WTF.pro: Add EnumClass.h to project.
1511 * WTF.vcproj/WTF.vcproj: Ditto.
1512 * WTF.vcxproj/WTF.vcxproj: Ditto.
1513 * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
1514 * WTF.xcodeproj/project.pbxproj: Ditto.
1516 2013-04-12 Oliver Hunt <oliver@apple.com>
1518 Apologies to all, I have no idea what happened to cause this change.
1522 2013-04-12 Oliver Hunt <oliver@apple.com>
1524 [Qt][Win] r148257 broke the build
1525 https://bugs.webkit.org/show_bug.cgi?id=114512
1531 2013-04-11 Oliver Hunt <oliver@apple.com>
1533 Add more type validation to debug builds
1534 https://bugs.webkit.org/show_bug.cgi?id=114478
1536 Reviewed by Mark Hahnenberg.
1538 Add BINDING_VALIDATION flag and make RELEASE_ASSERT use UNLIKELY.
1543 2013-04-10 Thiago Marcos P. Santos <thiago.santos@intel.com>
1545 [WTF] Get rid of truncated thread name warnings for non-Windows platforms
1546 https://bugs.webkit.org/show_bug.cgi?id=114266
1548 Reviewed by Ryosuke Niwa.
1550 Hide the annoying message from ports that are not really interested
1553 * wtf/Threading.cpp:
1554 (WTF::createThread):
1556 2013-04-10 Benjamin Poulain <bpoulain@apple.com>
1558 Mass remove all the empty directories
1560 Rubberstamped by Ryosuke Niwa.
1562 * wtf/qt/compat: Removed.
1563 * wtf/unicode/glib: Removed.
1564 * wtf/unicode/qt4: Removed.
1565 * wtf/unicode/wince: Removed.
1567 2013-04-08 Anders Carlsson <andersca@apple.com>
1569 Remove unneeded headers from FrameLoader.h
1570 https://bugs.webkit.org/show_bug.cgi?id=114223
1572 Reviewed by Geoffrey Garen.
1578 Don't include DataLog.h unless DUMP_HASHTABLE_STATS_PER_TABLE is 1.
1580 2013-04-10 Laszlo Gombos <l.gombos@samsung.com>
1582 Remove ENABLE_3D_PLUGIN
1583 https://bugs.webkit.org/show_bug.cgi?id=108002
1585 Reviewed by Antti Koivisto.
1587 Remove ENABLE_3D_PLUGIN, it was only used by Chromium.
1589 * wtf/FeatureDefines.h:
1591 2013-04-09 Patrick Gansterer <paroga@webkit.org>
1593 [CMake] Remove conditional source file lists in WTF
1594 https://bugs.webkit.org/show_bug.cgi?id=114250
1596 Reviewed by Laszlo Gombos.
1598 Use the #ifdef in the source file instead of conditional adding
1599 files to the list of source files. This allows us to remove the
1600 information of enabled features from CMake in next step.
1602 * wtf/CMakeLists.txt:
1604 2013-04-08 Ryosuke Niwa <rniwa@webkit.org>
1606 Remove WTF.gyp/WTF.gypi
1607 https://bugs.webkit.org/show_bug.cgi?id=114237
1609 Reviewed by Maciej Stachowiak.
1612 * WTF.gyp/.gitignore: Removed.
1613 * WTF.gyp/WTF.gyp: Removed.
1614 * WTF.gypi: Removed.
1616 2013-04-08 Benjamin Poulain <benjamin@webkit.org>
1618 Remove HTML Notification
1619 https://bugs.webkit.org/show_bug.cgi?id=114231
1621 Reviewed by Ryosuke Niwa.
1623 * wtf/FeatureDefines.h:
1625 2013-04-08 Benjamin Poulain <benjamin@webkit.org>
1627 wtf/dtoa/* uses a confusing name to reference its buffers
1628 https://bugs.webkit.org/show_bug.cgi?id=109709
1630 Reviewed by Darin Adler.
1632 The data structure Vector in wtf/dtoa has nothing to do with a traditional
1633 vector, is it just a pointer and the length of the pointed buffer.
1635 Rename it to BufferReference to avoid mistakes.
1637 * wtf/dtoa/bignum-dtoa.cc:
1638 * wtf/dtoa/bignum-dtoa.h:
1639 * wtf/dtoa/bignum.cc:
1640 * wtf/dtoa/bignum.h:
1642 * wtf/dtoa/double-conversion.cc:
1643 * wtf/dtoa/fast-dtoa.cc:
1644 * wtf/dtoa/fast-dtoa.h:
1645 * wtf/dtoa/fixed-dtoa.cc:
1646 * wtf/dtoa/fixed-dtoa.h:
1647 (double_conversion):
1648 * wtf/dtoa/strtod.cc:
1649 * wtf/dtoa/strtod.h:
1650 (double_conversion):
1652 (double_conversion):
1653 (WTF::double_conversion::BufferReference::BufferReference):
1654 (WTF::double_conversion::BufferReference::SubBufferReference):
1657 2013-04-08 Alberto Garcia <agarcia@igalia.com>
1659 [BlackBerry] MathExtras: macros defined in math.h conflict with the real functions
1660 https://bugs.webkit.org/show_bug.cgi?id=112683
1662 Reviewed by Darin Adler.
1664 After calls to signbit and friends were prefixed with std:: in
1665 r143232, the BlackBerry port no longer compiles.
1667 The solution is to get rid of the macros defined in math.h and use
1668 the real functions instead.
1672 2013-04-08 Max Vujovic <mvujovic@adobe.com>
1674 REGRESSION (r147502): Animations of CA filters broken
1675 https://bugs.webkit.org/show_bug.cgi?id=114067
1677 Reviewed by Dean Jackson.
1679 Revert r147502 [1] because it broke CA filter animations.
1681 [1]: http://trac.webkit.org/changeset/147502
1685 2013-04-08 Andreas Kling <akling@apple.com>
1687 REGRESSION(r147894): Broke WTFReportBacktrace() on Mac.
1688 <http://webkit.org/b/114174>
1690 Reviewed by Anders Carlsson.
1692 An #elif !OS(ANDROID) block was erroneously removed, turn it into an #else instead since
1693 that path will still be taken for OS(DARWIN).
1695 * wtf/Assertions.cpp:
1697 2013-04-08 Oliver Hunt <oliver@apple.com>
1701 Remove unnecessary include of <wtf/Forward.h> from Vector.h
1705 2013-04-08 Csaba Osztrogonác <ossy@webkit.org>
1707 Unreviewed trivial buildfix after r147799.
1709 Add an ifdef guard to ensure Qt uses its own monotonicallyIncreasingTime()
1710 implemenation instead of the GLIB based one.
1712 * wtf/CurrentTime.cpp:
1715 2013-04-07 Benjamin Poulain <benjamin@webkit.org>
1717 Remove the android code from WebKit Template Framework
1718 https://bugs.webkit.org/show_bug.cgi?id=114138
1720 Reviewed by Dirk Schulze.
1722 * wtf/Assertions.cpp:
1726 * wtf/ThreadIdentifierDataPthreads.cpp:
1728 2013-04-07 Oliver Hunt <oliver@apple.com>
1730 Add bounds checking for WTF::Vector::operator[]
1731 https://bugs.webkit.org/show_bug.cgi?id=89600
1733 Reviewed by Filip Pizlo.
1735 Add a template parameter to Vector<> that controls whether
1736 bounds checking is performed in release builds or not.
1737 Defaults to crashing on overflow.
1745 (WTF::Vector::removeLast):
1750 (WTF::::reverseFind):
1752 (WTF::::appendRange):
1753 (WTF::::expandCapacity):
1754 (WTF::::tryExpandCapacity):
1758 (WTF::::reserveCapacity):
1759 (WTF::::tryReserveCapacity):
1760 (WTF::::reserveInitialCapacity):
1761 (WTF::::shrinkCapacity):
1764 (WTF::::appendSlowCase):
1765 (WTF::::uncheckedAppend):
1766 (WTF::::appendVector):
1771 (WTF::::releaseBuffer):
1772 (WTF::::checkConsistency):
1773 (WTF::deleteAllValues):
1778 2013-04-07 Patrick Gansterer <paroga@webkit.org>
1780 [WIN] Fix problems with export macros of AutodrainedPool
1781 https://bugs.webkit.org/show_bug.cgi?id=114132
1783 Reviewed by Geoffrey Garen.
1785 Exporting an inline function results in an error with the MS compiler.
1787 * wtf/AutodrainedPool.h:
1789 (WTF::AutodrainedPool::AutodrainedPool):
1790 (WTF::AutodrainedPool::~AutodrainedPool):
1791 (WTF::AutodrainedPool::cycle):
1793 2013-04-07 Patrick Gansterer <paroga@webkit.org>
1795 [WinCE] Add workaround for UNUSED_PARAM()
1796 https://bugs.webkit.org/show_bug.cgi?id=113440
1798 Reviewed by Benjamin Poulain.
1800 The MSVC compiler for Windwos CE throws an error when
1801 an function parameter is passed to UNUSED_PARAM() and
1802 its type is only forward declared.
1804 * wtf/UnusedParam.h:
1806 2013-04-07 Patrick Gansterer <paroga@webkit.org>
1808 Do not check if WTF_ARM_ARCH_VERSION is defined in WTF_ARM_ARCH_AT_LEAST macro
1809 https://bugs.webkit.org/show_bug.cgi?id=114127
1811 Reviewed by Benjamin Poulain.
1813 Platform.h defines WTF_ARM_ARCH_VERSION for CPU(ARM) always and removing
1814 the check works around a bug in older Microsoft compiler versions.
1818 2013-04-07 David Kilzer <ddkilzer@apple.com>
1820 Remove the rest of SVG_DOM_OBJC_BINDINGS
1821 <http://webkit.org/b/114112>
1823 Reviewed by Geoffrey Garen.
1825 * wtf/FeatureDefines.h:
1826 - Remove ENABLE_SVG_DOM_OBJC_BINDINGS macro.
1828 2013-04-06 Geoffrey Garen <ggaren@apple.com>
1830 Removed v8 bindings hooks from IDL files
1831 https://bugs.webkit.org/show_bug.cgi?id=114091
1833 Reviewed by Anders Carlsson and Sam Weinig.
1835 * wtf/ArrayBuffer.h:
1837 (WTF::ArrayBufferContents::ArrayBufferContents):
1838 (WTF::ArrayBufferContents::transfer):
1839 (ArrayBufferContents):
1841 (WTF::ArrayBufferContents::~ArrayBufferContents):
1844 2013-04-05 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
1846 [GTK] Change from PLATFORM(GTK) to USE(GLIB) in WTF/CurrentTime.cpp
1847 https://bugs.webkit.org/show_bug.cgi?id=114061
1849 Reviewed by Gustavo Noronha Silva.
1851 Now other ports using GLib can use the correct implementation
1852 and not the fallback one without adding any other PLATFORM guards
1855 * wtf/CurrentTime.cpp:
1858 2013-04-05 Geoffrey Garen <ggaren@apple.com>
1860 Made USE(JSC) unconditional
1861 https://bugs.webkit.org/show_bug.cgi?id=114058
1863 Reviewed by Anders Carlsson.
1865 * wtf/ThreadRestrictionVerifier.h:
1867 * wtf/WTFThreadData.cpp:
1868 (WTF::WTFThreadData::WTFThreadData):
1869 (WTF::WTFThreadData::~WTFThreadData):
1870 * wtf/WTFThreadData.h:
1872 * wtf/text/StringImpl.cpp:
1873 (WTF::StringImpl::~StringImpl):
1875 2013-04-05 Roger Fong <roger_fong@apple.com>
1877 More VS2010 solution makefile fixes.
1878 <rdar://problem/13588964>
1880 * WTF.vcxproj/WTF.make:
1882 2013-04-05 Anders Carlsson <andersca@apple.com>
1884 Remove more dead Chromium code from WTF
1885 https://bugs.webkit.org/show_bug.cgi?id=114037
1887 Reviewed by Allan Sandfeld Jensen.
1889 * wtf/CurrentTime.cpp:
1891 * wtf/DisallowCType.h:
1892 * wtf/ExportMacros.h:
1893 * wtf/MainThread.cpp:
1896 2013-04-05 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
1898 [EFL] Disable GLOBAL_FAST_MALLOC_NEW by default.
1899 https://bugs.webkit.org/show_bug.cgi?id=114031
1901 Reviewed by Alexis Menard.
1903 Follow what some other ports already do and avoid globally overriding
1904 the `new' and `delete' operators with the ones in FastMalloc.
1906 In many cases, third-party or client code allocates memory with
1907 standard library calls but the memory gets deleted by FastMalloc,
1908 causing a crash. The reverse (ie. memory being allocated by FastMalloc
1909 and freed by the system libraries) is also possible.
1911 Commits 135666 and 121018 provide more information about this, as well
1912 as comment 6 in bug 89358.
1916 2013-04-05 Benjamin Poulain <bpoulain@apple.com>
1918 Remove WTFURL from WebKit
1919 https://bugs.webkit.org/show_bug.cgi?id=113994
1921 Reviewed by Ryosuke Niwa.
1923 Painful, but that is for the best now :(
1925 * GNUmakefile.list.am:
1926 * WTF.xcodeproj/project.pbxproj:
1927 * wtf/MemoryInstrumentationParsedURL.h: Removed.
1928 * wtf/url/api/ParsedURL.cpp: Removed.
1929 * wtf/url/api/ParsedURL.h: Removed.
1930 * wtf/url/api/URLBuffer.h: Removed.
1931 * wtf/url/api/URLQueryCharsetConverter.h: Removed.
1932 * wtf/url/api/URLString.cpp: Removed.
1933 * wtf/url/api/URLString.h: Removed.
1934 * wtf/url/src/RawURLBuffer.h: Removed.
1935 * wtf/url/src/URLCanon.h: Removed.
1936 * wtf/url/src/URLCanonEtc.cpp: Removed.
1937 * wtf/url/src/URLCanonFilesystemurl.cpp: Removed.
1938 * wtf/url/src/URLCanonFileurl.cpp: Removed.
1939 * wtf/url/src/URLCanonHost.cpp: Removed.
1940 * wtf/url/src/URLCanonICU.cpp: Removed.
1941 * wtf/url/src/URLCanonIP.cpp: Removed.
1942 * wtf/url/src/URLCanonInternal.cpp: Removed.
1943 * wtf/url/src/URLCanonInternal.h: Removed.
1944 * wtf/url/src/URLCanonMailto.cpp: Removed.
1945 * wtf/url/src/URLCanonPath.cpp: Removed.
1946 * wtf/url/src/URLCanonPathurl.cpp: Removed.
1947 * wtf/url/src/URLCanonQuery.cpp: Removed.
1948 * wtf/url/src/URLCanonRelative.cpp: Removed.
1949 * wtf/url/src/URLCanonStdURL.cpp: Removed.
1950 * wtf/url/src/URLCharacterTypes.cpp: Removed.
1951 * wtf/url/src/URLCharacterTypes.h: Removed.
1952 * wtf/url/src/URLComponent.h: Removed.
1953 * wtf/url/src/URLFile.h: Removed.
1954 * wtf/url/src/URLParse.cpp: Removed.
1955 * wtf/url/src/URLParse.h: Removed.
1956 * wtf/url/src/URLParseFile.cpp: Removed.
1957 * wtf/url/src/URLParseInternal.h: Removed.
1958 * wtf/url/src/URLSegments.cpp: Removed.
1959 * wtf/url/src/URLSegments.h: Removed.
1960 * wtf/url/src/URLUtil.cpp: Removed.
1961 * wtf/url/src/URLUtil.h: Removed.
1962 * wtf/url/src/URLUtilInternal.h: Removed.
1964 2013-04-04 Geoffrey Garen <ggaren@apple.com>
1966 Nixed the defunct chromium folder from WTF
1967 https://bugs.webkit.org/show_bug.cgi?id=113992
1969 Reviewed by Ryosuke Niwa.
1971 * wtf/chromium: Removed.
1972 * wtf/chromium/ChromiumThreading.h: Removed.
1973 * wtf/chromium/MainThreadChromium.cpp: Removed.
1975 2013-04-04 Martin Robinson <mrobinson@igalia.com>
1977 [GTK] Remove the gyp build
1978 https://bugs.webkit.org/show_bug.cgi?id=113942
1980 Reviewed by Gustavo Noronha Silva.
1982 * WTF.gyp/WTFGTK.gyp: Removed.
1984 2013-04-04 Anders Carlsson <andersca@apple.com>
1986 ObjcRuntimeExtras.h should use variadic templates
1987 https://bugs.webkit.org/show_bug.cgi?id=113941
1989 Reviewed by Andreas Kling.
1991 Reimplement wtfObjcMsgSend and wtfCallIMP as variadic function templates.
1993 * wtf/ObjcRuntimeExtras.h:
1997 2013-04-04 Andras Becsi <andras.becsi@digia.com>
1999 Fix the build with GCC 4.8
2000 https://bugs.webkit.org/show_bug.cgi?id=113147
2002 Reviewed by Allan Sandfeld Jensen.
2004 Disable diagnostic warning -Wunused-local-typedefs for GCC 4.8
2005 since dummy typedefs are commonly used in the codebase.
2009 2013-04-03 Pratik Solanki <psolanki@apple.com>
2011 Enable HAVE_MADV_FREE_REUSE on iOS
2012 https://bugs.webkit.org/show_bug.cgi?id=113892
2013 <rdar://problem/12787563>
2015 Reviewed by Mark Rowe.
2019 2013-04-02 Ryosuke Niwa <rniwa@webkit.org>
2021 Remove code for Mac 10.5 and earlier from WTF and WebKit2
2022 https://bugs.webkit.org/show_bug.cgi?id=113844
2024 Reviewed by Benjamin Poulain.
2026 Removed the code for 10.5 and removed if-def for 10.6.
2028 * wtf/FastMalloc.cpp:
2029 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2031 * wtf/ThreadingPthreads.cpp:
2032 (WTF::initializeCurrentThreadInternal):
2033 * wtf/unicode/icu/CollatorICU.cpp:
2034 (WTF::Collator::userDefault):
2036 2013-04-02 Max Vujovic <mvujovic@adobe.com>
2038 [CSS Filters] Filter outsets clipped on composited layers when filter is applied after first layout
2039 https://bugs.webkit.org/show_bug.cgi?id=109098
2041 Reviewed by Dean Jackson.
2044 Add flag for HAVE(COMPOSITOR_FILTER_OUTSETS) macro. This is used to check if a
2045 platform's compositor expands layers internally for filter outsets when it applies
2046 filters like drop-shadow and blur. Currently, only CoreAnimation does has this
2049 2013-04-02 Yury Semikhatsky <yurys@chromium.org>
2051 Web Inspector: memory instrumentation for external arrays is broken
2052 https://bugs.webkit.org/show_bug.cgi?id=113790
2054 Reviewed by Pavel Feldman.
2056 * wtf/MemoryInstrumentationArrayBufferView.h: report buffer pointer as retaining one as
2057 we know that the pointer is not broken.
2058 (WTF::reportMemoryUsage):
2060 2013-04-01 Han Shen <shenhan@google.com>
2062 Move definition of nested classes that inherit enclosing class outside class definition.
2063 https://bugs.webkit.org/show_bug.cgi?id=113454
2065 Reviewed by Benjamin Poulain.
2067 HashMap.h does not build on GCC 4.8. Inside this file,
2068 HashMapKeysProxy and HashMapValuesProxy are defined as nested
2069 class inside HashMap - which is legal - the illegal part is that
2070 these 2 classes inherit HashMap, that is the enclosing class, that
2071 causes "reference to in-complete definition" error.
2073 The fix is to move outside the definition of these 2 classes, and
2074 leave only declaration part inside HashMap as is illustrated below -
2076 template class <typename T>
2081 class HashMapKeysProxy;
2083 // ERROR - nested class inherits enclosing class.
2084 class HashMapKeysProxy : private HashMap {
2089 class HashMapKeysProxy : private HashMap {
2097 template class <typename T>
2102 class HashMapKeysProxy;
2103 class HashMapValuesProxy;
2109 template <typename T>
2110 class HashMap<T>::HashMapKeysProxy : private HashMap<T> {
2114 template <typename T>
2115 class HashMap<T>::HashMapValuesProxy : private HashMap<T> {
2121 (WTF): Factor out nested class definition from enclosing class.
2123 2013-03-31 Mark Hahnenberg <mhahnenberg@apple.com>
2125 Regions should be allocated from the same contiguous segment of virtual memory
2126 https://bugs.webkit.org/show_bug.cgi?id=113662
2128 Reviewed by Filip Pizlo.
2130 Instead of letting the OS spread our Regions all over the place, we should allocate them all within
2131 some range of each other. This change will open the door to some other optimizations, e.g. doing simple
2132 range checks for our write barriers and compressing JSCell pointers to 32-bits.
2134 * wtf/MetaAllocator.cpp: Changed the MetaAllocator to allow custom page sizes if the derived class wants to
2135 use something other than the system page size.
2136 (WTF::MetaAllocator::MetaAllocator):
2137 * wtf/MetaAllocator.h:
2140 2013-04-01 Yury Semikhatsky <yurys@chromium.org>
2142 Web Inspector: add memory instrumentation for StringBuffer
2143 https://bugs.webkit.org/show_bug.cgi?id=113507
2145 Reviewed by Pavel Feldman.
2147 Added memory instrumentation for StringBuffer.
2149 * wtf/MemoryInstrumentationString.h:
2151 (WTF::reportMemoryUsage):
2153 2013-03-30 Tom Sepez <tsepez@chromium.org>
2155 View-source iframes are dangerous (and not very useful).
2156 https://bugs.webkit.org/show_bug.cgi?id=113345
2158 Reviewed by Adam Barth.
2160 * wtf/FeatureDefines.h:
2161 Default definition of ENABLE_VIEWSOURCE_ATTRIBUTE is enabled.
2163 2013-03-27 Patrick Gansterer <paroga@webkit.org>
2165 Set WTF_ARM_ARCH_VERSION to correct value when used with MSVC
2166 https://bugs.webkit.org/show_bug.cgi?id=113436
2168 Reviewed by Benjamin Poulain.
2170 The Microsoft compiler defines _M_ARM with used ARM version.
2174 2013-03-27 Allan Sandfeld Jensen <allan.jensen@digia.com>
2176 Support C++11 static_assert
2177 https://bugs.webkit.org/show_bug.cgi?id=113308
2179 Reviewed by Alexey Proskuryakov.
2181 Use the C++11 static_assert for COMPILE_ASSERT when it is available. Note that
2182 even when compiling with C++11 support, static_assert will not always be available
2183 since Assertions.h may also be used outside of C++.
2185 C11 _Static_assert is enabled for GCC when it has C11 support (gcc>=4.7 -std=c11).
2190 2013-03-25 Oliver Hunt <oliver@apple.com>
2192 RefCountedArray needs a size based constructor
2193 https://bugs.webkit.org/show_bug.cgi?id=113277
2195 Reviewed by Benjamin Poulain.
2197 Simple patch to add a size based constructor for RefCountedArray
2198 so that we can create an sharable array without a copy.
2200 * wtf/RefCountedArray.h:
2202 (WTF::RefCountedArray::RefCountedArray):
2204 2013-03-26 James Robinson <jamesr@chromium.org>
2206 Compile fix - OS(WINDOWS), not OS(WIN).
2209 (WTF::getCurrentProcessID):
2211 2013-03-26 James Robinson <jamesr@chromium.org>
2213 Fix compile for OS(WIN) != PLATFORM(WIN)
2214 https://bugs.webkit.org/show_bug.cgi?id=113356
2216 Reviewed by Tim Horton.
2219 (WTF::getCurrentProcessID):
2221 2013-03-23 Filip Pizlo <fpizlo@apple.com>
2223 JSC_enableProfiler=true should also cause JSGlobalData to save the profiler output somewhere
2224 https://bugs.webkit.org/show_bug.cgi?id=113144
2226 Reviewed by Geoffrey Garen.
2228 I got tired of the fact that getpid(2) is not a syscall on Windows (unless you do
2229 _getpid() I believe), so I wrote a header that abstracts it. I also changed existing
2230 code that uses getpid() to use WTF::getCurrentProcessID().
2232 * GNUmakefile.list.am:
2235 * WTF.vcproj/WTF.vcproj:
2236 * WTF.xcodeproj/project.pbxproj:
2237 * wtf/CMakeLists.txt:
2238 * wtf/MetaAllocator.cpp:
2239 (WTF::MetaAllocator::dumpProfile):
2240 * wtf/ProcessID.h: Added.
2242 (WTF::getCurrentProcessID):
2243 * wtf/text/StringImpl.cpp:
2244 (WTF::StringStats::printStats):
2246 2013-03-25 Kent Tamura <tkent@chromium.org>
2248 Rename ENABLE_INPUT_TYPE_DATETIME
2249 https://bugs.webkit.org/show_bug.cgi?id=113254
2251 Reviewed by Kentaro Hara.
2253 Rename ENABLE_INPUT_TYPE_DATETIME to ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE.
2254 Actually I'd like to remove the code, but we shouldn't remove it yet
2255 because we shipped products with it on some platforms.
2257 * wtf/FeatureDefines.h:
2259 2013-03-25 David Kilzer <ddkilzer@apple.com>
2261 WTF::binarySearchImpl() should compile with -Wshorten-64-to-32
2262 <http://webkit.org/b/113170>
2264 Reviewed by Dan Bernstein.
2266 Fixes the following build failure:
2268 /usr/local/include/wtf/StdLibExtras.h:190:30: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
2269 int pos = (size - 1) >> 1;
2273 * wtf/StdLibExtras.h:
2274 (WTF::binarySearchImpl): Switch type from int to size_t.
2276 2013-03-22 Benjamin Poulain <bpoulain@apple.com>
2278 Remove 2 bad branches from StringHash::equal() and CaseFoldingHash::equal()
2279 https://bugs.webkit.org/show_bug.cgi?id=113003
2281 Reviewed by Eric Seidel.
2283 StringHash::equal() and CaseFoldingHash::equal() were both testing for
2284 the nullity of the two input pointers. The catch is: neither traits handle
2285 null pointers, and any client code would have crashed on hash(), before equal()
2287 Consequently, the two branches had a pass rate of zero when called from a HashMap code.
2289 The function is also never inlined because it is too big (the code of equal() for characters
2290 is always inlined, causing the function to be quite big).
2292 This patch introduces two new functions in the StringImpl API: equalNonNull() and
2293 equalIgnoringCaseNonNull(). Those functions are similar to their equal() equivalent
2294 but make the assumtion the input is never null.
2296 The functions are used for StringHash to avoid the useless branches.
2298 * wtf/text/StringHash.h:
2299 (WTF::StringHash::equal):
2300 (WTF::CaseFoldingHash::equal):
2301 * wtf/text/StringImpl.cpp:
2302 (WTF::stringImplContentEqual):
2304 (WTF::equalNonNull):
2305 (WTF::equalIgnoringCase):
2306 (WTF::equalIgnoringCaseNonNull):
2307 (WTF::equalIgnoringNullity):
2308 * wtf/text/StringImpl.h:
2309 (WTF::equalIgnoringCase):
2311 2013-03-22 Benjamin Poulain <bpoulain@apple.com>
2313 Name correctly the argument of StringImpl::setIsAtomic()
2314 https://bugs.webkit.org/show_bug.cgi?id=113000
2316 Reviewed by Geoffrey Garen.
2318 * wtf/text/StringImpl.h:
2319 (WTF::StringImpl::setIsAtomic):
2320 The argument was probably an unfortunate copy-paste from setIsIdentifier().
2323 2013-03-22 Hajime Morrita <morrita@google.com>
2325 Custom Elements: "readyCallback" lifecycle callback should be called.
2326 https://bugs.webkit.org/show_bug.cgi?id=112538
2328 Reviewed by Elliott Sprehn.
2331 (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.
2333 2013-03-22 Sheriff Bot <webkit.review.bot@gmail.com>
2335 Unreviewed, rolling out r146534 and r146565.
2336 http://trac.webkit.org/changeset/146534
2337 http://trac.webkit.org/changeset/146565
2338 https://bugs.webkit.org/show_bug.cgi?id=113017
2340 "r146534 caused perf regression on Chromium Linux x64"
2341 (Requested by yurys on #webkit).
2345 (WTF::copyToVector):
2347 2013-03-21 Hajime Morrita <morrita@google.com>
2349 Custom Elements: "readyCallback" lifecycle callback should be called.
2350 https://bugs.webkit.org/show_bug.cgi?id=112538
2352 Reviewed by Elliott Sprehn.
2355 (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.
2357 2013-03-21 Mark Lam <mark.lam@apple.com>
2359 Introducing String::findNextLineStart().
2360 https://bugs.webkit.org/show_bug.cgi?id=112957.
2362 Reviewed by Geoffrey Garen.
2364 This is replaces String::reverseFindLineTerminator() in the JSC
2365 debugger's code for computing column numbers.
2367 * wtf/text/StringImpl.cpp:
2368 (WTF::StringImpl::findNextLineStart):
2369 * wtf/text/StringImpl.h:
2370 (WTF::findNextLineStart):
2371 * wtf/text/WTFString.h:
2372 (WTF::String::findNextLineStart):
2374 2013-03-21 Adam Barth <abarth@webkit.org>
2376 HTMLNames should construct strings at compile time
2377 https://bugs.webkit.org/show_bug.cgi?id=112831
2379 Reviewed by Darin Adler.
2381 * wtf/text/StringImpl.h:
2383 (StaticASCIILiteral):
2384 - This struct lets us construct StringImpl objects at compile time.
2385 (WTF::StringImpl::assertHashIsCorrect):
2386 - This function lets us sanity check StringImpl objects created from StaticData.
2387 (WTF::StringImpl::find): Remove a stray ;
2388 (WTF::StringImpl::findIgnoringCase): ditto
2389 (WTF::StringImpl::startsWith): ditto
2390 (WTF::ValueCheck<StringImpl*>):
2391 * wtf/text/AtomicStringImpl.h:
2392 (WTF::ValueCheck<AtomicStringImpl*>):
2394 2013-03-21 Gabor Rapcsanyi <rgabor@webkit.org>
2396 Implement LLInt for CPU(ARM_TRADITIONAL)
2397 https://bugs.webkit.org/show_bug.cgi?id=97589
2399 Reviewed by Zoltan Herczeg.
2401 Enable LLInt for ARMv5 and ARMv7 traditional as well.
2405 2013-03-20 Sheriff Bot <webkit.review.bot@gmail.com>
2407 Unreviewed, rolling out r146419.
2408 http://trac.webkit.org/changeset/146419
2409 https://bugs.webkit.org/show_bug.cgi?id=112870
2411 Broke many tests on debug builds (Requested by rniwa_ on
2414 * wtf/text/StringImpl.h:
2417 2013-03-20 Adam Barth <abarth@webkit.org>
2419 HTMLNames should construct strings at compile time
2420 https://bugs.webkit.org/show_bug.cgi?id=112831
2422 Reviewed by Darin Adler.
2424 * wtf/text/StringImpl.h:
2426 (StaticASCIILiteral):
2427 - This struct lets us construct StringImpl objects at compile time.
2428 (WTF::StringImpl::assertValidHash):
2429 - This function lets us sanity check StringImpl objects created from StaticData.
2431 2013-03-20 Jessie Berlin <jberlin@apple.com>
2433 REGRESSION(r145592): AutodrainedPool.h. RunLoopTimer.h, SchedulePair.h are being copied into
2435 https://bugs.webkit.org/show_bug.cgi?id=112833
2437 Reviewed by Darin Adler.
2439 * WTF.xcodeproj/project.pbxproj:
2440 Make sure those three headers are copied with the rest of the WTF headers.
2442 2013-03-20 Mark Rowe <mrowe@apple.com>
2444 FastMalloc scavenge timer specifies an overly narrow leeway value.
2446 Reviewed by Alexey Proskuryakov.
2448 There's no need to allow only 1ms of leeway on a 2s timer.
2450 * wtf/FastMalloc.cpp:
2451 (WTF::TCMalloc_PageHeap::initializeScavenger): Bump the leeway window
2452 to 10% of the scavenge timer.
2454 2013-03-20 JungJik Lee <jungjik.lee@samsung.com>
2456 [EFL] Disable REQUEST_ANIMATION_FRAME_TIMER to render a new animation frame.
2457 https://bugs.webkit.org/show_bug.cgi?id=112114
2459 Reviewed by Kenneth Rohde Christiansen.
2461 The issue is that if the animation starts outside of the area covered by keepRects,
2462 the web process does not create tiles of the animation layer and the layer moves
2463 without having any tiles. In order to fix this issue, CoordinatedLayerHost must call
2464 scheduleLayerFlush to create new tiles when the layer enters the area covered by keepRect.
2465 However EFL port didn't call scheduleLayerFlush periodically for animation.
2466 We can tie scripted animations with synchronization of the layer and that already
2467 has been implemented in r123786 by Qt port. This patch is for activating r123786 patch.
2469 The testing is covered by ManualTests/animation/transition-on-and-offscreen-animation.html
2471 * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER.
2473 2013-03-20 Mark Lam <mark.lam@apple.com>
2475 Introducing String::reverseFindLineTerminator().
2476 https://bugs.webkit.org/show_bug.cgi?id=112741.
2478 Reviewed by Oliver Hunt.
2480 This is needed by the JSC debugger code for computing column numbers.
2482 * wtf/text/StringImpl.cpp:
2483 (WTF::StringImpl::reverseFindLineTerminator):
2484 * wtf/text/StringImpl.h:
2486 (WTF::reverseFindLineTerminator):
2487 * wtf/text/WTFString.h:
2488 (WTF::String::reverseFindLineTerminator):
2490 2013-03-19 Martin Robinson <mrobinson@igalia.com>
2492 Fix the WTF gyp build for GTK+.
2494 * WTF.gyp/WTFGTK.gyp: Skip files with CF in the name.
2496 2013-03-19 Alberto Garcia <agarcia@igalia.com>
2498 [BlackBerry] Enable USE_SYSTEM_MALLOC by default
2499 https://bugs.webkit.org/show_bug.cgi?id=112365
2501 Reviewed by Benjamin Poulain.
2503 Enable USE_SYSTEM_MALLOC by default via FeatureList.pm instead of
2504 harcoding it in wtf/Platform.h
2508 2013-03-18 Benjamin Poulain <benjamin@webkit.org>
2510 [iOS] Make a UChar string equal() based on the LChar version
2511 https://bugs.webkit.org/show_bug.cgi?id=112495
2513 Reviewed by David Kilzer.
2515 * wtf/text/StringImpl.h:
2517 Create a equal() function for UChar based on the work done for LChar.
2519 On A6, this is a speed up of about 40% for any string of 2 or more characters.
2520 It is slower by 8% on a single UChar comparison.
2522 2013-03-18 Brent Fulgham <bfulgham@webkit.org>
2524 [WinCairo] Get build working under VS2010.
2525 https://bugs.webkit.org/show_bug.cgi?id=112604
2527 Reviewed by Tim Horton.
2529 * WTF.vcxproj/WTF.vcxproj: Add Debug_WinCairo and Release_WinCairo
2530 targets so headers get copied to appropriate build folder.
2531 * WTF.vcxproj/WTFGenerated.vcxproj: Ditto.
2533 2013-03-15 Benjamin Poulain <bpoulain@apple.com>
2535 [iOS] Update StringImpl's equal to have a single version on all supported Apple CPUs
2536 https://bugs.webkit.org/show_bug.cgi?id=112400
2538 Reviewed by Michael Saboff.
2540 * wtf/text/StringImpl.h:
2542 Tweak the code to make it work on older Apple CPUs:
2543 -Use external "ouput" variable instead of the registers R9 and R12. This gets rid
2544 of some register pressure previously imposed on the compiler. (Clang nicely
2545 choose R9 and R12 when needed, following iOS ABI).
2546 -Instead of using "R3" for storing the length / 4, update the length by -4 on
2547 each iteration and work in the negative space for the tail. This frees one register
2548 which is then used for isEqual.
2549 -Get rid of the unconditional branch from the loop. By using subs and working in the
2550 negative space, we can test for the Carry flag to jump back to the next LDR.
2552 2013-03-15 Benjamin Poulain <bpoulain@apple.com>
2554 [iOS] Fix the length pass to memcmp in the fallback versions of String's equal
2555 https://bugs.webkit.org/show_bug.cgi?id=112463
2557 Reviewed by Ryosuke Niwa.
2559 * wtf/text/StringImpl.h:
2560 (WTF::equal): It might be a good idea to compare the full UChar strings...
2562 2013-03-15 Michael Saboff <msaboff@apple.com>
2564 Add runtime check for improper register allocations in DFG
2565 https://bugs.webkit.org/show_bug.cgi?id=112380
2567 Reviewed by Geoffrey Garen.
2569 * wtf/Platform.h: Added new ENABLE_DFG_REGISTER_ALLOCATION_VALIDATION compilation flag to
2570 enable generation of register allocation checking. This is on for debug builds.
2572 2013-03-13 Jessie Berlin <jberlin@apple.com>
2574 Remove svn:executable from a file that isn't supposed to be executable.
2576 Rubber-stamped by Geoff Garen.
2580 2013-03-13 Oliver Hunt <oliver@apple.com>
2582 Simplify Checked<> multiplication
2583 https://bugs.webkit.org/show_bug.cgi?id=112286
2585 Reviewed by James Robinson.
2587 Trying to correctly identify multiplication by zero complicated the
2588 unsigned * unsigned multiply, and still didn't handle all cases correctly.
2589 Now we just do the normal division based approach to overflow detection
2590 leading to much simpler reasoning.
2592 Would be nice if we could have a jo style intrinsic one day.
2594 * wtf/CheckedArithmetic.h:
2596 2013-03-13 Dean Jackson <dino@apple.com>
2598 Unreviewed attempted build fix for Windows. SchedulePair.cpp -> SchedulePairCF.cpp
2600 * WTF.vcproj/WTF.vcproj:
2601 * WTF.vcxproj/WTF.vcxproj:
2602 * WTF.vcxproj/WTF.vcxproj.filters:
2604 2013-03-13 Benjamin Poulain <bpoulain@apple.com>
2606 [iOS] Add optimized version of StringImpl's equal(LChar*,LChar*) for Apple CPUs
2607 https://bugs.webkit.org/show_bug.cgi?id=112202
2609 Reviewed by Gavin Barraclough.
2611 * Source/WTF/wtf/Platform.h:
2612 Make the macro WTF_ARM_ARCH_VERSION valid on any architecture.
2613 * wtf/text/StringImpl.h:
2615 On ARMv7S, the new version is about 11% percent faster than the simple loop.
2616 On ARMv7 classic, memcmp is a little faster than the simple loop on Apple A5.
2618 2013-03-13 James Robinson <jamesr@chromium.org>
2620 SchedulePair.cpp is CF-specific
2621 https://bugs.webkit.org/show_bug.cgi?id=112204
2623 Reviewed by Oliver Hunt.
2625 This renames SchedulePair.cpp SchedulePairCF.cpp, since it depends on CF, and excludes it from chromium's gyp
2629 Add CF to the exclusion filter for the Chromium port.
2631 Add SchedulePairCF.cpp
2632 * WTF.xcodeproj/project.pbxproj:
2633 Update project file to point to new .cpp location
2634 * wtf/SchedulePairCF.cpp: Renamed from Source/WTF/wtf/SchedulePair.cpp.
2636 2013-03-13 Allan Sandfeld Jensen <allan.jensen@digia.com>
2638 Support C++11 features in GCC <4.6
2639 https://bugs.webkit.org/show_bug.cgi?id=111553
2641 Reviewed by Simon Hausmann.
2643 Enable support for rvalue references from gcc 4.3, deleted functions
2644 from gcc 4.4, explicit conversion from gcc 4.5, and strongly typed
2649 2013-03-12 Geoffrey Garen <ggaren@apple.com>
2651 Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592.
2653 * wtf/SchedulePair.cpp:
2654 * wtf/SchedulePair.h:
2655 (WTF::SchedulePair::SchedulePair): Since linking is failing,
2656 try inlining this function.
2658 2013-03-12 Tim Horton <timothy_horton@apple.com>
2660 Typo in earlier Windows build fix. Unreviewed.
2662 * WTF.vcproj/WTF.vcproj:
2664 2013-03-12 Tim Horton <timothy_horton@apple.com>
2666 Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592.
2668 * WTF.vcproj/WTF.vcproj:
2669 * WTF.vcxproj/WTF.vcxproj:
2670 * WTF.vcxproj/WTF.vcxproj.filters:
2672 2013-03-12 James Robinson <jamesr@chromium.org>
2674 Build fix for r145592 - update gyp files to refer to new file locations.
2678 2013-03-12 Geoffrey Garen <ggaren@apple.com>
2680 Moved RunLoopTimer and SchedulePair to WTF
2681 https://bugs.webkit.org/show_bug.cgi?id=112171
2683 Reviewed by Oliver Hunt.
2685 This will allow us to use timers in lower level primitives without
2686 duplicating all the code.
2688 * WTF.xcodeproj/project.pbxproj:
2689 * wtf/AutodrainedPool.h: Copied from Source/WebCore/platform/AutodrainedPool.h.
2691 * wtf/AutodrainedPoolMac.mm: Copied from Source/WebCore/platform/mac/AutodrainedPool.mm.
2692 * wtf/RunLoopTimer.h: Copied from Source/WebCore/platform/RunLoopTimer.h.
2693 * wtf/RunLoopTimerCF.cpp: Copied from Source/WebCore/platform/cf/RunLoopTimerCF.cpp.
2694 * wtf/SchedulePair.cpp: Copied from Source/WebCore/platform/cf/SchedulePair.cpp.
2695 * wtf/SchedulePair.h: Copied from Source/WebCore/platform/cf/SchedulePair.h.
2697 * wtf/SchedulePairMac.mm: Copied from Source/WebCore/platform/mac/SchedulePairMac.mm.
2699 2013-03-12 Oliver Hunt <oliver@apple.com>
2701 Add more Checked<> tests
2702 https://bugs.webkit.org/show_bug.cgi?id=112190
2704 Reviewed by Geoffrey Garen.
2706 Export the CheckedState enum type
2708 * wtf/CheckedArithmetic.h:
2710 2013-03-12 Oliver Hunt <oliver@apple.com>
2712 Make CheckedArithmetic slightly more sane
2713 https://bugs.webkit.org/show_bug.cgi?id=112178
2715 Reviewed by Geoffrey Garen.
2717 Add an enum type for safeGet rather than using a bool,
2718 and correctly handle unsigned * unsigned, when one value
2721 * wtf/CheckedArithmetic.h:
2728 2013-03-11 Michael Saboff <msaboff@apple.com>
2730 Unreviewed build fix. Rolling out inadvertent setting of DATA_LOG_TO_FILE.
2732 2013-03-11 Oliver Hunt <oliver@apple.com>
2734 Make SegmentedVector Noncopyable
2735 https://bugs.webkit.org/show_bug.cgi?id=112059
2737 Reviewed by Geoffrey Garen.
2739 Copying a SegmentedVector can be extraordinarily expensive, so we beat
2740 it with the Noncopyable stick - that way we can ensure that if anyone
2741 wants an actual copy they know what they're doing.
2743 * wtf/SegmentedVector.h:
2746 2013-03-08 Benjamin Poulain <benjamin@webkit.org>
2748 [Mac] Add a feature flag for 'view-mode' Media Feature, disable it on Mac
2749 https://bugs.webkit.org/show_bug.cgi?id=111297
2751 Reviewed by Kenneth Rohde Christiansen.
2753 * wtf/FeatureDefines.h: Add a new feature flag for the view-mode
2754 CSS media: ENABLE_VIEW_MODE_CSS_MEDIA.
2756 2013-03-08 Roger Fong <roger_fong@apple.com>
2760 * WTF.vcxproj/WTF.make:
2762 2013-03-08 Gabor Rapcsanyi <rgabor@webkit.org>
2764 Cache flush problem on ARMv7 JSC
2765 https://bugs.webkit.org/show_bug.cgi?id=111441
2767 Reviewed by Zoltan Herczeg.
2769 Not proper cache flush causing random crashes on ARMv7 Linux with V8 tests.
2770 The problem is similar to https://bugs.webkit.org/show_bug.cgi?id=77712.
2771 Change the cache fulsh mechanism similar to ARM traditinal and revert the
2774 * wtf/OSAllocatorPosix.cpp:
2775 (WTF::OSAllocator::reserveUncommitted):
2776 (WTF::OSAllocator::decommit):
2778 2013-03-07 Andrew Bortz <andrew@abortz.net>
2780 Replace Mersenne Twister random number generator with a simpler one.
2781 https://bugs.webkit.org/show_bug.cgi?id=111533
2783 Reviewed by Adam Barth.
2785 The new generator is only a single line long, but passes all the Diehard
2786 statistical tests and runs ~3x faster than the Mersenne Twister, with a
2787 guaranteed cycle length of 2^64 and only 8 bytes of state.
2789 * wtf/Platform.h: Mersenne Twister defines are no longer needed
2790 * wtf/RandomNumber.cpp:
2791 (WTF::Internal::initializeRandomNumber): State initialization
2792 (WTF::Internal::randomNumber): Actual implementation
2793 (WTF::randomNumber): We don't need to fall back on rand()-based generator anymore,
2794 so this code is greatly simplified.
2795 * wtf/RandomNumber.h:
2796 * wtf/RandomNumberSeed.h:
2797 (WTF::initializeRandomNumberGenerator): This code is no longer needed.
2798 Additionally, the code had an error, since rand() returns 32-bits, so each
2799 initializationBuffer's upper 16-bits has more bits set than random.
2801 2013-03-06 Adenilson Cavalcanti <cavalcantii@gmail.com>
2803 Build fix: PageAllocationAligned no longer has executable flag
2804 https://bugs.webkit.org/show_bug.cgi?id=111659
2806 Reviewed by Kentaro Hara.
2808 Build fix: use false as parameter to execution flag.
2810 * wtf/PageAllocationAligned.cpp:
2811 (WTF::PageAllocationAligned::allocate):
2813 2013-03-06 Eric Seidel <eric@webkit.org>
2815 AtomicStringImpls are not safe to send between threads
2816 https://bugs.webkit.org/show_bug.cgi?id=111652
2818 Reviewed by Benjamin Poulain.
2820 We don't have this problem yet, but it's good to be safe.
2822 * wtf/text/WTFString.cpp:
2823 (WTF::String::isSafeToSendToAnotherThread):
2825 2013-03-06 Oliver Hunt <oliver@apple.com>
2827 Don't give PageAllocationAligned the option to allocate executable memory
2828 https://bugs.webkit.org/show_bug.cgi?id=111657
2830 Reviewed by Geoffrey Garen.
2832 * wtf/PageAllocationAligned.cpp:
2833 (WTF::PageAllocationAligned::allocate):
2834 * wtf/PageAllocationAligned.h:
2835 (PageAllocationAligned):
2837 2013-03-04 Jer Noble <jer.noble@apple.com>
2839 Default mouse cursor behavior should be auto-hide for full screen video with custom controls
2840 https://bugs.webkit.org/show_bug.cgi?id=107601
2842 Reviewed by Beth Dakin.
2844 Enable the CURSOR_VISIBILITY feature.
2846 * wtf/FeatureDefines.h:
2848 2013-03-04 Oliver Hunt <oliver@apple.com>
2850 Make fastmalloc use guardpages
2851 https://bugs.webkit.org/show_bug.cgi?id=111353
2853 Reviewed by Anders Carlsson.
2855 Add PROT_NONE pages at the beginning and end of every
2856 mmap call made by fastmalloc.
2858 * wtf/TCSystemAlloc.cpp:
2861 2013-03-06 Paweł Forysiuk <tuxator@o2.pl>
2863 Typo in inline function in ByteOrder.h
2864 https://bugs.webkit.org/show_bug.cgi?id=111473
2866 Reviewed by Benjamin Poulain.
2871 2013-03-05 Ryuan Choi <ryuan.choi@samsung.com>
2873 [EFL] Build break with latest EFL libraries
2874 https://bugs.webkit.org/show_bug.cgi?id=111028
2876 Reviewed by Dirk Pranke.
2878 * wtf/PlatformEfl.cmake: Added ECORE_IMF_INCLUDE_DIRS.
2880 2013-03-05 Csaba Osztrogonác <ossy@webkit.org>
2882 Fix cast-align warning in ASCIIFastPath.h on ARM
2883 https://bugs.webkit.org/show_bug.cgi?id=111436
2885 Reviewed by Benjamin Poulain.
2887 * wtf/text/ASCIIFastPath.h:
2888 (WTF::charactersAreAllASCII):
2890 2013-03-04 Laszlo Gombos <l.gombos@samsung.com>
2892 JSC_OBJC_API_ENABLED should be removed from FeatureDefines.h
2893 https://bugs.webkit.org/show_bug.cgi?id=111269
2895 Reviewed by Mark Hahnenberg.
2897 JSC_OBJC_API_ENABLED flag was added to FeatureDefines.h (r143637)
2898 so that it could be used in WebCore.exp.in to determine whether
2899 or not we should be exporting certain symbols based on whether
2900 the WebKit-related portion of the JSC ObjC API was enabled.
2902 It turned out conditionally including certain symbols didn't
2903 work when building fat binaries, so it's not even necessary any more.
2905 * wtf/FeatureDefines.h: Remove JSC_OBJC_API_ENABLED.
2907 2013-03-04 Andreas Kling <akling@apple.com>
2909 Deque: Free internal buffer in clear().
2910 <http://webkit.org/b/111316>
2911 <rdar://problem/13336675>
2913 Reviewed by Antti Koivisto.
2915 525 kB progression on Membuster3.
2920 2013-03-04 Kunihiko Sakamoto <ksakamoto@chromium.org>
2922 Add build flag for FontLoader
2923 https://bugs.webkit.org/show_bug.cgi?id=111289
2925 Reviewed by Benjamin Poulain.
2927 Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
2929 * wtf/FeatureDefines.h:
2931 2013-02-27 Darin Adler <darin@apple.com>
2933 StringHasher functions require alignment that call sites do not all guarantee
2934 https://bugs.webkit.org/show_bug.cgi?id=110171
2936 Reviewed by Benjamin Poulain.
2938 The StringHasher class is optimized for clients who pass it two characters at
2939 a time. However, the function named addCharacters did not make this clear to
2940 clients, and one calculateStringHashAndLengthFromUTF8MaskingTop8Bits got it wrong.
2941 Fix by making addCharacters work regardless of hasher alignment and adding a new
2942 function, addCharactersAssumingAligned, for use when we want a faster path and can
2943 guarantee we are adding characters two at a time.
2945 * wtf/StringHasher.h:
2946 (WTF::StringHasher::addCharactersAssumingAligned): Renamed the addCharacters function
2947 addCharactersAssumingAligned, since it only works if the hasher is currently aligned,
2948 meaning it contains an even number of characters. The function already asserts
2949 that this is true, but the calculateStringHashAndLengthFromUTF8MaskingTop8Bits
2950 function was using it in cases where the assertion could fire. Also updated to
2951 call addCharactersInternal by its new name. Also added some new overloads that take
2952 data pointers and lengths so callers can always use addCharactersAssumingAligned
2953 instead of addCharacters if they know the hasher is aligned.
2954 (WTF::StringHasher::addCharacter): Updated to call the public
2955 addCharactersAssumingAligned function since that's simpler and a bit cleaner.
2956 (WTF::StringHasher::addCharacters): Added functions with this name that handle
2957 the case where the hasher is not aligned. These will be called by existing call sites
2958 that were formerly using the function named addCharactersAssumingAligned above.
2959 Also add an overload that works with the default converter automatically.
2960 (WTF::StringHasher::computeHashAndMaskTop8Bits): Changed to call
2961 addCharactersAssumingAligned to eliminate copied and pasted code. The hasher is empty,
2962 so definitely aligned.
2963 (WTF::StringHasher::computeHash): Ditto.
2964 (WTF::StringHasher::addCharactersInternal): Renamed from addCharactersToHash, since
2965 the former name did not make clear how this differs from the public functions.
2966 The real difference is that this is like addCharactersAssumingAligned, but without
2967 the assertion, so addCharactersAssumingAligned is called instead, even within the
2968 class's implementation.
2970 2013-03-01 Ilya Tikhonovsky <loislo@chromium.org>
2972 Web Inspector: Native Memory Instrumentation: do not visit raw pointers by default.
2973 https://bugs.webkit.org/show_bug.cgi?id=110943
2975 Reviewed by Yury Semikhatsky.
2977 Unfortunately in many cases raw pointer may point to an object that has been deleted.
2978 There is no working solution to solve this problem in general.
2979 It could be solved only on case by case basis.
2981 * wtf/MemoryInstrumentation.h:
2982 (WTF::MemoryInstrumentation::addObject):
2983 (WTF::MemoryInstrumentation::MemberTypeTraits::addObject):
2984 (WTF::MemoryClassInfo::addMember):
2985 (WTF::MemoryInstrumentation::addObjectImpl):
2986 * wtf/MemoryInstrumentationString.h:
2987 (WTF::reportMemoryUsage):
2989 2013-03-01 Eric Seidel <eric@webkit.org>
2991 Threaded HTML Parser has an extra copy of every byte from the network
2992 https://bugs.webkit.org/show_bug.cgi?id=111135
2994 Reviewed by Adam Barth.
2996 The threaded html parser needs to accept ownership
2997 of a string buffer. The easiest way to do this seemed
2998 to be to use a PassRefPtr<StringImpl>, but there was no way
2999 to generated one from a String (easily), so I added one.
3001 * wtf/text/WTFString.h:
3002 (WTF::String::releaseImpl):
3004 2013-02-28 Oliver Hunt <oliver@apple.com>
3006 Crash in JSC::MarkedBlock::FreeList JSC::MarkedBlock::sweepHelper
3007 https://bugs.webkit.org/show_bug.cgi?id=111059
3009 Reviewed by Ryosuke Niwa.
3011 Sometimes C++'s implicit operator conversion rules suck.
3012 Add explicit operator== and !=.
3014 * wtf/FastMalloc.cpp:
3015 (WTF::HardenedSLL::operator!=):
3016 (WTF::HardenedSLL::operator==):
3019 2013-02-28 Zeno Albisser <zeno@webkit.org>
3021 Enable DFG JIT for Qt on Mac
3022 https://bugs.webkit.org/show_bug.cgi?id=111095
3024 Rubber-stamped by Simon Hausmann
3028 2013-02-28 Eric Carlson <eric.carlson@apple.com>
3030 [Mac] use HAVE() macro instead of version check
3031 https://bugs.webkit.org/show_bug.cgi?id=111087
3033 Reviewed by Dean Jackson.
3035 * wtf/Platform.h: Define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK.
3037 2013-02-27 Balazs Kilvady <kilvadyb@homejinni.com>
3039 Bug in atomicIncrement implementation for MIPS GCC
3040 https://bugs.webkit.org/show_bug.cgi?id=110969
3042 Reviewed by Csaba Osztrogonác.
3044 Fix of __sync_[add|sub]_and_fetch_8 for GCC patch.
3048 2013-02-27 Simon Hausmann <simon.hausmann@digia.com>
3050 REGRESSION(r137994): It made JSC tests hang and layout tests fail on ARM Thumb2 / Linux
3051 https://bugs.webkit.org/show_bug.cgi?id=108632
3053 Reviewed by Csaba Osztrogonác.
3055 It appears that mprotect() is very slow on ARM/Linux, so disable the
3056 approach of unreserved mappings there and fall back to overcomitting
3057 memory, based on Uli Schlachter's recommendation.
3059 * wtf/OSAllocatorPosix.cpp:
3060 (WTF::OSAllocator::reserveUncommitted):
3061 (WTF::OSAllocator::decommit):
3063 2013-02-26 Roger Fong <roger_fong@apple.com>
3065 Unreviewed. Build fix for VS2010 solution, take 2.
3067 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
3069 2013-02-26 Roger Fong <roger_fong@apple.com>
3071 Unreviewed. Unreviewed build fix for VS2010 solution.
3073 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
3075 2013-02-26 Balazs Kilvady <kilvadyb@homejinni.com>
3077 Fix the atomicIncrement implementation for MIPS GCC
3078 https://bugs.webkit.org/show_bug.cgi?id=106739
3080 Reviewed by Oliver Hunt.
3082 Implementation of missing __sync_[add|sub]_and_fetch_8 functions.
3084 Some architectures, like MIPS32, don't have GCC implementation for
3085 builtin __sync_* functions with 64 bits variable size. GCC answer
3086 for the problem: If a target doesn't support atomic operations on
3087 certain variable sizes, you are out of luck with atomicity in that
3088 case (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56296). GCC >= 4.8
3089 will support __atomic_* builtin functions for this purpose for all
3090 the GCC targets, but for current compilers we have to include our
3093 * GNUmakefile.list.am:
3095 * wtf/Atomics.cpp: Added.
3099 * wtf/CMakeLists.txt:
3101 2013-02-26 Oliver Hunt <oliver@apple.com>
3103 Appease the QT bots.
3105 * wtf/FastMalloc.cpp:
3107 2013-02-26 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
3109 Implement JIT on Windows 64 bits
3110 https://bugs.webkit.org/show_bug.cgi?id=107965
3112 Reviewed by Simon Hausmann.
3116 2013-02-26 Oliver Hunt <oliver@apple.com>
3118 Appease static analyzer warning about null string passed to strlen
3119 https://bugs.webkit.org/show_bug.cgi?id=110658
3121 Reviewed by Benjamin Poulain.
3123 Add a null check before calling strlen
3125 * wtf/Threading.cpp:
3126 (WTF::createThread):
3128 2013-02-25 Ryosuke Niwa <rniwa@webkit.org>
3130 Build fix attempt after r143996.
3132 * wtf/FastMalloc.cpp:
3135 2013-02-25 Roger Fong <roger_fong@apple.com>
3137 Unreviewed. Fix script to use WEBKIT_SOURCE for VS2010 property sheets instead of WEBKIT_LIBRARIES.
3139 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
3141 2013-02-25 Oliver Hunt <oliver@apple.com>
3143 Add cookies to FastMalloc spans
3144 https://bugs.webkit.org/show_bug.cgi?id=110827
3146 Reviewed by Michael Saboff.
3148 Add a cookie to spans, and move some of the hardening around so
3149 that it's more useful.
3151 * wtf/FastMalloc.cpp:
3152 (WTF::internalEntropyValue):
3153 (WTF::spanInitializerCookie):
3154 (WTF::Span::initCookie):
3155 (WTF::Span::clearCookie):
3156 (WTF::Span::isValid):
3160 (WTF::TCMalloc_ThreadCache_FreeList::Validate):
3161 (WTF::TCMalloc_Central_FreeList::Populate):
3162 (WTF::TCMalloc_ThreadCache::Deallocate):
3163 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3165 2013-02-25 Jer Noble <jer.noble@apple.com>
3167 Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
3168 https://bugs.webkit.org/show_bug.cgi?id=110806
3170 Reviewed by Alexey Proskuryakov.
3172 Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.
3174 * wtf/FeatureDefines.h:
3176 2013-02-23 Ilya Tikhonovsky <loislo@chromium.org>
3178 Web Inspector: Native Memory Instrumentation: replace String with const char* in MemoryObjectInfo
3179 https://bugs.webkit.org/show_bug.cgi?id=110599
3181 Reviewed by Yury Semikhatsky.
3183 Due to potentially dynamic nature of names and classNames we need to make a copy of the strings
3184 that were given us via MemoryInstrumentation calls.
3185 So I extended client api with registerString method that pushes the strings
3186 down to the serializer.
3188 * wtf/MemoryInstrumentation.h:
3189 (MemoryInstrumentationClient):
3190 * wtf/MemoryObjectInfo.h:
3191 (WTF::MemoryObjectInfo::MemoryObjectInfo):
3192 (WTF::MemoryObjectInfo::setClassName):
3193 (WTF::MemoryObjectInfo::classNameId):
3194 (WTF::MemoryObjectInfo::setName):
3195 (WTF::MemoryObjectInfo::nameId):
3198 2013-02-21 Brady Eidson <beidson@apple.com>
3200 Move fastlog2() to WTF/MathExtras.h so it can be used from multiple projects.
3202 Rubberstamped by Geoff Garen.
3207 2013-02-21 Andy Estes <aestes@apple.com>
3209 TriState.h should be a Project header
3210 https://bugs.webkit.org/show_bug.cgi?id=110543
3212 Rubber-stamped by Dan Bernstein.
3214 WTF uses a script to copy headers to the build destination, so it isn't
3215 necessary to mark headers as Private/Public (and doing so can be problematic).
3217 * WTF.xcodeproj/project.pbxproj: Mark TriState.h as a Project header.
3219 2013-02-21 Roger Fong <roger_fong@apple.com>
3221 Unreviewed. Add executable property to cmd file.
3222 Required for executable files to maintain their executable permissions over svn.
3224 * WTF.vcxproj/copy-files.cmd: Added property svn:executable.
3226 2013-02-19 Mark Hahnenberg <mhahnenberg@apple.com>
3228 Objective-C API: Need a way to use the Objective-C JavaScript API with WebKit
3229 https://bugs.webkit.org/show_bug.cgi?id=106059
3231 Reviewed by Geoffrey Garen.
3233 * wtf/FeatureDefines.h: Added enable flag for JSC Objective-C API so it can be used in
3236 2013-02-21 Martin Robinson <mrobinson@igalia.com>
3238 A couple more 'make dist' fixes for WebKitGTK+.
3240 * GNUmakefile.list.am: Add a missing file to the source list.
3242 2013-02-20 Roger Fong <roger_fong@apple.com>
3244 Get VS2010 Solution B&I ready.
3245 <rdar://problem/1322988>
3247 Rubberstamped by Timothy Horton.
3249 Add Production configuration.
3250 Add a WTF submit solution with a DebugSuffix configuration.
3251 Modify WTF.make as necessary.
3253 * WTF.vcxproj: Added property svn:eol-style. Modified property svn:ignore.
3254 * WTF.vcxproj/WTF.make: Added.
3255 * WTF.vcxproj/WTF.submit.sln: Added.
3256 * WTF.vcxproj/WTF.vcxproj:
3257 * WTF.vcxproj/WTFCommon.props:
3258 * WTF.vcxproj/WTFGenerated.vcxproj:
3259 * WTF.vcxproj/WTFGeneratedProduction.props: Added.
3260 * WTF.vcxproj/WTFGeneratedRelease.props:
3261 * WTF.vcxproj/WTFProduction.props: Added.
3262 * WTF.vcxproj/WTFRelease.props:
3263 * WTF.vcxproj/copy-files.cmd:
3265 2013-02-20 Oliver Hunt <oliver@apple.com>
3268 https://bugs.webkit.org/show_bug.cgi?id=110275
3270 Reviewed by Mark Hahnenberg.
3272 We now poison objects when they get freed, and verify that
3273 any object that is being freed is not poisoned. If the
3274 object looks like it's poisoned we validate the freelist,
3275 and ensure the object is not already present. If it is
3278 On allocation, we ensure that the object being allocated
3279 is poisoned, then clear the poisoning fields.
3281 * wtf/FastMalloc.cpp:
3282 (WTF::internalEntropyValue):
3284 (WTF::freedObjectStartPoison):
3285 (WTF::freedObjectEndPoison):
3286 (TCMalloc_ThreadCache_FreeList):
3287 (WTF::TCMalloc_ThreadCache_FreeList::Validate):
3288 (WTF::TCMalloc_Central_FreeList::Populate):
3289 (WTF::TCMalloc_ThreadCache::Allocate):
3290 (WTF::TCMalloc_ThreadCache::Deallocate):
3291 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3293 2013-02-19 Sheriff Bot <webkit.review.bot@gmail.com>
3295 Unreviewed, rolling out r143400.
3296 http://trac.webkit.org/changeset/143400
3297 https://bugs.webkit.org/show_bug.cgi?id=110290
3299 breaks everything (instacrash launching Safari) (Requested by
3300 thorton on #webkit).
3302 * wtf/FastMalloc.cpp:
3303 (WTF::internalEntropyValue):
3305 (WTF::TCMalloc_Central_FreeList::Populate):
3306 (WTF::TCMalloc_ThreadCache::Allocate):
3307 (WTF::TCMalloc_ThreadCache::Deallocate):
3309 2013-02-19 Oliver Hunt <oliver@apple.com>
3312 https://bugs.webkit.org/show_bug.cgi?id=110275
3314 Reviewed by Anders Carlsson.
3316 We now poison objects when they get freed, and verify that
3317 any object that is being freed is not poisoned. If the
3318 object looks like it's poisoned we validate the freelist,
3319 and ensure the object is not already present. If it is
3322 On allocation, we ensure that the object being allocated
3323 is poisoned, then clear the poisoning fields.
3325 * wtf/FastMalloc.cpp:
3326 (WTF::internalEntropyValue):
3328 (WTF::freedObjectStartPoison):
3329 (WTF::freedObjectEndPoison):
3330 (TCMalloc_ThreadCache_FreeList):
3331 (WTF::TCMalloc_ThreadCache_FreeList::Validate):
3332 (WTF::TCMalloc_Central_FreeList::Populate):
3333 (WTF::TCMalloc_ThreadCache::Allocate):
3334 (WTF::TCMalloc_ThreadCache::Deallocate):
3336 2013-02-18 Darin Adler <darin@apple.com>
3338 Style tweaks to StringHasher.h
3339 https://bugs.webkit.org/show_bug.cgi?id=110042
3341 Reviewed by Alexey Proskuryakov.
3343 I have a bug fix coming soon, but figured I'd separate out style tweaks and land them
3344 first to make that patch easier to undrestand.
3346 * wtf/StringHasher.h: Tweak and rearrange comments a bit.
3347 (WTF::StringHasher::addCharacter): Use character instead of ch.
3348 (WTF::StringHasher::addCharacters): Use remainder instead of rem. Also capitalize the U
3349 that we use to make an unsigned 1 constant.
3350 (WTF::StringHasher::computeHashAndMaskTop8Bits): Ditto.
3351 (WTF::StringHasher::hashMemory): Change version that takes size as a template argument
3352 to call the version that takes the size at runtime, since both generate the same code
3353 anyway. Added a FIXME questioning why this function uses the "mask top 8 bits" version
3354 of the hash. Fix incorrect compile assertion that required sizes that are multiples
3355 of four. This function works on sizes that are multiples of two. Also fixed a spelling
3356 error where we called it a "multible".
3357 (WTF::StringHasher::defaultConverter): Use character instead of ch.
3358 (WTF::StringHasher::addCharactersToHash): Eliminated unnecessary local variable.
3360 2013-02-18 Alexey Proskuryakov <ap@apple.com>
3362 Make HexNumber functions return 8-bit strings
3363 https://bugs.webkit.org/show_bug.cgi?id=110152
3365 Reviewed by Michael Saboff.
3369 (WTF::Internal::hexDigitsForMode):
3370 (WTF::appendByteAsHex):
3371 (WTF::placeByteAsHexCompressIfPossible):
3372 (WTF::placeByteAsHex):
3373 (WTF::appendUnsignedAsHex):
3374 (WTF::appendUnsignedAsHexFixedSize):
3375 Use LChar everywhere.
3377 2013-02-18 Benjamin Poulain <bpoulain@apple.com>
3379 Remove Vector::dataSlot(), it has no implementation
3380 https://bugs.webkit.org/show_bug.cgi?id=109999
3382 Reviewed by Andreas Kling.
3384 VectorBufferBase does not implement any function bufferSlot().
3385 The file only compiles because that part of the template is never
3390 2013-02-18 Laszlo Gombos <l.gombos@samsung.com>
3392 Move ENABLE macros for WebCore out from Platform.h
3393 https://bugs.webkit.org/show_bug.cgi?id=105735
3395 Unreviewed, build fix when NETSCAPE_PLUGIN_API is disabled.
3397 Enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH even if
3398 NETSCAPE_PLUGIN_API is disabled (Qt, Efl, GTK, WX ports).
3400 * wtf/FeatureDefines.h:
3402 2013-02-18 Balazs Kilvady <kilvadyb@homejinni.com>
3404 MIPS DFG implementation.
3405 https://bugs.webkit.org/show_bug.cgi?id=101328
3407 Reviewed by Oliver Hunt.
3409 DFG implementation for MIPS.
3413 2013-02-18 Zan Dobersek <zdobersek@igalia.com>
3415 Stop placing std::isfinite and std::signbit inside the global scope
3416 https://bugs.webkit.org/show_bug.cgi?id=109817
3418 Reviewed by Darin Adler.
3420 Prefix calls to the isfinite and signbit methods with std:: as the two
3421 methods are no longer being imported into the global scope.
3423 On Solaris and OpenBSD platforms or when using Visual C++ the two methods
3424 are now defined (as incompatibility workarounds) inside the std namespace.
3428 * wtf/DecimalNumber.h:
3429 (WTF::DecimalNumber::DecimalNumber):
3437 * wtf/MediaTime.cpp:
3438 (WTF::MediaTime::createWithFloat):
3439 (WTF::MediaTime::createWithDouble):
3443 2013-02-18 Laszlo Gombos <l.gombos@samsung.com>
3445 Move ENABLE macros for WebCore out from Platform.h
3446 https://bugs.webkit.org/show_bug.cgi?id=105735
3448 Reviewed by Darin Adler and Benjamin Poulain.
3450 Introduce FeatureDefines.h by combining the existing rules from
3451 Platform.h and adding new rules for all the ENABLE flags that are
3452 listed in the FeatureFlags wiki.
3454 The new rules are not used at the moment by any ports
3455 as the port specific build systems already define these flags
3456 so the !defined() guard will prevent redefinition of the macros.
3458 * GNUmakefile.list.am: Add FeatureDefines.h.
3461 * WTF.vcproj/WTF.vcproj: Ditto.
3462 * WTF.xcodeproj/project.pbxproj: Ditto.
3463 * wtf/CMakeLists.txt: Ditto.
3464 * wtf/FeatureDefines.h: Added.
3465 * wtf/Platform.h: Move macro definitions to FeatureDefines.h.
3467 2013-02-16 Darin Adler <darin@apple.com>
3469 Remove redundant use of inline keyword in StringHasher.h
3470 https://bugs.webkit.org/show_bug.cgi?id=110036
3472 Reviewed by Geoffrey Garen.
3474 I have some other improvements for StringHasher.h, but wanted to get the simplest ones
3475 out of the way first.
3477 * wtf/StringHasher.h: Remove inline keyword on functions inside the class definition,
3478 since functions defined inside the class are automatically inline.
3480 2013-02-15 Martin Robinson <mrobinson@igalia.com>
3482 [GTK] Spread the gyp build files throughout the tree
3483 https://bugs.webkit.org/show_bug.cgi?id=109960
3485 Reviewed by Dirk Pranke.
3487 * WTF.gyp/WTFGTK.gyp: Renamed from Source/WebKit/gtk/gyp/WTF.gyp.
3489 2013-02-15 Anders Carlsson <andersca@apple.com>
3491 Add HashMap::isValidKey and HashSet::isValidValue
3492 https://bugs.webkit.org/show_bug.cgi?id=109977
3494 Reviewed by Sam Weinig and Darin Adler.
3496 Add helper functions for determining whether keys are valid, i.e. if
3497 they are _not_ empty or deleted according to the hash traits.
3502 2013-02-15 Laszlo Gombos <l.gombos@samsung.com>
3504 Remove support for RVCT version less than 4.0
3505 https://bugs.webkit.org/show_bug.cgi?id=109390
3507 The 4.0 version of the RVCT compiler was
3510 Remove support for version older then 4.0 of RVCT,
3511 and keep the support for newer RVCT versions.
3513 Reviewed by Zoltan Herczeg.
3515 * WTF.gypi: Remove StringExtras.cpp.
3516 * WTF.vcproj/WTF.vcproj: Remove StringExtras.cpp.
3517 * WTF.vcxproj/WTF.vcxproj: Remove StringExtras.cpp.
3518 * WTF.vcxproj/WTF.vcxproj.filters: Remove StringExtras.cpp.
3519 * WTF.xcodeproj/project.pbxproj: Remove StringExtras.cpp.
3520 * wtf/CMakeLists.txt: Remove StringExtras.cpp.
3521 * wtf/Compiler.h: Remove tests for RVCT_VERSION_AT_LEAST(3, 0, 0, 0).
3522 * wtf/Float32Array.h: Remove a quirk introduced for RVCT version <=2.2 .
3523 * wtf/Float64Array.h: Ditto.
3524 * wtf/Int16Array.h: Ditto.
3525 * wtf/Int32Array.h: Ditto.
3526 * wtf/Int8Array.h: Ditto.
3527 * wtf/MathExtras.h: Remove a quirk needed for RVCT version <= 3.0.
3528 * wtf/Platform.h: Remove test for RVCT 4.0. Remove OS(RVCT).
3529 * wtf/StringExtras.cpp: Removed.
3530 * wtf/StringExtras.h: Remove a quirk introduced for RVCT version < 4.0.
3531 * wtf/Uint16Array.h: Remove a quirk introduced for RVCT version <= 2.2.
3532 * wtf/Uint32Array.h: Ditto.
3533 * wtf/Uint8Array.h: Ditto.
3534 * wtf/Uint8ClampedArray.h: Ditto.
3536 2013-02-15 Christophe Dumez <ch.dumez@sisa.samsung.com>
3538 Add CString operators for comparison with const char*
3539 https://bugs.webkit.org/show_bug.cgi?id=109947
3541 Reviewed by Darin Adler.
3543 Add operators to WTF::CString for equality/inequality comparison
3544 with const char* strings. This avoids constructing a CString
3545 from a const char* in such cases, which is can be expensive as
3546 it would copy it and call strlen().
3548 * wtf/text/CString.cpp:
3549 (WTF::operator==): Use memcmp instead of strncmp to compare the
3550 CString buffers as we know they are the same size and we don't
3551 want to scan for terminating null byte.
3553 * wtf/text/CString.h:
3557 2013-02-15 Geoffrey Garen <ggaren@apple.com>
3559 Merged the global function cache into the source code cache
3560 https://bugs.webkit.org/show_bug.cgi?id=108660
3562 Reviewed by Sam Weinig.
3564 Responding to review comments by Darin Adler.
3566 * wtf/HashTraits.h: Added a using directive to simplify client code.
3568 2013-02-14 Dan Bernstein <mitz@apple.com>
3570 No easy way to use a RetainPtr as a key in a HashMap using object (rather than pointer) equality
3571 https://bugs.webkit.org/show_bug.cgi?id=109864
3573 Reviewed by Sam Weinig and Benjamin Poulain.
3575 Added RetainPtrObjectHashTraits and RetainPtrObjectHash, which use CFEqual
3579 (RetainPtrObjectHashTraits):
3580 (WTF::RetainPtrObjectHashTraits::emptyValue):
3581 (WTF::RetainPtrObjectHashTraits::constructDeletedValue):
3582 (WTF::RetainPtrObjectHashTraits::isDeletedValue):
3584 (WTF::RetainPtrObjectHash::hash):
3585 (WTF::RetainPtrObjectHash::equal):
3586 (RetainPtrObjectHash):
3588 2013-02-14 Tony Chang <tony@chromium.org>
3590 Unreviewed, set svn:eol-style native for .sln, .vcproj, and .vsprops files.
3591 https://bugs.webkit.org/show_bug.cgi?id=96934
3593 * WTF.vcproj/WTF.sln: Modified property svn:eol-style.
3595 2013-02-14 Tony Chang <tony@chromium.org>
3597 Unreviewed, set svn:eol-style CRLF for .sln files.
3599 * WTF.vcproj/WTF.sln: Added property svn:eol-style.
3601 2013-02-14 David Kilzer <ddkilzer@apple.com>
3603 [Mac] Clean up WARNING_CFLAGS
3604 <http://webkit.org/b/109747>
3605 <rdar://problem/13208373>
3607 Reviewed by Mark Rowe.
3609 * Configurations/Base.xcconfig: Use
3610 GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
3611 -Wshorten-64-to-32 rather than WARNING_CFLAGS.
3613 * WTF.vcproj/WTF.sln: Added property svn:eol-style.
3615 2013-02-14 Eric Seidel <eric@webkit.org>
3617 String(Vector) behaves differently from String(vector.data(), vector.size()) for vectors with inline capacity in the size=0 case
3618 https://bugs.webkit.org/show_bug.cgi?id=109784
3620 Reviewed by Darin Adler.
3622 This makes String(Vector) never return null strings.
3623 Which matches behavior of String(UChar*, size_t)
3624 for vectors with inlineCapacity, but differs from
3625 String(UChar*, size_t) in the no-inlineCapacity case.
3627 This incidentally will fix a behavioral regression
3628 in the html threaded parser which came from converting
3629 many String(UChar*, size_t) callsites to using String(Vector).
3631 * wtf/text/WTFString.h:
3633 (WTF::String::String):
3635 2013-02-14 Eric Seidel <eric@webkit.org>
3637 REGRESSION(r142712): attribute values show up as "(null)" instead of null with the threaded parser
3638 https://bugs.webkit.org/show_bug.cgi?id=109784
3640 Reviewed by Benjamin Poulain.
3642 When I changed many callsites to use the (existing) String(Vector) constructor
3643 I inadvertantly made those callsites convert empty vectors to null strings
3644 instead of empty strings (like String(UChar,size_t) does).
3646 This is due to an oddity/bug in our Vector implementation where data()
3647 will be 0 if the Vector is empty, but only if it doesn't have inline capacity.
3648 https://bugs.webkit.org/show_bug.cgi?id=109792
3650 This changes String(Vector) to exactly match the behavior of String(vector.data(), vector.size()).
3652 This regression was easily detectable with the threaded parser, because we use String
3653 instead of AtomicString in our CompactToken (used to send the Token data
3654 between threads). The main-thread parser path uses AtomicHTMLToken which
3655 uses AtomicString(Vector) and does not have this bug.
3657 * wtf/text/WTFString.h:
3659 (WTF::String::String):
3661 2013-02-13 Zan Dobersek <zdobersek@igalia.com>
3663 The 'global isinf/isnan' compiler quirk required when using clang with libstdc++
3664 https://bugs.webkit.org/show_bug.cgi?id=109325
3666 Reviewed by Anders Carlsson.
3668 Prefix calls to the isinf and isnan methods with std::, declaring we want to use the
3669 two methods as they're provided by the C++ standard library being used.
3671 * wtf/Compiler.h: Remove the global isinf/isnan compiler quirk definitions. They're not required anymore.
3672 * wtf/DateMath.cpp: Move the workaround for isinf on Solaris into the std namespace. Ditto for isinf and isnan
3673 when using MSVC. Stop bringing the isinf and isnan methods into the global scope when using other configurations.
3674 (WTF::parseDateFromNullTerminatedCharacters):
3675 * wtf/IntegralTypedArrayBase.h: