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