14dd56cc98c49390884b06487ed0df1397b34f62
[WebKit-https.git] / Source / WTF / ChangeLog
1 2014-12-09  David Kilzer  <ddkilzer@apple.com>
2
3         Switch from using PLATFORM_NAME to SDK selectors in ANGLE, bmalloc, gtest, JavaScriptCore, WTF
4         <http://webkit.org/b/139212>
5
6         Reviewed by Joseph Pecoraro.
7
8         * Configurations/Base.xcconfig:
9         - Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
10           on OS X.
11         * Configurations/DebugRelease.xcconfig:
12         - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
13
14 2014-12-09  Dean Jackson  <dino@apple.com>
15
16         [Apple] Use Accelerate framework to speed-up FEGaussianBlur
17         https://bugs.webkit.org/show_bug.cgi?id=139310
18
19         Unreviewed followup, after comments by Andreas Kling.
20
21         It was pointed out that we already have a USE(ACCELERATE), so
22         we don't need a HAVE(ACCELERATE) :)
23
24         * wtf/Platform.h:
25
26 2014-12-09  Alberto Garcia  <berto@igalia.com>
27
28         Undefined Symbol build error "_objc_registerThreadWithCollector" when building WebKit GTK Mac OS X on Snow Leopard
29         https://bugs.webkit.org/show_bug.cgi?id=58737
30
31         Reviewed by Darin Adler.
32
33         Replace OS(MAC_OS_X) with PLATFORM(MAC) to prevent using
34         osx-specific code in WebKitGTK+ builds.
35
36         * wtf/ThreadingPthreads.cpp:
37         (WTF::initializeCurrentThreadInternal):
38
39 2014-12-08  Dean Jackson  <dino@apple.com>
40
41         [Apple] Use Accelerate framework to speed-up FEGaussianBlur
42         https://bugs.webkit.org/show_bug.cgi?id=139310
43         <rdar://problem/18434594>
44
45         Reviewed by Simon Fraser.
46
47         Add a HAVE_ACCELERATE flag, true on Apple platforms.
48
49         * wtf/Platform.h:
50
51 2014-12-08  Myles C. Maxfield  <mmaxfield@apple.com>
52
53         Fix iOS build after r176971.
54
55         I had previously modified the WTF forwarding header instead of modifying the real source.
56
57         * wtf/unicode/CharacterNames.h:
58
59 2014-12-08  Anders Carlsson  <andersca@apple.com>
60
61         Change WTF::currentCPUTime to return std::chrono::microseconds and get rid of currentCPUTimeMS
62         https://bugs.webkit.org/show_bug.cgi?id=139410
63
64         Reviewed by Andreas Kling.
65
66         * wtf/CurrentTime.cpp:
67         (WTF::currentCPUTime):
68         (WTF::currentCPUTimeMS): Deleted.
69         * wtf/CurrentTime.h:
70
71 2014-12-08  Chris Dumez  <cdumez@apple.com>
72
73         Revert r176293 & r176275
74
75         Unreviewed, revert r176293 & r176275 changing the Vector API to use unsigned type
76         instead of size_t. There is some disagreement regarding the long-term direction
77         of the API and we shouldn’t leave the API partly transitioned to unsigned type
78         while making a decision.
79
80         * wtf/Forward.h:
81         * wtf/Vector.h:
82         (WTF::VectorTypeOperations::compare):
83         (WTF::VectorBufferBase::allocateBuffer):
84         (WTF::VectorBufferBase::tryAllocateBuffer):
85         (WTF::VectorBufferBase::shouldReallocateBuffer):
86         (WTF::VectorBufferBase::reallocateBuffer):
87         (WTF::VectorBufferBase::capacity):
88         (WTF::VectorBufferBase::VectorBufferBase):
89         (WTF::VectorBuffer::VectorBuffer):
90         (WTF::VectorBuffer::allocateBuffer):
91         (WTF::VectorBuffer::tryAllocateBuffer):
92         (WTF::VectorBuffer::shouldReallocateBuffer):
93         (WTF::VectorBuffer::reallocateBuffer):
94         (WTF::VectorBuffer::swap):
95         (WTF::VectorBuffer::swapInlineBuffer):
96         (WTF::VectorBuffer::swapInlineBuffers):
97         (WTF::Vector::Vector):
98         (WTF::Vector::capacity):
99         (WTF::Vector::at):
100         (WTF::Vector::operator[]):
101         (WTF::OverflowHandler>::find):
102         (WTF::OverflowHandler>::reverseFind):
103         (WTF::OverflowHandler>::fill):
104         (WTF::OverflowHandler>::expandCapacity):
105         (WTF::OverflowHandler>::tryExpandCapacity):
106         (WTF::OverflowHandler>::resize):
107         (WTF::OverflowHandler>::resizeToFit):
108         (WTF::OverflowHandler>::shrink):
109         (WTF::OverflowHandler>::grow):
110         (WTF::OverflowHandler>::reserveCapacity):
111         (WTF::OverflowHandler>::tryReserveCapacity):
112         (WTF::OverflowHandler>::reserveInitialCapacity):
113         (WTF::OverflowHandler>::shrinkCapacity):
114         (WTF::OverflowHandler>::append):
115         (WTF::OverflowHandler>::tryAppend):
116         (WTF::OverflowHandler>::insert):
117         (WTF::OverflowHandler>::insertVector):
118         (WTF::OverflowHandler>::remove):
119         (WTF::OverflowHandler>::reverse):
120         (WTF::OverflowHandler>::checkConsistency):
121         * wtf/text/AtomicString.h:
122         * wtf/text/StringImpl.h:
123         (WTF::StringImpl::adopt):
124         (WTF::equalIgnoringNullity):
125         * wtf/text/StringView.h:
126         (WTF::append):
127         * wtf/text/WTFString.h:
128
129 2014-12-07  Andreas Kling  <akling@apple.com>
130
131         Use more PassRef in AtomicString.
132         <https://webkit.org/b/139319>
133
134         Reviewed by Antti Koivisto.
135
136         Make a pass over AtomicString and convert functions that return PassRefPtr
137         into returning RefPtr (where it may be null) and PassRef otherwise.
138         This allows the compiler to skip null checks in many places.
139
140         * wtf/text/AtomicString.cpp:
141         (WTF::addToStringTable):
142         (WTF::AtomicString::add):
143         (WTF::AtomicString::addFromLiteralData):
144         (WTF::AtomicString::addSlowCase):
145         * wtf/text/AtomicString.h:
146         (WTF::AtomicString::add):
147         (WTF::AtomicString::addWithStringTableProvider):
148         * wtf/text/cf/AtomicStringCF.cpp:
149         (WTF::AtomicString::add):
150
151 2014-12-05  Roger Fong  <roger_fong@apple.com>
152
153         [Win] proj files copying over too many resources..
154         https://bugs.webkit.org/show_bug.cgi?id=139315.
155         <rdar://problem/19148278>
156
157         Reviewed by Brent Fulgham.
158
159         * WTF.vcxproj/WTF.proj: Only copy WTF.dll.
160
161 2014-12-05  Andreas Kling  <akling@apple.com>
162
163         PassRef should deref on destruction if pointee was not moved.
164         <https://webkit.org/b/139309>
165
166         Reviewed by Antti Koivisto.
167
168         Let PassRef become nullptr internally after having WTF::move()'d the pointee.
169         This means that PassRef is now essentially a PassRefPtr that can only be
170         constructed with a non-null pointee.
171
172         This should make it possible for all ::create()-style construction helpers to
173         return PassRef, removing a branch in each case.
174
175         * wtf/PassRef.h:
176         (WTF::PassRef<T>::PassRef):
177         (WTF::PassRef<T>::~PassRef):
178         (WTF::PassRef<T>::get):
179         (WTF::PassRef<T>::ptr):
180         (WTF::PassRef<T>::leakRef):
181         (WTF::PassRef<T>::dropRef): Deleted.
182
183 2014-12-05  Jer Noble  <jer.noble@apple.com>
184
185         [WTF] MediaTime should support round-tripping from and to doubles.
186         https://bugs.webkit.org/show_bug.cgi?id=139248
187
188         Reviewed by Eric Carlson.
189
190         MediaTimes should be able to return precisely the same double value as was used
191         when the MediaTime was created, so long as that MediaTime was not modified in a
192         non-destructive way. This will allow API which accepts floating-point values to
193         return the exact same value when asked, but still be able to store that value
194         as a MediaTime.
195
196         * wtf/MediaTime.cpp:
197         (WTF::MediaTime::createWithFloat): Added; store the floating-point value in a union.
198         (WTF::MediaTime::createWithDouble): Ditto.
199         (WTF::MediaTime::toFloat): If the value is a double, just return it.
200         (WTF::MediaTime::toDouble): Ditto.
201         (WTF::MediaTime::operator+): Special case when one or both sides are doubles.
202         (WTF::MediaTime::operator-): Ditto.
203         (WTF::MediaTime::operator*): Ditto.
204         (WTF::MediaTime::compare): Ditto.
205         (WTF::abs): Ditto.
206         (WTF::MediaTime::setTimeScale): Convert the MediaTime from a double.
207
208 2014-12-05  peavo@outlook.com  <peavo@outlook.com>
209
210         [WinCairo] WTF project is missing a GStreamer source file.
211         https://bugs.webkit.org/show_bug.cgi?id=139296
212
213         Reviewed by Philippe Normand.
214
215         The WTF project file is missing a GStreamer source file,
216         causing a link error when compiling with GStreamer enabled.
217
218         * WTF.vcxproj/WTF.vcxproj:
219         * WTF.vcxproj/WTF.vcxproj.filters:
220
221 2014-12-04  David Kilzer  <ddkilzer@apple.com>
222
223         REGRESSION (r176683): RefCounter.h is installed outside SDKROOT
224
225         * WTF.xcodeproj/project.pbxproj: Don't mark RefCounter.h as a
226         private header.  WTF headers use a special build phase script to
227         be installed.
228
229 2014-12-04  Anders Carlsson  <andersca@apple.com>
230
231         Make API::String copy the underlying strings if needed, for thread safety
232         https://bugs.webkit.org/show_bug.cgi?id=139261
233
234         Reviewed by Sam Weinig.
235
236         * wtf/RefPtr.h:
237         (WTF::RefPtr<T>::leakRef):
238         Add a leakRef() to RefPtr so we don't have to go through PassRefPtr.
239
240         * wtf/text/WTFString.cpp:
241         (WTF::String::isSafeToSendToAnotherThread):
242         Check if the string is empty before checking whether it's in an atomic string table.
243         It's safe to send empty strings to other threads even if they're in the atomic string table
244         since they will never be deallocated.
245
246 2014-12-04  Csaba Osztrogonác  <ossy@webkit.org>
247
248         Fix cast-align warning in StringImpl.h
249         https://bugs.webkit.org/show_bug.cgi?id=139222
250
251         Reviewed by Anders Carlsson.
252
253         * wtf/text/StringImpl.h:
254         (WTF::StringImpl::tailPointer):
255
256 2014-12-02  Mark Lam  <mark.lam@apple.com>
257
258         Rolling out r176592, r176603, r176616, and r176705 until build and perf issues are resolved.
259         https://bugs.webkit.org/show_bug.cgi?id=138821
260
261         Not reviewed.
262
263         * WTF.vcxproj/WTF.vcxproj:
264         * WTF.vcxproj/WTF.vcxproj.filters:
265         * WTF.xcodeproj/project.pbxproj:
266         * wtf/IndexedIterator.h: Removed.
267         * wtf/RefCountedArray.h:
268         (WTF::RefCountedArray::RefCountedArray):
269         * wtf/Vector.h:
270         (WTF::Vector::Vector):
271         (WTF::Vector::begin):
272         (WTF::Vector::end):
273         (WTF::OverflowHandler>::Vector):
274         (WTF::=):
275         (WTF::OverflowHandler>::fill):
276         (WTF::OverflowHandler>::expandCapacity):
277         (WTF::OverflowHandler>::tryExpandCapacity):
278         (WTF::OverflowHandler>::resize):
279         (WTF::OverflowHandler>::shrink):
280         (WTF::OverflowHandler>::grow):
281         (WTF::OverflowHandler>::reserveCapacity):
282         (WTF::OverflowHandler>::tryReserveCapacity):
283         (WTF::OverflowHandler>::shrinkCapacity):
284         (WTF::OverflowHandler>::append):
285         (WTF::OverflowHandler>::tryAppend):
286         (WTF::OverflowHandler>::appendSlowCase):
287         (WTF::OverflowHandler>::uncheckedAppend):
288         (WTF::OverflowHandler>::appendVector):
289         (WTF::OverflowHandler>::insert):
290         (WTF::OverflowHandler>::insertVector):
291         (WTF::OverflowHandler>::remove):
292
293 2014-12-02  Oliver Hunt  <oliver@apple.com>
294
295         Fix IOS builds.
296
297         * wtf/IndexedIterator.h:
298
299 2014-12-02  Gavin Barraclough  <barraclough@apple.com>
300
301         Generalize PageActivityAssertionToken
302         https://bugs.webkit.org/show_bug.cgi?id=139106
303
304         Reviewed by Sam Weinig.
305
306         PageActivityAssertionToken is a RAII mechanism implementing a counter, used by PageThrottler
307         to count user visible activity in progress on the page (currently page load and media playback).
308         Use of an RAII type is prevents a number of possible errors, including double counting a single
309         media element, or failing to decrement the count after a media element has been deallocated.
310
311         The current implementation has a number of drawbacks that have been addressed by this refactoring:
312          - specific to single use in PageThrottler class - not reusable.
313          - incomplete encapsulation - the counter and WeakPtrFactory that comprise the current implementation
314            are not encapsulated (are in the client type, PageThrottler).
315          - tokens are not shared - PageActivityAssertionToken instances are managed by std::unique, every
316            increment requires an object allocation.
317          - redundancy - the current implementation uses a WeakPtr to safely reference the PageThrottler, this
318            is internally implemented using a reference counted type, resulting in two counters being
319            incremented (one in the PageActivityAssertionToken, one in the PageThrottler).
320
321         In the reimplementation:
322          - a callback is provided via a lambda function, which allows for easy reuse without a lot of
323            boilerplate code.
324          - the counter, callback and ownership of the otherwise weakly-owned token is encapsulated within the
325            RefCounter type.
326          - a single count within RefCounter::Count stores the counter value, and also manage the lifetime
327            of this object.
328          - standard RefPtrs are used to manage references to the RefCounter::Count.
329
330         * WTF.xcodeproj/project.pbxproj:
331             - added RefCounter.cpp/.h
332         * wtf/RefCounter.cpp: Added.
333         (WTF::RefCounter::Count::ref):
334             - increment the counter.
335         (WTF::RefCounter::Count::deref):
336             - decrement the counter, and delete as necessary.
337         (WTF::RefCounter::RefCounter):
338             - create a RefCounter::Count.
339         (WTF::RefCounter::~RefCounter):
340             - eagerly delete the Counter if it has no references, otherwise let it be deleted on last deref.
341         * wtf/RefCounter.h: Added.
342         (WTF::RefCounter::Count::Count):
343             - initialize count to 0.
344         (WTF::RefCounter::RefCounter):
345             - takes a lambda to be called when the value changes.
346         (WTF::RefCounter::count):
347             - reference the counter (and in doing so increment the count).
348         (WTF::RefCounter::value):
349             - access the current value of the counter.
350
351 2014-12-01  Andreas Kling  <akling@apple.com>
352
353         Optimize constructing JSC::Identifier from AtomicString.
354         <https://webkit.org/b/139157>
355
356         Reviewed by Michael Saboff.
357
358         Make AtomicString::isInAtomicStringTable() public so it can be used
359         in some Identifier assertions.
360
361         * wtf/text/AtomicString.h:
362
363 2014-12-01  Oliver Hunt  <oliver@apple.com>
364
365         Fix non-mac builds.
366
367         * wtf/IndexedIterator.h:
368
369 2014-12-01  Oliver Hunt  <oliver@apple.com>
370
371         Fix 32-bit build.
372
373         * wtf/IndexedIterator.h:
374
375 2014-11-17  Oliver Hunt  <oliver@apple.com>
376
377         Make sure range based iteration of Vector<> still receives bounds checking
378         https://bugs.webkit.org/show_bug.cgi?id=138821
379
380         Reviewed by Mark Lam.
381
382         Add a new IndexedIterator struct to WTF that wraps a
383         Vector type and index to provide pointer like semantics
384         while still performing runtime bounds checking, even in
385         release builds. We store a simple index into the vector
386         which means that this iterator allows vector resizing
387         during iteration. If the vector is resized such that the
388         iterator is out of bounds, then any attempt to dereference
389         the iterator will crash safely. Any other errors, including
390         overflows, and over extending the iterator will likewise
391         crash.
392
393         For the purpose of retaining semantically equivalent
394         behaviour, the iterator can be moved to m_index == size()
395         as that is the standard "end" terminator for these types.
396         Attempting to dereference at that point will still crash
397         rather than perform an unsafe memory operation.
398
399         In order to maintain the validity of all the bounds checking,
400         we perform full integer range checking prior to any mutation
401         of the iterator location. If we detect an arithmetic overflow
402         we will crash rather than attempting to carry on.
403
404         By necessity there are many overrides for operator + and - as
405         we otherwise hit many different type promotion ambiguities when
406         performing arithmetic with iterators. These ambiguities are also
407         different for 32- vs. 64-bit, so duplicating the functions
408         and then forwarding to the core implementations that performed
409         the bounds checking and mutation seemed like the right call.
410
411         * WTF.xcodeproj/project.pbxproj:
412         * wtf/IndexedIterator.h: Added.
413         (WTF::IndexedIterator::IndexedIterator):
414         (WTF::IndexedIterator::operator->):
415         (WTF::IndexedIterator::operator*):
416         (WTF::IndexedIterator::get):
417         (WTF::IndexedIterator::operator++):
418         (WTF::IndexedIterator::operator--):
419         (WTF::IndexedIterator::operator UnspecifiedBoolType):
420         (WTF::IndexedIterator::operator+=):
421         (WTF::IndexedIterator::operator-=):
422         (WTF::IndexedIterator::operator+):
423         (WTF::IndexedIterator::operator-):
424         (WTF::IndexedIterator::operator=):
425         (WTF::IndexedIterator::operator==):
426         (WTF::IndexedIterator::operator!=):
427         (WTF::IndexedIterator::operator<):
428         (WTF::IndexedIterator::operator<=):
429         (WTF::IndexedIterator::operator>):
430         (WTF::IndexedIterator::operator>=):
431         (WTF::IndexedIterator::operator const_iterator):
432         (WTF::IndexedIterator::isSafeToCompare):
433         (WTF::IndexedIterator::unsafeGet):
434         (WTF::getPtr):
435         (WTF::operator-):
436         (WTF::operator==):
437         (WTF::operator!=):
438         (WTF::operator<=):
439         (WTF::operator>=):
440         (WTF::operator<):
441         (WTF::operator>):
442         (WTF::IndexedIteratorSelector::makeIterator):
443         (WTF::IndexedIteratorSelector::makeConstIterator):
444         * wtf/RefCountedArray.h:
445         (WTF::RefCountedArray::RefCountedArray):
446         * wtf/Vector.h:
447         (WTF::Vector::Vector):
448         (WTF::Vector::begin):
449         (WTF::Vector::end):
450         (WTF::OverflowHandler>::Vector):
451         (WTF::=):
452         (WTF::OverflowHandler>::fill):
453         (WTF::OverflowHandler>::expandCapacity):
454         (WTF::OverflowHandler>::tryExpandCapacity):
455         (WTF::OverflowHandler>::resize):
456         (WTF::OverflowHandler>::shrink):
457         (WTF::OverflowHandler>::grow):
458         (WTF::OverflowHandler>::reserveCapacity):
459         (WTF::OverflowHandler>::tryReserveCapacity):
460         (WTF::OverflowHandler>::shrinkCapacity):
461         (WTF::OverflowHandler>::append):
462         (WTF::OverflowHandler>::tryAppend):
463         (WTF::OverflowHandler>::appendSlowCase):
464         (WTF::OverflowHandler>::uncheckedAppend):
465         (WTF::OverflowHandler>::appendVector):
466         (WTF::OverflowHandler>::insert):
467         (WTF::OverflowHandler>::insertVector):
468         (WTF::OverflowHandler>::remove):
469
470 2014-11-30  Ryuan Choi  <ryuan.choi@navercorp.com>
471
472         [EFL] Drop support for the EFL 1.7
473         https://bugs.webkit.org/show_bug.cgi?id=139114
474
475         Reviewed by Gyuyoung Kim.
476
477         * wtf/efl/EflTypedefs.h: Removed old definitions which EFL 1.7 used.
478
479 2014-11-21  Anders Carlsson  <andersca@apple.com>
480
481         Remove the Timer parameters from timer callbacks
482         https://bugs.webkit.org/show_bug.cgi?id=138974
483
484         Reviewed by Antti Koivisto.
485
486         * wtf/RunLoopTimer.h:
487         (WTF::RunLoopTimer::RunLoopTimer):
488         (WTF::RunLoopTimer::fired):
489
490 2014-11-18  Chris Dumez  <cdumez@apple.com>
491
492         Have Vector::capacity() return an unsigned instead of a size_t
493         https://bugs.webkit.org/show_bug.cgi?id=138842
494
495         Reviewed by Andreas Kling.
496
497         Have Vector::capacity() return an unsigned instead of a size_t as
498         capacity is stored as an unsigned internally.
499
500         * wtf/Vector.h:
501         (WTF::Vector::capacity):
502         (WTF::OverflowHandler>::expandCapacity):
503         (WTF::OverflowHandler>::tryExpandCapacity):
504
505 2014-11-18  Geoffrey Garen  <ggaren@apple.com>
506
507         Removed the custom allocator for ListHashSet nodes
508         https://bugs.webkit.org/show_bug.cgi?id=138841
509
510         Reviewed by Andreas Kling.
511
512         bmalloc is fast, so we don't need a custom allocator.
513
514         The MallocBench test for linked list node allocation (list_allocate) is
515         4.09X faster in bmalloc than TCMalloc. Also, I wrote a stress test to
516         add/remove link elements, which modify a ListHashSet on insertion and
517         removal, and it was 1% faster / in the noise with bmalloc enabled.
518
519         * wtf/ListHashSet.h:
520         (WTF::ListHashSetNode::ListHashSetNode):
521         (WTF::ListHashSetTranslator::translate):
522         (WTF::U>::ListHashSet):
523         (WTF::=):
524         (WTF::U>::swap):
525         (WTF::U>::~ListHashSet):
526         (WTF::U>::size):
527         (WTF::U>::capacity):
528         (WTF::U>::isEmpty):
529         (WTF::U>::first):
530         (WTF::U>::removeFirst):
531         (WTF::U>::takeFirst):
532         (WTF::U>::last):
533         (WTF::U>::removeLast):
534         (WTF::U>::takeLast):
535         (WTF::U>::contains):
536         (WTF::U>::remove):
537         (WTF::U>::clear):
538         (WTF::U>::unlink):
539         (WTF::U>::unlinkAndDelete):
540         (WTF::U>::appendNode):
541         (WTF::U>::prependNode):
542         (WTF::U>::insertNodeBefore):
543         (WTF::U>::deleteAllNodes):
544         (WTF::ListHashSetNodeAllocator::ListHashSetNodeAllocator): Deleted.
545         (WTF::ListHashSetNodeAllocator::allocate): Deleted.
546         (WTF::ListHashSetNodeAllocator::deallocate): Deleted.
547         (WTF::ListHashSetNodeAllocator::pool): Deleted.
548         (WTF::ListHashSetNodeAllocator::pastPool): Deleted.
549         (WTF::ListHashSetNodeAllocator::inPool): Deleted.
550         (WTF::ListHashSetNode::operator new): Deleted.
551         (WTF::ListHashSetNode::destroy): Deleted.
552
553 2014-11-18  Chris Dumez  <cdumez@apple.com>
554
555         Update the Vector API to deal with unsigned types instead of size_t
556         https://bugs.webkit.org/show_bug.cgi?id=138824
557
558         Reviewed by Andreas Kling.
559
560         Update part of the Vector API to deal with unsigned types instead of
561         size_t. The Vector class is already using unsigned type for its
562         capacity and size data members. However, the Vector API was never
563         updated accordingly.
564
565         The rest of the Vector API will be ported in follow-up patches to
566         make the change smaller and more easily reviewable.
567
568         * wtf/Forward.h:
569         * wtf/Vector.h:
570         (WTF::VectorTypeOperations::compare):
571         (WTF::VectorBufferBase::allocateBuffer):
572         (WTF::VectorBufferBase::tryAllocateBuffer):
573         (WTF::VectorBufferBase::shouldReallocateBuffer):
574         (WTF::VectorBufferBase::reallocateBuffer):
575         (WTF::VectorBufferBase::capacity):
576         (WTF::VectorBufferBase::VectorBufferBase):
577         (WTF::VectorBuffer::VectorBuffer):
578         (WTF::VectorBuffer::allocateBuffer):
579         (WTF::VectorBuffer::tryAllocateBuffer):
580         (WTF::VectorBuffer::shouldReallocateBuffer):
581         (WTF::VectorBuffer::reallocateBuffer):
582         (WTF::VectorBuffer::swap):
583         (WTF::VectorBuffer::swapInlineBuffer):
584         (WTF::VectorBuffer::swapInlineBuffers):
585         (WTF::Vector::Vector):
586         (WTF::Vector::at):
587         (WTF::Vector::operator[]):
588         (WTF::OverflowHandler>::find):
589         (WTF::OverflowHandler>::reverseFind):
590         (WTF::OverflowHandler>::fill):
591         (WTF::OverflowHandler>::expandCapacity):
592         (WTF::OverflowHandler>::tryExpandCapacity):
593         (WTF::OverflowHandler>::resize):
594         (WTF::OverflowHandler>::resizeToFit):
595         (WTF::OverflowHandler>::shrink):
596         (WTF::OverflowHandler>::grow):
597         (WTF::OverflowHandler>::reserveCapacity):
598         (WTF::OverflowHandler>::tryReserveCapacity):
599         (WTF::OverflowHandler>::reserveInitialCapacity):
600         (WTF::OverflowHandler>::shrinkCapacity):
601         (WTF::OverflowHandler>::append):
602         (WTF::OverflowHandler>::tryAppend):
603         (WTF::OverflowHandler>::insert):
604         (WTF::OverflowHandler>::insertVector):
605         (WTF::OverflowHandler>::remove):
606         (WTF::OverflowHandler>::reverse):
607         (WTF::OverflowHandler>::checkConsistency):
608         * wtf/text/AtomicString.h:
609         * wtf/text/StringImpl.h:
610         (WTF::StringImpl::adopt):
611         (WTF::equalIgnoringNullity):
612         * wtf/text/StringView.h:
613         (WTF::append):
614         * wtf/text/WTFString.h:
615
616 2014-11-18  peavo@outlook.com  <peavo@outlook.com>
617
618         [WinCairo] Compile errors when GStreamer is enabled.
619         https://bugs.webkit.org/show_bug.cgi?id=137000
620
621         Reviewed by Philippe Normand.
622
623         MSVC does not allow the keyword default on move constructors and move assignment operators.
624
625         * wtf/gobject/GMainLoopSource.cpp:
626         (WTF::GMainLoopSource::cancel):
627         (WTF::GMainLoopSource::socketCallback):
628         * wtf/gobject/GMainLoopSource.h:
629         (WTF::GMainLoopSource::Context::operator=):
630
631 2014-11-17  Anders Carlsson  <andersca@apple.com>
632
633         Fix WTF build with newer versions of clang.
634         <rdar://problem/18978705>
635
636         * wtf/HashTable.h:
637         (WTF::removeIterator):
638         * wtf/dtoa/utils.h:
639         (WTF::double_conversion::BitCast):
640
641 2014-11-13  Myles C. Maxfield  <mmaxfield@apple.com>
642
643         Allow constructing a base PassRef with a derived Ref
644         https://bugs.webkit.org/show_bug.cgi?id=138701
645
646         Reviewed by Andreas Kling
647
648         * wtf/PassRef.h:
649         (WTF::PassRef<T>::PassRef):
650
651 2014-11-12  Ryuan Choi  <ryuan.choi@navercorp.com>
652
653         [EFL] Fix the build with EFL 1.12
654         https://bugs.webkit.org/show_bug.cgi?id=138245
655
656         Reviewed by Gyuyoung Kim.
657
658         * wtf/efl/UniquePtrEfl.h:
659         Removed Evas_GL.h from UniquePtrEfl.h, which is commonly included, because
660         it should not be included with official GL headers.
661
662 2014-11-12  Mark Lam  <mark.lam@apple.com>
663
664         Rename USE(MASM_PROBE) to ENABLE(MASM_PROBE).
665         <https://webkit.org/b/138661>
666
667         Reviewed by Michael Saboff.
668
669         Also move the switch for enabling the use of MASM_PROBE from JavaScriptCore's
670         config.h to WTF's Platform.h.  This ensures that the setting is consistently
671         applied even when building WebCore parts as well.
672
673         * wtf/Platform.h:
674
675 2014-11-09  Antti Koivisto  <antti@apple.com>
676
677         Remove BloomFilter size limit
678         https://bugs.webkit.org/show_bug.cgi?id=138549
679
680         Reviewed by Andreas Kling.
681
682         * wtf/BloomFilter.h: Remove the static_assert, the code works fine with somewhat larger sizes.
683
684 2014-11-09  Chris Dumez  <cdumez@apple.com>
685
686         Add a more correct way to compare floating point numbers and use it
687         https://bugs.webkit.org/show_bug.cgi?id=138527
688
689         Reviewed by Darin Adler.
690
691         To compare floating point numbers in the code base, we would often rely
692         on the following check:
693         std::abs(a - b) <= std::numeric_limits<T>::epsilon()
694
695         However, this is not correct for arbitrary floating point values, and
696         will fail for values that are not close to zero.
697
698         This patch introduces a WTF::areEssentiallyEqual() templated function
699         that can only be called with floating point types and relies on the
700         following formula from [1][2] that defines u as being "essentially
701         equal" to v if: | u - v | / |u| <= e and | u - v | / |v| <= e
702
703         [1] Knuth, D. E. "Accuracy of Floating Point Arithmetic." The Art of
704             Computer Programming. 3rd ed. Vol. 2. Boston: Addison-Wesley, 1998.
705             229-45.
706         [2] http://www.boost.org/doc/libs/1_34_0/libs/test/doc/components/test_tools/floating_point_comparison.html
707
708         * wtf/MathExtras.h:
709         (WTF::safeFPDivision):
710         (WTF::areEssentiallyEqual):
711         (WTF::withinEpsilon): Deleted.
712
713 2014-11-08  Darin Adler  <darin@apple.com>
714
715         Replace FileThread class with a single function
716         https://bugs.webkit.org/show_bug.cgi?id=138282
717
718         Reviewed by Alexey Proskuryakov.
719
720         * wtf/MessageQueue.h: Made queue work on any type and not require wrapping
721         everything in a unique_ptr.
722
723         * wtf/Threading.cpp:
724         (WTF::threadEntryPoint): Changed to use a std::function instead of a function pointer.
725         (WTF::createThread): Add a version that takes a std::function. Reimplemented the
726         old version using lambdas. Removed the obsolete versions that were there just to support
727         binary compatibility with very old versions of Safari.
728
729         * wtf/Threading.h: Removed an incorrect license header that covers code that was long ago
730         moved to a different file. Changed createThread to take a std::function instead of a function
731         pointer and data pointer. Moved internal functions after public functions.
732
733 2014-11-05  Chris Dumez  <cdumez@apple.com>
734
735         Assertion hit DOMTimer::updateTimerIntervalIfNecessary()
736         https://bugs.webkit.org/show_bug.cgi?id=138440
737
738         Reviewed by Geoffrey Garen.
739
740         Move the withinEpsilon() function to WTF to avoid code duplication.
741
742         * wtf/MathExtras.h:
743         (WTF::withinEpsilon):
744
745 2014-11-05  Chris Dumez  <cdumez@apple.com>
746
747         Allow constructing a PassRef from a Ref
748         https://bugs.webkit.org/show_bug.cgi?id=138389
749
750         Reviewed by Andreas Kling.
751
752         Allow constructing a PassRef from a Ref, similarly to PassRefPtr that
753         can be constructed from a RefPtr already. This avoids having to call
754         Ref::get() and simplifies the code a bit.
755
756         * wtf/PassRef.h:
757         (WTF::PassRef<T>::PassRef):
758
759 2014-11-05  Dan Bernstein  <mitz@apple.com>
760
761         Remove the unused deletion UI feature
762         https://bugs.webkit.org/show_bug.cgi?id=138442
763
764         Rubber-stamped by Alexey Proskuryakov.
765
766         * wtf/FeatureDefines.h: Removed definition of ENABLE_DELETION_UI.
767
768 2014-11-03  Dean Jackson  <dino@apple.com>
769
770         Add ENABLE_FILTERS_LEVEL_2 feature guard.
771         https://bugs.webkit.org/show_bug.cgi?id=138362
772
773         Reviewed by Tim Horton.
774
775         Add a new feature define for Level 2 of CSS Filters.
776         http://dev.w3.org/fxtf/filters-2/
777
778         * wtf/FeatureDefines.h:
779
780 2014-11-05  Csaba Osztrogonác  <ossy@webkit.org>
781
782         Enable ARMv7 disassembler for all platforms
783         https://bugs.webkit.org/show_bug.cgi?id=138415
784
785         Reviewed by Darin Adler.
786
787         * wtf/Platform.h:
788
789 2014-11-04  Chris Dumez  <cdumez@apple.com>
790
791         Add ptr() method to Ref class
792         https://bugs.webkit.org/show_bug.cgi?id=138361
793
794         Reviewed by Darin Adler.
795
796         It is a very common pattern in our code base to get a pointer from a
797         Ref object. Previously, we have to call Ref.get() and take its address
798         which is not very nice. This patch adds a ptr() method to Ref class
799         to simplify the code a bit.
800
801         * wtf/PassRef.h:
802         (WTF::PassRef<T>::ptr):
803         * wtf/Ref.h:
804         (WTF::Ref::ptr):
805         (WTF::GetPtrHelper<Ref<T>>::getPtr):
806
807 2014-11-04  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
808
809         ATTR_USED incorrectly applying to Clang
810         https://bugs.webkit.org/show_bug.cgi?id=138313
811
812         Reviewed by Csaba Osztrogonác.
813
814         ATTR_USED was only intended for GCC. Also limit it to ENABLE(FTL_NATIVE_CALL_INLINING)
815         since that's the only thing it's needed for.
816
817         * wtf/Platform.h:
818
819 2014-11-03  Chris Dumez  <cdumez@apple.com>
820
821         Allow implicit conversion from Ref<T> to T&
822         https://bugs.webkit.org/show_bug.cgi?id=138331
823
824         Reviewed by Andreas Kling.
825
826         Allow implicit conversion from Ref<T> to T& to reduce the amount of
827         Ref<>::get() calls in the code and increase readability. Unlike for
828         RefPtr, doing this for Ref should not be error prone.
829
830         * wtf/Ref.h:
831         (WTF::Ref::operator T&):
832         (WTF::Ref::operator const T&):
833         * wtf/RunLoop.cpp:
834         (WTF::RunLoop::Holder::runLoop):
835
836 2014-10-31  Jeffrey Pfau  <jpfau@apple.com>
837
838         Unreviewed, fix ASan build after r175382
839
840         * wtf/SizeLimits.cpp:
841
842 2014-10-31  Geoffrey Garen  <ggaren@apple.com>
843
844         Rolled in r175389.
845
846         WebKit was failing to build 32bit on some Apple internal systems because
847         those systems were configured to build bmalloc 64-bit-only. Those systems
848         have been updated to build bmalloc as a universal binary, so everything
849         should work fine now.
850
851         The relevant setting is controlled by an environment variable on the
852         build system, and not by the project file in the source tree, so there's
853         no new code change here.
854
855                 Enable bmalloc in 32bit builds
856                 https://bugs.webkit.org/show_bug.cgi?id=138232
857
858                 Reviewed by Andreas Kling.
859
860         * wtf/FastMalloc.cpp:
861
862 2014-10-31  Lucas Forschler  <lforschler@apple.com>
863
864         Unreviewed rollout r175389.
865         
866 2014-10-30  Dana Burkart  <dburkart@apple.com>
867
868         <rdar://problem/18821260> Prepare for the mysterious future
869
870         Reviewed by Lucas Forschler.
871
872         * Configurations/Base.xcconfig:
873         * Configurations/DebugRelease.xcconfig:
874
875 2014-10-30  Geoffrey Garen  <ggaren@apple.com>
876
877         Enable bmalloc in 32bit builds
878         https://bugs.webkit.org/show_bug.cgi?id=138232
879
880         Reviewed by Andreas Kling.
881
882         Seems to work fine.
883
884         * wtf/FastMalloc.cpp:
885
886 2014-10-30  Jeffrey Pfau  <jpfau@apple.com>
887
888         ASSERT(!m_deletionHasBegun) in RefCounted.h should be ASSERT_WITH_SECURITY_IMPLICATION
889         https://bugs.webkit.org/show_bug.cgi?id=138141
890
891         Reviewed by Alexey Proskuryakov.
892
893         * wtf/RefCounted.h:
894         (WTF::RefCountedBase::ref):
895         (WTF::RefCountedBase::relaxAdoptionRequirement):
896         (WTF::RefCountedBase::derefBase):
897         (WTF::adopted):
898
899 2014-10-28  Milan Crha  <mcrha@redhat.com>
900
901         Use constants from wtf/MathExtras.h
902         https://bugs.webkit.org/show_bug.cgi?id=137967
903
904         Reviewed by Darin Adler.
905
906         * wtf/MathExtras.h:
907
908 2014-10-28  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
909
910         [EFL] Remove unnecessary defines from OptionsEfl.cmake
911         https://bugs.webkit.org/show_bug.cgi?id=138132
912
913         Reviewed by Csaba Osztrogonác.
914
915         * wtf/Platform.h:
916
917 2014-10-27  Chris Dumez  <cdumez@apple.com>
918
919         Use separate HashMaps for common and uncommon headers in HTTPHeaderMap
920         https://bugs.webkit.org/show_bug.cgi?id=138079
921
922         Reviewed by Anders Carlsson.
923
924         Add HashTraits for C++11 strong enum types. Using integer HashTraits for
925         strong enums would be inconvenient as it would require casting between
926         integer and strong enum types.
927
928         * wtf/HashTraits.h:
929         (WTF::StrongEnumHashTraits::emptyValue):
930         (WTF::StrongEnumHashTraits::constructDeletedValue):
931         (WTF::StrongEnumHashTraits::isDeletedValue):
932
933 2014-10-25  Brian J. Burg  <burg@cs.washington.edu>
934
935         Web Inspector: timelines should not count time elapsed while paused in the debugger
936         https://bugs.webkit.org/show_bug.cgi?id=136351
937
938         Unreviewed, follow-up fix after r175203. The debugger agent should not assume
939         that the inspector environment's stopwatch has already been started.
940
941         * wtf/Stopwatch.h:
942         (WTF::Stopwatch::isActive): Added. Allow peeking at the stopwatch state.
943
944 2014-10-18  Brian J. Burg  <burg@cs.washington.edu>
945
946         Web Inspector: timelines should not count time elapsed while paused in the debugger
947         https://bugs.webkit.org/show_bug.cgi?id=136351
948
949         Reviewed by Timothy Hatcher.
950
951         * WTF.vcxproj/WTF.vcxproj:
952         * WTF.vcxproj/WTF.vcxproj.filters:
953         * WTF.xcodeproj/project.pbxproj:
954         * wtf/CMakeLists.txt:
955         * wtf/Stopwatch.h: Added. This implements a refcounted monotonic stopwatch.
956         (WTF::Stopwatch::create):
957         (WTF::Stopwatch::Stopwatch):
958         (WTF::Stopwatch::reset):
959         (WTF::Stopwatch::start):
960         (WTF::Stopwatch::stop):
961         (WTF::Stopwatch::elapsedTime):
962
963 2014-10-23  Joseph Pecoraro  <pecoraro@apple.com>
964
965         Web Inspector: Provide a way to have alternate inspector agents
966         https://bugs.webkit.org/show_bug.cgi?id=137901
967
968         Reviewed by Brian Burg.
969
970         * wtf/FeatureDefines.h:
971
972 2014-10-23  Alberto Garcia  <berto@igalia.com>
973
974         [GTK] Fix build on Hurd
975         https://bugs.webkit.org/show_bug.cgi?id=138003
976
977         Reviewed by Carlos Garcia Campos.
978
979         * wtf/InlineASM.h:
980         * wtf/Platform.h:
981
982 2014-10-22  Byungseon Shin  <sun.shin@lge.com>
983
984         String(new Date(Mar 30 2014 01:00:00)) is wrong in CET
985         https://bugs.webkit.org/show_bug.cgi?id=130967
986
987         Reviewed by Mark Lam.
988
989         By definition of calculateLocalTimeOffset, input time should be UTC time.
990         But there are many cases when input time is based on local time.
991         So, it gives erroneous results while calculating offset of DST boundary time.
992         By adding a argument to distinguish UTC and local time, we can get the correct offset.
993
994         * wtf/DateMath.cpp:
995         (WTF::calculateLocalTimeOffset):
996         (WTF::parseDateFromNullTerminatedCharacters):
997         Compensate time offset depends on UTC time or local time.
998         * wtf/DateMath.h:
999         Add argument to differenciate UTC or local time.
1000
1001 2014-10-21  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
1002
1003         Fix FTL Native Inlining for EFL
1004         https://bugs.webkit.org/show_bug.cgi?id=137774
1005
1006         Reviewed by Michael Saboff.
1007
1008         Updated guard definition for Native Inlining, and added an attribute define for marking functions
1009         that should not be left out of the symbol table.
1010
1011         * wtf/Platform.h:
1012
1013 2014-10-20  Chris Dumez  <cdumez@apple.com>
1014
1015         Use is<>() / downcast<>() for Accessibility objects
1016         https://bugs.webkit.org/show_bug.cgi?id=137286
1017
1018         Reviewed by Darin Adler.
1019
1020         Remove the legacy TYPE_CASTS_BASE() macro now that it is no longer
1021         used.
1022
1023         * wtf/Assertions.h:
1024
1025 2014-10-18  Dan Bernstein  <mitz@apple.com>
1026
1027         WorkQueue dispatches functions but isn’t a FunctionDispatcher
1028         https://bugs.webkit.org/show_bug.cgi?id=137853
1029
1030         Reviewed by Anders Carlsson.
1031
1032         * wtf/FunctionDispatcher.h: Added header guards.
1033
1034 2014-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1035
1036         [GLIB] Add API to GMainLoopSource to schedule sources after a delay in microseconds
1037         https://bugs.webkit.org/show_bug.cgi?id=137782
1038
1039         Reviewed by Sergio Villar Senin.
1040
1041         In some cases when we have a double with the time in seconds, the
1042         conversion to milliseconds ends up truncating the value to 0, and
1043         the source scheduled immediately.
1044
1045         * wtf/gobject/GMainLoopSource.cpp:
1046         (WTF::createMicrosecondsTimeoutSource): Use a custom timeout
1047         source that handles the interval in microseconds instead of milliseconds.
1048         (WTF::GMainLoopSource::scheduleAfterDelay): Use MicrosecondsTimeoutSource.
1049         (WTF::GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy): Ditto.
1050         * wtf/gobject/GMainLoopSource.h:
1051
1052 2014-10-17  Dan Bernstein  <mitz@apple.com>
1053
1054         Reverted incorrect build fix attempt.
1055
1056         * wtf/Threading.cpp:
1057
1058 2014-10-17  Dan Bernstein  <mitz@apple.com>
1059
1060         Tried to fix the Yosemite build.
1061
1062         * wtf/Threading.cpp:
1063
1064 2014-10-16  Dan Bernstein  <mitz@apple.com>
1065
1066         OSObjectPtr is missing leakRef()
1067         https://bugs.webkit.org/show_bug.cgi?id=137798
1068
1069         Reviewed by Sam Weinig.
1070
1071         * wtf/OSObjectPtr.h:
1072
1073 2014-10-14  Brent Fulgham  <bfulgham@apple.com>
1074
1075         [Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.
1076
1077         * WTF.vcxproj: Modified property svn:ignore.
1078
1079 2014-10-13  Antti Koivisto  <antti@apple.com>
1080
1081         Add StringCapture helper for thread-safe lambda capture
1082         https://bugs.webkit.org/show_bug.cgi?id=137664
1083
1084         Reviewed by Anders Carlsson.
1085
1086         There is currently no clean way to capture a String in a thread-safe manner. This will now work:
1087
1088         StringCapture stringCapture(string);
1089         auto lambdaThatRunsInAnotherThread = [stringCapture] { String string = stringCapture.string(); ... }
1090
1091         This type won't be necessary with C++14 initialized lambda capture: [string = string.isolatedCopy()].
1092
1093         * wtf/text/WTFString.h:
1094         (WTF::StringCapture::StringCapture): Create isolated copy in copy-constructor.
1095         (WTF::StringCapture::string):
1096
1097 2014-10-11  KwangHyuk Kim  <hyuki.kim@samsung.com>
1098
1099         [EFL] Enable WebP support.
1100         https://bugs.webkit.org/show_bug.cgi?id=136156
1101
1102         Reviewed by Gyuyoung Kim.
1103
1104         Enable WTF_USE_WEBP macro for WK2 Efl.
1105
1106         * wtf/Platform.h:
1107
1108 2014-10-11  Carlos Garcia Campos  <cgarcia@igalia.com>
1109
1110         [GLIB] Split GMainLoopSource moving thread safe implementation to its own class GThreadSafeMainLoopSource
1111         https://bugs.webkit.org/show_bug.cgi?id=137485
1112
1113         Reviewed by Sergio Villar Senin.
1114
1115         We made GMainLoopSource thread safe, but in most of the cases we
1116         know the sources are used by a single thread, which has an impact
1117         in the performance (mutex, GCancellable, etc.). The new class
1118         GThreadSafeMainLoopSource inherits from GMainLoopSource overriding
1119         the new virtual methods and calling the parent for the common code.
1120         GMutexLocker now supports recursive mutexes, it's a template that
1121         can wrap a GMutex or a GRecMutex. GThreadSafeMainLoopSource uses a
1122         recursive mutex using the new GMutexLocker API.
1123
1124         * wtf/PlatformEfl.cmake: Add new file to compilation.
1125         * wtf/PlatformGTK.cmake: Ditto.
1126         * wtf/gobject/GMainLoopSource.cpp:
1127         (WTF::GMainLoopSource::GMainLoopSource):
1128         (WTF::GMainLoopSource::~GMainLoopSource):
1129         (WTF::GMainLoopSource::cancel):
1130         (WTF::GMainLoopSource::schedule):
1131         (WTF::GMainLoopSource::scheduleAfterDelay):
1132         (WTF::GMainLoopSource::prepareVoidCallback):
1133         (WTF::GMainLoopSource::finishVoidCallback):
1134         (WTF::GMainLoopSource::voidCallback):
1135         (WTF::GMainLoopSource::prepareBoolCallback):
1136         (WTF::GMainLoopSource::finishBoolCallback):
1137         (WTF::GMainLoopSource::boolCallback):
1138         (WTF::GMainLoopSource::socketCallback):
1139         (WTF::GMainLoopSource::cancelWithoutLocking): Deleted.
1140         * wtf/gobject/GMainLoopSource.h:
1141         * wtf/gobject/GMutexLocker.h:
1142         (WTF::MutexWrapper<GMutex>::lock):
1143         (WTF::MutexWrapper<GMutex>::unlock):
1144         (WTF::MutexWrapper<GRecMutex>::lock):
1145         (WTF::MutexWrapper<GRecMutex>::unlock):
1146         (WTF::GMutexLocker::GMutexLocker):
1147         (WTF::GMutexLocker::lock):
1148         (WTF::GMutexLocker::unlock):
1149         * wtf/gobject/GThreadSafeMainLoopSource.cpp: Added.
1150         (WTF::GThreadSafeMainLoopSource::GThreadSafeMainLoopSource):
1151         (WTF::GThreadSafeMainLoopSource::~GThreadSafeMainLoopSource):
1152         (WTF::GThreadSafeMainLoopSource::cancel):
1153         (WTF::GThreadSafeMainLoopSource::schedule):
1154         (WTF::GThreadSafeMainLoopSource::scheduleAfterDelay):
1155         (WTF::GThreadSafeMainLoopSource::prepareVoidCallback):
1156         (WTF::GThreadSafeMainLoopSource::finishVoidCallback):
1157         (WTF::GThreadSafeMainLoopSource::voidCallback):
1158         (WTF::GThreadSafeMainLoopSource::prepareBoolCallback):
1159         (WTF::GThreadSafeMainLoopSource::finishBoolCallback):
1160         (WTF::GThreadSafeMainLoopSource::boolCallback):
1161         * wtf/gobject/GThreadSafeMainLoopSource.h: Added.
1162
1163 2014-10-09  Dean Jackson  <dino@apple.com>
1164
1165         Remove ENABLE_CSS3_CONDITIONAL_RULES
1166         https://bugs.webkit.org/show_bug.cgi?id=137571
1167
1168         Reviewed by Simon Fraser.
1169
1170         * wtf/FeatureDefines.h:
1171
1172 2014-10-09  Akos Kiss  <akiss@inf.u-szeged.hu>
1173
1174         Enable ARM64 disassembler for all platforms
1175         https://bugs.webkit.org/show_bug.cgi?id=137560
1176
1177         Reviewed by Michael Saboff.
1178
1179         Remove PLATFORM conditions from around WTF_USE_ARM64_DISASSEMBLER since
1180         the ARM64 disassembler has no platform dependencies anymore.
1181
1182         * wtf/Platform.h:
1183
1184 2014-10-08  peavo@outlook.com  <peavo@outlook.com>
1185
1186         [WinCairo] Enable JIT on 32-bit.
1187         https://bugs.webkit.org/show_bug.cgi?id=137521
1188
1189         Reviewed by Mark Lam.
1190
1191         Enable JIT on Windows 32-bit, but disable it at runtime if SSE2 is not present.
1192
1193         * wtf/Platform.h:
1194
1195 2014-10-08  Brent Fulgham  <bfulgham@apple.com>
1196
1197         [Win] Resolve warnings about missing __has_include macro under MSVC
1198         https://bugs.webkit.org/show_bug.cgi?id=137524
1199
1200         Reviewed by Anders Carlsson.
1201
1202         * wtf/Compiler.h: Provide a dummy implementation of __has_include that
1203         avoids the warning without changing compile behavior.
1204
1205 2014-10-07  Brent Fulgham  <bfulgham@apple.com>
1206
1207         [Win] Resolve some MSVC static analyzer warnings
1208         https://bugs.webkit.org/show_bug.cgi?id=137504
1209
1210         Reviewed by Dean Jackson.
1211
1212         * wtf/GregorianDateTime.cpp:
1213         (WTF::GregorianDateTime::setToCurrentLocalTime): Properly handle
1214         possible timezone error case.
1215         * wtf/OSAllocatorWin.cpp:
1216         (WTF::OSAllocator::decommit): Silence a spurious warning about using
1217         MEM_DECOMMIT instead of MEM_RELEASE.
1218         * wtf/ThreadingWin.cpp: Silence a spurious warning about how the
1219         tryLock method is implemented.
1220
1221 2014-10-07  Christophe Dumez  <cdumez@apple.com>
1222
1223         [WK2] Use is<>() / downcast<>() for DrawingAreaProxy subclasses
1224         https://bugs.webkit.org/show_bug.cgi?id=137477
1225
1226         Reviewed by Andreas Kling.
1227
1228         Rename wtf/cf/TypeCasts.h to wtf/cf/TypeCastsCF.h to avoid conflict
1229         with wtf/TypeCasts.h. They were using the same #ifndef guard and it
1230         was causing problems when both were included in the same context.
1231
1232         * WTF.xcodeproj/project.pbxproj:
1233         * wtf/cf/TypeCastsCF.h: Renamed from Source/WTF/wtf/cf/TypeCasts.h.
1234         (WTF::dynamic_cf_cast):
1235         (WTF::checked_cf_cast):
1236
1237 2014-10-07  Anders Carlsson  <andersca@apple.com>
1238
1239         Try to fix the Mountain Lion build.
1240
1241         * wtf/text/StringView.h:
1242         (WTF::StringView::underlyingStringIsValid):
1243         (WTF::StringView::setUnderlyingString):
1244         (WTF::StringView::invalidate):
1245
1246 2014-10-07  Anders Carlsson  <andersca@apple.com>
1247
1248         Use "1", not "true".
1249
1250         * wtf/text/StringView.h:
1251
1252 2014-10-07  Anders Carlsson  <andersca@apple.com>
1253
1254         Temporarily disable the StringView lifetime checking.
1255
1256         * wtf/text/StringView.h:
1257
1258 2014-10-07  Anders Carlsson  <andersca@apple.com>
1259
1260         Another build fix attempt.
1261
1262         * wtf/text/StringView.cpp:
1263         (WTF::StringView::UnderlyingString::UnderlyingString):
1264
1265 2014-10-07  Anders Carlsson  <andersca@apple.com>
1266
1267         Try to fix the Windows build.
1268
1269         * wtf/text/StringView.cpp:
1270         (WTF::StringView::UnderlyingString::UnderlyingString):
1271
1272 2014-10-06  Darin Adler  <darin@apple.com>
1273
1274         Make StringView check the lifetime of the StringImpl it's created from
1275         https://bugs.webkit.org/show_bug.cgi?id=137202
1276
1277         Reviewed by Anders Carlsson.
1278
1279         * WTF.vcxproj/WTF.vcxproj: Added StringView.cpp.
1280         * WTF.vcxproj/WTF.vcxproj.filters: Added StringView.cpp.
1281         * WTF.xcodeproj/project.pbxproj: Added StringView.cpp.
1282         * wtf/CMakeLists.txt: Added StringView.cpp.
1283
1284         * wtf/text/StringImpl.cpp:
1285         (WTF::StringImpl::~StringImpl): Call StringView::invalidate.
1286
1287         * wtf/text/StringView.cpp: Added.
1288         (WTF::underlyingStrings): Returns map from StringImpl to the underlying
1289         string object used by StringView to track validity.
1290         (WTF::StringView::invalidate): Mark the underlying string object invalid,
1291         and remove it from the map, so any future StringImpl will get a new one,
1292         even if it has the same pointer.
1293         (WTF::StringView::underlyingStringIsValid): Return true only if the
1294         underlying string is still valid.
1295         (WTF::StringView::setUnderlyingString): Create and manage reference counts
1296         of underlying string objects as needed.
1297
1298         * wtf/text/StringView.h: Moved function bodies out of the class definition,
1299         so we can now read a clean class definition to see the class design and what
1300         functions it offers.
1301         (WTF::StringView::StringView): Added a comment to the default constructor.
1302         Also added copy and move constructors so they can call setUnderlyingString
1303         and assert the underlying string is valid as needed, replacing the
1304         compiler-generated ones.
1305         (WTF::StringView::~StringView): Added a call to setUnderlyingString.
1306         (WTF::StringView::operator=): Added these assignment operators with the same
1307         job as the constructors above.
1308         (WTF::StringView::initialize): Added a comment.
1309         (WTF::StringView::characters8): Added an assertion that the underlying
1310         string is valid.
1311         (WTF::StringView::characters16): Ditto.
1312         (WTF::StringView::substring): Added code to propagate the underlying string
1313         from the original string to the substring.
1314         (WTF::StringView::invalidate): Inline empty version of this function for
1315         non-debug builds.
1316         (WTF::StringView::underlyingStringIsValid): Ditto.
1317         (WTF::StringView::setUnderlyingString): Ditto.
1318
1319 2014-10-06  Brent Fulgham  <bfulgham@apple.com>
1320
1321         [Win] DateMath's calculateUTFOffset does not account for DST.
1322         https://bugs.webkit.org/show_bug.cgi?id=137458
1323         <rdar://problem/18559172>
1324
1325         Reviewed by Geoffrey Garen.
1326
1327         Check the return value of GetTimeZoneInformation and use the
1328         proper bias against UTC (depending on whether we are in daylight
1329         savings time, or standard time).
1330
1331         Also, handle possible error cases in the FileTimeToSystemTime
1332         and SystemTimeToTzSpecificLocalTime, rather than using potentially
1333         uninitialized values.
1334
1335         * wtf/DateMath.cpp:
1336         (WTF::calculateUTCOffset): Use proper daylight-savings-time state.
1337         (WTF::calculateDSTOffset): Avoid uninitialized data due to failing
1338         API calls.
1339
1340 2014-10-06  Christophe Dumez  <cdumez@apple.com>
1341
1342         Add is<>() / downcast<>() support for RenderObject subclasses
1343         https://bugs.webkit.org/show_bug.cgi?id=137424
1344
1345         Reviewed by Benjamin Poulain.
1346
1347         Handle correctly calling TypeCastTraits<ExpectedType, ArgType>::isOfType(ArgType&)
1348         with ExpectedType being a base class of ArgType (or the same as ArgType). The
1349         previous template specialization was only meant to support the case where
1350         ExpectedType is the same as ArgType but even that wasn't working as the compiler
1351         would complain about ambiguous partial specializations. Since this is needed by
1352         RenderTraversal functions, this patch adds an extra isBaseType template parameter
1353         to TypeCastTraits to resolve the ambiguity and relies on std::is_base_of for the
1354         detection.
1355
1356         * wtf/TypeCasts.h:
1357
1358 2014-10-06  Brent Fulgham  <bfulgham@apple.com>
1359
1360         [Win] Project file gardening.
1361
1362         * WTF.vcxproj/WTF.vcxproj.filters: Move HashMethod.h and
1363         FastBitVector.cpp to proper places in hierarchy.
1364
1365 2014-10-04  Brian J. Burg  <burg@cs.washington.edu>
1366
1367         Unreviewed, rolling out r174319.
1368
1369         Causes assertions in fast/profiler tests. Needs nontrivial
1370         investigation, will take offline.
1371
1372         Reverted changeset:
1373
1374         "Web Inspector: timelines should not count time elapsed while
1375         paused in the debugger"
1376         https://bugs.webkit.org/show_bug.cgi?id=136351
1377         http://trac.webkit.org/changeset/174319
1378
1379 2014-10-04  Brian J. Burg  <burg@cs.washington.edu>
1380
1381         Web Inspector: timelines should not count time elapsed while paused in the debugger
1382         https://bugs.webkit.org/show_bug.cgi?id=136351
1383
1384         Reviewed by Timothy Hatcher.
1385
1386         * WTF.vcxproj/WTF.vcxproj:
1387         * WTF.vcxproj/WTF.vcxproj.filters:
1388         * WTF.xcodeproj/project.pbxproj:
1389         * wtf/CMakeLists.txt:
1390         * wtf/Stopwatch.h: Added. This implements a refcounted monotonic stopwatch.
1391         (WTF::Stopwatch::reset):
1392         (WTF::Stopwatch::start):
1393         (WTF::Stopwatch::stop):
1394
1395 2014-10-04  Filip Pizlo  <fpizlo@apple.com>
1396
1397         FTL should sink PutLocals
1398         https://bugs.webkit.org/show_bug.cgi?id=137168
1399
1400         Reviewed by Oliver Hunt.
1401         
1402         Make the set bits of a BitVector iterable.
1403
1404         * wtf/BitVector.h:
1405         (WTF::BitVector::SetBitsIterable::SetBitsIterable):
1406         (WTF::BitVector::SetBitsIterable::iterator::iterator):
1407         (WTF::BitVector::SetBitsIterable::iterator::operator*):
1408         (WTF::BitVector::SetBitsIterable::iterator::operator++):
1409         (WTF::BitVector::SetBitsIterable::iterator::operator==):
1410         (WTF::BitVector::SetBitsIterable::iterator::operator!=):
1411         (WTF::BitVector::SetBitsIterable::begin):
1412         (WTF::BitVector::SetBitsIterable::end):
1413         (WTF::BitVector::setBits):
1414
1415 2014-10-03  Commit Queue  <commit-queue@webkit.org>
1416
1417         Unreviewed, rolling out r174275.
1418         https://bugs.webkit.org/show_bug.cgi?id=137408
1419
1420         Build failures on the internal bots. (Requested by dethbakin
1421         on #webkit).
1422
1423         Reverted changeset:
1424
1425         "FTL should sink PutLocals"
1426         https://bugs.webkit.org/show_bug.cgi?id=137168
1427         http://trac.webkit.org/changeset/174275
1428
1429 2014-10-03  Christophe Dumez  <cdumez@apple.com>
1430
1431         Add TypeCasts.h to xcodeproject
1432         https://bugs.webkit.org/show_bug.cgi?id=137403
1433
1434         Reviewed by Benjamin Poulain.
1435
1436         Add TypeCasts.h to xcodeproject.
1437
1438         * WTF.xcodeproj/project.pbxproj:
1439
1440 2014-09-28  Filip Pizlo  <fpizlo@apple.com>
1441
1442         FTL should sink PutLocals
1443         https://bugs.webkit.org/show_bug.cgi?id=137168
1444
1445         Reviewed by Oliver Hunt.
1446         
1447         Make the set bits of a BitVector iterable.
1448
1449         * wtf/BitVector.h:
1450         (WTF::BitVector::SetBitsIterable::SetBitsIterable):
1451         (WTF::BitVector::SetBitsIterable::iterator::iterator):
1452         (WTF::BitVector::SetBitsIterable::iterator::operator*):
1453         (WTF::BitVector::SetBitsIterable::iterator::operator++):
1454         (WTF::BitVector::SetBitsIterable::iterator::operator==):
1455         (WTF::BitVector::SetBitsIterable::iterator::operator!=):
1456         (WTF::BitVector::SetBitsIterable::begin):
1457         (WTF::BitVector::SetBitsIterable::end):
1458         (WTF::BitVector::setBits):
1459
1460 2014-10-03  Myles C. Maxfield  <mmaxfield@apple.com>
1461
1462         Support modern for loops over StringViews
1463         https://bugs.webkit.org/show_bug.cgi?id=137165
1464
1465         Reviewed by Darin Adler.
1466
1467         This patch adds two functions, codePoints() and codeUnits(), on StringView.
1468         These two functions return small objects which have begin() and end() functions,
1469         which means it can be used by the modern for loop style. This small class also
1470         has an inner iterator class which can be incremented, dereferenced, and
1471         compared.
1472
1473         Using these new objects looks like this:
1474         for (UChar codeunit : stringView.codeUnits()) { } and
1475         for (UChar32 codepoint : stringView.codePoints()) { }.
1476
1477         * wtf/text/StringView.h:
1478         (WTF::StringView::codepoints):
1479         (WTF::StringView::codeunits):
1480         (WTF::StringViewCodePointIterator::StringViewCodePointIterator):
1481         (WTF::StringViewCodePointIterator::Iterator::Iterator):
1482         (WTF::StringViewCodePointIterator::Iterator::operator*):
1483         (WTF::StringViewCodePointIterator::Iterator::operator!=):
1484         (WTF::StringViewCodeUnitIterator::StringViewCodeUnitIterator):
1485         (WTF::StringViewCodeUnitIterator::Iterator::Iterator):
1486         (WTF::StringViewCodeUnitIterator::Iterator::operator*):
1487         (WTF::StringViewCodeUnitIterator::Iterator::operator!=):
1488
1489 2014-09-28  Sam Weinig  <sam@webkit.org>
1490
1491         Remove RefPtrHashMap
1492         https://bugs.webkit.org/show_bug.cgi?id=137200
1493
1494         Reviewed by Darin Adler.
1495
1496         HashMap now has all the features of the RefPtr specialization of HashMap
1497         (which lived in RefPtrHashMap.h) and is in fact more efficient when moving
1498         items into it. For instance:
1499
1500         For HashMap<RefPtr<Foo>, Bar> map:
1501
1502         RefPtr<Foo> foo = ...;
1503         map.add(WTF::move(foo), Bar());
1504
1505         will now not cause a ref() / deref(), but will successfully move the item in
1506         without churn. The same is true if foo.release() was used.
1507
1508         * WTF.vcxproj/WTF.vcxproj:
1509         * WTF.vcxproj/WTF.vcxproj.filters:
1510         * WTF.xcodeproj/project.pbxproj:
1511         * wtf/CMakeLists.txt:
1512         Remove references to RefPtrHashMap.h.
1513
1514         * wtf/RefPtrHashMap.h: Removed.
1515
1516         * wtf/HashMap.h:
1517         Remove #include of RefPtrHashMap.h and add inlineGet to match the interface
1518         exposed by the RefPtrHashMap specialization.
1519
1520 2014-10-02  Anders Carlsson  <andersca@apple.com>
1521
1522         Add back debugging/testing code that I accidentally removed.
1523
1524         * wtf/text/StringConcatenate.h:
1525         (WTF::StringTypeAdapter<String>::writeTo):
1526
1527 2014-10-02  Anders Carlsson  <andersca@apple.com>
1528
1529         Simplify StringTypeAdapter templates
1530         https://bugs.webkit.org/show_bug.cgi?id=137356
1531
1532         Reviewed by Andreas Kling.
1533
1534         * wtf/text/StringConcatenate.h:
1535         Use StringView for copying characters. Use inheritance for char* vs const char* etc. Make all StringAdapter member functions const.
1536
1537         * wtf/text/StringView.h:
1538         Move enough functions out of line so we can include WTFString.h after the StringView class definition.
1539
1540 2014-10-01  Christophe Dumez  <cdumez@apple.com>
1541
1542         Have is<>(T*) function do a null check on the pointer argument
1543         https://bugs.webkit.org/show_bug.cgi?id=137333
1544
1545         Reviewed by Gavin Barraclough.
1546
1547         Have is<>(T*) function do a null check on the argument instead of a
1548         simple assertion. This makes sense for 2 reasons:
1549         1. It is more consistent with downcast<>(T*), which will succeed even
1550            if the argument is a nullptr.
1551         2. It simplifies the code a bit as it gets rid of a lot of explicit
1552            null checks.
1553
1554         * wtf/TypeCasts.h:
1555         (WTF::is):
1556
1557 2014-10-02  Daniel Bates  <dabates@apple.com>
1558
1559         Clean up: Move XPC forward declarations in JavaScriptCore to WTF SPI wrapper header
1560         https://bugs.webkit.org/show_bug.cgi?id=137277
1561
1562         Reviewed by Alexey Proskuryakov.
1563
1564         Towards centralizing the declarations of XPC functions used in JavaScriptCore
1565         and WebKit2, add a header that wraps these function declarations called XPCSPI.h
1566         and use it instead of including the corresponding XPC API/SPI headers/forward
1567         declaring XPC functions. This will also aid in the effort to make WebKit2 build
1568         for iOS with the public iOS SDK.
1569
1570         * WTF.xcodeproj/project.pbxproj:
1571         * wtf/spi/darwin/XPCSPI.h: Added.
1572
1573 2014-10-01  Christophe Dumez  <cdumez@apple.com>
1574
1575         Unreviewed build fix after r174193.
1576
1577         Adding a return statement as that function is returning a boolean.
1578
1579         * wtf/TypeCasts.h:
1580         (WTF::TypeCastTraits::isOfType):
1581
1582 2014-10-01  Christophe Dumez  <cdumez@apple.com>
1583
1584         Fail better when is<>() / downcast<>() is used for an unsupported type
1585         https://bugs.webkit.org/show_bug.cgi?id=137323
1586
1587         Reviewed by Benjamin Poulain.
1588
1589         We should fail better when is<>() / downcast<>() is used for an
1590         unsupported type (i.e. a type that doesn't have the needed
1591         TypeCastTraits template specialization). Previously, we would get an
1592         obscure linking error, which was sub-optimal.
1593
1594         With this patch, you would now hit a static_assert() at build time if
1595         you tried to use is<>() / downcast<>() for a type that did not have the
1596         needed template specialization. There is also a helpful comment above
1597         the assertion letting the developer know how to add the needed template
1598         specialization.
1599
1600         * wtf/TypeCasts.h:
1601         (WTF::TypeCastTraits::isOfType):
1602
1603 2014-10-01  Commit Queue  <commit-queue@webkit.org>
1604
1605         Unreviewed, rolling out r174180, r174183, and r174186.
1606         https://bugs.webkit.org/show_bug.cgi?id=137320
1607
1608         Broke the Mac MountainLion build. Will investigate offline.
1609         (Requested by dydz on #webkit).
1610
1611         Reverted changesets:
1612
1613         "Clean up: Move XPC forward declarations in JavaScriptCore to
1614         WTF SPI wrapper header"
1615         https://bugs.webkit.org/show_bug.cgi?id=137277
1616         http://trac.webkit.org/changeset/174180
1617
1618         "Attempt to fix the build after
1619         <https://trac.webkit.org/changeset/174180>"
1620         https://bugs.webkit.org/show_bug.cgi?id=137277
1621         http://trac.webkit.org/changeset/174183
1622
1623         "Another attempt to fix the Mac build after
1624         <https://trac.webkit.org/changeset/174180>"
1625         https://bugs.webkit.org/show_bug.cgi?id=137277
1626         http://trac.webkit.org/changeset/174186
1627
1628 2014-10-01  Daniel Bates  <dabates@apple.com>
1629
1630         Another attempt to fix the Mac build after <https://trac.webkit.org/changeset/174180>
1631         (https://bugs.webkit.org/show_bug.cgi?id=137277)
1632
1633         Include header AvailabilityMacros.h instead of Availability.h, which actually defines the
1634         macro __MAC_OS_X_VERSION_MIN_REQUIRED.
1635
1636         * wtf/spi/darwin/XPCSPI.h:
1637
1638 2014-10-01  Daniel Bates  <dabates@apple.com>
1639
1640         Attempt to fix the build after <https://trac.webkit.org/changeset/174180>
1641         (https://bugs.webkit.org/show_bug.cgi?id=137277)
1642
1643         Include header <Availability.h> for the definition of __MAC_OS_X_VERSION_MIN_REQUIRED.
1644         Also, we want to define CONST_ON_OR_AFTER_MAC_OS_X_VERSION_1090 to be const when building
1645         on iOS.
1646
1647         * wtf/spi/darwin/XPCSPI.h:
1648
1649 2014-10-01  Daniel Bates  <dabates@apple.com>
1650
1651         Clean up: Move XPC forward declarations in JavaScriptCore to WTF SPI wrapper header
1652         https://bugs.webkit.org/show_bug.cgi?id=137277
1653
1654         Reviewed by Alexey Proskuryakov.
1655
1656         Towards centralizing the declarations of XPC functions used in JavaScriptCore
1657         and WebKit2, add a header that wraps these function declarations called XPCSPI.h
1658         and use it instead of including the corresponding XPC API/SPI headers/forward
1659         declaring XPC functions. This will also aid in the effort to make WebKit2 build
1660         for iOS with the public iOS SDK.
1661
1662         * WTF.xcodeproj/project.pbxproj:
1663         * wtf/spi/darwin/XPCSPI.h: Added.
1664
1665 2014-10-01  Brent Fulgham  <bfulgham@apple.com>
1666
1667         [Win] 32-bit JavaScriptCore should limit itself to the C loop
1668         https://bugs.webkit.org/show_bug.cgi?id=137304
1669         <rdar://problem/18375370>
1670
1671         Reviewed by Michael Saboff.
1672
1673         * wtf/Platform.h: Force the C loop when building for 32-bit Windows.
1674
1675 2014-09-30  Christophe Dumez  <cdumez@apple.com>
1676
1677         Generalize is<>() / downcast<>() support to all types
1678         https://bugs.webkit.org/show_bug.cgi?id=137243
1679
1680         Reviewed by Benjamin Poulain.
1681
1682         Generalize is<>() / downcast<>() support to all types, not just Nodes.
1683
1684         * wtf/Assertions.h:
1685         * wtf/TypeCasts.h: Added.
1686         (WTF::is):
1687         (WTF::downcast):
1688
1689 2014-09-30  Anders Carlsson  <andersca@apple.com>
1690
1691         Get the STRING_STATS codepath compiling again, and add calls to ref/deref
1692         https://bugs.webkit.org/show_bug.cgi?id=137259
1693
1694         Reviewed by Andreas Kling.
1695
1696         * wtf/text/StringImpl.cpp:
1697         (WTF::StringStats::removeString):
1698         (WTF::StringStats::printStats):
1699         (WTF::StringImpl::~StringImpl):
1700         * wtf/text/StringImpl.h:
1701         (WTF::StringImpl::StringImpl):
1702         (WTF::StringImpl::isSubString):
1703         (WTF::StringImpl::ref):
1704         (WTF::StringImpl::deref):
1705         (WTF::StringStats::addUpconvertedString): Deleted.
1706
1707 2014-09-30  Daniel Bates  <dabates@apple.com>
1708
1709         REGRESSION (r172532): JSBase.h declares NSMapTable functions that are SPI
1710         https://bugs.webkit.org/show_bug.cgi?id=137170
1711         <rdar://problem/18477384>
1712
1713         Reviewed by Geoffrey Garen.
1714
1715         Add SPI wrapper header, NSMapTableSPI.h.
1716
1717         Additionally, define convenience macro EXTERN_C that can be used to specify the C linkage
1718         convention for a declaration. For example, the declaration "EXTERN_C const int x;" will
1719         expand to:
1720
1721         extern const int x;
1722
1723         and
1724
1725         extern "C" const int x;
1726
1727         when used in a C and C++ file, respectively.
1728
1729         * WTF.xcodeproj/project.pbxproj:
1730         * wtf/Compiler.h:
1731         * wtf/spi/cocoa/NSMapTableSPI.h: Added.
1732
1733 2014-09-29  Commit Queue  <commit-queue@webkit.org>
1734
1735         Unreviewed, rolling out r174045.
1736         https://bugs.webkit.org/show_bug.cgi?id=137231
1737
1738         Introduced a crash during page loading tests on Mac (Requested
1739         by rniwa on #webkit).
1740
1741         Reverted changeset:
1742
1743         "Replace OSObjectPtr with RetainPtr/adoptOS"
1744         https://bugs.webkit.org/show_bug.cgi?id=137158
1745         http://trac.webkit.org/changeset/174045
1746
1747 2014-09-26  Sam Weinig  <sam@webkit.org>
1748
1749         Replace OSObjectPtr with RetainPtr/adoptOS
1750         https://bugs.webkit.org/show_bug.cgi?id=137158
1751
1752         Reviewed by Dan Bernstein.
1753
1754         * WTF.xcodeproj/project.pbxproj:
1755         * wtf/OSObjectPtr.h: Removed.
1756         * wtf/RetainPtr.h:
1757         (WTF::adoptOS):
1758         Added. This adopt function is slightly different than both adoptCF and adoptNS,
1759         in that unlike adoptCF(), it can be passed an Objective-C type (since OS objects
1760         are sometimes Objective-C objects, but not always), and unlike adoptNS() it doesn't 
1761         require us to jump through hoops to appease GC (since OS objects are not Objective-C
1762         objects if GC is enabled).
1763
1764 2014-09-24  Filip Pizlo  <fpizlo@apple.com>
1765
1766         FTL should sink object allocations
1767         https://bugs.webkit.org/show_bug.cgi?id=136330
1768
1769         Reviewed by Oliver Hunt.
1770         
1771         Make it possible to reset a Bag.
1772
1773         * wtf/Bag.h:
1774         (WTF::Bag::Bag):
1775         (WTF::Bag::~Bag):
1776         (WTF::Bag::clear):
1777
1778 2014-09-25  Roger Fong  <roger_fong@apple.com>
1779
1780         [Windows] Unreviewed build fix. Ensure that python2.7 is used for Windows builds.
1781
1782         * WTF.vcxproj/WTFGenerated.make:
1783
1784 2014-09-25  Csaba Osztrogonác  <ossy@webkit.org>
1785
1786         Remove WinCE port from trunk
1787         https://bugs.webkit.org/show_bug.cgi?id=136951
1788
1789         Reviewed by Alex Christensen.
1790
1791         * config.h:
1792         * wtf/Assertions.cpp:
1793         * wtf/Assertions.h:
1794         * wtf/Atomics.h:
1795         (WTF::weakCompareAndSwap):
1796         * wtf/CurrentTime.cpp:
1797         (WTF::lowResUTCTime):
1798         * wtf/DataLog.cpp:
1799         * wtf/DateMath.cpp:
1800         (WTF::getLocalTime):
1801         (WTF::calculateDSTOffset):
1802         * wtf/FastMalloc.cpp:
1803         * wtf/FeatureDefines.h:
1804         * wtf/OSAllocator.h:
1805         (WTF::OSAllocator::decommitAndRelease):
1806         * wtf/Platform.h:
1807         * wtf/PlatformWin.cmake:
1808         * wtf/RAMSize.cpp:
1809         (WTF::computeRAMSize):
1810         * wtf/RandomNumberSeed.h:
1811         (WTF::initializeRandomNumberGenerator):
1812         * wtf/StackBounds.cpp:
1813         (WTF::StackBounds::initialize):
1814         * wtf/StackBounds.h:
1815         (WTF::StackBounds::isGrowingDownward):
1816         * wtf/StdLibExtras.h:
1817         (wtf_bsearch): Deleted.
1818         * wtf/StringExtras.h:
1819         (strnicmp): Deleted.
1820         (stricmp): Deleted.
1821         (strdup): Deleted.
1822         * wtf/ThreadSpecific.h:
1823         * wtf/ThreadingWin.cpp:
1824         (WTF::createThreadInternal):
1825         * wtf/WindowsExtras.h:
1826         (WTF::getRegistryValue):
1827         (WTF::getWindowPointer):
1828         (WTF::setWindowPointer):
1829         * wtf/dtoa/utils.h:
1830         * wtf/text/WTFString.cpp:
1831         (WTF::String::format):
1832
1833 2014-09-24  Geoffrey Garen  <ggaren@apple.com>
1834
1835         Do the bmalloc.
1836         https://bugs.webkit.org/show_bug.cgi?id=132629
1837
1838         Reviewed by Gavin Barraclough.
1839
1840         64-bit only for now, just to try it out.
1841
1842         * wtf/FastMalloc.cpp:
1843
1844 2014-09-23  Geoffrey Garen  <ggaren@apple.com>
1845
1846         Rolled out r173346.
1847
1848             bmalloc should honor the FastMalloc statistics API
1849             https://bugs.webkit.org/show_bug.cgi?id=136592
1850
1851         This didn't really work. Because we allow ranges with and without
1852         physical pages to merge, and we allow double-committing and
1853         double-decommitting, we can't rely on commit actions to track memory
1854         footprint.
1855
1856         * wtf/FastMalloc.cpp:
1857         (WTF::fastMallocStatistics):
1858
1859 2014-09-23  Joseph Pecoraro  <pecoraro@apple.com>
1860
1861         Web Inspector: Should be able to attach a debugger to a JSContext before anything is executed
1862         https://bugs.webkit.org/show_bug.cgi?id=136893
1863
1864         Reviewed by Timothy Hatcher.
1865
1866         Currently automatic inspection only happens in processes that have a
1867         debugger attached. That condition may change in the future, but this
1868         function can stand on its own in WTF. It may be useful in the future
1869         to perhaps continue though ASSERTs if you have a debugger attached.
1870
1871         * wtf/Assertions.cpp:
1872         * wtf/Assertions.h:
1873
1874 2014-09-22  Sam Weinig  <sam@webkit.org>
1875
1876         Eliminate redundant PtrHash specializations
1877         https://bugs.webkit.org/show_bug.cgi?id=136990
1878
1879         Reviewed by Darin Adler.
1880
1881         Now that we have IsSmartPtr, we can eliminate all the specializations
1882         of PtrHash that we had (for RefPtr, OwnPtr, RetainPtr, and std::unique_ptr)
1883         and instead just have one that uses GetPtrHelper.
1884
1885         No changes of behavior intended.
1886
1887         * wtf/GetPtr.h:
1888         Remove unnecessary const_cast that Darin noticed.
1889
1890         * wtf/HashFunctions.h:
1891         (WTF::PtrHash::hash): Deleted.
1892         (WTF::PtrHash::equal): Deleted.
1893         (WTF::PtrHash<RefPtr<P>>::hash): Deleted.
1894         (WTF::PtrHash<RefPtr<P>>::equal): Deleted.
1895         Specialize PtrHash based on whether the type is a smart pointer, and use GetPtrHelper
1896         to implement the smart pointer specialized variant.
1897
1898         * wtf/HashMap.h:
1899         Remove include of GetPtr.h that is now included by HashFunctions.h
1900
1901         * wtf/OwnPtr.h:
1902         (WTF::PtrHash<OwnPtr<P>>::hash): Deleted.
1903         (WTF::PtrHash<OwnPtr<P>>::equal): Deleted.
1904         Remove unnecessary specialization of PtrHash.
1905
1906         * wtf/RetainPtr.h:
1907         (WTF::PtrHash<RetainPtr<P>>::hash): Deleted.
1908         (WTF::PtrHash<RetainPtr<P>>::equal): Deleted.
1909         Specialize IsSmartPointer for RetainPtr and remove the then unnecessary specialization of PtrHash.
1910         (This is already tested in the API test WTF/cf/RetainPtrHashing).
1911
1912 2014-09-20  Sam Weinig  <sam@webkit.org>
1913
1914         Make possible HashSet<std::unique_ptr<>>
1915         https://bugs.webkit.org/show_bug.cgi?id=136166
1916
1917         Reviewed by Darin Adler.
1918
1919         * wtf/GetPtr.h:
1920         (WTF::getPtr):
1921         (WTF::GetPtrHelper<std::unique_ptr<T>>::getPtr):
1922         Make specializing GetPtrHelper a bit cleaner (you don't have to put 
1923         IsSmartPtr<T>::value everywhere any more) and add specializations for
1924         std::unique_ptr.
1925
1926         * wtf/HashFunctions.h:
1927         (WTF::PtrHash<std::unique_ptr<P>>):
1928         Add specialization for PtrHash for std::unique_ptr and set it as the DefaultHash
1929         for it as well.
1930
1931         * wtf/HashMap.h:    
1932         * wtf/HashSet.h:
1933         Add overloads of find(), contains(), remove(), take() (and get() for HashMap) for "smart pointers" that
1934         take the raw pointer type as the parameter. These use SFINAE to make themselves only available
1935         when the IsSmartPtr<KeyType>::value is true. 
1936
1937         * wtf/HashTraits.h:
1938         Override constructDeletedValue() and isDeletedValue() in the std::unique_ptr specialization
1939         since the default implementation depends on the type having a constructor that takes a HashTableDeletedValue
1940         and function named isHashTableDeletedValue().
1941
1942         * wtf/OwnPtr.h:
1943         (WTF::OwnPtr::OwnPtr):
1944         (WTF::OwnPtr::isHashTableDeletedValue):
1945         (WTF::OwnPtr::hashTableDeletedValue):
1946         Add HashTableDeletedValue constructor/functions to allow the constructDeletedValue() and isDeletedValue()
1947         hash traits to work.
1948
1949         (WTF::PtrHash<OwnPtr<P>>::hash):
1950         (WTF::PtrHash<OwnPtr<P>>::equal):
1951         Add specialization for PtrHash for OwnPtr and set it as the DefaultHash
1952         for it as well.
1953
1954         * wtf/Ref.h:
1955         Update for the less verbose GetPtrHelper specialization.
1956
1957 2014-09-19  Chris Dumez  <cdumez@apple.com>
1958
1959         Allow DOM methods to return references instead of pointers
1960         https://bugs.webkit.org/show_bug.cgi?id=136931
1961
1962         Add support for having WTF::getPtr() transform reference arguments
1963         into raw pointers so that DOM methods can now return references when
1964         appropriate and so that the generated bindings code can handle this
1965         via WTF::getPtr().
1966
1967         This patch had to alter the way getPtr() was overloaded for smart
1968         pointer types so that we don't call &p on smart pointers but p.get().
1969         This was needed because the new WTF::getPtr(T&) was being called for
1970         RefPtr<T> arguments instead of the getPtr(const RefPtr<T>&) overload.
1971         This was addressed using traits and template specialization to
1972         distinguish WTF smart pointers from other types.
1973
1974         Reviewed by Sam Weinig.
1975
1976         * wtf/GetPtr.h:
1977         (WTF::getPtr):
1978         * wtf/OwnPtr.h:
1979         (WTF::getPtr): Deleted.
1980         * wtf/PassOwnPtr.h:
1981         (WTF::getPtr): Deleted.
1982         * wtf/PassRefPtr.h:
1983         (WTF::getPtr): Deleted.
1984         * wtf/Ref.h:
1985         * wtf/RefPtr.h:
1986         (WTF::getPtr): Deleted.
1987         * wtf/gobject/GRefPtr.h:
1988         (WTF::getPtr): Deleted.
1989
1990 2014-09-19  Daniel Bates  <dabates@apple.com>
1991
1992         Always assume internal SDK when building configuration Production
1993         https://bugs.webkit.org/show_bug.cgi?id=136925
1994         <rdar://problem/18362399>
1995
1996         Reviewed by Dan Bernstein.
1997
1998         * Configurations/Base.xcconfig:
1999
2000 2014-09-19  Diego Pino Garcia  <dpino@igalia.com>
2001
2002         Simple ES6 feature:String prototype additions
2003         https://bugs.webkit.org/show_bug.cgi?id=131704
2004
2005         Reviewed by Darin Adler.
2006
2007         * wtf/text/StringImpl.cpp:
2008         (WTF::StringImpl::find):
2009         (WTF::equalInner): Added.
2010         (WTF::StringImpl::startsWith): Add implementation that supports
2011         'startOffset' parameter.
2012         (WTF::StringImpl::endsWith): Add implementation that supports
2013         'endOffset' parameter.
2014         * wtf/text/StringImpl.h:
2015         * wtf/text/WTFString.h:
2016         (WTF::String::contains): Modify current implementation to allow
2017         setting a startOffset, 0 by default.
2018         (WTF::String::startsWith):
2019         (WTF::String::endsWith):
2020
2021 2014-09-18  Carlos Garcia Campos  <cgarcia@igalia.com>
2022
2023         [GTK] Dot not allow to create delete-on-destroy GMainLoopSources
2024         https://bugs.webkit.org/show_bug.cgi?id=136923
2025
2026         Reviewed by Gustavo Noronha Silva.
2027
2028         We have several asserts to ensure that delete-on-destroy sources
2029         are not misused, like not scheduling socket sources on a
2030         delete-on-destroy GMainLoopSource or not allowing to cancel them
2031         before they have been dispatched. It's better to ensure all those
2032         things at compile time, using static methods to schedule sources
2033         creating a delete-on-destroy GMainLoopSource that is not returned
2034         to the user.
2035
2036         * wtf/gobject/GMainLoopSource.cpp:
2037         (WTF::GMainLoopSource::create): Private static method to create a
2038         delete-on-destroy GMainLoopSource.
2039         (WTF::GMainLoopSource::cancelWithoutLocking): Return early in case
2040         of delete-on-destroy source, since they can't be cancelled.
2041         (WTF::GMainLoopSource::schedule): Remove assertion to ensure
2042         socket sources are not scheduled on a delete-on-destroy GMainLoopSource.
2043         (WTF::GMainLoopSource::scheduleAndDeleteOnDestroy):
2044         (WTF::GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy):
2045         (WTF::GMainLoopSource::createAndDeleteOnDestroy): Deleted.
2046         * wtf/gobject/GMainLoopSource.h:
2047         * wtf/gtk/MainThreadGtk.cpp:
2048         (WTF::scheduleDispatchFunctionsOnMainThread): Use GMainLoopSource::scheduleAndDeleteOnDestroy()
2049         * wtf/gtk/RunLoopGtk.cpp:
2050         (WTF::RunLoop::wakeUp): Ditto.
2051
2052 2014-09-18  Joseph Pecoraro  <pecoraro@apple.com>
2053
2054         Unreviewed rollout r173731. Broke multiple builds.
2055
2056         * wtf/Assertions.cpp:
2057         * wtf/Assertions.h:
2058
2059 2014-09-18  Joseph Pecoraro  <pecoraro@apple.com>
2060
2061         Web Inspector: Should be able to attach a debugger to a JSContext before anything is executed
2062         https://bugs.webkit.org/show_bug.cgi?id=136893
2063
2064         Reviewed by Timothy Hatcher.
2065
2066         Currently automatic inspection only happens in processes that have a
2067         debugger attached. That condition may change in the future, but this
2068         function can stand on its own in WTF. It may be useful in the future
2069         to perhaps continue though ASSERTs if you have a debugger attached.
2070
2071         * wtf/Assertions.cpp:
2072         * wtf/Assertions.h:
2073
2074 2014-09-18  Zan Dobersek  <zdobersek@igalia.com>
2075
2076         GMainLoopSource is exposed to race conditions
2077         https://bugs.webkit.org/show_bug.cgi?id=135800
2078
2079         Reviewed by Carlos Garcia Campos.
2080
2081         GMainLoopSource objects can be dispatching tasks on one thread
2082         while having a new task scheduled on a different thread. This
2083         can for instance occur in WebKitVideoSink, where the timeout
2084         callback can be called on main thread while at the same time
2085         it is being rescheduled on a different thread (created through
2086         GStreamer).
2087
2088         The initial solution is to use GMutex to prevent parallel data
2089         access from different threads. In the future I plan to look at
2090         the possibility of creating thread-specific GMainLoopSource
2091         objects that wouldn't require the use of GMutex.
2092
2093         GSource, GCancellable and std::function<> objects are now packed
2094         into an internal Context structure. Using the C++11 move semantics
2095         it's simple to, at the time of dispatch, move the current context
2096         out of the GMainLoopSource object in case the dispatch causes a
2097         rescheduling on that same object.
2098
2099         Also added in the Context struct is a new GCancellable. The pointer
2100         of that object is shared with the GMainLoopSource before the Context
2101         is moved out for the callback dispatch. This makes it safe to cancel
2102         or even delete the GMainLoopSource during the dispatch and prevents
2103         use-after-delete on GMainLoopSource once the dispatch is done in
2104         the GMainLoopSource::*Callback() methods.
2105
2106         All the schedule*() methods and the cancelWithoutLocking() method
2107         callers now lock the GMutex to ensure no one else is accessing the
2108         data at that moment. Similar goes for the dispatch methods, but those
2109         do the dispatch and possible destruction duties with the mutex unlocked.
2110         The dispatch can cause rescheduling on the same GMainLoopSource object,
2111         which must not be done with a locked mutex.
2112
2113         * wtf/gobject/GMainLoopSource.cpp:
2114         (WTF::GMainLoopSource::GMainLoopSource):
2115         (WTF::GMainLoopSource::~GMainLoopSource):
2116         (WTF::GMainLoopSource::cancel):
2117         (WTF::GMainLoopSource::cancelWithoutLocking):
2118         (WTF::GMainLoopSource::scheduleIdleSource):
2119         (WTF::GMainLoopSource::schedule):
2120         (WTF::GMainLoopSource::scheduleTimeoutSource):
2121         (WTF::GMainLoopSource::scheduleAfterDelay):
2122         (WTF::GMainLoopSource::voidCallback):
2123         (WTF::GMainLoopSource::boolCallback):
2124         (WTF::GMainLoopSource::socketCallback):
2125         (WTF::GMainLoopSource::socketSourceCallback):
2126         (WTF::GMainLoopSource::Context::destroySource):
2127         (WTF::GMainLoopSource::reset): Deleted.
2128         (WTF::GMainLoopSource::destroy): Deleted.
2129         * wtf/gobject/GMainLoopSource.h:
2130
2131 2014-09-17  Daniel Bates  <dabates@apple.com>
2132
2133         Unreviewed, rolling out r173695.
2134
2135         Broke building third-party Legacy WebKit apps; will
2136         investigate offline
2137
2138         Reverted changeset:
2139
2140         "[iOS] Make WebCore build with public iOS SDK"
2141         https://bugs.webkit.org/show_bug.cgi?id=136487
2142         http://trac.webkit.org/changeset/173695
2143
2144 2014-09-17  Benjamin Poulain  <bpoulain@apple.com>
2145
2146         CSS value in whitespace-separated list attribute selector (~=) mishandles tab/newline/etc.
2147         https://bugs.webkit.org/show_bug.cgi?id=136807
2148
2149         Reviewed by Antti Koivisto.
2150
2151         * wtf/text/AtomicString.h:
2152         (WTF::AtomicString::find):
2153
2154 2014-09-17  Daniel Bates  <dabates@apple.com>
2155
2156         [iOS] Make WebCore build with public iOS SDK
2157         https://bugs.webkit.org/show_bug.cgi?id=136487
2158
2159         Reviewed by David Kilzer.
2160
2161         Define convenience macro EXTERN_C that can be used to specify the C linkage convention
2162         for a declaration. For example, the declaration "EXTERN_C const int x;" will expand to:
2163
2164         extern const int x;
2165
2166         and
2167
2168         extern "C" const int x;
2169
2170         when used in a C and C++ file, respectively.
2171
2172         * wtf/Compiler.h:
2173
2174 2014-09-16  Filip Pizlo  <fpizlo@apple.com>
2175
2176         Unreviewed, disable native inlining because it causes build failures.
2177
2178         * wtf/Platform.h:
2179
2180 2014-09-15  Jer Noble  <jer.noble@apple.com>
2181
2182         [Mac] Support audioSourceProvider() in MediaPlayerPrivateAVFoundationObjC
2183         https://bugs.webkit.org/show_bug.cgi?id=135042
2184
2185         Reviewed by Eric Carlson.
2186
2187         * wtf/Platform.h: Add WTF_USE_MEDIATOOLBOX.
2188
2189 2014-09-15  peavo@outlook.com  <peavo@outlook.com>
2190
2191         [WinCairo] Make it easier to enable/disable GStreamer.
2192         https://bugs.webkit.org/show_bug.cgi?id=135766
2193
2194         Reviewed by Brent Fulgham.
2195
2196         Make it possible to enable/disable GStreamer by editing the new user macro ENABLE_GSTREAMER_WINCAIRO.
2197
2198         * WTF.vcxproj/WTFDebugWinCairo.props: Import GStreamer property file.
2199         * WTF.vcxproj/WTFReleaseWinCairo.props: Ditto.
2200         * wtf/Platform.h: Enable GStreamer if ENABLE(GSTREAMER_WINCAIRO) is true, otherwise use Media Foundation.
2201
2202 2014-09-10  Jon Honeycutt  <jhoneycutt@apple.com>
2203
2204         Re-add the request autocomplete feature
2205
2206         <https://bugs.webkit.org/show_bug.cgi?id=136730>
2207
2208         This feature was rolled out in r148731 because it was only used by
2209         Chromium. As we consider supporting this feature, roll it back in, but
2210         leave it disabled.
2211
2212         This rolls out r148731 (which removed the feature) with small changes
2213         needed to make the code build in ToT, to make the tests run, and to
2214         remove unused code.
2215
2216         Reviewed by Andy Estes.
2217
2218         * wtf/FeatureDefines.h:
2219
2220 2014-09-12  Tim Horton  <timothy_horton@apple.com>
2221
2222         Swiping back from a Twitter image to Twitter flashes to the wrong position
2223         https://bugs.webkit.org/show_bug.cgi?id=136798
2224         <rdar://problem/18324338>
2225
2226         Reviewed by Darin Adler and Sam Weinig.
2227
2228         * wtf/RunLoop.h:
2229         (WTF::RunLoop::TimerBase::startRepeating):
2230         Add a std::chrono veresion of RunLoop::TimerBase::startRepeating.
2231
2232 2014-09-12  Geoffrey Garen  <ggaren@apple.com>
2233
2234         Rolled out r173540.
2235
2236         It broke the Membuster performance bot, and it's still slightly profligate
2237         with memory.
2238
2239             Do the bmalloc.
2240             https://bugs.webkit.org/show_bug.cgi?id=132629
2241
2242         * wtf/FastMalloc.cpp:
2243
2244 2014-09-11  Geoffrey Garen  <ggaren@apple.com>
2245
2246         Do the bmalloc.
2247         https://bugs.webkit.org/show_bug.cgi?id=132629
2248
2249         Reviewed by Michael Saboff.
2250
2251         64-bit only for now, just to try it out.
2252
2253         * wtf/FastMalloc.cpp:
2254
2255 2014-09-09  Benjamin Poulain  <bpoulain@apple.com>
2256
2257         Disable the "unreachable-code" warning
2258         https://bugs.webkit.org/show_bug.cgi?id=136677
2259
2260         Reviewed by Darin Adler.
2261
2262         The warning causes various build errors depending on which Clang you are using.
2263
2264         For example, with recent clangs, it breaks all the ARCHS dependent code like this:
2265             if (sizeof(uintptr_t) == 4)
2266                 // Something for 32 bits.
2267             else
2268                 // Somethign for 64 bits.
2269
2270         * Configurations/Base.xcconfig:
2271
2272 2014-09-07  Filip Pizlo  <fpizlo@apple.com>
2273
2274         DFG should have a reusable SSA builder
2275         https://bugs.webkit.org/show_bug.cgi?id=136331
2276
2277         Reviewed by Oliver Hunt.
2278         
2279         Update the alloc() method to use variadic templates. This makes it more natural to use.
2280
2281         * wtf/SegmentedVector.h:
2282         (WTF::SegmentedVector::alloc):
2283
2284 2014-09-08  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
2285
2286         Remove FILTERS flag
2287         https://bugs.webkit.org/show_bug.cgi?id=136571
2288
2289         Reviewed by Darin Adler.
2290
2291         * wtf/FeatureDefines.h:
2292
2293 2014-09-08  Dan Bernstein  <mitz@apple.com>
2294
2295         HAVE(VOUCHERS) is not available outside of WebKit2
2296         https://bugs.webkit.org/show_bug.cgi?id=136637
2297
2298         Reviewed by Tim Horton.
2299
2300         * wtf/Platform.h: Moved the definition of HAVE_VOUCHERS from WebKit2’s config.h here.
2301
2302 2014-09-08  Tim Horton  <timothy_horton@apple.com>
2303
2304         Try to fix the build after r173383, part 2.
2305
2306         * wtf/OSObjectPtr.h:
2307
2308 2014-09-08  Tim Horton  <timothy_horton@apple.com>
2309
2310         Try to fix the build after r173383.
2311
2312         * wtf/OSObjectPtr.h:
2313
2314 2014-09-07  Sam Weinig  <sam@webkit.org>
2315
2316         Make OSObjectPtr a bit more like RefPtr
2317         https://bugs.webkit.org/show_bug.cgi?id=136613
2318
2319         Reviewed by Darin Adler.
2320
2321         Address some of Darin's feedback by:
2322         - Making the adopting constructor private and friending adoptOSObject().
2323         - Implementing the assignment operator using swap.
2324         - Adding a move assignment operator.
2325
2326         * wtf/OSObjectPtr.h:
2327         (WTF::OSObjectPtr::operator=):
2328         (WTF::OSObjectPtr::swap):
2329         (WTF::OSObjectPtr::OSObjectPtr):
2330
2331 2014-09-08  Jessie Berlin  <jberlin@apple.com>
2332
2333         More build fixes after r173374.
2334
2335         * wtf/dtoa/strtod.cc:
2336
2337 2014-09-08  Jessie Berlin  <jberlin@apple.com>
2338
2339         Build fix after r173374.
2340
2341         * wtf/dtoa/strtod.cc:
2342
2343 2014-09-08  Jessie Berlin  <jberlin@apple.com>
2344
2345         Speculative build fix after r173364.
2346
2347         * wtf/dtoa/strtod.cc:
2348
2349 2014-09-07  Maciej Stachowiak  <mjs@apple.com>
2350
2351         Introduce COMPILER_QUIRK(CONSIDERS_UNREACHABLE_CODE) and use it
2352         https://bugs.webkit.org/show_bug.cgi?id=136616
2353
2354         Reviewed by Darin Adler.
2355
2356         * wtf/Compiler.h: Define the quirk for all compilers but clang.
2357
2358 2014-09-06  Sam Weinig  <sam@webkit.org>
2359
2360         XPCPtr should be converted into an all purpose smart pointer for os_objects
2361         https://bugs.webkit.org/show_bug.cgi?id=136602
2362
2363         Reviewed by Darin Adler.
2364
2365         * WTF.xcodeproj/project.pbxproj:
2366         * wtf/OSObjectPtr.h: Copied from Source/WebKit2/Platform/IPC/mac/XPCPtr.h.
2367         (WTF::retainOSObject):
2368         (WTF::releaseOSObject):
2369         (WTF::OSObjectPtr::OSObjectPtr):
2370         (WTF::OSObjectPtr::~OSObjectPtr):
2371         (WTF::OSObjectPtr::operator=):
2372         (WTF::adoptOSObject):
2373         (IPC::XPCPtr::XPCPtr): Deleted.
2374         (IPC::XPCPtr::~XPCPtr): Deleted.
2375         (IPC::XPCPtr::operator=): Deleted.
2376         (IPC::adoptXPC): Deleted.
2377         Rename/move XPCPtr to OSObjectPtr and make it work with any os_object.
2378
2379 2014-09-06  Darin Adler  <darin@apple.com>
2380
2381         Make updates suggested by new version of Xcode
2382         https://bugs.webkit.org/show_bug.cgi?id=136603
2383
2384         Reviewed by Mark Rowe.
2385
2386         * Configurations/Base.xcconfig: Added CLANG_WARN_UNREACHABLE_CODE,
2387         COMBINE_HIDPI_IMAGES, and ENABLE_STRICT_OBJC_MSGSEND as suggested by
2388         Xcode upgrade check.
2389
2390         * WTF.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
2391
2392 2014-09-05  Geoffrey Garen  <ggaren@apple.com>
2393
2394         bmalloc should honor the FastMalloc statistics API
2395         https://bugs.webkit.org/show_bug.cgi?id=136592
2396
2397         Reviewed by Gavin Barraclough.
2398
2399         * wtf/FastMalloc.cpp:
2400         (WTF::fastMallocStatistics):
2401
2402 2014-09-05  Geoffrey Garen  <ggaren@apple.com>
2403
2404         bmalloc should honor the FastMalloc scavenging API
2405         https://bugs.webkit.org/show_bug.cgi?id=136588
2406
2407         Reviewed by Andreas Kling.
2408
2409         * wtf/FastMalloc.cpp:
2410         (WTF::releaseFastMallocFreeMemory):
2411
2412 2014-09-05  Geoffrey Garen  <ggaren@apple.com>
2413
2414         Rolled out <http://trac.webkit.org/changeset/173313>.
2415
2416         It seems to have broken the PLT bot.
2417
2418                 Do the bmalloc.
2419                 https://bugs.webkit.org/show_bug.cgi?id=132629
2420
2421                 * wtf/FastMalloc.cpp:
2422
2423 2014-06-06  Jer Noble  <jer.noble@apple.com>
2424
2425         Refactoring: make MediaTime the primary time type for audiovisual times.
2426         https://bugs.webkit.org/show_bug.cgi?id=133579
2427
2428         Reviewed by Eric Carlson.
2429
2430         Add a unary minus operator, and add unimplemented private casting operators, to make
2431         unintentional double->MediaTime and MediaTime->double casts hard errors.
2432
2433         * wtf/MediaTime.cpp:
2434         (WTF::MediaTime::operator-):
2435         * wtf/MediaTime.h:
2436
2437 2014-09-04  Geoffrey Garen  <ggaren@apple.com>
2438
2439         Do the bmalloc.
2440         https://bugs.webkit.org/show_bug.cgi?id=132629
2441
2442         Reviewed by Michael Saboff.
2443
2444         64-bit only for now, just to try it out.
2445
2446         * wtf/FastMalloc.cpp:
2447
2448 2014-09-05  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
2449
2450         Enable GenGC on ARM Traditional
2451         https://bugs.webkit.org/show_bug.cgi?id=136567
2452
2453         Reviewed by Csaba Osztrogonác.
2454
2455         * wtf/Platform.h:
2456
2457 2014-09-04  Filip Pizlo  <fpizlo@apple.com>
2458
2459         Beef up the DFG's CFG analyses to include iterated dominance frontiers and more user-friendly BlockSets
2460         https://bugs.webkit.org/show_bug.cgi?id=136520
2461
2462         Fix bug found in Geoff's review but not landed in previous commit.
2463
2464         * wtf/BitVector.cpp:
2465         (WTF::BitVector::equalsSlowCaseFast): return true.
2466
2467 2014-09-03  Filip Pizlo  <fpizlo@apple.com>
2468
2469         Beef up the DFG's CFG analyses to include iterated dominance frontiers and more user-friendly BlockSets
2470         https://bugs.webkit.org/show_bug.cgi?id=136520
2471
2472         Reviewed by Geoffrey Garen.
2473         
2474         Give BitVector a way to quickly find the next set (or unset) bit. Make BitVector equality
2475         faster. Fix a minor closure goof in Spectrum.
2476
2477         * wtf/BitVector.cpp:
2478         (WTF::BitVector::equalsSlowCase):
2479         (WTF::BitVector::equalsSlowCaseFast):
2480         (WTF::BitVector::equalsSlowCaseSimple):
2481         * wtf/BitVector.h:
2482         (WTF::BitVector::findBit):
2483         (WTF::BitVector::findBitFast):
2484         (WTF::BitVector::findBitSimple):
2485         (WTF::BitVector::findBitInWord):
2486         * wtf/Spectrum.h:
2487         (WTF::Spectrum::removeIf):
2488
2489 2014-09-04  Anders Carlsson  <andersca@apple.com>
2490
2491         Make hash table classes final
2492         https://bugs.webkit.org/show_bug.cgi?id=136540
2493
2494         Reviewed by Antti Koivisto.
2495
2496         We don't want anybody inheriting from these classes, so make them final.
2497
2498         * wtf/HashCountedSet.h:
2499         * wtf/HashMap.h:
2500         * wtf/HashSet.h:
2501
2502 2014-09-04  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
2503
2504         Remove CSS_FILTERS flag
2505         https://bugs.webkit.org/show_bug.cgi?id=136529
2506
2507         Reviewed by Dirk Schulze.
2508
2509         * wtf/FeatureDefines.h:
2510
2511 2014-09-04  Commit Queue  <commit-queue@webkit.org>
2512
2513         Unreviewed, rolling out r173201.
2514         https://bugs.webkit.org/show_bug.cgi?id=136538
2515
2516         Improves the situation but also introduces additional crashes.
2517         (Requested by zdobersek on #webkit).
2518
2519         Reverted changeset:
2520
2521         "GMainLoopSource is exposed to race conditions"
2522         https://bugs.webkit.org/show_bug.cgi?id=135800
2523         http://trac.webkit.org/changeset/173201
2524
2525 2014-09-04  Pratik Solanki  <psolanki@apple.com>
2526
2527         Remove iOS specific disk image cache
2528         https://bugs.webkit.org/show_bug.cgi?id=136517
2529
2530         Reviewed by Antti Koivisto.
2531
2532         Disk image cache code unnecessarily complicates SharedBuffer implementation. We can remove
2533         this now since we don't enable it in WebKit2 on iOS.
2534
2535         * wtf/FeatureDefines.h:
2536
2537 2014-09-03  Dan Bernstein  <mitz@apple.com>
2538
2539         Get rid of HIGH_DPI_CANVAS leftovers
2540         https://bugs.webkit.org/show_bug.cgi?id=136491
2541
2542         Reviewed by Benjamin Poulain.
2543
2544         * wtf/FeatureDefines.h: Removed definition of ENABLE_HIGH_DPI_CANVAS.
2545
2546 2014-09-03  Zan Dobersek  <zdobersek@igalia.com>
2547
2548         GMainLoopSource is exposed to race conditions
2549         https://bugs.webkit.org/show_bug.cgi?id=135800
2550
2551         Reviewed by Carlos Garcia Campos.
2552
2553         GMainLoopSource objects can be dispatching tasks on one thread
2554         while having a new task scheduled on a different thread. This
2555         can for instance occur in WebKitVideoSink, where the timeout
2556         callback can be called on main thread while at the same time
2557         it is being rescheduled on a different thread (created through
2558         GStreamer).
2559
2560         The initial solution is to use GMutex to prevent parallel data
2561         access from different threads. In the future I plan to add better
2562         assertions, some meaningful comments and look at the possibility
2563         of creating thread-specific GMainLoopSource objects that wouldn't
2564         require the use of GMutex.
2565
2566         GSource, GCancellable and std::function<> objects are now packed
2567         into an internal Context structure. Using the C++11 move semantics
2568         it's simple to, at the time of dispatch, move the current context
2569         out of the GMainLoopSource object in case the dispatch causes a
2570         rescheduling on that same object.
2571
2572         All the schedule*() methods and the cancelInternal() method callers
2573         now lock the GMutex to ensure no one else is accessing the data at
2574         that moment. Similar goes for the dispatch methods, but those do
2575         the dispatch and possible destruction duties with the mutex unlocked.
2576         The dispatch can cause rescheduling on the same GMainLoopSource object,
2577         which must not be done with a locked mutex.
2578
2579         * wtf/gobject/GMainLoopSource.cpp:
2580         (WTF::GMainLoopSource::GMainLoopSource):
2581         (WTF::GMainLoopSource::~GMainLoopSource):
2582         (WTF::GMainLoopSource::cancel):
2583         (WTF::GMainLoopSource::cancelInternal):
2584         (WTF::GMainLoopSource::scheduleIdleSource):
2585         (WTF::GMainLoopSource::schedule):
2586         (WTF::GMainLoopSource::scheduleTimeoutSource):
2587         (WTF::GMainLoopSource::scheduleAfterDelay):
2588         (WTF::GMainLoopSource::voidCallback):
2589         (WTF::GMainLoopSource::boolCallback):
2590         (WTF::GMainLoopSource::socketCallback):
2591         (WTF::GMainLoopSource::destroy):
2592         (WTF::GMainLoopSource::reset): Deleted.
2593         * wtf/gobject/GMainLoopSource.h:
2594
2595 2014-09-02  Daniel Bates  <dabates@apple.com>
2596
2597         [iOS] Support using Foundation networking code
2598         https://bugs.webkit.org/show_bug.cgi?id=136467
2599
2600         Reviewed by Pratik Solanki.
2601
2602         Disable USE(CFNETWORK) and use the Foundation networking code by default when building
2603         iOS WebKit without the Apple Internal SDK.
2604
2605         * wtf/Platform.h:
2606
2607 2014-08-26  Maciej Stachowiak  <mjs@apple.com>
2608
2609         Use RetainPtr::autorelease in some places where it seems appropriate
2610         https://bugs.webkit.org/show_bug.cgi?id=136280
2611
2612         Reviewed by Darin Adler.
2613
2614         * wtf/text/mac/StringImplMac.mm:
2615         (WTF::StringImpl::operator NSString *): Use autorelease() instead of
2616         CFBridgingRelease(leakRef())
2617
2618 2014-08-29  Joseph Pecoraro  <pecoraro@apple.com>
2619
2620         JavaScriptCore: Use ASCIILiteral where possible
2621         https://bugs.webkit.org/show_bug.cgi?id=136179
2622
2623         Reviewed by Michael Saboff.
2624
2625         * wtf/text/WTFString.cpp:
2626         (asciiDebug):
2627
2628 2014-08-27  Filip Pizlo  <fpizlo@apple.com>
2629
2630         DFG should compute immediate dominators using the O(n log n) form of Lengauer and Tarjan's "A Fast Algorithm for Finding Dominators in a Flowgraph"
2631         https://bugs.webkit.org/show_bug.cgi?id=93361
2632
2633         Reviewed by Mark Hahnenberg.
2634         
2635         Make BitVector operations return the previous value of the bit you're changing. This is
2636         useful for the kinds of set operations that are commonplace in compiler graph searches.
2637
2638         * wtf/BitVector.h:
2639         (WTF::BitVector::quickSet):
2640         (WTF::BitVector::quickClear):
2641         (WTF::BitVector::set):
2642         (WTF::BitVector::ensureSizeAndSet):
2643         (WTF::BitVector::clear):
2644
2645 2014-08-27  Filip Pizlo  <fpizlo@apple.com>
2646
2647         FTL should be able to do polymorphic call inlining
2648         https://bugs.webkit.org/show_bug.cgi?id=135145
2649
2650         Reviewed by Geoffrey Garen.
2651         
2652         Add some power that I need for call edge profiling.
2653
2654         * wtf/OwnPtr.h:
2655         (WTF::OwnPtr<T>::createTransactionally):
2656         * wtf/Spectrum.h:
2657         (WTF::Spectrum::add):
2658         (WTF::Spectrum::addAll):
2659         (WTF::Spectrum::get):
2660         (WTF::Spectrum::size):
2661         (WTF::Spectrum::KeyAndCount::KeyAndCount):
2662         (WTF::Spectrum::clear):
2663         (WTF::Spectrum::removeIf):
2664
2665 2014-08-27  Nico Weber  <thakis@chromium.org>
2666
2667         Delete a MSVS2010 workaround.
2668         https://bugs.webkit.org/show_bug.cgi?id=136321
2669
2670         Reviewed by Benjamin Poulain.
2671
2672         Ports https://codereview.chromium.org/512923004/ by the talented
2673         Nico Weber from Blink. No intended behavior change.
2674
2675         * wtf/Vector.h:
2676         (WTF::=):
2677
2678 2014-08-27  Mark Rowe  <mrowe@apple.com>
2679
2680         JavaScriptCore is missing debug info for WTF because libWTF.a is stripped.
2681         <https://webkit.org/b/136320> / <rdar://problem/18148776>
2682
2683         Reviewed by Dan Bernstein.
2684
2685         * Configurations/WTF.xcconfig: Set STRIP_INSTALLED_PRODUCT = NO for the target
2686         that produces libWTF.a so that the debug symbols will be linked into JavaScriptCore
2687         and end up in its dSYM file.
2688
2689 2014-08-26  Commit Queue  <commit-queue@webkit.org>
2690
2691         Unreviewed, rolling out r172940.
2692         https://bugs.webkit.org/show_bug.cgi?id=136256
2693
2694         Caused assertions on fast/storage/serialized-script-
2695         value.html, and possibly flakiness on more tests (Requested by
2696         ap on #webkit).
2697
2698         Reverted changeset:
2699
2700         "FTL should be able to do polymorphic call inlining"
2701         https://bugs.webkit.org/show_bug.cgi?id=135145
2702         http://trac.webkit.org/changeset/172940
2703
2704 2014-08-23  Filip Pizlo  <fpizlo@apple.com>
2705
2706         FTL should be able to do polymorphic call inlining
2707         https://bugs.webkit.org/show_bug.cgi?id=135145
2708
2709         Reviewed by Geoffrey Garen.
2710         
2711         Add some power that I need for call edge profiling.
2712
2713         * wtf/OwnPtr.h:
2714         (WTF::OwnPtr<T>::createTransactionally):
2715         * wtf/Spectrum.h:
2716         (WTF::Spectrum::add):
2717         (WTF::Spectrum::addAll):
2718         (WTF::Spectrum::get):
2719         (WTF::Spectrum::size):
2720         (WTF::Spectrum::KeyAndCount::KeyAndCount):
2721         (WTF::Spectrum::clear):
2722         (WTF::Spectrum::removeIf):
2723
2724 2014-08-25  Tomas Popela  <tpopela@redhat.com>
2725
2726         Add support for little-endian PowerPC64
2727         https://bugs.webkit.org/show_bug.cgi?id=135647
2728
2729         Reviewed by Oliver Hunt.
2730
2731         * wtf/Platform.h:
2732         * wtf/dtoa/utils.h:
2733
2734 2014-08-24  Zan Dobersek  <zdobersek@igalia.com>
2735
2736         GenericHashTraits::peek() is producing copies of passed-in temporary values
2737         https://bugs.webkit.org/show_bug.cgi?id=131461
2738
2739         Reviewed by Darin Adler.
2740
2741         * wtf/HashTraits.h:
2742         (WTF::GenericHashTraits::peek): Make this method a template that passes through
2743         the passed-in value without copying, achieved by using universal references and
2744         std::forward<>().
2745
2746 2014-08-22  Daniel Bates  <dabates@apple.com>
2747
2748         [iOS] Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, and temporarily disable ENABLE_TOUCH_EVENTS
2749         and ENABLE_XSLT when building with the iOS public SDK
2750         https://bugs.webkit.org/show_bug.cgi?id=135945
2751
2752         Reviewed by Andy Estes.
2753
2754         * wtf/FeatureDefines.h:
2755
2756 2014-08-22  Akos Kiss  <akiss@inf.u-szeged.hu>
2757
2758         Enable fixed executable allocator for any ARM64 target.
2759         https://bugs.webkit.org/show_bug.cgi?id=136162
2760
2761         Reviewed by Michael Saboff.
2762
2763         The ARM64 macro assembler relies on near calls being implemented by BL
2764         instructions, which have only 128MB offset range from PC. The
2765         on-demand executable allocator cannot ensure that any two locations in
2766         memory allocated for the JIT-compiled code are within this range. 
2767         However, the fixed executable allocator has a fixed 16MB memory pool for
2768         ARM64.
2769
2770         * wtf/Platform.h:
2771         Define ENABLE_EXECUTABLE_ALLOCATOR_FIXED if CPU(ARM64), and update
2772         attached comment.
2773
2774 2014-08-22  Commit Queue  <commit-queue@webkit.org>
2775
2776         Unreviewed, rolling out r172844.
2777         https://bugs.webkit.org/show_bug.cgi?id=136164
2778
2779         re-applying WEBCORE_EXPORTS patch (Requested by
2780         alexchristensen on #webkit).
2781
2782         Reverted changeset:
2783
2784         "Revert r172831, it broke the Windows build."
2785         http://trac.webkit.org/changeset/172844
2786
2787 2014-08-22  Jon Lee  <jonlee@apple.com>
2788
2789         Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
2790         https://bugs.webkit.org/show_bug.cgi?id=136157
2791
2792         Reviewed by Simon Fraser.
2793
2794         * wtf/FeatureDefines.h: Remove ENABLE(RUBBER_BANDING) logic for Mac platform.
2795
2796 2014-08-21  Tim Horton  <timothy_horton@apple.com>
2797
2798         Revert r172831, it broke the Windows build.
2799
2800         * wtf/ExportMacros.h:
2801
2802 2014-08-21  Zalan Bujtas  <zalan@apple.com>
2803
2804         Enable SATURATED_LAYOUT_ARITHMETIC.
2805         https://bugs.webkit.org/show_bug.cgi?id=136106
2806
2807         Reviewed by Simon Fraser.
2808
2809         SATURATED_LAYOUT_ARITHMETIC protects LayoutUnit against arithmetic overflow.
2810         (No measurable performance regression on Mac.)
2811
2812         * wtf/FeatureDefines.h:
2813
2814 2014-08-21  Alex Christensen  <achristensen@webkit.org>
2815
2816         More WEBCORE_EXPORT macros.
2817         https://bugs.webkit.org/show_bug.cgi?id=136129
2818
2819         Reviewed by Tim Horton.
2820
2821         * wtf/ExportMacros.h:
2822         Removed WTF_TESTING which isn't used.
2823
2824 2014-08-20  Akos Kiss  <akiss@inf.u-szeged.hu>
2825
2826         Enable ARM64 disassembler on EFL
2827         https://bugs.webkit.org/show_bug.cgi?id=136089
2828
2829         Reviewed by Filip Pizlo.
2830
2831         * wtf/Platform.h:
2832         Enable WTF_USE_ARM64_DISASSEMBLER for EFL as well.
2833
2834 2014-08-19  Pratik Solanki  <psolanki@apple.com>
2835
2836         Remove PurgeableBuffer since it is not very useful any more
2837         https://bugs.webkit.org/show_bug.cgi?id=135939
2838
2839         Reviewed by Andreas Kling.
2840
2841         * wtf/Platform.h: Remove ENABLE_PURGEABLE_MEMORY define.
2842         * wtf/VMTags.h: Remove VM tags used by WebCore for cached resource purgeable memory.
2843
2844 2014-08-19  Magnus Granberg  <zorry@gentoo.org>
2845
2846         TEXTREL in libjavascriptcoregtk-1.0.so.0.11.0 on x86 (or i586)
2847         https://bugs.webkit.org/show_bug.cgi?id=70610
2848
2849         Reviewed by Darin Adler.
2850
2851         Add PLT if we're building with PIC.
2852
2853         * wtf/InlineASM.h:
2854
2855 2014-08-19  Zalan Bujtas  <zalan@apple.com>
2856
2857         Remove ENABLE(SUBPIXEL_LAYOUT).
2858         https://bugs.webkit.org/show_bug.cgi?id=136077
2859
2860         Reviewed by Simon Fraser.
2861
2862         Remove compile time flag SUBPIXEL_LAYOUT. All ports have it enabled for a while now.
2863
2864         * wtf/FeatureDefines.h:
2865
2866 2014-08-18  Maciej Stachowiak  <mjs@apple.com>
2867
2868         Use NSURLFileTypeMappings directly instead of depending on WebKitSystemInterface wrappers for it
2869         https://bugs.webkit.org/show_bug.cgi?id=136035
2870
2871         Reviewed by Dan Bernstein.
2872
2873         * wtf/Platform.h: Define USE(APPLE_INTERNAL_SDK) by default on platforms that have it.
2874
2875 2014-08-18  Commit Queue  <commit-queue@webkit.org>
2876
2877         Unreviewed, rolling out r172736.
2878         https://bugs.webkit.org/show_bug.cgi?id=136060
2879
2880         Caused 14% PLT regressions (Requested by rniwa on #webkit).
2881
2882         Reverted changeset:
2883
2884         "Remove PurgeableBuffer since it is not very useful any more"
2885         https://bugs.webkit.org/show_bug.cgi?id=135939
2886         http://trac.webkit.org/changeset/172736
2887
2888 2014-08-18  Pratik Solanki  <psolanki@apple.com>
2889
2890         Remove PurgeableBuffer since it is not very useful any more
2891         https://bugs.webkit.org/show_bug.cgi?id=135939
2892
2893         Reviewed by Geoffrey Garen.
2894
2895         * wtf/Platform.h: Remove ENABLE_PURGEABLE_MEMORY define.
2896         * wtf/VMTags.h: Remove VM tags used by WebCore for cached resource purgeable memory.
2897
2898 2014-08-14  Benjamin Poulain  <benjamin@webkit.org>
2899
2900         CSS JIT: compile the :empty pseudo class
2901         https://bugs.webkit.org/show_bug.cgi?id=135958
2902
2903         Reviewed by Andreas Kling.
2904
2905         * wtf/text/StringImpl.h:
2906         (WTF::StringImpl::lengthMemoryOffset):
2907
2908 2014-08-12  Myles C. Maxfield  <mmaxfield@apple.com>
2909
2910         Elements whose contents start with an astral Unicode symbol disappear when CSS `::first-letter` is applied to them
2911         https://bugs.webkit.org/show_bug.cgi?id=135756
2912
2913         Reviewed by Darin Adler.
2914
2915         Add a method to StringView which passes through contains() to find().
2916
2917         * wtf/text/StringView.h:
2918         (WTF::StringView::contains):
2919
2920 2014-08-12  Pratik Solanki  <psolanki@apple.com>
2921
2922         Enable didReceiveDataArray callback on Mac
2923         https://bugs.webkit.org/show_bug.cgi?id=135554
2924         <rdar://problem/9170731>
2925
2926         Reviewed by Andreas Kling.
2927
2928         Enable WTF_USE_NETWORK_CFDATA_ARRAY_CALLBACK for all Cocoa platforms so that we use the same
2929         code path for Mac and iOS.
2930
2931         * wtf/Platform.h:
2932
2933 2014-08-12  Alex Christensen  <achristensen@webkit.org>
2934
2935         Generate header detection headers for CMake on Windows.
2936         https://bugs.webkit.org/show_bug.cgi?id=135807
2937
2938         Reviewed by Brent Fulgham.
2939
2940         * wtf/CMakeLists.txt:
2941         * wtf/PlatformWin.cmake:
2942         Generate and include a stub WTFHeaderDetection.h.
2943
2944 2014-08-11  Andy Estes  <aestes@apple.com>
2945
2946         [iOS] Get rid of iOS.xcconfig
2947         https://bugs.webkit.org/show_bug.cgi?id=135809
2948
2949         Reviewed by Joseph Pecoraro.
2950
2951         All iOS.xcconfig did was include AspenFamily.xcconfig, so there's no need for the indirection.
2952
2953         * Configurations/Base.xcconfig:
2954         * Configurations/iOS.xcconfig: Removed.
2955         * WTF.xcodeproj/project.pbxproj:
2956
2957 2014-08-12  Zan Dobersek  <zdobersek@igalia.com>
2958
2959         Clean up GMutexLocker
2960         https://bugs.webkit.org/show_bug.cgi?id=135833
2961
2962         Reviewed by Carlos Garcia Campos.
2963
2964         Place the GMutexLocker into the WTF namespace. There's no need for this
2965         class to use FastMalloc since it's always allocated on the stack. The
2966         constructor and class now operate on a GMutex reference. There's little
2967         need for an additional inline specifier for methods defined in the header.
2968         The mutex() method is removed as it was not used. m_val is renamed to a
2969         more descriptive m_locked and is made a boolean.
2970
2971         * wtf/gobject/GMutexLocker.h:
2972         (WTF::GMutexLocker::GMutexLocker):
2973         (WTF::GMutexLocker::~GMutexLocker):
2974         (WTF::GMutexLocker::lock):
2975         (WTF::GMutexLocker::unlock):
2976         (WebCore::GMutexLocker::GMutexLocker): Deleted.
2977         (WebCore::GMutexLocker::~GMutexLocker): Deleted.
2978         (WebCore::GMutexLocker::lock): Deleted.
2979         (WebCore::GMutexLocker::unlock): Deleted.
2980         (WebCore::GMutexLocker::mutex): Deleted.
2981
2982 2014-08-12  Zan Dobersek  <zdobersek@igalia.com>
2983
2984         Make GRefPtr move-able
2985         https://bugs.webkit.org/show_bug.cgi?id=135801
2986
2987         Reviewed by Carlos Garcia Campos.
2988
2989         Add move constructor and move assignment operator for GRefPtr.
2990
2991         * wtf/gobject/GRefPtr.h:
2992         (WTF::GRefPtr::GRefPtr):
2993         (WTF::=):
2994
2995 2014-08-10  Benjamin Poulain  <benjamin@webkit.org>
2996
2997         Update HashTable's operator= after r172167 per review comments
2998
2999         * wtf/HashTable.h:
3000         Update the type as suggested by Darin.
3001
3002 2014-08-07  Benjamin Poulain  <bpoulain@apple.com>
3003
3004         Get rid of SCRIPTED_SPEECH
3005         https://bugs.webkit.org/show_bug.cgi?id=135729
3006
3007         Reviewed by Brent Fulgham.
3008
3009         * wtf/FeatureDefines.h:
3010
3011 2014-08-07  Benjamin Poulain  <bpoulain@apple.com>
3012
3013         Get rid of INPUT_SPEECH
3014         https://bugs.webkit.org/show_bug.cgi?id=135672
3015
3016         Reviewed by Andreas Kling.
3017
3018         * wtf/FeatureDefines.h:
3019
3020 2014-08-06  Dean Jackson  <dino@apple.com>
3021
3022         ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED is not used anywhere. Remove it.
3023         https://bugs.webkit.org/show_bug.cgi?id=135675
3024
3025         Reviewed by Sam Weinig.
3026
3027         * wtf/FeatureDefines.h:
3028
3029 2014-08-06  Benjamin Poulain  <benjamin@webkit.org>
3030
3031         HashTable based classes leak a lot
3032         https://bugs.webkit.org/show_bug.cgi?id=135638
3033
3034         Reviewed by Darin Adler.
3035
3036         * wtf/HashTable.h:
3037         The operator= taking a rvalue reference was never freeing the memory allocated
3038         for the table of the left hand side object.
3039
3040         This patch fixes the leaks by doing an alloc+swap with a new object.
3041         The object temp gets the reference to m_table, and destroys it in the regular destructor
3042         when going out of scope.
3043
3044         Kudos to Pratik Solanki for finding the leaks.
3045
3046 2014-08-06  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
3047
3048         [JSC] Build fix for FTL on EFL after ftlopt merge
3049         https://bugs.webkit.org/show_bug.cgi?id=135565
3050
3051         Reviewed by Mark Lam.
3052
3053         Added ENABLE(FTL_NATIVE_CALL_INLINING).
3054
3055         * wtf/Platform.h:
3056
3057 2014-08-04  Alex Christensen  <achristensen@webkit.org>
3058
3059         Progress towards CMake on Mac.
3060         https://bugs.webkit.org/show_bug.cgi?id=135528
3061
3062         Reviewed by Gyuyoung Kim.
3063
3064         * wtf/CMakeLists.txt:
3065         Include text directory.
3066         * wtf/PlatformMac.cmake: Added.
3067
3068 2014-07-31  Alex Christensen  <achristensen@webkit.org>
3069
3070         Progress towards cmake on Windows.
3071         https://bugs.webkit.org/show_bug.cgi?id=135484
3072
3073         Reviewed by Martin Robinson.
3074
3075         * wtf/CMakeLists.txt:
3076         Added WTF_LIBRARY_TYPE because Windows needs WTF to be a shared library.
3077
3078 2014-07-30  Andreas Kling  <akling@apple.com>
3079
3080         PropertyName's internal string is always atomic.
3081         <https://webkit.org/b/135451>
3082
3083         Remove AtomicString::findStringWithHash() since nobody uses it anymore.
3084
3085         Reviewed by Benjamin Poulain.
3086
3087         * wtf/text/AtomicString.cpp:
3088         (WTF::findString): Deleted.
3089         (WTF::AtomicString::findStringWithHash): Deleted.
3090         * wtf/text/AtomicString.h:
3091
3092 2014-07-30  Andy Estes  <aestes@apple.com>
3093
3094         USE(CONTENT_FILTERING) should be ENABLE(CONTENT_FILTERING)
3095         https://bugs.webkit.org/show_bug.cgi?id=135439
3096
3097         Reviewed by Tim Horton.
3098
3099         We now support two different platform content filters, and will soon support a mock content filter (as part of
3100         webkit.org/b/128858). This makes content filtering a feature of WebKit, not just an adoption of a third-party
3101         library. ENABLE() is the correct macro to use for such a feature.
3102
3103         * wtf/Platform.h:
3104
3105 2014-07-29  Brent Fulgham  <bfulgham@apple.com>
3106
3107         [Win] Modify version numbering scheme to support 5-tuple versions
3108         https://bugs.webkit.org/show_bug.cgi?id=135400
3109         <rdar://problem/17849033>
3110
3111         Reviewed by David Kilzer.
3112
3113         * WTF.vcxproj/WTFPostBuild.cmd: Use new version-stamp.pl script
3114         to version WTF.dll.
3115         * WTF.vcxproj/WTFPreBuild.cmd: Make sure we have created the
3116         appropriate version resource during builds.
3117
3118 2014-07-29  Daniel Bates  <dabates@apple.com>
3119
3120         Use WTF::move() instead of std::move() to help ensure move semantics
3121         https://bugs.webkit.org/show_bug.cgi?id=135351
3122
3123         Reviewed by Alexey Proskuryakov.
3124
3125         * wtf/HashTable.h:
3126         (WTF::KeyTraits>::HashTable):
3127
3128 2014-07-28  Brian J. Burg  <burg@cs.washington.edu>
3129
3130         Should not export symbols for base64Encode inline adapter methods
3131         https://bugs.webkit.org/show_bug.cgi?id=135355
3132
3133         Unreviewed build fix.
3134
3135         Fixes the build break introduced by r171682, where a base64Encode
3136         inline adapter method was used in another header, thus creating
3137         multiple definitions of it (and problems with with weak symbols).
3138
3139         * wtf/text/Base64.h: Remove WTF_EXPORT_PRIVATE for inlined methods.
3140
3141 2014-07-27  Filip Pizlo  <fpizlo@apple.com>
3142
3143         Merge r170090, r170092, r170129, r170141, r170161, r170215, r170275, r170375, r170376, r170382, r170383, r170399, r170436, r170489, r170490, r170556 from ftlopt.
3144
3145         * wtf/text/WTFString.h:
3146
3147 2014-07-26  Filip Pizlo  <fpizlo@apple.com>
3148
3149         Unreviewed, roll out r171641-r171644. It broke some tests; will investigate and
3150         reland later.
3151
3152         * wtf/text/WTFString.h:
3153
3154 2014-07-25  Filip Pizlo  <fpizlo@apple.com>
3155
3156         Attempt to fix Windows.
3157
3158         * wtf/text/WTFString.h:
3159
3160 2014-07-25  Gavin Barraclough  <baraclough@apple.com>
3161
3162         Yosemite version number is 101000
3163         https://bugs.webkit.org/show_bug.cgi?id=135301
3164
3165         Reviewed by Sam Weinig.
3166
3167         * wtf/FeatureDefines.h:
3168         * wtf/Platform.h:
3169
3170 2014-07-23  Brent Fulgham  <bfulgham@apple.com>
3171
3172         [Win] Use NO_RETURN_DUE_TO_CRASH on Windows.
3173         https://bugs.webkit.org/show_bug.cgi?id=13519
3174
3175         Reviewed by Mark Lam.
3176
3177         * wtf/Assertions.h: Add MSVC to list of compilers supporting this macro.
3178         * wtf/FastMalloc.cpp: Correct function declaration for NO_RETURN_DUE_TO_CRASH.
3179
3180 2014-07-22  Filip Pizlo  <fpizlo@apple.com>
3181
3182         Merge r169148, r169185, r169188, r169578, r169582, r169584, r169588, r169753 from ftlopt.
3183
3184     2014-06-04  Filip Pizlo  <fpizlo@apple.com>
3185     
3186             [ftlopt] AI should be able track structure sets larger than 1
3187             https://bugs.webkit.org/show_bug.cgi?id=128073
3188     
3189             Reviewed by Oliver Hunt.
3190     
3191             * wtf/Bag.h:
3192             (WTF::Bag::Node::Node):
3193             (WTF::Bag::add):
3194     
3195 2014-07-22  Filip Pizlo  <fpizlo@apple.com>
3196
3197         Merge r168635, r168780, r169005, r169014, and r169143 from ftlopt.
3198
3199     2014-05-20  Filip Pizlo  <fpizlo@apple.com>
3200     
3201             [ftlopt] DFG bytecode parser should turn GetById with nothing but a Getter stub as stuff+handleCall, and handleCall should be allowed to inline if it wants to
3202             https://bugs.webkit.org/show_bug.cgi?id=133105
3203     
3204             Reviewed by Michael Saboff.
3205     
3206             * wtf/Bag.h:
3207             (WTF::Bag::iterator::operator!=):
3208     
3209 2014-07-19  Zan Dobersek  <zdobersek@igalia.com>
3210
3211         [WTF] Add the move constructor, move assignment operator for HashTable
3212         https://bugs.webkit.org/show_bug.cgi?id=130772
3213
3214         Reviewed by Darin Adler.
3215
3216         HashTable has both copy constructor and copy assignment operator, meaning that the move constructor
3217         and move assignment operator are implicitly deleted. This patch defines both to avoid unnecessary
3218         copies when moves can be performed.
3219
3220         * wtf/HashTable.h:
3221         (WTF::KeyTraits>::HashTable):
3222
3223 2014-07-15  Commit Queue  <commit-queue@webkit.org>
3224
3225         Unreviewed, rolling out r171107.
3226         https://bugs.webkit.org/show_bug.cgi?id=134959
3227
3228         This was not the problem! (Requested by kling on #webkit).
3229
3230         Reverted changeset:
3231
3232         "Revert: Run the FastMalloc scavenger thread on iOS as well."
3233         https://bugs.webkit.org/show_bug.cgi?id=134927
3234         http://trac.webkit.org/changeset/171107
3235
3236 2014-07-15  Andreas Kling  <akling@apple.com>
3237
3238         Revert: Run the FastMalloc scavenger thread on iOS as well.
3239         <https://webkit.org/b/134927>
3240         <rdar://problem/17485079>
3241
3242         This appears to be the cause of some elusive crashes, and since I don't
3243         have a way to reproduce them, let's just go back to not running the
3244         scavenger thread on iOS.
3245
3246         Reviewed by Antti Koivisto.
3247
3248         * wtf/FastMalloc.cpp:
3249
3250 2014-07-13  Filip Pizlo  <fpizlo@apple.com>
3251
3252         HashMap should have removeIf()
3253         https://bugs.webkit.org/show_bug.cgi?id=134870
3254
3255         Reviewed by Sam Weinig.
3256         
3257         Expose a new HashMap method, called removeIf(), which allows you to do an efficient
3258         pass over the map and remove a bunch of things at once. This is used by DFG GCSE as
3259         part of https://bugs.webkit.org/show_bug.cgi?id=134677.
3260
3261         * wtf/HashMap.h:
3262         (WTF::X>::removeIf):
3263         * wtf/HashTable.h:
3264         (WTF::KeyTraits>::removeIf):
3265
3266 2014-07-11  peavo@outlook.com  <peavo@outlook.com>
3267
3268         [Win] Enable DFG JIT.
3269         https://bugs.webkit.org/show_bug.cgi?id=123615
3270
3271         Reviewed by Mark Lam.
3272
3273         * wtf/Platform.h:
3274
3275 2014-07-11  Commit Queue  <commit-queue@webkit.org>
3276
3277         Unreviewed, rolling out r170995.
3278         https://bugs.webkit.org/show_bug.cgi?id=134831
3279
3280         Causing odd crashes in debug builds (Requested by zdobersek on
3281         #webkit).
3282
3283         Reverted changeset:
3284
3285         "[WTF] Add the move constructor, move assignment operator for
3286         HashTable"
3287         https://bugs.webkit.org/show_bug.cgi?id=130772
3288         http://trac.webkit.org/changeset/170995
3289
3290 2014-07-09  Zan Dobersek  <zdobersek@igalia.com>
3291
3292         [WTF] Add the move constructor, move assignment operator for HashTable
3293         https://bugs.webkit.org/show_bug.cgi?id=130772
3294
3295         Reviewed by Darin Adler.
3296
3297         HashTable has both copy constructor and copy assignment operator, meaning that the move constructor
3298         and move assignment operator are implicitly deleted. This patch defines both to avoid unnecessary
3299         copies when moves can be performed.
3300
3301         * wtf/HashTable.h:
3302         (WTF::KeyTraits>::HashTable):
3303
3304 2014-07-10  Alex Christensen  <achristensen@webkit.org>
3305
3306         Enable same features on all Windows ports.
3307         https://bugs.webkit.org/show_bug.cgi?id=134715
3308
3309         Reviewed by Brent Fulgham.
3310
3311         * wtf/Platform.h:
3312         Use REQUEST_ANIMATION_FRAME_TIMER on WinCairo.
3313
3314 2014-07-09  Brent Fulgham  <bfulgham@apple.com>
3315
3316         [Win] Unreviewed build fix after r170930.
3317
3318         * WTF.vcxproj/copy-files.cmd: Include cf files in
3319         post-build copy operation.
3320
3321 2014-07-09  Brent Fulgham  <bfulgham@apple.com>
3322
3323         [Win] Remove uses of 'bash' in build system
3324         https://bugs.webkit.org/show_bug.cgi?id=134782
3325         <rdar://problem/17615533>
3326
3327         Reviewed by Dean Jackson.
3328
3329         Remove uses of 'bash' by replacing Windows-specific bash scripts
3330         with Perl equivalents.
3331
3332         * WTF.vcxproj/WTFGenerated.make:
3333         * WTF.vcxproj/WTFGenerated.vcxproj:
3334         * WTF.vcxproj/WTFGenerated.vcxproj.filters:
3335         * WTF.vcxproj/WTFPreBuild.cmd:
3336         * WTF.vcxproj/build-generated-files.pl: Copied from Source/WTF/WTF.vcxproj/build-generated-files.sh.
3337         * WTF.vcxproj/build-generated-files.sh: Removed.
3338
3339 2014-07-09  Brent Fulgham  <bfulgham@apple.com>
3340
3341         [Win] Remove use of 'grep' in build steps
3342         https://bugs.webkit.org/show_bug.cgi?id=134770
3343         <rdar://problem/17608783>
3344
3345         Reviewed by Tim Horton.
3346
3347         Replace uses of the grep command in Windows builds with the equivalent
3348         Perl program.
3349
3350         * WTF.vcxproj/WTFPreBuild.cmd:
3351
3352 2014-07-07  Zan Dobersek  <zdobersek@igalia.com>
3353
3354         Enable ARMv7 disassembler for the GTK port
3355         https://bugs.webkit.org/show_bug.cgi?id=134676
3356
3357         Reviewed by Benjamin Poulain.
3358
3359         * wtf/Platform.h: Enable the ARMv7 disassembler for the GTK port when
3360         targeting the ARMv7 architecture.
3361
3362 2014-07-06  Yoav Weiss  <yoav@yoav.ws>
3363
3364         Turn on img@sizes compile flag
3365         https://bugs.webkit.org/show_bug.cgi?id=134634
3366
3367         Reviewed by Benjamin Poulain.
3368
3369         * wtf/FeatureDefines.h: Added compile flag definition.
3370
3371 2014-07-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3372
3373         Unreivewed, fix build break on EFL and GTK since r170767.
3374
3375         * wtf/CMakeLists.txt: Exclude Decoder.h and Encoder.h because those files were removed.
3376
3377 2014-07-03  Daniel Bates  <dabates@apple.com>
3378
3379         Add WTF::move()
3380         https://bugs.webkit.org/show_bug.cgi?id=134500
3381
3382         Reviewed by Darin Adler.
3383
3384         Substitution of WTF::move() for std::move() rubber-stamped by Anders Carlsson.
3385
3386         Implement WTF::move(), a replacement for std::move(). WTF::move() is less error
3387         prone than std::move() as it compile asserts that its argument is a non-const
3388         lvalue reference before ultimately casting it to a rvalue reference (via std::move).
3389
3390         * wtf/Deque.h: Substitute WTF::move() for std::move().
3391         * wtf/HashMap.h: Ditto.
3392         * wtf/HashSet.h: Ditto.
3393         * wtf/HashTable.h: Ditto.
3394         * wtf/IteratorAdaptors.h: Ditto.
3395         * wtf/IteratorRange.h: Ditto.
3396         * wtf/ListHashSet.h: Ditto.
3397         * wtf/MainThread.cpp: Ditto.
3398         [...]
3399         * wtf/StdLibExtras.h:
3400         (WTF::move): Added.
3401         [...]
3402
3403 2014-07-03  Anders Carlsson  <andersca@apple.com>
3404
3405         Get rid of Encoder.h and Decoder.h from WTF
3406         https://bugs.webkit.org/show_bug.cgi?id=134600
3407
3408         Reviewed by Darin Adler.
3409
3410         * WTF.vcxproj/WTF.vcxproj:
3411         * WTF.vcxproj/WTF.vcxproj.filters:
3412         * WTF.xcodeproj/project.pbxproj:
3413         * wtf/Decoder.h: Removed.
3414         * wtf/Encoder.h: Removed.
3415
3416 2014-07-03  Ryuan Choi  <ryuan.choi@samsung.com>
3417
3418         Broken build with build-webkit --no-video
3419         https://bugs.webkit.org/show_bug.cgi?id=134587
3420
3421         Reviewed by Darin Adler.
3422
3423         MEDIA_CONTROLS_SCRIPT requires VIDEO enabled.
3424
3425         * wtf/FeatureDefines.h: Added error message for dependency failure.
3426
3427 2014-07-02  Enrica Casucci  <enrica@apple.com>
3428
3429         iOS build fix after http://trac.webkit.org/changeset/170697.
3430         
3431         Unreviewed.
3432
3433         * wtf/Deque.h:
3434
3435 2014-07-02  Dan Bernstein  <mitz@apple.com>
3436
3437         Remove some code only needed for versions of Safari that are no longer supported
3438         https://bugs.webkit.org/show_bug.cgi?id=134537
3439
3440         Reviewed by Anders Carlsson.
3441
3442         * wtf/Assertions.cpp:
3443         * wtf/Assertions.h:
3444
3445 2014-07-01  Alex Christensen  <achristensen@webkit.org>
3446
3447         Reduce dynamic memory allocation in css jit.
3448         https://bugs.webkit.org/show_bug.cgi?id=134416
3449
3450         Reviewed by Benjamin Poulain.
3451
3452         * wtf/Deque.h:
3453         Added inlineCapacity optional template parameter.
3454
3455 2014-06-30  Commit Queue  <commit-queue@webkit.org>
3456
3457         Unreviewed, rolling out r170605.
3458         https://bugs.webkit.org/show_bug.cgi?id=134484
3459
3460         The changes cause crashes on ARM64 (Requested by benjaminp on
3461         #webkit).
3462
3463         Reverted changeset:
3464
3465         "Reduce dynamic memory allocation in css jit."
3466         https://bugs.webkit.org/show_bug.cgi?id=134416
3467         http://trac.webkit.org/changeset/170605
3468
3469 2014-06-30  Daniel Bates  <dabates@apple.com>
3470
3471         Make TransformIterator::TransformIterator() take rvalue references
3472         https://bugs.webkit.org/show_bug.cgi?id=134468
3473
3474         Reviewed by Darin Adler.
3475
3476         It's unnecessary to support TransformIterator::TransformIterator() taking const lvalue references
3477         as we only call it with rvalues. As a side benefit, we can use move semantics to initialize the
3478         members of TransformIterator.
3479
3480         * wtf/IteratorAdaptors.h:
3481         (WTF::TransformIterator::TransformIterator): Make constructor take arguments as rvalue references.
3482         (WTF::makeTransformIterator): Substitute std::move() for std::forward().
3483
3484 2014-06-30  Alex Christensen  <achristensen@webkit.org>
3485
3486         Reduce dynamic memory allocation in css jit.
3487         https://bugs.webkit.org/show_bug.cgi?id=134416
3488
3489         Reviewed by Benjamin Poulain.
3490
3491         * wtf/Deque.h:
3492         Added inlineCapacity optional template parameter.
3493
3494 2014-06-30  Anders Carlsson  <andersca@apple.com>
3495
3496         Add code for encoding legacy session history entries
3497         https://bugs.webkit.org/show_bug.cgi?id=134452
3498
3499         Reviewed by Andreas Kling.
3500
3501         * wtf/MallocPtr.h:
3502         (WTF::MallocPtr::malloc):
3503         (WTF::MallocPtr::realloc):
3504
3505 2014-06-27  Andreas Kling  <akling@apple.com>
3506
3507         [ARMv7] Skip one particularly expensive fastFree() alignment check.
3508         <https://webkit.org/b/134402>
3509
3510         The size class alignment check in fastFree() was crazy expensive on ARMv7
3511         due to its use of modulo. Disabling it shaves 470ms off of PLT main thread
3512         time in the web process.
3513
3514         Note that this was very hard to identify in profiles due to TCO.
3515
3516         Reviewed by Gavin Barraclough.
3517
3518         * wtf/FastMalloc.cpp:
3519         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3520
3521 2014-06-26  Andreas Kling  <akling@apple.com>
3522
3523         Bump FastMalloc thread cache max size to 1MB on iOS.
3524         <https://webkit.org/b/134365>
3525
3526         The previous limit (512kB) comes from the old days of very-low-memory
3527         devices, and we can now afford to spend another 512kB here.
3528         Note that we already have a mechanism to purge FastMalloc caches on
3529         system memory pressure.
3530
3531         Looks like a ~400ms progression on PLT.
3532
3533         Reviewed by Geoff Garen.
3534
3535         * wtf/FastMalloc.cpp:
3536
3537 2014-06-26  Laszlo Gombos  <l.gombos@samsung.com>
3538
3539         Define TARGET_OS_IPHONE to 0 for non-darwin ports
3540         https://bugs.webkit.org/show_bug.cgi?id=134347
3541
3542         Reviewed by Darin Adler.
3543
3544         A follow-up to r169880 to make it easier to reason about
3545         the code. The purpose of this change to allow
3546         "#if TARGET_OS_IPHONE" in public header files.
3547
3548         * wtf/Platform.h:
3549
3550 2014-06-26  Chris Fleizach  <cfleizach@apple.com>
3551
3552         Add an undo group for each dictated utterance in WebKit
3553         https://bugs.webkit.org/show_bug.cgi?id=134086
3554
3555         Applied review comments from Sam Weinig.
3556
3557         Move the associated USE #define into Platform.h.
3558
3559         * wtf/Platform.h:
3560
3561 2014-06-25  Geoffrey Garen  <ggaren@apple.com>
3562
3563         Unreviewed, rolling out r166876.
3564
3565         Caused some ECMA test262 failures
3566
3567         Reverted changeset:
3568
3569         "Date object needs to check for ES5 15.9.1.14 TimeClip limit."
3570         https://bugs.webkit.org/show_bug.cgi?id=131248
3571         http://trac.webkit.org/changeset/166876
3572
3573 2014-06-25  peavo@outlook.com  <peavo@outlook.com>
3574
3575         [Win64] ASM LLINT is not enabled.
3576         https://bugs.webkit.org/show_bug.cgi?id=130638
3577
3578         Reviewed by Mark Lam.
3579
3580         * wtf/Platform.h: Enable LLINT and JIT for Win64.
3581
3582 2014-06-25  Laszlo Gombos  <l.gombos@samsung.com>
3583
3584         Remove build guard for progress element
3585         https://bugs.webkit.org/show_bug.cgi?id=134292
3586
3587         Reviewed by Benjamin Poulain.
3588
3589         The build flag is no longer needed as it is always on.
3590
3591         * wtf/FeatureDefines.h:
3592
3593 2014-06-24  Andreas Kling  <akling@apple.com>
3594
3595         Run the FastMalloc scavenger thread on iOS as well.
3596         <https://webkit.org/b/134287>
3597         <rdar://problem/17446198>
3598
3599         Reviewed by Gavin Barraclough.
3600
3601         * wtf/FastMalloc.cpp:
3602
3603 2014-06-24  Anders Carlsson  <andersca@apple.com>
3604
3605         Add PageState to HistoryItem conversion code
3606         https://bugs.webkit.org/show_bug.cgi?id=134259
3607
3608         Reviewed by Andreas Kling.
3609
3610         * wtf/Optional.h:
3611         (WTF::Optional::valueOr):
3612
3613 2014-06-24  László Langó  <llango.u-szeged@partner.samsung.com>
3614
3615         [JavaScriptCore] Enable concurrent JIT on EFL.
3616         https://bugs.webkit.org/show_bug.cgi?id=134242
3617
3618         Reviewed by Csaba Osztrogonác.
3619
3620         * wtf/Platform.h:
3621
3622 2014-06-23  Ryuan Choi  <ryuan.choi@samsung.com>
3623
3624         [EFL] Replace RefPtr<Evas_Object> with UniquePtrEfl
3625         https://bugs.webkit.org/show_bug.cgi?id=134236
3626
3627         Reviewed by Gyuyoung Kim.
3628
3629         Although there are ref/unref for Evas_Object, it's bit odd so we should call evas_object_del to destroy it.
3630         So, this patch replaced RefPtr<Evas_Object> with UniquePtrEfl for the simplicity.
3631
3632         * wtf/PlatformEfl.cmake: Removed RefPtrEfl.cpp from source list.
3633         * wtf/efl/RefPtrEfl.cpp: Removed.
3634         * wtf/efl/RefPtrEfl.h: Removed.
3635
3636 2014-06-21  Brady Eidson  <beidson@apple.com>
3637
3638         Gamepad API - Deprecate the existing implementation
3639         https://bugs.webkit.org/show_bug.cgi?id=134108
3640
3641         Reviewed by Timothy Hatcher.
3642
3643         -Add new "GAMEPAD_DEPRECATED" build flag, moving the existing implementation to use it
3644         -Move some implementation files into a "deprecated" subdirectory.
3645
3646         * wtf/FeatureDefines.h:
3647
3648 2014-06-21  Commit Queue  <commit-queue@webkit.org>
3649
3650         Unreviewed, rolling out r170244.
3651         https://bugs.webkit.org/show_bug.cgi?id=134157
3652
3653         GTK/EFL bindings generator works differently, making this
3654         patch not work there.  Will fix entire patch after a rollout.
3655         (Requested by bradee-oh on #webkit).
3656
3657         Reverted changeset:
3658
3659         "Gamepad API - Deprecate the existing implementation"
3660         https://bugs.webkit.org/show_bug.cgi?id=134108
3661         http://trac.webkit.org/changeset/170244
3662
3663 2014-06-21  Brady Eidson  <beidson@apple.com>
3664
3665         Gamepad API - Deprecate the existing implementation
3666         https://bugs.webkit.org/show_bug.cgi?id=134108
3667
3668         Reviewed by Timothy Hatcher.
3669
3670         -Add new "GAMEPAD_DEPRECATED" build flag, moving the existing implementation to use it
3671         -Add the "Deprecated" suffix to some implementation files
3672
3673         * wtf/FeatureDefines.h:
3674
3675 2014-06-21  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
3676
3677         Removing PAGE_VISIBILITY_API compile guard.
3678         https://bugs.webkit.org/show_bug.cgi?id=133844
3679
3680         Reviewed by Gavin Barraclough.
3681
3682         * wtf/FeatureDefines.h:
3683
3684 2014-06-20  Anders Carlsson  <andersca@apple.com>
3685
3686         Add encoding and decoding support for WTF::Optional
3687         https://bugs.webkit.org/show_bug.cgi?id=134125
3688
3689         Reviewed by Andreas Kling.
3690
3691         * wtf/Optional.h:
3692         (WTF::Optional::operator=):
3693
3694 2014-06-20  Anders Carlsson  <andersca@apple.com>
3695
3696         Add copy/move constructors and assignment operators to WTF::Optional
3697         https://bugs.webkit.org/show_bug.cgi?id=134119
3698
3699         Reviewed by Andreas Kling.
3700
3701         * wtf/Optional.h:
3702         (WTF::Optional::Optional):
3703         (WTF::Optional::operator=):
3704
3705 2014-06-19  Anders Carlsson  <andersca@apple.com>
3706
3707         Add WTF::Optional class
3708         https://bugs.webkit.org/show_bug.cgi?id=134083
3709
3710         Reviewed by Andreas Kling.
3711
3712         * WTF.xcodeproj/project.pbxproj:
3713         * wtf/Optional.h: Added.
3714         (WTF::Optional::Optional):
3715         (WTF::Optional::~Optional):
3716         (WTF::Optional::operator bool):
3717         (WTF::Optional::value):
3718
3719 2014-06-19  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
3720
3721         Remove ENABLE(LLINT) and ENABLE(LLINT_C_LOOP) guards
3722         https://bugs.webkit.org/show_bug.cgi?id=130389
3723
3724         Reviewed by Mark Lam.
3725
3726         Removed ENABLE(LLINT) since we always build with it, and changed ENABLE(LLINT_C_LOOP)
3727         into !ENABLE(JIT) since they are mutually exclusive.
3728
3729         * wtf/OSAllocatorPosix.cpp:
3730         (WTF::OSAllocator::reserveAndCommit):
3731         * wtf/Platform.h:
3732
3733 2014-06-18  Anders Carlsson  <andersca@apple.com>
3734
3735         Add CF type cast function templates and use them in KeyedDecoder in WebKit2
3736         https://bugs.webkit.org/show_bug.cgi?id=134033
3737
3738         Reviewed by Sam Weinig.
3739
3740         * WTF.xcodeproj/project.pbxproj:
3741         * wtf/cf/TypeCasts.h: Added.
3742         (WTF::dynamic_cf_cast):
3743         Returns null if the given CFTypeRef object doesn't have the right type.
3744
3745         (WTF::checked_cf_cast):
3746         ASSERTs (with security implication) if the given CFTypeRef object is null or doesn't have the right type.
3747
3748 2014-06-17  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
3749
3750         Misused PLATFORM(MIDDLE_ENDIAN) and PLATFORM(BIG_ENDIAN).
3751         https://bugs.webkit.org/show_bug.cgi?id=128301
3752
3753         Reviewed by Daniel Bates.
3754
3755         Endianness is a CPU attribute, not a PLATFORM. PLATFORM() macro is replaced to CPU().
3756
3757         * wtf/text/ASCIIFastPath.h:
3758         (WTF::copyLCharsFromUCharSource):
3759
3760 2014-06-17  Andreas Kling  <akling@apple.com>
3761
3762         Web process main thread priority is lower than some network process threads.
3763         <https://webkit.org/b/133987>
3764         <rdar://problem/17330300>
3765
3766         Bring all of our threads to the appropriate priority level by opting in to the
3767         threading QoS APIs. By marking them "user initiated", they still yield to UI
3768         interaction, but take priority over background tasks.
3769
3770         Reviewed by Maciej Stachowiak.
3771
3772         * wtf/Platform.h:
3773         * wtf/Threading.cpp:
3774         (WTF::setCurrentThreadIsUserInitiated):
3775         * wtf/Threading.h:
3776         * wtf/ThreadingPthreads.cpp:
3777         (WTF::createThreadInternal):
3778
3779 2014-06-17  Alex Christensen  <achristensen@webkit.org>
3780
3781         Enable css jit for armv7 on iOS.
3782         https://bugs.webkit.org/show_bug.cgi?id=133961
3783         <rdar://problem/17310631>
3784
3785         Reviewed by Andreas Kling.
3786
3787         * wtf/Platform.h:
3788         Enable css jit for ARM thumb on iOS.
3789
3790 2014-06-17  Dan Bernstein  <mitz@apple.com>
3791
3792         String::isolatedCopy doesn’t return an isolated copy when used on an rvalue reference
3793         https://bugs.webkit.org/show_bug.cgi?id=133968
3794
3795         Reviewed by Anders Carlsson.
3796
3797         Made the rvalue reference overload of isolatedCopy() non-const, so that std::move(*this) is
3798         an rvalue reference that can be moved, rather than copied, into the returned String.
3799
3800         * wtf/text/WTFString.cpp:
3801         (WTF::String::isolatedCopy):
3802         * wtf/text/WTFString.h:
3803
3804 2014-06-15  Dan Bernstein  <mitz@apple.com>
3805
3806         iOS build fix after r169995.
3807
3808         * wtf/RetainPtr.h:
3809
3810 2014-06-15  Anders Carlsson  <andersca@apple.com>
3811
3812         Add an autorelease() member function to RetainPtr
3813         https://bugs.webkit.org/show_bug.cgi?id=133929
3814
3815         Reviewed by Dan Bernstein.
3816
3817         * wtf/RetainPtr.h:
3818
3819 2014-06-13  Alex Christensen  <achristensen@webkit.org>
3820
3821         Unreviewed disabling css jit on armv7.  It's not quite ready yet.
3822
3823         * wtf/Platform.h:
3824         Disable css jit on armv7.
3825
3826 2014-06-13  Alex Christensen  <achristensen@webkit.org>
3827
3828         Enable css jit for armv7 on iOS.
3829         https://bugs.webkit.org/show_bug.cgi?id=133890
3830         <rdar://problem/17310631>
3831
3832         Reviewed by Andreas Kling.
3833
3834         * wtf/Platform.h:
3835         Enable css jit for ARM thumb on iOS.
3836
3837 2014-06-13  Mark Hahnenberg  <mhahnenberg@apple.com>
3838
3839         OSR exit should barrier the Executables for all InlineCallFrames, not just those on the stack at the time of exit
3840         https://bugs.webkit.org/show_bug.cgi?id=133880
3841
3842         Reviewed by Filip Pizlo.
3843
3844         * wtf/Bag.h:
3845         (WTF::Bag::iterator::operator!=): Add != to the Bag iterator so we can use it in range-based iteration.
3846
3847 2014-06-12  Gavin Barraclough  <barraclough@apple.com>
3848
3849         Add support for thread/WorkQueue QoS
3850         https://bugs.webkit.org/show_bug.cgi?id=130688
3851
3852         Reviewed by Anders Carlson & Simon Fraser.
3853
3854         Add the ability to mark threads as UserInteractive.
3855
3856         * wtf/Threading.cpp:
3857         (WTF::setCurrentThreadIsUserInteractive):
3858             - added method to set QoS of current thread to UserInteractive.
3859         * wtf/Threading.h:
3860             - added declaration.
3861
3862 2014-06-12  Alexey Proskuryakov  <ap@apple.com>
3863
3864         Fix Mac after r169880.
3865
3866         This revision added a C++ comment to Platform.h, which breaks sandbox profile
3867         preprocessing.
3868
3869         Also, I do not believe that this comment was entirely accurate - we've always used
3870         this technique with GCC, so there has to be more to it. So, I just removed the comment.
3871
3872         * wtf/Platform.h:
3873
3874 2014-06-11  Csaba Osztrogonác  <ossy@webkit.org>
3875
3876         [EFL][GTK] Ultimate fix not to have build failures
3877         in the future because of "#if TARGET_OS_IPHONE" guards.
3878
3879         Unreviewed buildfix.
3880
3881         * wtf/Platform.h: Define TARGET_OS_IPHONE to 0 on EFL and GTK.
3882
3883 2014-06-11  Ryosuke Niwa  <rniwa@webkit.org>
3884
3885         Turning on DUMP_PROPERTYMAP_STATS causes a build failure
3886         https://bugs.webkit.org/show_bug.cgi?id=133673
3887
3888         Reviewed by Andreas Kling.
3889
3890         Added DEFINE_GLOBAL_FOR_LOGGING to allow running a destructor in logging code
3891         that needs to be enabled in release builds (e.g. for JavaScriptCore).
3892
3893         * wtf/StdLibExtras.h:
3894
3895 2014-06-09  Benjamin Poulain  <bpoulain@apple.com>
3896
3897         Improve CSSPrimitiveValue::customCSSText for ARMv7
3898         https://bugs.webkit.org/show_bug.cgi?id=133597
3899
3900         Reviewed by Andreas Kling.
3901
3902         * wtf/RefPtr.h:
3903         (WTF::RefPtr<T>::RefPtr):
3904         * wtf/text/WTFString.h:
3905         (WTF::String::String):
3906
3907 2014-06-05  Yoav Weiss  <yoav@yoav.ws>
3908
3909         Align srcset parser with recent spec changes
3910         https://bugs.webkit.org/show_bug.cgi?id=133504
3911
3912         Reviewed by Darin Adler.
3913
3914         I've added toInt and toFloat methods to StringView, and exposed
3915         charactersToInt so that they can be used by
3916         HTMLSrcsetParser.cpp.
3917
3918         * wtf/text/WTFString.h:
3919         * wtf/text/StringView.h:
3920         (WTF::StringView::toInt):
3921         (WTF::StringView::toFloat):
3922
3923 2014-06-04  Alex Christensen  <achristensen@webkit.org>
3924
3925         Enable WebGL on Windows.
3926         https://bugs.webkit.org/show_bug.cgi?id=133503
3927
3928         Reviewed by Brent Fulgham.
3929
3930         * wtf/FeatureDefines.h:
3931         Enable WebGL for AppleWin and WinCairo ports.
3932
3933 2014-06-01  Jer Noble  <jer.noble@apple.com>
3934
3935         [MSE] Appends of overlapping sample data do not clear existing samples properly.
3936         https://bugs.webkit.org/show_bug.cgi?id=133435
3937
3938         Reviewed by Darin Adler.
3939
3940         Add a dump method to MediaTime, so that MediaTimes can be easily converted to strings (for logging purposes).
3941
3942         * wtf/MediaTime.cpp:
3943         (WTF::MediaTime::dump):
3944         * wtf/MediaTime.h:
3945
3946 2014-05-31  Anders Carlsson  <andersca@apple.com>
3947
3948         Add a LazyNeverDestroyed class template and use it
3949         https://bugs.webkit.org/show_bug.cgi?id=133425
3950
3951         Reviewed by Darin Adler.
3952
3953         LazyNeverDestroyed is similar to NeverDestroyed, except it's lazily constructed
3954         by calling construct(). This makes it useful for using inside std::call_once functions.
3955         
3956         * wtf/Forward.h:
3957         * wtf/NeverDestroyed.h:
3958         (WTF::LazyNeverDestroyed::construct):
3959         (WTF::LazyNeverDestroyed::operator T&):
3960         (WTF::LazyNeverDestroyed::get):
3961         (WTF::LazyNeverDestroyed::asPtr):
3962         (WTF::LazyNeverDestroyed::MaybeRelax::MaybeRelax):
3963         * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
3964         (WTF::atomicallyInitializedStaticMutex):
3965         * wtf/unicode/icu/CollatorICU.cpp:
3966         (WTF::cachedCollatorMutex):
3967
3968 2014-05-29  Alex Christensen  <achristensen@webkit.org>
3969
3970         Enable css jit by default on arm64.
3971         https://bugs.webkit.org/show_bug.cgi?id=133246
3972         <rdar://problem/17073407>
3973
3974         Reviewed by Benjamin Poulain.
3975
3976         * wtf/Platform.h:
3977         Added arm64 to list of supported architectures.
3978
3979 2014-05-28  Filip Pizlo  <fpizlo@apple.com>
3980
3981         DFG::DCEPhase inserts into an insertion set in reverse, causing hilarious basic block corruption if you kill a lot of NewArrays
3982         https://bugs.webkit.org/show_bug.cgi?id=133368
3983
3984         Reviewed by Mark Lam.
3985
3986         * wtf/Insertion.h:
3987         (WTF::executeInsertions): This algorithm is only correct if insertions are added in the right order. Assert that the order is right.
3988
3989 2014-05-27  Jon Lee  <jonlee@apple.com>
3990
3991         Update ENABLE(MEDIA_SOURCE) on Mac
3992         https://bugs.webkit.org/show_bug.cgi?id=133141
3993
3994         Reviewed by Darin Adler.
3995
3996         * wtf/FeatureDefines.h: #ifdef unneeded for Mac since it's covered in the .xcconfigs.
3997
3998 2014-05-27  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
3999
4000         Remove BLOB guards
4001         https://bugs.webkit.org/show_bug.cgi?id=132863
4002
4003         Reviewed by Csaba Osztrogonác.
4004
4005         * wtf/FeatureDefines.h:
4006
4007 2014-05-27  Gwang Yoon Hwang  <yoon@igalia.com>
4008
4009         [GLIB] RunLoop::dispatch always executes the function on the main thread instead of the target thread.
4010         https://bugs.webkit.org/show_bug.cgi?id=133291
4011
4012         Reviewed by Carlos Garcia Campos.
4013
4014         GMainLoopSource::schedule[AfterDelay] must be used with the appropriate
4015         GMainContext. Because current implementations in RunLoopGtk passes nullptr
4016         instead of its runLoopContext when using GMainLoopSource, all of dispatched
4017         functions are executed on the main thread regardless of which runloops is used.
4018
4019         This patch fixes the issue by passing the m_runLoopContext instead the default
4020         parameter to the GMainLoopSource::schedule[AfterDelay].
4021
4022         * wtf/gtk/RunLoopGtk.cpp:
4023         (WTF::RunLoop::wakeUp):
4024         (WTF::RunLoop::TimerBase::start):
4025
4026 2014-05-26  Darin Adler  <darin@apple.com>
4027
4028         Class name matching should use ASCII case-insensitive matching, not Unicode case folding
4029         https://bugs.webkit.org/show_bug.cgi?id=133292
4030
4031         Reviewed by Anders Carlsson.
4032
4033         * wtf/text/AtomicString.cpp:
4034         (WTF::AtomicString::addSlowCase): Change to take references instead of pointers since these
4035         arguments can never be null.
4036         (WTF::AtomicString::lower): Rearranged slightly to use PassRef in a more efficient but
4037         slightly uglier way.
4038         (WTF::AtomicString::convertToASCIILowercase): Added.
4039         * wtf/text/AtomicString.h: Updated for above changes.
4040
4041         * wtf/text/StringImpl.cpp:
4042         (WTF::StringImpl::convertToASCIILowercase): Added.
4043         * wtf/text/StringImpl.h: Updated for above.
4044
4045         * wtf/text/WTFString.cpp:
4046         (WTF::String::convertToASCIILowercase): Added.
4047         * wtf/text/WTFString.h: Updated for above.
4048
4049 2014-05-22  Zan Dobersek  <zdobersek@igalia.com>
4050
4051         Add the partial specialization for VectorTraits<std::unique_ptr<P>>
4052         https://bugs.webkit.org/show_bug.cgi?id=133083
4053
4054         Reviewed by Andreas Kling.
4055
4056         * wtf/VectorTraits.h: Like for RefPtr<P>, OwnPtr<P> and Ref<P>, the partial
4057         specialization for VectorTraits<std::unique_ptr<P>> should exist and should
4058         inherit from SimpleClassVector.
4059
4060 2014-05-20  Geoffrey Garen  <ggaren@apple.com>
4061
4062         Rolled out <http://trac.webkit.org/changeset/166184>
4063         https://bugs.webkit.org/show_bug.cgi?id=133144
4064
4065         Reviewed by Gavin Barraclough.
4066
4067         It caused a performance regression.
4068
4069         * wtf/FastMalloc.cpp:
4070         (WTF::TCMalloc_PageHeap::runScavengerThread):
4071         * wtf/Threading.h:
4072         * wtf/ThreadingPthreads.cpp:
4073         (WTF::createThreadInternal):
4074         (WTF::setCurrentThreadQOSUtility): Deleted.
4075         * wtf/ThreadingWin.cpp:
4076         (WTF::setCurrentThreadQOSUtility): Deleted.
4077
4078 2014-05-20  Jer Noble  <jer.noble@apple.com>
4079
4080         [Mac] AVAssets are never destroyed; lack of an autorelease pool when calling callOnMainThread.
4081         https://bugs.webkit.org/show_bug.cgi?id=133130
4082
4083         Reviewed by Geoff Garen.
4084
4085         Wrap the function to be called in an autorelease pool, so that autoreleased objects are cleaned
4086         up immediately after the end of the function.
4087
4088         * wtf/mac/MainThreadMac.mm:
4089         (WTF::timerFired):
4090
4091 2014-05-18  Rik Cabanier  <cabanier@adobe.com>
4092
4093         support for navigator.hardwareConcurrency
4094         https://bugs.webkit.org/show_bug.cgi?id=132588
4095
4096         Reviewed by Filip Pizlo.
4097
4098         * wtf/FeatureDefines.h:
4099
4100 2014-05-14  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
4101
4102         Remove CSS_STICKY_POSITION guards
4103         https://bugs.webkit.org/show_bug.cgi?id=132676
4104
4105         Reviewed by Simon Fraser.
4106
4107         * wtf/FeatureDefines.h:
4108
4109 2014-05-13  Simon Fraser  <simon.fraser@apple.com>
4110
4111         [iOS WK2] background-attachment:fixed behaves very poorly
4112         https://bugs.webkit.org/show_bug.cgi?id=132881
4113         <rdar://problem/16789526>
4114
4115         Reviewed by Beth Dakin.
4116         
4117         Remove ENABLE_FAST_MOBILE_SCROLLING. Ports can use the fixedBackgroundsPaintRelativeToDocument
4118         setting now.
4119
4120         * wtf/FeatureDefines.h:
4121
4122 2014-05-08  Alexey Proskuryakov  <ap@apple.com>
4123
4124         Automatically zip document bundles used via File API
4125         https://bugs.webkit.org/show_bug.cgi?id=132713
4126         <rdar://problem/13397892>
4127
4128         Reviewed by Anders Carlsson.
4129
4130         * wtf/FeatureDefines.h: Added ENABLE_FILE_REPLACEMENT for Mac.
4131
4132 2014-05-07  Filip Pizlo  <fpizlo@apple.com>
4133
4134         UNREACHABLE_FOR_PLATFORM() is meant to be a release crash.
4135
4136         Rubber stamped by Mark Hahnenberg..
4137
4138         * wtf/Assertions.h:
4139         (UNREACHABLE_FOR_PLATFORM):
4140
4141 2014-05-06  Alberto Garcia  <berto@igalia.com>
4142
4143         There is no HW_AVAILCPU on FreeBSD, NetBSD, and OpenBSD
4144         https://bugs.webkit.org/show_bug.cgi?id=132542
4145
4146         Reviewed by Michael Saboff.
4147
4148         Use sysconf() to get the number of processor cores.
4149
4150         * wtf/NumberOfCores.cpp:
4151         (WTF::numberOfProcessorCores):
4152
4153 2014-05-04  Darin Adler  <darin@apple.com>
4154
4155         RetainPtr: Use adoptCF function instead of AdoptCF constructor argument
4156         https://bugs.webkit.org/show_bug.cgi?id=80222
4157
4158         Reviewed by Alexey Proskuryakov.
4159
4160         All the clients are gone, so we can now remove AdoptCF and AdoptNS.
4161
4162         * wtf/RetainPtr.h: Removed the public constructors that let you specify AdoptCF
4163         and AdoptNS. Instead, made the adoptCF and adoptNS functions be friends and use
4164         a private constructor that takes an Adopt argument.
4165         (WTF::adoptCF): Moved the Objective-C class check in here.
4166         (WTF::adoptNS): Moved the code to deal with the CFRetain for garbage collection
4167         in here; it used to be spread across the constructor and adoptNSReference.
4168
4169 2014-05-04  Andreas Kling  <akling@apple.com>
4170
4171         Optimize JSRopeString for resolving directly to AtomicString.
4172         <https://webkit.org/b/132548>
4173
4174         Add AtomicString::find([LU]Char*, unsigned length) helpers for finding
4175         an existing AtomicString without a StringImpl on hand.
4176
4177         Reviewed by Filip Pizlo.
4178
4179         * wtf/text/AtomicString.h:
4180         * wtf/text/AtomicString.cpp:
4181         (WTF::AtomicString::find):
4182
4183 2014-05-01  Brent Fulgham  <bfulgham@apple.com>
4184
4185         Fix handling of attributes prior to compiling shader
4186         https://bugs.webkit.org/show_bug.cgi?id=132430
4187
4188         Reviewed by Dean Jackson.
4189
4190         WebGL programs that called bindAttribLocations prior to compiling shader sources
4191         would perform the bind using the non-hashed symbol name, but would later create
4192         the attributes as hashed names. Consequently, the program would refer to
4193         attributes that were never actually part of any shader, resulting in some amazing
4194         display artifacts.
4195
4196         This patch adds a dictionary of hashed symbol names so that we can tell the WebGL
4197         program the proper name that will be used when the shader is eventually compiled,
4198         allowing the WebGL program to link against the proper symbol after compiling and
4199         linking completes.
4200
4201         * wtf/HexNumber.h:
4202         (WTF::appendUnsigned64AsHex): Add uint64_t-compatible hex->string converter.
4203
4204 2014-04-30  Geoffrey Garen  <ggaren@apple.com>
4205
4206         Link against bmalloc in production builds
4207         https://bugs.webkit.org/show_bug.cgi?id=132413
4208
4209         Reviewed by Sam Weinig.
4210
4211         Production builders have been configured to handle this, so let's build
4212         it.
4213
4214         * Configurations/WTF.xcconfig:
4215
4216 2014-05-01  Ryuan Choi  <ryuan.choi@samsung.com>
4217
4218         [EFL] There are many warnings with software backend
4219         https://bugs.webkit.org/show_bug.cgi?id=132422
4220
4221         Reviewed by Gyuyoung Kim.
4222
4223         * wtf/efl/EflTypedefs.h: Added Ecore_X_Window typedef
4224
4225 2014-04-30  Simon Fraser  <simon.fraser@apple.com>
4226
4227         Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO
4228         https://bugs.webkit.org/show_bug.cgi?id=132396
4229
4230         Reviewed by Eric Carlson.
4231
4232         Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO and related code.
4233
4234         * wtf/FeatureDefines.h:
4235
4236 2014-04-30  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
4237
4238         [GTK][GStreamer] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
4239         https://bugs.webkit.org/show_bug.cgi?id=132390
4240
4241         Reviewed by Philippe Normand.
4242
4243         Since EFL port use GLib 2.38 and GTK+, 2.33.2, I assume it is OK
4244         remove, in GTK+ and GST, the existing glib version guards.
4245
4246         This code was rollback from r149879 because Qt MIPS used it. But since
4247         Qt is gone, it is safe to remove now.
4248
4249         * wtf/gobject/GRefPtr.cpp:
4250         (WTF::refGPtr): Deleted.
4251         (WTF::derefGPtr): Deleted.
4252
4253 2014-04-29  Alex Christensen  <achristensen@webkit.org>
4254
4255         [WinCairo] Switch video from GStreamer to Media Foundation.
4256         https://bugs.webkit.org/show_bug.cgi?id=132358
4257
4258         Reviewed by Brent Fulgham.
4259
4260         * WTF.vcxproj/WTF.vcxproj:
4261         Removed dependencies on GStreamer.
4262         * wtf/Platform.h:
4263         Use Media Foundation instead of GStreamer and GLib.
4264
4265 2014-04-29  Filip Pizlo  <fpizlo@apple.com>
4266
4267         Unreviewed, fix cloop build.
4268
4269         * wtf/Platform.h:
4270
4271 2014-04-29  Michael Saboff  <msaboff@apple.com>
4272
4273         For DARWIN platforms, use system temporary directory for DataLog output
4274         https://bugs.webkit.org/show_bug.cgi?id=132346
4275
4276         Reviewed by Geoffrey Garen.
4277
4278         Added code to call confstr() to access the process's temporary directory to use that
4279         location instead of /tmp/.  Put the code behind #ifdef DATA_LOG_TO_DARWIN_TEMP_DIR.
4280
4281         * wtf/DataLog.cpp:
4282         (WTF::initializeLogFileOnce):
4283
4284 2014-04-25  Filip Pizlo  <fpizlo@apple.com>
4285
4286         Figure out how many cores are available for realsies.
4287
4288         Rubber stamped by Andreas Kling.
4289         
4290         HW_AVAILCPU is more canonical than HW_NCPU. For example if you use hacks to tell Darwin
4291         to make it seem like there are fewer CPUs, HW_AVAILCPU will change but HW_NCPU won't.
4292         HW_NCPU doesn't reflect how much actual paralellism you'll get; it's merely reporting
4293         facts about the machine you're running on. HW_AVAILCPU is almost always what WebKit
4294         wants since it uses this information to decide how many threads to launch for various
4295         things.
4296
4297         * wtf/NumberOfCores.cpp:
4298         (WTF::numberOfProcessorCores):
4299
4300 2014-04-22  Brent Fulgham  <bfulgham@apple.com>
4301
4302         [Win] Support Python 2.7 in Cygwin
4303         https://bugs.webkit.org/show_bug.cgi?id=132023
4304
4305         Reviewed by Michael Saboff.
4306
4307         * WTF.vcxproj/WTFGenerated.make: Use proper path to Python.
4308
4309 2014-04-21  Eric Carlson  <eric.carlson@apple.com>
4310
4311         [Mac] implement WebKitDataCue
4312         https://bugs.webkit.org/show_bug.cgi?id=131799
4313
4314         Reviewed by Dean Jackson.
4315
4316         * wtf/FeatureDefines.h: Define ENABLE_DATACUE_VALUE.
4317
4318 2014-04-21  Darin Adler  <darin@apple.com>
4319
4320         Add HashSet::takeAny
4321         https://bugs.webkit.org/show_bug.cgi?id=131928
4322
4323         Reviewed by Benjamin Poulain.
4324
4325         * wtf/HashSet.h: Added an overload of take that takes an iterator,
4326         and used it to implement both the existing take and new takeAny functions.
4327
4328 2014-04-20  Andreas Kling  <akling@apple.com>
4329
4330         Speed up jsStringWithCache() through WeakGCMap inlining.
4331         <https://webkit.org/b/131923>
4332
4333         Add HashMap::fastAdd(), which is the same as add() except we'll tell
4334         the compiler to aggressively inline it.
4335
4336         Reviewed by Darin Adler.
4337
4338         * wtf/HashMap.h:
4339         * wtf/HashTable.h:
4340
4341 2014-04-19  Filip Pizlo  <fpizlo@apple.com>
4342
4343         Make it easier to check if an integer sum would overflow
4344         https://bugs.webkit.org/show_bug.cgi?id=131900
4345
4346         Reviewed by Darin Adler.
4347
4348         * wtf/CheckedArithmetic.h:
4349   &nb