b3c57db50b81d402d7cbc43913d2989114bc676b
[WebKit-https.git] / Source / WTF / ChangeLog
1 2013-10-24  Jer Noble  <jer.noble@apple.com>
2
3         [Mac] Add helper methods to convert CMTime <--> MediaTime
4         https://bugs.webkit.org/show_bug.cgi?id=123285
5
6         Reviewed by Eric Carlson.
7
8         Add a #ifdef header_h protector.
9
10         * wtf/MediaTime.h:
11
12 2013-10-24  Mark Rowe  <mrowe@apple.com>
13
14         Remove references to OS X 10.7 from Xcode configuration settings.
15
16         Now that we're not building for OS X 10.7 they're no longer needed.
17
18         Reviewed by Anders Carlsson.
19
20         * Configurations/Base.xcconfig:
21         * Configurations/DebugRelease.xcconfig:
22
23 2013-10-24  Mark Rowe  <mrowe@apple.com>
24
25         <rdar://problem/15312643> Prepare for the mysterious future.
26
27         Reviewed by David Kilzer.
28
29         * Configurations/Base.xcconfig:
30         * Configurations/DebugRelease.xcconfig:
31
32 2013-10-24  Commit Queue  <commit-queue@webkit.org>
33
34         Unreviewed, rolling out r157931.
35         http://trac.webkit.org/changeset/157931
36         https://bugs.webkit.org/show_bug.cgi?id=123284
37
38         Seems to have caused a lot of assertions on debug bots
39         (Requested by ap on #webkit).
40
41         * wtf/text/StringStatics.cpp:
42         (WTF::StringImpl::empty):
43
44 2013-10-24  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
45
46         Remove PCRE workaround.
47         https://bugs.webkit.org/show_bug.cgi?id=123265
48
49         Reviewed by Darin Adler.
50
51         * wtf/text/StringStatics.cpp:
52         (WTF::StringImpl::empty):
53
54 2013-10-24  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
55
56         Remove Clang workaround.
57         https://bugs.webkit.org/show_bug.cgi?id=123262
58
59         Reviewed by Anders Carlsson.
60
61         * wtf/CheckedArithmetic.h:
62         (WTF::Checked::Checked):
63
64 2013-10-24  Ryuan Choi  <ryuan.choi@samsung.com>
65
66         [EFL] Build break with latest EFL 1.8 libraries.
67         https://bugs.webkit.org/show_bug.cgi?id=123245
68
69         Reviewed by Gyuyoung Kim.
70
71         After fixed build break on EFL 1.8 at r138326, EFL libraries are changed
72         Eo typedef and splitted header files which contain version macro.
73
74         * wtf/OwnPtrCommon.h: Changed Eo typedef.
75         * wtf/efl/RefPtrEfl.h: Ditto.
76
77 2013-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
78
79         [GObject bindings] Make EventTarget interface introspectable
80         https://bugs.webkit.org/show_bug.cgi?id=77835
81
82         Reviewed by Gustavo Noronha Silva.
83
84         Add support for use GRefPtr with GClosure.
85
86         * wtf/gobject/GRefPtr.cpp:
87         (WTF::refGPtr):
88         (WTF::derefGPtr):
89         * wtf/gobject/GRefPtr.h:
90         * wtf/gobject/GTypedefs.h:
91
92 2013-10-23  Anders Carlsson  <andersca@apple.com>
93
94         Remove USE(LOCKFREE_THREADSAFEREFCOUNTED)
95         https://bugs.webkit.org/show_bug.cgi?id=123228
96
97         Reviewed by Geoffrey Garen.
98
99         All ports support USE(LOCKFREE_THREADSAFEREFCOUNTED) now and taking a lock on every ref/deref seems bad.
100
101         * wtf/Atomics.h:
102         * wtf/ThreadSafeRefCounted.h:
103         (WTF::ThreadSafeRefCountedBase::ref):
104         (WTF::ThreadSafeRefCountedBase::refCount):
105         (WTF::ThreadSafeRefCountedBase::derefBase):
106
107 2013-10-23  Anders Carlsson  <andersca@apple.com>
108
109         Remove HAVE_XPC
110         https://bugs.webkit.org/show_bug.cgi?id=123226
111
112         Reviewed by Dan Bernstein.
113
114         HAVE_XPC has been true on Mac since Lion, so remove it.
115
116         * wtf/Platform.h:
117
118 2013-10-23  Andreas Kling  <akling@apple.com>
119
120         Make more StringImpl construction functions return PassRef.
121         <https://webkit.org/b/123203>
122
123         Knock out a couple more of the StringImpl construction helpers that
124         always return a non-null StringImpl.
125
126         Reviewed by Antti Koivisto.
127
128 2013-10-22  Filip Pizlo  <fpizlo@apple.com>
129
130         FTL should be able to do some simple inline caches using LLVM patchpoints
131         https://bugs.webkit.org/show_bug.cgi?id=123164
132
133         Reviewed by Mark Hahnenberg.
134         
135         This needed some better bitvector support, like merging (|=), excluding (&=~),
136         hashing, and bit counting.
137
138         * wtf/BitVector.cpp:
139         (WTF::BitVector::setSlow):
140         (WTF::BitVector::excludeSlow):
141         (WTF::BitVector::bitCountSlow):
142         (WTF::BitVector::equalsSlowCase):
143         (WTF::BitVector::hashSlowCase):
144         (WTF::BitVector::dump):
145         * wtf/BitVector.h:
146         (WTF::BitVector::merge):
147         (WTF::BitVector::exclude):
148         (WTF::BitVector::bitCount):
149         (WTF::BitVector::BitVector):
150         (WTF::BitVector::isEmptyValue):
151         (WTF::BitVector::isDeletedValue):
152         (WTF::BitVector::isEmptyOrDeletedValue):
153         (WTF::BitVector::operator==):
154         (WTF::BitVector::hash):
155         (WTF::BitVectorHash::hash):
156         (WTF::BitVectorHash::equal):
157         * wtf/HashTraits.h:
158         (WTF::CustomHashTraits::constructDeletedValue):
159         (WTF::CustomHashTraits::isDeletedValue):
160         (WTF::CustomHashTraits::emptyValue):
161         (WTF::CustomHashTraits::isEmptyValue):
162         * wtf/StdLibExtras.h:
163         (WTF::bitCount):
164
165 2013-10-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
166
167         Clean-up in Atomics.h
168         https://bugs.webkit.org/show_bug.cgi?id=123207
169
170         Reviewed by Anders Carlsson.
171
172         Atomics.h has two confusing and bit-rotted ifdefs with comments.
173
174         The first about CPU(SPARC64) was rendered obsolete when we switched
175         from __exchange_and_add to __sync_add_and_fetch.
176
177         The second was caused by a wrong definition that apparently only
178         caused trouble on GCC.
179
180         * wtf/Atomics.h:
181
182 2013-10-22  Andreas Kling  <akling@apple.com>
183
184         StringImpl::lower() should return a PassRef.
185         <https://webkit.org/b/123190>
186
187         Test the waters and hack enough of StringImpl to be able to return
188         a PassRef<StringImpl> from lower().
189
190         Also gave String a constructor that takes a PassRef<StringImpl>.
191
192         Reviewed by Antti Koivisto.
193
194 2013-10-22  Commit Queue  <commit-queue@webkit.org>
195
196         Unreviewed, rolling out r157835.
197         http://trac.webkit.org/changeset/157835
198         https://bugs.webkit.org/show_bug.cgi?id=123192
199
200         broke 32-bit builds (Requested by smfr on #webkit).
201
202         * wtf/MediaTime.cpp:
203         (WTF::signum):
204         * wtf/MediaTime.h:
205
206 2013-10-22  Jer Noble  <jer.noble@apple.com>
207
208         [WTF] Add a multiplication operator (and a few others) to MediaTime
209         https://bugs.webkit.org/show_bug.cgi?id=123137
210
211         Reviewed by Eric Carlson.
212
213         Add a multiplication operator and an inequality operator to the
214         MediaTime class for use by MSE.
215
216         * wtf/MediaTime.cpp:
217         (WTF::signum): Moved to top of file.
218         (WTF::MediaTime::operator*): Added.
219         (WTF::MediaTime::operator!=): Added.
220         * wtf/MediaTime.h:
221         (WTF::operator*): Added non-class version of operator*.
222
223 2013-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
224
225         Make TYPE_CASTS_BASE more flexible
226         https://bugs.webkit.org/show_bug.cgi?id=122951
227
228         Reviewed by Andreas Kling.
229
230         TYPE_CASTS_BASE is being used by node|element type casts. However, it is difficult
231         to be used by other type casts. For instance, CSSValue, Accessibility and so on.
232         This patch modifies TYPE_CASTS_BASE which can support other type casts.
233
234         Besides TYPE_CASTS_BASE body is moved from node.h to Assertions.h.
235
236         * wtf/Assertions.h:
237
238 2013-10-20  Filip Pizlo  <fpizlo@apple.com>
239
240         StructureStubInfo's usedRegisters set should be able to track all registers, not just the ones that our JIT's view as temporaries
241         https://bugs.webkit.org/show_bug.cgi?id=123076
242
243         Reviewed by Sam Weinig.
244         
245         Teach BitVector how to efficiently merge (i.e. bitvector |=).
246
247         * wtf/BitVector.cpp:
248         (WTF::BitVector::mergeSlow):
249         * wtf/BitVector.h:
250         (WTF::BitVector::merge):
251         (WTF::BitVector::cleanseInlineBits):
252
253 2013-10-19  Jer Noble  <jer.noble@apple.com>
254
255         Unreviewed roll out of r157695; broke Mac builds.
256
257         * wtf/FeatureDefines.h:
258
259 2013-10-07  Jer Noble  <jer.noble@apple.com>
260
261         [MSE] [Mac] Enable MediaSource on the Mac
262         https://bugs.webkit.org/show_bug.cgi?id=122484
263
264         Reviewed by Darin Adler.
265
266         Enable ENABLE_MEDIA_SOURCE.
267
268         * wtf/FeatureDefines.h:
269
270 2013-10-19  Andreas Kling  <akling@apple.com>
271
272         RefPtr::releaseNonNull() incorrectly increments the refcount.
273         <https://webkit.org/b/123063>
274
275         Make releaseNonNull() use adoptRef(T&), mirroring release().
276
277         Reviewed by Anders Carlsson.
278
279 2013-10-18  Andreas Kling  <akling@apple.com>
280
281         Start passing RenderStyle around with PassRef.
282         <https://webkit.org/b/123051>
283
284         Added some new PassRef tricks to make this patch possible.
285
286         Reviewed by Darin Adler.
287
288         * wtf/PassRef.h:
289         (WTF::PassRef::get):
290
291             Added a get() helper to facilitate writing functions that
292             construct a new object and call some functions on it before
293             returning it.
294
295         (WTF::PassRef::dropRef):
296
297             This will deref() the referenced object and mark the PassRef
298             as "passed." This is used in code paths where the PassRef is
299             going to go out of scope with nobody to take it over.
300
301         (WTF::PassRef::leakRef):
302
303             Renamed takeReference() to leakRef() and made it public so
304             we don't have to awkwardly sink the PassRef into a Ref for
305             e.g static locals.
306
307         * wtf/RefPtr.h:
308         (WTF::RefPtr::releaseNonNull):
309
310             Added RefPtr::releaseNonNull() for a convenient way of creating
311             a PassRef<T> from a RefPtr<T>. This function may only be called
312             if the RefPtr is known to be non-null.
313
314 2013-10-18  Filip Pizlo  <fpizlo@apple.com>
315
316         A CodeBlock's StructureStubInfos shouldn't be in a Vector that we search using code origins and machine code PCs
317         https://bugs.webkit.org/show_bug.cgi?id=122940
318
319         Reviewed by Oliver Hunt.
320
321         * GNUmakefile.list.am:
322         * WTF.vcxproj/WTF.vcxproj:
323         * WTF.xcodeproj/project.pbxproj:
324         * wtf/BagToHashMap.h: Added.
325         (WTF::toHashMap):
326         * wtf/CMakeLists.txt:
327
328 2013-10-18  Anders Carlsson  <andersca@apple.com>
329
330         Remove spaces between template angle brackets
331         https://bugs.webkit.org/show_bug.cgi?id=123040
332
333         Reviewed by Andreas Kling.
334
335         * wtf/AVLTree.h:
336         * wtf/CheckedArithmetic.h:
337         * wtf/Compression.h:
338         * wtf/Functional.h:
339         (WTF::R):
340         * wtf/HashFunctions.h:
341         * wtf/HashIterators.h:
342         * wtf/HashSet.h:
343         (WTF::::contains):
344         * wtf/ListHashSet.h:
345         (WTF::::contains):
346         * wtf/RefCountedLeakCounter.cpp:
347         * wtf/RetainPtr.h:
348         * wtf/SentinelLinkedList.h:
349         (WTF::::remove):
350         * wtf/SizeLimits.cpp:
351         * wtf/StreamBuffer.h:
352         * wtf/Vector.h:
353         * wtf/VectorTraits.h:
354         * wtf/WeakPtr.h:
355         (WTF::WeakReference::create):
356         (WTF::WeakReference::createUnbound):
357         (WTF::WeakPtr::WeakPtr):
358         (WTF::WeakPtrFactory::WeakPtrFactory):
359         * wtf/text/AtomicString.cpp:
360         (WTF::AtomicString::add):
361         (WTF::findString):
362         * wtf/text/StringConcatenate.h:
363         * wtf/text/StringImpl.h:
364         * wtf/text/StringOperators.h:
365         (WTF::operator+):
366
367 2013-10-18  Brendan Long  <b.long@cablelabs.com>
368
369         [GStreamer][GTK] Add GRefPtr::outPtr()
370         https://bugs.webkit.org/show_bug.cgi?id=122996
371
372         Reviewed by Philippe Normand.
373
374         * wtf/gobject/GRefPtr.h:
375         (WTF::GRefPtr::outPtr): Added.
376
377 2013-10-17  Geoffrey Garen  <ggaren@apple.com>
378
379         Tidied up the Vector<T> move constructor
380         https://bugs.webkit.org/show_bug.cgi?id=122998
381
382         Reviewed by Anders Carlsson.
383
384         * wtf/Vector.h:
385         (WTF::::Vector): Don't call swap() "weird". It's the way most std types
386         implement move constructors.
387
388         Do inline this function, so the compiler can optimize away a logical
389         move into a physical no-op.
390
391 2013-10-16  Filip Pizlo  <fpizlo@apple.com>
392
393         Introduce WTF::Bag and start using it for InlineCallFrameSet
394         https://bugs.webkit.org/show_bug.cgi?id=122941
395
396         Reviewed by Geoffrey Garen.
397         
398         Introduce WTF::Bag, which is basically an allocation pool. No POD restrictions. Does one
399         malloc per entry. No need to shrink afterwards.
400
401         * GNUmakefile.list.am:
402         * WTF.vcxproj/WTF.vcxproj:
403         * WTF.xcodeproj/project.pbxproj:
404         * wtf/Bag.h: Added.
405         (WTF::Bag::Bag):
406         (WTF::Bag::~Bag):
407         (WTF::Bag::add):
408         (WTF::Bag::iterator::iterator):
409         (WTF::Bag::iterator::operator!):
410         (WTF::Bag::iterator::operator*):
411         (WTF::Bag::iterator::operator++):
412         (WTF::Bag::iterator::operator==):
413         (WTF::Bag::begin):
414         (WTF::Bag::end):
415         (WTF::Bag::isEmpty):
416         * wtf/CMakeLists.txt:
417
418 2013-10-17  Andreas Kling  <akling@apple.com>
419
420         Make it possible to assign a PassRef to a RefPtr.
421         <https://webkit.org/b/122943>
422
423         We have to use std::move when constructing a RefPtr from a PassRef
424         since there is no copy constructor for the latter.
425
426         Reviewed by Antti Koivisto.
427
428 2013-10-16  Ryuan Choi  <ryuan.choi@samsung.com>
429
430         Unreviewed build fix attempt on EFL port after r157520 and r157523
431
432         * wtf/PassRef.h: includes <utility>
433
434 2013-10-16  Darin Adler  <darin@apple.com>
435
436         Add PassRef and createRefCounted so we can improve creation of RefCounted objects
437         https://bugs.webkit.org/show_bug.cgi?id=122904
438
439         Reviewed by Anders Carlsson.
440
441         * GNUmakefile.list.am: Added PassRef.h.
442         * WTF.vcxproj/WTF.vcxproj: Ditto.
443         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
444         * WTF.xcodeproj/project.pbxproj: Ditto.
445         * wtf/CMakeLists.txt: Ditto.
446
447         * wtf/Forward.h: Added PassRef. Also re-sorted and un-indented to match what
448         the style-checking script expects.
449
450         * wtf/PassRef.h: Added. Includes the createRefCounted function template, which
451         is analogous to make_unique, but is for reference counted objects, and also
452         assumes that new will never return null. Also includes an overload of adoptRef
453         that takes a reference rather than a pointer.
454
455         * wtf/PassRefPtr.h: Include "PassRef.h" so we can share the adopted function.
456         Got rid of declarations that duplicate ones in there.
457         (WTF::refIfNotNull): Use nullptr.
458         (WTF::derefIfNotNull): Use nullptr.
459         (WTF::PassRefPtr::PassRefPtr): Use nullptr. Added an overload that takes a PassRef.
460         (WTF::PassRefPtr::operator UnspecifiedBoolType): Use nullptr.
461         (WTF::PassRefPtr::operator=): Made this deleted instead of compile time assertion.
462         (WTF::PassRefPtr::PassRefPtr): Made adopting constructor use an adopt tag instead
463         of an unused boolean.
464         (WTF::PassRefPtr::leakRef): Use nullptr.
465         (WTF::adoptRef): Use the adopt tag.
466
467         * wtf/Ref.h: Use Noncopyable instead of rolling our own.
468         (WTF::Ref::Ref): Add an overload that takes a PassRef.
469         (WTF::Ref::operator=): Ditto.
470
471         * wtf/RefPtr.h: Removed unneeded forward declaration of PassRefPtr.
472         (WTF::RefPtr::RefPtr): Use nullptr. Added overload that takes a PassRef.
473         (WTF::RefPtr::release): Use nullptr.
474         (WTF::RefPtr::operator UnspecifiedBoolType): Use nullptr.
475         (WTF::RefPtr::operator=): Added overload that takes a PassRef.
476         (WTF::RefPtr::clear): Use nullptr.
477
478         * wtf/StdLibExtras.h: Added inline keyword to isPointerTypeAlignmentOkay,
479         reinterpret_cast_ptr, and make_unique. Seems like a simple oversight that these
480         were missing before.
481
482 2013-10-15  Dean Jackson  <dino@apple.com>
483
484         Add ENABLE_WEB_ANIMATIONS flag
485         https://bugs.webkit.org/show_bug.cgi?id=122871
486
487         Reviewed by Tim Horton.
488
489         Eventually might be http://dev.w3.org/fxtf/web-animations/
490         but this is just engine-internal work at the moment.
491
492         * wtf/FeatureDefines.h:
493
494 2013-10-15  Daniel Bates  <dabates@apple.com>
495
496         [iOS] Upstream JavaScriptCore support for ARM64
497         https://bugs.webkit.org/show_bug.cgi?id=122762
498
499         Reviewed by Oliver Hunt.
500
501         * Configurations/Base.xcconfig:
502         * wtf/Atomics.h:
503         (WTF::weakCompareAndSwap):
504         (WTF::armV7_dmb):
505         * wtf/FastMalloc.cpp:
506         * wtf/Platform.h:
507         * wtf/dtoa.cpp:
508         * wtf/dtoa/utils.h:
509         * wtf/text/ASCIIFastPath.h:
510         (WTF::copyLCharsFromUCharSource):
511         * wtf/text/StringImpl.h:
512
513 2013-10-14  Zan Dobersek  <zdobersek@igalia.com>
514
515         Static assertions in WTF::adoptPtr should point to using adoptRef for ref-counted objects
516         https://bugs.webkit.org/show_bug.cgi?id=122745
517
518         Reviewed by Anders Carlsson.
519
520         * wtf/PassOwnPtr.h:
521         (WTF::adoptPtr): When the object's type is convertible to the RefCountedBase or ThreadSafeRefCountedBase type,
522         the static assertion should note that adoptRef should be used instead.
523
524 2013-10-14  Anders Carlsson  <andersca@apple.com>
525
526         WebKit Nightlies broken by r157374
527         https://bugs.webkit.org/show_bug.cgi?id=122736
528
529         Reviewed by Andreas Kling.
530
531         Add back a callOnMainThread overload that Safari is using.
532
533         * wtf/MainThread.cpp:
534         (WTF::callOnMainThread):
535         * wtf/MainThread.h:
536
537 2013-10-13  Darin Adler  <darin@apple.com>
538
539         Deprecate or remove deleteAllValues functions; there are only a few call sites left
540         https://bugs.webkit.org/show_bug.cgi?id=122738
541
542         Reviewed by Anders Carlsson.
543
544         * wtf/Deque.h: Deleted deleteAllValues.
545         * wtf/HashMap.h: Ditto.
546         * wtf/HashSet.h: Ditto.
547         * wtf/ListHashSet.h: Ditto.
548         * wtf/Vector.h: Renamed deleteAllValues to deprecatedDeleteAllValues.
549
550 == Rolled over to ChangeLog-2013-10-13 ==