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