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