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