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