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