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