Try to fix the build after r173383.
[WebKit-https.git] / Source / WTF / ChangeLog
1 2014-09-08  Tim Horton  <timothy_horton@apple.com>
2
3         Try to fix the build after r173383.
4
5         * wtf/OSObjectPtr.h:
6
7 2014-09-07  Sam Weinig  <sam@webkit.org>
8
9         Make OSObjectPtr a bit more like RefPtr
10         https://bugs.webkit.org/show_bug.cgi?id=136613
11
12         Reviewed by Darin Adler.
13
14         Address some of Darin's feedback by:
15         - Making the adopting constructor private and friending adoptOSObject().
16         - Implementing the assignment operator using swap.
17         - Adding a move assignment operator.
18
19         * wtf/OSObjectPtr.h:
20         (WTF::OSObjectPtr::operator=):
21         (WTF::OSObjectPtr::swap):
22         (WTF::OSObjectPtr::OSObjectPtr):
23
24 2014-09-08  Jessie Berlin  <jberlin@apple.com>
25
26         More build fixes after r173374.
27
28         * wtf/dtoa/strtod.cc:
29
30 2014-09-08  Jessie Berlin  <jberlin@apple.com>
31
32         Build fix after r173374.
33
34         * wtf/dtoa/strtod.cc:
35
36 2014-09-08  Jessie Berlin  <jberlin@apple.com>
37
38         Speculative build fix after r173364.
39
40         * wtf/dtoa/strtod.cc:
41
42 2014-09-07  Maciej Stachowiak  <mjs@apple.com>
43
44         Introduce COMPILER_QUIRK(CONSIDERS_UNREACHABLE_CODE) and use it
45         https://bugs.webkit.org/show_bug.cgi?id=136616
46
47         Reviewed by Darin Adler.
48
49         * wtf/Compiler.h: Define the quirk for all compilers but clang.
50
51 2014-09-06  Sam Weinig  <sam@webkit.org>
52
53         XPCPtr should be converted into an all purpose smart pointer for os_objects
54         https://bugs.webkit.org/show_bug.cgi?id=136602
55
56         Reviewed by Darin Adler.
57
58         * WTF.xcodeproj/project.pbxproj:
59         * wtf/OSObjectPtr.h: Copied from Source/WebKit2/Platform/IPC/mac/XPCPtr.h.
60         (WTF::retainOSObject):
61         (WTF::releaseOSObject):
62         (WTF::OSObjectPtr::OSObjectPtr):
63         (WTF::OSObjectPtr::~OSObjectPtr):
64         (WTF::OSObjectPtr::operator=):
65         (WTF::adoptOSObject):
66         (IPC::XPCPtr::XPCPtr): Deleted.
67         (IPC::XPCPtr::~XPCPtr): Deleted.
68         (IPC::XPCPtr::operator=): Deleted.
69         (IPC::adoptXPC): Deleted.
70         Rename/move XPCPtr to OSObjectPtr and make it work with any os_object.
71
72 2014-09-06  Darin Adler  <darin@apple.com>
73
74         Make updates suggested by new version of Xcode
75         https://bugs.webkit.org/show_bug.cgi?id=136603
76
77         Reviewed by Mark Rowe.
78
79         * Configurations/Base.xcconfig: Added CLANG_WARN_UNREACHABLE_CODE,
80         COMBINE_HIDPI_IMAGES, and ENABLE_STRICT_OBJC_MSGSEND as suggested by
81         Xcode upgrade check.
82
83         * WTF.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
84
85 2014-09-05  Geoffrey Garen  <ggaren@apple.com>
86
87         bmalloc should honor the FastMalloc statistics API
88         https://bugs.webkit.org/show_bug.cgi?id=136592
89
90         Reviewed by Gavin Barraclough.
91
92         * wtf/FastMalloc.cpp:
93         (WTF::fastMallocStatistics):
94
95 2014-09-05  Geoffrey Garen  <ggaren@apple.com>
96
97         bmalloc should honor the FastMalloc scavenging API
98         https://bugs.webkit.org/show_bug.cgi?id=136588
99
100         Reviewed by Andreas Kling.
101
102         * wtf/FastMalloc.cpp:
103         (WTF::releaseFastMallocFreeMemory):
104
105 2014-09-05  Geoffrey Garen  <ggaren@apple.com>
106
107         Rolled out <http://trac.webkit.org/changeset/173313>.
108
109         It seems to have broken the PLT bot.
110
111                 Do the bmalloc.
112                 https://bugs.webkit.org/show_bug.cgi?id=132629
113
114                 * wtf/FastMalloc.cpp:
115
116 2014-06-06  Jer Noble  <jer.noble@apple.com>
117
118         Refactoring: make MediaTime the primary time type for audiovisual times.
119         https://bugs.webkit.org/show_bug.cgi?id=133579
120
121         Reviewed by Eric Carlson.
122
123         Add a unary minus operator, and add unimplemented private casting operators, to make
124         unintentional double->MediaTime and MediaTime->double casts hard errors.
125
126         * wtf/MediaTime.cpp:
127         (WTF::MediaTime::operator-):
128         * wtf/MediaTime.h:
129
130 2014-09-04  Geoffrey Garen  <ggaren@apple.com>
131
132         Do the bmalloc.
133         https://bugs.webkit.org/show_bug.cgi?id=132629
134
135         Reviewed by Michael Saboff.
136
137         64-bit only for now, just to try it out.
138
139         * wtf/FastMalloc.cpp:
140
141 2014-09-05  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
142
143         Enable GenGC on ARM Traditional
144         https://bugs.webkit.org/show_bug.cgi?id=136567
145
146         Reviewed by Csaba Osztrogonác.
147
148         * wtf/Platform.h:
149
150 2014-09-04  Filip Pizlo  <fpizlo@apple.com>
151
152         Beef up the DFG's CFG analyses to include iterated dominance frontiers and more user-friendly BlockSets
153         https://bugs.webkit.org/show_bug.cgi?id=136520
154
155         Fix bug found in Geoff's review but not landed in previous commit.
156
157         * wtf/BitVector.cpp:
158         (WTF::BitVector::equalsSlowCaseFast): return true.
159
160 2014-09-03  Filip Pizlo  <fpizlo@apple.com>
161
162         Beef up the DFG's CFG analyses to include iterated dominance frontiers and more user-friendly BlockSets
163         https://bugs.webkit.org/show_bug.cgi?id=136520
164
165         Reviewed by Geoffrey Garen.
166         
167         Give BitVector a way to quickly find the next set (or unset) bit. Make BitVector equality
168         faster. Fix a minor closure goof in Spectrum.
169
170         * wtf/BitVector.cpp:
171         (WTF::BitVector::equalsSlowCase):
172         (WTF::BitVector::equalsSlowCaseFast):
173         (WTF::BitVector::equalsSlowCaseSimple):
174         * wtf/BitVector.h:
175         (WTF::BitVector::findBit):
176         (WTF::BitVector::findBitFast):
177         (WTF::BitVector::findBitSimple):
178         (WTF::BitVector::findBitInWord):
179         * wtf/Spectrum.h:
180         (WTF::Spectrum::removeIf):
181
182 2014-09-04  Anders Carlsson  <andersca@apple.com>
183
184         Make hash table classes final
185         https://bugs.webkit.org/show_bug.cgi?id=136540
186
187         Reviewed by Antti Koivisto.
188
189         We don't want anybody inheriting from these classes, so make them final.
190
191         * wtf/HashCountedSet.h:
192         * wtf/HashMap.h:
193         * wtf/HashSet.h:
194
195 2014-09-04  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
196
197         Remove CSS_FILTERS flag
198         https://bugs.webkit.org/show_bug.cgi?id=136529
199
200         Reviewed by Dirk Schulze.
201
202         * wtf/FeatureDefines.h:
203
204 2014-09-04  Commit Queue  <commit-queue@webkit.org>
205
206         Unreviewed, rolling out r173201.
207         https://bugs.webkit.org/show_bug.cgi?id=136538
208
209         Improves the situation but also introduces additional crashes.
210         (Requested by zdobersek on #webkit).
211
212         Reverted changeset:
213
214         "GMainLoopSource is exposed to race conditions"
215         https://bugs.webkit.org/show_bug.cgi?id=135800
216         http://trac.webkit.org/changeset/173201
217
218 2014-09-04  Pratik Solanki  <psolanki@apple.com>
219
220         Remove iOS specific disk image cache
221         https://bugs.webkit.org/show_bug.cgi?id=136517
222
223         Reviewed by Antti Koivisto.
224
225         Disk image cache code unnecessarily complicates SharedBuffer implementation. We can remove
226         this now since we don't enable it in WebKit2 on iOS.
227
228         * wtf/FeatureDefines.h:
229
230 2014-09-03  Dan Bernstein  <mitz@apple.com>
231
232         Get rid of HIGH_DPI_CANVAS leftovers
233         https://bugs.webkit.org/show_bug.cgi?id=136491
234
235         Reviewed by Benjamin Poulain.
236
237         * wtf/FeatureDefines.h: Removed definition of ENABLE_HIGH_DPI_CANVAS.
238
239 2014-09-03  Zan Dobersek  <zdobersek@igalia.com>
240
241         GMainLoopSource is exposed to race conditions
242         https://bugs.webkit.org/show_bug.cgi?id=135800
243
244         Reviewed by Carlos Garcia Campos.
245
246         GMainLoopSource objects can be dispatching tasks on one thread
247         while having a new task scheduled on a different thread. This
248         can for instance occur in WebKitVideoSink, where the timeout
249         callback can be called on main thread while at the same time
250         it is being rescheduled on a different thread (created through
251         GStreamer).
252
253         The initial solution is to use GMutex to prevent parallel data
254         access from different threads. In the future I plan to add better
255         assertions, some meaningful comments and look at the possibility
256         of creating thread-specific GMainLoopSource objects that wouldn't
257         require the use of GMutex.
258
259         GSource, GCancellable and std::function<> objects are now packed
260         into an internal Context structure. Using the C++11 move semantics
261         it's simple to, at the time of dispatch, move the current context
262         out of the GMainLoopSource object in case the dispatch causes a
263         rescheduling on that same object.
264
265         All the schedule*() methods and the cancelInternal() method callers
266         now lock the GMutex to ensure no one else is accessing the data at
267         that moment. Similar goes for the dispatch methods, but those do
268         the dispatch and possible destruction duties with the mutex unlocked.
269         The dispatch can cause rescheduling on the same GMainLoopSource object,
270         which must not be done with a locked mutex.
271
272         * wtf/gobject/GMainLoopSource.cpp:
273         (WTF::GMainLoopSource::GMainLoopSource):
274         (WTF::GMainLoopSource::~GMainLoopSource):
275         (WTF::GMainLoopSource::cancel):
276         (WTF::GMainLoopSource::cancelInternal):
277         (WTF::GMainLoopSource::scheduleIdleSource):
278         (WTF::GMainLoopSource::schedule):
279         (WTF::GMainLoopSource::scheduleTimeoutSource):
280         (WTF::GMainLoopSource::scheduleAfterDelay):
281         (WTF::GMainLoopSource::voidCallback):
282         (WTF::GMainLoopSource::boolCallback):
283         (WTF::GMainLoopSource::socketCallback):
284         (WTF::GMainLoopSource::destroy):
285         (WTF::GMainLoopSource::reset): Deleted.
286         * wtf/gobject/GMainLoopSource.h:
287
288 2014-09-02  Daniel Bates  <dabates@apple.com>
289
290         [iOS] Support using Foundation networking code
291         https://bugs.webkit.org/show_bug.cgi?id=136467
292
293         Reviewed by Pratik Solanki.
294
295         Disable USE(CFNETWORK) and use the Foundation networking code by default when building
296         iOS WebKit without the Apple Internal SDK.
297
298         * wtf/Platform.h:
299
300 2014-08-26  Maciej Stachowiak  <mjs@apple.com>
301
302         Use RetainPtr::autorelease in some places where it seems appropriate
303         https://bugs.webkit.org/show_bug.cgi?id=136280
304
305         Reviewed by Darin Adler.
306
307         * wtf/text/mac/StringImplMac.mm:
308         (WTF::StringImpl::operator NSString *): Use autorelease() instead of
309         CFBridgingRelease(leakRef())
310
311 2014-08-29  Joseph Pecoraro  <pecoraro@apple.com>
312
313         JavaScriptCore: Use ASCIILiteral where possible
314         https://bugs.webkit.org/show_bug.cgi?id=136179
315
316         Reviewed by Michael Saboff.
317
318         * wtf/text/WTFString.cpp:
319         (asciiDebug):
320
321 2014-08-27  Filip Pizlo  <fpizlo@apple.com>
322
323         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"
324         https://bugs.webkit.org/show_bug.cgi?id=93361
325
326         Reviewed by Mark Hahnenberg.
327         
328         Make BitVector operations return the previous value of the bit you're changing. This is
329         useful for the kinds of set operations that are commonplace in compiler graph searches.
330
331         * wtf/BitVector.h:
332         (WTF::BitVector::quickSet):
333         (WTF::BitVector::quickClear):
334         (WTF::BitVector::set):
335         (WTF::BitVector::ensureSizeAndSet):
336         (WTF::BitVector::clear):
337
338 2014-08-27  Filip Pizlo  <fpizlo@apple.com>
339
340         FTL should be able to do polymorphic call inlining
341         https://bugs.webkit.org/show_bug.cgi?id=135145
342
343         Reviewed by Geoffrey Garen.
344         
345         Add some power that I need for call edge profiling.
346
347         * wtf/OwnPtr.h:
348         (WTF::OwnPtr<T>::createTransactionally):
349         * wtf/Spectrum.h:
350         (WTF::Spectrum::add):
351         (WTF::Spectrum::addAll):
352         (WTF::Spectrum::get):
353         (WTF::Spectrum::size):
354         (WTF::Spectrum::KeyAndCount::KeyAndCount):
355         (WTF::Spectrum::clear):
356         (WTF::Spectrum::removeIf):
357
358 2014-08-27  Nico Weber  <thakis@chromium.org>
359
360         Delete a MSVS2010 workaround.
361         https://bugs.webkit.org/show_bug.cgi?id=136321
362
363         Reviewed by Benjamin Poulain.
364
365         Ports https://codereview.chromium.org/512923004/ by the talented
366         Nico Weber from Blink. No intended behavior change.
367
368         * wtf/Vector.h:
369         (WTF::=):
370
371 2014-08-27  Mark Rowe  <mrowe@apple.com>
372
373         JavaScriptCore is missing debug info for WTF because libWTF.a is stripped.
374         <https://webkit.org/b/136320> / <rdar://problem/18148776>
375
376         Reviewed by Dan Bernstein.
377
378         * Configurations/WTF.xcconfig: Set STRIP_INSTALLED_PRODUCT = NO for the target
379         that produces libWTF.a so that the debug symbols will be linked into JavaScriptCore
380         and end up in its dSYM file.
381
382 2014-08-26  Commit Queue  <commit-queue@webkit.org>
383
384         Unreviewed, rolling out r172940.
385         https://bugs.webkit.org/show_bug.cgi?id=136256
386
387         Caused assertions on fast/storage/serialized-script-
388         value.html, and possibly flakiness on more tests (Requested by
389         ap on #webkit).
390
391         Reverted changeset:
392
393         "FTL should be able to do polymorphic call inlining"
394         https://bugs.webkit.org/show_bug.cgi?id=135145
395         http://trac.webkit.org/changeset/172940
396
397 2014-08-23  Filip Pizlo  <fpizlo@apple.com>
398
399         FTL should be able to do polymorphic call inlining
400         https://bugs.webkit.org/show_bug.cgi?id=135145
401
402         Reviewed by Geoffrey Garen.
403         
404         Add some power that I need for call edge profiling.
405
406         * wtf/OwnPtr.h:
407         (WTF::OwnPtr<T>::createTransactionally):
408         * wtf/Spectrum.h:
409         (WTF::Spectrum::add):
410         (WTF::Spectrum::addAll):
411         (WTF::Spectrum::get):
412         (WTF::Spectrum::size):
413         (WTF::Spectrum::KeyAndCount::KeyAndCount):
414         (WTF::Spectrum::clear):
415         (WTF::Spectrum::removeIf):
416
417 2014-08-25  Tomas Popela  <tpopela@redhat.com>
418
419         Add support for little-endian PowerPC64
420         https://bugs.webkit.org/show_bug.cgi?id=135647
421
422         Reviewed by Oliver Hunt.
423
424         * wtf/Platform.h:
425         * wtf/dtoa/utils.h:
426
427 2014-08-24  Zan Dobersek  <zdobersek@igalia.com>
428
429         GenericHashTraits::peek() is producing copies of passed-in temporary values
430         https://bugs.webkit.org/show_bug.cgi?id=131461
431
432         Reviewed by Darin Adler.
433
434         * wtf/HashTraits.h:
435         (WTF::GenericHashTraits::peek): Make this method a template that passes through
436         the passed-in value without copying, achieved by using universal references and
437         std::forward<>().
438
439 2014-08-22  Daniel Bates  <dabates@apple.com>
440
441         [iOS] Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, and temporarily disable ENABLE_TOUCH_EVENTS
442         and ENABLE_XSLT when building with the iOS public SDK
443         https://bugs.webkit.org/show_bug.cgi?id=135945
444
445         Reviewed by Andy Estes.
446
447         * wtf/FeatureDefines.h:
448
449 2014-08-22  Akos Kiss  <akiss@inf.u-szeged.hu>
450
451         Enable fixed executable allocator for any ARM64 target.
452         https://bugs.webkit.org/show_bug.cgi?id=136162
453
454         Reviewed by Michael Saboff.
455
456         The ARM64 macro assembler relies on near calls being implemented by BL
457         instructions, which have only 128MB offset range from PC. The
458         on-demand executable allocator cannot ensure that any two locations in
459         memory allocated for the JIT-compiled code are within this range. 
460         However, the fixed executable allocator has a fixed 16MB memory pool for
461         ARM64.
462
463         * wtf/Platform.h:
464         Define ENABLE_EXECUTABLE_ALLOCATOR_FIXED if CPU(ARM64), and update
465         attached comment.
466
467 2014-08-22  Commit Queue  <commit-queue@webkit.org>
468
469         Unreviewed, rolling out r172844.
470         https://bugs.webkit.org/show_bug.cgi?id=136164
471
472         re-applying WEBCORE_EXPORTS patch (Requested by
473         alexchristensen on #webkit).
474
475         Reverted changeset:
476
477         "Revert r172831, it broke the Windows build."
478         http://trac.webkit.org/changeset/172844
479
480 2014-08-22  Jon Lee  <jonlee@apple.com>
481
482         Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
483         https://bugs.webkit.org/show_bug.cgi?id=136157
484
485         Reviewed by Simon Fraser.
486
487         * wtf/FeatureDefines.h: Remove ENABLE(RUBBER_BANDING) logic for Mac platform.
488
489 2014-08-21  Tim Horton  <timothy_horton@apple.com>
490
491         Revert r172831, it broke the Windows build.
492
493         * wtf/ExportMacros.h:
494
495 2014-08-21  Zalan Bujtas  <zalan@apple.com>
496
497         Enable SATURATED_LAYOUT_ARITHMETIC.
498         https://bugs.webkit.org/show_bug.cgi?id=136106
499
500         Reviewed by Simon Fraser.
501
502         SATURATED_LAYOUT_ARITHMETIC protects LayoutUnit against arithmetic overflow.
503         (No measurable performance regression on Mac.)
504
505         * wtf/FeatureDefines.h:
506
507 2014-08-21  Alex Christensen  <achristensen@webkit.org>
508
509         More WEBCORE_EXPORT macros.
510         https://bugs.webkit.org/show_bug.cgi?id=136129
511
512         Reviewed by Tim Horton.
513
514         * wtf/ExportMacros.h:
515         Removed WTF_TESTING which isn't used.
516
517 2014-08-20  Akos Kiss  <akiss@inf.u-szeged.hu>
518
519         Enable ARM64 disassembler on EFL
520         https://bugs.webkit.org/show_bug.cgi?id=136089
521
522         Reviewed by Filip Pizlo.
523
524         * wtf/Platform.h:
525         Enable WTF_USE_ARM64_DISASSEMBLER for EFL as well.
526
527 2014-08-19  Pratik Solanki  <psolanki@apple.com>
528
529         Remove PurgeableBuffer since it is not very useful any more
530         https://bugs.webkit.org/show_bug.cgi?id=135939
531
532         Reviewed by Andreas Kling.
533
534         * wtf/Platform.h: Remove ENABLE_PURGEABLE_MEMORY define.
535         * wtf/VMTags.h: Remove VM tags used by WebCore for cached resource purgeable memory.
536
537 2014-08-19  Magnus Granberg  <zorry@gentoo.org>
538
539         TEXTREL in libjavascriptcoregtk-1.0.so.0.11.0 on x86 (or i586)
540         https://bugs.webkit.org/show_bug.cgi?id=70610
541
542         Reviewed by Darin Adler.
543
544         Add PLT if we're building with PIC.
545
546         * wtf/InlineASM.h:
547
548 2014-08-19  Zalan Bujtas  <zalan@apple.com>
549
550         Remove ENABLE(SUBPIXEL_LAYOUT).
551         https://bugs.webkit.org/show_bug.cgi?id=136077
552
553         Reviewed by Simon Fraser.
554
555         Remove compile time flag SUBPIXEL_LAYOUT. All ports have it enabled for a while now.
556
557         * wtf/FeatureDefines.h:
558
559 2014-08-18  Maciej Stachowiak  <mjs@apple.com>
560
561         Use NSURLFileTypeMappings directly instead of depending on WebKitSystemInterface wrappers for it
562         https://bugs.webkit.org/show_bug.cgi?id=136035
563
564         Reviewed by Dan Bernstein.
565
566         * wtf/Platform.h: Define USE(APPLE_INTERNAL_SDK) by default on platforms that have it.
567
568 2014-08-18  Commit Queue  <commit-queue@webkit.org>
569
570         Unreviewed, rolling out r172736.
571         https://bugs.webkit.org/show_bug.cgi?id=136060
572
573         Caused 14% PLT regressions (Requested by rniwa on #webkit).
574
575         Reverted changeset:
576
577         "Remove PurgeableBuffer since it is not very useful any more"
578         https://bugs.webkit.org/show_bug.cgi?id=135939
579         http://trac.webkit.org/changeset/172736
580
581 2014-08-18  Pratik Solanki  <psolanki@apple.com>
582
583         Remove PurgeableBuffer since it is not very useful any more
584         https://bugs.webkit.org/show_bug.cgi?id=135939
585
586         Reviewed by Geoffrey Garen.
587
588         * wtf/Platform.h: Remove ENABLE_PURGEABLE_MEMORY define.
589         * wtf/VMTags.h: Remove VM tags used by WebCore for cached resource purgeable memory.
590
591 2014-08-14  Benjamin Poulain  <benjamin@webkit.org>
592
593         CSS JIT: compile the :empty pseudo class
594         https://bugs.webkit.org/show_bug.cgi?id=135958
595
596         Reviewed by Andreas Kling.
597
598         * wtf/text/StringImpl.h:
599         (WTF::StringImpl::lengthMemoryOffset):
600
601 2014-08-12  Myles C. Maxfield  <mmaxfield@apple.com>
602
603         Elements whose contents start with an astral Unicode symbol disappear when CSS `::first-letter` is applied to them
604         https://bugs.webkit.org/show_bug.cgi?id=135756
605
606         Reviewed by Darin Adler.
607
608         Add a method to StringView which passes through contains() to find().
609
610         * wtf/text/StringView.h:
611         (WTF::StringView::contains):
612
613 2014-08-12  Pratik Solanki  <psolanki@apple.com>
614
615         Enable didReceiveDataArray callback on Mac
616         https://bugs.webkit.org/show_bug.cgi?id=135554
617         <rdar://problem/9170731>
618
619         Reviewed by Andreas Kling.
620
621         Enable WTF_USE_NETWORK_CFDATA_ARRAY_CALLBACK for all Cocoa platforms so that we use the same
622         code path for Mac and iOS.
623
624         * wtf/Platform.h:
625
626 2014-08-12  Alex Christensen  <achristensen@webkit.org>
627
628         Generate header detection headers for CMake on Windows.
629         https://bugs.webkit.org/show_bug.cgi?id=135807
630
631         Reviewed by Brent Fulgham.
632
633         * wtf/CMakeLists.txt:
634         * wtf/PlatformWin.cmake:
635         Generate and include a stub WTFHeaderDetection.h.
636
637 2014-08-11  Andy Estes  <aestes@apple.com>
638
639         [iOS] Get rid of iOS.xcconfig
640         https://bugs.webkit.org/show_bug.cgi?id=135809
641
642         Reviewed by Joseph Pecoraro.
643
644         All iOS.xcconfig did was include AspenFamily.xcconfig, so there's no need for the indirection.
645
646         * Configurations/Base.xcconfig:
647         * Configurations/iOS.xcconfig: Removed.
648         * WTF.xcodeproj/project.pbxproj:
649
650 2014-08-12  Zan Dobersek  <zdobersek@igalia.com>
651
652         Clean up GMutexLocker
653         https://bugs.webkit.org/show_bug.cgi?id=135833
654
655         Reviewed by Carlos Garcia Campos.
656
657         Place the GMutexLocker into the WTF namespace. There's no need for this
658         class to use FastMalloc since it's always allocated on the stack. The
659         constructor and class now operate on a GMutex reference. There's little
660         need for an additional inline specifier for methods defined in the header.
661         The mutex() method is removed as it was not used. m_val is renamed to a
662         more descriptive m_locked and is made a boolean.
663
664         * wtf/gobject/GMutexLocker.h:
665         (WTF::GMutexLocker::GMutexLocker):
666         (WTF::GMutexLocker::~GMutexLocker):
667         (WTF::GMutexLocker::lock):
668         (WTF::GMutexLocker::unlock):
669         (WebCore::GMutexLocker::GMutexLocker): Deleted.
670         (WebCore::GMutexLocker::~GMutexLocker): Deleted.
671         (WebCore::GMutexLocker::lock): Deleted.
672         (WebCore::GMutexLocker::unlock): Deleted.
673         (WebCore::GMutexLocker::mutex): Deleted.
674
675 2014-08-12  Zan Dobersek  <zdobersek@igalia.com>
676
677         Make GRefPtr move-able
678         https://bugs.webkit.org/show_bug.cgi?id=135801
679
680         Reviewed by Carlos Garcia Campos.
681
682         Add move constructor and move assignment operator for GRefPtr.
683
684         * wtf/gobject/GRefPtr.h:
685         (WTF::GRefPtr::GRefPtr):
686         (WTF::=):
687
688 2014-08-10  Benjamin Poulain  <benjamin@webkit.org>
689
690         Update HashTable's operator= after r172167 per review comments
691
692         * wtf/HashTable.h:
693         Update the type as suggested by Darin.
694
695 2014-08-07  Benjamin Poulain  <bpoulain@apple.com>
696
697         Get rid of SCRIPTED_SPEECH
698         https://bugs.webkit.org/show_bug.cgi?id=135729
699
700         Reviewed by Brent Fulgham.
701
702         * wtf/FeatureDefines.h:
703
704 2014-08-07  Benjamin Poulain  <bpoulain@apple.com>
705
706         Get rid of INPUT_SPEECH
707         https://bugs.webkit.org/show_bug.cgi?id=135672
708
709         Reviewed by Andreas Kling.
710
711         * wtf/FeatureDefines.h:
712
713 2014-08-06  Dean Jackson  <dino@apple.com>
714
715         ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED is not used anywhere. Remove it.
716         https://bugs.webkit.org/show_bug.cgi?id=135675
717
718         Reviewed by Sam Weinig.
719
720         * wtf/FeatureDefines.h:
721
722 2014-08-06  Benjamin Poulain  <benjamin@webkit.org>
723
724         HashTable based classes leak a lot
725         https://bugs.webkit.org/show_bug.cgi?id=135638
726
727         Reviewed by Darin Adler.
728
729         * wtf/HashTable.h:
730         The operator= taking a rvalue reference was never freeing the memory allocated
731         for the table of the left hand side object.
732
733         This patch fixes the leaks by doing an alloc+swap with a new object.
734         The object temp gets the reference to m_table, and destroys it in the regular destructor
735         when going out of scope.
736
737         Kudos to Pratik Solanki for finding the leaks.
738
739 2014-08-06  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
740
741         [JSC] Build fix for FTL on EFL after ftlopt merge
742         https://bugs.webkit.org/show_bug.cgi?id=135565
743
744         Reviewed by Mark Lam.
745
746         Added ENABLE(FTL_NATIVE_CALL_INLINING).
747
748         * wtf/Platform.h:
749
750 2014-08-04  Alex Christensen  <achristensen@webkit.org>
751
752         Progress towards CMake on Mac.
753         https://bugs.webkit.org/show_bug.cgi?id=135528
754
755         Reviewed by Gyuyoung Kim.
756
757         * wtf/CMakeLists.txt:
758         Include text directory.
759         * wtf/PlatformMac.cmake: Added.
760
761 2014-07-31  Alex Christensen  <achristensen@webkit.org>
762
763         Progress towards cmake on Windows.
764         https://bugs.webkit.org/show_bug.cgi?id=135484
765
766         Reviewed by Martin Robinson.
767
768         * wtf/CMakeLists.txt:
769         Added WTF_LIBRARY_TYPE because Windows needs WTF to be a shared library.
770
771 2014-07-30  Andreas Kling  <akling@apple.com>
772
773         PropertyName's internal string is always atomic.
774         <https://webkit.org/b/135451>
775
776         Remove AtomicString::findStringWithHash() since nobody uses it anymore.
777
778         Reviewed by Benjamin Poulain.
779
780         * wtf/text/AtomicString.cpp:
781         (WTF::findString): Deleted.
782         (WTF::AtomicString::findStringWithHash): Deleted.
783         * wtf/text/AtomicString.h:
784
785 2014-07-30  Andy Estes  <aestes@apple.com>
786
787         USE(CONTENT_FILTERING) should be ENABLE(CONTENT_FILTERING)
788         https://bugs.webkit.org/show_bug.cgi?id=135439
789
790         Reviewed by Tim Horton.
791
792         We now support two different platform content filters, and will soon support a mock content filter (as part of
793         webkit.org/b/128858). This makes content filtering a feature of WebKit, not just an adoption of a third-party
794         library. ENABLE() is the correct macro to use for such a feature.
795
796         * wtf/Platform.h:
797
798 2014-07-29  Brent Fulgham  <bfulgham@apple.com>
799
800         [Win] Modify version numbering scheme to support 5-tuple versions
801         https://bugs.webkit.org/show_bug.cgi?id=135400
802         <rdar://problem/17849033>
803
804         Reviewed by David Kilzer.
805
806         * WTF.vcxproj/WTFPostBuild.cmd: Use new version-stamp.pl script
807         to version WTF.dll.
808         * WTF.vcxproj/WTFPreBuild.cmd: Make sure we have created the
809         appropriate version resource during builds.
810
811 2014-07-29  Daniel Bates  <dabates@apple.com>
812
813         Use WTF::move() instead of std::move() to help ensure move semantics
814         https://bugs.webkit.org/show_bug.cgi?id=135351
815
816         Reviewed by Alexey Proskuryakov.
817
818         * wtf/HashTable.h:
819         (WTF::KeyTraits>::HashTable):
820
821 2014-07-28  Brian J. Burg  <burg@cs.washington.edu>
822
823         Should not export symbols for base64Encode inline adapter methods
824         https://bugs.webkit.org/show_bug.cgi?id=135355
825
826         Unreviewed build fix.
827
828         Fixes the build break introduced by r171682, where a base64Encode
829         inline adapter method was used in another header, thus creating
830         multiple definitions of it (and problems with with weak symbols).
831
832         * wtf/text/Base64.h: Remove WTF_EXPORT_PRIVATE for inlined methods.
833
834 2014-07-27  Filip Pizlo  <fpizlo@apple.com>
835
836         Merge r170090, r170092, r170129, r170141, r170161, r170215, r170275, r170375, r170376, r170382, r170383, r170399, r170436, r170489, r170490, r170556 from ftlopt.
837
838         * wtf/text/WTFString.h:
839
840 2014-07-26  Filip Pizlo  <fpizlo@apple.com>
841
842         Unreviewed, roll out r171641-r171644. It broke some tests; will investigate and
843         reland later.
844
845         * wtf/text/WTFString.h:
846
847 2014-07-25  Filip Pizlo  <fpizlo@apple.com>
848
849         Attempt to fix Windows.
850
851         * wtf/text/WTFString.h:
852
853 2014-07-25  Gavin Barraclough  <baraclough@apple.com>
854
855         Yosemite version number is 101000
856         https://bugs.webkit.org/show_bug.cgi?id=135301
857
858         Reviewed by Sam Weinig.
859
860         * wtf/FeatureDefines.h:
861         * wtf/Platform.h:
862
863 2014-07-23  Brent Fulgham  <bfulgham@apple.com>
864
865         [Win] Use NO_RETURN_DUE_TO_CRASH on Windows.
866         https://bugs.webkit.org/show_bug.cgi?id=13519
867
868         Reviewed by Mark Lam.
869
870         * wtf/Assertions.h: Add MSVC to list of compilers supporting this macro.
871         * wtf/FastMalloc.cpp: Correct function declaration for NO_RETURN_DUE_TO_CRASH.
872
873 2014-07-22  Filip Pizlo  <fpizlo@apple.com>
874
875         Merge r169148, r169185, r169188, r169578, r169582, r169584, r169588, r169753 from ftlopt.
876
877     2014-06-04  Filip Pizlo  <fpizlo@apple.com>
878     
879             [ftlopt] AI should be able track structure sets larger than 1
880             https://bugs.webkit.org/show_bug.cgi?id=128073
881     
882             Reviewed by Oliver Hunt.
883     
884             * wtf/Bag.h:
885             (WTF::Bag::Node::Node):
886             (WTF::Bag::add):
887     
888 2014-07-22  Filip Pizlo  <fpizlo@apple.com>
889
890         Merge r168635, r168780, r169005, r169014, and r169143 from ftlopt.
891
892     2014-05-20  Filip Pizlo  <fpizlo@apple.com>
893     
894             [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
895             https://bugs.webkit.org/show_bug.cgi?id=133105
896     
897             Reviewed by Michael Saboff.
898     
899             * wtf/Bag.h:
900             (WTF::Bag::iterator::operator!=):
901     
902 2014-07-19  Zan Dobersek  <zdobersek@igalia.com>
903
904         [WTF] Add the move constructor, move assignment operator for HashTable
905         https://bugs.webkit.org/show_bug.cgi?id=130772
906
907         Reviewed by Darin Adler.
908
909         HashTable has both copy constructor and copy assignment operator, meaning that the move constructor
910         and move assignment operator are implicitly deleted. This patch defines both to avoid unnecessary
911         copies when moves can be performed.
912
913         * wtf/HashTable.h:
914         (WTF::KeyTraits>::HashTable):
915
916 2014-07-15  Commit Queue  <commit-queue@webkit.org>
917
918         Unreviewed, rolling out r171107.
919         https://bugs.webkit.org/show_bug.cgi?id=134959
920
921         This was not the problem! (Requested by kling on #webkit).
922
923         Reverted changeset:
924
925         "Revert: Run the FastMalloc scavenger thread on iOS as well."
926         https://bugs.webkit.org/show_bug.cgi?id=134927
927         http://trac.webkit.org/changeset/171107
928
929 2014-07-15  Andreas Kling  <akling@apple.com>
930
931         Revert: Run the FastMalloc scavenger thread on iOS as well.
932         <https://webkit.org/b/134927>
933         <rdar://problem/17485079>
934
935         This appears to be the cause of some elusive crashes, and since I don't
936         have a way to reproduce them, let's just go back to not running the
937         scavenger thread on iOS.
938
939         Reviewed by Antti Koivisto.
940
941         * wtf/FastMalloc.cpp:
942
943 2014-07-13  Filip Pizlo  <fpizlo@apple.com>
944
945         HashMap should have removeIf()
946         https://bugs.webkit.org/show_bug.cgi?id=134870
947
948         Reviewed by Sam Weinig.
949         
950         Expose a new HashMap method, called removeIf(), which allows you to do an efficient
951         pass over the map and remove a bunch of things at once. This is used by DFG GCSE as
952         part of https://bugs.webkit.org/show_bug.cgi?id=134677.
953
954         * wtf/HashMap.h:
955         (WTF::X>::removeIf):
956         * wtf/HashTable.h:
957         (WTF::KeyTraits>::removeIf):
958
959 2014-07-11  peavo@outlook.com  <peavo@outlook.com>
960
961         [Win] Enable DFG JIT.
962         https://bugs.webkit.org/show_bug.cgi?id=123615
963
964         Reviewed by Mark Lam.
965
966         * wtf/Platform.h:
967
968 2014-07-11  Commit Queue  <commit-queue@webkit.org>
969
970         Unreviewed, rolling out r170995.
971         https://bugs.webkit.org/show_bug.cgi?id=134831
972
973         Causing odd crashes in debug builds (Requested by zdobersek on
974         #webkit).
975
976         Reverted changeset:
977
978         "[WTF] Add the move constructor, move assignment operator for
979         HashTable"
980         https://bugs.webkit.org/show_bug.cgi?id=130772
981         http://trac.webkit.org/changeset/170995
982
983 2014-07-09  Zan Dobersek  <zdobersek@igalia.com>
984
985         [WTF] Add the move constructor, move assignment operator for HashTable
986         https://bugs.webkit.org/show_bug.cgi?id=130772
987
988         Reviewed by Darin Adler.
989
990         HashTable has both copy constructor and copy assignment operator, meaning that the move constructor
991         and move assignment operator are implicitly deleted. This patch defines both to avoid unnecessary
992         copies when moves can be performed.
993
994         * wtf/HashTable.h:
995         (WTF::KeyTraits>::HashTable):
996
997 2014-07-10  Alex Christensen  <achristensen@webkit.org>
998
999         Enable same features on all Windows ports.
1000         https://bugs.webkit.org/show_bug.cgi?id=134715
1001
1002         Reviewed by Brent Fulgham.
1003
1004         * wtf/Platform.h:
1005         Use REQUEST_ANIMATION_FRAME_TIMER on WinCairo.
1006
1007 2014-07-09  Brent Fulgham  <bfulgham@apple.com>
1008
1009         [Win] Unreviewed build fix after r170930.
1010
1011         * WTF.vcxproj/copy-files.cmd: Include cf files in
1012         post-build copy operation.
1013
1014 2014-07-09  Brent Fulgham  <bfulgham@apple.com>
1015
1016         [Win] Remove uses of 'bash' in build system
1017         https://bugs.webkit.org/show_bug.cgi?id=134782
1018         <rdar://problem/17615533>
1019
1020         Reviewed by Dean Jackson.
1021
1022         Remove uses of 'bash' by replacing Windows-specific bash scripts
1023         with Perl equivalents.
1024
1025         * WTF.vcxproj/WTFGenerated.make:
1026         * WTF.vcxproj/WTFGenerated.vcxproj:
1027         * WTF.vcxproj/WTFGenerated.vcxproj.filters:
1028         * WTF.vcxproj/WTFPreBuild.cmd:
1029         * WTF.vcxproj/build-generated-files.pl: Copied from Source/WTF/WTF.vcxproj/build-generated-files.sh.
1030         * WTF.vcxproj/build-generated-files.sh: Removed.
1031
1032 2014-07-09  Brent Fulgham  <bfulgham@apple.com>
1033
1034         [Win] Remove use of 'grep' in build steps
1035         https://bugs.webkit.org/show_bug.cgi?id=134770
1036         <rdar://problem/17608783>
1037
1038         Reviewed by Tim Horton.
1039
1040         Replace uses of the grep command in Windows builds with the equivalent
1041         Perl program.
1042
1043         * WTF.vcxproj/WTFPreBuild.cmd:
1044
1045 2014-07-07  Zan Dobersek  <zdobersek@igalia.com>
1046
1047         Enable ARMv7 disassembler for the GTK port
1048         https://bugs.webkit.org/show_bug.cgi?id=134676
1049
1050         Reviewed by Benjamin Poulain.
1051
1052         * wtf/Platform.h: Enable the ARMv7 disassembler for the GTK port when
1053         targeting the ARMv7 architecture.
1054
1055 2014-07-06  Yoav Weiss  <yoav@yoav.ws>
1056
1057         Turn on img@sizes compile flag
1058         https://bugs.webkit.org/show_bug.cgi?id=134634
1059
1060         Reviewed by Benjamin Poulain.
1061
1062         * wtf/FeatureDefines.h: Added compile flag definition.
1063
1064 2014-07-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1065
1066         Unreivewed, fix build break on EFL and GTK since r170767.
1067
1068         * wtf/CMakeLists.txt: Exclude Decoder.h and Encoder.h because those files were removed.
1069
1070 2014-07-03  Daniel Bates  <dabates@apple.com>
1071
1072         Add WTF::move()
1073         https://bugs.webkit.org/show_bug.cgi?id=134500
1074
1075         Reviewed by Darin Adler.
1076
1077         Substitution of WTF::move() for std::move() rubber-stamped by Anders Carlsson.
1078
1079         Implement WTF::move(), a replacement for std::move(). WTF::move() is less error
1080         prone than std::move() as it compile asserts that its argument is a non-const
1081         lvalue reference before ultimately casting it to a rvalue reference (via std::move).
1082
1083         * wtf/Deque.h: Substitute WTF::move() for std::move().
1084         * wtf/HashMap.h: Ditto.
1085         * wtf/HashSet.h: Ditto.
1086         * wtf/HashTable.h: Ditto.
1087         * wtf/IteratorAdaptors.h: Ditto.
1088         * wtf/IteratorRange.h: Ditto.
1089         * wtf/ListHashSet.h: Ditto.
1090         * wtf/MainThread.cpp: Ditto.
1091         [...]
1092         * wtf/StdLibExtras.h:
1093         (WTF::move): Added.
1094         [...]
1095
1096 2014-07-03  Anders Carlsson  <andersca@apple.com>
1097
1098         Get rid of Encoder.h and Decoder.h from WTF
1099         https://bugs.webkit.org/show_bug.cgi?id=134600
1100
1101         Reviewed by Darin Adler.
1102
1103         * WTF.vcxproj/WTF.vcxproj:
1104         * WTF.vcxproj/WTF.vcxproj.filters:
1105         * WTF.xcodeproj/project.pbxproj:
1106         * wtf/Decoder.h: Removed.
1107         * wtf/Encoder.h: Removed.
1108
1109 2014-07-03  Ryuan Choi  <ryuan.choi@samsung.com>
1110
1111         Broken build with build-webkit --no-video
1112         https://bugs.webkit.org/show_bug.cgi?id=134587
1113
1114         Reviewed by Darin Adler.
1115
1116         MEDIA_CONTROLS_SCRIPT requires VIDEO enabled.
1117
1118         * wtf/FeatureDefines.h: Added error message for dependency failure.
1119
1120 2014-07-02  Enrica Casucci  <enrica@apple.com>
1121
1122         iOS build fix after http://trac.webkit.org/changeset/170697.
1123         
1124         Unreviewed.
1125
1126         * wtf/Deque.h:
1127
1128 2014-07-02  Dan Bernstein  <mitz@apple.com>
1129
1130         Remove some code only needed for versions of Safari that are no longer supported
1131         https://bugs.webkit.org/show_bug.cgi?id=134537
1132
1133         Reviewed by Anders Carlsson.
1134
1135         * wtf/Assertions.cpp:
1136         * wtf/Assertions.h:
1137
1138 2014-07-01  Alex Christensen  <achristensen@webkit.org>
1139
1140         Reduce dynamic memory allocation in css jit.
1141         https://bugs.webkit.org/show_bug.cgi?id=134416
1142
1143         Reviewed by Benjamin Poulain.
1144
1145         * wtf/Deque.h:
1146         Added inlineCapacity optional template parameter.
1147
1148 2014-06-30  Commit Queue  <commit-queue@webkit.org>
1149
1150         Unreviewed, rolling out r170605.
1151         https://bugs.webkit.org/show_bug.cgi?id=134484
1152
1153         The changes cause crashes on ARM64 (Requested by benjaminp on
1154         #webkit).
1155
1156         Reverted changeset:
1157
1158         "Reduce dynamic memory allocation in css jit."
1159         https://bugs.webkit.org/show_bug.cgi?id=134416
1160         http://trac.webkit.org/changeset/170605
1161
1162 2014-06-30  Daniel Bates  <dabates@apple.com>
1163
1164         Make TransformIterator::TransformIterator() take rvalue references
1165         https://bugs.webkit.org/show_bug.cgi?id=134468
1166
1167         Reviewed by Darin Adler.
1168
1169         It's unnecessary to support TransformIterator::TransformIterator() taking const lvalue references
1170         as we only call it with rvalues. As a side benefit, we can use move semantics to initialize the
1171         members of TransformIterator.
1172
1173         * wtf/IteratorAdaptors.h:
1174         (WTF::TransformIterator::TransformIterator): Make constructor take arguments as rvalue references.
1175         (WTF::makeTransformIterator): Substitute std::move() for std::forward().
1176
1177 2014-06-30  Alex Christensen  <achristensen@webkit.org>
1178
1179         Reduce dynamic memory allocation in css jit.
1180         https://bugs.webkit.org/show_bug.cgi?id=134416
1181
1182         Reviewed by Benjamin Poulain.
1183
1184         * wtf/Deque.h:
1185         Added inlineCapacity optional template parameter.
1186
1187 2014-06-30  Anders Carlsson  <andersca@apple.com>
1188
1189         Add code for encoding legacy session history entries
1190         https://bugs.webkit.org/show_bug.cgi?id=134452
1191
1192         Reviewed by Andreas Kling.
1193
1194         * wtf/MallocPtr.h:
1195         (WTF::MallocPtr::malloc):
1196         (WTF::MallocPtr::realloc):
1197
1198 2014-06-27  Andreas Kling  <akling@apple.com>
1199
1200         [ARMv7] Skip one particularly expensive fastFree() alignment check.
1201         <https://webkit.org/b/134402>
1202
1203         The size class alignment check in fastFree() was crazy expensive on ARMv7
1204         due to its use of modulo. Disabling it shaves 470ms off of PLT main thread
1205         time in the web process.
1206
1207         Note that this was very hard to identify in profiles due to TCO.
1208
1209         Reviewed by Gavin Barraclough.
1210
1211         * wtf/FastMalloc.cpp:
1212         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1213
1214 2014-06-26  Andreas Kling  <akling@apple.com>
1215
1216         Bump FastMalloc thread cache max size to 1MB on iOS.
1217         <https://webkit.org/b/134365>
1218
1219         The previous limit (512kB) comes from the old days of very-low-memory
1220         devices, and we can now afford to spend another 512kB here.
1221         Note that we already have a mechanism to purge FastMalloc caches on
1222         system memory pressure.
1223
1224         Looks like a ~400ms progression on PLT.
1225
1226         Reviewed by Geoff Garen.
1227
1228         * wtf/FastMalloc.cpp:
1229
1230 2014-06-26  Laszlo Gombos  <l.gombos@samsung.com>
1231
1232         Define TARGET_OS_IPHONE to 0 for non-darwin ports
1233         https://bugs.webkit.org/show_bug.cgi?id=134347
1234
1235         Reviewed by Darin Adler.
1236
1237         A follow-up to r169880 to make it easier to reason about
1238         the code. The purpose of this change to allow
1239         "#if TARGET_OS_IPHONE" in public header files.
1240
1241         * wtf/Platform.h:
1242
1243 2014-06-26  Chris Fleizach  <cfleizach@apple.com>
1244
1245         Add an undo group for each dictated utterance in WebKit
1246         https://bugs.webkit.org/show_bug.cgi?id=134086
1247
1248         Applied review comments from Sam Weinig.
1249
1250         Move the associated USE #define into Platform.h.
1251
1252         * wtf/Platform.h:
1253
1254 2014-06-25  Geoffrey Garen  <ggaren@apple.com>
1255
1256         Unreviewed, rolling out r166876.
1257
1258         Caused some ECMA test262 failures
1259
1260         Reverted changeset:
1261
1262         "Date object needs to check for ES5 15.9.1.14 TimeClip limit."
1263         https://bugs.webkit.org/show_bug.cgi?id=131248
1264         http://trac.webkit.org/changeset/166876
1265
1266 2014-06-25  peavo@outlook.com  <peavo@outlook.com>
1267
1268         [Win64] ASM LLINT is not enabled.
1269         https://bugs.webkit.org/show_bug.cgi?id=130638
1270
1271         Reviewed by Mark Lam.
1272
1273         * wtf/Platform.h: Enable LLINT and JIT for Win64.
1274
1275 2014-06-25  Laszlo Gombos  <l.gombos@samsung.com>
1276
1277         Remove build guard for progress element
1278         https://bugs.webkit.org/show_bug.cgi?id=134292
1279
1280         Reviewed by Benjamin Poulain.
1281
1282         The build flag is no longer needed as it is always on.
1283
1284         * wtf/FeatureDefines.h:
1285
1286 2014-06-24  Andreas Kling  <akling@apple.com>
1287
1288         Run the FastMalloc scavenger thread on iOS as well.
1289         <https://webkit.org/b/134287>
1290         <rdar://problem/17446198>
1291
1292         Reviewed by Gavin Barraclough.
1293
1294         * wtf/FastMalloc.cpp:
1295
1296 2014-06-24  Anders Carlsson  <andersca@apple.com>
1297
1298         Add PageState to HistoryItem conversion code
1299         https://bugs.webkit.org/show_bug.cgi?id=134259
1300
1301         Reviewed by Andreas Kling.
1302
1303         * wtf/Optional.h:
1304         (WTF::Optional::valueOr):
1305
1306 2014-06-24  László Langó  <llango.u-szeged@partner.samsung.com>
1307
1308         [JavaScriptCore] Enable concurrent JIT on EFL.
1309         https://bugs.webkit.org/show_bug.cgi?id=134242
1310
1311         Reviewed by Csaba Osztrogonác.
1312
1313         * wtf/Platform.h:
1314
1315 2014-06-23  Ryuan Choi  <ryuan.choi@samsung.com>
1316
1317         [EFL] Replace RefPtr<Evas_Object> with UniquePtrEfl
1318         https://bugs.webkit.org/show_bug.cgi?id=134236
1319
1320         Reviewed by Gyuyoung Kim.
1321
1322         Although there are ref/unref for Evas_Object, it's bit odd so we should call evas_object_del to destroy it.
1323         So, this patch replaced RefPtr<Evas_Object> with UniquePtrEfl for the simplicity.
1324
1325         * wtf/PlatformEfl.cmake: Removed RefPtrEfl.cpp from source list.
1326         * wtf/efl/RefPtrEfl.cpp: Removed.
1327         * wtf/efl/RefPtrEfl.h: Removed.
1328
1329 2014-06-21  Brady Eidson  <beidson@apple.com>
1330
1331         Gamepad API - Deprecate the existing implementation
1332         https://bugs.webkit.org/show_bug.cgi?id=134108
1333
1334         Reviewed by Timothy Hatcher.
1335
1336         -Add new "GAMEPAD_DEPRECATED" build flag, moving the existing implementation to use it
1337         -Move some implementation files into a "deprecated" subdirectory.
1338
1339         * wtf/FeatureDefines.h:
1340
1341 2014-06-21  Commit Queue  <commit-queue@webkit.org>
1342
1343         Unreviewed, rolling out r170244.
1344         https://bugs.webkit.org/show_bug.cgi?id=134157
1345
1346         GTK/EFL bindings generator works differently, making this
1347         patch not work there.  Will fix entire patch after a rollout.
1348         (Requested by bradee-oh on #webkit).
1349
1350         Reverted changeset:
1351
1352         "Gamepad API - Deprecate the existing implementation"
1353         https://bugs.webkit.org/show_bug.cgi?id=134108
1354         http://trac.webkit.org/changeset/170244
1355
1356 2014-06-21  Brady Eidson  <beidson@apple.com>
1357
1358         Gamepad API - Deprecate the existing implementation
1359         https://bugs.webkit.org/show_bug.cgi?id=134108
1360
1361         Reviewed by Timothy Hatcher.
1362
1363         -Add new "GAMEPAD_DEPRECATED" build flag, moving the existing implementation to use it
1364         -Add the "Deprecated" suffix to some implementation files
1365
1366         * wtf/FeatureDefines.h:
1367
1368 2014-06-21  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
1369
1370         Removing PAGE_VISIBILITY_API compile guard.
1371         https://bugs.webkit.org/show_bug.cgi?id=133844
1372
1373         Reviewed by Gavin Barraclough.
1374
1375         * wtf/FeatureDefines.h:
1376
1377 2014-06-20  Anders Carlsson  <andersca@apple.com>
1378
1379         Add encoding and decoding support for WTF::Optional
1380         https://bugs.webkit.org/show_bug.cgi?id=134125
1381
1382         Reviewed by Andreas Kling.
1383
1384         * wtf/Optional.h:
1385         (WTF::Optional::operator=):
1386
1387 2014-06-20  Anders Carlsson  <andersca@apple.com>
1388
1389         Add copy/move constructors and assignment operators to WTF::Optional
1390         https://bugs.webkit.org/show_bug.cgi?id=134119
1391
1392         Reviewed by Andreas Kling.
1393
1394         * wtf/Optional.h:
1395         (WTF::Optional::Optional):
1396         (WTF::Optional::operator=):
1397
1398 2014-06-19  Anders Carlsson  <andersca@apple.com>
1399
1400         Add WTF::Optional class
1401         https://bugs.webkit.org/show_bug.cgi?id=134083
1402
1403         Reviewed by Andreas Kling.
1404
1405         * WTF.xcodeproj/project.pbxproj:
1406         * wtf/Optional.h: Added.
1407         (WTF::Optional::Optional):
1408         (WTF::Optional::~Optional):
1409         (WTF::Optional::operator bool):
1410         (WTF::Optional::value):
1411
1412 2014-06-19  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
1413
1414         Remove ENABLE(LLINT) and ENABLE(LLINT_C_LOOP) guards
1415         https://bugs.webkit.org/show_bug.cgi?id=130389
1416
1417         Reviewed by Mark Lam.
1418
1419         Removed ENABLE(LLINT) since we always build with it, and changed ENABLE(LLINT_C_LOOP)
1420         into !ENABLE(JIT) since they are mutually exclusive.
1421
1422         * wtf/OSAllocatorPosix.cpp:
1423         (WTF::OSAllocator::reserveAndCommit):
1424         * wtf/Platform.h:
1425
1426 2014-06-18  Anders Carlsson  <andersca@apple.com>
1427
1428         Add CF type cast function templates and use them in KeyedDecoder in WebKit2
1429         https://bugs.webkit.org/show_bug.cgi?id=134033
1430
1431         Reviewed by Sam Weinig.
1432
1433         * WTF.xcodeproj/project.pbxproj:
1434         * wtf/cf/TypeCasts.h: Added.
1435         (WTF::dynamic_cf_cast):
1436         Returns null if the given CFTypeRef object doesn't have the right type.
1437
1438         (WTF::checked_cf_cast):
1439         ASSERTs (with security implication) if the given CFTypeRef object is null or doesn't have the right type.
1440
1441 2014-06-17  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
1442
1443         Misused PLATFORM(MIDDLE_ENDIAN) and PLATFORM(BIG_ENDIAN).
1444         https://bugs.webkit.org/show_bug.cgi?id=128301
1445
1446         Reviewed by Daniel Bates.
1447
1448         Endianness is a CPU attribute, not a PLATFORM. PLATFORM() macro is replaced to CPU().
1449
1450         * wtf/text/ASCIIFastPath.h:
1451         (WTF::copyLCharsFromUCharSource):
1452
1453 2014-06-17  Andreas Kling  <akling@apple.com>
1454
1455         Web process main thread priority is lower than some network process threads.
1456         <https://webkit.org/b/133987>
1457         <rdar://problem/17330300>
1458
1459         Bring all of our threads to the appropriate priority level by opting in to the
1460         threading QoS APIs. By marking them "user initiated", they still yield to UI
1461         interaction, but take priority over background tasks.
1462
1463         Reviewed by Maciej Stachowiak.
1464
1465         * wtf/Platform.h:
1466         * wtf/Threading.cpp:
1467         (WTF::setCurrentThreadIsUserInitiated):
1468         * wtf/Threading.h:
1469         * wtf/ThreadingPthreads.cpp:
1470         (WTF::createThreadInternal):
1471
1472 2014-06-17  Alex Christensen  <achristensen@webkit.org>
1473
1474         Enable css jit for armv7 on iOS.
1475         https://bugs.webkit.org/show_bug.cgi?id=133961
1476         <rdar://problem/17310631>
1477
1478         Reviewed by Andreas Kling.
1479
1480         * wtf/Platform.h:
1481         Enable css jit for ARM thumb on iOS.
1482
1483 2014-06-17  Dan Bernstein  <mitz@apple.com>
1484
1485         String::isolatedCopy doesn’t return an isolated copy when used on an rvalue reference
1486         https://bugs.webkit.org/show_bug.cgi?id=133968
1487
1488         Reviewed by Anders Carlsson.
1489
1490         Made the rvalue reference overload of isolatedCopy() non-const, so that std::move(*this) is
1491         an rvalue reference that can be moved, rather than copied, into the returned String.
1492
1493         * wtf/text/WTFString.cpp:
1494         (WTF::String::isolatedCopy):
1495         * wtf/text/WTFString.h:
1496
1497 2014-06-15  Dan Bernstein  <mitz@apple.com>
1498
1499         iOS build fix after r169995.
1500
1501         * wtf/RetainPtr.h:
1502
1503 2014-06-15  Anders Carlsson  <andersca@apple.com>
1504
1505         Add an autorelease() member function to RetainPtr
1506         https://bugs.webkit.org/show_bug.cgi?id=133929
1507
1508         Reviewed by Dan Bernstein.
1509
1510         * wtf/RetainPtr.h:
1511
1512 2014-06-13  Alex Christensen  <achristensen@webkit.org>
1513
1514         Unreviewed disabling css jit on armv7.  It's not quite ready yet.
1515
1516         * wtf/Platform.h:
1517         Disable css jit on armv7.
1518
1519 2014-06-13  Alex Christensen  <achristensen@webkit.org>
1520
1521         Enable css jit for armv7 on iOS.
1522         https://bugs.webkit.org/show_bug.cgi?id=133890
1523         <rdar://problem/17310631>
1524
1525         Reviewed by Andreas Kling.
1526
1527         * wtf/Platform.h:
1528         Enable css jit for ARM thumb on iOS.
1529
1530 2014-06-13  Mark Hahnenberg  <mhahnenberg@apple.com>
1531
1532         OSR exit should barrier the Executables for all InlineCallFrames, not just those on the stack at the time of exit
1533         https://bugs.webkit.org/show_bug.cgi?id=133880
1534
1535         Reviewed by Filip Pizlo.
1536
1537         * wtf/Bag.h:
1538         (WTF::Bag::iterator::operator!=): Add != to the Bag iterator so we can use it in range-based iteration.
1539
1540 2014-06-12  Gavin Barraclough  <barraclough@apple.com>
1541
1542         Add support for thread/WorkQueue QoS
1543         https://bugs.webkit.org/show_bug.cgi?id=130688
1544
1545         Reviewed by Anders Carlson & Simon Fraser.
1546
1547         Add the ability to mark threads as UserInteractive.
1548
1549         * wtf/Threading.cpp:
1550         (WTF::setCurrentThreadIsUserInteractive):
1551             - added method to set QoS of current thread to UserInteractive.
1552         * wtf/Threading.h:
1553             - added declaration.
1554
1555 2014-06-12  Alexey Proskuryakov  <ap@apple.com>
1556
1557         Fix Mac after r169880.
1558
1559         This revision added a C++ comment to Platform.h, which breaks sandbox profile
1560         preprocessing.
1561
1562         Also, I do not believe that this comment was entirely accurate - we've always used
1563         this technique with GCC, so there has to be more to it. So, I just removed the comment.
1564
1565         * wtf/Platform.h:
1566
1567 2014-06-11  Csaba Osztrogonác  <ossy@webkit.org>
1568
1569         [EFL][GTK] Ultimate fix not to have build failures
1570         in the future because of "#if TARGET_OS_IPHONE" guards.
1571
1572         Unreviewed buildfix.
1573
1574         * wtf/Platform.h: Define TARGET_OS_IPHONE to 0 on EFL and GTK.
1575
1576 2014-06-11  Ryosuke Niwa  <rniwa@webkit.org>
1577
1578         Turning on DUMP_PROPERTYMAP_STATS causes a build failure
1579         https://bugs.webkit.org/show_bug.cgi?id=133673
1580
1581         Reviewed by Andreas Kling.
1582
1583         Added DEFINE_GLOBAL_FOR_LOGGING to allow running a destructor in logging code
1584         that needs to be enabled in release builds (e.g. for JavaScriptCore).
1585
1586         * wtf/StdLibExtras.h:
1587
1588 2014-06-09  Benjamin Poulain  <bpoulain@apple.com>
1589
1590         Improve CSSPrimitiveValue::customCSSText for ARMv7
1591         https://bugs.webkit.org/show_bug.cgi?id=133597
1592
1593         Reviewed by Andreas Kling.
1594
1595         * wtf/RefPtr.h:
1596         (WTF::RefPtr<T>::RefPtr):
1597         * wtf/text/WTFString.h:
1598         (WTF::String::String):
1599
1600 2014-06-05  Yoav Weiss  <yoav@yoav.ws>
1601
1602         Align srcset parser with recent spec changes
1603         https://bugs.webkit.org/show_bug.cgi?id=133504
1604
1605         Reviewed by Darin Adler.
1606
1607         I've added toInt and toFloat methods to StringView, and exposed
1608         charactersToInt so that they can be used by
1609         HTMLSrcsetParser.cpp.
1610
1611         * wtf/text/WTFString.h:
1612         * wtf/text/StringView.h:
1613         (WTF::StringView::toInt):
1614         (WTF::StringView::toFloat):
1615
1616 2014-06-04  Alex Christensen  <achristensen@webkit.org>
1617
1618         Enable WebGL on Windows.
1619         https://bugs.webkit.org/show_bug.cgi?id=133503
1620
1621         Reviewed by Brent Fulgham.
1622
1623         * wtf/FeatureDefines.h:
1624         Enable WebGL for AppleWin and WinCairo ports.
1625
1626 2014-06-01  Jer Noble  <jer.noble@apple.com>
1627
1628         [MSE] Appends of overlapping sample data do not clear existing samples properly.
1629         https://bugs.webkit.org/show_bug.cgi?id=133435
1630
1631         Reviewed by Darin Adler.
1632
1633         Add a dump method to MediaTime, so that MediaTimes can be easily converted to strings (for logging purposes).
1634
1635         * wtf/MediaTime.cpp:
1636         (WTF::MediaTime::dump):
1637         * wtf/MediaTime.h:
1638
1639 2014-05-31  Anders Carlsson  <andersca@apple.com>
1640
1641         Add a LazyNeverDestroyed class template and use it
1642         https://bugs.webkit.org/show_bug.cgi?id=133425
1643
1644         Reviewed by Darin Adler.
1645
1646         LazyNeverDestroyed is similar to NeverDestroyed, except it's lazily constructed
1647         by calling construct(). This makes it useful for using inside std::call_once functions.
1648         
1649         * wtf/Forward.h:
1650         * wtf/NeverDestroyed.h:
1651         (WTF::LazyNeverDestroyed::construct):
1652         (WTF::LazyNeverDestroyed::operator T&):
1653         (WTF::LazyNeverDestroyed::get):
1654         (WTF::LazyNeverDestroyed::asPtr):
1655         (WTF::LazyNeverDestroyed::MaybeRelax::MaybeRelax):
1656         * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
1657         (WTF::atomicallyInitializedStaticMutex):
1658         * wtf/unicode/icu/CollatorICU.cpp:
1659         (WTF::cachedCollatorMutex):
1660
1661 2014-05-29  Alex Christensen  <achristensen@webkit.org>
1662
1663         Enable css jit by default on arm64.
1664         https://bugs.webkit.org/show_bug.cgi?id=133246
1665         <rdar://problem/17073407>
1666
1667         Reviewed by Benjamin Poulain.
1668
1669         * wtf/Platform.h:
1670         Added arm64 to list of supported architectures.
1671
1672 2014-05-28  Filip Pizlo  <fpizlo@apple.com>
1673
1674         DFG::DCEPhase inserts into an insertion set in reverse, causing hilarious basic block corruption if you kill a lot of NewArrays
1675         https://bugs.webkit.org/show_bug.cgi?id=133368
1676
1677         Reviewed by Mark Lam.
1678
1679         * wtf/Insertion.h:
1680         (WTF::executeInsertions): This algorithm is only correct if insertions are added in the right order. Assert that the order is right.
1681
1682 2014-05-27  Jon Lee  <jonlee@apple.com>
1683
1684         Update ENABLE(MEDIA_SOURCE) on Mac
1685         https://bugs.webkit.org/show_bug.cgi?id=133141
1686
1687         Reviewed by Darin Adler.
1688
1689         * wtf/FeatureDefines.h: #ifdef unneeded for Mac since it's covered in the .xcconfigs.
1690
1691 2014-05-27  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
1692
1693         Remove BLOB guards
1694         https://bugs.webkit.org/show_bug.cgi?id=132863
1695
1696         Reviewed by Csaba Osztrogonác.
1697
1698         * wtf/FeatureDefines.h:
1699
1700 2014-05-27  Gwang Yoon Hwang  <yoon@igalia.com>
1701
1702         [GLIB] RunLoop::dispatch always executes the function on the main thread instead of the target thread.
1703         https://bugs.webkit.org/show_bug.cgi?id=133291
1704
1705         Reviewed by Carlos Garcia Campos.
1706
1707         GMainLoopSource::schedule[AfterDelay] must be used with the appropriate
1708         GMainContext. Because current implementations in RunLoopGtk passes nullptr
1709         instead of its runLoopContext when using GMainLoopSource, all of dispatched
1710         functions are executed on the main thread regardless of which runloops is used.
1711
1712         This patch fixes the issue by passing the m_runLoopContext instead the default
1713         parameter to the GMainLoopSource::schedule[AfterDelay].
1714
1715         * wtf/gtk/RunLoopGtk.cpp:
1716         (WTF::RunLoop::wakeUp):
1717         (WTF::RunLoop::TimerBase::start):
1718
1719 2014-05-26  Darin Adler  <darin@apple.com>
1720
1721         Class name matching should use ASCII case-insensitive matching, not Unicode case folding
1722         https://bugs.webkit.org/show_bug.cgi?id=133292
1723
1724         Reviewed by Anders Carlsson.
1725
1726         * wtf/text/AtomicString.cpp:
1727         (WTF::AtomicString::addSlowCase): Change to take references instead of pointers since these
1728         arguments can never be null.
1729         (WTF::AtomicString::lower): Rearranged slightly to use PassRef in a more efficient but
1730         slightly uglier way.
1731         (WTF::AtomicString::convertToASCIILowercase): Added.
1732         * wtf/text/AtomicString.h: Updated for above changes.
1733
1734         * wtf/text/StringImpl.cpp:
1735         (WTF::StringImpl::convertToASCIILowercase): Added.
1736         * wtf/text/StringImpl.h: Updated for above.
1737
1738         * wtf/text/WTFString.cpp:
1739         (WTF::String::convertToASCIILowercase): Added.
1740         * wtf/text/WTFString.h: Updated for above.
1741
1742 2014-05-22  Zan Dobersek  <zdobersek@igalia.com>
1743
1744         Add the partial specialization for VectorTraits<std::unique_ptr<P>>
1745         https://bugs.webkit.org/show_bug.cgi?id=133083
1746
1747         Reviewed by Andreas Kling.
1748
1749         * wtf/VectorTraits.h: Like for RefPtr<P>, OwnPtr<P> and Ref<P>, the partial
1750         specialization for VectorTraits<std::unique_ptr<P>> should exist and should
1751         inherit from SimpleClassVector.
1752
1753 2014-05-20  Geoffrey Garen  <ggaren@apple.com>
1754
1755         Rolled out <http://trac.webkit.org/changeset/166184>
1756         https://bugs.webkit.org/show_bug.cgi?id=133144
1757
1758         Reviewed by Gavin Barraclough.
1759
1760         It caused a performance regression.
1761
1762         * wtf/FastMalloc.cpp:
1763         (WTF::TCMalloc_PageHeap::runScavengerThread):
1764         * wtf/Threading.h:
1765         * wtf/ThreadingPthreads.cpp:
1766         (WTF::createThreadInternal):
1767         (WTF::setCurrentThreadQOSUtility): Deleted.
1768         * wtf/ThreadingWin.cpp:
1769         (WTF::setCurrentThreadQOSUtility): Deleted.
1770
1771 2014-05-20  Jer Noble  <jer.noble@apple.com>
1772
1773         [Mac] AVAssets are never destroyed; lack of an autorelease pool when calling callOnMainThread.
1774         https://bugs.webkit.org/show_bug.cgi?id=133130
1775
1776         Reviewed by Geoff Garen.
1777
1778         Wrap the function to be called in an autorelease pool, so that autoreleased objects are cleaned
1779         up immediately after the end of the function.
1780
1781         * wtf/mac/MainThreadMac.mm:
1782         (WTF::timerFired):
1783
1784 2014-05-18  Rik Cabanier  <cabanier@adobe.com>
1785
1786         support for navigator.hardwareConcurrency
1787         https://bugs.webkit.org/show_bug.cgi?id=132588
1788
1789         Reviewed by Filip Pizlo.
1790
1791         * wtf/FeatureDefines.h:
1792
1793 2014-05-14  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
1794
1795         Remove CSS_STICKY_POSITION guards
1796         https://bugs.webkit.org/show_bug.cgi?id=132676
1797
1798         Reviewed by Simon Fraser.
1799
1800         * wtf/FeatureDefines.h:
1801
1802 2014-05-13  Simon Fraser  <simon.fraser@apple.com>
1803
1804         [iOS WK2] background-attachment:fixed behaves very poorly
1805         https://bugs.webkit.org/show_bug.cgi?id=132881
1806         <rdar://problem/16789526>
1807
1808         Reviewed by Beth Dakin.
1809         
1810         Remove ENABLE_FAST_MOBILE_SCROLLING. Ports can use the fixedBackgroundsPaintRelativeToDocument
1811         setting now.
1812
1813         * wtf/FeatureDefines.h:
1814
1815 2014-05-08  Alexey Proskuryakov  <ap@apple.com>
1816
1817         Automatically zip document bundles used via File API
1818         https://bugs.webkit.org/show_bug.cgi?id=132713
1819         <rdar://problem/13397892>
1820
1821         Reviewed by Anders Carlsson.
1822
1823         * wtf/FeatureDefines.h: Added ENABLE_FILE_REPLACEMENT for Mac.
1824
1825 2014-05-07  Filip Pizlo  <fpizlo@apple.com>
1826
1827         UNREACHABLE_FOR_PLATFORM() is meant to be a release crash.
1828
1829         Rubber stamped by Mark Hahnenberg..
1830
1831         * wtf/Assertions.h:
1832         (UNREACHABLE_FOR_PLATFORM):
1833
1834 2014-05-06  Alberto Garcia  <berto@igalia.com>
1835
1836         There is no HW_AVAILCPU on FreeBSD, NetBSD, and OpenBSD
1837         https://bugs.webkit.org/show_bug.cgi?id=132542
1838
1839         Reviewed by Michael Saboff.
1840
1841         Use sysconf() to get the number of processor cores.
1842
1843         * wtf/NumberOfCores.cpp:
1844         (WTF::numberOfProcessorCores):
1845
1846 2014-05-04  Darin Adler  <darin@apple.com>
1847
1848         RetainPtr: Use adoptCF function instead of AdoptCF constructor argument
1849         https://bugs.webkit.org/show_bug.cgi?id=80222
1850
1851         Reviewed by Alexey Proskuryakov.
1852
1853         All the clients are gone, so we can now remove AdoptCF and AdoptNS.
1854
1855         * wtf/RetainPtr.h: Removed the public constructors that let you specify AdoptCF
1856         and AdoptNS. Instead, made the adoptCF and adoptNS functions be friends and use
1857         a private constructor that takes an Adopt argument.
1858         (WTF::adoptCF): Moved the Objective-C class check in here.
1859         (WTF::adoptNS): Moved the code to deal with the CFRetain for garbage collection
1860         in here; it used to be spread across the constructor and adoptNSReference.
1861
1862 2014-05-04  Andreas Kling  <akling@apple.com>
1863
1864         Optimize JSRopeString for resolving directly to AtomicString.
1865         <https://webkit.org/b/132548>
1866
1867         Add AtomicString::find([LU]Char*, unsigned length) helpers for finding
1868         an existing AtomicString without a StringImpl on hand.
1869
1870         Reviewed by Filip Pizlo.
1871
1872         * wtf/text/AtomicString.h:
1873         * wtf/text/AtomicString.cpp:
1874         (WTF::AtomicString::find):
1875
1876 2014-05-01  Brent Fulgham  <bfulgham@apple.com>
1877
1878         Fix handling of attributes prior to compiling shader
1879         https://bugs.webkit.org/show_bug.cgi?id=132430
1880
1881         Reviewed by Dean Jackson.
1882
1883         WebGL programs that called bindAttribLocations prior to compiling shader sources
1884         would perform the bind using the non-hashed symbol name, but would later create
1885         the attributes as hashed names. Consequently, the program would refer to
1886         attributes that were never actually part of any shader, resulting in some amazing
1887         display artifacts.
1888
1889         This patch adds a dictionary of hashed symbol names so that we can tell the WebGL
1890         program the proper name that will be used when the shader is eventually compiled,
1891         allowing the WebGL program to link against the proper symbol after compiling and
1892         linking completes.
1893
1894         * wtf/HexNumber.h:
1895         (WTF::appendUnsigned64AsHex): Add uint64_t-compatible hex->string converter.
1896
1897 2014-04-30  Geoffrey Garen  <ggaren@apple.com>
1898
1899         Link against bmalloc in production builds
1900         https://bugs.webkit.org/show_bug.cgi?id=132413
1901
1902         Reviewed by Sam Weinig.
1903
1904         Production builders have been configured to handle this, so let's build
1905         it.
1906
1907         * Configurations/WTF.xcconfig:
1908
1909 2014-05-01  Ryuan Choi  <ryuan.choi@samsung.com>
1910
1911         [EFL] There are many warnings with software backend
1912         https://bugs.webkit.org/show_bug.cgi?id=132422
1913
1914         Reviewed by Gyuyoung Kim.
1915
1916         * wtf/efl/EflTypedefs.h: Added Ecore_X_Window typedef
1917
1918 2014-04-30  Simon Fraser  <simon.fraser@apple.com>
1919
1920         Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO
1921         https://bugs.webkit.org/show_bug.cgi?id=132396
1922
1923         Reviewed by Eric Carlson.
1924
1925         Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO and related code.
1926
1927         * wtf/FeatureDefines.h:
1928
1929 2014-04-30  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
1930
1931         [GTK][GStreamer] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
1932         https://bugs.webkit.org/show_bug.cgi?id=132390
1933
1934         Reviewed by Philippe Normand.
1935
1936         Since EFL port use GLib 2.38 and GTK+, 2.33.2, I assume it is OK
1937         remove, in GTK+ and GST, the existing glib version guards.
1938
1939         This code was rollback from r149879 because Qt MIPS used it. But since
1940         Qt is gone, it is safe to remove now.
1941
1942         * wtf/gobject/GRefPtr.cpp:
1943         (WTF::refGPtr): Deleted.
1944         (WTF::derefGPtr): Deleted.
1945
1946 2014-04-29  Alex Christensen  <achristensen@webkit.org>
1947
1948         [WinCairo] Switch video from GStreamer to Media Foundation.
1949         https://bugs.webkit.org/show_bug.cgi?id=132358
1950
1951         Reviewed by Brent Fulgham.
1952
1953         * WTF.vcxproj/WTF.vcxproj:
1954         Removed dependencies on GStreamer.
1955         * wtf/Platform.h:
1956         Use Media Foundation instead of GStreamer and GLib.
1957
1958 2014-04-29  Filip Pizlo  <fpizlo@apple.com>
1959
1960         Unreviewed, fix cloop build.
1961
1962         * wtf/Platform.h:
1963
1964 2014-04-29  Michael Saboff  <msaboff@apple.com>
1965
1966         For DARWIN platforms, use system temporary directory for DataLog output
1967         https://bugs.webkit.org/show_bug.cgi?id=132346
1968
1969         Reviewed by Geoffrey Garen.
1970
1971         Added code to call confstr() to access the process's temporary directory to use that
1972         location instead of /tmp/.  Put the code behind #ifdef DATA_LOG_TO_DARWIN_TEMP_DIR.
1973
1974         * wtf/DataLog.cpp:
1975         (WTF::initializeLogFileOnce):
1976
1977 2014-04-25  Filip Pizlo  <fpizlo@apple.com>
1978
1979         Figure out how many cores are available for realsies.
1980
1981         Rubber stamped by Andreas Kling.
1982         
1983         HW_AVAILCPU is more canonical than HW_NCPU. For example if you use hacks to tell Darwin
1984         to make it seem like there are fewer CPUs, HW_AVAILCPU will change but HW_NCPU won't.
1985         HW_NCPU doesn't reflect how much actual paralellism you'll get; it's merely reporting
1986         facts about the machine you're running on. HW_AVAILCPU is almost always what WebKit
1987         wants since it uses this information to decide how many threads to launch for various
1988         things.
1989
1990         * wtf/NumberOfCores.cpp:
1991         (WTF::numberOfProcessorCores):
1992
1993 2014-04-22  Brent Fulgham  <bfulgham@apple.com>
1994
1995         [Win] Support Python 2.7 in Cygwin
1996         https://bugs.webkit.org/show_bug.cgi?id=132023
1997
1998         Reviewed by Michael Saboff.
1999
2000         * WTF.vcxproj/WTFGenerated.make: Use proper path to Python.
2001
2002 2014-04-21  Eric Carlson  <eric.carlson@apple.com>
2003
2004         [Mac] implement WebKitDataCue
2005         https://bugs.webkit.org/show_bug.cgi?id=131799
2006
2007         Reviewed by Dean Jackson.
2008
2009         * wtf/FeatureDefines.h: Define ENABLE_DATACUE_VALUE.
2010
2011 2014-04-21  Darin Adler  <darin@apple.com>
2012
2013         Add HashSet::takeAny
2014         https://bugs.webkit.org/show_bug.cgi?id=131928
2015
2016         Reviewed by Benjamin Poulain.
2017
2018         * wtf/HashSet.h: Added an overload of take that takes an iterator,
2019         and used it to implement both the existing take and new takeAny functions.
2020
2021 2014-04-20  Andreas Kling  <akling@apple.com>
2022
2023         Speed up jsStringWithCache() through WeakGCMap inlining.
2024         <https://webkit.org/b/131923>
2025
2026         Add HashMap::fastAdd(), which is the same as add() except we'll tell
2027         the compiler to aggressively inline it.
2028
2029         Reviewed by Darin Adler.
2030
2031         * wtf/HashMap.h:
2032         * wtf/HashTable.h:
2033
2034 2014-04-19  Filip Pizlo  <fpizlo@apple.com>
2035
2036         Make it easier to check if an integer sum would overflow
2037         https://bugs.webkit.org/show_bug.cgi?id=131900
2038
2039         Reviewed by Darin Adler.
2040
2041         * wtf/CheckedArithmetic.h:
2042         (WTF::checkedSum):
2043         (WTF::sumOverflows):
2044
2045 2014-04-18  Commit Queue  <commit-queue@webkit.org>
2046
2047         Unreviewed, rolling out r167527.
2048         https://bugs.webkit.org/show_bug.cgi?id=131883
2049
2050         Broke 32-bit build (Requested by ap on #webkit).
2051
2052         Reverted changeset:
2053
2054         "[Mac] implement WebKitDataCue"
2055         https://bugs.webkit.org/show_bug.cgi?id=131799
2056         http://trac.webkit.org/changeset/167527
2057
2058 2014-04-18  Eric Carlson  <eric.carlson@apple.com>
2059
2060         [Mac] implement WebKitDataCue
2061         https://bugs.webkit.org/show_bug.cgi?id=131799
2062
2063         Reviewed by Dean Jackson.
2064
2065         * wtf/FeatureDefines.h: Define ENABLE_DATACUE_VALUE.
2066
2067 2014-04-18  Martin Robinson  <mrobinson@igalia.com>
2068
2069         Remove DynamicAnnotations.h?
2070         https://bugs.webkit.org/show_bug.cgi?id=131754
2071
2072         Reviewed by Simon Fraser.
2073
2074         This file, which helped support tools like Valgrind was unused.
2075
2076         * WTF.vcxproj/WTF.vcxproj: Remove references to the files.
2077         * WTF.vcxproj/WTF.vcxproj.filters: Remove references to the files.
2078         * WTF.xcodeproj/project.pbxproj: Remove references to the files.
2079         * wtf/CMakeLists.txt: Remove references to the files.
2080         * wtf/DynamicAnnotations.cpp: Removed.
2081         * wtf/DynamicAnnotations.h: Removed.
2082         * wtf/ThreadSafeRefCounted.h: Remove references to the files.
2083         * wtf/text/StringStatics.cpp: Remove references to the files.
2084
2085 2014-04-18  Philippe Normand  <pnormand@igalia.com>
2086
2087         Remove NETWORK_INFO support
2088         https://bugs.webkit.org/show_bug.cgi?id=131841
2089
2090         Reviewed by Gyuyoung Kim.
2091
2092         * wtf/FeatureDefines.h:
2093
2094 2014-04-17  Filip Pizlo  <fpizlo@apple.com>
2095
2096         Don't include CompilationThread.h from StringImpl.h
2097         https://bugs.webkit.org/show_bug.cgi?id=131817
2098
2099         Reviewed by Simon Fraser.
2100
2101         * wtf/CompilationThread.h:
2102         * wtf/StdLibExtras.h:
2103         * wtf/text/StringImpl.h:
2104
2105 2014-04-17  Darin Adler  <darin@apple.com>
2106
2107         Use HashMap<unique_ptr> and Vector<unique_ptr> instead of deprecatedDeleteAllValues
2108         https://bugs.webkit.org/show_bug.cgi?id=73757
2109
2110         Reviewed by Brent Fulgham.
2111
2112         * wtf/Vector.h:
2113         (WTF::deprecatedDeleteAllValues): Deleted.
2114
2115 2014-04-17  Darin Adler  <darin@apple.com>
2116
2117         Add separate flag for IndexedDatabase in workers since the current implementation is not threadsafe
2118         https://bugs.webkit.org/show_bug.cgi?id=131785
2119         rdar://problem/16003108
2120
2121         Reviewed by Brady Eidson.
2122
2123         * wtf/FeatureDefines.h: Added INDEXED_DATABASE_IN_WORKERS.
2124
2125 2014-04-16  Simon Fraser  <simon.fraser@apple.com>
2126
2127         Don't include CryptographicallyRandomNumber.h in StringImpl.h
2128         https://bugs.webkit.org/show_bug.cgi?id=131772
2129
2130         Reviewed by Sam Weinig.
2131
2132         * wtf/text/StringImpl.h:
2133
2134 2014-04-16  Gavin Barraclough  <barraclough@apple.com>
2135
2136         Update to pthread QoS SPI
2137         https://bugs.webkit.org/show_bug.cgi?id=131753
2138
2139         Rubber stamped by Benjamin Poulain
2140
2141         * wtf/ThreadingPthreads.cpp:
2142         (WTF::setCurrentThreadQOSUtility):
2143
2144 2014-04-14  Geoffrey Garen  <ggaren@apple.com>
2145
2146         WTF should have an optional mbmalloc target so we can benchmark FastMalloc
2147         https://bugs.webkit.org/show_bug.cgi?id=131662
2148
2149         Reviewed by Darin Adler.
2150
2151         * WTF.xcodeproj/project.pbxproj: Added the target.
2152         * wtf/mbmalloc.cpp: Added. Implements the libmbmalloc.dylib API required
2153         by MallocBench.
2154
2155 2014-04-16  Darin Adler  <darin@apple.com>
2156
2157         Make Vector::takeLast work with move-only types (and optimize for types where move is faster)
2158         https://bugs.webkit.org/show_bug.cgi?id=131735
2159
2160         Reviewed by Alexey Proskuryakov.
2161
2162         * wtf/Vector.h:
2163         (WTF::Vector::takeLast): Added a missing std::move. All the other take functions have it.
2164
2165 2014-04-14  Mark Lam  <mark.lam@apple.com>
2166
2167         monotonicallyIncreasingTime() should only initialize its static timebaseInfo once.
2168         <https://webkit.org/b/131630>
2169
2170         Reviewed by Filip Pizlo.
2171
2172         The current initialization of the static field is not thread safe.
2173
2174         * wtf/CurrentTime.cpp:
2175         (WTF::monotonicallyIncreasingTime):
2176
2177 2014-04-14  Benjamin Poulain  <benjamin@webkit.org>
2178
2179         [JSC] Improve the call site of string comparison in some hot path
2180         https://bugs.webkit.org/show_bug.cgi?id=131605
2181
2182         Reviewed by Darin Adler.
2183
2184         * wtf/text/StringImpl.cpp:
2185         (WTF::stringImplContentEqual):
2186         Inline that function to reduce the call overhead for JSC.
2187         This is only inlined twice, it is not catastrophic for our binary.
2188
2189 2014-04-13  Andy Estes  <aestes@apple.com>
2190
2191         Relax adoption requirements of RefCounted objects that are NeverDestroyed
2192         https://bugs.webkit.org/show_bug.cgi?id=131593
2193
2194         Reviewed by Dan Bernstein.
2195
2196         RefCounted objects that are created by NeverDestroyed<> won't have a
2197         RefPtr adopting them, so call relaxAdoptionRequirements().
2198
2199         * wtf/NeverDestroyed.h:
2200         (WTF::NeverDestroyed::NeverDestroyed):
2201         (WTF::NeverDestroyed::MaybeRelax::MaybeRelax):
2202
2203 2014-04-10  Brent Fulgham  <bfulgham@apple.com>
2204
2205         [Win] Clean up some 64-bit warnings from Visual Studio analyzer
2206         https://bugs.webkit.org/show_bug.cgi?id=131514
2207
2208         Reviewed by Tim Horton.
2209
2210         * WTF.vcxproj/WTF.vcxproj: Use correct platform settings for
2211         64-bit build.
2212         * config.h: Ditto.
2213         * wtf/CurrentTime.cpp:
2214         (WTF::highResUpTime): Resolve warning about deprecated API.
2215         * wtf/StackBounds.cpp:
2216         (WTF::StackBounds::initialize): Silence warning about
2217         an uninitialized variable.
2218
2219 2014-04-09  Geoffrey Garen  <ggaren@apple.com>
2220
2221         Rolled back in r166972.
2222
2223         This time, we conditionally exclude linking against bmalloc in Production
2224         builds. Production builds will not be able to link against bmalloc
2225         until the Production build system has been updated to build bmalloc.
2226
2227             WTF should link against bmalloc
2228             https://bugs.webkit.org/show_bug.cgi?id=131403
2229
2230             Reviewed by Mark Rowe.
2231
2232             * Configurations/WTF.xcconfig:
2233             * WTF.xcodeproj/project.pbxproj:
2234
2235 2014-04-09  Geoffrey Garen  <ggaren@apple.com>
2236
2237         Put bmalloc headers in the right place
2238         https://bugs.webkit.org/show_bug.cgi?id=131464
2239
2240         Reviewed by Mark Rowe.
2241
2242         * wtf/FastMalloc.cpp: Use "<bmalloc/...>" syntax so we can find our
2243         headers in <header-root>/usr/local/include/bmalloc/.
2244
2245 2014-04-09  Geoffrey Garen  <ggaren@apple.com>
2246
2247         Rolled back out r166972.
2248
2249         The production buildbots are still broken because the build-root script
2250         doesn't build bmalloc.
2251
2252         * WTF.xcodeproj/project.pbxproj:
2253
2254 2014-04-09  Geoffrey Garen  <ggaren@apple.com>
2255
2256         Rolled back in r166972.
2257
2258         The iOS buildbot's scripts have been updated to build bmalloc, so the
2259         build should now succeed on the bot.
2260
2261         Also renamed "Frameworks" to "Libraries" as suggested in a review comment.
2262
2263             WTF should link against bmalloc
2264             https://bugs.webkit.org/show_bug.cgi?id=131403
2265
2266             Reviewed by Michael Saboff.
2267
2268             This is required to build successfullly with bmalloc enabled.
2269
2270             * WTF.xcodeproj/project.pbxproj:
2271
2272 2014-04-08  Geoffrey Garen  <ggaren@apple.com>
2273
2274         Stop linking WTF against bmalloc.
2275
2276         Reviewed by Enrica Casucci.
2277
2278         This seems to have broken an iOS buildbot script. Disable it for now
2279         until we can fix the script.
2280
2281         * WTF.xcodeproj/project.pbxproj:
2282
2283 2014-04-08  Geoffrey Garen  <ggaren@apple.com>
2284
2285         WTF should link against bmalloc
2286         https://bugs.webkit.org/show_bug.cgi?id=131403
2287
2288         Reviewed by Michael Saboff.
2289
2290         This is required to build successfullly with bmalloc enabled.
2291
2292         * WTF.xcodeproj/project.pbxproj:
2293
2294 2014-04-08  Geoffrey Garen  <ggaren@apple.com>
2295
2296         Added a bmalloc back-end for FastMalloc
2297         https://bugs.webkit.org/show_bug.cgi?id=131387
2298
2299         Reviewed by Andreas Kling.
2300
2301         We'll need to rethink some things if we adopt this back-end. For example,
2302         fastMallocSize() and fastMallocGoodSize() are no longer real things. But,
2303         this is enough to test for now.
2304
2305         * wtf/FastMalloc.cpp:
2306         (WTF::fastMalloc):
2307         (WTF::fastCalloc):
2308         (WTF::fastRealloc):
2309         (WTF::fastFree):
2310         (WTF::fastMallocSize):
2311         (WTF::fastMallocGoodSize):
2312         (WTF::tryFastMalloc):
2313         (WTF::tryFastRealloc):
2314         (WTF::tryFastCalloc):
2315         (WTF::releaseFastMallocFreeMemory):
2316         (WTF::fastMallocStatistics):
2317
2318 2014-04-08  Andres Gomez  <agomez@igalia.com>
2319
2320         [GTK] [EFL] Build fails with GCC < 4.8.x
2321         https://bugs.webkit.org/show_bug.cgi?id=130585
2322
2323         Reviewed by Martin Robinson.
2324
2325         The behavior in lower versions of GCC seem to be related to
2326         http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#2132.
2327
2328         Provided explicit casts for the failing ambiguous overloads.
2329
2330         * wtf/gtk/MainThreadGtk.cpp:
2331         (WTF::scheduleDispatchFunctionsOnMainThread):
2332         * wtf/gtk/RunLoopGtk.cpp:
2333         (WTF::RunLoop::wakeUp): Provided lambda with a RefPtr instead of
2334         ref and de-referring.
2335
2336 2014-04-04  Mark Lam  <mark.lam@apple.com>
2337
2338         Date object needs to check for ES5 15.9.1.14 TimeClip limit.
2339         <https://webkit.org/b/131248>
2340
2341         Reviewed by Mark Hahnenberg.
2342
2343         * wtf/DateMath.cpp:
2344         - Moved the definition of maxECMAScriptTime to the .h file so that we
2345           can use it in other files as well.
2346         (WTF::msToYear):
2347         - Removed a stale comment for parseDateFromNullTerminatedCharacters().
2348         * wtf/DateMath.h:
2349
2350 2014-04-04  Mark Hahnenberg  <mhahnenberg@apple.com>
2351
2352         Enhanced GC logging
2353         https://bugs.webkit.org/show_bug.cgi?id=131246
2354
2355         Reviewed by Geoff Garen.
2356
2357         Remove OBJECT_MARK_LOGGING
2358
2359         * wtf/FeatureDefines.h:
2360         * wtf/Platform.h:
2361
2362 2014-04-03  Zsolt Borbely  <zsborbely.u-szeged@partner.samsung.com>
2363
2364         [EFL] Enable CSS JIT again, it works fine after r166666.
2365
2366         Reviewed by Csaba Osztrogonác.
2367
2368         * wtf/Platform.h:
2369
2370 2014-04-03  Javier Fernandez  <jfernandez@igalia.com>
2371
2372         [GTK][Cmake] Enable CSS JIT
2373         https://bugs.webkit.org/show_bug.cgi?id=131022
2374
2375         Reviewed by Martin Robinson.
2376
2377         * wtf/Platform.h: Enable CSS JIT for GTK port.
2378
2379 2014-04-02  Frédéric Wang  <fred.wang@free.fr>
2380
2381         Operator stretching: read the Open Type MATH table
2382         https://bugs.webkit.org/show_bug.cgi?id=130324
2383
2384         Reviewed by Chris Fleizach.
2385
2386         * wtf/Platform.h: enable OPENTYPE_MATH on platforms that can read OpenType tables.
2387
2388 2014-04-02  Alex Christensen  <achristensen@webkit.org>
2389
2390         [WinCairo] Build fix with GMainLoopSource.
2391         https://bugs.webkit.org/show_bug.cgi?id=131089
2392
2393         Reviewed by Carlos Garcia Campos.
2394
2395         * wtf/gobject/GMainLoopSource.cpp:
2396         Only compile if glib is used, which fixes compile errors with video disabled in WinCairo.
2397         * wtf/gobject/GMainLoopSource.h:
2398         Export the GMainLoopSource functions to WTF.dll to link with where they are called in the GStreamer code.
2399         Also removed spaces to appease style bot.
2400
2401 2014-04-01  Zsolt Borbely  <zsborbely.u-szeged@partner.samsung.com>
2402
2403         [EFL] REGRESSION(166569): It made DoYouEvenBench/Full.html, CSS/QuerySelector.html and Dromaeo performance tests crash
2404         https://bugs.webkit.org/show_bug.cgi?id=131039
2405
2406         Reviewed by Csaba Osztrogonác.
2407
2408         * wtf/Platform.h: Disable CSS JIT on EFL until proper fix.
2409
2410 2014-04-01  Commit Queue  <commit-queue@webkit.org>
2411
2412         Unreviewed, rolling out r166583.
2413         https://bugs.webkit.org/show_bug.cgi?id=131040
2414
2415         It's causing frequent crashes when running Layout Tests
2416         (Requested by svillar on #webkit).
2417
2418         Reverted changeset:
2419
2420         "[GTK][Cmake] Enable CSS JIT"
2421         https://bugs.webkit.org/show_bug.cgi?id=131022
2422         http://trac.webkit.org/changeset/166583
2423
2424 2014-04-01  Javier Fernandez  <jfernandez@igalia.com>
2425
2426         [GTK][Cmake] Enable CSS JIT
2427         https://bugs.webkit.org/show_bug.cgi?id=131022
2428
2429         Reviewed by Martin Robinson.
2430
2431         * wtf/Platform.h: Enable CSS JIT for GTK port.
2432
2433 2014-04-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2434
2435         [CMake][EFL] Enable CSS JIT
2436         https://bugs.webkit.org/show_bug.cgi?id=131010
2437
2438         Reviewed by Benjamin Poulain.
2439
2440         * wtf/Platform.h: Enable CSS JIT for EFL port.
2441
2442 2014-03-31  Dean Jackson  <dino@apple.com>
2443
2444         Remove WEB_ANIMATIONS
2445         https://bugs.webkit.org/show_bug.cgi?id=130989
2446
2447         Reviewed by Simon Fraser.
2448
2449         Remove this feature flag until we plan to implement.
2450
2451         * wtf/FeatureDefines.h:
2452
2453 2014-03-31  Alex Christensen  <achristensen@webkit.org>
2454
2455         Preparation for using Soup on Windows.
2456         https://bugs.webkit.org/show_bug.cgi?id=130615
2457
2458         Reviewed by Carlos Garcia Campos.
2459
2460         * WTF.vcxproj/WTF.vcxproj:
2461         * WTF.vcxproj/WTF.vcxproj.filters:
2462         Add all gobject source files in WinCairo build.
2463         * wtf/gobject/GRefPtr.h:
2464         Export refGPtr and derefGPtr overloads in WTF.dll to fix linker errors with WebKit.dll when using soup.
2465
2466 2014-03-31  Zan Dobersek  <zdobersek@igalia.com>
2467
2468         Use std::unique_ptr in WTF::CompressedVector, WTF::GenericCompressedData
2469         https://bugs.webkit.org/show_bug.cgi?id=130737
2470
2471         Switch to using std::unique_ptr instead of OwnPtr and PassOwnPtr
2472         for the CompressedVector and GenericCompressedData classes.
2473
2474         * wtf/Compression.cpp:
2475         (WTF::GenericCompressedData::create):
2476         * wtf/Compression.h:
2477         (WTF::CompressedVector::create):
2478         (WTF::CompressibleVector::decompressIfNecessary):
2479
2480 2014-03-28  Alexey Proskuryakov  <ap@apple.com>
2481
2482         [Mac] Enable async text input implementation
2483         https://bugs.webkit.org/show_bug.cgi?id=130856
2484
2485         Reviewed by Sam Weinig.
2486
2487         * wtf/Platform.h: Added a USE macro definition.
2488
2489 2014-03-28  peavo@outlook.com  <peavo@outlook.com>
2490
2491         Null pointer crash in String::append(UChar).
2492         https://bugs.webkit.org/show_bug.cgi?id=130900
2493
2494         Reviewed by Michael Saboff.
2495
2496         * wtf/text/WTFString.cpp:
2497         (WTF::String::append): Check and initialize m_impl member first, to avoid null pointer crash.
2498
2499 2014-03-27  Commit Queue  <commit-queue@webkit.org>
2500
2501         Unreviewed, rolling out r166360.
2502         https://bugs.webkit.org/show_bug.cgi?id=130869
2503
2504         Seems to have broken PLT (Requested by ap on #webkit).
2505
2506         Reverted changeset:
2507
2508         "Connection::dispatchOneMessage() can be re-entered while
2509         handling Cmd-key menu"
2510         https://bugs.webkit.org/show_bug.cgi?id=130767
2511         http://trac.webkit.org/changeset/166360
2512
2513 2014-03-27  Alexey Proskuryakov  <ap@apple.com>
2514
2515         Connection::dispatchOneMessage() can be re-entered while handling Cmd-key menu
2516         equivalents, ASSERT(!_data->_keyDownEventBeingResent)
2517         https://bugs.webkit.org/show_bug.cgi?id=130767
2518         <rdar://problem/16307487>
2519
2520         Reviewed by Darin Adler.
2521
2522         Changed RunLoop to wake up and fire timers only in default run loop mode by default,
2523         and added an ability to add more modes (can't use AppKit symbols in WTF).
2524
2525         In addition to this bug, the change also blocks modal alerts from appearing under
2526         menus during menu tracking.
2527
2528         * wtf/RunLoop.h:
2529         * wtf/cf/RunLoopCF.cpp:
2530         (WTF::RunLoop::RunLoop):
2531         (WTF::RunLoop::addModeForWakeUpAndTimers):
2532         (WTF::RunLoop::TimerBase::start):
2533
2534 2014-03-26  Zan Dobersek  <zdobersek@igalia.com>
2535
2536         Unreviewed. Removing the remaining Automake cruft.
2537
2538         * GNUmakefile.list.am: Removed.
2539
2540 2014-03-25  Martin Robinson  <mrobinson@igalia.com>
2541
2542         [GTK] Remove the autotools build
2543         https://bugs.webkit.org/show_bug.cgi?id=130717
2544
2545         Reviewed by Anders Carlsson.
2546
2547         * GNUmakefile.am: Removed.
2548         * config.h: Removed references to the autotools configure file.
2549
2550 2014-03-25  Gabor Rapcsanyi  <rgabor@webkit.org>
2551
2552         [ARM64] GCC generates wrong code with -O2 flag in WTF::weakCompareAndSwap
2553         https://bugs.webkit.org/show_bug.cgi?id=130500
2554
2555         Reviewed by Filip Pizlo.
2556
2557         Set the first operand to the exact register in the inline assembly with GCC.
2558
2559         * wtf/Atomics.h:
2560         (WTF::weakCompareAndSwap):
2561
2562 2014-03-25  Gabor Rapcsanyi  <rgabor@webkit.org>
2563
2564         [EFL] Add ARM64 build support
2565         https://bugs.webkit.org/show_bug.cgi?id=130506
2566
2567         Rubber stamped by Gyuyoung Kim.
2568
2569         * wtf/Platform.h: Set WTF_CPU_ARM64 when __aarch64__ is defined.
2570
2571 2014-03-24  Andy Estes  <aestes@apple.com>
2572
2573         Fix the iOS build.
2574
2575         * wtf/ThreadingPthreads.cpp:
2576         (WTF::createThreadInternal):
2577         (WTF::setCurrentThreadQOSUtility):
2578
2579 2014-03-24  Gavin Barraclough  <barraclough@apple.com>
2580
2581         Add support for thread QoS
2582         https://bugs.webkit.org/show_bug.cgi?id=130688
2583
2584         Speculative EFL build fix.
2585
2586         * wtf/ThreadingPthreads.cpp:
2587         (WTF::setCurrentThreadQOSUtility):
2588
2589 2014-03-24  Gavin Barraclough  <barraclough@apple.com>
2590
2591         Add support for thread QoS
2592         https://bugs.webkit.org/show_bug.cgi?id=130688
2593
2594         Reviewed by Andreas Kling.
2595
2596         * wtf/FastMalloc.cpp:
2597         (WTF::TCMalloc_PageHeap::runScavengerThread):
2598             - block freeing is a utility activity.
2599         * wtf/Threading.h:
2600             - declaration.
2601         * wtf/ThreadingPthreads.cpp:
2602         (WTF::createThreadInternal):
2603             - default to interactive.
2604         (WTF::setCurrentThreadQOSUtility):
2605             - implementation.
2606         * wtf/ThreadingWin.cpp:
2607         (WTF::setCurrentThreadQOSUtility):
2608             - no-op implementation.
2609
2610 2014-03-23  Hyowon Kim  <hw1008.kim@samsung.com>
2611
2612         Move all EFL typedefs into EflTypedefs.h.
2613         https://bugs.webkit.org/show_bug.cgi?id=130511
2614
2615         Reviewed by Gyuyoung Kim.
2616
2617         * wtf/Platform.h: include EflTypedefs.h.
2618         * wtf/efl/EflTypedefs.h: Added.
2619         * wtf/efl/RefPtrEfl.h: Remove EFL typedefs.
2620
2621 2014-03-22  Darin Adler  <darin@apple.com>
2622
2623         Remove String::deprecatedCharacters
2624         https://bugs.webkit.org/show_bug.cgi?id=126854
2625
2626         Reviewed by Sam Weinig.
2627
2628         * wtf/text/StringBuilder.cpp:
2629         (WTF::StringBuilder::reifyString): Removed code to update 16-bit shadow.
2630
2631         * wtf/text/StringBuilder.h: Removed deprecatedCharacters.
2632         (WTF::StringBuilder::StringBuilder): Removed m_valid16BitShadowLength.
2633         (WTF::StringBuilder::clear): Removed code to clear m_valid16BitShadowLength.
2634         (WTF::StringBuilder::swap): Removed code to swap m_valid16BitShadowLength.
2635
2636         * wtf/text/StringImpl.cpp:
2637         (WTF::StringImpl::~StringImpl): Removed code to free m_copyData16.
2638         (WTF::StringImpl::upper): Use StringView::upconvertedCharacters for slow case.
2639         (WTF::StringImpl::lower): Ditto.
2640         (WTF::StringImpl::find): Use characters8/16 rather than deprecatedCharacters.
2641         Added an 8-bit code path to one of the overloads. Might want to revisit later
2642         to decide whether to use templates instead of copy/paste, or even use StringView
2643         to cut down on duplicate code paths.
2644         (WTF::StringImpl::findIgnoringCase): Ditto.
2645         (WTF::StringImpl::sizeInBytes): Remove code to handle has16BitShadow case.
2646         (WTF::equalIgnoringNullity): Added. To be called by the Vector template in the header.
2647
2648         * wtf/text/StringImpl.h: Removed deprecatedCharacters, has16BitShadow,
2649         upconvertCharacters, getData16SlowCase, s_hashFlagHas16BitShadow, and m_copyData16.
2650         (WTF::equalIgnoringNullity): Changed the template function into an inline that calls
2651         a non-inline helper function. The non-inline function handles both 8-bit and 16-bit
2652         strings.
2653
2654         * wtf/text/StringView.h:
2655         (WTF::StringView::StringView): Added an overload so we can make one of these directly
2656         from a StringImpl without first wrapping it in a string. Added an adapter so we can
2657         use StringView as part of string concatenation. Added an append function so we can
2658         append to a Vector<UChar>.
2659
2660         * wtf/text/WTFString.cpp:
2661         (WTF::String::append): Use StringView::getCharactersWithUpconvert. Also changed
2662         single-character append so it won't always turn an 8-bit string into a 16-bit one.
2663         (WTF::String::insert): Removed one insert overload and changed the other to use
2664         StringView::getCharactersWithUpconvert.
2665         (WTF::String::truncate): Changed to use StringImpl::substring.
2666         (WTF::String::percentage): Added characters8/16 paths instead of using
2667         deprecatedCharacters.
2668
2669         * wtf/text/WTFString.h: Removed deprecatedCharacters, getCharactersWithUpconvert,
2670         insert(UChar*, unsigned, unsigned), and the append overload for Vector<UChar>.
2671
2672 2014-03-20  Darin Adler  <darin@apple.com>
2673
2674         Fix a header guard mistake (harmless but clearly wrong)
2675         https://bugs.webkit.org/show_bug.cgi?id=130559
2676
2677         Reviewed by Andreas Kling.
2678
2679         * wtf/text/StringConcatenate.h: Correct the macro name in the header guard.
2680
2681 2014-03-20  Hyowon Kim  <hw1008.kim@samsung.com>
2682
2683         Move to using std::unique_ptr for EFL objects.
2684         https://bugs.webkit.org/show_bug.cgi?id=129853
2685
2686         Reviewed by Gyuyoung Kim.
2687
2688         EflUniquePtr is a template alias of std::unique_ptr
2689         with a custom deleter for each Efl Objects, which is motivated by GUniquePtr.
2690         This patch replaces uses of OwnPtr and PassOwnPtr for Efl objects with EflUniquePtr.
2691
2692         * wtf/OwnPtrCommon.h:
2693         * wtf/PlatformEfl.cmake:
2694         * wtf/RunLoop.h:
2695         * wtf/efl/MainThreadEfl.cpp:
2696         (WTF::pipeObject):
2697         (WTF::initializeMainThreadPlatform):
2698         * wtf/efl/OwnPtrEfl.cpp: Removed.
2699         * wtf/efl/RunLoopEfl.cpp:
2700         (WTF::RunLoop::RunLoop):
2701         * wtf/efl/UniquePtrEfl.h: Added.
2702         (WTF::EflPtrDeleter::operator()):
2703
2704 2014-03-20  Gavin Barraclough  <barraclough@apple.com>
2705
2706         Remove IdentifierTable typedef, isIdentifier()
2707         https://bugs.webkit.org/show_bug.cgi?id=130533
2708
2709         Rubber stamped by Geoff Garen.
2710
2711         Code should use AtomicStringTable, isAtomic() directly.
2712
2713         * wtf/WTFThreadData.h:
2714         (WTF::WTFThreadData::setCurrentAtomicStringTable):
2715         (WTF::WTFThreadData::resetCurrentAtomicStringTable):
2716             - removed IdentifierTypedef.
2717         * wtf/text/StringImpl.h:
2718         (WTF::StringImpl::flagIsAtomic):
2719             - renamed flagIsIdentfier -> flagIsAtomic.
2720
2721 2014-03-20  Gavin Barraclough  <barraclough@apple.com>
2722
2723         Merge AtomicString, Identifier
2724         https://bugs.webkit.org/show_bug.cgi?id=128624
2725
2726         Reviewed by Geoff Garen.
2727
2728         WTF::StringImpl currently supports two uniquing mechanism - AtomicString and
2729         Identifer - that is one too many.
2730
2731         Remove Identifier in favour of AtomicString. Identifier had two interesting
2732         mechanisms that we preserve.
2733
2734         (1) JSC API VMs each get their own string table, switch the string table on
2735             API entry/exit.
2736         (2) JSC caches a pointer to the string table on the VM to avoid a thread
2737             specific access. Adds a new AtomicString::add method to support this.
2738
2739         * wtf/WTFThreadData.cpp:
2740         (WTF::WTFThreadData::WTFThreadData):
2741             - remove allocation of IdentifierTable.
2742         (WTF::WTFThreadData::~WTFThreadData):
2743             - remove deletion of IdentifierTable.
2744         * wtf/WTFThreadData.h:
2745         (WTF::WTFThreadData::atomicStringTable):
2746             - table is now switched by JSC API, return the current table.
2747         (WTF::WTFThreadData::currentIdentifierTable):
2748             - now returns the current AtomicStringTable.
2749         (WTF::WTFThreadData::setCurrentIdentifierTable):
2750             - now sets the current AtomicStringTable.
2751         (WTF::WTFThreadData::resetCurrentIdentifierTable):
2752             - now resets the AtomicStringTable.
2753         * wtf/text/AtomicString.cpp:
2754         (WTF::AtomicString::addSlowCase):
2755             - add without thread-specific access to access string table.
2756         * wtf/text/AtomicString.h:
2757         (WTF::AtomicString::addWithStringTableProvider):
2758             - add without thread-specific access (used by JSC, string table provided by VM or ExecState).
2759         * wtf/text/AtomicStringTable.cpp:
2760         (WTF::AtomicStringTable::create):
2761             - renamed m_atomicStringTable -> m_defaultAtomicStringTable.
2762         (WTF::AtomicStringTable::~AtomicStringTable):
2763         (WTF::AtomicStringTable::destroy):
2764             - clearing of table moved from AtomicStringTable::destroy to destructor.
2765         * wtf/text/AtomicStringTable.h:
2766             - added destructor.
2767         * wtf/text/StringImpl.cpp:
2768         (WTF::StringImpl::~StringImpl):
2769             - Identifers no longer exist; no need to remove them from IdentifierTable.
2770         * wtf/text/StringImpl.h:
2771         (WTF::StringImpl::StringImpl):
2772             - removed s_hashFlagIsIdentifier.
2773         (WTF::StringImpl::flagIsIdentifier):
2774             - s_hashFlagIsIdentifier -> s_hashFlagIsAtomic.
2775         (WTF::StringImpl::isIdentifier):
2776             - now synonymous to isAtomic().
2777         * wtf/text/StringStatics.cpp:
2778         (WTF::StringImpl::hashAndFlagsForEmptyUnique):
2779             - removed s_hashFlagIsIdentifier.
2780
2781 2014-03-20  Zan Dobersek  <zdobersek@igalia.com>
2782
2783         Unreviewed Clang build fix for the GTK port after r165952.
2784
2785         * wtf/gobject/GMainLoopSource.h: Include the <functional> header for the std::function<> objects.
2786
2787 2014-03-18  Carlos Garcia Campos  <cgarcia@igalia.com>
2788
2789         [GLIB] Add GMainLoopSource class to wrap idle and timeout sources
2790         https://bugs.webkit.org/show_bug.cgi?id=130027
2791
2792         Reviewed by Martin Robinson.
2793
2794         GLib main loop sources like idle and timeouts are sometimes
2795         unconvenient to use and it's very common to forget canceling the
2796         source when the object is destroyed or reset the source ID in the
2797         callback when called. GMainLoopSource is a wrapper class to make it
2798         easier to handle sources and also to avoid those typical mistakes.
2799         It forces to create sources with a name and the user doesn't have
2800         to deal with the source ID anymore. The source is cancelled when
2801         the object is deleted or when a new source is scheduled. It uses
2802         std::function for callbacks so that we no longer need to use the
2803         "proxy" static callbacks either. We can use std::bind to use a
2804         function pointer or a member or even lambda functions. It also handles
2805         repeating sources automatically depending on whether the given
2806         function returns a bool or not.
2807
2808         * GNUmakefile.list.am:
2809         * wtf/PlatformEfl.cmake:
2810         * wtf/PlatformGTK.cmake:
2811         * wtf/RunLoop.h:
2812         * wtf/gobject/GMainLoopSource.cpp: Added.
2813         (WTF::GMainLoopSource::createAndDeleteOnDestroy):
2814         (WTF::GMainLoopSource::GMainLoopSource):
2815         (WTF::GMainLoopSource::~GMainLoopSource):
2816         (WTF::GMainLoopSource::cancel):
2817         (WTF::GMainLoopSource::reset):
2818         (WTF::GMainLoopSource::scheduleIdleSource):
2819         (WTF::GMainLoopSource::schedule):
2820         (WTF::GMainLoopSource::scheduleTimeoutSource):
2821         (WTF::GMainLoopSource::scheduleAfterDelay):
2822         (WTF::GMainLoopSource::voidCallback):
2823         (WTF::GMainLoopSource::boolCallback):
2824         (WTF::GMainLoopSource::socketCallback):
2825         (WTF::GMainLoopSource::destroy):
2826         (WTF::GMainLoopSource::voidSourceCallback):
2827         (WTF::GMainLoopSource::boolSourceCallback):
2828         (WTF::GMainLoopSource::socketSourceCallback):
2829         * wtf/gobject/GMainLoopSource.h: Added.
2830         (WTF::GMainLoopSource::isScheduled):
2831         * wtf/gtk/MainThreadGtk.cpp:
2832         (WTF::scheduleDispatchFunctionsOnMainThread):
2833         * wtf/gtk/RunLoopGtk.cpp:
2834         (WTF::RunLoop::wakeUp):
2835         (WTF::RunLoop::TimerBase::TimerBase):
2836         (WTF::RunLoop::TimerBase::start):
2837         (WTF::RunLoop::TimerBase::stop):
2838         (WTF::RunLoop::TimerBase::isActive):
2839
2840 2014-03-19  Gavin Barraclough  <barraclough@apple.com>
2841
2842         https://bugs.webkit.org/show_bug.cgi?id=130494
2843         EmptyUnique strings are Identifiers/Atomic
2844
2845         Reviewed by Geoff Garen.
2846
2847         EmptyUnique strings should set the Identifier/Atomic flag.
2848
2849         * wtf/text/AtomicString.h:
2850         (WTF::AtomicString::add):
2851             - Previously we assumed the only StringImpl that was validly allowed to claim to be
2852               Atomic but not be in a table was the canonical empty string. Now that EmptyUniques
2853               are also marked Atomic, all empty strings may pass this condition.
2854         * wtf/text/StringImpl.cpp:
2855         (WTF::StringImpl::~StringImpl):
2856             - EmptyUnique strings are not in the Atomic/Identfiier tabels, so don't need removing.
2857         * wtf/text/StringImpl.h:
2858         (WTF::StringImpl::StringImpl):
2859             - Change EmptyUnique constructor to call hashAndFlagsForEmptyUnique.
2860         * wtf/text/StringStatics.cpp:
2861         (WTF::StringImpl::hashAndFlagsForEmptyUnique):
2862             - Allocate a sequential hash code (this should be just as good for distribution & better
2863               for debugging than the random value) and set flags, now including Atomic & Identifier.
2864
2865 2014-03-19  Gavin Barraclough  <barraclough@apple.com>
2866
2867         Small cleanup of empty string
2868         https://bugs.webkit.org/show_bug.cgi?id=130438
2869
2870         Reviewed by Anders Carlson.
2871
2872         The empty string is weird becuase it is used as the impl for an AtomicString, but isAtomic()
2873         returns false.
2874         Also, we set a valid pointer for the characters pointer due to an old PCRE bug; remove this.
2875         Also, we currently only create one 'static' string, the empty string. Adding more might break
2876         assumtions, inhibit the constructor from being used to create other static strings for now.
2877
2878         * wtf/text/AtomicString.h:
2879         (WTF::AtomicString::add):
2880             - update assert.
2881         * wtf/text/StringImpl.h:
2882         (WTF::StringImpl::StringImpl):
2883             - Merge ConstructStaticString constructors, only allow the empty static string to be constructed.
2884         * wtf/text/StringStatics.cpp:
2885         (WTF::StringImpl::empty):
2886             - ConstructStaticString -> ConstructEmptyString, remove arguments, DEPRECATED_DEFINE_STATIC_LOCAL -> NeverDestroyed.
2887
2888 2014-03-18  Darin Adler  <darin@apple.com>
2889
2890         Reduce use of deprecatedCharacters in WebCore
2891         https://bugs.webkit.org/show_bug.cgi?id=130318
2892
2893         Reviewed by Andreas Kling.
2894
2895         * wtf/text/WTFString.h: Export another overload of charactersToFloat since it's used
2896         in WebCore now.
2897
2898         * wtf/text/cf/StringViewCF.cpp: Change so this can build on Windows.
2899
2900         * WTF.vcxproj/WTF.vcxproj: Added StringViewCF.cpp.
2901         * WTF.vcxproj/WTF.vcxproj.filters: Added StringViewCF.cpp.
2902
2903 2014-03-18  Filip Pizlo  <fpizlo@apple.com>
2904
2905         More FTL enabling.
2906
2907         Rubber stamped by Dan Bernstein and Mark Hahnenberg.
2908
2909         * wtf/Platform.h:
2910
2911 2014-03-17  Darin Adler  <darin@apple.com>
2912
2913         Remove most uses of deprecatedCharacter in WTF
2914         https://bugs.webkit.org/show_bug.cgi?id=130317
2915
2916         Reviewed by Andreas Kling.
2917
2918         Re-landing after fixing the "80 instead of 0x80" typo in equalLatin1WithUTF8.
2919
2920         * wtf/text/AtomicString.cpp:
2921         (WTF::HashAndUTF8CharactersTranslator::equal): Add an 8-bit code path to the
2922         non-ASCII path.
2923         (WTF::SubstringTranslator8::hash): Added.
2924         (WTF::SubstringTranslator8::equal): Added.
2925         (WTF::SubstringTranslator16::hash): Renamed class.
2926         (WTF::SubstringTranslator16::equal): Ditto.
2927         (WTF::AtomicString::add): Added an 8-bit code path to the substring case.
2928
2929         * wtf/text/Base64.cpp:
2930         (WTF::base64Decode): Added an 8 bit code path.
2931         (WTF::base64URLDecode): Ditto.
2932
2933         * wtf/text/StringImpl.cpp:
2934         (WTF::StringImpl::find): Fixed a case that was incorrectly using characters16
2935         without first using is8Bit. Need to return later to remove use of deprecatedCharacters.
2936
2937         * wtf/unicode/UTF8.cpp:
2938         (WTF::Unicode::equalUTF16WithUTF8): Added a case for when the UTF-16 characters
2939         are ASCII. Also removed the aEnd argument, since the caller only calls this when the
2940         lengths are equal.
2941         (WTF::Unicode::equalLatin1WithUTF8): Added.
2942         * wtf/unicode/UTF8.h: Updated as described above.
2943
2944 2014-03-17  Commit Queue  <commit-queue@webkit.org>
2945
2946         Unreviewed, rolling out r165721.
2947         https://bugs.webkit.org/show_bug.cgi?id=130367
2948
2949         It makes the debug bots flaky (Requested by benjaminp on
2950         #webkit).
2951
2952         Reverted changeset:
2953
2954         "Remove most uses of deprecatedCharacter in WTF"
2955         https://bugs.webkit.org/show_bug.cgi?id=130317
2956         http://trac.webkit.org/changeset/165721
2957
2958 2014-03-17  Zan Dobersek  <zdobersek@igalia.com>
2959
2960         Use RunLoop objects through references instead of pointers
2961         https://bugs.webkit.org/show_bug.cgi?id=130313
2962
2963         Reviewed by Andreas Kling.
2964
2965         Make RunLoop::current() and RunLoop::main() return a RunLoop reference instead
2966         of a pointer. RunLoop::Holder now uses a Ref<RunLoop> member. Timer and TimerBase
2967         constructors take in a RunLoop reference, with TimerBase now storing a RunLoop
2968         reference member instead of a pointer. Platform-specific bits of the RunLoop
2969         class are updated accordingly.
2970
2971         * wtf/RunLoop.cpp:
2972         (WTF::RunLoop::Holder::Holder):
2973         (WTF::RunLoop::Holder::runLoop):
2974         (WTF::RunLoop::initializeMainRunLoop):
2975         (WTF::RunLoop::current):
2976         (WTF::RunLoop::main):
2977         (WTF::RunLoop::isMain):
2978         * wtf/RunLoop.h:
2979         (WTF::RunLoop::Timer::Timer):
2980         * wtf/cf/RunLoopCF.cpp:
2981         (WTF::RunLoop::run):
2982         (WTF::RunLoop::TimerBase::TimerBase):
2983         (WTF::RunLoop::TimerBase::start):
2984         * wtf/efl/RunLoopEfl.cpp:
2985         (WTF::RunLoop::TimerBase::TimerBase):
2986         * wtf/gtk/RunLoopGtk.cpp:
2987         (WTF::RunLoop::run):
2988         (WTF::RunLoop::TimerBase::TimerBase):
2989         (WTF::RunLoop::TimerBase::start):
2990         * wtf/win/RunLoopWin.cpp:
2991         (WTF::RunLoop::TimerBase::TimerBase):
2992         (WTF::RunLoop::TimerBase::start):
2993         (WTF::RunLoop::TimerBase::stop):
2994         (WTF::RunLoop::TimerBase::isActive):
2995
2996 2014-03-17  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
2997
2998         One more fix after r165725.
2999
3000         Reviewed by Csaba Osztrogonác.
3001
3002         * wtf/WTFThreadData.h:
3003
3004 2014-03-17  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
3005
3006         Buildfix after r165725 for non Mac platforms.
3007
3008         Reviewed by Csaba Osztrogonác.
3009
3010         * wtf/WTFThreadData.h:
3011
3012 2014-03-17  Andreas Kling  <akling@apple.com>
3013
3014         [Mac] WTFThreadData should use _pthread_getspecific_direct().
3015         <https://webkit.org/b/130320>
3016
3017         Hack WTFThreadData to use a direct key for TLS access when available.
3018         This mechanism uses a dedicated segment register and is the same way
3019         we implement the fast path in FastMalloc.
3020
3021         Reviewed by Darin Adler.
3022
3023         * wtf/FastMalloc.cpp:
3024         * wtf/WTFThreadData.cpp:
3025         (WTF::WTFThreadData::createAndRegisterForGetspecificDirect):
3026         * wtf/WTFThreadData.h:
3027         (WTF::wtfThreadData):
3028
3029 2014-03-16  Darin Adler  <darin@apple.com>
3030
3031         Remove most uses of deprecatedCharacter in WTF
3032         https://bugs.webkit.org/show_bug.cgi?id=130317
3033
3034         Reviewed by Andreas Kling.
3035
3036         * wtf/text/AtomicString.cpp:
3037         (WTF::HashAndUTF8CharactersTranslator::equal): Add an 8-bit code path to the
3038         non-ASCII path.
3039         (WTF::SubstringTranslator8::hash): Added.
3040         (WTF::SubstringTranslator8::equal): Added.
3041         (WTF::SubstringTranslator16::hash): Renamed class.
3042         (WTF::SubstringTranslator16::equal): Ditto.
3043         (WTF::AtomicString::add): Added an 8-bit code path to the substring case.
3044
3045         * wtf/text/Base64.cpp:
3046         (WTF::base64Decode): Added an 8 bit code path.
3047         (WTF::base64URLDecode): Ditto.
3048
3049         * wtf/text/StringImpl.cpp:
3050         (WTF::StringImpl::find): Fixed a case that was incorrectly using characters16
3051         without first using is8Bit. Need to return later to remove use of deprecatedCharacters.
3052
3053         * wtf/unicode/UTF8.cpp:
3054         (WTF::Unicode::equalUTF16WithUTF8): Added a case for when the UTF-16 characters
3055         are ASCII. Also removed the aEnd argument, since the caller only calls this when the
3056         lengths are equal.
3057         (WTF::Unicode::equalLatin1WithUTF8): Added.
3058         * wtf/unicode/UTF8.h: Updated as described above.
3059
3060 2014-03-16  David Kilzer  <ddkilzer@apple.com>
3061
3062         Follow-up: Fix undefined behavior in WTF::equal() in StringImpl.h for i386/x86_64
3063         <http://webkit.org/b/130283>
3064         <rdar://problem/16281477>
3065
3066         Reviewed by Darin Adler.
3067
3068         * wtf/text/StringImpl.h:
3069         (WTF::loadUnaligned): Restore behavior prior to r165681 for
3070         compilers other than clang.
3071
3072 2014-03-16  Darin Adler  <darin@apple.com>
3073
3074         Remove all uses of deprecatedCharacters from JavaScriptCore
3075         https://bugs.webkit.org/show_bug.cgi?id=130304
3076
3077         Reviewed by Anders Carlsson.
3078
3079         * wtf/dtoa.h:
3080         (WTF::parseDouble): Added an overload that takes a StringView.
3081
3082 2014-03-15  Darin Adler  <darin@apple.com>
3083
3084         Remove all uses of deprecatedCharacters from WebKit2
3085         https://bugs.webkit.org/show_bug.cgi?id=130197
3086
3087         Reviewed by Andreas Kling.
3088
3089         * wtf/text/StringView.h: Added new getCharactersWithUpconvert and upconvertedCharacters
3090         functions. These are useful for callers that need UTF-16.
3091
3092 2014-03-15  Darin Adler  <darin@apple.com>
3093
3094         Try to fix EFL build.
3095
3096         * wtf/ThreadingPthreads.cpp: (WTF::changeThreadPriority): Code in this function
3097         was setting the priority of the current thread instead of the passed-in thread.
3098         That was triggering an unused variable warning in the compiler used to build for
3099         EFL. Fixed by using the thread handle instead of pthread_self.
3100
3101 2014-03-15  Michael Saboff  <msaboff@apple.com>
3102
3103         It should be possible to adjust DFG and FTL compiler thread priorities
3104         https://bugs.webkit.org/show_bug.cgi?id=130288
3105
3106         Reviewed by Filip Pizlo.
3107
3108         Added ability to change thread priorities relative to its current priority.
3109         Created options to adjust the priority of the DFG and FTL compilation work thread
3110         pools.  For two core systems, there might be three runnable threads, the main thread,
3111         the DFG compilation thread and the FTL compilation thread.  With the same priority,
3112         the scheduler is free to schedule whatever thread it wants.  By lowering the
3113         compilation threads, the main thread can run.  Further tests may suggest better values
3114         for the new options, priorityDeltaOfDFGCompilerThreads and priorityDeltaOfFTLCompilerThreads.
3115
3116         For a two-core device, this change has a net positive improvement of 1-3% across
3117         SunSpider, Octane, Kraken and AsmBench.
3118
3119         * wtf/Threading.h:
3120         * wtf/ThreadingPthreads.cpp:
3121         (WTF::changeThreadPriority):
3122         * wtf/ThreadingWin.cpp:
3123         (WTF::changeThreadPriority):
3124
3125 2014-03-15  David Kilzer  <ddkilzer@apple.com>
3126
3127         Fix undefined behavior in WTF::equal() in StringImpl.h for i386/x86_64
3128         <http://webkit.org/b/130283>
3129         <rdar://problem/16281477>
3130
3131         Reviewed by Geoff Garen.
3132
3133         * wtf/text/StringImpl.h:
3134         (WTF::loadUnaligned): Add template method.
3135         (WTF::equal): Switch to using loadUnaligned<>().
3136
3137 2014-03-14  Mark Rowe  <mrowe@apple.com>
3138
3139         Fix the production build.
3140
3141         Don't rely on USE_INTERNAL_SDK being set for the Production configuration since UseInternalSDK.xcconfig won't
3142         be at the expected relative path when working from installed source.
3143
3144         * Configurations/Base.xcconfig:
3145
3146 2014-03-14  Maciej Stachowiak  <mjs@apple.com>
3147
3148         Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers
3149         https://bugs.webkit.org/show_bug.cgi?id=130276
3150         <rdar://problem/16266927>
3151         
3152         Reviewed by Simon Fraser.
3153
3154         * wtf/ASCIICType.h:
3155         * wtf/AVLTree.h:
3156         * wtf/Assertions.cpp:
3157         * wtf/Assertions.h:
3158         * wtf/Atomics.cpp:
3159         * wtf/Atomics.h:
3160         * wtf/AutodrainedPool.h:
3161         * wtf/AutodrainedPoolMac.mm:
3162         * wtf/BoundsCheckedPointer.h:
3163         * wtf/CryptographicUtilities.cpp:
3164         * wtf/CryptographicallyRandomNumber.h:
3165         * wtf/CurrentTime.h:
3166         * wtf/Deque.h:
3167         * wtf/DisallowCType.h:
3168         * wtf/ExportMacros.h:
3169         * wtf/FeatureDefines.h:
3170         * wtf/GetPtr.h:
3171         * wtf/HashIterators.h:
3172         * wtf/Locker.h:
3173         * wtf/MainThread.cpp:
3174         * wtf/MainThread.h:
3175         * wtf/MathExtras.h:
3176         * wtf/MediaTime.cpp:
3177         * wtf/MediaTime.h:
3178         * wtf/MessageQueue.h:
3179         * wtf/MetaAllocator.cpp:
3180         * wtf/MetaAllocator.h:
3181         * wtf/MetaAllocatorHandle.h:
3182         * wtf/OSRandomSource.cpp:
3183         * wtf/OSRandomSource.h:
3184         * wtf/Platform.h:
3185         * wtf/RandomNumber.cpp:
3186         * wtf/RandomNumber.h:
3187         * wtf/RandomNumberSeed.h:
3188         * wtf/RedBlackTree.h:
3189         * wtf/RunLoopTimer.h:
3190         * wtf/RunLoopTimerCF.cpp:
3191         * wtf/SchedulePair.h:
3192         * wtf/SchedulePairCF.cpp:
3193         * wtf/SchedulePairMac.mm:
3194         * wtf/SegmentedVector.h:
3195         * wtf/StackBounds.h:
3196         * wtf/StaticConstructors.h:
3197         * wtf/StringExtras.h:
3198         * wtf/ThreadFunctionInvocation.h:
3199         * wtf/ThreadSafeRefCounted.h:
3200         * wtf/ThreadSpecific.h:
3201         * wtf/Threading.h:
3202         * wtf/ThreadingPrimitives.h:
3203         * wtf/ThreadingPthreads.cpp:
3204         * wtf/ThreadingWin.cpp:
3205         * wtf/WTFThreadData.cpp:
3206         * wtf/WTFThreadData.h:
3207         * wtf/efl/OwnPtrEfl.cpp:
3208         * wtf/mac/MainThreadMac.mm:
3209         * wtf/text/AtomicStringHash.h:
3210         * wtf/text/AtomicStringImpl.h:
3211         * wtf/text/Base64.h:
3212         * wtf/text/CString.cpp:
3213         * wtf/text/CString.h:
3214         * wtf/text/LChar.h:
3215         * wtf/text/cf/StringCF.cpp:
3216         * wtf/text/mac/StringMac.mm:
3217         * wtf/unicode/CharacterNames.h:
3218         * wtf/unicode/Collator.h:
3219         * wtf/unicode/CollatorDefault.cpp:
3220         * wtf/unicode/UTF8.cpp:
3221         * wtf/unicode/UTF8.h:
3222         * wtf/unicode/icu/CollatorICU.cpp:
3223         * wtf/win/MainThreadWin.cpp:
3224
3225 2014-03-14  Byungseon Shin  <sun.shin@lge.com>
3226
3227         Incorrect Date returned between March 1, 2034 and February 28, 2100.
3228         https://bugs.webkit.org/show_bug.cgi?id=130123
3229
3230         Reviewed by Mark Lam.
3231
3232         Fix logic by using predefined Date APIs.
3233
3234         * wtf/DateMath.cpp:
3235         (WTF::ymdhmsToSeconds):
3236
3237 2014-03-12  Sergio Villar Senin  <svillar@igalia.com>
3238
3239         Rename DEFINE_STATIC_LOCAL to DEPRECATED_DEFINE_STATIC_LOCAL
3240         https://bugs.webkit.org/show_bug.cgi?id=129612
3241
3242         Reviewed by Darin Adler.
3243
3244         For new code use static NeverDestroyed<T> instead.
3245
3246         * wtf/RunLoop.cpp:
3247         (WTF::RunLoop::current):
3248         * wtf/StdLibExtras.h:
3249         * wtf/ThreadingPthreads.cpp:
3250         (WTF::threadMapMutex):
3251         (WTF::threadMap):
3252         * wtf/efl/MainThreadEfl.cpp:
3253         (WTF::pipeObject):
3254         * wtf/text/StringStatics.cpp:
3255         (WTF::StringImpl::empty):
3256
3257 2014-03-13  Radu Stavila  <stavila@adobe.com>
3258
3259         Webkit not building on XCode 5.1 due to garbage collection no longer being supported
3260         https://bugs.webkit.org/show_bug.cgi?id=130087
3261
3262         Reviewed by Mark Rowe.
3263
3264         Disable garbage collection on macosx when not using internal SDK.
3265
3266         * Configurations/Base.xcconfig:
3267
3268 2014-03-12  Ryuan Choi  <ryuan.choi@samsung.com>
3269
3270         [EFL] Enable Parallel GC
3271         https://bugs.webkit.org/show_bug.cgi?id=130177
3272
3273         Reviewed by Geoffrey Garen.
3274
3275         * wtf/Platform.h: Turn on ENABLE_PARALLEL_GC for the EFL build.
3276
3277 2014-03-12  Joseph Pecoraro  <pecoraro@apple.com>
3278
3279         Web Inspector: Disable REMOTE_INSPECTOR in earlier OS X releases
3280         https://bugs.webkit.org/show_bug.cgi?id=130118
3281
3282         Reviewed by Timothy Hatcher.
3283
3284         * wtf/FeatureDefines.h:
3285
3286 2014-03-11  Brent Fulgham  <bfulgham@apple.com>
3287
3288         [Win] Unreviewed gardening.
3289
3290         * wtf/MathExtras.h: VS2013 provides an lrint implementation. No need to implement
3291         our own.
3292
3293 2014-03-10  Jer Noble  <jer.noble@apple.com>
3294
3295         Improve WeakPtr operators.
3296         https://bugs.webkit.org/show_bug.cgi?id=130053
3297
3298         Reviewed by Andreas Kling.
3299
3300         Replace the "operator!()" with an explicit bool operator.  Add an "operator->()".
3301
3302         * wtf/WeakPtr.h:
3303         (WTF::WeakPtr::operator bool):
3304         (WTF::WeakPtr::operator->):
3305
3306 2014-03-10  Brent Fulgham  <bfulgham@apple.com>
3307
3308         [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
3309         https://bugs.webkit.org/show_bug.cgi?id=130023.
3310
3311         Reviewed by Dean Jackson.
3312
3313         * WTF.vcxproj/WTF.proj: Avoid putting trailing slashes in system paths to avoid
3314         escaping during later string substitution.
3315         * WTF.vcxproj/build-generated-files.sh: Accept environment values passed by VS.
3316
3317 2014-03-10  Mark Hahnenberg  <mhahnenberg@apple.com>
3318
3319         Turn on GenGC on other 64-bit platforms
3320         https://bugs.webkit.org/show_bug.cgi?id=129258
3321
3322         Reviewed by Oliver Hunt.
3323
3324         * wtf/Platform.h: 
3325
3326 2014-03-07  peavo@outlook.com  <peavo@outlook.com>
3327
3328         [Win64] Compile error after r165128.
3329         https://bugs.webkit.org/show_bug.cgi?id=129807
3330
3331         Reviewed by Mark Lam.
3332
3333         * wtf/Platform.h: MSVC does not support computed goto.
3334         Also enabled COMPUTED_GOTO_OPCODES when !ENABLE(LLINT_C_LOOP). This is needed because the ASM LLINT operates like COMPUTED_GOTO_OPCODES,
3335         and relies on the related data structures being defined to support this. On Win32, the platform does not HAVE_COMPUTED_GOTO support,
3336         but does want ENABLE_COMPUTED_GOTO_OPCODES because it uses the ASM LLINT.
3337
3338 2014-03-06  Michael Saboff  <msaboff@apple.com>
3339
3340         JSC should disable the JIT when building for ARMv7k
3341         https://bugs.webkit.org/show_bug.cgi?id=129829
3342
3343         Reviewed by Oliver Hunt.
3344
3345         Added WTF_CPU_APPLE_ARMV7K CPU define.  Disabled the JITs when
3346         that feature define is set.
3347
3348         * wtf/Platform.h:
3349
3350 2014-03-06  Filip Pizlo  <fpizlo@apple.com>
3351
3352         Use the LLVM disassembler on ARM64 if we are enabling the FTL
3353         https://bugs.webkit.org/show_bug.cgi?id=129785
3354
3355         Reviewed by Geoffrey Garen.
3356
3357         * wtf/Platform.h:
3358
3359 2014-03-05  peavo@outlook.com  <peavo@outlook.com>
3360
3361         [Win32][LLINT] Crash when running JSC stress tests.
3362         https://bugs.webkit.org/show_bug.cgi?id=129429
3363
3364         Reviewed by Geoffrey Garen.
3365
3366         * wtf/Platform.h: Enable LLINT on Win32.
3367
3368 2014-03-04  Zan Dobersek  <zdobersek@igalia.com>
3369
3370         [GTK] Build the Udis86 disassembler
3371         https://bugs.webkit.org/show_bug.cgi?id=129679
3372
3373         Reviewed by Michael Saboff.
3374
3375         * wtf/Platform.h: Also enable the Udis86 disassembler for the GTK port on Linux.
3376
3377 2014-03-02  Jaehun Lim  <ljaehun.lim@samsung.com>
3378
3379         [EFL] Remove m_initEfl from RunLoop.
3380         https://bugs.webkit.org/show_bug.cgi?id=129568
3381
3382         Reviewed by Gyuyoung Kim.
3383
3384         We don't use m_initEfl except RunLoop constructor.
3385
3386         * wtf/RunLoop.h:
3387         * wtf/efl/RunLoopEfl.cpp:
3388         (WTF::RunLoop::RunLoop):
3389
3390 2014-03-02  Darin Adler  <darin@apple.com>
3391
3392         Cut down use of OwnPtr within WTF itself
3393         https://bugs.webkit.org/show_bug.cgi?id=129567
3394
3395         Reviewed by Sam Weinig.
3396
3397         * wtf/RefCounted.h: Removed OwnPtr includes.
3398
3399         * wtf/StreamBuffer.h: Removed OwnPtr includes and switched to use
3400         std::make_unique and std::unique_ptr instead.
3401
3402         * wtf/Threading.cpp: Removed OwnPtr includes.
3403         * wtf/ThreadingPthreads.cpp: Ditto.
3404         * wtf/Vector.h: Ditto.
3405
3406 2014-02-26  Gavin Barraclough  <barraclough@apple.com>
3407
3408         FastMalloc should use vm_page_shift intead of PAGE_SHIFT.
3409         https://bugs.webkit.org/show_bug.cgi?id=129370
3410
3411         Reviewed by Mark Rowe.
3412
3413         "Doesn't this lead to the page map using fewer bits than it was before?
3414         It seems like this will cause some page addresses to no longer be
3415         representable in the map when using 4K pages. Am I missing something?"
3416
3417         * wtf/FastMalloc.cpp:
3418             - bdash raises a valid point. This should make the TCMalloc_PageMap
3419               larger than absolutely necessary, rather than potentially too small.
3420
3421 2014-02-25  Gavin Barraclough  <barraclough@apple.com>
3422
3423         FastMalloc should use vm_page_shift intead of PAGE_SHIFT.
3424         https://bugs.webkit.org/show_bug.cgi?id=129370
3425
3426         Reviewed by Geoff Garen.
3427
3428         Previously we used PAGE_SHIFT to initialize kPageShift.
3429         Since this was a constant, it could be used to calculate other
3430         contants used in the code. Some of these values are used in the
3431         definition of certain data structures (specifiying the length of
3432         some array members).
3433
3434         Make kPageShift & dependent properties variables setup during
3435         initialization. Add upper bound values (K_PAGE_SHIFT_MAX,
3436         K_NUM_CLASSES_MAX) for use in cases where we need a constant.
3437
3438         * wtf/FastMalloc.cpp:
3439         (WTF::InitSizeClasses):
3440             - initialize kPageShift, kNumClasses, kPageSize, kMaxValidPages.
3441         (WTF::pages):
3442             - added ASSERT.
3443         (WTF::AllocationSize):
3444             - added ASSERT.
3445         (WTF::TCMalloc_PageHeap::FreeBytes):
3446             - added ASSERT.
3447         (WTF::TCMalloc_PageHeap::init):
3448             - COMPILE_ASSERT -> ASSERT
3449         (WTF::TCMalloc_PageHeap::scavenge):
3450             - added ASSERT.
3451         (WTF::TCMalloc_PageHeap::Carve):
3452             - added ASSERT.
3453         (WTF::mergeDecommittedStates):
3454             - added ASSERT.
3455         (WTF::TCMalloc_PageHeap::IncrementalScavenge):
3456             - added ASSERT.
3457         (WTF::TCMalloc_PageHeap::ReturnedBytes):
3458             - added ASSERT.
3459         (WTF::PagesToMB):
3460             - added ASSERT.
3461         (WTF::TCMalloc_PageHeap::GrowHeap):
3462             - added ASSERT.
3463         (WTF::TCMalloc_PageHeap::ReleaseFreeList):
3464             - kNumClasses -> K_NUM_CLASSES_MAX
3465         (WTF::TCMalloc_ThreadCache::enumerateFreeObjects):
3466             - added ASSERT.
3467         (WTF::TCMalloc_Central_FreeList::Init):
3468             - added ASSERT.
3469         (WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
3470             - added ASSERT.
3471         (WTF::TCMalloc_Central_FreeList::EvictRandomSizeClass):
3472             - added ASSERT.
3473         (WTF::TCMalloc_Central_FreeList::MakeCacheSpace):
3474             - added ASSERT.
3475         (WTF::TCMalloc_Central_FreeList::InsertRange):
3476             - added ASSERT.
3477         (WTF::TCMalloc_Central_FreeList::Populate):
3478             - added ASSERT.
3479         (WTF::TCMalloc_ThreadCache::Init):
3480             - added ASSERT.
3481         (WTF::TCMalloc_ThreadCache::Cleanup):
3482             - added ASSERT.
3483         (WTF::TCMalloc_ThreadCache::Scavenge):
3484             - added ASSERT.
3485         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3486             - added ASSERT.
3487
3488 2014-02-24  Alex Christensen  <achristensen@webkit.org>
3489
3490         Disabled WebGL on WinCairo.
3491
3492         Unreviewed.
3493
3494         * wtf/FeatureDefines.h:
3495         Removed ENABLE_WEBGL definition for WinCairo port.
3496         WebGL has not worked on WinCairo since r163079
3497         and it was not compiling with a recent ANGLE update.
3498
3499 2014-02-24  Mark Hahnenberg  <mhahnenberg@apple.com>
3500
3501         Turn GenGC on for 32-bit systems
3502         https://bugs.webkit.org/show_bug.cgi?id=128824
3503
3504         Reviewed by Geoffrey Garen.
3505
3506         * wtf/Platform.h:
3507
3508 2014-02-21  Benjamin Poulain  <benjamin@webkit.org>
3509
3510         jsDocumentPrototypeFunctionGetElementById should not create an AtomicString for the function argument
3511         https://bugs.webkit.org/show_bug.cgi?id=128893
3512
3513         Reviewed by Darin Adler.
3514
3515         AtomicString::find() is a special case optimized for the JavaScript bindings. The method can only
3516         be called under specific conditions.
3517         The method is renamed to findStringWithHash().
3518
3519         The new AtomicString::find is generic and does not require any propery on the input.
3520
3521         * wtf/text/AtomicString.cpp:
3522         (WTF::AtomicString::findStringWithHash):
3523         (WTF::AtomicString::findSlowCase):
3524         * wtf/text/AtomicString.h:
3525         (WTF::AtomicString::find):
3526
3527 2014-02-20  Csaba Osztrogonác  <ossy@webkit.org>
3528
3529         Add StackStats sources to cmake and autotools build files
3530         https://bugs.webkit.org/show_bug.cgi?id=129103
3531
3532         Reviewed by Anders Carlsson.
3533
3534         * GNUmakefile.list.am:
3535         * wtf/CMakeLists.txt:
3536
3537 2014-02-20  Csaba Osztrogonác  <ossy@webkit.org>
3538
3539         Get rid of redundant Platform.h includes
3540         https://bugs.webkit.org/show_bug.cgi?id=128817
3541
3542         Reviewed by Brent Fulgham.
3543
3544         * wtf/Assertions.h:
3545         * wtf/Atomics.h:
3546         * wtf/ByteOrder.h:
3547         * wtf/DataLog.h:
3548         * wtf/DisallowCType.h:
3549         * wtf/DynamicAnnotations.h:
3550         * wtf/ExportMacros.h:
3551         * wtf/FastMalloc.h:
3552         * wtf/FlipBytes.h:
3553         * wtf/InlineASM.h:
3554         * wtf/PrintStream.h:
3555         * wtf/ProcessID.h:
3556         * wtf/Threading.h:
3557         * wtf/ThreadingPrimitives.h:
3558
3559 2014-02-19  Jon Honeycutt  <jhoneycutt@apple.com>
3560
3561         Crash in WTF::StringBuilder::append()
3562
3563         https://bugs.webkit.org/show_bug.cgi?id=125817
3564         <rdar://problem/15671883>
3565
3566         Reviewed by Oliver Hunt.
3567
3568         * wtf/text/StringBuilder.cpp:
3569         (WTF::expandedCapacity):
3570         Ensure that we return a new capacity of at least 'requiredLength' in
3571         the case where requiredLength is large. Also, use unsigned rather than
3572         size_t for the parameters and the return value, as callers pass
3573         unsigned arguments and treat the result as an unsigned int.
3574
3575 2014-02-19  Anders Carlsson  <andersca@apple.com>
3576
3577         Add WTF_MAKE_FAST_ALLOCATED to more classes
3578         https://bugs.webkit.org/show_bug.cgi?id=129064
3579
3580         Reviewed by Andreas Kling.
3581
3582         * wtf/Bitmap.h:
3583
3584 2014-02-19  Zan Dobersek  <zdobersek@igalia.com>
3585
3586         Make PrintStream::print() a variadic template
3587         https://bugs.webkit.org/show_bug.cgi?id=126388
3588
3589         Reviewed by Brent Fulgham.
3590
3591         PrintStream::print() can be converted into a variadic template, printing the value
3592         of the first parameter and recursively calling itself until the single parameter version
3593         is used for printing the last value.
3594
3595         * wtf/DataLog.h:
3596         (WTF::dataLog): Convert the function to a variadic template as well.
3597         * wtf/PrintStream.h:
3598         (WTF::PrintStream::print):
3599         * wtf/StringPrintStream.h:
3600         (WTF::toCString): Ditto.
3601         (WTF::toString): Ditto.
3602
3603 2014-02-19  Zan Dobersek  <zdobersek@igalia.com>
3604
3605         Use std::swap() in HashTable::swap()
3606         https://bugs.webkit.org/show_bug.cgi?id=128995
3607
3608         Reviewed by Brent Fulgham.
3609
3610         Use std::swap() to swap the member variable values of two HashTable objects in HashTable::swap().
3611
3612         * wtf/HashTable.h:
3613         (WTF::KeyTraits>::swap):
3614
3615 2014-02-19  Zan Dobersek  <zdobersek@igalia.com>
3616
3617         SegmentedVector::append() should take in rvalue reference, forward it to Vector::uncheckedAppend()
3618         https://bugs.webkit.org/show_bug.cgi?id=128996
3619
3620         Reviewed by Brent Fulgham.
3621
3622         * wtf/SegmentedVector.h:
3623         (WTF::SegmentedVector::append): Take in an rvalue reference of the object that's to be appended and
3624         then forward it to Vector::uncheckedAppend(). This avoids unnecessary copies in the current situation
3625         where a const lvalue is accepted and passed on.
3626
3627 2014-02-19  Dan Bernstein  <mitz@apple.com>
3628
3629         Simplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions
3630         https://bugs.webkit.org/show_bug.cgi?id=129029
3631
3632         Reviewed by Mark Rowe.
3633
3634         * wtf/FeatureDefines.h:
3635         * wtf/Platform.h:
3636         * wtf/Threading.cpp:
3637         * wtf/text/cf/StringImplCF.cpp:
3638         (garbageCollectionEnabled):
3639
3640 2014-02-18  Dan Bernstein  <mitz@apple.com>
3641
3642         PLATFORM(MAC) is true when building for iOS
3643         https://bugs.webkit.org/show_bug.cgi?id=129025
3644
3645         Reviewed by Mark Rowe.
3646
3647         * wtf/Platform.h: Changed to define WTF_PLATFORM_MAC only on when building for OS X (but
3648         still not when WTF_PLATFORM_GTK or WTF_PLATFORM_EFL are defined).
3649
3650 2014-02-18  Joseph Pecoraro  <pecoraro@apple.com>
3651
3652         [iOS] Web Inspector: JSContext inspection crashes in isMainThread, uninitialized WebCoreWebThreadIsLockedOrDisabled
3653         https://bugs.webkit.org/show_bug.cgi?id=128959
3654
3655         Reviewed by David Kilzer.
3656
3657         When JavaScriptCore is used without WebCore on iOS (e.g. JSContext)
3658         the WebCoreWebThread* functions will not be initialized. Avoid
3659         calling the function pointer if it is uninitialized. This was
3660         happening with remote inspection via StringImpl::createCFString
3661         for implicit NSString / WTFString conversion which uses isMainThread.
3662
3663         * wtf/mac/MainThreadMac.mm:
3664         (WTF::webThreadIsUninitializedOrLockedOrDisabled):
3665         (WTF::isMainThread):
3666         (WTF::canAccessThreadLocalDataForThread):
3667
3668 2014-02-17  Filip Pizlo  <fpizlo@apple.com>
3669
3670         More ARM FTL glue
3671         https://bugs.webkit.org/show_bug.cgi?id=128948
3672
3673         Reviewed by Sam Weinig.
3674
3675         * wtf/Platform.h:
3676
3677 2014-02-17  Anders Carlsson  <andersca@apple.com>
3678
3679         Remove ENABLE_GLOBAL_FASTMALLOC_NEW
3680         https://bugs.webkit.org/show_bug.cgi?id=127067
3681
3682         Reviewed by Geoffrey Garen.
3683
3684         Remove the global operator new/operator delete overrides. Having ALWAYS_INLINE operators
3685         like we do is really undefined behavior according to the C++ standard and we've been lucky enough
3686         to get away with it so far, but any code that calls operator new/operator delete inside from the C++ standard
3687         library (not from headers that are included) will be mismatched and potentially crash. libc++ calls
3688         delete in it's std::thread implementation for example.
3689         
3690         The only supported way to override operator new and operator delete globally is to not use inline
3691         functions, but that would mean that any application using WebKit would not be able to provide custom
3692         operator new/operator delete functions so we'll just reuse the already existing infrastructure consisting
3693         of the WTF_MAKE_FAST_ALLOCATED macro.