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