[EFL] Add ARM64 build support
[WebKit-https.git] / Source / WTF / ChangeLog
1 2014-03-25  Gabor Rapcsanyi  <rgabor@webkit.org>
2
3         [EFL] Add ARM64 build support
4         https://bugs.webkit.org/show_bug.cgi?id=130506
5
6         Rubber stamped by Gyuyoung Kim.
7
8         * wtf/Platform.h: Set WTF_CPU_ARM64 when __aarch64__ is defined.
9
10 2014-03-24  Andy Estes  <aestes@apple.com>
11
12         Fix the iOS build.
13
14         * wtf/ThreadingPthreads.cpp:
15         (WTF::createThreadInternal):
16         (WTF::setCurrentThreadQOSUtility):
17
18 2014-03-24  Gavin Barraclough  <barraclough@apple.com>
19
20         Add support for thread QoS
21         https://bugs.webkit.org/show_bug.cgi?id=130688
22
23         Speculative EFL build fix.
24
25         * wtf/ThreadingPthreads.cpp:
26         (WTF::setCurrentThreadQOSUtility):
27
28 2014-03-24  Gavin Barraclough  <barraclough@apple.com>
29
30         Add support for thread QoS
31         https://bugs.webkit.org/show_bug.cgi?id=130688
32
33         Reviewed by Andreas Kling.
34
35         * wtf/FastMalloc.cpp:
36         (WTF::TCMalloc_PageHeap::runScavengerThread):
37             - block freeing is a utility activity.
38         * wtf/Threading.h:
39             - declaration.
40         * wtf/ThreadingPthreads.cpp:
41         (WTF::createThreadInternal):
42             - default to interactive.
43         (WTF::setCurrentThreadQOSUtility):
44             - implementation.
45         * wtf/ThreadingWin.cpp:
46         (WTF::setCurrentThreadQOSUtility):
47             - no-op implementation.
48
49 2014-03-23  Hyowon Kim  <hw1008.kim@samsung.com>
50
51         Move all EFL typedefs into EflTypedefs.h.
52         https://bugs.webkit.org/show_bug.cgi?id=130511
53
54         Reviewed by Gyuyoung Kim.
55
56         * wtf/Platform.h: include EflTypedefs.h.
57         * wtf/efl/EflTypedefs.h: Added.
58         * wtf/efl/RefPtrEfl.h: Remove EFL typedefs.
59
60 2014-03-22  Darin Adler  <darin@apple.com>
61
62         Remove String::deprecatedCharacters
63         https://bugs.webkit.org/show_bug.cgi?id=126854
64
65         Reviewed by Sam Weinig.
66
67         * wtf/text/StringBuilder.cpp:
68         (WTF::StringBuilder::reifyString): Removed code to update 16-bit shadow.
69
70         * wtf/text/StringBuilder.h: Removed deprecatedCharacters.
71         (WTF::StringBuilder::StringBuilder): Removed m_valid16BitShadowLength.
72         (WTF::StringBuilder::clear): Removed code to clear m_valid16BitShadowLength.
73         (WTF::StringBuilder::swap): Removed code to swap m_valid16BitShadowLength.
74
75         * wtf/text/StringImpl.cpp:
76         (WTF::StringImpl::~StringImpl): Removed code to free m_copyData16.
77         (WTF::StringImpl::upper): Use StringView::upconvertedCharacters for slow case.
78         (WTF::StringImpl::lower): Ditto.
79         (WTF::StringImpl::find): Use characters8/16 rather than deprecatedCharacters.
80         Added an 8-bit code path to one of the overloads. Might want to revisit later
81         to decide whether to use templates instead of copy/paste, or even use StringView
82         to cut down on duplicate code paths.
83         (WTF::StringImpl::findIgnoringCase): Ditto.
84         (WTF::StringImpl::sizeInBytes): Remove code to handle has16BitShadow case.
85         (WTF::equalIgnoringNullity): Added. To be called by the Vector template in the header.
86
87         * wtf/text/StringImpl.h: Removed deprecatedCharacters, has16BitShadow,
88         upconvertCharacters, getData16SlowCase, s_hashFlagHas16BitShadow, and m_copyData16.
89         (WTF::equalIgnoringNullity): Changed the template function into an inline that calls
90         a non-inline helper function. The non-inline function handles both 8-bit and 16-bit
91         strings.
92
93         * wtf/text/StringView.h:
94         (WTF::StringView::StringView): Added an overload so we can make one of these directly
95         from a StringImpl without first wrapping it in a string. Added an adapter so we can
96         use StringView as part of string concatenation. Added an append function so we can
97         append to a Vector<UChar>.
98
99         * wtf/text/WTFString.cpp:
100         (WTF::String::append): Use StringView::getCharactersWithUpconvert. Also changed
101         single-character append so it won't always turn an 8-bit string into a 16-bit one.
102         (WTF::String::insert): Removed one insert overload and changed the other to use
103         StringView::getCharactersWithUpconvert.
104         (WTF::String::truncate): Changed to use StringImpl::substring.
105         (WTF::String::percentage): Added characters8/16 paths instead of using
106         deprecatedCharacters.
107
108         * wtf/text/WTFString.h: Removed deprecatedCharacters, getCharactersWithUpconvert,
109         insert(UChar*, unsigned, unsigned), and the append overload for Vector<UChar>.
110
111 2014-03-20  Darin Adler  <darin@apple.com>
112
113         Fix a header guard mistake (harmless but clearly wrong)
114         https://bugs.webkit.org/show_bug.cgi?id=130559
115
116         Reviewed by Andreas Kling.
117
118         * wtf/text/StringConcatenate.h: Correct the macro name in the header guard.
119
120 2014-03-20  Hyowon Kim  <hw1008.kim@samsung.com>
121
122         Move to using std::unique_ptr for EFL objects.
123         https://bugs.webkit.org/show_bug.cgi?id=129853
124
125         Reviewed by Gyuyoung Kim.
126
127         EflUniquePtr is a template alias of std::unique_ptr
128         with a custom deleter for each Efl Objects, which is motivated by GUniquePtr.
129         This patch replaces uses of OwnPtr and PassOwnPtr for Efl objects with EflUniquePtr.
130
131         * wtf/OwnPtrCommon.h:
132         * wtf/PlatformEfl.cmake:
133         * wtf/RunLoop.h:
134         * wtf/efl/MainThreadEfl.cpp:
135         (WTF::pipeObject):
136         (WTF::initializeMainThreadPlatform):
137         * wtf/efl/OwnPtrEfl.cpp: Removed.
138         * wtf/efl/RunLoopEfl.cpp:
139         (WTF::RunLoop::RunLoop):
140         * wtf/efl/UniquePtrEfl.h: Added.
141         (WTF::EflPtrDeleter::operator()):
142
143 2014-03-20  Gavin Barraclough  <barraclough@apple.com>
144
145         Remove IdentifierTable typedef, isIdentifier()
146         https://bugs.webkit.org/show_bug.cgi?id=130533
147
148         Rubber stamped by Geoff Garen.
149
150         Code should use AtomicStringTable, isAtomic() directly.
151
152         * wtf/WTFThreadData.h:
153         (WTF::WTFThreadData::setCurrentAtomicStringTable):
154         (WTF::WTFThreadData::resetCurrentAtomicStringTable):
155             - removed IdentifierTypedef.
156         * wtf/text/StringImpl.h:
157         (WTF::StringImpl::flagIsAtomic):
158             - renamed flagIsIdentfier -> flagIsAtomic.
159
160 2014-03-20  Gavin Barraclough  <barraclough@apple.com>
161
162         Merge AtomicString, Identifier
163         https://bugs.webkit.org/show_bug.cgi?id=128624
164
165         Reviewed by Geoff Garen.
166
167         WTF::StringImpl currently supports two uniquing mechanism - AtomicString and
168         Identifer - that is one too many.
169
170         Remove Identifier in favour of AtomicString. Identifier had two interesting
171         mechanisms that we preserve.
172
173         (1) JSC API VMs each get their own string table, switch the string table on
174             API entry/exit.
175         (2) JSC caches a pointer to the string table on the VM to avoid a thread
176             specific access. Adds a new AtomicString::add method to support this.
177
178         * wtf/WTFThreadData.cpp:
179         (WTF::WTFThreadData::WTFThreadData):
180             - remove allocation of IdentifierTable.
181         (WTF::WTFThreadData::~WTFThreadData):
182             - remove deletion of IdentifierTable.
183         * wtf/WTFThreadData.h:
184         (WTF::WTFThreadData::atomicStringTable):
185             - table is now switched by JSC API, return the current table.
186         (WTF::WTFThreadData::currentIdentifierTable):
187             - now returns the current AtomicStringTable.
188         (WTF::WTFThreadData::setCurrentIdentifierTable):
189             - now sets the current AtomicStringTable.
190         (WTF::WTFThreadData::resetCurrentIdentifierTable):
191             - now resets the AtomicStringTable.
192         * wtf/text/AtomicString.cpp:
193         (WTF::AtomicString::addSlowCase):
194             - add without thread-specific access to access string table.
195         * wtf/text/AtomicString.h:
196         (WTF::AtomicString::addWithStringTableProvider):
197             - add without thread-specific access (used by JSC, string table provided by VM or ExecState).
198         * wtf/text/AtomicStringTable.cpp:
199         (WTF::AtomicStringTable::create):
200             - renamed m_atomicStringTable -> m_defaultAtomicStringTable.
201         (WTF::AtomicStringTable::~AtomicStringTable):
202         (WTF::AtomicStringTable::destroy):
203             - clearing of table moved from AtomicStringTable::destroy to destructor.
204         * wtf/text/AtomicStringTable.h:
205             - added destructor.
206         * wtf/text/StringImpl.cpp:
207         (WTF::StringImpl::~StringImpl):
208             - Identifers no longer exist; no need to remove them from IdentifierTable.
209         * wtf/text/StringImpl.h:
210         (WTF::StringImpl::StringImpl):
211             - removed s_hashFlagIsIdentifier.
212         (WTF::StringImpl::flagIsIdentifier):
213             - s_hashFlagIsIdentifier -> s_hashFlagIsAtomic.
214         (WTF::StringImpl::isIdentifier):
215             - now synonymous to isAtomic().
216         * wtf/text/StringStatics.cpp:
217         (WTF::StringImpl::hashAndFlagsForEmptyUnique):
218             - removed s_hashFlagIsIdentifier.
219
220 2014-03-20  Zan Dobersek  <zdobersek@igalia.com>
221
222         Unreviewed Clang build fix for the GTK port after r165952.
223
224         * wtf/gobject/GMainLoopSource.h: Include the <functional> header for the std::function<> objects.
225
226 2014-03-18  Carlos Garcia Campos  <cgarcia@igalia.com>
227
228         [GLIB] Add GMainLoopSource class to wrap idle and timeout sources
229         https://bugs.webkit.org/show_bug.cgi?id=130027
230
231         Reviewed by Martin Robinson.
232
233         GLib main loop sources like idle and timeouts are sometimes
234         unconvenient to use and it's very common to forget canceling the
235         source when the object is destroyed or reset the source ID in the
236         callback when called. GMainLoopSource is a wrapper class to make it
237         easier to handle sources and also to avoid those typical mistakes.
238         It forces to create sources with a name and the user doesn't have
239         to deal with the source ID anymore. The source is cancelled when
240         the object is deleted or when a new source is scheduled. It uses
241         std::function for callbacks so that we no longer need to use the
242         "proxy" static callbacks either. We can use std::bind to use a
243         function pointer or a member or even lambda functions. It also handles
244         repeating sources automatically depending on whether the given
245         function returns a bool or not.
246
247         * GNUmakefile.list.am:
248         * wtf/PlatformEfl.cmake:
249         * wtf/PlatformGTK.cmake:
250         * wtf/RunLoop.h:
251         * wtf/gobject/GMainLoopSource.cpp: Added.
252         (WTF::GMainLoopSource::createAndDeleteOnDestroy):
253         (WTF::GMainLoopSource::GMainLoopSource):
254         (WTF::GMainLoopSource::~GMainLoopSource):
255         (WTF::GMainLoopSource::cancel):
256         (WTF::GMainLoopSource::reset):
257         (WTF::GMainLoopSource::scheduleIdleSource):
258         (WTF::GMainLoopSource::schedule):
259         (WTF::GMainLoopSource::scheduleTimeoutSource):
260         (WTF::GMainLoopSource::scheduleAfterDelay):
261         (WTF::GMainLoopSource::voidCallback):
262         (WTF::GMainLoopSource::boolCallback):
263         (WTF::GMainLoopSource::socketCallback):
264         (WTF::GMainLoopSource::destroy):
265         (WTF::GMainLoopSource::voidSourceCallback):
266         (WTF::GMainLoopSource::boolSourceCallback):
267         (WTF::GMainLoopSource::socketSourceCallback):
268         * wtf/gobject/GMainLoopSource.h: Added.
269         (WTF::GMainLoopSource::isScheduled):
270         * wtf/gtk/MainThreadGtk.cpp:
271         (WTF::scheduleDispatchFunctionsOnMainThread):
272         * wtf/gtk/RunLoopGtk.cpp:
273         (WTF::RunLoop::wakeUp):
274         (WTF::RunLoop::TimerBase::TimerBase):
275         (WTF::RunLoop::TimerBase::start):
276         (WTF::RunLoop::TimerBase::stop):
277         (WTF::RunLoop::TimerBase::isActive):
278
279 2014-03-19  Gavin Barraclough  <barraclough@apple.com>
280
281         https://bugs.webkit.org/show_bug.cgi?id=130494
282         EmptyUnique strings are Identifiers/Atomic
283
284         Reviewed by Geoff Garen.
285
286         EmptyUnique strings should set the Identifier/Atomic flag.
287
288         * wtf/text/AtomicString.h:
289         (WTF::AtomicString::add):
290             - Previously we assumed the only StringImpl that was validly allowed to claim to be
291               Atomic but not be in a table was the canonical empty string. Now that EmptyUniques
292               are also marked Atomic, all empty strings may pass this condition.
293         * wtf/text/StringImpl.cpp:
294         (WTF::StringImpl::~StringImpl):
295             - EmptyUnique strings are not in the Atomic/Identfiier tabels, so don't need removing.
296         * wtf/text/StringImpl.h:
297         (WTF::StringImpl::StringImpl):
298             - Change EmptyUnique constructor to call hashAndFlagsForEmptyUnique.
299         * wtf/text/StringStatics.cpp:
300         (WTF::StringImpl::hashAndFlagsForEmptyUnique):
301             - Allocate a sequential hash code (this should be just as good for distribution & better
302               for debugging than the random value) and set flags, now including Atomic & Identifier.
303
304 2014-03-19  Gavin Barraclough  <barraclough@apple.com>
305
306         Small cleanup of empty string
307         https://bugs.webkit.org/show_bug.cgi?id=130438
308
309         Reviewed by Anders Carlson.
310
311         The empty string is weird becuase it is used as the impl for an AtomicString, but isAtomic()
312         returns false.
313         Also, we set a valid pointer for the characters pointer due to an old PCRE bug; remove this.
314         Also, we currently only create one 'static' string, the empty string. Adding more might break
315         assumtions, inhibit the constructor from being used to create other static strings for now.
316
317         * wtf/text/AtomicString.h:
318         (WTF::AtomicString::add):
319             - update assert.
320         * wtf/text/StringImpl.h:
321         (WTF::StringImpl::StringImpl):
322             - Merge ConstructStaticString constructors, only allow the empty static string to be constructed.
323         * wtf/text/StringStatics.cpp:
324         (WTF::StringImpl::empty):
325             - ConstructStaticString -> ConstructEmptyString, remove arguments, DEPRECATED_DEFINE_STATIC_LOCAL -> NeverDestroyed.
326
327 2014-03-18  Darin Adler  <darin@apple.com>
328
329         Reduce use of deprecatedCharacters in WebCore
330         https://bugs.webkit.org/show_bug.cgi?id=130318
331
332         Reviewed by Andreas Kling.
333
334         * wtf/text/WTFString.h: Export another overload of charactersToFloat since it's used
335         in WebCore now.
336
337         * wtf/text/cf/StringViewCF.cpp: Change so this can build on Windows.
338
339         * WTF.vcxproj/WTF.vcxproj: Added StringViewCF.cpp.
340         * WTF.vcxproj/WTF.vcxproj.filters: Added StringViewCF.cpp.
341
342 2014-03-18  Filip Pizlo  <fpizlo@apple.com>
343
344         More FTL enabling.
345
346         Rubber stamped by Dan Bernstein and Mark Hahnenberg.
347
348         * wtf/Platform.h:
349
350 2014-03-17  Darin Adler  <darin@apple.com>
351
352         Remove most uses of deprecatedCharacter in WTF
353         https://bugs.webkit.org/show_bug.cgi?id=130317
354
355         Reviewed by Andreas Kling.
356
357         Re-landing after fixing the "80 instead of 0x80" typo in equalLatin1WithUTF8.
358
359         * wtf/text/AtomicString.cpp:
360         (WTF::HashAndUTF8CharactersTranslator::equal): Add an 8-bit code path to the
361         non-ASCII path.
362         (WTF::SubstringTranslator8::hash): Added.
363         (WTF::SubstringTranslator8::equal): Added.
364         (WTF::SubstringTranslator16::hash): Renamed class.
365         (WTF::SubstringTranslator16::equal): Ditto.
366         (WTF::AtomicString::add): Added an 8-bit code path to the substring case.
367
368         * wtf/text/Base64.cpp:
369         (WTF::base64Decode): Added an 8 bit code path.
370         (WTF::base64URLDecode): Ditto.
371
372         * wtf/text/StringImpl.cpp:
373         (WTF::StringImpl::find): Fixed a case that was incorrectly using characters16
374         without first using is8Bit. Need to return later to remove use of deprecatedCharacters.
375
376         * wtf/unicode/UTF8.cpp:
377         (WTF::Unicode::equalUTF16WithUTF8): Added a case for when the UTF-16 characters
378         are ASCII. Also removed the aEnd argument, since the caller only calls this when the
379         lengths are equal.
380         (WTF::Unicode::equalLatin1WithUTF8): Added.
381         * wtf/unicode/UTF8.h: Updated as described above.
382
383 2014-03-17  Commit Queue  <commit-queue@webkit.org>
384
385         Unreviewed, rolling out r165721.
386         https://bugs.webkit.org/show_bug.cgi?id=130367
387
388         It makes the debug bots flaky (Requested by benjaminp on
389         #webkit).
390
391         Reverted changeset:
392
393         "Remove most uses of deprecatedCharacter in WTF"
394         https://bugs.webkit.org/show_bug.cgi?id=130317
395         http://trac.webkit.org/changeset/165721
396
397 2014-03-17  Zan Dobersek  <zdobersek@igalia.com>
398
399         Use RunLoop objects through references instead of pointers
400         https://bugs.webkit.org/show_bug.cgi?id=130313
401
402         Reviewed by Andreas Kling.
403
404         Make RunLoop::current() and RunLoop::main() return a RunLoop reference instead
405         of a pointer. RunLoop::Holder now uses a Ref<RunLoop> member. Timer and TimerBase
406         constructors take in a RunLoop reference, with TimerBase now storing a RunLoop
407         reference member instead of a pointer. Platform-specific bits of the RunLoop
408         class are updated accordingly.
409
410         * wtf/RunLoop.cpp:
411         (WTF::RunLoop::Holder::Holder):
412         (WTF::RunLoop::Holder::runLoop):
413         (WTF::RunLoop::initializeMainRunLoop):
414         (WTF::RunLoop::current):
415         (WTF::RunLoop::main):
416         (WTF::RunLoop::isMain):
417         * wtf/RunLoop.h:
418         (WTF::RunLoop::Timer::Timer):
419         * wtf/cf/RunLoopCF.cpp:
420         (WTF::RunLoop::run):
421         (WTF::RunLoop::TimerBase::TimerBase):
422         (WTF::RunLoop::TimerBase::start):
423         * wtf/efl/RunLoopEfl.cpp:
424         (WTF::RunLoop::TimerBase::TimerBase):
425         * wtf/gtk/RunLoopGtk.cpp:
426         (WTF::RunLoop::run):
427         (WTF::RunLoop::TimerBase::TimerBase):
428         (WTF::RunLoop::TimerBase::start):
429         * wtf/win/RunLoopWin.cpp:
430         (WTF::RunLoop::TimerBase::TimerBase):
431         (WTF::RunLoop::TimerBase::start):
432         (WTF::RunLoop::TimerBase::stop):
433         (WTF::RunLoop::TimerBase::isActive):
434
435 2014-03-17  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
436
437         One more fix after r165725.
438
439         Reviewed by Csaba Osztrogonác.
440
441         * wtf/WTFThreadData.h:
442
443 2014-03-17  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
444
445         Buildfix after r165725 for non Mac platforms.
446
447         Reviewed by Csaba Osztrogonác.
448
449         * wtf/WTFThreadData.h:
450
451 2014-03-17  Andreas Kling  <akling@apple.com>
452
453         [Mac] WTFThreadData should use _pthread_getspecific_direct().
454         <https://webkit.org/b/130320>
455
456         Hack WTFThreadData to use a direct key for TLS access when available.
457         This mechanism uses a dedicated segment register and is the same way
458         we implement the fast path in FastMalloc.
459
460         Reviewed by Darin Adler.
461
462         * wtf/FastMalloc.cpp:
463         * wtf/WTFThreadData.cpp:
464         (WTF::WTFThreadData::createAndRegisterForGetspecificDirect):
465         * wtf/WTFThreadData.h:
466         (WTF::wtfThreadData):
467
468 2014-03-16  Darin Adler  <darin@apple.com>
469
470         Remove most uses of deprecatedCharacter in WTF
471         https://bugs.webkit.org/show_bug.cgi?id=130317
472
473         Reviewed by Andreas Kling.
474
475         * wtf/text/AtomicString.cpp:
476         (WTF::HashAndUTF8CharactersTranslator::equal): Add an 8-bit code path to the
477         non-ASCII path.
478         (WTF::SubstringTranslator8::hash): Added.
479         (WTF::SubstringTranslator8::equal): Added.
480         (WTF::SubstringTranslator16::hash): Renamed class.
481         (WTF::SubstringTranslator16::equal): Ditto.
482         (WTF::AtomicString::add): Added an 8-bit code path to the substring case.
483
484         * wtf/text/Base64.cpp:
485         (WTF::base64Decode): Added an 8 bit code path.
486         (WTF::base64URLDecode): Ditto.
487
488         * wtf/text/StringImpl.cpp:
489         (WTF::StringImpl::find): Fixed a case that was incorrectly using characters16
490         without first using is8Bit. Need to return later to remove use of deprecatedCharacters.
491
492         * wtf/unicode/UTF8.cpp:
493         (WTF::Unicode::equalUTF16WithUTF8): Added a case for when the UTF-16 characters
494         are ASCII. Also removed the aEnd argument, since the caller only calls this when the
495         lengths are equal.
496         (WTF::Unicode::equalLatin1WithUTF8): Added.
497         * wtf/unicode/UTF8.h: Updated as described above.
498
499 2014-03-16  David Kilzer  <ddkilzer@apple.com>
500
501         Follow-up: Fix undefined behavior in WTF::equal() in StringImpl.h for i386/x86_64
502         <http://webkit.org/b/130283>
503         <rdar://problem/16281477>
504
505         Reviewed by Darin Adler.
506
507         * wtf/text/StringImpl.h:
508         (WTF::loadUnaligned): Restore behavior prior to r165681 for
509         compilers other than clang.
510
511 2014-03-16  Darin Adler  <darin@apple.com>
512
513         Remove all uses of deprecatedCharacters from JavaScriptCore
514         https://bugs.webkit.org/show_bug.cgi?id=130304
515
516         Reviewed by Anders Carlsson.
517
518         * wtf/dtoa.h:
519         (WTF::parseDouble): Added an overload that takes a StringView.
520
521 2014-03-15  Darin Adler  <darin@apple.com>
522
523         Remove all uses of deprecatedCharacters from WebKit2
524         https://bugs.webkit.org/show_bug.cgi?id=130197
525
526         Reviewed by Andreas Kling.
527
528         * wtf/text/StringView.h: Added new getCharactersWithUpconvert and upconvertedCharacters
529         functions. These are useful for callers that need UTF-16.
530
531 2014-03-15  Darin Adler  <darin@apple.com>
532
533         Try to fix EFL build.
534
535         * wtf/ThreadingPthreads.cpp: (WTF::changeThreadPriority): Code in this function
536         was setting the priority of the current thread instead of the passed-in thread.
537         That was triggering an unused variable warning in the compiler used to build for
538         EFL. Fixed by using the thread handle instead of pthread_self.
539
540 2014-03-15  Michael Saboff  <msaboff@apple.com>
541
542         It should be possible to adjust DFG and FTL compiler thread priorities
543         https://bugs.webkit.org/show_bug.cgi?id=130288
544
545         Reviewed by Filip Pizlo.
546
547         Added ability to change thread priorities relative to its current priority.
548         Created options to adjust the priority of the DFG and FTL compilation work thread
549         pools.  For two core systems, there might be three runnable threads, the main thread,
550         the DFG compilation thread and the FTL compilation thread.  With the same priority,
551         the scheduler is free to schedule whatever thread it wants.  By lowering the
552         compilation threads, the main thread can run.  Further tests may suggest better values
553         for the new options, priorityDeltaOfDFGCompilerThreads and priorityDeltaOfFTLCompilerThreads.
554
555         For a two-core device, this change has a net positive improvement of 1-3% across
556         SunSpider, Octane, Kraken and AsmBench.
557
558         * wtf/Threading.h:
559         * wtf/ThreadingPthreads.cpp:
560         (WTF::changeThreadPriority):
561         * wtf/ThreadingWin.cpp:
562         (WTF::changeThreadPriority):
563
564 2014-03-15  David Kilzer  <ddkilzer@apple.com>
565
566         Fix undefined behavior in WTF::equal() in StringImpl.h for i386/x86_64
567         <http://webkit.org/b/130283>
568         <rdar://problem/16281477>
569
570         Reviewed by Geoff Garen.
571
572         * wtf/text/StringImpl.h:
573         (WTF::loadUnaligned): Add template method.
574         (WTF::equal): Switch to using loadUnaligned<>().
575
576 2014-03-14  Mark Rowe  <mrowe@apple.com>
577
578         Fix the production build.
579
580         Don't rely on USE_INTERNAL_SDK being set for the Production configuration since UseInternalSDK.xcconfig won't
581         be at the expected relative path when working from installed source.
582
583         * Configurations/Base.xcconfig:
584
585 2014-03-14  Maciej Stachowiak  <mjs@apple.com>
586
587         Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers
588         https://bugs.webkit.org/show_bug.cgi?id=130276
589         <rdar://problem/16266927>
590         
591         Reviewed by Simon Fraser.
592
593         * wtf/ASCIICType.h:
594         * wtf/AVLTree.h:
595         * wtf/Assertions.cpp:
596         * wtf/Assertions.h:
597         * wtf/Atomics.cpp:
598         * wtf/Atomics.h:
599         * wtf/AutodrainedPool.h:
600         * wtf/AutodrainedPoolMac.mm:
601         * wtf/BoundsCheckedPointer.h:
602         * wtf/CryptographicUtilities.cpp:
603         * wtf/CryptographicallyRandomNumber.h:
604         * wtf/CurrentTime.h:
605         * wtf/Deque.h:
606         * wtf/DisallowCType.h:
607         * wtf/ExportMacros.h:
608         * wtf/FeatureDefines.h:
609         * wtf/GetPtr.h:
610         * wtf/HashIterators.h:
611         * wtf/Locker.h:
612         * wtf/MainThread.cpp:
613         * wtf/MainThread.h:
614         * wtf/MathExtras.h:
615         * wtf/MediaTime.cpp:
616         * wtf/MediaTime.h:
617         * wtf/MessageQueue.h:
618         * wtf/MetaAllocator.cpp:
619         * wtf/MetaAllocator.h:
620         * wtf/MetaAllocatorHandle.h:
621         * wtf/OSRandomSource.cpp:
622         * wtf/OSRandomSource.h:
623         * wtf/Platform.h:
624         * wtf/RandomNumber.cpp:
625         * wtf/RandomNumber.h:
626         * wtf/RandomNumberSeed.h:
627         * wtf/RedBlackTree.h:
628         * wtf/RunLoopTimer.h:
629         * wtf/RunLoopTimerCF.cpp:
630         * wtf/SchedulePair.h:
631         * wtf/SchedulePairCF.cpp:
632         * wtf/SchedulePairMac.mm:
633         * wtf/SegmentedVector.h:
634         * wtf/StackBounds.h:
635         * wtf/StaticConstructors.h:
636         * wtf/StringExtras.h:
637         * wtf/ThreadFunctionInvocation.h:
638         * wtf/ThreadSafeRefCounted.h:
639         * wtf/ThreadSpecific.h:
640         * wtf/Threading.h:
641         * wtf/ThreadingPrimitives.h:
642         * wtf/ThreadingPthreads.cpp:
643         * wtf/ThreadingWin.cpp:
644         * wtf/WTFThreadData.cpp:
645         * wtf/WTFThreadData.h:
646         * wtf/efl/OwnPtrEfl.cpp:
647         * wtf/mac/MainThreadMac.mm:
648         * wtf/text/AtomicStringHash.h:
649         * wtf/text/AtomicStringImpl.h:
650         * wtf/text/Base64.h:
651         * wtf/text/CString.cpp:
652         * wtf/text/CString.h:
653         * wtf/text/LChar.h:
654         * wtf/text/cf/StringCF.cpp:
655         * wtf/text/mac/StringMac.mm:
656         * wtf/unicode/CharacterNames.h:
657         * wtf/unicode/Collator.h:
658         * wtf/unicode/CollatorDefault.cpp:
659         * wtf/unicode/UTF8.cpp:
660         * wtf/unicode/UTF8.h:
661         * wtf/unicode/icu/CollatorICU.cpp:
662         * wtf/win/MainThreadWin.cpp:
663
664 2014-03-14  Byungseon Shin  <sun.shin@lge.com>
665
666         Incorrect Date returned between March 1, 2034 and February 28, 2100.
667         https://bugs.webkit.org/show_bug.cgi?id=130123
668
669         Reviewed by Mark Lam.
670
671         Fix logic by using predefined Date APIs.
672
673         * wtf/DateMath.cpp:
674         (WTF::ymdhmsToSeconds):
675
676 2014-03-12  Sergio Villar Senin  <svillar@igalia.com>
677
678         Rename DEFINE_STATIC_LOCAL to DEPRECATED_DEFINE_STATIC_LOCAL
679         https://bugs.webkit.org/show_bug.cgi?id=129612
680
681         Reviewed by Darin Adler.
682
683         For new code use static NeverDestroyed<T> instead.
684
685         * wtf/RunLoop.cpp:
686         (WTF::RunLoop::current):
687         * wtf/StdLibExtras.h:
688         * wtf/ThreadingPthreads.cpp:
689         (WTF::threadMapMutex):
690         (WTF::threadMap):
691         * wtf/efl/MainThreadEfl.cpp:
692         (WTF::pipeObject):
693         * wtf/text/StringStatics.cpp:
694         (WTF::StringImpl::empty):
695
696 2014-03-13  Radu Stavila  <stavila@adobe.com>
697
698         Webkit not building on XCode 5.1 due to garbage collection no longer being supported
699         https://bugs.webkit.org/show_bug.cgi?id=130087
700
701         Reviewed by Mark Rowe.
702
703         Disable garbage collection on macosx when not using internal SDK.
704
705         * Configurations/Base.xcconfig:
706
707 2014-03-12  Ryuan Choi  <ryuan.choi@samsung.com>
708
709         [EFL] Enable Parallel GC
710         https://bugs.webkit.org/show_bug.cgi?id=130177
711
712         Reviewed by Geoffrey Garen.
713
714         * wtf/Platform.h: Turn on ENABLE_PARALLEL_GC for the EFL build.
715
716 2014-03-12  Joseph Pecoraro  <pecoraro@apple.com>
717
718         Web Inspector: Disable REMOTE_INSPECTOR in earlier OS X releases
719         https://bugs.webkit.org/show_bug.cgi?id=130118
720
721         Reviewed by Timothy Hatcher.
722
723         * wtf/FeatureDefines.h:
724
725 2014-03-11  Brent Fulgham  <bfulgham@apple.com>
726
727         [Win] Unreviewed gardening.
728
729         * wtf/MathExtras.h: VS2013 provides an lrint implementation. No need to implement
730         our own.
731
732 2014-03-10  Jer Noble  <jer.noble@apple.com>
733
734         Improve WeakPtr operators.
735         https://bugs.webkit.org/show_bug.cgi?id=130053
736
737         Reviewed by Andreas Kling.
738
739         Replace the "operator!()" with an explicit bool operator.  Add an "operator->()".
740
741         * wtf/WeakPtr.h:
742         (WTF::WeakPtr::operator bool):
743         (WTF::WeakPtr::operator->):
744
745 2014-03-10  Brent Fulgham  <bfulgham@apple.com>
746
747         [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
748         https://bugs.webkit.org/show_bug.cgi?id=130023.
749
750         Reviewed by Dean Jackson.
751
752         * WTF.vcxproj/WTF.proj: Avoid putting trailing slashes in system paths to avoid
753         escaping during later string substitution.
754         * WTF.vcxproj/build-generated-files.sh: Accept environment values passed by VS.
755
756 2014-03-10  Mark Hahnenberg  <mhahnenberg@apple.com>
757
758         Turn on GenGC on other 64-bit platforms
759         https://bugs.webkit.org/show_bug.cgi?id=129258
760
761         Reviewed by Oliver Hunt.
762
763         * wtf/Platform.h: 
764
765 2014-03-07  peavo@outlook.com  <peavo@outlook.com>
766
767         [Win64] Compile error after r165128.
768         https://bugs.webkit.org/show_bug.cgi?id=129807
769
770         Reviewed by Mark Lam.
771
772         * wtf/Platform.h: MSVC does not support computed goto.
773         Also enabled COMPUTED_GOTO_OPCODES when !ENABLE(LLINT_C_LOOP). This is needed because the ASM LLINT operates like COMPUTED_GOTO_OPCODES,
774         and relies on the related data structures being defined to support this. On Win32, the platform does not HAVE_COMPUTED_GOTO support,
775         but does want ENABLE_COMPUTED_GOTO_OPCODES because it uses the ASM LLINT.
776
777 2014-03-06  Michael Saboff  <msaboff@apple.com>
778
779         JSC should disable the JIT when building for ARMv7k
780         https://bugs.webkit.org/show_bug.cgi?id=129829
781
782         Reviewed by Oliver Hunt.
783
784         Added WTF_CPU_APPLE_ARMV7K CPU define.  Disabled the JITs when
785         that feature define is set.
786
787         * wtf/Platform.h:
788
789 2014-03-06  Filip Pizlo  <fpizlo@apple.com>
790
791         Use the LLVM disassembler on ARM64 if we are enabling the FTL
792         https://bugs.webkit.org/show_bug.cgi?id=129785
793
794         Reviewed by Geoffrey Garen.
795
796         * wtf/Platform.h:
797
798 2014-03-05  peavo@outlook.com  <peavo@outlook.com>
799
800         [Win32][LLINT] Crash when running JSC stress tests.
801         https://bugs.webkit.org/show_bug.cgi?id=129429
802
803         Reviewed by Geoffrey Garen.
804
805         * wtf/Platform.h: Enable LLINT on Win32.
806
807 2014-03-04  Zan Dobersek  <zdobersek@igalia.com>
808
809         [GTK] Build the Udis86 disassembler
810         https://bugs.webkit.org/show_bug.cgi?id=129679
811
812         Reviewed by Michael Saboff.
813
814         * wtf/Platform.h: Also enable the Udis86 disassembler for the GTK port on Linux.
815
816 2014-03-02  Jaehun Lim  <ljaehun.lim@samsung.com>
817
818         [EFL] Remove m_initEfl from RunLoop.
819         https://bugs.webkit.org/show_bug.cgi?id=129568
820
821         Reviewed by Gyuyoung Kim.
822
823         We don't use m_initEfl except RunLoop constructor.
824
825         * wtf/RunLoop.h:
826         * wtf/efl/RunLoopEfl.cpp:
827         (WTF::RunLoop::RunLoop):
828
829 2014-03-02  Darin Adler  <darin@apple.com>
830
831         Cut down use of OwnPtr within WTF itself
832         https://bugs.webkit.org/show_bug.cgi?id=129567
833
834         Reviewed by Sam Weinig.
835
836         * wtf/RefCounted.h: Removed OwnPtr includes.
837
838         * wtf/StreamBuffer.h: Removed OwnPtr includes and switched to use
839         std::make_unique and std::unique_ptr instead.
840
841         * wtf/Threading.cpp: Removed OwnPtr includes.
842         * wtf/ThreadingPthreads.cpp: Ditto.
843         * wtf/Vector.h: Ditto.
844
845 2014-02-26  Gavin Barraclough  <barraclough@apple.com>
846
847         FastMalloc should use vm_page_shift intead of PAGE_SHIFT.
848         https://bugs.webkit.org/show_bug.cgi?id=129370
849
850         Reviewed by Mark Rowe.
851
852         "Doesn't this lead to the page map using fewer bits than it was before?
853         It seems like this will cause some page addresses to no longer be
854         representable in the map when using 4K pages. Am I missing something?"
855
856         * wtf/FastMalloc.cpp:
857             - bdash raises a valid point. This should make the TCMalloc_PageMap
858               larger than absolutely necessary, rather than potentially too small.
859
860 2014-02-25  Gavin Barraclough  <barraclough@apple.com>
861
862         FastMalloc should use vm_page_shift intead of PAGE_SHIFT.
863         https://bugs.webkit.org/show_bug.cgi?id=129370
864
865         Reviewed by Geoff Garen.
866
867         Previously we used PAGE_SHIFT to initialize kPageShift.
868         Since this was a constant, it could be used to calculate other
869         contants used in the code. Some of these values are used in the
870         definition of certain data structures (specifiying the length of
871         some array members).
872
873         Make kPageShift & dependent properties variables setup during
874         initialization. Add upper bound values (K_PAGE_SHIFT_MAX,
875         K_NUM_CLASSES_MAX) for use in cases where we need a constant.
876
877         * wtf/FastMalloc.cpp:
878         (WTF::InitSizeClasses):
879             - initialize kPageShift, kNumClasses, kPageSize, kMaxValidPages.
880         (WTF::pages):
881             - added ASSERT.
882         (WTF::AllocationSize):
883             - added ASSERT.
884         (WTF::TCMalloc_PageHeap::FreeBytes):
885             - added ASSERT.
886         (WTF::TCMalloc_PageHeap::init):
887             - COMPILE_ASSERT -> ASSERT
888         (WTF::TCMalloc_PageHeap::scavenge):
889             - added ASSERT.
890         (WTF::TCMalloc_PageHeap::Carve):
891             - added ASSERT.
892         (WTF::mergeDecommittedStates):
893             - added ASSERT.
894         (WTF::TCMalloc_PageHeap::IncrementalScavenge):
895             - added ASSERT.
896         (WTF::TCMalloc_PageHeap::ReturnedBytes):
897             - added ASSERT.
898         (WTF::PagesToMB):
899             - added ASSERT.
900         (WTF::TCMalloc_PageHeap::GrowHeap):
901             - added ASSERT.
902         (WTF::TCMalloc_PageHeap::ReleaseFreeList):
903             - kNumClasses -> K_NUM_CLASSES_MAX
904         (WTF::TCMalloc_ThreadCache::enumerateFreeObjects):
905             - added ASSERT.
906         (WTF::TCMalloc_Central_FreeList::Init):
907             - added ASSERT.
908         (WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
909             - added ASSERT.
910         (WTF::TCMalloc_Central_FreeList::EvictRandomSizeClass):
911             - added ASSERT.
912         (WTF::TCMalloc_Central_FreeList::MakeCacheSpace):
913             - added ASSERT.
914         (WTF::TCMalloc_Central_FreeList::InsertRange):
915             - added ASSERT.
916         (WTF::TCMalloc_Central_FreeList::Populate):
917             - added ASSERT.
918         (WTF::TCMalloc_ThreadCache::Init):
919             - added ASSERT.
920         (WTF::TCMalloc_ThreadCache::Cleanup):
921             - added ASSERT.
922         (WTF::TCMalloc_ThreadCache::Scavenge):
923             - added ASSERT.
924         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
925             - added ASSERT.
926
927 2014-02-24  Alex Christensen  <achristensen@webkit.org>
928
929         Disabled WebGL on WinCairo.
930
931         Unreviewed.
932
933         * wtf/FeatureDefines.h:
934         Removed ENABLE_WEBGL definition for WinCairo port.
935         WebGL has not worked on WinCairo since r163079
936         and it was not compiling with a recent ANGLE update.
937
938 2014-02-24  Mark Hahnenberg  <mhahnenberg@apple.com>
939
940         Turn GenGC on for 32-bit systems
941         https://bugs.webkit.org/show_bug.cgi?id=128824
942
943         Reviewed by Geoffrey Garen.
944
945         * wtf/Platform.h:
946
947 2014-02-21  Benjamin Poulain  <benjamin@webkit.org>
948
949         jsDocumentPrototypeFunctionGetElementById should not create an AtomicString for the function argument
950         https://bugs.webkit.org/show_bug.cgi?id=128893
951
952         Reviewed by Darin Adler.
953
954         AtomicString::find() is a special case optimized for the JavaScript bindings. The method can only
955         be called under specific conditions.
956         The method is renamed to findStringWithHash().
957
958         The new AtomicString::find is generic and does not require any propery on the input.
959
960         * wtf/text/AtomicString.cpp:
961         (WTF::AtomicString::findStringWithHash):
962         (WTF::AtomicString::findSlowCase):
963         * wtf/text/AtomicString.h:
964         (WTF::AtomicString::find):
965
966 2014-02-20  Csaba Osztrogonác  <ossy@webkit.org>
967
968         Add StackStats sources to cmake and autotools build files
969         https://bugs.webkit.org/show_bug.cgi?id=129103
970
971         Reviewed by Anders Carlsson.
972
973         * GNUmakefile.list.am:
974         * wtf/CMakeLists.txt:
975
976 2014-02-20  Csaba Osztrogonác  <ossy@webkit.org>
977
978         Get rid of redundant Platform.h includes
979         https://bugs.webkit.org/show_bug.cgi?id=128817
980
981         Reviewed by Brent Fulgham.
982
983         * wtf/Assertions.h:
984         * wtf/Atomics.h:
985         * wtf/ByteOrder.h:
986         * wtf/DataLog.h:
987         * wtf/DisallowCType.h:
988         * wtf/DynamicAnnotations.h:
989         * wtf/ExportMacros.h:
990         * wtf/FastMalloc.h:
991         * wtf/FlipBytes.h:
992         * wtf/InlineASM.h:
993         * wtf/PrintStream.h:
994         * wtf/ProcessID.h:
995         * wtf/Threading.h:
996         * wtf/ThreadingPrimitives.h:
997
998 2014-02-19  Jon Honeycutt  <jhoneycutt@apple.com>
999
1000         Crash in WTF::StringBuilder::append()
1001
1002         https://bugs.webkit.org/show_bug.cgi?id=125817
1003         <rdar://problem/15671883>
1004
1005         Reviewed by Oliver Hunt.
1006
1007         * wtf/text/StringBuilder.cpp:
1008         (WTF::expandedCapacity):
1009         Ensure that we return a new capacity of at least 'requiredLength' in
1010         the case where requiredLength is large. Also, use unsigned rather than
1011         size_t for the parameters and the return value, as callers pass
1012         unsigned arguments and treat the result as an unsigned int.
1013
1014 2014-02-19  Anders Carlsson  <andersca@apple.com>
1015
1016         Add WTF_MAKE_FAST_ALLOCATED to more classes
1017         https://bugs.webkit.org/show_bug.cgi?id=129064
1018
1019         Reviewed by Andreas Kling.
1020
1021         * wtf/Bitmap.h:
1022
1023 2014-02-19  Zan Dobersek  <zdobersek@igalia.com>
1024
1025         Make PrintStream::print() a variadic template
1026         https://bugs.webkit.org/show_bug.cgi?id=126388
1027
1028         Reviewed by Brent Fulgham.
1029
1030         PrintStream::print() can be converted into a variadic template, printing the value
1031         of the first parameter and recursively calling itself until the single parameter version
1032         is used for printing the last value.
1033
1034         * wtf/DataLog.h:
1035         (WTF::dataLog): Convert the function to a variadic template as well.
1036         * wtf/PrintStream.h:
1037         (WTF::PrintStream::print):
1038         * wtf/StringPrintStream.h:
1039         (WTF::toCString): Ditto.
1040         (WTF::toString): Ditto.
1041
1042 2014-02-19  Zan Dobersek  <zdobersek@igalia.com>
1043
1044         Use std::swap() in HashTable::swap()
1045         https://bugs.webkit.org/show_bug.cgi?id=128995
1046
1047         Reviewed by Brent Fulgham.
1048
1049         Use std::swap() to swap the member variable values of two HashTable objects in HashTable::swap().
1050
1051         * wtf/HashTable.h:
1052         (WTF::KeyTraits>::swap):
1053
1054 2014-02-19  Zan Dobersek  <zdobersek@igalia.com>
1055
1056         SegmentedVector::append() should take in rvalue reference, forward it to Vector::uncheckedAppend()
1057         https://bugs.webkit.org/show_bug.cgi?id=128996
1058
1059         Reviewed by Brent Fulgham.
1060
1061         * wtf/SegmentedVector.h:
1062         (WTF::SegmentedVector::append): Take in an rvalue reference of the object that's to be appended and
1063         then forward it to Vector::uncheckedAppend(). This avoids unnecessary copies in the current situation
1064         where a const lvalue is accepted and passed on.
1065
1066 2014-02-19  Dan Bernstein  <mitz@apple.com>
1067
1068         Simplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions
1069         https://bugs.webkit.org/show_bug.cgi?id=129029
1070
1071         Reviewed by Mark Rowe.
1072
1073         * wtf/FeatureDefines.h:
1074         * wtf/Platform.h:
1075         * wtf/Threading.cpp:
1076         * wtf/text/cf/StringImplCF.cpp:
1077         (garbageCollectionEnabled):
1078
1079 2014-02-18  Dan Bernstein  <mitz@apple.com>
1080
1081         PLATFORM(MAC) is true when building for iOS
1082         https://bugs.webkit.org/show_bug.cgi?id=129025
1083
1084         Reviewed by Mark Rowe.
1085
1086         * wtf/Platform.h: Changed to define WTF_PLATFORM_MAC only on when building for OS X (but
1087         still not when WTF_PLATFORM_GTK or WTF_PLATFORM_EFL are defined).
1088
1089 2014-02-18  Joseph Pecoraro  <pecoraro@apple.com>
1090
1091         [iOS] Web Inspector: JSContext inspection crashes in isMainThread, uninitialized WebCoreWebThreadIsLockedOrDisabled
1092         https://bugs.webkit.org/show_bug.cgi?id=128959
1093
1094         Reviewed by David Kilzer.
1095
1096         When JavaScriptCore is used without WebCore on iOS (e.g. JSContext)
1097         the WebCoreWebThread* functions will not be initialized. Avoid
1098         calling the function pointer if it is uninitialized. This was
1099         happening with remote inspection via StringImpl::createCFString
1100         for implicit NSString / WTFString conversion which uses isMainThread.
1101
1102         * wtf/mac/MainThreadMac.mm:
1103         (WTF::webThreadIsUninitializedOrLockedOrDisabled):
1104         (WTF::isMainThread):
1105         (WTF::canAccessThreadLocalDataForThread):
1106
1107 2014-02-17  Filip Pizlo  <fpizlo@apple.com>
1108
1109         More ARM FTL glue
1110         https://bugs.webkit.org/show_bug.cgi?id=128948
1111
1112         Reviewed by Sam Weinig.
1113
1114         * wtf/Platform.h:
1115
1116 2014-02-17  Anders Carlsson  <andersca@apple.com>
1117
1118         Remove ENABLE_GLOBAL_FASTMALLOC_NEW
1119         https://bugs.webkit.org/show_bug.cgi?id=127067
1120
1121         Reviewed by Geoffrey Garen.
1122
1123         Remove the global operator new/operator delete overrides. Having ALWAYS_INLINE operators
1124         like we do is really undefined behavior according to the C++ standard and we've been lucky enough
1125         to get away with it so far, but any code that calls operator new/operator delete inside from the C++ standard
1126         library (not from headers that are included) will be mismatched and potentially crash. libc++ calls
1127         delete in it's std::thread implementation for example.
1128         
1129         The only supported way to override operator new and operator delete globally is to not use inline
1130         functions, but that would mean that any application using WebKit would not be able to provide custom
1131         operator new/operator delete functions so we'll just reuse the already existing infrastructure consisting
1132         of the WTF_MAKE_FAST_ALLOCATED macro.
1133
1134         * wtf/FastMalloc.cpp:
1135         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1136         * wtf/FastMalloc.h:
1137         * wtf/Platform.h:
1138
1139 2014-02-17  Ryan Lortie  <desrt@desrt.ca>
1140
1141         Enable DFG_JIT on FreeBSD
1142         https://bugs.webkit.org/show_bug.cgi?id=128898
1143
1144         Reviewed by Csaba Osztrogonác.
1145
1146         * wtf/Platform.h:
1147
1148 2014-02-15  Filip Pizlo  <fpizlo@apple.com>
1149
1150         FTL should inline polymorphic heap accesses
1151         https://bugs.webkit.org/show_bug.cgi?id=128795
1152
1153         Reviewed by Oliver Hunt.
1154
1155         * wtf/PrintStream.h:
1156         (WTF::PointerDumpInContext::PointerDumpInContext):
1157         (WTF::PointerDumpInContext::dump):
1158         (WTF::pointerDumpInContext):
1159
1160 2014-02-16  Zan Dobersek  <zdobersek@igalia.com>
1161
1162         Reintroduce const qualifiers for return types of (Filter|Transform)Iterator::operator*()
1163         https://bugs.webkit.org/show_bug.cgi?id=126875
1164
1165         The const qualifiers for the return types of FilterIterator::operator*() and TransformIterator::operator*()
1166         were removed in r161797 and r161802 because of compilation failures when using GCC and having an Iterator
1167         type that already had the const qualifier. std::remove_const is now used to appease GCC and enforce the const
1168         qualifier on the return type, regardless of the Iterator type and its qualifiers.
1169
1170         * wtf/IteratorAdaptors.h:
1171         (WTF::FilterIterator::operator*):
1172         (WTF::TransformIterator::operator*):
1173
1174 2014-02-15  Filip Pizlo  <fpizlo@apple.com>
1175
1176         Vector with inline capacity should work with non-PODs
1177         https://bugs.webkit.org/show_bug.cgi?id=128864
1178
1179         Reviewed by Michael Saboff.
1180         
1181         Previously, we would copy the inline storage of a vector as if it was a bag of bits.
1182         This presumed that the element type was relocatable. In general this is only true for
1183         PODs.
1184         
1185         This patch changes this by introducing a swap operation over inline storage. This swap
1186         operation requires being told about the size that is in use.
1187         
1188         Deques would have required some cleverness to make this work, because the swap
1189         operation needs to know which subset of elements are in-use and assumes that a size is
1190         sufficient for this. That's not true for deques. Instead of trying to do very clever
1191         things, I just removed the inline capacity option from Deque. I believe that this is
1192         fine since there are only two users of Deque with inline capacity, and both of them
1193         appear to be allocated rarely enough that inline capacity probably doesn't help much.
1194
1195         * wtf/Deque.h:
1196         (WTF::DequeIterator::DequeIterator):
1197         (WTF::DequeConstIterator::DequeConstIterator):
1198         (WTF::Deque<T>::checkValidity):
1199         (WTF::Deque<T>::checkIndexValidity):
1200         (WTF::Deque<T>::invalidateIterators):
1201         (WTF::Deque<T>::Deque):
1202         (WTF::=):
1203         (WTF::Deque<T>::destroyAll):
1204         (WTF::Deque<T>::~Deque):
1205         (WTF::Deque<T>::swap):
1206         (WTF::Deque<T>::clear):
1207         (WTF::Deque<T>::expandCapacityIfNeeded):
1208         (WTF::Deque<T>::expandCapacity):
1209         (WTF::Deque<T>::append):
1210         (WTF::Deque<T>::prepend):
1211         (WTF::Deque<T>::removeFirst):
1212         (WTF::Deque<T>::removeLast):
1213         (WTF::Deque<T>::remove):
1214         (WTF::DequeIteratorBase<T>::checkValidity):
1215         (WTF::DequeIteratorBase<T>::addToIteratorsList):
1216         (WTF::DequeIteratorBase<T>::removeFromIteratorsList):
1217         (WTF::DequeIteratorBase<T>::DequeIteratorBase):
1218         (WTF::DequeIteratorBase<T>::~DequeIteratorBase):
1219         (WTF::DequeIteratorBase<T>::isEqual):
1220         (WTF::DequeIteratorBase<T>::increment):
1221         (WTF::DequeIteratorBase<T>::decrement):
1222         (WTF::DequeIteratorBase<T>::after):
1223         (WTF::DequeIteratorBase<T>::before):
1224         * wtf/Vector.h:
1225         (WTF::VectorBuffer::swap):
1226         (WTF::VectorBuffer::swapInlineBuffer):
1227         (WTF::VectorBuffer::swapInlineBuffers):
1228         (WTF::Vector::swap):
1229
1230 2014-02-15  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1231
1232         Remove 'static' specifier from free inline functions in StringImpl.h
1233         https://bugs.webkit.org/show_bug.cgi?id=118554
1234
1235         Reviewed by Darin Adler.
1236
1237         At first 'static' does not bring any use here, secondly static free
1238         inline functions in headers is a bad practice in general as each instance
1239         of function defined as inline is treated as a separate function and each
1240         instance has its own copy of static locals and string literals.
1241
1242         * wtf/text/StringImpl.h:
1243         (WTF::codePointCompare):
1244         (WTF::codePointCompare8):
1245         (WTF::codePointCompare16):
1246         (WTF::codePointCompare8To16):
1247         (WTF::isSpaceOrNewline):
1248
1249 2014-02-14  Benjamin Poulain  <bpoulain@apple.com>
1250
1251         Improve the performance on mobile of FTPDirectoryDocument
1252         https://bugs.webkit.org/show_bug.cgi?id=128778
1253
1254         Reviewed by Antti Koivisto.
1255
1256         * wtf/text/WTFString.h:
1257         (WTF::String::endsWith): add a missing overload.
1258
1259 2014-02-14  Wojciech Bielawski  <w.bielawski@samsung.com>
1260
1261         (try)append and insert operations don't need new operator for PODs
1262         https://bugs.webkit.org/show_bug.cgi?id=128185
1263
1264         Reviewed by Darin Adler.
1265
1266         Vector's methods use VectorCopier to copy data.
1267         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.
1268
1269         * wtf/Vector.h:
1270         (WTF::OverflowHandler>::append): use VectorCopier to copy data.
1271         (WTF::OverflowHandler>::tryAppend): use VectorCopier to copy data.
1272         (WTF::OverflowHandler>::insert): use VectorCopier to copy data.
1273
1274 2014-02-13  Daniel Bates  <dabates@apple.com>
1275
1276         Fix the iOS build after <http://trac.webkit.org/changeset/164064
1277
1278         * wtf/Platform.h:
1279
1280 2014-02-13  Daniel Bates  <dabates@apple.com>
1281
1282         [iOS] Disable HAVE_ARM_NEON_INTRINSICS
1283
1284         For now, disable HAVE_ARM_NEON_INTRINSICS when building for iOS. We want
1285         to audit the applicable code before we enable this define.
1286
1287         * wtf/Platform.h:
1288
1289 2014-02-11  Filip Pizlo  <fpizlo@apple.com>
1290
1291         Hoist and combine array bounds checks
1292         https://bugs.webkit.org/show_bug.cgi?id=125433
1293
1294         Reviewed by Mark Hahnenberg.
1295
1296         * GNUmakefile.list.am:
1297         * WTF.vcxproj/WTF.vcxproj:
1298         * WTF.xcodeproj/project.pbxproj:
1299         * wtf/CMakeLists.txt:
1300         * wtf/HashMethod.h: Added.
1301         (WTF::HashMethod::operator()):
1302
1303 2014-02-13  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
1304
1305         Code cleanup: remove gcc<4.7 guards.
1306         https://bugs.webkit.org/show_bug.cgi?id=128729
1307
1308         Reviewed by Anders Carlsson.
1309
1310         Remove GCC_VERSION_AT_LEAST guards when it checks for pre-4.7 versions,
1311         as WK does not compile with earlier gcc versions.
1312
1313         * wtf/Assertions.cpp:
1314         * wtf/Platform.h:
1315
1316 2014-02-12  Mark Lam  <mark.lam@apple.com>
1317
1318         No need to save reservedZoneSize when dropping the JSLock.
1319         <https://webkit.org/b/128719>
1320
1321         Reviewed by Geoffrey Garen.
1322
1323         * wtf/WTFThreadData.cpp:
1324         (WTF::WTFThreadData::WTFThreadData):
1325         * wtf/WTFThreadData.h:
1326         - removed unnneeded m_savedReservedZoneSize.
1327
1328 2014-02-11  Mark Hahnenberg  <mhahnenberg@apple.com>
1329
1330         32-bit LLInt writeBarrierOnGlobalObject is wrong
1331         https://bugs.webkit.org/show_bug.cgi?id=128556
1332
1333         Reviewed by Geoffrey Garen.
1334
1335         * wtf/Platform.h: Removed OBJECT_MARK_LOGGING from Platform.h since it already exists in FeatureDefines.h
1336
1337 2014-02-11  peavo@outlook.com  <peavo@outlook.com>
1338
1339         [WinCairo] Compile error, deleted file in WTF.
1340         https://bugs.webkit.org/show_bug.cgi?id=128601
1341
1342         Reviewed by Csaba Osztrogonác.
1343
1344         * WTF.vcxproj/WTF.vcxproj: Removed reference to deleted file.
1345         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
1346
1347 2014-02-10  Michael Saboff  <msaboff@apple.com>
1348
1349         Re-enable ARM Thumb2 disassembler
1350         https://bugs.webkit.org/show_bug.cgi?id=128577
1351
1352         Reviewed by Filip Pizlo.
1353
1354         Added definition of WTF_USE_ARMV7_DISASSEMBLER back to Platform.h
1355
1356         * wtf/Platform.h:
1357
1358 2014-02-10  Benjamin Poulain  <benjamin@webkit.org>
1359
1360         Add the basic infrastructure to compile attributes matching in selectors
1361         https://bugs.webkit.org/show_bug.cgi?id=128484
1362
1363         Reviewed by Gavin Barraclough.
1364
1365         * wtf/Vector.h:
1366         (WTF::VectorBufferBase::bufferMemoryOffset):
1367         (WTF::Vector::sizeMemoryOffset):
1368         (WTF::Vector::dataMemoryOffset):
1369         Expose the memory offsets of Vector::size() and the memory buffer pointer for the JIT.
1370
1371 2014-02-10  Enrica Casucci  <enrica@apple.com>
1372
1373         copyShortASCIIString crashes on iOS after r163793.
1374         https://bugs.webkit.org/show_bug.cgi?id=128548.
1375
1376         Reviewed by Alexey Proskuryakov.
1377
1378         Adding null check.
1379
1380         * wtf/unicode/icu/CollatorICU.cpp:
1381         (WTF::copyShortASCIIString):
1382
1383 2014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
1384
1385         [GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
1386         https://bugs.webkit.org/show_bug.cgi?id=127554
1387
1388         Reviewed by Gustavo Noronha Silva.
1389
1390         GUniqueOutPtr is a simplified version of GOwnPtr for the cases
1391         where we need the address of the contained pointer. GUniqueOutPtr
1392         uses GUniquePtr to free the contained object and to release the
1393         container pointer. The API is very simple to make sure this is
1394         only used when outPtr() is needed. It can't be constructed with a
1395         pointer, and there's not method to set a new pointer. Another
1396         difference with the old GOwnPtr is that outPtr() can be used
1397         multiple times, because it frees any pointer previously set.
1398
1399         * GNUmakefile.list.am:
1400         * wtf/PlatformEfl.cmake:
1401         * wtf/PlatformGTK.cmake:
1402         * wtf/gobject/GOwnPtr.cpp: Removed.
1403         * wtf/gobject/GOwnPtr.h: Removed.
1404         * wtf/gobject/GUniquePtr.h:
1405         (WTF::GUniqueOutPtr::GUniqueOutPtr):
1406         (WTF::GUniqueOutPtr::~GUniqueOutPtr):
1407         (WTF::GUniqueOutPtr::outPtr):
1408         (WTF::GUniqueOutPtr::reset):
1409         (WTF::GUniqueOutPtr::release):
1410         (WTF::GUniqueOutPtr::operator*):
1411         (WTF::GUniqueOutPtr::operator->):
1412         (WTF::GUniqueOutPtr::get):
1413         (WTF::GUniqueOutPtr::operator!):
1414         (WTF::GUniqueOutPtr::operator UnspecifiedBoolType):
1415
1416 2014-02-10  Darin Adler  <darin@apple.com>
1417
1418         Stop using String::deprecatedCharacters to call WTF::Collator
1419         https://bugs.webkit.org/show_bug.cgi?id=128517
1420
1421         WTF passes ICU’s deprecated ULOC_REQUESTED_LOCALE to ucol_getLocaleByType()
1422         rdar://problem/15183390
1423
1424         Reviewed by Alexey Proskuryakov.
1425
1426         This patch fixes both bugs above by reworking WTF::Collator.
1427
1428         * wtf/unicode/Collator.h: Fixed formatting. Got rid of the Collator::Result type,
1429         since the collator uses the same return value scheme as strcmp and as ICU; an int
1430         will do for the return type. Simplified the support for UCONFIG_NO_COLLATION by
1431         using a separate copy of the class definition. (We should check if anyone needs
1432         UCONFIG_NO_COLLATION support, and remove it if not.) Changed the lower-first flag
1433         from a separate function to a constructor argument. Changed the arguments to
1434         the collate function to StringView. Added a collate UTF8 function. Changed the
1435         m_collate data member to no longer be mutable since we no longer allocate it lazily.
1436
1437         * wtf/unicode/CollatorDefault.cpp:
1438         (WTF::Collator::collate): Rewrote to be simpler.
1439         (WTF::Collator::collateUTF8): Added. Converts from UTF-8 to a String and then calls
1440         the collate function above.
1441
1442         * wtf/unicode/icu/CollatorICU.cpp: Added a FIXME about the fact that this file
1443         has the wrong name and location. Since we always use ICU, there's no need to mention
1444         it in the file name.
1445         (WTF::copyASCIIString): Added.
1446         (WTF::copyDefaultLocale): Added.
1447         (WTF::resolveDefaultLocale): Added. Maps null locale to a default on Mac and iOS,
1448         since on those platforms ICU does not use the correct default locale when passed null.
1449         (WTF::localesMatch): Added.
1450         (WTF::Collator::Collator): Moved most of the code from createCollator here.
1451         Simplified it by storing the collator configuration along with the collator in globals.
1452         (WTF::Collator::~Collator): Moved most of the code from releaseCollator here.
1453         (WTF::getIndexLatin1): Added.
1454         (WTF::moveLatin1): Added.
1455         (WTF::hasNextLatin1): Added.
1456         (WTF::hasPreviousLatin1): Added.
1457         (WTF::currentLatin1): Added.
1458         (WTF::nextLatin1): Added.
1459         (WTF::previousLatin1): Added.
1460         (WTF::getStateLatin1): Added.
1461         (WTF::setStateLatin1): Added.
1462         (WTF::createLatin1Iterator): Added. Uses the functions above to make a UCharIterator
1463         that works for a WTF::StringView-style Latin-1 string.
1464         (WTF::createIterator): Added. Uses either createLatin1Iterator or uiter_setString to
1465         make a UCharIterator that works for a WTF::StringView.
1466         (WTF::Collator::collate): Changed to use ucol_strcollIter.
1467         (WTF::createIteratorUTF8): Added. Uses uiter_setUTF8.
1468         (WTF::Collator::collateUTF8): Added. Like collate, but for null-terminated UTF-8 strings.
1469
1470 2014-02-10  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
1471
1472         Code cleanup: Remove BUILDING_ON / TARGETING definitions.
1473         https://bugs.webkit.org/show_bug.cgi?id=128242
1474
1475         Reviewed by Brent Fulgham.
1476
1477         The BUILDING_ON_* and TARGETING_* macros have not been used for a while.
1478         According to the FIXME: they are removed.
1479
1480         * wtf/Platform.h:
1481
1482 2014-02-09  Anders Carlsson  <andersca@apple.com>
1483
1484         Add WTF_MAKE_FAST_ALLOCATED to more classes
1485         https://bugs.webkit.org/show_bug.cgi?id=128506
1486
1487         Reviewed by Andreas Kling.
1488
1489         * wtf/Bag.h:
1490         * wtf/ListHashSet.h:
1491
1492 2014-02-08  Anders Carlsson  <andersca@apple.com>
1493
1494         Stop using getCharactersWithUpconvert in JavaScriptCore
1495         https://bugs.webkit.org/show_bug.cgi?id=128457
1496
1497         Reviewed by Andreas Kling.
1498
1499         * wtf/text/StringBuilder.h:
1500         (WTF::StringBuilder::append):
1501         Add a new overload that takes a StringView.
1502
1503         * wtf/text/StringView.h:
1504         (WTF::StringView::find):
1505         Add new find member function.
1506
1507 2014-02-08  Darin Adler  <darin@apple.com>
1508
1509         Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
1510         https://bugs.webkit.org/show_bug.cgi?id=128233
1511
1512         Reviewed by Anders Carlsson.
1513
1514         * WTF.xcodeproj/project.pbxproj: Added new source files.
1515
1516         * wtf/text/StringView.h: Added operator[], createCFStringWithoutCopying, and
1517         createNSStringWithoutCopying.
1518         * wtf/text/cf/StringViewCF.cpp:
1519         (WTF::StringView::createCFStringWithoutCopying): Added.
1520         * wtf/text/mac/StringViewObjC.mm:
1521         (WTF::StringView::createNSString): Added.
1522         (WTF::StringView::createNSStringWithoutCopying): Added.
1523
1524 2014-02-06  Andreas Kling  <akling@apple.com>
1525
1526         Remove unused ENABLE(REPAINT_THROTTLING) flag.
1527         <https://webkit.org/b/128329>
1528
1529         Reviewed by Antti Koivisto.
1530
1531         * wtf/FeatureDefines.h:
1532
1533 2014-02-06  Filip Pizlo  <fpizlo@apple.com>
1534
1535         More FTL build scaffolding
1536         https://bugs.webkit.org/show_bug.cgi?id=128330
1537
1538         Reviewed by Geoffrey Garen.
1539
1540         * wtf/Platform.h:
1541
1542 2014-02-06  Anders Carlsson  <andersca@apple.com>
1543
1544         Use std::chrono functions in dispatchFunctionsFromMainThread()
1545         https://bugs.webkit.org/show_bug.cgi?id=128308
1546
1547         Reviewed by Antti Koivisto.
1548
1549         * wtf/MainThread.cpp:
1550         (WTF::dispatchFunctionsFromMainThread):
1551
1552 2014-02-05  Zan Dobersek  <zdobersek@igalia.com>
1553
1554         Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro
1555         https://bugs.webkit.org/show_bug.cgi?id=128267
1556
1557         Reviewed by Andreas Kling.
1558
1559         Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro that was manually defined for compilers
1560         that support the C++11 initializer lists. The feature is well supported in Clang, MSVC and also GCC. It
1561         was actually already used unguarded in HashSet.
1562
1563         * wtf/Compiler.h:
1564         * wtf/HashMap.h:
1565         (WTF::HashMap::HashMap):
1566         * wtf/Vector.h:
1567         (WTF::Vector::Vector):
1568
1569 2014-02-05  Andreas Kling  <akling@apple.com>
1570
1571         Remove ENABLE(DIRECTORY_UPLOAD).
1572         <https://webkit.org/b/128275>
1573
1574         Rubber-stamped by Ryosuke Niwa.
1575
1576         * wtf/FeatureDefines.h:
1577
1578 2014-02-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1579
1580         HashMap can't be used with std::unique_ptr as value when it has a custom deleter
1581         https://bugs.webkit.org/show_bug.cgi?id=128250
1582
1583         Reviewed by Darin Adler.
1584
1585         The problem is that the HashMap is using a unique_ptr with the
1586         default deleter, so that when trying to move the unique_ptr the
1587         deleters don't match.
1588
1589         * wtf/HashTraits.h: Add the deleter also in the template
1590         definitation of the parent class for the HashTraits<std::unique_ptr<T, Deleter>>
1591
1592 2014-02-05  Csaba Osztrogonác  <ossy@webkit.org>
1593
1594         Remove ENABLE(SVG) guards
1595         https://bugs.webkit.org/show_bug.cgi?id=127991
1596
1597         Reviewed by Sam Weinig.
1598
1599         * wtf/FeatureDefines.h:
1600
1601 2014-02-04  Mark Lam  <mark.lam@apple.com>
1602
1603         The stack limit computation does not work for Windows.
1604         <https://webkit.org/b/128226>
1605
1606         Reviewed by Geoffrey Garen.
1607
1608         The current stack limit computation assumes that the stack is allocated
1609         in high memory. On Windows, the stack seems to be allocated very near
1610         address 0, and is smaller in size than our Options::maxPerThreadStackUsage().
1611         This combination triggers a bug where StackBounds::recursionLimit()
1612         underflows and computes a limit address that is ridiculously high in memory.
1613         The net effect is that the Windows port thinks its out of stack space all
1614         the time.
1615
1616         We now check for potential underflows in StackBounds and return an
1617         appropriate limit address.
1618
1619         * wtf/StackBounds.h:
1620         (WTF::StackBounds::recursionLimit):
1621
1622 2014-02-04  Andreas Kling  <akling@apple.com>
1623
1624         Remove <iframe seamless> support.
1625         <https://webkit.org/b/128213>
1626
1627         Rubber-stamped by Antti Koivisto.
1628
1629         * wtf/FeatureDefines.h:
1630
1631 2014-02-04  Anders Carlsson  <andersca@apple.com>
1632
1633         Store StringImpl substring backpointers as tail data
1634         https://bugs.webkit.org/show_bug.cgi?id=128220
1635
1636         Reviewed by Geoffrey Garen.
1637
1638         This lets us get rid of m_substringBuffer from the union.
1639
1640         * wtf/text/StringImpl.cpp:
1641         (WTF::StringImpl::~StringImpl):
1642         (WTF::StringImpl::getData16SlowCase):
1643         * wtf/text/StringImpl.h:
1644         (WTF::StringImpl::StringImpl):
1645         (WTF::StringImpl::createSubstringSharingImpl8):
1646         (WTF::StringImpl::createSubstringSharingImpl):
1647         (WTF::StringImpl::cost):
1648         (WTF::StringImpl::costDuringGC):
1649         (WTF::StringImpl::substringBuffer):
1650
1651 2014-02-04  Anders Carlsson  <andersca@apple.com>
1652
1653         Rename the substring sharing StringImpl::create variants to better indicate what they do
1654         https://bugs.webkit.org/show_bug.cgi?id=128214
1655
1656         Reviewed by Geoffrey Garen.
1657
1658         * wtf/text/AtomicString.cpp:
1659         (WTF::SubstringTranslator::translate):
1660         * wtf/text/StringBuilder.cpp:
1661         (WTF::StringBuilder::reifyString):
1662         (WTF::StringBuilder::resize):
1663         * wtf/text/StringImpl.h:
1664         (WTF::StringImpl::createSubstringSharingImpl8):
1665         (WTF::StringImpl::createSubstringSharingImpl):
1666         * wtf/text/WTFString.cpp:
1667         (WTF::String::substringSharingImpl):
1668
1669 2014-02-04  Alexey Proskuryakov  <ap@apple.com>
1670
1671         WebCrypto HMAC verification uses a non-constant-time memcmp
1672         https://bugs.webkit.org/show_bug.cgi?id=128198
1673         <rdar://problem/15976961>
1674
1675         Reviewed by Oliver Hunt.
1676
1677         Added a "constant time" memcmp that doesn't depend on data. The name is somewhat
1678         strange, as the function is of course O(length) and not constant time at all,
1679         but apparently this is how everyone calls such functions.
1680
1681         * GNUmakefile.list.am:
1682         * WTF.vcxproj/WTF.vcxproj:
1683         * WTF.vcxproj/WTF.vcxproj.filters:
1684         * WTF.xcodeproj/project.pbxproj:
1685         * wtf/CMakeLists.txt:
1686         * wtf/CryptographicUtilities.cpp: Added. (WTF::constantTimeMemcmp):
1687         * wtf/CryptographicUtilities.h: Added.
1688
1689 2014-02-04  Anders Carlsson  <andersca@apple.com>
1690
1691         Rename StringImpl::getCharacters to StringImpl::characters
1692         https://bugs.webkit.org/show_bug.cgi?id=128205
1693
1694         Reviewed by Antti Koivisto.
1695
1696         This lets us use StringImpl::getCharacters for the upconverting version.
1697         Also, change StringImpl::characters<UChar>() to call characters16() instead of deprecatedCharacters()
1698         and audit all call sites to make sure we weren't relying on upconversion anywhere.
1699
1700         * wtf/text/AtomicString.cpp:
1701         (WTF::findString):
1702         * wtf/text/StringImpl.cpp:
1703         (WTF::StringImpl::simplifyMatchedCharactersToSpace):
1704         * wtf/text/StringImpl.h:
1705         (WTF::StringImpl::characters<LChar>):
1706         (WTF::StringImpl::characters<UChar>):
1707
1708 2014-02-04  Anders Carlsson  <andersca@apple.com>
1709
1710         Rename equalNonNull to equal and make it take const StringImpl& instead
1711         https://bugs.webkit.org/show_bug.cgi?id=128206
1712
1713         Reviewed by Andreas Kling.
1714
1715         * wtf/text/StringHash.h:
1716         (WTF::StringHash::equal):
1717         * wtf/text/StringImpl.cpp:
1718         (WTF::stringImplContentEqual):
1719         (WTF::equal):
1720         * wtf/text/StringImpl.h:
1721
1722 2014-02-04  Anders Carlsson  <andersca@apple.com>
1723
1724         Get rid of StringImpl::m_buffer
1725         https://bugs.webkit.org/show_bug.cgi?id=128200
1726
1727         Reviewed by Michael Saboff.
1728
1729         Trade one lousy hack for another by changing the CreateEmptyUnique StringImpl
1730         constructor to initialize its character buffer to point to m_length instead
1731         since it will always be null.
1732
1733         Also change it to be an 8-bit string because why not.
1734
1735         * wtf/text/StringImpl.h:
1736         (WTF::StringImpl::StringImpl):
1737
1738 2014-02-04  Anders Carlsson  <andersca@apple.com>
1739
1740         Rename String::getCharacters to String::characters
1741         https://bugs.webkit.org/show_bug.cgi?id=128196
1742
1743         Reviewed by Andreas Kling.
1744
1745         This means String::characters() will end up calling either characters8() or characters16() which
1746         makes more logical sense. It also frees up the getCharacters name so we can use it for a new function
1747         that will do upconversion.
1748         
1749         * wtf/text/StringBuilder.cpp:
1750         (WTF::StringBuilder::appendUninitializedSlow):
1751         * wtf/text/WTFString.h:
1752         (WTF::String::characters<LChar>):
1753         (WTF::String::characters<UChar>):
1754
1755 2014-02-03  Anders Carlsson  <andersca@apple.com>
1756
1757         Fix Windows build.
1758
1759         * wtf/text/StringImpl.h:
1760         (WTF::StringImpl::tailOffset):
1761
1762 2014-02-03  Anders Carlsson  <andersca@apple.com>
1763
1764         StringImpl::tailOffset() should return the offset right after m_hashAndFlags
1765         https://bugs.webkit.org/show_bug.cgi?id=128141
1766
1767         Reviewed by Andreas Kling.
1768
1769         * wtf/text/StringImpl.h:
1770         (WTF::StringImpl::tailOffset):
1771
1772 2014-02-03  Anders Carlsson  <andersca@apple.com>
1773
1774         More tail pointer consolidation
1775         https://bugs.webkit.org/show_bug.cgi?id=128139
1776
1777         Reviewed by Andreas Kling.
1778
1779         Add a new tailOffset() function and reimplement allocationSize() and tailPointer()
1780         in terms of it. Use tailPointer() instead of reinterpret_cast-ing this + 1.
1781
1782         * wtf/text/StringImpl.cpp:
1783         (WTF::StringImpl::createUninitializedInternalNonEmpty):
1784         * wtf/text/StringImpl.h:
1785         (WTF::StringImpl::StringImpl):
1786         (WTF::StringImpl::requiresCopy):
1787         (WTF::StringImpl::allocationSize):
1788         (WTF::StringImpl::tailOffset):
1789         (WTF::StringImpl::tailPointer):
1790
1791 2014-02-03  Gustavo Noronha Silva  <gns@gnome.org>
1792
1793         [GTK][CMake] Enable SUBPIXEL_LAYOUT in FeatureDefines.h like EFL does
1794         https://bugs.webkit.org/show_bug.cgi?id=128136
1795
1796         Reviewed by Martin Robinson.
1797
1798         * wtf/FeatureDefines.h: enable SUBPIXEL_LAYOUT if it's not set, for GTK+.
1799
1800 2014-02-03  Mark Hahnenberg  <mhahnenberg@apple.com>
1801
1802         Turn GenGC on
1803         https://bugs.webkit.org/show_bug.cgi?id=128109
1804
1805         Reviewed by Oliver Hunt.
1806
1807         * wtf/Platform.h: Initially it will only be enabled for X86-64.
1808
1809 2014-02-03  Anders Carlsson  <andersca@apple.com>
1810
1811         Consolidate StringImpl tail handling into two functions
1812         https://bugs.webkit.org/show_bug.cgi?id=128122
1813
1814         Reviewed by Andreas Kling.
1815
1816         * wtf/text/StringImpl.cpp:
1817         (WTF::StringImpl::createUninitializedInternalNonEmpty):
1818         (WTF::StringImpl::reallocateInternal):
1819         * wtf/text/StringImpl.h:
1820         (WTF::StringImpl::tryCreateUninitialized):
1821         (WTF::StringImpl::allocationSize):
1822         (WTF::StringImpl::tailPointer):
1823
1824 2014-02-03  Darin Adler  <darin@apple.com>
1825
1826         Remove Unicode.h
1827         https://bugs.webkit.org/show_bug.cgi?id=128106
1828
1829         Reviewed by Anders Carlsson.
1830
1831         * GNUmakefile.list.am: Removed files.
1832         * WTF.vcxproj/WTF.vcxproj: Ditto.
1833         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
1834         * WTF.xcodeproj/project.pbxproj: Ditto.
1835         * wtf/CMakeLists.txt: Ditto.
1836
1837         * wtf/unicode/ScriptCodesFromICU.h: Removed.
1838         * wtf/unicode/Unicode.h: Removed.
1839         * wtf/unicode/UnicodeMacrosFromICU.h: Removed.
1840         * wtf/unicode/icu/UnicodeIcu.h: Removed.
1841         * wtf/unicode/wchar/UnicodeWchar.cpp: Removed.
1842         * wtf/unicode/wchar/UnicodeWchar.h: Removed.
1843
1844 2014-01-25  Darin Adler  <darin@apple.com>
1845
1846         Stop using Unicode.h
1847         https://bugs.webkit.org/show_bug.cgi?id=127633
1848
1849         Reviewed by Anders Carlsson.
1850
1851         * wtf/StringHasher.h:
1852         * wtf/dtoa.h:
1853         * wtf/text/ASCIIFastPath.h:
1854         * wtf/text/LChar.h:
1855         * wtf/text/StringBuffer.h:
1856         * wtf/text/StringImpl.h:
1857         * wtf/text/WTFString.cpp:
1858         * wtf/unicode/CharacterNames.h:
1859         * wtf/unicode/Collator.h:
1860         * wtf/unicode/UTF8.h:
1861         Removed includes of <wtf/unicode/Unicode.h>, adding includes of
1862         ICU headers and <wtf/text/LChar.h> as needed to replace it.
1863
1864 2014-02-02  Darin Adler  <darin@apple.com>
1865
1866         Obey "delete this" comments, including deleting String::characters and friends
1867         https://bugs.webkit.org/show_bug.cgi?id=126865
1868
1869         Reviewed by Andreas Kling.
1870
1871         * wtf/text/AtomicString.h: Deleted the characters function.
1872         * wtf/text/StringBuilder.h: Deleted the characters function, leaving behind the
1873         deprecatedCharacters function.
1874         * wtf/text/StringImpl.h: Ditto.
1875         * wtf/text/WTFString.h: Ditto. Also added a constructor that takes a StringImpl&,
1876         helpful for later string refactoring.
1877
1878 2014-02-02  Dan Bernstein  <mitz@apple.com>
1879
1880         Stop using PLATFORM(MAC) in WTF except where it means “OS X but not iOS”
1881         https://bugs.webkit.org/show_bug.cgi?id=128089
1882
1883         Reviewed by Darin Adler.
1884
1885         Replaced all uses of PLATFORM(MAC) that weren’t accompanied by !PLATFORM(IOS) with
1886         equivalent(*) tests that are more idiomatic and will not change once PLATFORM(MAC) changes to
1887         be false when building for iOS.
1888
1889         * - One exception noted below.
1890
1891         * wtf/AutodrainedPool.h: Changed PLATFORM(MAC) to USE(FOUNDATION), because NSAutoreleasePool
1892         is a Foundation class.
1893
1894         * wtf/CurrentTime.cpp:
1895         (WTF::monotonicallyIncreasingTime): Changed PLATFORM(MAC) to OS(DARWIN), because Mach is
1896         part of the Darwin kernel, but reordered such that the EFL and GLIB implementations continue
1897         to take precedence regardless of the OS.
1898
1899         * wtf/MainThread.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK).
1900         * wtf/MainThread.h: Ditto.
1901
1902         * wtf/Platform.h: Changed USE(CG) and USE(CA) to depend on COCOA, rather than MAC or IOS.
1903         Ditto for USE(CFURLCACHE), HAVE(ACCESSIBILITY), USE(PROTECTION_SPACE_AUTH_CALLBACK),
1904         USE(ACCESSIBILITY_CONTEXT_MENUS), USE(EXPORT_MACROS), USE(AVFOUNDATION),
1905         USE(REQUEST_ANIMATION_FRAME_TIMER), USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR),
1906         USE(CONTENT_FILTERING), USE(UNIFIED_TEXT_CHECKING), USE(MARKER_REMOVAL_UPON_EDITING),
1907         USE(AUDIO_SESSION), USE(IOSURFACE), and ENABLE(CSS3_TEXT_DECORATION_SKIP_INK). Changed
1908         PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK) in controlling various
1909         JavaScriptCore or JavaScriptCore-dependent behaviors.
1910
1911         * wtf/RunLoop.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1912         * wtf/RunLoopTimerCF.cpp: Ditto.
1913
1914         * wtf/SchedulePair.h: Changed PLATFORM(MAC) to USE(FOUNDATION), since it was used to guard
1915         usage of Foundation API.
1916
1917         * wtf/Threading.cpp: Added an explicit !PLATFORM(IOS) in a guard around something needed
1918         only on OS X and Windows.
1919
1920 2014-01-31  Benjamin Poulain  <bpoulain@apple.com>
1921
1922         Remove LEGACY_VIEWPORT_ADAPTION
1923         https://bugs.webkit.org/show_bug.cgi?id=128028
1924
1925         Reviewed by Anders Carlsson.
1926
1927         * wtf/FeatureDefines.h:
1928
1929 2014-01-31  Tim Horton  <timothy_horton@apple.com>
1930
1931         [wk2] PlatformCALayerRemoteCustom doesn't work on iOS
1932         https://bugs.webkit.org/show_bug.cgi?id=128025
1933         <rdar://problem/15950271>
1934
1935         Reviewed by Simon Fraser.
1936
1937         * wtf/Platform.h:
1938         Rename HAVE_LAYER_HOSTING_IN_WINDOW_SERVER to HAVE_OUT_OF_PROCESS_LAYER_HOSTING
1939         and make it true on iOS.
1940
1941 2014-01-31  Michael Saboff  <msaboff@apple.com>
1942
1943         REGRESSION: Crash in sanitizeStackForVMImpl when scrolling @ lifehacker.com.au
1944         https://bugs.webkit.org/show_bug.cgi?id=128017
1945
1946         Reviewed by Filip Pizlo.
1947
1948         Moved the setting and saving of VM::stackPointerAtVMEntry and the corresponding stack limit
1949         to JSLock and JSLock::DropAllLocks.  The saved data is now stored in per-thread in
1950         WTFThreadData.
1951
1952         * wtf/WTFThreadData.cpp:
1953         (WTF::WTFThreadData::WTFThreadData):
1954         * wtf/WTFThreadData.h:
1955         (WTF::WTFThreadData::savedStackPointerAtVMEntry):
1956         (WTF::WTFThreadData::setSavedStackPointerAtVMEntry):
1957         (WTF::WTFThreadData::savedLastStackTop):
1958         (WTF::WTFThreadData::setSavedLastStackTop):
1959         (WTF::WTFThreadData::savedReservedZoneSize):
1960         (WTF::WTFThreadData::setSavedReservedZoneSize):
1961
1962 2014-01-30  Andrei Bucur  <abucur@adobe.com>
1963
1964         Remove the ACCELERATED_COMPOSITING flag
1965         https://bugs.webkit.org/show_bug.cgi?id=127833
1966
1967         Reviewed by Antti Koivisto.
1968
1969         Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC
1970         mandatory.
1971
1972         * wtf/OwnPtrCommon.h:
1973         * wtf/Platform.h:
1974         * wtf/efl/OwnPtrEfl.cpp:
1975         (WTF::deleteOwnedPtr):
1976
1977 2014-01-28  Michael Saboff  <msaboff@apple.com>
1978
1979         Merge the jsCStack branch
1980         https://bugs.webkit.org/show_bug.cgi?id=127763
1981
1982         Reviewed by Mark Hahnenberg.
1983
1984         Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
1985         up to changeset 162958.
1986
1987 2014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
1988
1989         Remove ENABLE(JAVASCRIPT_DEBUGGER) guards
1990         https://bugs.webkit.org/show_bug.cgi?id=127840
1991
1992         Reviewed by Mark Lam.
1993
1994         * wtf/FeatureDefines.h:
1995
1996 2014-01-28  Anders Carlsson  <andersca@apple.com>
1997
1998         Actually turn stack stats back off.
1999
2000         * wtf/StackStats.cpp:
2001         * wtf/StackStats.h:
2002
2003 2014-01-28  Anders Carlsson  <andersca@apple.com>
2004
2005         Turn stack stats back off.
2006
2007         * wtf/StackStats.cpp:
2008
2009 2014-01-28  Anders Carlsson  <andersca@apple.com>
2010
2011         Use std::mutex instead of WTF::Mutex in WTF
2012         https://bugs.webkit.org/show_bug.cgi?id=127783
2013
2014         Reviewed by Antti Koivisto.
2015
2016         * wtf/CryptographicallyRandomNumber.cpp:
2017         * wtf/MainThread.cpp:
2018         (WTF::mainThreadFunctionQueueMutex):
2019         (WTF::functionQueue):
2020         (WTF::dispatchFunctionsFromMainThread):
2021         (WTF::callOnMainThread):
2022         (WTF::cancelCallOnMainThread):
2023         * wtf/StackStats.cpp:
2024         (WTF::StackStats::initialize):
2025         (WTF::StackStats::CheckPoint::CheckPoint):
2026         (WTF::StackStats::CheckPoint::~CheckPoint):
2027         (WTF::StackStats::probe):
2028         (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
2029         (WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint):
2030         * wtf/StackStats.h:
2031
2032 2014-01-27  Joseph Pecoraro  <pecoraro@apple.com>
2033
2034         WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
2035         https://bugs.webkit.org/show_bug.cgi?id=127671
2036
2037         Reviewed by Ryosuke Niwa.
2038
2039         * wtf/text/WTFString.h:
2040         (WTF::appendNumber):
2041
2042 2014-01-27  Jer Noble  <jer.noble@apple.com>
2043
2044         [WK2] callOnMainThread() from main thread sometimes results in ASSERTs.
2045         https://bugs.webkit.org/show_bug.cgi?id=127370
2046
2047         Reviewed by Alexey Proskuryakov.
2048
2049         When WEB_THREAD is enabled, and callOnMainThread() is called from the main
2050         thread, if the web thread is locked, a timer is set and the passed-in function
2051         is called on the next run-loop. However, by that time the web thread may have
2052         been unlocked, and isMainThread() will no longer return true, resulting in
2053         an assert.
2054
2055         Instead, scheduleDispatchFunctionsOnMainThread() should check isWebThread(),
2056         which is equivalent to isMainThread() when the WEB_THREAD is disabled, but
2057         will do the correct thing when WEB_THREAD is enabled.
2058
2059         * wtf/mac/MainThreadMac.mm:
2060         (WTF::scheduleDispatchFunctionsOnMainThread):
2061
2062 2014-01-27  Dan Bernstein  <mitz@apple.com>
2063
2064         Build fix.
2065
2066         * wtf/ThreadSafeRefCounted.h: Added a necessary #include.
2067
2068 2014-01-25  Sam Weinig  <sam@webkit.org>
2069
2070         Remove unused support for DRAGGABLE_REGION
2071         https://bugs.webkit.org/show_bug.cgi?id=127642
2072
2073         Reviewed by Simon Fraser.
2074
2075         * wtf/FeatureDefines.h:
2076
2077 2014-01-25  Joseph Pecoraro  <pecoraro@apple.com>
2078
2079         Add FALLTHROUGH and -Wimplicit-fallthrough to warn about unannotated implicit fallthroughs in switches
2080         https://bugs.webkit.org/show_bug.cgi?id=127637
2081
2082         Reviewed by Darin Adler.
2083
2084         For information about [[clang::fallthrough]], see:
2085         <http://clang.llvm.org/docs/LanguageExtensions.html#the-clang-fallthrough-attribute>
2086
2087         * Configurations/Base.xcconfig:
2088         Enable -Wimplicit-fallthrough warnings.
2089
2090         * wtf/Compiler.h:
2091         Define FALLTHROUGH on clang and fallback to outputing nothing when unsupported.
2092
2093         * wtf/dtoa/fast-dtoa.cc:
2094         * wtf/unicode/UTF8.cpp:
2095         (WTF::Unicode::convertLatin1ToUTF8):
2096         (WTF::Unicode::convertUTF16ToUTF8):
2097         (WTF::Unicode::isLegalUTF8):
2098         (WTF::Unicode::readUTF8Sequence):
2099         Explicitly annotate implicit fallthroughs with FALLTHROUGH.
2100
2101 2014-01-25  Darin Adler  <darin@apple.com>
2102
2103         Call deprecatedCharacters instead of characters at more call sites
2104         https://bugs.webkit.org/show_bug.cgi?id=127631
2105
2106         Reviewed by Sam Weinig.
2107
2108         * wtf/text/StringImpl.cpp:
2109         (WTF::StringImpl::replace):
2110         * wtf/text/WTFString.h:
2111         (WTF::String::isAllSpecialCharacters):
2112         Use the new name.
2113
2114 2014-01-25  Darin Adler  <darin@apple.com>
2115
2116         Add a new separate LChar.h header file, to be used after we remove Unicode.h
2117         https://bugs.webkit.org/show_bug.cgi?id=127630
2118
2119         Reviewed by Sam Weinig.
2120
2121         * GNUmakefile.list.am: Added the new file
2122         * WTF.vcxproj/WTF.vcxproj: Ditto.
2123         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
2124         * WTF.xcodeproj/project.pbxproj: Ditto.
2125         * wtf/CMakeLists.txt: Ditto.
2126         * wtf/text/LChar.h: Added.
2127
2128 2014-01-25  Darin Adler  <darin@apple.com>
2129
2130         Get rid of ICU_UNICODE and WCHAR_UNICODE remnants
2131         https://bugs.webkit.org/show_bug.cgi?id=127623
2132
2133         Reviewed by Anders Carlsson.
2134
2135         * wtf/CMakeLists.txt: Removed WTF_USE_ICU_UNICODE and
2136         WTF_USE_WCHAR_UNICODE since they are true and false respectively.
2137
2138         * wtf/Platform.h: Removed code to set WTF_USE_ICU_UNICODE.
2139
2140         * wtf/unicode/Collator.h: Removed ifdefs.
2141         * wtf/unicode/CollatorDefault.cpp: Ditto.
2142         * wtf/unicode/Unicode.h: Ditto.
2143         * wtf/unicode/icu/CollatorICU.cpp: Ditto.
2144
2145 2014-01-25  Anders Carlsson  <andersca@apple.com>
2146
2147         Remove atomicIncrement/atomicDecrement
2148         https://bugs.webkit.org/show_bug.cgi?id=127625
2149
2150         Reviewed by Andreas Kling.
2151
2152         Replace atomicIncrement/atomicDecrement with std::atomic.
2153
2154         * wtf/Atomics.h:
2155         * wtf/RefCountedLeakCounter.cpp:
2156         (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
2157         (WTF::RefCountedLeakCounter::increment):
2158         (WTF::RefCountedLeakCounter::decrement):
2159         * wtf/RefCountedLeakCounter.h:
2160         * wtf/ThreadSafeRefCounted.h:
2161         (WTF::ThreadSafeRefCountedBase::ref):
2162         (WTF::ThreadSafeRefCountedBase::refCount):
2163         (WTF::ThreadSafeRefCountedBase::derefBase):
2164
2165 2014-01-25  Anders Carlsson  <andersca@apple.com>
2166
2167         Modernize HashTable threading code
2168         https://bugs.webkit.org/show_bug.cgi?id=127621
2169
2170         Reviewed by Darin Adler.
2171
2172         Use std::mutex and std::atomic instead of WTF threading primitives.
2173
2174         * wtf/DynamicAnnotations.h:
2175         Include Platform.h here since this file relies on USE macros.
2176
2177         * wtf/HashTable.cpp:
2178         (WTF::HashTableStats::recordCollisionAtCount):
2179         Change this to take an unsigned.
2180
2181         (WTF::HashTableStats::dumpStats):
2182         * wtf/HashTable.h:
2183         (WTF::KeyTraits>::HashTable):
2184         (WTF::KeyTraits>::remove):
2185         (WTF::KeyTraits>::invalidateIterators):
2186         Use a single probe counter.
2187
2188         (WTF::addIterator):
2189         (WTF::removeIterator):
2190
2191 2014-01-25  Darin Adler  <darin@apple.com>
2192
2193         Restore alphabetical order in Compiler.h
2194         https://bugs.webkit.org/show_bug.cgi?id=127620
2195
2196         Reviewed by Sam Weinig.
2197
2198         * wtf/Compiler.h: Resorted some things into alphabetical order
2199
2200 2014-01-24  Brent Fulgham  <bfulgham@apple.com>
2201
2202         [Win] Convert some NMake files to MSBuild project files
2203         https://bugs.webkit.org/show_bug.cgi?id=127579
2204
2205         Reviewed by Tim Horton.
2206
2207         * WTF.vcxproj/WTF.make: Removed.
2208         * WTF.vcxproj/WTF.proj: Added.
2209
2210 2014-01-24  Anders Carlsson  <andersca@apple.com>
2211
2212         Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead
2213         https://bugs.webkit.org/show_bug.cgi?id=127571
2214
2215         Reviewed by Antti Koivisto.
2216
2217         * wtf/Compiler.h:
2218         Add a CONSTEXPR define so we can still use constexpr on compilers that don't support them (MSVC).
2219
2220         * wtf/CurrentTime.h:
2221         Remove monotonicallyIncreasingTimeMS().
2222
2223         * wtf/StdLibExtras.h:
2224         (std::literals::chrono_literals::operator _s):
2225         (std::literals::chrono_literals::operator _ms):
2226         Add _s and _ms literals. Once we switch over to C++14, we can drop them and just use the built-in ones.
2227
2228 2014-01-24  Anders Carlsson  <andersca@apple.com>
2229
2230         The CXX_EXPLICIT_CONVERSIONS COMPILER_SUPPORTS macro has been removed, and all
2231         compilers support explicit conversions now so simply remove the #ifdef.
2232
2233         * wtf/RetainPtr.h:
2234
2235 2014-01-24  Darin Adler  <darin@apple.com>
2236
2237         Simplify Compiler.h
2238         https://bugs.webkit.org/show_bug.cgi?id=127491
2239
2240         Reviewed by Anders Carlsson.
2241
2242         * wtf/Assertions.h: Remove COMPILER_SUPPORTS(CXX_STATIC_ASSERT), since
2243         we now have that for all compilers that can build WebKit.
2244
2245         * wtf/Compiler.h: Removed always true feature flags, including:
2246         COMPILER_SUPPORTS(CXX_VARIADIC_TEMPLATES), COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES),
2247         COMPILER_SUPPORTS(CXX_DELETED_FUNCTIONS), COMPILER_SUPPORTS(CXX_NULLPTR),
2248         COMPILER_SUPPORTS(CXX_EXPLICIT_CONVERSIONS), COMPILER_SUPPORTS(CXX_STATIC_ASSERT),
2249         COMPILER_SUPPORTS(CXX_OVERRIDE_CONTROL), COMPILER_SUPPORTS(CXX_STRONG_ENUMS), and
2250         COMPILER_SUPPORTS(CXX_AUTO_TYPE). Sorted sections alphabetically. Separated out
2251         nested #if and #else into separate checks for greater readability. Removed obsolete
2252         check for COMPILER(RVCT). Removed unused COMPILER(GCCE) detection.
2253
2254         * wtf/RefPtr.h: Remove COMPILER_SUPPORTS(CXX_NULLPTR), since we now have
2255         that for all compilers that can build WebKit.
2256         * wtf/RetainPtr.h: Ditto.
2257
2258 2014-01-23  Max Vujovic  <mvujovic@adobe.com>
2259
2260         Remove CSS Custom Filters code and tests
2261         https://bugs.webkit.org/show_bug.cgi?id=127382
2262
2263         Reviewed by Simon Fraser.
2264
2265         * wtf/FeatureDefines.h:
2266
2267 2014-01-22  Brent Fulgham  <bfulgham@apple.com>
2268
2269         [Win] Update project and solution files for 64-bit builds.
2270         https://bugs.webkit.org/show_bug.cgi?id=127457
2271
2272         Reviewed by Eric Carlson.
2273
2274         * WTF.vcxproj/WTF.submit.sln: Add x64 targets.
2275         * WTF.vcxproj/WTF.vcxproj: Update for VS2013
2276
2277 2014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>
2278
2279         Remove CSS3_TEXT_DECORATION define
2280         https://bugs.webkit.org/show_bug.cgi?id=127333
2281
2282         Reviewed by Simon Fraser.
2283
2284         This is required for unprefixing the text-decoration-* CSS properties.
2285
2286         * wtf/Platform.h:
2287
2288 2014-01-22  Jae Hyun Park  <jae.park@company100.net>
2289
2290         Remove unnecessary include in Noncopyable.h
2291         https://bugs.webkit.org/show_bug.cgi?id=127406
2292
2293         Reviewed by Anders Carlsson.
2294
2295         * wtf/Noncopyable.h: We don't need Compiler.h as of r162198.
2296
2297 2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2298
2299         [GTK] Add GUniquePtr
2300         https://bugs.webkit.org/show_bug.cgi?id=127170
2301
2302         Reviewed by Gustavo Noronha Silva.
2303
2304         The idea is to replace GOwnPtr with a template alias of
2305         std:unique_ptr. Not everything can be replaced, though, because
2306         GOwnPtr::outPtr() doesn't seem to be possible to implement with
2307         unique_ptr. This smart pointer is more flexible than GOwnPtr and
2308         allows to transfer the ownership of the pointer using
2309         std::move().
2310
2311         * GNUmakefile.list.am: Add new file to compilation.
2312         * wtf/gobject/GUniquePtr.h: Added.
2313         (WTF::GPtrDeleter::operator()):
2314
2315 2014-01-20  Anders Carlsson  <andersca@apple.com>
2316
2317         Remove an unused member variable
2318         https://bugs.webkit.org/show_bug.cgi?id=127295
2319
2320         Reviewed by Antti Koivisto.
2321
2322         * wtf/MainThread.cpp:
2323         (WTF::FunctionWithContext::FunctionWithContext):
2324         (WTF::FunctionWithContext::operator == ):
2325         (WTF::dispatchFunctionsFromMainThread):
2326
2327 2014-01-20  Anders Carlsson  <andersca@apple.com>
2328
2329         Remove MutexTryLocker
2330         https://bugs.webkit.org/show_bug.cgi?id=127294
2331
2332         Reviewed by Antti Koivisto.
2333
2334         MutexTryLocker has been replaced with std::unique_lock with std::try_to_lock everywhere now.
2335
2336         * wtf/ThreadingPrimitives.h:
2337
2338 2014-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2339
2340         [GLIB] GVariant floating references are not correctly handled by GRefPtr
2341         https://bugs.webkit.org/show_bug.cgi?id=127246
2342
2343         Reviewed by Martin Robinson.
2344
2345         GRefPtr should always use g_variant_ref_sink to deal with GVariant
2346         floating references. In case of full references,
2347         g_variant_ref_sink calls g_variant_ref, so it's safe to use it always.
2348
2349         * wtf/gobject/GRefPtr.cpp:
2350         (WTF::refGPtr): Use g_variant_ref_sink().
2351
2352 2014-01-18  Anders Carlsson  <andersca@apple.com>
2353
2354         Remove support for the viewsource attribute
2355         https://bugs.webkit.org/show_bug.cgi?id=127232
2356
2357         Reviewed by Andreas Kling.
2358
2359         * wtf/FeatureDefines.h:
2360
2361 2014-01-18  Anders Carlsson  <andersca@apple.com>
2362
2363         Remove ENABLE_THREADED_HTML_PARSER defines everywhere
2364         https://bugs.webkit.org/show_bug.cgi?id=127225
2365
2366         Reviewed by Andreas Kling.
2367
2368         This concludes the removal of over 8.8 million lines of threaded parser code.
2369
2370         * wtf/FeatureDefines.h:
2371
2372 2014-01-17  Anders Carlsson  <andersca@apple.com>
2373
2374         Add a callOnMainThreadAndWait variant in SocketStreamHandle
2375         https://bugs.webkit.org/show_bug.cgi?id=127180
2376
2377         Reviewed by Geoffrey Garen.
2378
2379         Remove callOnMainThreadAndWait from WTF.
2380
2381         * wtf/MainThread.cpp:
2382         * wtf/MainThread.h:
2383
2384 2014-01-17  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
2385
2386         Remove workaround for compilers not supporting deleted functions
2387         https://bugs.webkit.org/show_bug.cgi?id=127166
2388
2389         Reviewed by Andreas Kling.
2390
2391         * wtf/Compiler.h:
2392         * wtf/Noncopyable.h:
2393         * wtf/PassRefPtr.h:
2394
2395 2014-01-16  Benjamin Poulain  <bpoulain@apple.com>
2396
2397         Remove Nix from WTF
2398         https://bugs.webkit.org/show_bug.cgi?id=127150
2399
2400         Reviewed by Alexey Proskuryakov.
2401
2402         * wtf/DisallowCType.h:
2403         * wtf/FeatureDefines.h:
2404         * wtf/Platform.h:
2405         * wtf/PlatformNix.cmake: Removed.
2406         * wtf/nix: Removed.
2407
2408 2014-01-16  Anders Carlsson  <andersca@apple.com>
2409
2410         Remove FINAL macro
2411         https://bugs.webkit.org/show_bug.cgi?id=127149
2412
2413         Reviewed by Tim Horton.
2414
2415         * wtf/Compiler.h:
2416
2417 2014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
2418
2419         Remove workaround for compilers not supporting explicit override control
2420         https://bugs.webkit.org/show_bug.cgi?id=127111
2421
2422         Reviewed by Anders Carlsson.
2423
2424         Now all compilers support explicit override control, this workaround can be removed.
2425
2426         * wtf/Compiler.h:
2427         * wtf/FilePrintStream.h:
2428         * wtf/RunLoop.h:
2429         * wtf/StringPrintStream.h:
2430
2431 2014-01-16  Alberto Garcia  <berto@igalia.com>
2432
2433         Source/WTF/wtf/Atomics.h:300: Error: bad register name `%bpl'
2434         https://bugs.webkit.org/show_bug.cgi?id=126985
2435
2436         Reviewed by Csaba Osztrogonác.
2437
2438         Use the 'q' constraint to force using a register that allows
2439         access to its lower byte.
2440
2441         * wtf/Atomics.h:
2442         (WTF::weakCompareAndSwap):
2443
2444 2014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
2445
2446         Fix unnecessary checks for Clang compiler if the compiler is MSVC.
2447         https://bugs.webkit.org/show_bug.cgi?id=127037
2448
2449         Reviewed by Csaba Osztrogonác.
2450
2451         Inside the #if defined(_MSC_VER) there's no need for checking whether the compiler is not Clang.
2452
2453         * wtf/Compiler.h:
2454
2455 2014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
2456
2457         Require at least GCC version 4.7
2458         https://bugs.webkit.org/show_bug.cgi?id=127049
2459
2460         Reviewed by Csaba Osztrogonác.
2461
2462         r161770 added a template alias, so the minimum GCC version is 4.7 now.
2463
2464         Also fixed a typo in the error message about old MSVC version.
2465
2466         * wtf/Compiler.h:
2467
2468 2014-01-15  Alberto Garcia  <berto@igalia.com>
2469
2470         [GTK] v2.3.3 fails to build in Debian / FreeBSD
2471         https://bugs.webkit.org/show_bug.cgi?id=126502
2472
2473         Reviewed by Mark Lam.
2474
2475         * wtf/Platform.h: Add LLINT support to FreeBSD.
2476
2477 2014-01-15  Anders Carlsson  <andersca@apple.com>
2478
2479         Get rid of RefCountedCustomAllocated
2480         https://bugs.webkit.org/show_bug.cgi?id=127051
2481
2482         Reviewed by Antti Koivisto.
2483
2484         It's not used anywhere anymore, get rid of it.
2485
2486         * wtf/RefCounted.h:
2487         * wtf/SizeLimits.cpp:
2488
2489 2014-01-14  Anders Carlsson  <andersca@apple.com>
2490
2491         And yet another build fix.
2492
2493         * wtf/SizeLimits.cpp:
2494
2495 2014-01-14  Anders Carlsson  <andersca@apple.com>
2496
2497         Another build fix.
2498
2499         * wtf/SizeLimits.cpp:
2500
2501 2014-01-14  Daniel Bates  <dabates@apple.com>
2502
2503         [iOS] Enable WTF_USE_UIKIT_EDITING
2504
2505         * wtf/Platform.h:
2506
2507 2014-01-14  Daniel Bates  <dabates@apple.com>
2508
2509         [iOS] Enable QuickLook
2510         https://bugs.webkit.org/show_bug.cgi?id=126954
2511
2512         Reviewed by David Kilzer.
2513
2514         * wtf/Platform.h:
2515
2516 2014-01-14  Anders Carlsson  <andersca@apple.com>
2517
2518         Get rid of ThreadRestrictionVerifier
2519         https://bugs.webkit.org/show_bug.cgi?id=127004
2520
2521         Reviewed by Sam Weinig.
2522
2523         The ThreadRestrictionVerifier mechanism has been turned off for a while
2524         since it doesn't really have a good solution for objects that are passed between threads.
2525         Instead of having dead code in the tree, just get rid of it.
2526         
2527         * GNUmakefile.list.am:
2528         * WTF.vcxproj/WTF.vcxproj:
2529         * WTF.vcxproj/WTF.vcxproj.filters:
2530         * WTF.xcodeproj/project.pbxproj:
2531         * wtf/CMakeLists.txt:
2532         * wtf/RefCounted.h:
2533         (WTF::RefCountedBase::ref):
2534         (WTF::RefCountedBase::hasOneRef):
2535         (WTF::RefCountedBase::refCount):
2536         (WTF::RefCountedBase::derefBase):
2537         * wtf/ThreadRestrictionVerifier.h: Removed.
2538
2539 2014-01-14  Benjamin Poulain  <benjamin@webkit.org>
2540
2541         Enable the experimental selector code generator by default
2542         https://bugs.webkit.org/show_bug.cgi?id=126953
2543
2544         Reviewed by Gavin Barraclough.
2545
2546         * wtf/Platform.h:
2547         Enable CSS_SELECTOR_JIT on OS X x86_64 by default.
2548         The feature is not ready to ship but it is stable enough to enable
2549         for the bots and nightly.
2550
2551 2014-01-14  Brian J. Burg  <burg@cs.washington.edu>
2552
2553         Add ENABLE(WEB_REPLAY) feature flag to the build system
2554         https://bugs.webkit.org/show_bug.cgi?id=126949
2555
2556         Reviewed by Joseph Pecoraro.
2557
2558         * wtf/FeatureDefines.h: for now, disable the flag by default.
2559
2560 2014-01-14  peavo@outlook.com  <peavo@outlook.com>
2561
2562         [Win] Application name in user agent string is truncated.
2563         https://bugs.webkit.org/show_bug.cgi?id=126810
2564
2565         Reviewed by Anders Carlsson.
2566
2567         * wtf/text/StringConcatenate.h:
2568         (WTF::tryMakeString): Add missing 8 bit check for last argument. 
2569
2570 2014-01-13  Anders Carlsson  <andersca@apple.com>
2571
2572         Move another deprecated symbol to DeprecatedSymbolsUsedBySafari.mm
2573         https://bugs.webkit.org/show_bug.cgi?id=126909
2574
2575         Reviewed by Ryosuke Niwa.
2576
2577         * wtf/MainThread.cpp:
2578         * wtf/MainThread.h:
2579         * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
2580         (WTF::callOnMainThread):
2581
2582 2014-01-13  Anders Carlsson  <andersca@apple.com>
2583
2584         Fix Windows build.
2585
2586         * wtf/ThreadingWin.cpp:
2587         (WTF::initializeThreading):
2588
2589 2014-01-13  Anders Carlsson  <andersca@apple.com>
2590
2591         Remove AtomicallyInitializedStatic
2592         https://bugs.webkit.org/show_bug.cgi?id=126864
2593
2594         Reviewed by Andreas Kling.
2595
2596         Remove the lockAtomicallyInitializedStaticMutex and unlockAtomicallyInitializedStaticMutex functions
2597         everywhere except on Mac (where they unfortunately were used by Safari).
2598         
2599         On Mac, add them to a separate file which will hold functions and symbols that we would like
2600         to remove but that are used by Safari. Reimplement them in terms of std::call_once and std::mutex.
2601
2602         * WTF.xcodeproj/project.pbxproj:
2603         * wtf/Threading.h:
2604         * wtf/ThreadingPthreads.cpp:
2605         (WTF::initializeThreading):
2606         * wtf/ThreadingWin.cpp:
2607         (WTF::initializeThreading):
2608         * wtf/mac/DeprecatedSymbolsUsedBySafari.mm: Added.
2609         (WTF::atomicallyInitializedStaticMutex):
2610         (WTF::lockAtomicallyInitializedStaticMutex):
2611         (WTF::unlockAtomicallyInitializedStaticMutex):
2612
2613 2014-01-13  Commit Queue  <commit-queue@webkit.org>
2614
2615         Unreviewed, rolling out r161855.
2616         http://trac.webkit.org/changeset/161855
2617         https://bugs.webkit.org/show_bug.cgi?id=126880
2618
2619         Sister commit of r161852 (Requested by kling on #webkit).
2620
2621         * wtf/ThreadingPthreads.cpp:
2622         (WTF::initializeThreading):
2623
2624 2014-01-13  Commit Queue  <commit-queue@webkit.org>
2625
2626         Unreviewed, rolling out r161852.
2627         http://trac.webkit.org/changeset/161852
2628         https://bugs.webkit.org/show_bug.cgi?id=126877
2629
2630         Broke ToT with system Safari (Requested by kling on #webkit).
2631
2632         * wtf/Threading.h:
2633         * wtf/ThreadingPthreads.cpp:
2634         (WTF::initializeThreading):
2635         (WTF::lockAtomicallyInitializedStaticMutex):
2636         (WTF::unlockAtomicallyInitializedStaticMutex):
2637         * wtf/ThreadingWin.cpp:
2638         (WTF::lockAtomicallyInitializedStaticMutex):
2639         (WTF::unlockAtomicallyInitializedStaticMutex):
2640         (WTF::initializeThreading):
2641
2642 2014-01-12  Commit Queue  <commit-queue@webkit.org>
2643
2644         Unreviewed, rolling out r161840.
2645         http://trac.webkit.org/changeset/161840
2646         https://bugs.webkit.org/show_bug.cgi?id=126870
2647
2648         Caused jsscore and layout test failures (Requested by smfr on
2649         #webkit).
2650
2651         * wtf/text/StringImpl.cpp:
2652         (WTF::StringImpl::replace):
2653         * wtf/text/WTFString.h:
2654         (WTF::String::isAllSpecialCharacters):
2655
2656 2014-01-12  Dan Bernstein  <mitz@apple.com>
2657
2658         Fix an assertion failure in initializeDates() when launching Safari, which was introduced in r161852.
2659
2660         Reviewed by Andy Estes.
2661
2662         * wtf/ThreadingPthreads.cpp:
2663         (WTF::initializeThreading): Set isInitialized to true.
2664
2665 2014-01-12  Darin Adler  <darin@apple.com>
2666
2667         Add PLATFORM(COCOA) and USE(FOUNDATION)
2668         https://bugs.webkit.org/show_bug.cgi?id=126859
2669
2670         Reviewed by Anders Carlsson.
2671
2672         * wtf/Platform.h: Added PLATFORM(COCOA), which for now is set at exactly the same
2673         times that PLATFORM(MAC) is. Added USE(FOUNDATION), which is set at the same times
2674         that PLATFORM(COCOA) is. Re-organize the PLATFORM(MAC) and PLATFORM(IOS) settings
2675         in the header so they are a bit easier to read. Put HAVE_LANGINFO_H in with the
2676         rest of the OS(UNIX) settings and put HAVE_READLINE in with the rest of the
2677         OS(DARWIN) settings. Tweak formatting a bit.
2678
2679 2014-01-12  Anders Carlsson  <andersca@apple.com>
2680
2681         Remove AtomicallyInitializedStatic
2682         https://bugs.webkit.org/show_bug.cgi?id=126864
2683
2684         Reviewed by Darin Adler.
2685
2686         * wtf/Threading.h:
2687         * wtf/ThreadingPthreads.cpp:
2688         (WTF::initializeThreading):
2689         * wtf/ThreadingWin.cpp:
2690         (WTF::initializeThreading):
2691
2692 2014-01-12  Darin Adler  <darin@apple.com>
2693
2694         Add deprecatedCharacters as a synonym for characters and convert most call sites
2695         https://bugs.webkit.org/show_bug.cgi?id=126858
2696
2697         Reviewed by Anders Carlsson.
2698
2699         * wtf/text/AtomicString.cpp:
2700         (WTF::HashAndUTF8CharactersTranslator::equal):
2701         (WTF::SubstringTranslator::hash):
2702         (WTF::SubstringTranslator::equal):
2703         * wtf/text/AtomicString.h:
2704         (WTF::AtomicString::characters):
2705         * wtf/text/Base64.cpp:
2706         (WTF::base64Decode):
2707         (WTF::base64URLDecode):
2708         * wtf/text/StringBuilder.h:
2709         (WTF::StringBuilder::characters):
2710         (WTF::StringBuilder::deprecatedCharacters):
2711         * wtf/text/StringImpl.cpp:
2712         (WTF::StringImpl::getData16SlowCase):
2713         (WTF::StringImpl::upper):
2714         (WTF::StringImpl::lower):
2715         (WTF::StringImpl::find):
2716         (WTF::StringImpl::findIgnoringCase):
2717         * wtf/text/StringImpl.h:
2718         (WTF::StringImpl::characters):
2719         (WTF::StringImpl::deprecatedCharacters):
2720         (WTF::StringImpl::getCharacters<UChar>):
2721         (WTF::equalIgnoringNullity):
2722         * wtf/text/WTFString.cpp:
2723         (WTF::String::append):
2724         (WTF::String::appendInternal):
2725         (WTF::String::insert):
2726         (WTF::String::truncate):
2727         (WTF::String::percentage):
2728         * wtf/text/WTFString.h:
2729         (WTF::String::characters):
2730         (WTF::String::deprecatedCharacters):
2731         (WTF::String::getCharactersWithUpconvert<UChar>):
2732         (WTF::append):
2733         Use deprecatedCharacters instead of characters.
2734
2735 2014-01-12  Anders Carlsson  <andersca@apple.com>
2736
2737         Remove the last remaining uses of AtomicallyInitializedStatic
2738         https://bugs.webkit.org/show_bug.cgi?id=126863
2739
2740         Reviewed by Darin Adler.
2741
2742         * wtf/HashTable.cpp:
2743         (WTF::hashTableStatsMutex):
2744         (WTF::HashTableStats::recordCollisionAtCount):
2745         (WTF::HashTableStats::dumpStats):
2746         * wtf/unicode/icu/CollatorICU.cpp:
2747         (WTF::cachedCollatorMutex):
2748         (WTF::Collator::createCollator):
2749         (WTF::Collator::releaseCollator):
2750
2751 2014-01-12  Darin Adler  <darin@apple.com>
2752
2753         Reduce use of String::characters
2754         https://bugs.webkit.org/show_bug.cgi?id=126854
2755
2756         Reviewed by Sam Weinig.
2757
2758         * wtf/text/StringImpl.cpp:
2759         (WTF::StringImpl::replace): Use characters16 here since is8Bit was already checked.
2760         * wtf/text/WTFString.h:
2761         (WTF::String::isAllSpecialCharacters): Use characters16 here since is8Bit was
2762         already checked. Also renamed "len" to "length".
2763
2764 2014-01-12  Anders Carlsson  <andersca@apple.com>
2765
2766         Replace more uses of AtomicallyInitializedStatic with std::call_once
2767         https://bugs.webkit.org/show_bug.cgi?id=126847
2768
2769         Reviewed by Sam Weinig.
2770
2771         * wtf/Forward.h:
2772         Forward declare NeverDestroyed.
2773
2774 2014-01-11  Zan Dobersek  <zdobersek@igalia.com>
2775
2776         Unreviewed build fix for ports using GCC after r161770.
2777
2778         * wtf/IteratorAdaptors.h:
2779         (WTF::FilterIterator::operator*): Replicating r161797, the const qualifier for
2780         FilterIterator::operator*() is removed since it clashes with some iterator types
2781         that are also const, causing compilation failures with GCC.
2782
2783 2014-01-11  Anders Carlsson  <andersca@apple.com>
2784
2785         Use std::call_once instead of AtomicallyInitializedStatic when creating a HTTP header set
2786         https://bugs.webkit.org/show_bug.cgi?id=126837
2787
2788         Reviewed by Sam Weinig.
2789
2790         * wtf/HashSet.h:
2791         (WTF::HashSet::HashSet):
2792         Add a HashSet constructor that takes an initializer list.
2793
2794 2014-01-11  Sam Weinig  <sam@webkit.org>
2795
2796         Fix the EFL build.
2797
2798         * wtf/IteratorAdaptors.h:
2799         (WTF::TransformIterator::operator*):
2800
2801 2014-01-11  Sam Weinig  <sam@webkit.org>
2802
2803         Add support for null StringViews
2804         https://bugs.webkit.org/show_bug.cgi?id=126827
2805
2806         Reviewed by Anders Carlsson.
2807
2808         - Do some style cleanup while in the neighborhood.
2809
2810         * wtf/text/StringView.h:
2811         (WTF::StringView::StringView):
2812         Add default constructor to create a null StringView.
2813
2814         (WTF::StringView::isNull):
2815         Add isNull(), matching the semantics of String.
2816
2817         (WTF::StringView::operator bool):
2818         Add an explicit operator bool() to allow use in if-statements. 
2819
2820 2014-01-11  Sam Weinig  <sam@webkit.org>
2821
2822         Clean up iterator filter / iterator range code
2823         https://bugs.webkit.org/show_bug.cgi?id=126817
2824
2825         Reviewed by Anders Carlsson.
2826
2827         - Renames IteratorPair to IteratorRange.
2828         - Splits FilterIterator into FilterIterator (which now only filters) and
2829           TransformIterator (which does the transform part of the old FilterIterator).
2830           Move both of these to IteratorAdaptors.h
2831
2832         * GNUmakefile.list.am:
2833         * WTF.vcxproj/WTF.vcxproj:
2834         * WTF.vcxproj/WTF.vcxproj.filters:
2835         * WTF.xcodeproj/project.pbxproj:
2836         * wtf/CMakeLists.txt:
2837         * wtf/FilterIterator.h: Removed.
2838         Add/remove files.
2839
2840         * wtf/HashMap.h:
2841         (WTF::HashMap::keys):
2842         (WTF::HashMap::values):
2843         * wtf/RefPtrHashMap.h:
2844         Update for rename to IteratorRange. Simplify by using makeIteratorRange().
2845
2846         * wtf/IteratorAdaptors.h: Copied from wtf/FilterIterator.h.
2847         (WTF::FilterIterator::FilterIterator):
2848         (WTF::FilterIterator::operator*):
2849         (WTF::makeFilterIterator):
2850         (WTF::TransformIterator::TransformIterator):
2851         (WTF::TransformIterator::operator++):
2852         (WTF::TransformIterator::operator*):
2853         (WTF::TransformIterator::operator==):
2854         (WTF::TransformIterator::operator!=):
2855         (WTF::makeTransformIterator):
2856         Split up filtering and transforming. Add makeFilterIterator() and makeTransformIterator()
2857         helpers.
2858
2859         * wtf/IteratorPair.h: Removed.
2860         * wtf/IteratorRange.h: Copied from wtf/IteratorPair.h.
2861         (WTF::IteratorRange::IteratorRange):
2862         (WTF::makeIteratorRange):
2863         Renamed to IteratorRange and adds makeIteratorRange() helper.
2864
2865 2014-01-10  David Kilzer  <ddkilzer@apple.com>
2866
2867         Clean up architectures in xcconfig files
2868         <http://webkit.org/b/126794>
2869
2870         Reviewed by Andy Estes.
2871
2872         * Configurations/Base.xcconfig:
2873         - Add new arch.
2874
2875 2014-01-10  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
2876
2877         [EFL][JSC] Enable udis86 disassembler on efl.
2878         https://bugs.webkit.org/show_bug.cgi?id=125502
2879
2880         Reviewed by Michael Saboff.
2881
2882         Enable udis86 disassembler on efl and fix build warnings.
2883
2884         * wtf/Platform.h:
2885           Enable udis86 disassembler on EFL.
2886
2887 2014-01-10  Hunseop Jeong  <hs85.jeong@samsung.com>
2888
2889         [EFL] Enable the DFG_JIT on ARMv7
2890         https://bugs.webkit.org/show_bug.cgi?id=126742
2891
2892         Reviewed by Gyuyoung Kim.
2893
2894         Turn on ENABLE_DFG_JIT on ARMv7 for EFL.
2895
2896         * wtf/Platform.h:
2897
2898 2014-01-07  Mark Hahnenberg  <mhahnenberg@apple.com>
2899
2900         Marking should be generational
2901         https://bugs.webkit.org/show_bug.cgi?id=126552
2902
2903         Reviewed by Geoffrey Garen.
2904
2905         * wtf/Bitmap.h:
2906         (WTF::WordType>::count): Added a cast that became necessary when Bitmap
2907         is used with smaller types than int32_t.
2908
2909 2014-01-09  Simon Fraser  <simon.fraser@apple.com>
2910
2911         Enable async scrolling for iOS
2912         https://bugs.webkit.org/show_bug.cgi?id=126730
2913
2914         Reviewed by Tim Horton.
2915         
2916         Turn on ENABLE_ASYNC_SCROLLING for iOS.
2917
2918         * wtf/FeatureDefines.h:
2919
2920 2014-01-09  Anders Carlsson  <andersca@apple.com>
2921
2922         Remove Blackberry and QNX bits from WTF
2923         https://bugs.webkit.org/show_bug.cgi?id=126726
2924
2925         Reviewed by Benjamin Poulain.
2926
2927         * wtf/Assertions.cpp:
2928         * wtf/Atomics.h:
2929         * wtf/CurrentTime.cpp:
2930         (WTF::currentCPUTime):
2931         * wtf/DateMath.cpp:
2932         * wtf/DisallowCType.h:
2933         * wtf/FeatureDefines.h:
2934         * wtf/InlineASM.h:
2935         * wtf/MathExtras.h:
2936         * wtf/NumberOfCores.cpp:
2937         (WTF::numberOfProcessorCores):
2938         * wtf/OSAllocatorPosix.cpp:
2939         (WTF::OSAllocator::reserveUncommitted):
2940         (WTF::OSAllocator::commit):
2941         (WTF::OSAllocator::decommit):
2942         * wtf/Platform.h:
2943         * wtf/PlatformBlackBerry.cmake: Removed.
2944         * wtf/RAMSize.cpp:
2945         (WTF::computeRAMSize):
2946         * wtf/StackBounds.cpp:
2947         * wtf/ThreadingPthreads.cpp:
2948         (WTF::initializeThreading):
2949         (WTF::initializeCurrentThreadInternal):
2950         * wtf/blackberry/MainThreadBlackBerry.cpp: Removed.
2951         * wtf/blackberry/RunLoopBlackBerry.cpp: Removed.
2952         * wtf/text/AtomicString.h:
2953         * wtf/text/StringImpl.h:
2954         * wtf/text/WTFString.h:
2955
2956 2014-01-09  Daniel Bates  <dabates@apple.com>
2957
2958         [iOS] Upstream WebCore/platform changes
2959         https://bugs.webkit.org/show_bug.cgi?id=126654
2960
2961         Rubber-stamped by David Kilzer.
2962
2963         * wtf/MainThread.cpp:
2964         (WTF::canAccessThreadLocalDataForThread):
2965         * wtf/MainThread.h:
2966
2967 2014-01-09  Commit Queue  <commit-queue@webkit.org>
2968
2969         Unreviewed, rolling out r161540.
2970         http://trac.webkit.org/changeset/161540
2971         https://bugs.webkit.org/show_bug.cgi?id=126704
2972
2973         Caused assertion failures on multiple tests (Requested by ap
2974         on #webkit).
2975
2976         * wtf/Bitmap.h:
2977         (WTF::WordType>::count):
2978
2979 2014-01-07  Mark Hahnenberg  <mhahnenberg@apple.com>
2980
2981         Marking should be generational
2982         https://bugs.webkit.org/show_bug.cgi?id=126552
2983
2984         Reviewed by Geoffrey Garen.
2985
2986         * wtf/Bitmap.h:
2987         (WTF::WordType>::count): Added a cast that became necessary when Bitmap
2988         is used with smaller types than int32_t.
2989
2990 2014-01-08  Anders Carlsson  <andersca@apple.com>
2991
2992         Add WTF::StringView and use it for grammar checking
2993         https://bugs.webkit.org/show_bug.cgi?id=126644
2994
2995         Reviewed by Antti Koivisto.
2996
2997         Add a new StringView class which is an immutable reference to either an 8-bit or a 16-bit string.
2998
2999         This makes it easier to pass substrings around without having to either copy string data
3000         or upconvert and use UChar pointers.
3001
3002         The StringView class is very loosely based on the std::string_view class which is proposed for a future version of C++,
3003         see http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3609.html for more details.
3004
3005         * GNUmakefile.list.am:
3006         * WTF.vcxproj/WTF.vcxproj:
3007         * WTF.vcxproj/WTF.vcxproj.filters:
3008         * WTF.xcodeproj/project.pbxproj:
3009         * wtf/CMakeLists.txt:
3010         * wtf/Forward.h:
3011         * wtf/text/StringView.h: Added.
3012         (WTF::StringView::StringView):
3013         (WTF::StringView::empty):
3014         (WTF::StringView::characters8):
3015         (WTF::StringView::characters16):
3016         (WTF::StringView::isEmpty):
3017         (WTF::StringView::length):
3018         (WTF::StringView::is8Bit):
3019         (WTF::StringView::substring):
3020         (WTF::StringView::toString):
3021         (WTF::StringView::toStringWithoutCopying):
3022         (WTF::StringView::encodedCharacters):
3023
3024 2014-01-07  David Farler  <dfarler@apple.com>
3025
3026         [ASAN] Building with trunk clang corrupts sandbox profile with comment from Compiler.h
3027         https://bugs.webkit.org/show_bug.cgi?id=124532
3028
3029         Reviewed by David Kilzer.
3030
3031         * wtf/Compiler.h:
3032         Remove this quirk - it does nothing.
3033
3034 2014-01-06  Filip Pizlo  <fpizlo@apple.com>
3035
3036         Get rid of ENABLE(VALUE_PROFILER). It's on all the time now.
3037
3038         Rubber stamped by Mark Hahnenberg.
3039
3040         * wtf/Platform.h:
3041
3042 2014-01-06  Zan Dobersek  <zdobersek@igalia.com>
3043
3044         Remove using directives for the std namespace from WTF
3045         https://bugs.webkit.org/show_bug.cgi?id=126524
3046
3047         Reviewed by Alexey Proskuryakov.
3048
3049         Remove the using directives for the std namespace throughout the WTF code.
3050         The more explicit std:: nested name specifier should be used instead.
3051
3052         * wtf/MediaTime.cpp:
3053         (WTF::MediaTime::createWithFloat):
3054         (WTF::MediaTime::createWithDouble):
3055         * wtf/text/StringImpl.cpp:
3056         (WTF::StringImpl::create):
3057         (WTF::StringImpl::lower):
3058         (WTF::StringImpl::upper):
3059         (WTF::StringImpl::foldCase):
3060         (WTF::StringImpl::find):
3061         (WTF::StringImpl::findIgnoringCase):
3062         (WTF::reverseFindInner):
3063         (WTF::StringImpl::reverseFind):
3064         (WTF::reverseFindIgnoringCaseInner):
3065         (WTF::StringImpl::reverseFindIgnoringCase):
3066         (WTF::StringImpl::replace):
3067         (WTF::StringImpl::utf8ForCharacters):
3068         (WTF::StringImpl::utf8ForRange):
3069         * wtf/text/WTFString.cpp:
3070         (WTF::String::append):
3071         (WTF::String::appendInternal):
3072         (WTF::String::insert):
3073         (WTF::String::substringSharingImpl):
3074         (WTF::String::fromUTF8):
3075         (WTF::toIntegralType):
3076         * wtf/win/RunLoopWin.cpp:
3077
3078 2014-01-03  Mark Hahnenberg  <mhahnenberg@apple.com>
3079
3080         DoublyLinkedLists can't be concatenated
3081         https://bugs.webkit.org/show_bug.cgi?id=125976
3082
3083         Reviewed by Filip Pizlo.
3084
3085         * wtf/DoublyLinkedList.h:
3086         (WTF::DoublyLinkedList<T>::append):
3087
3088 2014-01-04  Zan Dobersek  <zdobersek@igalia.com>
3089
3090         Explicitly use the std:: nested name specifier when using std::pair, std::make_pair
3091         https://bugs.webkit.org/show_bug.cgi?id=126439
3092
3093         Reviewed by Andreas Kling.
3094
3095         * wtf/VectorTraits.h: Stop bringing std::pair into the current scope.
3096
3097 2014-01-02  Gavin Barraclough  <barraclough@apple.com>
3098
3099         Refactor NSActivity handling code from ChildProcess to UserActivity
3100         https://bugs.webkit.org/show_bug.cgi?id=126330
3101
3102         Reviewed by Sam Weinig.
3103
3104         UserActivity is a mechanism to express to the operating system (where appropriate)
3105         that a user initiated activity is taking place, and as such that resources should be
3106         made available to the process accordingly.
3107
3108         Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us
3109         to hold different activity tokens for different user actions (which simplifies the
3110         handling, and aides debugging since the token can more accurately express the activity
3111         taking place), and also will allow us to avoid the layering difficulty of calling back
3112         up the stack to WebKit to register that an activity is taking place.
3113
3114         * wtf/Platform.h:
3115             - added HAVE_NS_ACTIVITY.
3116
3117 2013-12-30  Commit Queue  <commit-queue@webkit.org>
3118
3119         Unreviewed, rolling out r161157, r161158, r161160, r161161,
3120         r161163, and r161165.
3121         http://trac.webkit.org/changeset/161157
3122         http://trac.webkit.org/changeset/161158
3123         http://trac.webkit.org/changeset/161160
3124         http://trac.webkit.org/changeset/161161
3125         http://trac.webkit.org/changeset/161163
3126         http://trac.webkit.org/changeset/161165
3127         https://bugs.webkit.org/show_bug.cgi?id=126332
3128
3129         Broke WebKit2 on Mountain Lion (Requested by ap on #webkit).
3130
3131         * GNUmakefile.list.am:
3132         * WTF.vcxproj/WTF.vcxproj:
3133         * WTF.vcxproj/WTF.vcxproj.filters:
3134         * WTF.xcodeproj/project.pbxproj:
3135         * wtf/CMakeLists.txt:
3136         * wtf/Forward.h:
3137         * wtf/PlatformWin.cmake:
3138         * wtf/threads/BinarySemaphore.cpp: Added.
3139         (WTF::BinarySemaphore::BinarySemaphore):
3140         (WTF::BinarySemaphore::~BinarySemaphore):
3141         (WTF::BinarySemaphore::signal):
3142         (WTF::BinarySemaphore::wait):
3143         * wtf/threads/BinarySemaphore.h: Added.
3144         (WTF::BinarySemaphore::event):
3145         * wtf/threads/win/BinarySemaphoreWin.cpp: Added.
3146         (WTF::BinarySemaphore::BinarySemaphore):
3147         (WTF::BinarySemaphore::~BinarySemaphore):
3148         (WTF::BinarySemaphore::signal):
3149         (WTF::BinarySemaphore::wait):
3150
3151 2013-12-30  Anders Carlsson  <andersca@apple.com>
3152
3153         Replace yield() and pauseBriefly() with std::this_thread::yield()
3154         https://bugs.webkit.org/show_bug.cgi?id=126105
3155
3156         Reviewed by Sam Weinig.
3157
3158         * wtf/ByteSpinLock.h:
3159         (WTF::ByteSpinLock::lock):
3160         * wtf/Threading.h:
3161         * wtf/ThreadingPrimitives.h:
3162         * wtf/ThreadingPthreads.cpp:
3163         * wtf/ThreadingWin.cpp:
3164
3165 2013-12-30  Sam Weinig  <sam@webkit.org>
3166
3167         Remove unnecessary non-const overload in IteratorPair
3168         https://bugs.webkit.org/show_bug.cgi?id=126314
3169
3170         Reviewed by Anders Carlsson.
3171
3172         * wtf/IteratorPair.h:
3173
3174 2013-12-30  Sam Weinig  <sam@webkit.org>
3175
3176         Remove WTF's BinarySemaphore
3177         https://bugs.webkit.org/show_bug.cgi?id=126310
3178
3179         Reviewed by Anders Carlsson.
3180
3181         It's unused. Also remove the now empty wtf/threads directory.
3182
3183         * GNUmakefile.list.am:
3184         * WTF.vcxproj/WTF.vcxproj:
3185         * WTF.vcxproj/WTF.vcxproj.filters:
3186         * WTF.xcodeproj/project.pbxproj:
3187         * wtf/CMakeLists.txt:
3188         * wtf/Forward.h:
3189         * wtf/PlatformWin.cmake:
3190         * wtf/threads: Removed.
3191         * wtf/threads/BinarySemaphore.cpp: Removed.
3192         * wtf/threads/BinarySemaphore.h: Removed.
3193         * wtf/threads/win: Removed.
3194         * wtf/threads/win/BinarySemaphoreWin.cpp: Removed.
3195
3196 2013-12-30  Roger Fong  <roger_fong@apple.com>
3197
3198         [Windows] Unreviewed build fix following r160959.
3199
3200         * wtf/Platform.h:
3201
3202 2013-12-30  Anders Carlsson  <andersca@apple.com>
3203
3204         Replace WTF::ThreadingOnce with std::call_once
3205         https://bugs.webkit.org/show_bug.cgi?id=126215
3206
3207         Reviewed by Sam Weinig.
3208
3209         * GNUmakefile.list.am:
3210         * wtf/CompilationThread.cpp:
3211         (WTF::initializeCompilationThreads):
3212         * wtf/ThreadingOnce.h: Removed.
3213
3214 2013-12-26  Sam Weinig  <sam@webkit.org>
3215
3216         Move FilterIterator and IteratorPair to WTF and reimplement HashMap::keys() and HashMap::values() using IteratorPair
3217         https://bugs.webkit.org/show_bug.cgi?id=126253
3218
3219         Reviewed by Anders Carlsson.
3220
3221         * GNUmakefile.list.am:
3222         * WTF.vcxproj/WTF.vcxproj:
3223         * WTF.vcxproj/WTF.vcxproj.filters:
3224         * WTF.xcodeproj/project.pbxproj:
3225         * wtf/CMakeLists.txt:
3226         Add new files.
3227
3228         * wtf/HashMap.h:
3229         * wtf/RefPtrHashMap.h:
3230         Remove the old implementation of keys() and values() and replace it with one
3231         that uses IteratorPair.
3232         
3233         * wtf/FilterIterator.h: Copied from Source/WebKit2/Shared/FilterIterator.h.
3234         * wtf/IteratorPair.h: Copied from Source/WebKit2/Shared/IteratorPair.h.
3235
3236 2013-12-27  Daniel Bates  <dabates@apple.com>
3237
3238         [iOS] Upstream WebCore/page changes
3239         https://bugs.webkit.org/show_bug.cgi?id=126180
3240
3241         Reviewed by Darin Adler.
3242
3243         * wtf/FeatureDefines.h: Define ENABLE_IOS_TOUCH_EVENTS to be enabled by default
3244         when building iOS with ENABLE(TOUCH_EVENTS).
3245
3246 2013-12-25  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3247
3248         [Nix] Building with DRAG_SUPPORT enabled
3249         https://bugs.webkit.org/show_bug.cgi?id=126233
3250
3251         Reviewed by Daniel Bates.
3252
3253         * wtf/nix/FeatureDefinesNix.h:
3254
3255 2013-12-24  Commit Queue  <commit-queue@webkit.org>
3256
3257         Unreviewed, rolling out r160959.
3258         http://trac.webkit.org/changeset/160959
3259         https://bugs.webkit.org/show_bug.cgi?id=126222
3260
3261         Caused Windows build to fail (Requested by rfong on #webkit).
3262
3263         * wtf/ByteSpinLock.h:
3264         (WTF::ByteSpinLock::lock):
3265         * wtf/Threading.h:
3266         * wtf/ThreadingPrimitives.h:
3267         (WTF::pauseBriefly):
3268         * wtf/ThreadingPthreads.cpp:
3269         (WTF::yield):
3270         * wtf/ThreadingWin.cpp:
3271         (WTF::yield):
3272
3273 2013-12-23  Benjamin Poulain  <bpoulain@apple.com>
3274
3275         Fix the build after r161031
3276
3277         I enabled ENABLE_CSS_SELECTOR_JIT by accident.
3278
3279         * wtf/Platform.h:
3280
3281 2013-12-23  Zan Dobersek  <zdobersek@igalia.com>
3282
3283         [GTK] Clean up compiler optimizations flags for libWTF, libJSC
3284         https://bugs.webkit.org/show_bug.cgi?id=126157
3285
3286         Reviewed by Gustavo Noronha Silva.
3287
3288         * GNUmakefile.am: Remove the -fstrict-aliasing and -O3 compiler flags for libWTF.la. -O3 gets
3289         overridden by -O2 that's listed in CXXFLAGS (or -O0 in case of debug builds) and -fstrict-aliasing
3290         is enabled when -O2 is used (and shouldn't be enabled in debug builds anyway).
3291
3292 2013-12-20  Anders Carlsson  <andersca@apple.com>
3293
3294         Replace yield() and pauseBriefly() with std::this_thread::yield()
3295         https://bugs.webkit.org/show_bug.cgi?id=126105
3296
3297         Reviewed by Sam Weinig.
3298
3299         * wtf/ByteSpinLock.h:
3300         (WTF::ByteSpinLock::lock):
3301         * wtf/Threading.h:
3302         * wtf/ThreadingPrimitives.h:
3303         * wtf/ThreadingPthreads.cpp:
3304         * wtf/ThreadingWin.cpp:
3305
3306 2013-12-20  Anders Carlsson  <andersca@apple.com>
3307
3308         Speed up case folding for 8-bit strings
3309         https://bugs.webkit.org/show_bug.cgi?id=126098
3310
3311         Reviewed by Geoffrey Garen.
3312
3313         Add a case folding lookup table for 8-bit strings and use it instead of calling down to u_foldCase.
3314         On a simple microbenchmark using a lookup table is about 15x faster.
3315
3316         * wtf/text/StringHash.h:
3317         (WTF::CaseFoldingHash::foldCase):
3318         * wtf/text/StringImpl.cpp:
3319         (WTF::equalIgnoringCase):
3320         * wtf/text/StringImpl.h:
3321
3322 2013-12-20  Myles C. Maxfield  <mmaxfield@apple.com>
3323
3324         Faster implementation of text-decoration-skip: ink
3325         https://bugs.webkit.org/show_bug.cgi?id=125718
3326
3327         Reviewed by Simon Fraser.
3328
3329         This creates a new preprocessor define, CSS3_TEXT_DECORATION_SKIP_INK,
3330         which enables the use of the text-decoration-skip: ink CSS value.
3331         Creating this new value simplifies the logic about when to enable the
3332         codepath for this CSS value.
3333
3334         * wtf/Platform.h:
3335
3336 2013-12-20  Simon Fraser  <simon.fraser@apple.com>
3337
3338         Change "threaded scrolling" terminology to "asynchronous scrolling"
3339         https://bugs.webkit.org/show_bug.cgi?id=126094
3340
3341         Reviewed by Tim Horton.
3342
3343         Rename ENABLE_THREADED_SCROLLING to ENABLE_ASYNC_SCROLLING.
3344
3345         * wtf/FeatureDefines.h:
3346
3347 2013-12-20  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
3348
3349         Build fails in debug mode after r160834.
3350         https://bugs.webkit.org/show_bug.cgi?id=126059
3351
3352         Reviewed by Csaba Osztrogonác.
3353
3354         Debug mode build failed due to comparing signed and unsigned in
3355         ASSERT(). Now both values are unsigned.
3356
3357         * wtf/dtoa/double-conversion.cc:
3358
3359 2013-12-19  Alex Christensen  <achristensen@webkit.org>
3360
3361         Final preparations for GStreamer on Windows.
3362         https://bugs.webkit.org/show_bug.cgi?id=125958
3363
3364         Reviewed by Benjamin Poulain.
3365
3366         * WTF.vcxproj/WTFDebugWinCairo.props:
3367         * WTF.vcxproj/WTFReleaseWinCairo.props:
3368         Include WinCairo.props.
3369         * wtf/Platform.h:
3370         Use GLib and GStreamer on WinCairo with video.
3371
3372 2013-12-18  Daniel Bates  <dabates@apple.com>
3373
3374         WTF, JavaScriptCore fails to build with trunk clang: operators new, new[],
3375         delete, delete[] cannot be declared inline
3376         https://bugs.webkit.org/show_bug.cgi?id=124186
3377         <rdar://problem/15644039>
3378
3379         Reviewed by Geoffrey Garen and Anders Carlsson.
3380
3381         Following <http://llvm.org/viewvc/llvm-project?view=revision&revision=193044>
3382         (http://llvm.org/bugs/show_bug.cgi?id=17591>), Clang emits warnings when
3383         operator new, delete are inlined. Such definitions cannot be inline per
3384         replacement.functions (17.6.4.6/3) of the C++ standard. For now,
3385         disable these warnings instead of exporting these functions.
3386
3387         * wtf/FastMalloc.h:
3388
3389 2013-12-19  Hugo Parente Lima  <hugo.lima@openbossa.org>
3390
3391         WTF fails to compile with gcc 4.8.2 and -Werror=array-bounds
3392         https://bugs.webkit.org/show_bug.cgi?id=125936
3393
3394         Reviewed by Anders Carlsson.
3395
3396         * wtf/dtoa/double-conversion.cc: Use a unsigned instead of int on buffer_pos type.
3397
3398 2013-12-19  Peter Szanka  <h868064@stud.u-szeged.hu>
3399
3400         Delete RVCT related code parts.
3401         https://bugs.webkit.org/show_bug.cgi?id=125626
3402
3403         Reviewed by Csaba Osztrogonác.
3404
3405         * wtf/Compiler.h: follow-up fix for r160648, remove an unnecessary comment.
3406
3407 2013-12-18  Alex Christensen  <achristensen@webkit.org>
3408
3409         [WinCairo] Preparation for GStreamer on Windows.
3410         https://bugs.webkit.org/show_bug.cgi?id=125946
3411
3412         Reviewed by Brent Fulgham.
3413
3414         * WTF.vcxproj/WTF.vcxproj:
3415         Use new GStreamer property sheets for WinCairo.
3416
3417 2013-12-18  Mark Hahnenberg  <mhahnenberg@apple.com>
3418
3419         DFG should have a separate StoreBarrier node
3420         https://bugs.webkit.org/show_bug.cgi?id=125530
3421
3422         Reviewed by Filip Pizlo.
3423
3424         * wtf/Platform.h: Added an #define for ENABLE(GGC) which will be used for landing things related to GenGC.
3425
3426 2013-12-16  Daniel Bates  <dabates@apple.com>
3427
3428         [iOS] Upstream WebCore/html changes
3429         https://bugs.webkit.org/show_bug.cgi?id=125765
3430
3431         Reviewed by Darin Adler.
3432
3433         Defined ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE, enabled by default on iOS.
3434
3435         * wtf/FeatureDefines.h:
3436
3437 2013-12-17  Alex Christensen  <achristensen@webkit.org>
3438
3439         Compile fix for WebGL on Windows without GRAPHICS_SURFACE.
3440         https://bugs.webkit.org/show_bug.cgi?id=125867
3441
3442         Reviewed by Martin Robinson.
3443
3444         * wtf/FeatureDefines.h:
3445         Removed unused ENABLE_GLIB_SUPPORT macro.
3446         * wtf/Platform.h:
3447         Don't use GRAPHICS_SURFACE for WebGL on Windows.
3448
3449 2013-12-17  Alex Christensen  <achristensen@webkit.org>
3450
3451         [Win] Fixed linker error with GStreamer.
3452         https://bugs.webkit.org/show_bug.cgi?id=124861
3453
3454         Reviewed by Martin Robinson.
3455
3456         * wtf/gobject/GOwnPtr.cpp:
3457         (WTF::GError):
3458         * wtf/gobject/GOwnPtr.h:
3459         Added WTF_EXPORT_PRIVATE to freeOwnedGPtr<GError> declaration and definition.
3460
3461 2013-12-17  Benjamin Poulain  <benjamin@webkit.org>
3462
3463         Add a simple register allocator to WebCore for x86_64
3464         https://bugs.webkit.org/show_bug.cgi?id=125771
3465
3466         Reviewed by Geoffrey Garen.
3467
3468         * wtf/Platform.h: Add a new flag "CSS_SELECTOR_JIT" to guard
3469         an experimental JIT compiler in WebCore.
3470
3471 2013-12-16  Anders Carlsson  <andersca@apple.com>
3472
3473         Remove EnumClass.h from WTF
3474         https://bugs.webkit.org/show_bug.cgi?id=125820
3475
3476         Reviewed by Darin Adler.
3477
3478         All compilers we build on now support real strongly typed enums, so we can remove the ENUM_CLASS version.
3479
3480         * WTF.vcxproj/WTF.vcxproj:
3481         * WTF.vcxproj/WTF.vcxproj.filters:
3482         * WTF.xcodeproj/project.pbxproj:
3483         * wtf/CheckedArithmetic.h:
3484         * wtf/EnumClass.h: Removed.
3485
3486 2013-12-16  Brent Fulgham  <bfulgham@apple.com>
3487
3488         [Win] Remove dead code after conversion to VS2013
3489         https://bugs.webkit.org/show_bug.cgi?id=125795
3490
3491         Reviewed by Darin Adler.
3492
3493         * wtf/Assertions.h: Include <inttypes.h> now that it exists.
3494         * wtf/Compiler.h: Update compiler checks for VS2013, and
3495         enable support for NEVER_INLINE
3496         * wtf/HashFunctions.h:
3497         (WTF::PtrHash::hash): Remove compiler workaround.
3498         * wtf/MathExtras.h: Remove C99 functions that are now supplied
3499         by the MS runtime library.
3500         * wtf/Platform.h: Remove old MSVC support flags.
3501         * wtf/StdLibExtras.h: Remove old MSVC workaround code.
3502
3503 2013-12-16  Alex Christensen  <achristensen@webkit.org>
3504
3505         Fixed Win64 build on VS2013.
3506         https://bugs.webkit.org/show_bug.cgi?id=125753
3507
3508         Reviewed by Brent Fulgham.
3509
3510         * WTF.vcxproj/WTF.vcxproj:
3511         Added correct PlatformToolset for 64-bit builds.
3512
3513 2013-12-16  Peter Szanka  <h868064@stud.u-szeged.hu>
3514
3515         Delete RVCT related code parts.
3516         https://bugs.webkit.org/show_bug.cgi?id=125626
3517
3518         Reviewed by Darin Adler.
3519
3520         * wtf/Assertions.h:
3521         * wtf/Compiler.h:
3522         * wtf/FastMalloc.h:
3523         * wtf/Platform.h:
3524
3525 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
3526
3527         [Win] Remove Pre-VS2013 support code.
3528         https://bugs.webkit.org/show_bug.cgi?id=125693
3529
3530         Reviewed by Darin Adler.
3531
3532         * wtf/StringPrintStream.cpp:
3533         (WTF::StringPrintStream::vprintf): Use va_copy, like a civilized person.
3534
3535 2013-12-12  Darin Adler  <darin@apple.com>
3536
3537         Incorrect handling of non-ASCII characters in WTF::base64DecodeInternal
3538         https://bugs.webkit.org/show_bug.cgi?id=125658
3539
3540         Reviewed by Alexey Proskuryakov.
3541
3542         * wtf/text/Base64.cpp:
3543         (WTF::base64EncodeInternal): Use a reference to an array instead of a pointer
3544         for the table argument type so we check the size of the array at the call site.
3545         (WTF::base64DecodeInternal): Ditto. Also added an bounds check before using the
3546         table so we don't load some random value for non-ASCII characters.
3547
3548 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
3549
3550         [Win] Unreviewed build fix after r160548
3551
3552         * WTF.vcxproj/WTFGenerated.vcxproj: Specify that we are using
3553         the vs12_xp target for Makefile-based projects.
3554
3555 2013-12-13  Anders Carlsson  <andersca@apple.com>
3556
3557         Require variadic templates to build WebKit
3558         https://bugs.webkit.org/show_bug.cgi?id=125701
3559
3560         Reviewed by Andreas Kling.
3561
3562         * wtf/Compiler.h:
3563         Add an #error if variadic templates are disabled.
3564
3565         * wtf/NeverDestroyed.h:
3566         * wtf/PassRef.h:
3567         * wtf/StdLibExtras.h:
3568         Remove a bunch of COMPILER_SUPPORTS(CXX_VARIADIC_TEMPLATES) #ifdefs.
3569
3570 2013-12-13  Peter Szanka  <h868064@stud.u-szeged.hu>
3571
3572         Delete INTEL C compiler related code parts.
3573         https://bugs.webkit.org/show_bug.cgi?id=125625
3574
3575         Reviewed by Darin Adler.
3576
3577         * wtf/Assertions.h:
3578         * wtf/Compiler.h:
3579
3580 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
3581
3582         [Win] Switch WebKit solution to Visual Studio 2013
3583         https://bugs.webkit.org/show_bug.cgi?id=125192
3584
3585         Reviewed by Anders Carlsson.
3586
3587         * WTF.vcxproj/WTF.vcxproj: Update for VS2013
3588         * WTF.vcxproj/WTF.vcxproj.filters: Ditto
3589
3590 2013-12-12  Brady Eidson  <beidson@apple.com>
3591
3592         DatabaseProcess IndexedDB: Establish a metadata backing store on disk
3593         https://bugs.webkit.org/show_bug.cgi?id=125258
3594
3595         Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton.
3596
3597         * wtf/text/WTFString.h: Export toUInt64Strict().
3598
3599 2013-12-12  Sam Weinig  <sam@webkit.org>
3600
3601         Replace uses of WTF::BitArray with std::bitset
3602         https://bugs.webkit.org/show_bug.cgi?id=125642
3603
3604         Reviewed by Anders Carlsson.
3605
3606         * GNUmakefile.list.am:
3607         * WTF.vcxproj/WTF.vcxproj:
3608         * WTF.vcxproj/WTF.vcxproj.filters:
3609         * WTF.xcodeproj/project.pbxproj:
3610         * wtf/BitArray.h: Removed.
3611         * wtf/CMakeLists.txt:
3612
3613 2013-12-11  David Kilzer  <ddkilzer@apple.com>
3614
3615         Define m_hasBadParent in InlineBox if defined(ADDRESS_SANITIZER)
3616         <http://webkit.org/b/125329>
3617
3618         Reviewed by Darin Adler.
3619
3620         * wtf/Assertions.h: Define macro
3621         ASSERT_WITH_SECURITY_IMPLICATION_DISABLED based on whether
3622         ASSERT_WITH_SECURITY_IMPLICATION() is enabled.
3623
3624 2013-12-11  Brendan Long  <b.long@cablelabs.com>
3625
3626         Type punning error in MD5.cpp
3627         https://bugs.webkit.org/show_bug.cgi?id=125412
3628
3629         Reviewed by Darin Adler.
3630
3631         * wtf/MD5.cpp:
3632         (WTF::toLittleEndian): Renamed, and use memcpy instead of casting.
3633         (WTF::MD5::addBytes): Renamed reverseBytes to toLittleEndian.
3634         (WTF::MD5::checksum): Same, and use memcpy instead of casting to prevent type punning error.
3635
3636 2013-12-11  Laszlo Vidacs  <lac@inf.u-szeged.hu>
3637
3638         Store SHA1 hash in std::array
3639         https://bugs.webkit.org/show_bug.cgi?id=125446
3640
3641         Reviewed by Darin Adler.
3642
3643         Change Vector to std::array and use typedef.
3644
3645         * wtf/SHA1.cpp:
3646         (WTF::SHA1::computeHash):
3647         (WTF::SHA1::hexDigest):
3648         (WTF::SHA1::computeHexDigest):
3649         * wtf/SHA1.h:
3650
3651 2013-12-11  Oliver Hunt  <oliver@apple.com>
3652
3653         Give Unique StringImpls a meaningful data pointer
3654         https://bugs.webkit.org/show_bug.cgi?id=125598
3655
3656         Reviewed by Michael Saboff.
3657
3658         Found by code inspection.  If there is a collision in an Identifier
3659         table when comparing to a string literal we attempt to use the data
3660         pointer (essentially this ends up being a null termination check).
3661
3662         Previously unique pointers just used the literal 1 as the data address
3663         but this obviously fails when dereferenced.  Instead we now make the