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