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