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