1 2014-08-11 Andy Estes <aestes@apple.com>
3 [iOS] Get rid of iOS.xcconfig
4 https://bugs.webkit.org/show_bug.cgi?id=135809
6 Reviewed by Joseph Pecoraro.
8 All iOS.xcconfig did was include AspenFamily.xcconfig, so there's no need for the indirection.
10 * Configurations/Base.xcconfig:
11 * Configurations/iOS.xcconfig: Removed.
12 * WTF.xcodeproj/project.pbxproj:
14 2014-08-12 Zan Dobersek <zdobersek@igalia.com>
17 https://bugs.webkit.org/show_bug.cgi?id=135833
19 Reviewed by Carlos Garcia Campos.
21 Place the GMutexLocker into the WTF namespace. There's no need for this
22 class to use FastMalloc since it's always allocated on the stack. The
23 constructor and class now operate on a GMutex reference. There's little
24 need for an additional inline specifier for methods defined in the header.
25 The mutex() method is removed as it was not used. m_val is renamed to a
26 more descriptive m_locked and is made a boolean.
28 * wtf/gobject/GMutexLocker.h:
29 (WTF::GMutexLocker::GMutexLocker):
30 (WTF::GMutexLocker::~GMutexLocker):
31 (WTF::GMutexLocker::lock):
32 (WTF::GMutexLocker::unlock):
33 (WebCore::GMutexLocker::GMutexLocker): Deleted.
34 (WebCore::GMutexLocker::~GMutexLocker): Deleted.
35 (WebCore::GMutexLocker::lock): Deleted.
36 (WebCore::GMutexLocker::unlock): Deleted.
37 (WebCore::GMutexLocker::mutex): Deleted.
39 2014-08-12 Zan Dobersek <zdobersek@igalia.com>
41 Make GRefPtr move-able
42 https://bugs.webkit.org/show_bug.cgi?id=135801
44 Reviewed by Carlos Garcia Campos.
46 Add move constructor and move assignment operator for GRefPtr.
48 * wtf/gobject/GRefPtr.h:
49 (WTF::GRefPtr::GRefPtr):
52 2014-08-10 Benjamin Poulain <benjamin@webkit.org>
54 Update HashTable's operator= after r172167 per review comments
57 Update the type as suggested by Darin.
59 2014-08-07 Benjamin Poulain <bpoulain@apple.com>
61 Get rid of SCRIPTED_SPEECH
62 https://bugs.webkit.org/show_bug.cgi?id=135729
64 Reviewed by Brent Fulgham.
66 * wtf/FeatureDefines.h:
68 2014-08-07 Benjamin Poulain <bpoulain@apple.com>
70 Get rid of INPUT_SPEECH
71 https://bugs.webkit.org/show_bug.cgi?id=135672
73 Reviewed by Andreas Kling.
75 * wtf/FeatureDefines.h:
77 2014-08-06 Dean Jackson <dino@apple.com>
79 ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED is not used anywhere. Remove it.
80 https://bugs.webkit.org/show_bug.cgi?id=135675
82 Reviewed by Sam Weinig.
84 * wtf/FeatureDefines.h:
86 2014-08-06 Benjamin Poulain <benjamin@webkit.org>
88 HashTable based classes leak a lot
89 https://bugs.webkit.org/show_bug.cgi?id=135638
91 Reviewed by Darin Adler.
94 The operator= taking a rvalue reference was never freeing the memory allocated
95 for the table of the left hand side object.
97 This patch fixes the leaks by doing an alloc+swap with a new object.
98 The object temp gets the reference to m_table, and destroys it in the regular destructor
99 when going out of scope.
101 Kudos to Pratik Solanki for finding the leaks.
103 2014-08-06 Dániel Bátyai <dbatyai.u-szeged@partner.samsung.com>
105 [JSC] Build fix for FTL on EFL after ftlopt merge
106 https://bugs.webkit.org/show_bug.cgi?id=135565
108 Reviewed by Mark Lam.
110 Added ENABLE(FTL_NATIVE_CALL_INLINING).
114 2014-08-04 Alex Christensen <achristensen@webkit.org>
116 Progress towards CMake on Mac.
117 https://bugs.webkit.org/show_bug.cgi?id=135528
119 Reviewed by Gyuyoung Kim.
121 * wtf/CMakeLists.txt:
122 Include text directory.
123 * wtf/PlatformMac.cmake: Added.
125 2014-07-31 Alex Christensen <achristensen@webkit.org>
127 Progress towards cmake on Windows.
128 https://bugs.webkit.org/show_bug.cgi?id=135484
130 Reviewed by Martin Robinson.
132 * wtf/CMakeLists.txt:
133 Added WTF_LIBRARY_TYPE because Windows needs WTF to be a shared library.
135 2014-07-30 Andreas Kling <akling@apple.com>
137 PropertyName's internal string is always atomic.
138 <https://webkit.org/b/135451>
140 Remove AtomicString::findStringWithHash() since nobody uses it anymore.
142 Reviewed by Benjamin Poulain.
144 * wtf/text/AtomicString.cpp:
145 (WTF::findString): Deleted.
146 (WTF::AtomicString::findStringWithHash): Deleted.
147 * wtf/text/AtomicString.h:
149 2014-07-30 Andy Estes <aestes@apple.com>
151 USE(CONTENT_FILTERING) should be ENABLE(CONTENT_FILTERING)
152 https://bugs.webkit.org/show_bug.cgi?id=135439
154 Reviewed by Tim Horton.
156 We now support two different platform content filters, and will soon support a mock content filter (as part of
157 webkit.org/b/128858). This makes content filtering a feature of WebKit, not just an adoption of a third-party
158 library. ENABLE() is the correct macro to use for such a feature.
162 2014-07-29 Brent Fulgham <bfulgham@apple.com>
164 [Win] Modify version numbering scheme to support 5-tuple versions
165 https://bugs.webkit.org/show_bug.cgi?id=135400
166 <rdar://problem/17849033>
168 Reviewed by David Kilzer.
170 * WTF.vcxproj/WTFPostBuild.cmd: Use new version-stamp.pl script
172 * WTF.vcxproj/WTFPreBuild.cmd: Make sure we have created the
173 appropriate version resource during builds.
175 2014-07-29 Daniel Bates <dabates@apple.com>
177 Use WTF::move() instead of std::move() to help ensure move semantics
178 https://bugs.webkit.org/show_bug.cgi?id=135351
180 Reviewed by Alexey Proskuryakov.
183 (WTF::KeyTraits>::HashTable):
185 2014-07-28 Brian J. Burg <burg@cs.washington.edu>
187 Should not export symbols for base64Encode inline adapter methods
188 https://bugs.webkit.org/show_bug.cgi?id=135355
190 Unreviewed build fix.
192 Fixes the build break introduced by r171682, where a base64Encode
193 inline adapter method was used in another header, thus creating
194 multiple definitions of it (and problems with with weak symbols).
196 * wtf/text/Base64.h: Remove WTF_EXPORT_PRIVATE for inlined methods.
198 2014-07-27 Filip Pizlo <fpizlo@apple.com>
200 Merge r170090, r170092, r170129, r170141, r170161, r170215, r170275, r170375, r170376, r170382, r170383, r170399, r170436, r170489, r170490, r170556 from ftlopt.
202 * wtf/text/WTFString.h:
204 2014-07-26 Filip Pizlo <fpizlo@apple.com>
206 Unreviewed, roll out r171641-r171644. It broke some tests; will investigate and
209 * wtf/text/WTFString.h:
211 2014-07-25 Filip Pizlo <fpizlo@apple.com>
213 Attempt to fix Windows.
215 * wtf/text/WTFString.h:
217 2014-07-25 Gavin Barraclough <baraclough@apple.com>
219 Yosemite version number is 101000
220 https://bugs.webkit.org/show_bug.cgi?id=135301
222 Reviewed by Sam Weinig.
224 * wtf/FeatureDefines.h:
227 2014-07-23 Brent Fulgham <bfulgham@apple.com>
229 [Win] Use NO_RETURN_DUE_TO_CRASH on Windows.
230 https://bugs.webkit.org/show_bug.cgi?id=13519
232 Reviewed by Mark Lam.
234 * wtf/Assertions.h: Add MSVC to list of compilers supporting this macro.
235 * wtf/FastMalloc.cpp: Correct function declaration for NO_RETURN_DUE_TO_CRASH.
237 2014-07-22 Filip Pizlo <fpizlo@apple.com>
239 Merge r169148, r169185, r169188, r169578, r169582, r169584, r169588, r169753 from ftlopt.
241 2014-06-04 Filip Pizlo <fpizlo@apple.com>
243 [ftlopt] AI should be able track structure sets larger than 1
244 https://bugs.webkit.org/show_bug.cgi?id=128073
246 Reviewed by Oliver Hunt.
249 (WTF::Bag::Node::Node):
252 2014-07-22 Filip Pizlo <fpizlo@apple.com>
254 Merge r168635, r168780, r169005, r169014, and r169143 from ftlopt.
256 2014-05-20 Filip Pizlo <fpizlo@apple.com>
258 [ftlopt] DFG bytecode parser should turn GetById with nothing but a Getter stub as stuff+handleCall, and handleCall should be allowed to inline if it wants to
259 https://bugs.webkit.org/show_bug.cgi?id=133105
261 Reviewed by Michael Saboff.
264 (WTF::Bag::iterator::operator!=):
266 2014-07-19 Zan Dobersek <zdobersek@igalia.com>
268 [WTF] Add the move constructor, move assignment operator for HashTable
269 https://bugs.webkit.org/show_bug.cgi?id=130772
271 Reviewed by Darin Adler.
273 HashTable has both copy constructor and copy assignment operator, meaning that the move constructor
274 and move assignment operator are implicitly deleted. This patch defines both to avoid unnecessary
275 copies when moves can be performed.
278 (WTF::KeyTraits>::HashTable):
280 2014-07-15 Commit Queue <commit-queue@webkit.org>
282 Unreviewed, rolling out r171107.
283 https://bugs.webkit.org/show_bug.cgi?id=134959
285 This was not the problem! (Requested by kling on #webkit).
289 "Revert: Run the FastMalloc scavenger thread on iOS as well."
290 https://bugs.webkit.org/show_bug.cgi?id=134927
291 http://trac.webkit.org/changeset/171107
293 2014-07-15 Andreas Kling <akling@apple.com>
295 Revert: Run the FastMalloc scavenger thread on iOS as well.
296 <https://webkit.org/b/134927>
297 <rdar://problem/17485079>
299 This appears to be the cause of some elusive crashes, and since I don't
300 have a way to reproduce them, let's just go back to not running the
301 scavenger thread on iOS.
303 Reviewed by Antti Koivisto.
305 * wtf/FastMalloc.cpp:
307 2014-07-13 Filip Pizlo <fpizlo@apple.com>
309 HashMap should have removeIf()
310 https://bugs.webkit.org/show_bug.cgi?id=134870
312 Reviewed by Sam Weinig.
314 Expose a new HashMap method, called removeIf(), which allows you to do an efficient
315 pass over the map and remove a bunch of things at once. This is used by DFG GCSE as
316 part of https://bugs.webkit.org/show_bug.cgi?id=134677.
321 (WTF::KeyTraits>::removeIf):
323 2014-07-11 peavo@outlook.com <peavo@outlook.com>
325 [Win] Enable DFG JIT.
326 https://bugs.webkit.org/show_bug.cgi?id=123615
328 Reviewed by Mark Lam.
332 2014-07-11 Commit Queue <commit-queue@webkit.org>
334 Unreviewed, rolling out r170995.
335 https://bugs.webkit.org/show_bug.cgi?id=134831
337 Causing odd crashes in debug builds (Requested by zdobersek on
342 "[WTF] Add the move constructor, move assignment operator for
344 https://bugs.webkit.org/show_bug.cgi?id=130772
345 http://trac.webkit.org/changeset/170995
347 2014-07-09 Zan Dobersek <zdobersek@igalia.com>
349 [WTF] Add the move constructor, move assignment operator for HashTable
350 https://bugs.webkit.org/show_bug.cgi?id=130772
352 Reviewed by Darin Adler.
354 HashTable has both copy constructor and copy assignment operator, meaning that the move constructor
355 and move assignment operator are implicitly deleted. This patch defines both to avoid unnecessary
356 copies when moves can be performed.
359 (WTF::KeyTraits>::HashTable):
361 2014-07-10 Alex Christensen <achristensen@webkit.org>
363 Enable same features on all Windows ports.
364 https://bugs.webkit.org/show_bug.cgi?id=134715
366 Reviewed by Brent Fulgham.
369 Use REQUEST_ANIMATION_FRAME_TIMER on WinCairo.
371 2014-07-09 Brent Fulgham <bfulgham@apple.com>
373 [Win] Unreviewed build fix after r170930.
375 * WTF.vcxproj/copy-files.cmd: Include cf files in
376 post-build copy operation.
378 2014-07-09 Brent Fulgham <bfulgham@apple.com>
380 [Win] Remove uses of 'bash' in build system
381 https://bugs.webkit.org/show_bug.cgi?id=134782
382 <rdar://problem/17615533>
384 Reviewed by Dean Jackson.
386 Remove uses of 'bash' by replacing Windows-specific bash scripts
387 with Perl equivalents.
389 * WTF.vcxproj/WTFGenerated.make:
390 * WTF.vcxproj/WTFGenerated.vcxproj:
391 * WTF.vcxproj/WTFGenerated.vcxproj.filters:
392 * WTF.vcxproj/WTFPreBuild.cmd:
393 * WTF.vcxproj/build-generated-files.pl: Copied from Source/WTF/WTF.vcxproj/build-generated-files.sh.
394 * WTF.vcxproj/build-generated-files.sh: Removed.
396 2014-07-09 Brent Fulgham <bfulgham@apple.com>
398 [Win] Remove use of 'grep' in build steps
399 https://bugs.webkit.org/show_bug.cgi?id=134770
400 <rdar://problem/17608783>
402 Reviewed by Tim Horton.
404 Replace uses of the grep command in Windows builds with the equivalent
407 * WTF.vcxproj/WTFPreBuild.cmd:
409 2014-07-07 Zan Dobersek <zdobersek@igalia.com>
411 Enable ARMv7 disassembler for the GTK port
412 https://bugs.webkit.org/show_bug.cgi?id=134676
414 Reviewed by Benjamin Poulain.
416 * wtf/Platform.h: Enable the ARMv7 disassembler for the GTK port when
417 targeting the ARMv7 architecture.
419 2014-07-06 Yoav Weiss <yoav@yoav.ws>
421 Turn on img@sizes compile flag
422 https://bugs.webkit.org/show_bug.cgi?id=134634
424 Reviewed by Benjamin Poulain.
426 * wtf/FeatureDefines.h: Added compile flag definition.
428 2014-07-03 Gyuyoung Kim <gyuyoung.kim@samsung.com>
430 Unreivewed, fix build break on EFL and GTK since r170767.
432 * wtf/CMakeLists.txt: Exclude Decoder.h and Encoder.h because those files were removed.
434 2014-07-03 Daniel Bates <dabates@apple.com>
437 https://bugs.webkit.org/show_bug.cgi?id=134500
439 Reviewed by Darin Adler.
441 Substitution of WTF::move() for std::move() rubber-stamped by Anders Carlsson.
443 Implement WTF::move(), a replacement for std::move(). WTF::move() is less error
444 prone than std::move() as it compile asserts that its argument is a non-const
445 lvalue reference before ultimately casting it to a rvalue reference (via std::move).
447 * wtf/Deque.h: Substitute WTF::move() for std::move().
448 * wtf/HashMap.h: Ditto.
449 * wtf/HashSet.h: Ditto.
450 * wtf/HashTable.h: Ditto.
451 * wtf/IteratorAdaptors.h: Ditto.
452 * wtf/IteratorRange.h: Ditto.
453 * wtf/ListHashSet.h: Ditto.
454 * wtf/MainThread.cpp: Ditto.
456 * wtf/StdLibExtras.h:
460 2014-07-03 Anders Carlsson <andersca@apple.com>
462 Get rid of Encoder.h and Decoder.h from WTF
463 https://bugs.webkit.org/show_bug.cgi?id=134600
465 Reviewed by Darin Adler.
467 * WTF.vcxproj/WTF.vcxproj:
468 * WTF.vcxproj/WTF.vcxproj.filters:
469 * WTF.xcodeproj/project.pbxproj:
470 * wtf/Decoder.h: Removed.
471 * wtf/Encoder.h: Removed.
473 2014-07-03 Ryuan Choi <ryuan.choi@samsung.com>
475 Broken build with build-webkit --no-video
476 https://bugs.webkit.org/show_bug.cgi?id=134587
478 Reviewed by Darin Adler.
480 MEDIA_CONTROLS_SCRIPT requires VIDEO enabled.
482 * wtf/FeatureDefines.h: Added error message for dependency failure.
484 2014-07-02 Enrica Casucci <enrica@apple.com>
486 iOS build fix after http://trac.webkit.org/changeset/170697.
492 2014-07-02 Dan Bernstein <mitz@apple.com>
494 Remove some code only needed for versions of Safari that are no longer supported
495 https://bugs.webkit.org/show_bug.cgi?id=134537
497 Reviewed by Anders Carlsson.
499 * wtf/Assertions.cpp:
502 2014-07-01 Alex Christensen <achristensen@webkit.org>
504 Reduce dynamic memory allocation in css jit.
505 https://bugs.webkit.org/show_bug.cgi?id=134416
507 Reviewed by Benjamin Poulain.
510 Added inlineCapacity optional template parameter.
512 2014-06-30 Commit Queue <commit-queue@webkit.org>
514 Unreviewed, rolling out r170605.
515 https://bugs.webkit.org/show_bug.cgi?id=134484
517 The changes cause crashes on ARM64 (Requested by benjaminp on
522 "Reduce dynamic memory allocation in css jit."
523 https://bugs.webkit.org/show_bug.cgi?id=134416
524 http://trac.webkit.org/changeset/170605
526 2014-06-30 Daniel Bates <dabates@apple.com>
528 Make TransformIterator::TransformIterator() take rvalue references
529 https://bugs.webkit.org/show_bug.cgi?id=134468
531 Reviewed by Darin Adler.
533 It's unnecessary to support TransformIterator::TransformIterator() taking const lvalue references
534 as we only call it with rvalues. As a side benefit, we can use move semantics to initialize the
535 members of TransformIterator.
537 * wtf/IteratorAdaptors.h:
538 (WTF::TransformIterator::TransformIterator): Make constructor take arguments as rvalue references.
539 (WTF::makeTransformIterator): Substitute std::move() for std::forward().
541 2014-06-30 Alex Christensen <achristensen@webkit.org>
543 Reduce dynamic memory allocation in css jit.
544 https://bugs.webkit.org/show_bug.cgi?id=134416
546 Reviewed by Benjamin Poulain.
549 Added inlineCapacity optional template parameter.
551 2014-06-30 Anders Carlsson <andersca@apple.com>
553 Add code for encoding legacy session history entries
554 https://bugs.webkit.org/show_bug.cgi?id=134452
556 Reviewed by Andreas Kling.
559 (WTF::MallocPtr::malloc):
560 (WTF::MallocPtr::realloc):
562 2014-06-27 Andreas Kling <akling@apple.com>
564 [ARMv7] Skip one particularly expensive fastFree() alignment check.
565 <https://webkit.org/b/134402>
567 The size class alignment check in fastFree() was crazy expensive on ARMv7
568 due to its use of modulo. Disabling it shaves 470ms off of PLT main thread
569 time in the web process.
571 Note that this was very hard to identify in profiles due to TCO.
573 Reviewed by Gavin Barraclough.
575 * wtf/FastMalloc.cpp:
576 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
578 2014-06-26 Andreas Kling <akling@apple.com>
580 Bump FastMalloc thread cache max size to 1MB on iOS.
581 <https://webkit.org/b/134365>
583 The previous limit (512kB) comes from the old days of very-low-memory
584 devices, and we can now afford to spend another 512kB here.
585 Note that we already have a mechanism to purge FastMalloc caches on
586 system memory pressure.
588 Looks like a ~400ms progression on PLT.
590 Reviewed by Geoff Garen.
592 * wtf/FastMalloc.cpp:
594 2014-06-26 Laszlo Gombos <l.gombos@samsung.com>
596 Define TARGET_OS_IPHONE to 0 for non-darwin ports
597 https://bugs.webkit.org/show_bug.cgi?id=134347
599 Reviewed by Darin Adler.
601 A follow-up to r169880 to make it easier to reason about
602 the code. The purpose of this change to allow
603 "#if TARGET_OS_IPHONE" in public header files.
607 2014-06-26 Chris Fleizach <cfleizach@apple.com>
609 Add an undo group for each dictated utterance in WebKit
610 https://bugs.webkit.org/show_bug.cgi?id=134086
612 Applied review comments from Sam Weinig.
614 Move the associated USE #define into Platform.h.
618 2014-06-25 Geoffrey Garen <ggaren@apple.com>
620 Unreviewed, rolling out r166876.
622 Caused some ECMA test262 failures
626 "Date object needs to check for ES5 15.9.1.14 TimeClip limit."
627 https://bugs.webkit.org/show_bug.cgi?id=131248
628 http://trac.webkit.org/changeset/166876
630 2014-06-25 peavo@outlook.com <peavo@outlook.com>
632 [Win64] ASM LLINT is not enabled.
633 https://bugs.webkit.org/show_bug.cgi?id=130638
635 Reviewed by Mark Lam.
637 * wtf/Platform.h: Enable LLINT and JIT for Win64.
639 2014-06-25 Laszlo Gombos <l.gombos@samsung.com>
641 Remove build guard for progress element
642 https://bugs.webkit.org/show_bug.cgi?id=134292
644 Reviewed by Benjamin Poulain.
646 The build flag is no longer needed as it is always on.
648 * wtf/FeatureDefines.h:
650 2014-06-24 Andreas Kling <akling@apple.com>
652 Run the FastMalloc scavenger thread on iOS as well.
653 <https://webkit.org/b/134287>
654 <rdar://problem/17446198>
656 Reviewed by Gavin Barraclough.
658 * wtf/FastMalloc.cpp:
660 2014-06-24 Anders Carlsson <andersca@apple.com>
662 Add PageState to HistoryItem conversion code
663 https://bugs.webkit.org/show_bug.cgi?id=134259
665 Reviewed by Andreas Kling.
668 (WTF::Optional::valueOr):
670 2014-06-24 László Langó <llango.u-szeged@partner.samsung.com>
672 [JavaScriptCore] Enable concurrent JIT on EFL.
673 https://bugs.webkit.org/show_bug.cgi?id=134242
675 Reviewed by Csaba Osztrogonác.
679 2014-06-23 Ryuan Choi <ryuan.choi@samsung.com>
681 [EFL] Replace RefPtr<Evas_Object> with UniquePtrEfl
682 https://bugs.webkit.org/show_bug.cgi?id=134236
684 Reviewed by Gyuyoung Kim.
686 Although there are ref/unref for Evas_Object, it's bit odd so we should call evas_object_del to destroy it.
687 So, this patch replaced RefPtr<Evas_Object> with UniquePtrEfl for the simplicity.
689 * wtf/PlatformEfl.cmake: Removed RefPtrEfl.cpp from source list.
690 * wtf/efl/RefPtrEfl.cpp: Removed.
691 * wtf/efl/RefPtrEfl.h: Removed.
693 2014-06-21 Brady Eidson <beidson@apple.com>
695 Gamepad API - Deprecate the existing implementation
696 https://bugs.webkit.org/show_bug.cgi?id=134108
698 Reviewed by Timothy Hatcher.
700 -Add new "GAMEPAD_DEPRECATED" build flag, moving the existing implementation to use it
701 -Move some implementation files into a "deprecated" subdirectory.
703 * wtf/FeatureDefines.h:
705 2014-06-21 Commit Queue <commit-queue@webkit.org>
707 Unreviewed, rolling out r170244.
708 https://bugs.webkit.org/show_bug.cgi?id=134157
710 GTK/EFL bindings generator works differently, making this
711 patch not work there. Will fix entire patch after a rollout.
712 (Requested by bradee-oh on #webkit).
716 "Gamepad API - Deprecate the existing implementation"
717 https://bugs.webkit.org/show_bug.cgi?id=134108
718 http://trac.webkit.org/changeset/170244
720 2014-06-21 Brady Eidson <beidson@apple.com>
722 Gamepad API - Deprecate the existing implementation
723 https://bugs.webkit.org/show_bug.cgi?id=134108
725 Reviewed by Timothy Hatcher.
727 -Add new "GAMEPAD_DEPRECATED" build flag, moving the existing implementation to use it
728 -Add the "Deprecated" suffix to some implementation files
730 * wtf/FeatureDefines.h:
732 2014-06-21 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com>
734 Removing PAGE_VISIBILITY_API compile guard.
735 https://bugs.webkit.org/show_bug.cgi?id=133844
737 Reviewed by Gavin Barraclough.
739 * wtf/FeatureDefines.h:
741 2014-06-20 Anders Carlsson <andersca@apple.com>
743 Add encoding and decoding support for WTF::Optional
744 https://bugs.webkit.org/show_bug.cgi?id=134125
746 Reviewed by Andreas Kling.
749 (WTF::Optional::operator=):
751 2014-06-20 Anders Carlsson <andersca@apple.com>
753 Add copy/move constructors and assignment operators to WTF::Optional
754 https://bugs.webkit.org/show_bug.cgi?id=134119
756 Reviewed by Andreas Kling.
759 (WTF::Optional::Optional):
760 (WTF::Optional::operator=):
762 2014-06-19 Anders Carlsson <andersca@apple.com>
764 Add WTF::Optional class
765 https://bugs.webkit.org/show_bug.cgi?id=134083
767 Reviewed by Andreas Kling.
769 * WTF.xcodeproj/project.pbxproj:
770 * wtf/Optional.h: Added.
771 (WTF::Optional::Optional):
772 (WTF::Optional::~Optional):
773 (WTF::Optional::operator bool):
774 (WTF::Optional::value):
776 2014-06-19 Dániel Bátyai <dbatyai.u-szeged@partner.samsung.com>
778 Remove ENABLE(LLINT) and ENABLE(LLINT_C_LOOP) guards
779 https://bugs.webkit.org/show_bug.cgi?id=130389
781 Reviewed by Mark Lam.
783 Removed ENABLE(LLINT) since we always build with it, and changed ENABLE(LLINT_C_LOOP)
784 into !ENABLE(JIT) since they are mutually exclusive.
786 * wtf/OSAllocatorPosix.cpp:
787 (WTF::OSAllocator::reserveAndCommit):
790 2014-06-18 Anders Carlsson <andersca@apple.com>
792 Add CF type cast function templates and use them in KeyedDecoder in WebKit2
793 https://bugs.webkit.org/show_bug.cgi?id=134033
795 Reviewed by Sam Weinig.
797 * WTF.xcodeproj/project.pbxproj:
798 * wtf/cf/TypeCasts.h: Added.
799 (WTF::dynamic_cf_cast):
800 Returns null if the given CFTypeRef object doesn't have the right type.
802 (WTF::checked_cf_cast):
803 ASSERTs (with security implication) if the given CFTypeRef object is null or doesn't have the right type.
805 2014-06-17 Tamas Gergely <tgergely.u-szeged@partner.samsung.com>
807 Misused PLATFORM(MIDDLE_ENDIAN) and PLATFORM(BIG_ENDIAN).
808 https://bugs.webkit.org/show_bug.cgi?id=128301
810 Reviewed by Daniel Bates.
812 Endianness is a CPU attribute, not a PLATFORM. PLATFORM() macro is replaced to CPU().
814 * wtf/text/ASCIIFastPath.h:
815 (WTF::copyLCharsFromUCharSource):
817 2014-06-17 Andreas Kling <akling@apple.com>
819 Web process main thread priority is lower than some network process threads.
820 <https://webkit.org/b/133987>
821 <rdar://problem/17330300>
823 Bring all of our threads to the appropriate priority level by opting in to the
824 threading QoS APIs. By marking them "user initiated", they still yield to UI
825 interaction, but take priority over background tasks.
827 Reviewed by Maciej Stachowiak.
831 (WTF::setCurrentThreadIsUserInitiated):
833 * wtf/ThreadingPthreads.cpp:
834 (WTF::createThreadInternal):
836 2014-06-17 Alex Christensen <achristensen@webkit.org>
838 Enable css jit for armv7 on iOS.
839 https://bugs.webkit.org/show_bug.cgi?id=133961
840 <rdar://problem/17310631>
842 Reviewed by Andreas Kling.
845 Enable css jit for ARM thumb on iOS.
847 2014-06-17 Dan Bernstein <mitz@apple.com>
849 String::isolatedCopy doesn’t return an isolated copy when used on an rvalue reference
850 https://bugs.webkit.org/show_bug.cgi?id=133968
852 Reviewed by Anders Carlsson.
854 Made the rvalue reference overload of isolatedCopy() non-const, so that std::move(*this) is
855 an rvalue reference that can be moved, rather than copied, into the returned String.
857 * wtf/text/WTFString.cpp:
858 (WTF::String::isolatedCopy):
859 * wtf/text/WTFString.h:
861 2014-06-15 Dan Bernstein <mitz@apple.com>
863 iOS build fix after r169995.
867 2014-06-15 Anders Carlsson <andersca@apple.com>
869 Add an autorelease() member function to RetainPtr
870 https://bugs.webkit.org/show_bug.cgi?id=133929
872 Reviewed by Dan Bernstein.
876 2014-06-13 Alex Christensen <achristensen@webkit.org>
878 Unreviewed disabling css jit on armv7. It's not quite ready yet.
881 Disable css jit on armv7.
883 2014-06-13 Alex Christensen <achristensen@webkit.org>
885 Enable css jit for armv7 on iOS.
886 https://bugs.webkit.org/show_bug.cgi?id=133890
887 <rdar://problem/17310631>
889 Reviewed by Andreas Kling.
892 Enable css jit for ARM thumb on iOS.
894 2014-06-13 Mark Hahnenberg <mhahnenberg@apple.com>
896 OSR exit should barrier the Executables for all InlineCallFrames, not just those on the stack at the time of exit
897 https://bugs.webkit.org/show_bug.cgi?id=133880
899 Reviewed by Filip Pizlo.
902 (WTF::Bag::iterator::operator!=): Add != to the Bag iterator so we can use it in range-based iteration.
904 2014-06-12 Gavin Barraclough <barraclough@apple.com>
906 Add support for thread/WorkQueue QoS
907 https://bugs.webkit.org/show_bug.cgi?id=130688
909 Reviewed by Anders Carlson & Simon Fraser.
911 Add the ability to mark threads as UserInteractive.
914 (WTF::setCurrentThreadIsUserInteractive):
915 - added method to set QoS of current thread to UserInteractive.
919 2014-06-12 Alexey Proskuryakov <ap@apple.com>
921 Fix Mac after r169880.
923 This revision added a C++ comment to Platform.h, which breaks sandbox profile
926 Also, I do not believe that this comment was entirely accurate - we've always used
927 this technique with GCC, so there has to be more to it. So, I just removed the comment.
931 2014-06-11 Csaba Osztrogonác <ossy@webkit.org>
933 [EFL][GTK] Ultimate fix not to have build failures
934 in the future because of "#if TARGET_OS_IPHONE" guards.
938 * wtf/Platform.h: Define TARGET_OS_IPHONE to 0 on EFL and GTK.
940 2014-06-11 Ryosuke Niwa <rniwa@webkit.org>
942 Turning on DUMP_PROPERTYMAP_STATS causes a build failure
943 https://bugs.webkit.org/show_bug.cgi?id=133673
945 Reviewed by Andreas Kling.
947 Added DEFINE_GLOBAL_FOR_LOGGING to allow running a destructor in logging code
948 that needs to be enabled in release builds (e.g. for JavaScriptCore).
950 * wtf/StdLibExtras.h:
952 2014-06-09 Benjamin Poulain <bpoulain@apple.com>
954 Improve CSSPrimitiveValue::customCSSText for ARMv7
955 https://bugs.webkit.org/show_bug.cgi?id=133597
957 Reviewed by Andreas Kling.
960 (WTF::RefPtr<T>::RefPtr):
961 * wtf/text/WTFString.h:
962 (WTF::String::String):
964 2014-06-05 Yoav Weiss <yoav@yoav.ws>
966 Align srcset parser with recent spec changes
967 https://bugs.webkit.org/show_bug.cgi?id=133504
969 Reviewed by Darin Adler.
971 I've added toInt and toFloat methods to StringView, and exposed
972 charactersToInt so that they can be used by
973 HTMLSrcsetParser.cpp.
975 * wtf/text/WTFString.h:
976 * wtf/text/StringView.h:
977 (WTF::StringView::toInt):
978 (WTF::StringView::toFloat):
980 2014-06-04 Alex Christensen <achristensen@webkit.org>
982 Enable WebGL on Windows.
983 https://bugs.webkit.org/show_bug.cgi?id=133503
985 Reviewed by Brent Fulgham.
987 * wtf/FeatureDefines.h:
988 Enable WebGL for AppleWin and WinCairo ports.
990 2014-06-01 Jer Noble <jer.noble@apple.com>
992 [MSE] Appends of overlapping sample data do not clear existing samples properly.
993 https://bugs.webkit.org/show_bug.cgi?id=133435
995 Reviewed by Darin Adler.
997 Add a dump method to MediaTime, so that MediaTimes can be easily converted to strings (for logging purposes).
1000 (WTF::MediaTime::dump):
1003 2014-05-31 Anders Carlsson <andersca@apple.com>
1005 Add a LazyNeverDestroyed class template and use it
1006 https://bugs.webkit.org/show_bug.cgi?id=133425
1008 Reviewed by Darin Adler.
1010 LazyNeverDestroyed is similar to NeverDestroyed, except it's lazily constructed
1011 by calling construct(). This makes it useful for using inside std::call_once functions.
1014 * wtf/NeverDestroyed.h:
1015 (WTF::LazyNeverDestroyed::construct):
1016 (WTF::LazyNeverDestroyed::operator T&):
1017 (WTF::LazyNeverDestroyed::get):
1018 (WTF::LazyNeverDestroyed::asPtr):
1019 (WTF::LazyNeverDestroyed::MaybeRelax::MaybeRelax):
1020 * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
1021 (WTF::atomicallyInitializedStaticMutex):
1022 * wtf/unicode/icu/CollatorICU.cpp:
1023 (WTF::cachedCollatorMutex):
1025 2014-05-29 Alex Christensen <achristensen@webkit.org>
1027 Enable css jit by default on arm64.
1028 https://bugs.webkit.org/show_bug.cgi?id=133246
1029 <rdar://problem/17073407>
1031 Reviewed by Benjamin Poulain.
1034 Added arm64 to list of supported architectures.
1036 2014-05-28 Filip Pizlo <fpizlo@apple.com>
1038 DFG::DCEPhase inserts into an insertion set in reverse, causing hilarious basic block corruption if you kill a lot of NewArrays
1039 https://bugs.webkit.org/show_bug.cgi?id=133368
1041 Reviewed by Mark Lam.
1044 (WTF::executeInsertions): This algorithm is only correct if insertions are added in the right order. Assert that the order is right.
1046 2014-05-27 Jon Lee <jonlee@apple.com>
1048 Update ENABLE(MEDIA_SOURCE) on Mac
1049 https://bugs.webkit.org/show_bug.cgi?id=133141
1051 Reviewed by Darin Adler.
1053 * wtf/FeatureDefines.h: #ifdef unneeded for Mac since it's covered in the .xcconfigs.
1055 2014-05-27 Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com>
1058 https://bugs.webkit.org/show_bug.cgi?id=132863
1060 Reviewed by Csaba Osztrogonác.
1062 * wtf/FeatureDefines.h:
1064 2014-05-27 Gwang Yoon Hwang <yoon@igalia.com>
1066 [GLIB] RunLoop::dispatch always executes the function on the main thread instead of the target thread.
1067 https://bugs.webkit.org/show_bug.cgi?id=133291
1069 Reviewed by Carlos Garcia Campos.
1071 GMainLoopSource::schedule[AfterDelay] must be used with the appropriate
1072 GMainContext. Because current implementations in RunLoopGtk passes nullptr
1073 instead of its runLoopContext when using GMainLoopSource, all of dispatched
1074 functions are executed on the main thread regardless of which runloops is used.
1076 This patch fixes the issue by passing the m_runLoopContext instead the default
1077 parameter to the GMainLoopSource::schedule[AfterDelay].
1079 * wtf/gtk/RunLoopGtk.cpp:
1080 (WTF::RunLoop::wakeUp):
1081 (WTF::RunLoop::TimerBase::start):
1083 2014-05-26 Darin Adler <darin@apple.com>
1085 Class name matching should use ASCII case-insensitive matching, not Unicode case folding
1086 https://bugs.webkit.org/show_bug.cgi?id=133292
1088 Reviewed by Anders Carlsson.
1090 * wtf/text/AtomicString.cpp:
1091 (WTF::AtomicString::addSlowCase): Change to take references instead of pointers since these
1092 arguments can never be null.
1093 (WTF::AtomicString::lower): Rearranged slightly to use PassRef in a more efficient but
1094 slightly uglier way.
1095 (WTF::AtomicString::convertToASCIILowercase): Added.
1096 * wtf/text/AtomicString.h: Updated for above changes.
1098 * wtf/text/StringImpl.cpp:
1099 (WTF::StringImpl::convertToASCIILowercase): Added.
1100 * wtf/text/StringImpl.h: Updated for above.
1102 * wtf/text/WTFString.cpp:
1103 (WTF::String::convertToASCIILowercase): Added.
1104 * wtf/text/WTFString.h: Updated for above.
1106 2014-05-22 Zan Dobersek <zdobersek@igalia.com>
1108 Add the partial specialization for VectorTraits<std::unique_ptr<P>>
1109 https://bugs.webkit.org/show_bug.cgi?id=133083
1111 Reviewed by Andreas Kling.
1113 * wtf/VectorTraits.h: Like for RefPtr<P>, OwnPtr<P> and Ref<P>, the partial
1114 specialization for VectorTraits<std::unique_ptr<P>> should exist and should
1115 inherit from SimpleClassVector.
1117 2014-05-20 Geoffrey Garen <ggaren@apple.com>
1119 Rolled out <http://trac.webkit.org/changeset/166184>
1120 https://bugs.webkit.org/show_bug.cgi?id=133144
1122 Reviewed by Gavin Barraclough.
1124 It caused a performance regression.
1126 * wtf/FastMalloc.cpp:
1127 (WTF::TCMalloc_PageHeap::runScavengerThread):
1129 * wtf/ThreadingPthreads.cpp:
1130 (WTF::createThreadInternal):
1131 (WTF::setCurrentThreadQOSUtility): Deleted.
1132 * wtf/ThreadingWin.cpp:
1133 (WTF::setCurrentThreadQOSUtility): Deleted.
1135 2014-05-20 Jer Noble <jer.noble@apple.com>
1137 [Mac] AVAssets are never destroyed; lack of an autorelease pool when calling callOnMainThread.
1138 https://bugs.webkit.org/show_bug.cgi?id=133130
1140 Reviewed by Geoff Garen.
1142 Wrap the function to be called in an autorelease pool, so that autoreleased objects are cleaned
1143 up immediately after the end of the function.
1145 * wtf/mac/MainThreadMac.mm:
1148 2014-05-18 Rik Cabanier <cabanier@adobe.com>
1150 support for navigator.hardwareConcurrency
1151 https://bugs.webkit.org/show_bug.cgi?id=132588
1153 Reviewed by Filip Pizlo.
1155 * wtf/FeatureDefines.h:
1157 2014-05-14 Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com>
1159 Remove CSS_STICKY_POSITION guards
1160 https://bugs.webkit.org/show_bug.cgi?id=132676
1162 Reviewed by Simon Fraser.
1164 * wtf/FeatureDefines.h:
1166 2014-05-13 Simon Fraser <simon.fraser@apple.com>
1168 [iOS WK2] background-attachment:fixed behaves very poorly
1169 https://bugs.webkit.org/show_bug.cgi?id=132881
1170 <rdar://problem/16789526>
1172 Reviewed by Beth Dakin.
1174 Remove ENABLE_FAST_MOBILE_SCROLLING. Ports can use the fixedBackgroundsPaintRelativeToDocument
1177 * wtf/FeatureDefines.h:
1179 2014-05-08 Alexey Proskuryakov <ap@apple.com>
1181 Automatically zip document bundles used via File API
1182 https://bugs.webkit.org/show_bug.cgi?id=132713
1183 <rdar://problem/13397892>
1185 Reviewed by Anders Carlsson.
1187 * wtf/FeatureDefines.h: Added ENABLE_FILE_REPLACEMENT for Mac.
1189 2014-05-07 Filip Pizlo <fpizlo@apple.com>
1191 UNREACHABLE_FOR_PLATFORM() is meant to be a release crash.
1193 Rubber stamped by Mark Hahnenberg..
1196 (UNREACHABLE_FOR_PLATFORM):
1198 2014-05-06 Alberto Garcia <berto@igalia.com>
1200 There is no HW_AVAILCPU on FreeBSD, NetBSD, and OpenBSD
1201 https://bugs.webkit.org/show_bug.cgi?id=132542
1203 Reviewed by Michael Saboff.
1205 Use sysconf() to get the number of processor cores.
1207 * wtf/NumberOfCores.cpp:
1208 (WTF::numberOfProcessorCores):
1210 2014-05-04 Darin Adler <darin@apple.com>
1212 RetainPtr: Use adoptCF function instead of AdoptCF constructor argument
1213 https://bugs.webkit.org/show_bug.cgi?id=80222
1215 Reviewed by Alexey Proskuryakov.
1217 All the clients are gone, so we can now remove AdoptCF and AdoptNS.
1219 * wtf/RetainPtr.h: Removed the public constructors that let you specify AdoptCF
1220 and AdoptNS. Instead, made the adoptCF and adoptNS functions be friends and use
1221 a private constructor that takes an Adopt argument.
1222 (WTF::adoptCF): Moved the Objective-C class check in here.
1223 (WTF::adoptNS): Moved the code to deal with the CFRetain for garbage collection
1224 in here; it used to be spread across the constructor and adoptNSReference.
1226 2014-05-04 Andreas Kling <akling@apple.com>
1228 Optimize JSRopeString for resolving directly to AtomicString.
1229 <https://webkit.org/b/132548>
1231 Add AtomicString::find([LU]Char*, unsigned length) helpers for finding
1232 an existing AtomicString without a StringImpl on hand.
1234 Reviewed by Filip Pizlo.
1236 * wtf/text/AtomicString.h:
1237 * wtf/text/AtomicString.cpp:
1238 (WTF::AtomicString::find):
1240 2014-05-01 Brent Fulgham <bfulgham@apple.com>
1242 Fix handling of attributes prior to compiling shader
1243 https://bugs.webkit.org/show_bug.cgi?id=132430
1245 Reviewed by Dean Jackson.
1247 WebGL programs that called bindAttribLocations prior to compiling shader sources
1248 would perform the bind using the non-hashed symbol name, but would later create
1249 the attributes as hashed names. Consequently, the program would refer to
1250 attributes that were never actually part of any shader, resulting in some amazing
1253 This patch adds a dictionary of hashed symbol names so that we can tell the WebGL
1254 program the proper name that will be used when the shader is eventually compiled,
1255 allowing the WebGL program to link against the proper symbol after compiling and
1259 (WTF::appendUnsigned64AsHex): Add uint64_t-compatible hex->string converter.
1261 2014-04-30 Geoffrey Garen <ggaren@apple.com>
1263 Link against bmalloc in production builds
1264 https://bugs.webkit.org/show_bug.cgi?id=132413
1266 Reviewed by Sam Weinig.
1268 Production builders have been configured to handle this, so let's build
1271 * Configurations/WTF.xcconfig:
1273 2014-05-01 Ryuan Choi <ryuan.choi@samsung.com>
1275 [EFL] There are many warnings with software backend
1276 https://bugs.webkit.org/show_bug.cgi?id=132422
1278 Reviewed by Gyuyoung Kim.
1280 * wtf/efl/EflTypedefs.h: Added Ecore_X_Window typedef
1282 2014-04-30 Simon Fraser <simon.fraser@apple.com>
1284 Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO
1285 https://bugs.webkit.org/show_bug.cgi?id=132396
1287 Reviewed by Eric Carlson.
1289 Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO and related code.
1291 * wtf/FeatureDefines.h:
1293 2014-04-30 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1295 [GTK][GStreamer] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
1296 https://bugs.webkit.org/show_bug.cgi?id=132390
1298 Reviewed by Philippe Normand.
1300 Since EFL port use GLib 2.38 and GTK+, 2.33.2, I assume it is OK
1301 remove, in GTK+ and GST, the existing glib version guards.
1303 This code was rollback from r149879 because Qt MIPS used it. But since
1304 Qt is gone, it is safe to remove now.
1306 * wtf/gobject/GRefPtr.cpp:
1307 (WTF::refGPtr): Deleted.
1308 (WTF::derefGPtr): Deleted.
1310 2014-04-29 Alex Christensen <achristensen@webkit.org>
1312 [WinCairo] Switch video from GStreamer to Media Foundation.
1313 https://bugs.webkit.org/show_bug.cgi?id=132358
1315 Reviewed by Brent Fulgham.
1317 * WTF.vcxproj/WTF.vcxproj:
1318 Removed dependencies on GStreamer.
1320 Use Media Foundation instead of GStreamer and GLib.
1322 2014-04-29 Filip Pizlo <fpizlo@apple.com>
1324 Unreviewed, fix cloop build.
1328 2014-04-29 Michael Saboff <msaboff@apple.com>
1330 For DARWIN platforms, use system temporary directory for DataLog output
1331 https://bugs.webkit.org/show_bug.cgi?id=132346
1333 Reviewed by Geoffrey Garen.
1335 Added code to call confstr() to access the process's temporary directory to use that
1336 location instead of /tmp/. Put the code behind #ifdef DATA_LOG_TO_DARWIN_TEMP_DIR.
1339 (WTF::initializeLogFileOnce):
1341 2014-04-25 Filip Pizlo <fpizlo@apple.com>
1343 Figure out how many cores are available for realsies.
1345 Rubber stamped by Andreas Kling.
1347 HW_AVAILCPU is more canonical than HW_NCPU. For example if you use hacks to tell Darwin
1348 to make it seem like there are fewer CPUs, HW_AVAILCPU will change but HW_NCPU won't.
1349 HW_NCPU doesn't reflect how much actual paralellism you'll get; it's merely reporting
1350 facts about the machine you're running on. HW_AVAILCPU is almost always what WebKit
1351 wants since it uses this information to decide how many threads to launch for various
1354 * wtf/NumberOfCores.cpp:
1355 (WTF::numberOfProcessorCores):
1357 2014-04-22 Brent Fulgham <bfulgham@apple.com>
1359 [Win] Support Python 2.7 in Cygwin
1360 https://bugs.webkit.org/show_bug.cgi?id=132023
1362 Reviewed by Michael Saboff.
1364 * WTF.vcxproj/WTFGenerated.make: Use proper path to Python.
1366 2014-04-21 Eric Carlson <eric.carlson@apple.com>
1368 [Mac] implement WebKitDataCue
1369 https://bugs.webkit.org/show_bug.cgi?id=131799
1371 Reviewed by Dean Jackson.
1373 * wtf/FeatureDefines.h: Define ENABLE_DATACUE_VALUE.
1375 2014-04-21 Darin Adler <darin@apple.com>
1377 Add HashSet::takeAny
1378 https://bugs.webkit.org/show_bug.cgi?id=131928
1380 Reviewed by Benjamin Poulain.
1382 * wtf/HashSet.h: Added an overload of take that takes an iterator,
1383 and used it to implement both the existing take and new takeAny functions.
1385 2014-04-20 Andreas Kling <akling@apple.com>
1387 Speed up jsStringWithCache() through WeakGCMap inlining.
1388 <https://webkit.org/b/131923>
1390 Add HashMap::fastAdd(), which is the same as add() except we'll tell
1391 the compiler to aggressively inline it.
1393 Reviewed by Darin Adler.
1398 2014-04-19 Filip Pizlo <fpizlo@apple.com>
1400 Make it easier to check if an integer sum would overflow
1401 https://bugs.webkit.org/show_bug.cgi?id=131900
1403 Reviewed by Darin Adler.
1405 * wtf/CheckedArithmetic.h:
1407 (WTF::sumOverflows):
1409 2014-04-18 Commit Queue <commit-queue@webkit.org>
1411 Unreviewed, rolling out r167527.
1412 https://bugs.webkit.org/show_bug.cgi?id=131883
1414 Broke 32-bit build (Requested by ap on #webkit).
1418 "[Mac] implement WebKitDataCue"
1419 https://bugs.webkit.org/show_bug.cgi?id=131799
1420 http://trac.webkit.org/changeset/167527
1422 2014-04-18 Eric Carlson <eric.carlson@apple.com>
1424 [Mac] implement WebKitDataCue
1425 https://bugs.webkit.org/show_bug.cgi?id=131799
1427 Reviewed by Dean Jackson.
1429 * wtf/FeatureDefines.h: Define ENABLE_DATACUE_VALUE.
1431 2014-04-18 Martin Robinson <mrobinson@igalia.com>
1433 Remove DynamicAnnotations.h?
1434 https://bugs.webkit.org/show_bug.cgi?id=131754
1436 Reviewed by Simon Fraser.
1438 This file, which helped support tools like Valgrind was unused.
1440 * WTF.vcxproj/WTF.vcxproj: Remove references to the files.
1441 * WTF.vcxproj/WTF.vcxproj.filters: Remove references to the files.
1442 * WTF.xcodeproj/project.pbxproj: Remove references to the files.
1443 * wtf/CMakeLists.txt: Remove references to the files.
1444 * wtf/DynamicAnnotations.cpp: Removed.
1445 * wtf/DynamicAnnotations.h: Removed.
1446 * wtf/ThreadSafeRefCounted.h: Remove references to the files.
1447 * wtf/text/StringStatics.cpp: Remove references to the files.
1449 2014-04-18 Philippe Normand <pnormand@igalia.com>
1451 Remove NETWORK_INFO support
1452 https://bugs.webkit.org/show_bug.cgi?id=131841
1454 Reviewed by Gyuyoung Kim.
1456 * wtf/FeatureDefines.h:
1458 2014-04-17 Filip Pizlo <fpizlo@apple.com>
1460 Don't include CompilationThread.h from StringImpl.h
1461 https://bugs.webkit.org/show_bug.cgi?id=131817
1463 Reviewed by Simon Fraser.
1465 * wtf/CompilationThread.h:
1466 * wtf/StdLibExtras.h:
1467 * wtf/text/StringImpl.h:
1469 2014-04-17 Darin Adler <darin@apple.com>
1471 Use HashMap<unique_ptr> and Vector<unique_ptr> instead of deprecatedDeleteAllValues
1472 https://bugs.webkit.org/show_bug.cgi?id=73757
1474 Reviewed by Brent Fulgham.
1477 (WTF::deprecatedDeleteAllValues): Deleted.
1479 2014-04-17 Darin Adler <darin@apple.com>
1481 Add separate flag for IndexedDatabase in workers since the current implementation is not threadsafe
1482 https://bugs.webkit.org/show_bug.cgi?id=131785
1483 rdar://problem/16003108
1485 Reviewed by Brady Eidson.
1487 * wtf/FeatureDefines.h: Added INDEXED_DATABASE_IN_WORKERS.
1489 2014-04-16 Simon Fraser <simon.fraser@apple.com>
1491 Don't include CryptographicallyRandomNumber.h in StringImpl.h
1492 https://bugs.webkit.org/show_bug.cgi?id=131772
1494 Reviewed by Sam Weinig.
1496 * wtf/text/StringImpl.h:
1498 2014-04-16 Gavin Barraclough <barraclough@apple.com>
1500 Update to pthread QoS SPI
1501 https://bugs.webkit.org/show_bug.cgi?id=131753
1503 Rubber stamped by Benjamin Poulain
1505 * wtf/ThreadingPthreads.cpp:
1506 (WTF::setCurrentThreadQOSUtility):
1508 2014-04-14 Geoffrey Garen <ggaren@apple.com>
1510 WTF should have an optional mbmalloc target so we can benchmark FastMalloc
1511 https://bugs.webkit.org/show_bug.cgi?id=131662
1513 Reviewed by Darin Adler.
1515 * WTF.xcodeproj/project.pbxproj: Added the target.
1516 * wtf/mbmalloc.cpp: Added. Implements the libmbmalloc.dylib API required
1519 2014-04-16 Darin Adler <darin@apple.com>
1521 Make Vector::takeLast work with move-only types (and optimize for types where move is faster)
1522 https://bugs.webkit.org/show_bug.cgi?id=131735
1524 Reviewed by Alexey Proskuryakov.
1527 (WTF::Vector::takeLast): Added a missing std::move. All the other take functions have it.
1529 2014-04-14 Mark Lam <mark.lam@apple.com>
1531 monotonicallyIncreasingTime() should only initialize its static timebaseInfo once.
1532 <https://webkit.org/b/131630>
1534 Reviewed by Filip Pizlo.
1536 The current initialization of the static field is not thread safe.
1538 * wtf/CurrentTime.cpp:
1539 (WTF::monotonicallyIncreasingTime):
1541 2014-04-14 Benjamin Poulain <benjamin@webkit.org>
1543 [JSC] Improve the call site of string comparison in some hot path
1544 https://bugs.webkit.org/show_bug.cgi?id=131605
1546 Reviewed by Darin Adler.
1548 * wtf/text/StringImpl.cpp:
1549 (WTF::stringImplContentEqual):
1550 Inline that function to reduce the call overhead for JSC.
1551 This is only inlined twice, it is not catastrophic for our binary.
1553 2014-04-13 Andy Estes <aestes@apple.com>
1555 Relax adoption requirements of RefCounted objects that are NeverDestroyed
1556 https://bugs.webkit.org/show_bug.cgi?id=131593
1558 Reviewed by Dan Bernstein.
1560 RefCounted objects that are created by NeverDestroyed<> won't have a
1561 RefPtr adopting them, so call relaxAdoptionRequirements().
1563 * wtf/NeverDestroyed.h:
1564 (WTF::NeverDestroyed::NeverDestroyed):
1565 (WTF::NeverDestroyed::MaybeRelax::MaybeRelax):
1567 2014-04-10 Brent Fulgham <bfulgham@apple.com>
1569 [Win] Clean up some 64-bit warnings from Visual Studio analyzer
1570 https://bugs.webkit.org/show_bug.cgi?id=131514
1572 Reviewed by Tim Horton.
1574 * WTF.vcxproj/WTF.vcxproj: Use correct platform settings for
1577 * wtf/CurrentTime.cpp:
1578 (WTF::highResUpTime): Resolve warning about deprecated API.
1579 * wtf/StackBounds.cpp:
1580 (WTF::StackBounds::initialize): Silence warning about
1581 an uninitialized variable.
1583 2014-04-09 Geoffrey Garen <ggaren@apple.com>
1585 Rolled back in r166972.
1587 This time, we conditionally exclude linking against bmalloc in Production
1588 builds. Production builds will not be able to link against bmalloc
1589 until the Production build system has been updated to build bmalloc.
1591 WTF should link against bmalloc
1592 https://bugs.webkit.org/show_bug.cgi?id=131403
1594 Reviewed by Mark Rowe.
1596 * Configurations/WTF.xcconfig:
1597 * WTF.xcodeproj/project.pbxproj:
1599 2014-04-09 Geoffrey Garen <ggaren@apple.com>
1601 Put bmalloc headers in the right place
1602 https://bugs.webkit.org/show_bug.cgi?id=131464
1604 Reviewed by Mark Rowe.
1606 * wtf/FastMalloc.cpp: Use "<bmalloc/...>" syntax so we can find our
1607 headers in <header-root>/usr/local/include/bmalloc/.
1609 2014-04-09 Geoffrey Garen <ggaren@apple.com>
1611 Rolled back out r166972.
1613 The production buildbots are still broken because the build-root script
1614 doesn't build bmalloc.
1616 * WTF.xcodeproj/project.pbxproj:
1618 2014-04-09 Geoffrey Garen <ggaren@apple.com>
1620 Rolled back in r166972.
1622 The iOS buildbot's scripts have been updated to build bmalloc, so the
1623 build should now succeed on the bot.
1625 Also renamed "Frameworks" to "Libraries" as suggested in a review comment.
1627 WTF should link against bmalloc
1628 https://bugs.webkit.org/show_bug.cgi?id=131403
1630 Reviewed by Michael Saboff.
1632 This is required to build successfullly with bmalloc enabled.
1634 * WTF.xcodeproj/project.pbxproj:
1636 2014-04-08 Geoffrey Garen <ggaren@apple.com>
1638 Stop linking WTF against bmalloc.
1640 Reviewed by Enrica Casucci.
1642 This seems to have broken an iOS buildbot script. Disable it for now
1643 until we can fix the script.
1645 * WTF.xcodeproj/project.pbxproj:
1647 2014-04-08 Geoffrey Garen <ggaren@apple.com>
1649 WTF should link against bmalloc
1650 https://bugs.webkit.org/show_bug.cgi?id=131403
1652 Reviewed by Michael Saboff.
1654 This is required to build successfullly with bmalloc enabled.
1656 * WTF.xcodeproj/project.pbxproj:
1658 2014-04-08 Geoffrey Garen <ggaren@apple.com>
1660 Added a bmalloc back-end for FastMalloc
1661 https://bugs.webkit.org/show_bug.cgi?id=131387
1663 Reviewed by Andreas Kling.
1665 We'll need to rethink some things if we adopt this back-end. For example,
1666 fastMallocSize() and fastMallocGoodSize() are no longer real things. But,
1667 this is enough to test for now.
1669 * wtf/FastMalloc.cpp:
1674 (WTF::fastMallocSize):
1675 (WTF::fastMallocGoodSize):
1676 (WTF::tryFastMalloc):
1677 (WTF::tryFastRealloc):
1678 (WTF::tryFastCalloc):
1679 (WTF::releaseFastMallocFreeMemory):
1680 (WTF::fastMallocStatistics):
1682 2014-04-08 Andres Gomez <agomez@igalia.com>
1684 [GTK] [EFL] Build fails with GCC < 4.8.x
1685 https://bugs.webkit.org/show_bug.cgi?id=130585
1687 Reviewed by Martin Robinson.
1689 The behavior in lower versions of GCC seem to be related to
1690 http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#2132.
1692 Provided explicit casts for the failing ambiguous overloads.
1694 * wtf/gtk/MainThreadGtk.cpp:
1695 (WTF::scheduleDispatchFunctionsOnMainThread):
1696 * wtf/gtk/RunLoopGtk.cpp:
1697 (WTF::RunLoop::wakeUp): Provided lambda with a RefPtr instead of
1698 ref and de-referring.
1700 2014-04-04 Mark Lam <mark.lam@apple.com>
1702 Date object needs to check for ES5 15.9.1.14 TimeClip limit.
1703 <https://webkit.org/b/131248>
1705 Reviewed by Mark Hahnenberg.
1708 - Moved the definition of maxECMAScriptTime to the .h file so that we
1709 can use it in other files as well.
1711 - Removed a stale comment for parseDateFromNullTerminatedCharacters().
1714 2014-04-04 Mark Hahnenberg <mhahnenberg@apple.com>
1717 https://bugs.webkit.org/show_bug.cgi?id=131246
1719 Reviewed by Geoff Garen.
1721 Remove OBJECT_MARK_LOGGING
1723 * wtf/FeatureDefines.h:
1726 2014-04-03 Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com>
1728 [EFL] Enable CSS JIT again, it works fine after r166666.
1730 Reviewed by Csaba Osztrogonác.
1734 2014-04-03 Javier Fernandez <jfernandez@igalia.com>
1736 [GTK][Cmake] Enable CSS JIT
1737 https://bugs.webkit.org/show_bug.cgi?id=131022
1739 Reviewed by Martin Robinson.
1741 * wtf/Platform.h: Enable CSS JIT for GTK port.
1743 2014-04-02 Frédéric Wang <fred.wang@free.fr>
1745 Operator stretching: read the Open Type MATH table
1746 https://bugs.webkit.org/show_bug.cgi?id=130324
1748 Reviewed by Chris Fleizach.
1750 * wtf/Platform.h: enable OPENTYPE_MATH on platforms that can read OpenType tables.
1752 2014-04-02 Alex Christensen <achristensen@webkit.org>
1754 [WinCairo] Build fix with GMainLoopSource.
1755 https://bugs.webkit.org/show_bug.cgi?id=131089
1757 Reviewed by Carlos Garcia Campos.
1759 * wtf/gobject/GMainLoopSource.cpp:
1760 Only compile if glib is used, which fixes compile errors with video disabled in WinCairo.
1761 * wtf/gobject/GMainLoopSource.h:
1762 Export the GMainLoopSource functions to WTF.dll to link with where they are called in the GStreamer code.
1763 Also removed spaces to appease style bot.
1765 2014-04-01 Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com>
1767 [EFL] REGRESSION(166569): It made DoYouEvenBench/Full.html, CSS/QuerySelector.html and Dromaeo performance tests crash
1768 https://bugs.webkit.org/show_bug.cgi?id=131039
1770 Reviewed by Csaba Osztrogonác.
1772 * wtf/Platform.h: Disable CSS JIT on EFL until proper fix.
1774 2014-04-01 Commit Queue <commit-queue@webkit.org>
1776 Unreviewed, rolling out r166583.
1777 https://bugs.webkit.org/show_bug.cgi?id=131040
1779 It's causing frequent crashes when running Layout Tests
1780 (Requested by svillar on #webkit).
1784 "[GTK][Cmake] Enable CSS JIT"
1785 https://bugs.webkit.org/show_bug.cgi?id=131022
1786 http://trac.webkit.org/changeset/166583
1788 2014-04-01 Javier Fernandez <jfernandez@igalia.com>
1790 [GTK][Cmake] Enable CSS JIT
1791 https://bugs.webkit.org/show_bug.cgi?id=131022
1793 Reviewed by Martin Robinson.
1795 * wtf/Platform.h: Enable CSS JIT for GTK port.
1797 2014-04-01 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1799 [CMake][EFL] Enable CSS JIT
1800 https://bugs.webkit.org/show_bug.cgi?id=131010
1802 Reviewed by Benjamin Poulain.
1804 * wtf/Platform.h: Enable CSS JIT for EFL port.
1806 2014-03-31 Dean Jackson <dino@apple.com>
1808 Remove WEB_ANIMATIONS
1809 https://bugs.webkit.org/show_bug.cgi?id=130989
1811 Reviewed by Simon Fraser.
1813 Remove this feature flag until we plan to implement.
1815 * wtf/FeatureDefines.h:
1817 2014-03-31 Alex Christensen <achristensen@webkit.org>
1819 Preparation for using Soup on Windows.
1820 https://bugs.webkit.org/show_bug.cgi?id=130615
1822 Reviewed by Carlos Garcia Campos.
1824 * WTF.vcxproj/WTF.vcxproj:
1825 * WTF.vcxproj/WTF.vcxproj.filters:
1826 Add all gobject source files in WinCairo build.
1827 * wtf/gobject/GRefPtr.h:
1828 Export refGPtr and derefGPtr overloads in WTF.dll to fix linker errors with WebKit.dll when using soup.
1830 2014-03-31 Zan Dobersek <zdobersek@igalia.com>
1832 Use std::unique_ptr in WTF::CompressedVector, WTF::GenericCompressedData
1833 https://bugs.webkit.org/show_bug.cgi?id=130737
1835 Switch to using std::unique_ptr instead of OwnPtr and PassOwnPtr
1836 for the CompressedVector and GenericCompressedData classes.
1838 * wtf/Compression.cpp:
1839 (WTF::GenericCompressedData::create):
1840 * wtf/Compression.h:
1841 (WTF::CompressedVector::create):
1842 (WTF::CompressibleVector::decompressIfNecessary):
1844 2014-03-28 Alexey Proskuryakov <ap@apple.com>
1846 [Mac] Enable async text input implementation
1847 https://bugs.webkit.org/show_bug.cgi?id=130856
1849 Reviewed by Sam Weinig.
1851 * wtf/Platform.h: Added a USE macro definition.
1853 2014-03-28 peavo@outlook.com <peavo@outlook.com>
1855 Null pointer crash in String::append(UChar).
1856 https://bugs.webkit.org/show_bug.cgi?id=130900
1858 Reviewed by Michael Saboff.
1860 * wtf/text/WTFString.cpp:
1861 (WTF::String::append): Check and initialize m_impl member first, to avoid null pointer crash.
1863 2014-03-27 Commit Queue <commit-queue@webkit.org>
1865 Unreviewed, rolling out r166360.
1866 https://bugs.webkit.org/show_bug.cgi?id=130869
1868 Seems to have broken PLT (Requested by ap on #webkit).
1872 "Connection::dispatchOneMessage() can be re-entered while
1873 handling Cmd-key menu"
1874 https://bugs.webkit.org/show_bug.cgi?id=130767
1875 http://trac.webkit.org/changeset/166360
1877 2014-03-27 Alexey Proskuryakov <ap@apple.com>
1879 Connection::dispatchOneMessage() can be re-entered while handling Cmd-key menu
1880 equivalents, ASSERT(!_data->_keyDownEventBeingResent)
1881 https://bugs.webkit.org/show_bug.cgi?id=130767
1882 <rdar://problem/16307487>
1884 Reviewed by Darin Adler.
1886 Changed RunLoop to wake up and fire timers only in default run loop mode by default,
1887 and added an ability to add more modes (can't use AppKit symbols in WTF).
1889 In addition to this bug, the change also blocks modal alerts from appearing under
1890 menus during menu tracking.
1893 * wtf/cf/RunLoopCF.cpp:
1894 (WTF::RunLoop::RunLoop):
1895 (WTF::RunLoop::addModeForWakeUpAndTimers):
1896 (WTF::RunLoop::TimerBase::start):
1898 2014-03-26 Zan Dobersek <zdobersek@igalia.com>
1900 Unreviewed. Removing the remaining Automake cruft.
1902 * GNUmakefile.list.am: Removed.
1904 2014-03-25 Martin Robinson <mrobinson@igalia.com>
1906 [GTK] Remove the autotools build
1907 https://bugs.webkit.org/show_bug.cgi?id=130717
1909 Reviewed by Anders Carlsson.
1911 * GNUmakefile.am: Removed.
1912 * config.h: Removed references to the autotools configure file.
1914 2014-03-25 Gabor Rapcsanyi <rgabor@webkit.org>
1916 [ARM64] GCC generates wrong code with -O2 flag in WTF::weakCompareAndSwap
1917 https://bugs.webkit.org/show_bug.cgi?id=130500
1919 Reviewed by Filip Pizlo.
1921 Set the first operand to the exact register in the inline assembly with GCC.
1924 (WTF::weakCompareAndSwap):
1926 2014-03-25 Gabor Rapcsanyi <rgabor@webkit.org>
1928 [EFL] Add ARM64 build support
1929 https://bugs.webkit.org/show_bug.cgi?id=130506
1931 Rubber stamped by Gyuyoung Kim.
1933 * wtf/Platform.h: Set WTF_CPU_ARM64 when __aarch64__ is defined.
1935 2014-03-24 Andy Estes <aestes@apple.com>
1939 * wtf/ThreadingPthreads.cpp:
1940 (WTF::createThreadInternal):
1941 (WTF::setCurrentThreadQOSUtility):
1943 2014-03-24 Gavin Barraclough <barraclough@apple.com>
1945 Add support for thread QoS
1946 https://bugs.webkit.org/show_bug.cgi?id=130688
1948 Speculative EFL build fix.
1950 * wtf/ThreadingPthreads.cpp:
1951 (WTF::setCurrentThreadQOSUtility):
1953 2014-03-24 Gavin Barraclough <barraclough@apple.com>
1955 Add support for thread QoS
1956 https://bugs.webkit.org/show_bug.cgi?id=130688
1958 Reviewed by Andreas Kling.
1960 * wtf/FastMalloc.cpp:
1961 (WTF::TCMalloc_PageHeap::runScavengerThread):
1962 - block freeing is a utility activity.
1965 * wtf/ThreadingPthreads.cpp:
1966 (WTF::createThreadInternal):
1967 - default to interactive.
1968 (WTF::setCurrentThreadQOSUtility):
1970 * wtf/ThreadingWin.cpp:
1971 (WTF::setCurrentThreadQOSUtility):
1972 - no-op implementation.
1974 2014-03-23 Hyowon Kim <hw1008.kim@samsung.com>
1976 Move all EFL typedefs into EflTypedefs.h.
1977 https://bugs.webkit.org/show_bug.cgi?id=130511
1979 Reviewed by Gyuyoung Kim.
1981 * wtf/Platform.h: include EflTypedefs.h.
1982 * wtf/efl/EflTypedefs.h: Added.
1983 * wtf/efl/RefPtrEfl.h: Remove EFL typedefs.
1985 2014-03-22 Darin Adler <darin@apple.com>
1987 Remove String::deprecatedCharacters
1988 https://bugs.webkit.org/show_bug.cgi?id=126854
1990 Reviewed by Sam Weinig.
1992 * wtf/text/StringBuilder.cpp:
1993 (WTF::StringBuilder::reifyString): Removed code to update 16-bit shadow.
1995 * wtf/text/StringBuilder.h: Removed deprecatedCharacters.
1996 (WTF::StringBuilder::StringBuilder): Removed m_valid16BitShadowLength.
1997 (WTF::StringBuilder::clear): Removed code to clear m_valid16BitShadowLength.
1998 (WTF::StringBuilder::swap): Removed code to swap m_valid16BitShadowLength.
2000 * wtf/text/StringImpl.cpp:
2001 (WTF::StringImpl::~StringImpl): Removed code to free m_copyData16.
2002 (WTF::StringImpl::upper): Use StringView::upconvertedCharacters for slow case.
2003 (WTF::StringImpl::lower): Ditto.
2004 (WTF::StringImpl::find): Use characters8/16 rather than deprecatedCharacters.
2005 Added an 8-bit code path to one of the overloads. Might want to revisit later
2006 to decide whether to use templates instead of copy/paste, or even use StringView
2007 to cut down on duplicate code paths.
2008 (WTF::StringImpl::findIgnoringCase): Ditto.
2009 (WTF::StringImpl::sizeInBytes): Remove code to handle has16BitShadow case.
2010 (WTF::equalIgnoringNullity): Added. To be called by the Vector template in the header.
2012 * wtf/text/StringImpl.h: Removed deprecatedCharacters, has16BitShadow,
2013 upconvertCharacters, getData16SlowCase, s_hashFlagHas16BitShadow, and m_copyData16.
2014 (WTF::equalIgnoringNullity): Changed the template function into an inline that calls
2015 a non-inline helper function. The non-inline function handles both 8-bit and 16-bit
2018 * wtf/text/StringView.h:
2019 (WTF::StringView::StringView): Added an overload so we can make one of these directly
2020 from a StringImpl without first wrapping it in a string. Added an adapter so we can
2021 use StringView as part of string concatenation. Added an append function so we can
2022 append to a Vector<UChar>.
2024 * wtf/text/WTFString.cpp:
2025 (WTF::String::append): Use StringView::getCharactersWithUpconvert. Also changed
2026 single-character append so it won't always turn an 8-bit string into a 16-bit one.
2027 (WTF::String::insert): Removed one insert overload and changed the other to use
2028 StringView::getCharactersWithUpconvert.
2029 (WTF::String::truncate): Changed to use StringImpl::substring.
2030 (WTF::String::percentage): Added characters8/16 paths instead of using
2031 deprecatedCharacters.
2033 * wtf/text/WTFString.h: Removed deprecatedCharacters, getCharactersWithUpconvert,
2034 insert(UChar*, unsigned, unsigned), and the append overload for Vector<UChar>.
2036 2014-03-20 Darin Adler <darin@apple.com>
2038 Fix a header guard mistake (harmless but clearly wrong)
2039 https://bugs.webkit.org/show_bug.cgi?id=130559
2041 Reviewed by Andreas Kling.
2043 * wtf/text/StringConcatenate.h: Correct the macro name in the header guard.
2045 2014-03-20 Hyowon Kim <hw1008.kim@samsung.com>
2047 Move to using std::unique_ptr for EFL objects.
2048 https://bugs.webkit.org/show_bug.cgi?id=129853
2050 Reviewed by Gyuyoung Kim.
2052 EflUniquePtr is a template alias of std::unique_ptr
2053 with a custom deleter for each Efl Objects, which is motivated by GUniquePtr.
2054 This patch replaces uses of OwnPtr and PassOwnPtr for Efl objects with EflUniquePtr.
2056 * wtf/OwnPtrCommon.h:
2057 * wtf/PlatformEfl.cmake:
2059 * wtf/efl/MainThreadEfl.cpp:
2061 (WTF::initializeMainThreadPlatform):
2062 * wtf/efl/OwnPtrEfl.cpp: Removed.
2063 * wtf/efl/RunLoopEfl.cpp:
2064 (WTF::RunLoop::RunLoop):
2065 * wtf/efl/UniquePtrEfl.h: Added.
2066 (WTF::EflPtrDeleter::operator()):
2068 2014-03-20 Gavin Barraclough <barraclough@apple.com>
2070 Remove IdentifierTable typedef, isIdentifier()
2071 https://bugs.webkit.org/show_bug.cgi?id=130533
2073 Rubber stamped by Geoff Garen.
2075 Code should use AtomicStringTable, isAtomic() directly.
2077 * wtf/WTFThreadData.h:
2078 (WTF::WTFThreadData::setCurrentAtomicStringTable):
2079 (WTF::WTFThreadData::resetCurrentAtomicStringTable):
2080 - removed IdentifierTypedef.
2081 * wtf/text/StringImpl.h:
2082 (WTF::StringImpl::flagIsAtomic):
2083 - renamed flagIsIdentfier -> flagIsAtomic.
2085 2014-03-20 Gavin Barraclough <barraclough@apple.com>
2087 Merge AtomicString, Identifier
2088 https://bugs.webkit.org/show_bug.cgi?id=128624
2090 Reviewed by Geoff Garen.
2092 WTF::StringImpl currently supports two uniquing mechanism - AtomicString and
2093 Identifer - that is one too many.
2095 Remove Identifier in favour of AtomicString. Identifier had two interesting
2096 mechanisms that we preserve.
2098 (1) JSC API VMs each get their own string table, switch the string table on
2100 (2) JSC caches a pointer to the string table on the VM to avoid a thread
2101 specific access. Adds a new AtomicString::add method to support this.
2103 * wtf/WTFThreadData.cpp:
2104 (WTF::WTFThreadData::WTFThreadData):
2105 - remove allocation of IdentifierTable.
2106 (WTF::WTFThreadData::~WTFThreadData):
2107 - remove deletion of IdentifierTable.
2108 * wtf/WTFThreadData.h:
2109 (WTF::WTFThreadData::atomicStringTable):
2110 - table is now switched by JSC API, return the current table.
2111 (WTF::WTFThreadData::currentIdentifierTable):
2112 - now returns the current AtomicStringTable.
2113 (WTF::WTFThreadData::setCurrentIdentifierTable):
2114 - now sets the current AtomicStringTable.
2115 (WTF::WTFThreadData::resetCurrentIdentifierTable):
2116 - now resets the AtomicStringTable.
2117 * wtf/text/AtomicString.cpp:
2118 (WTF::AtomicString::addSlowCase):
2119 - add without thread-specific access to access string table.
2120 * wtf/text/AtomicString.h:
2121 (WTF::AtomicString::addWithStringTableProvider):
2122 - add without thread-specific access (used by JSC, string table provided by VM or ExecState).
2123 * wtf/text/AtomicStringTable.cpp:
2124 (WTF::AtomicStringTable::create):
2125 - renamed m_atomicStringTable -> m_defaultAtomicStringTable.
2126 (WTF::AtomicStringTable::~AtomicStringTable):
2127 (WTF::AtomicStringTable::destroy):
2128 - clearing of table moved from AtomicStringTable::destroy to destructor.
2129 * wtf/text/AtomicStringTable.h:
2131 * wtf/text/StringImpl.cpp:
2132 (WTF::StringImpl::~StringImpl):
2133 - Identifers no longer exist; no need to remove them from IdentifierTable.
2134 * wtf/text/StringImpl.h:
2135 (WTF::StringImpl::StringImpl):
2136 - removed s_hashFlagIsIdentifier.
2137 (WTF::StringImpl::flagIsIdentifier):
2138 - s_hashFlagIsIdentifier -> s_hashFlagIsAtomic.
2139 (WTF::StringImpl::isIdentifier):
2140 - now synonymous to isAtomic().
2141 * wtf/text/StringStatics.cpp:
2142 (WTF::StringImpl::hashAndFlagsForEmptyUnique):
2143 - removed s_hashFlagIsIdentifier.
2145 2014-03-20 Zan Dobersek <zdobersek@igalia.com>
2147 Unreviewed Clang build fix for the GTK port after r165952.
2149 * wtf/gobject/GMainLoopSource.h: Include the <functional> header for the std::function<> objects.
2151 2014-03-18 Carlos Garcia Campos <cgarcia@igalia.com>
2153 [GLIB] Add GMainLoopSource class to wrap idle and timeout sources
2154 https://bugs.webkit.org/show_bug.cgi?id=130027
2156 Reviewed by Martin Robinson.
2158 GLib main loop sources like idle and timeouts are sometimes
2159 unconvenient to use and it's very common to forget canceling the
2160 source when the object is destroyed or reset the source ID in the
2161 callback when called. GMainLoopSource is a wrapper class to make it
2162 easier to handle sources and also to avoid those typical mistakes.
2163 It forces to create sources with a name and the user doesn't have
2164 to deal with the source ID anymore. The source is cancelled when
2165 the object is deleted or when a new source is scheduled. It uses
2166 std::function for callbacks so that we no longer need to use the
2167 "proxy" static callbacks either. We can use std::bind to use a
2168 function pointer or a member or even lambda functions. It also handles
2169 repeating sources automatically depending on whether the given
2170 function returns a bool or not.
2172 * GNUmakefile.list.am:
2173 * wtf/PlatformEfl.cmake:
2174 * wtf/PlatformGTK.cmake:
2176 * wtf/gobject/GMainLoopSource.cpp: Added.
2177 (WTF::GMainLoopSource::createAndDeleteOnDestroy):
2178 (WTF::GMainLoopSource::GMainLoopSource):
2179 (WTF::GMainLoopSource::~GMainLoopSource):
2180 (WTF::GMainLoopSource::cancel):
2181 (WTF::GMainLoopSource::reset):
2182 (WTF::GMainLoopSource::scheduleIdleSource):
2183 (WTF::GMainLoopSource::schedule):
2184 (WTF::GMainLoopSource::scheduleTimeoutSource):
2185 (WTF::GMainLoopSource::scheduleAfterDelay):
2186 (WTF::GMainLoopSource::voidCallback):
2187 (WTF::GMainLoopSource::boolCallback):
2188 (WTF::GMainLoopSource::socketCallback):
2189 (WTF::GMainLoopSource::destroy):
2190 (WTF::GMainLoopSource::voidSourceCallback):
2191 (WTF::GMainLoopSource::boolSourceCallback):
2192 (WTF::GMainLoopSource::socketSourceCallback):
2193 * wtf/gobject/GMainLoopSource.h: Added.
2194 (WTF::GMainLoopSource::isScheduled):
2195 * wtf/gtk/MainThreadGtk.cpp:
2196 (WTF::scheduleDispatchFunctionsOnMainThread):
2197 * wtf/gtk/RunLoopGtk.cpp:
2198 (WTF::RunLoop::wakeUp):
2199 (WTF::RunLoop::TimerBase::TimerBase):
2200 (WTF::RunLoop::TimerBase::start):
2201 (WTF::RunLoop::TimerBase::stop):
2202 (WTF::RunLoop::TimerBase::isActive):
2204 2014-03-19 Gavin Barraclough <barraclough@apple.com>
2206 https://bugs.webkit.org/show_bug.cgi?id=130494
2207 EmptyUnique strings are Identifiers/Atomic
2209 Reviewed by Geoff Garen.
2211 EmptyUnique strings should set the Identifier/Atomic flag.
2213 * wtf/text/AtomicString.h:
2214 (WTF::AtomicString::add):
2215 - Previously we assumed the only StringImpl that was validly allowed to claim to be
2216 Atomic but not be in a table was the canonical empty string. Now that EmptyUniques
2217 are also marked Atomic, all empty strings may pass this condition.
2218 * wtf/text/StringImpl.cpp:
2219 (WTF::StringImpl::~StringImpl):
2220 - EmptyUnique strings are not in the Atomic/Identfiier tabels, so don't need removing.
2221 * wtf/text/StringImpl.h:
2222 (WTF::StringImpl::StringImpl):
2223 - Change EmptyUnique constructor to call hashAndFlagsForEmptyUnique.
2224 * wtf/text/StringStatics.cpp:
2225 (WTF::StringImpl::hashAndFlagsForEmptyUnique):
2226 - Allocate a sequential hash code (this should be just as good for distribution & better
2227 for debugging than the random value) and set flags, now including Atomic & Identifier.
2229 2014-03-19 Gavin Barraclough <barraclough@apple.com>
2231 Small cleanup of empty string
2232 https://bugs.webkit.org/show_bug.cgi?id=130438
2234 Reviewed by Anders Carlson.
2236 The empty string is weird becuase it is used as the impl for an AtomicString, but isAtomic()
2238 Also, we set a valid pointer for the characters pointer due to an old PCRE bug; remove this.
2239 Also, we currently only create one 'static' string, the empty string. Adding more might break
2240 assumtions, inhibit the constructor from being used to create other static strings for now.
2242 * wtf/text/AtomicString.h:
2243 (WTF::AtomicString::add):
2245 * wtf/text/StringImpl.h:
2246 (WTF::StringImpl::StringImpl):
2247 - Merge ConstructStaticString constructors, only allow the empty static string to be constructed.
2248 * wtf/text/StringStatics.cpp:
2249 (WTF::StringImpl::empty):
2250 - ConstructStaticString -> ConstructEmptyString, remove arguments, DEPRECATED_DEFINE_STATIC_LOCAL -> NeverDestroyed.
2252 2014-03-18 Darin Adler <darin@apple.com>
2254 Reduce use of deprecatedCharacters in WebCore
2255 https://bugs.webkit.org/show_bug.cgi?id=130318
2257 Reviewed by Andreas Kling.
2259 * wtf/text/WTFString.h: Export another overload of charactersToFloat since it's used
2262 * wtf/text/cf/StringViewCF.cpp: Change so this can build on Windows.
2264 * WTF.vcxproj/WTF.vcxproj: Added StringViewCF.cpp.
2265 * WTF.vcxproj/WTF.vcxproj.filters: Added StringViewCF.cpp.
2267 2014-03-18 Filip Pizlo <fpizlo@apple.com>
2271 Rubber stamped by Dan Bernstein and Mark Hahnenberg.
2275 2014-03-17 Darin Adler <darin@apple.com>
2277 Remove most uses of deprecatedCharacter in WTF
2278 https://bugs.webkit.org/show_bug.cgi?id=130317
2280 Reviewed by Andreas Kling.
2282 Re-landing after fixing the "80 instead of 0x80" typo in equalLatin1WithUTF8.
2284 * wtf/text/AtomicString.cpp:
2285 (WTF::HashAndUTF8CharactersTranslator::equal): Add an 8-bit code path to the
2287 (WTF::SubstringTranslator8::hash): Added.
2288 (WTF::SubstringTranslator8::equal): Added.
2289 (WTF::SubstringTranslator16::hash): Renamed class.
2290 (WTF::SubstringTranslator16::equal): Ditto.
2291 (WTF::AtomicString::add): Added an 8-bit code path to the substring case.
2293 * wtf/text/Base64.cpp:
2294 (WTF::base64Decode): Added an 8 bit code path.
2295 (WTF::base64URLDecode): Ditto.
2297 * wtf/text/StringImpl.cpp:
2298 (WTF::StringImpl::find): Fixed a case that was incorrectly using characters16
2299 without first using is8Bit. Need to return later to remove use of deprecatedCharacters.
2301 * wtf/unicode/UTF8.cpp:
2302 (WTF::Unicode::equalUTF16WithUTF8): Added a case for when the UTF-16 characters
2303 are ASCII. Also removed the aEnd argument, since the caller only calls this when the
2305 (WTF::Unicode::equalLatin1WithUTF8): Added.
2306 * wtf/unicode/UTF8.h: Updated as described above.
2308 2014-03-17 Commit Queue <commit-queue@webkit.org>
2310 Unreviewed, rolling out r165721.
2311 https://bugs.webkit.org/show_bug.cgi?id=130367
2313 It makes the debug bots flaky (Requested by benjaminp on
2318 "Remove most uses of deprecatedCharacter in WTF"
2319 https://bugs.webkit.org/show_bug.cgi?id=130317
2320 http://trac.webkit.org/changeset/165721
2322 2014-03-17 Zan Dobersek <zdobersek@igalia.com>
2324 Use RunLoop objects through references instead of pointers
2325 https://bugs.webkit.org/show_bug.cgi?id=130313
2327 Reviewed by Andreas Kling.
2329 Make RunLoop::current() and RunLoop::main() return a RunLoop reference instead
2330 of a pointer. RunLoop::Holder now uses a Ref<RunLoop> member. Timer and TimerBase
2331 constructors take in a RunLoop reference, with TimerBase now storing a RunLoop
2332 reference member instead of a pointer. Platform-specific bits of the RunLoop
2333 class are updated accordingly.
2336 (WTF::RunLoop::Holder::Holder):
2337 (WTF::RunLoop::Holder::runLoop):
2338 (WTF::RunLoop::initializeMainRunLoop):
2339 (WTF::RunLoop::current):
2340 (WTF::RunLoop::main):
2341 (WTF::RunLoop::isMain):
2343 (WTF::RunLoop::Timer::Timer):
2344 * wtf/cf/RunLoopCF.cpp:
2345 (WTF::RunLoop::run):
2346 (WTF::RunLoop::TimerBase::TimerBase):
2347 (WTF::RunLoop::TimerBase::start):
2348 * wtf/efl/RunLoopEfl.cpp:
2349 (WTF::RunLoop::TimerBase::TimerBase):
2350 * wtf/gtk/RunLoopGtk.cpp:
2351 (WTF::RunLoop::run):
2352 (WTF::RunLoop::TimerBase::TimerBase):
2353 (WTF::RunLoop::TimerBase::start):
2354 * wtf/win/RunLoopWin.cpp:
2355 (WTF::RunLoop::TimerBase::TimerBase):
2356 (WTF::RunLoop::TimerBase::start):
2357 (WTF::RunLoop::TimerBase::stop):
2358 (WTF::RunLoop::TimerBase::isActive):
2360 2014-03-17 Tamas Gergely <tgergely.u-szeged@partner.samsung.com>
2362 One more fix after r165725.
2364 Reviewed by Csaba Osztrogonác.
2366 * wtf/WTFThreadData.h:
2368 2014-03-17 Tamas Gergely <tgergely.u-szeged@partner.samsung.com>
2370 Buildfix after r165725 for non Mac platforms.
2372 Reviewed by Csaba Osztrogonác.
2374 * wtf/WTFThreadData.h:
2376 2014-03-17 Andreas Kling <akling@apple.com>
2378 [Mac] WTFThreadData should use _pthread_getspecific_direct().
2379 <https://webkit.org/b/130320>
2381 Hack WTFThreadData to use a direct key for TLS access when available.
2382 This mechanism uses a dedicated segment register and is the same way
2383 we implement the fast path in FastMalloc.
2385 Reviewed by Darin Adler.
2387 * wtf/FastMalloc.cpp:
2388 * wtf/WTFThreadData.cpp:
2389 (WTF::WTFThreadData::createAndRegisterForGetspecificDirect):
2390 * wtf/WTFThreadData.h:
2391 (WTF::wtfThreadData):
2393 2014-03-16 Darin Adler <darin@apple.com>
2395 Remove most uses of deprecatedCharacter in WTF
2396 https://bugs.webkit.org/show_bug.cgi?id=130317
2398 Reviewed by Andreas Kling.
2400 * wtf/text/AtomicString.cpp:
2401 (WTF::HashAndUTF8CharactersTranslator::equal): Add an 8-bit code path to the
2403 (WTF::SubstringTranslator8::hash): Added.
2404 (WTF::SubstringTranslator8::equal): Added.
2405 (WTF::SubstringTranslator16::hash): Renamed class.
2406 (WTF::SubstringTranslator16::equal): Ditto.
2407 (WTF::AtomicString::add): Added an 8-bit code path to the substring case.
2409 * wtf/text/Base64.cpp:
2410 (WTF::base64Decode): Added an 8 bit code path.
2411 (WTF::base64URLDecode): Ditto.
2413 * wtf/text/StringImpl.cpp:
2414 (WTF::StringImpl::find): Fixed a case that was incorrectly using characters16
2415 without first using is8Bit. Need to return later to remove use of deprecatedCharacters.
2417 * wtf/unicode/UTF8.cpp:
2418 (WTF::Unicode::equalUTF16WithUTF8): Added a case for when the UTF-16 characters
2419 are ASCII. Also removed the aEnd argument, since the caller only calls this when the
2421 (WTF::Unicode::equalLatin1WithUTF8): Added.
2422 * wtf/unicode/UTF8.h: Updated as described above.
2424 2014-03-16 David Kilzer <ddkilzer@apple.com>
2426 Follow-up: Fix undefined behavior in WTF::equal() in StringImpl.h for i386/x86_64
2427 <http://webkit.org/b/130283>
2428 <rdar://problem/16281477>
2430 Reviewed by Darin Adler.
2432 * wtf/text/StringImpl.h:
2433 (WTF::loadUnaligned): Restore behavior prior to r165681 for
2434 compilers other than clang.
2436 2014-03-16 Darin Adler <darin@apple.com>
2438 Remove all uses of deprecatedCharacters from JavaScriptCore
2439 https://bugs.webkit.org/show_bug.cgi?id=130304
2441 Reviewed by Anders Carlsson.
2444 (WTF::parseDouble): Added an overload that takes a StringView.
2446 2014-03-15 Darin Adler <darin@apple.com>
2448 Remove all uses of deprecatedCharacters from WebKit2
2449 https://bugs.webkit.org/show_bug.cgi?id=130197
2451 Reviewed by Andreas Kling.
2453 * wtf/text/StringView.h: Added new getCharactersWithUpconvert and upconvertedCharacters
2454 functions. These are useful for callers that need UTF-16.
2456 2014-03-15 Darin Adler <darin@apple.com>
2458 Try to fix EFL build.
2460 * wtf/ThreadingPthreads.cpp: (WTF::changeThreadPriority): Code in this function
2461 was setting the priority of the current thread instead of the passed-in thread.
2462 That was triggering an unused variable warning in the compiler used to build for
2463 EFL. Fixed by using the thread handle instead of pthread_self.
2465 2014-03-15 Michael Saboff <msaboff@apple.com>
2467 It should be possible to adjust DFG and FTL compiler thread priorities
2468 https://bugs.webkit.org/show_bug.cgi?id=130288
2470 Reviewed by Filip Pizlo.
2472 Added ability to change thread priorities relative to its current priority.
2473 Created options to adjust the priority of the DFG and FTL compilation work thread
2474 pools. For two core systems, there might be three runnable threads, the main thread,
2475 the DFG compilation thread and the FTL compilation thread. With the same priority,
2476 the scheduler is free to schedule whatever thread it wants. By lowering the
2477 compilation threads, the main thread can run. Further tests may suggest better values
2478 for the new options, priorityDeltaOfDFGCompilerThreads and priorityDeltaOfFTLCompilerThreads.
2480 For a two-core device, this change has a net positive improvement of 1-3% across
2481 SunSpider, Octane, Kraken and AsmBench.
2484 * wtf/ThreadingPthreads.cpp:
2485 (WTF::changeThreadPriority):
2486 * wtf/ThreadingWin.cpp:
2487 (WTF::changeThreadPriority):
2489 2014-03-15 David Kilzer <ddkilzer@apple.com>
2491 Fix undefined behavior in WTF::equal() in StringImpl.h for i386/x86_64
2492 <http://webkit.org/b/130283>
2493 <rdar://problem/16281477>
2495 Reviewed by Geoff Garen.
2497 * wtf/text/StringImpl.h:
2498 (WTF::loadUnaligned): Add template method.
2499 (WTF::equal): Switch to using loadUnaligned<>().
2501 2014-03-14 Mark Rowe <mrowe@apple.com>
2503 Fix the production build.
2505 Don't rely on USE_INTERNAL_SDK being set for the Production configuration since UseInternalSDK.xcconfig won't
2506 be at the expected relative path when working from installed source.
2508 * Configurations/Base.xcconfig:
2510 2014-03-14 Maciej Stachowiak <mjs@apple.com>
2512 Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers
2513 https://bugs.webkit.org/show_bug.cgi?id=130276
2514 <rdar://problem/16266927>
2516 Reviewed by Simon Fraser.
2520 * wtf/Assertions.cpp:
2524 * wtf/AutodrainedPool.h:
2525 * wtf/AutodrainedPoolMac.mm:
2526 * wtf/BoundsCheckedPointer.h:
2527 * wtf/CryptographicUtilities.cpp:
2528 * wtf/CryptographicallyRandomNumber.h:
2529 * wtf/CurrentTime.h:
2531 * wtf/DisallowCType.h:
2532 * wtf/ExportMacros.h:
2533 * wtf/FeatureDefines.h:
2535 * wtf/HashIterators.h:
2537 * wtf/MainThread.cpp:
2540 * wtf/MediaTime.cpp:
2542 * wtf/MessageQueue.h:
2543 * wtf/MetaAllocator.cpp:
2544 * wtf/MetaAllocator.h:
2545 * wtf/MetaAllocatorHandle.h:
2546 * wtf/OSRandomSource.cpp:
2547 * wtf/OSRandomSource.h:
2549 * wtf/RandomNumber.cpp:
2550 * wtf/RandomNumber.h:
2551 * wtf/RandomNumberSeed.h:
2552 * wtf/RedBlackTree.h:
2553 * wtf/RunLoopTimer.h:
2554 * wtf/RunLoopTimerCF.cpp:
2555 * wtf/SchedulePair.h:
2556 * wtf/SchedulePairCF.cpp:
2557 * wtf/SchedulePairMac.mm:
2558 * wtf/SegmentedVector.h:
2559 * wtf/StackBounds.h:
2560 * wtf/StaticConstructors.h:
2561 * wtf/StringExtras.h:
2562 * wtf/ThreadFunctionInvocation.h:
2563 * wtf/ThreadSafeRefCounted.h:
2564 * wtf/ThreadSpecific.h:
2566 * wtf/ThreadingPrimitives.h:
2567 * wtf/ThreadingPthreads.cpp:
2568 * wtf/ThreadingWin.cpp:
2569 * wtf/WTFThreadData.cpp:
2570 * wtf/WTFThreadData.h:
2571 * wtf/efl/OwnPtrEfl.cpp:
2572 * wtf/mac/MainThreadMac.mm:
2573 * wtf/text/AtomicStringHash.h:
2574 * wtf/text/AtomicStringImpl.h:
2575 * wtf/text/Base64.h:
2576 * wtf/text/CString.cpp:
2577 * wtf/text/CString.h:
2579 * wtf/text/cf/StringCF.cpp:
2580 * wtf/text/mac/StringMac.mm:
2581 * wtf/unicode/CharacterNames.h:
2582 * wtf/unicode/Collator.h:
2583 * wtf/unicode/CollatorDefault.cpp:
2584 * wtf/unicode/UTF8.cpp:
2585 * wtf/unicode/UTF8.h:
2586 * wtf/unicode/icu/CollatorICU.cpp:
2587 * wtf/win/MainThreadWin.cpp:
2589 2014-03-14 Byungseon Shin <sun.shin@lge.com>
2591 Incorrect Date returned between March 1, 2034 and February 28, 2100.
2592 https://bugs.webkit.org/show_bug.cgi?id=130123
2594 Reviewed by Mark Lam.
2596 Fix logic by using predefined Date APIs.
2599 (WTF::ymdhmsToSeconds):
2601 2014-03-12 Sergio Villar Senin <svillar@igalia.com>
2603 Rename DEFINE_STATIC_LOCAL to DEPRECATED_DEFINE_STATIC_LOCAL
2604 https://bugs.webkit.org/show_bug.cgi?id=129612
2606 Reviewed by Darin Adler.
2608 For new code use static NeverDestroyed<T> instead.
2611 (WTF::RunLoop::current):
2612 * wtf/StdLibExtras.h:
2613 * wtf/ThreadingPthreads.cpp:
2614 (WTF::threadMapMutex):
2616 * wtf/efl/MainThreadEfl.cpp:
2618 * wtf/text/StringStatics.cpp:
2619 (WTF::StringImpl::empty):
2621 2014-03-13 Radu Stavila <stavila@adobe.com>
2623 Webkit not building on XCode 5.1 due to garbage collection no longer being supported
2624 https://bugs.webkit.org/show_bug.cgi?id=130087
2626 Reviewed by Mark Rowe.
2628 Disable garbage collection on macosx when not using internal SDK.
2630 * Configurations/Base.xcconfig:
2632 2014-03-12 Ryuan Choi <ryuan.choi@samsung.com>
2634 [EFL] Enable Parallel GC
2635 https://bugs.webkit.org/show_bug.cgi?id=130177
2637 Reviewed by Geoffrey Garen.
2639 * wtf/Platform.h: Turn on ENABLE_PARALLEL_GC for the EFL build.
2641 2014-03-12 Joseph Pecoraro <pecoraro@apple.com>
2643 Web Inspector: Disable REMOTE_INSPECTOR in earlier OS X releases
2644 https://bugs.webkit.org/show_bug.cgi?id=130118
2646 Reviewed by Timothy Hatcher.
2648 * wtf/FeatureDefines.h:
2650 2014-03-11 Brent Fulgham <bfulgham@apple.com>
2652 [Win] Unreviewed gardening.
2654 * wtf/MathExtras.h: VS2013 provides an lrint implementation. No need to implement
2657 2014-03-10 Jer Noble <jer.noble@apple.com>
2659 Improve WeakPtr operators.
2660 https://bugs.webkit.org/show_bug.cgi?id=130053
2662 Reviewed by Andreas Kling.
2664 Replace the "operator!()" with an explicit bool operator. Add an "operator->()".
2667 (WTF::WeakPtr::operator bool):
2668 (WTF::WeakPtr::operator->):
2670 2014-03-10 Brent Fulgham <bfulgham@apple.com>
2672 [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
2673 https://bugs.webkit.org/show_bug.cgi?id=130023.
2675 Reviewed by Dean Jackson.
2677 * WTF.vcxproj/WTF.proj: Avoid putting trailing slashes in system paths to avoid
2678 escaping during later string substitution.
2679 * WTF.vcxproj/build-generated-files.sh: Accept environment values passed by VS.
2681 2014-03-10 Mark Hahnenberg <mhahnenberg@apple.com>
2683 Turn on GenGC on other 64-bit platforms
2684 https://bugs.webkit.org/show_bug.cgi?id=129258
2686 Reviewed by Oliver Hunt.
2690 2014-03-07 peavo@outlook.com <peavo@outlook.com>
2692 [Win64] Compile error after r165128.
2693 https://bugs.webkit.org/show_bug.cgi?id=129807
2695 Reviewed by Mark Lam.
2697 * wtf/Platform.h: MSVC does not support computed goto.
2698 Also enabled COMPUTED_GOTO_OPCODES when !ENABLE(LLINT_C_LOOP). This is needed because the ASM LLINT operates like COMPUTED_GOTO_OPCODES,
2699 and relies on the related data structures being defined to support this. On Win32, the platform does not HAVE_COMPUTED_GOTO support,
2700 but does want ENABLE_COMPUTED_GOTO_OPCODES because it uses the ASM LLINT.
2702 2014-03-06 Michael Saboff <msaboff@apple.com>
2704 JSC should disable the JIT when building for ARMv7k
2705 https://bugs.webkit.org/show_bug.cgi?id=129829
2707 Reviewed by Oliver Hunt.
2709 Added WTF_CPU_APPLE_ARMV7K CPU define. Disabled the JITs when
2710 that feature define is set.
2714 2014-03-06 Filip Pizlo <fpizlo@apple.com>
2716 Use the LLVM disassembler on ARM64 if we are enabling the FTL
2717 https://bugs.webkit.org/show_bug.cgi?id=129785
2719 Reviewed by Geoffrey Garen.
2723 2014-03-05 peavo@outlook.com <peavo@outlook.com>
2725 [Win32][LLINT] Crash when running JSC stress tests.
2726 https://bugs.webkit.org/show_bug.cgi?id=129429
2728 Reviewed by Geoffrey Garen.
2730 * wtf/Platform.h: Enable LLINT on Win32.
2732 2014-03-04 Zan Dobersek <zdobersek@igalia.com>
2734 [GTK] Build the Udis86 disassembler
2735 https://bugs.webkit.org/show_bug.cgi?id=129679
2737 Reviewed by Michael Saboff.
2739 * wtf/Platform.h: Also enable the Udis86 disassembler for the GTK port on Linux.
2741 2014-03-02 Jaehun Lim <ljaehun.lim@samsung.com>
2743 [EFL] Remove m_initEfl from RunLoop.
2744 https://bugs.webkit.org/show_bug.cgi?id=129568
2746 Reviewed by Gyuyoung Kim.
2748 We don't use m_initEfl except RunLoop constructor.
2751 * wtf/efl/RunLoopEfl.cpp:
2752 (WTF::RunLoop::RunLoop):
2754 2014-03-02 Darin Adler <darin@apple.com>
2756 Cut down use of OwnPtr within WTF itself
2757 https://bugs.webkit.org/show_bug.cgi?id=129567
2759 Reviewed by Sam Weinig.
2761 * wtf/RefCounted.h: Removed OwnPtr includes.
2763 * wtf/StreamBuffer.h: Removed OwnPtr includes and switched to use
2764 std::make_unique and std::unique_ptr instead.
2766 * wtf/Threading.cpp: Removed OwnPtr includes.
2767 * wtf/ThreadingPthreads.cpp: Ditto.
2768 * wtf/Vector.h: Ditto.
2770 2014-02-26 Gavin Barraclough <barraclough@apple.com>
2772 FastMalloc should use vm_page_shift intead of PAGE_SHIFT.
2773 https://bugs.webkit.org/show_bug.cgi?id=129370
2775 Reviewed by Mark Rowe.
2777 "Doesn't this lead to the page map using fewer bits than it was before?
2778 It seems like this will cause some page addresses to no longer be
2779 representable in the map when using 4K pages. Am I missing something?"
2781 * wtf/FastMalloc.cpp:
2782 - bdash raises a valid point. This should make the TCMalloc_PageMap
2783 larger than absolutely necessary, rather than potentially too small.
2785 2014-02-25 Gavin Barraclough <barraclough@apple.com>
2787 FastMalloc should use vm_page_shift intead of PAGE_SHIFT.
2788 https://bugs.webkit.org/show_bug.cgi?id=129370
2790 Reviewed by Geoff Garen.
2792 Previously we used PAGE_SHIFT to initialize kPageShift.
2793 Since this was a constant, it could be used to calculate other
2794 contants used in the code. Some of these values are used in the
2795 definition of certain data structures (specifiying the length of
2796 some array members).
2798 Make kPageShift & dependent properties variables setup during
2799 initialization. Add upper bound values (K_PAGE_SHIFT_MAX,
2800 K_NUM_CLASSES_MAX) for use in cases where we need a constant.
2802 * wtf/FastMalloc.cpp:
2803 (WTF::InitSizeClasses):
2804 - initialize kPageShift, kNumClasses, kPageSize, kMaxValidPages.
2807 (WTF::AllocationSize):
2809 (WTF::TCMalloc_PageHeap::FreeBytes):
2811 (WTF::TCMalloc_PageHeap::init):
2812 - COMPILE_ASSERT -> ASSERT
2813 (WTF::TCMalloc_PageHeap::scavenge):
2815 (WTF::TCMalloc_PageHeap::Carve):
2817 (WTF::mergeDecommittedStates):
2819 (WTF::TCMalloc_PageHeap::IncrementalScavenge):
2821 (WTF::TCMalloc_PageHeap::ReturnedBytes):
2825 (WTF::TCMalloc_PageHeap::GrowHeap):
2827 (WTF::TCMalloc_PageHeap::ReleaseFreeList):
2828 - kNumClasses -> K_NUM_CLASSES_MAX
2829 (WTF::TCMalloc_ThreadCache::enumerateFreeObjects):
2831 (WTF::TCMalloc_Central_FreeList::Init):
2833 (WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
2835 (WTF::TCMalloc_Central_FreeList::EvictRandomSizeClass):
2837 (WTF::TCMalloc_Central_FreeList::MakeCacheSpace):
2839 (WTF::TCMalloc_Central_FreeList::InsertRange):
2841 (WTF::TCMalloc_Central_FreeList::Populate):
2843 (WTF::TCMalloc_ThreadCache::Init):
2845 (WTF::TCMalloc_ThreadCache::Cleanup):
2847 (WTF::TCMalloc_ThreadCache::Scavenge):
2849 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2852 2014-02-24 Alex Christensen <achristensen@webkit.org>
2854 Disabled WebGL on WinCairo.
2858 * wtf/FeatureDefines.h:
2859 Removed ENABLE_WEBGL definition for WinCairo port.
2860 WebGL has not worked on WinCairo since r163079
2861 and it was not compiling with a recent ANGLE update.
2863 2014-02-24 Mark Hahnenberg <mhahnenberg@apple.com>
2865 Turn GenGC on for 32-bit systems
2866 https://bugs.webkit.org/show_bug.cgi?id=128824
2868 Reviewed by Geoffrey Garen.
2872 2014-02-21 Benjamin Poulain <benjamin@webkit.org>
2874 jsDocumentPrototypeFunctionGetElementById should not create an AtomicString for the function argument
2875 https://bugs.webkit.org/show_bug.cgi?id=128893
2877 Reviewed by Darin Adler.
2879 AtomicString::find() is a special case optimized for the JavaScript bindings. The method can only
2880 be called under specific conditions.
2881 The method is renamed to findStringWithHash().
2883 The new AtomicString::find is generic and does not require any propery on the input.
2885 * wtf/text/AtomicString.cpp:
2886 (WTF::AtomicString::findStringWithHash):
2887 (WTF::AtomicString::findSlowCase):
2888 * wtf/text/AtomicString.h:
2889 (WTF::AtomicString::find):
2891 2014-02-20 Csaba Osztrogonác <ossy@webkit.org>
2893 Add StackStats sources to cmake and autotools build files
2894 https://bugs.webkit.org/show_bug.cgi?id=129103
2896 Reviewed by Anders Carlsson.
2898 * GNUmakefile.list.am:
2899 * wtf/CMakeLists.txt:
2901 2014-02-20 Csaba Osztrogonác <ossy@webkit.org>
2903 Get rid of redundant Platform.h includes
2904 https://bugs.webkit.org/show_bug.cgi?id=128817
2906 Reviewed by Brent Fulgham.
2912 * wtf/DisallowCType.h:
2913 * wtf/DynamicAnnotations.h:
2914 * wtf/ExportMacros.h:
2918 * wtf/PrintStream.h:
2921 * wtf/ThreadingPrimitives.h:
2923 2014-02-19 Jon Honeycutt <jhoneycutt@apple.com>
2925 Crash in WTF::StringBuilder::append()
2927 https://bugs.webkit.org/show_bug.cgi?id=125817
2928 <rdar://problem/15671883>
2930 Reviewed by Oliver Hunt.
2932 * wtf/text/StringBuilder.cpp:
2933 (WTF::expandedCapacity):
2934 Ensure that we return a new capacity of at least 'requiredLength' in
2935 the case where requiredLength is large. Also, use unsigned rather than
2936 size_t for the parameters and the return value, as callers pass
2937 unsigned arguments and treat the result as an unsigned int.
2939 2014-02-19 Anders Carlsson <andersca@apple.com>
2941 Add WTF_MAKE_FAST_ALLOCATED to more classes
2942 https://bugs.webkit.org/show_bug.cgi?id=129064
2944 Reviewed by Andreas Kling.
2948 2014-02-19 Zan Dobersek <zdobersek@igalia.com>
2950 Make PrintStream::print() a variadic template
2951 https://bugs.webkit.org/show_bug.cgi?id=126388
2953 Reviewed by Brent Fulgham.
2955 PrintStream::print() can be converted into a variadic template, printing the value
2956 of the first parameter and recursively calling itself until the single parameter version
2957 is used for printing the last value.
2960 (WTF::dataLog): Convert the function to a variadic template as well.
2961 * wtf/PrintStream.h:
2962 (WTF::PrintStream::print):
2963 * wtf/StringPrintStream.h:
2964 (WTF::toCString): Ditto.
2965 (WTF::toString): Ditto.
2967 2014-02-19 Zan Dobersek <zdobersek@igalia.com>
2969 Use std::swap() in HashTable::swap()
2970 https://bugs.webkit.org/show_bug.cgi?id=128995
2972 Reviewed by Brent Fulgham.
2974 Use std::swap() to swap the member variable values of two HashTable objects in HashTable::swap().
2977 (WTF::KeyTraits>::swap):
2979 2014-02-19 Zan Dobersek <zdobersek@igalia.com>
2981 SegmentedVector::append() should take in rvalue reference, forward it to Vector::uncheckedAppend()
2982 https://bugs.webkit.org/show_bug.cgi?id=128996
2984 Reviewed by Brent Fulgham.
2986 * wtf/SegmentedVector.h:
2987 (WTF::SegmentedVector::append): Take in an rvalue reference of the object that's to be appended and
2988 then forward it to Vector::uncheckedAppend(). This avoids unnecessary copies in the current situation
2989 where a const lvalue is accepted and passed on.
2991 2014-02-19 Dan Bernstein <mitz@apple.com>
2993 Simplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions
2994 https://bugs.webkit.org/show_bug.cgi?id=129029
2996 Reviewed by Mark Rowe.
2998 * wtf/FeatureDefines.h:
3000 * wtf/Threading.cpp:
3001 * wtf/text/cf/StringImplCF.cpp:
3002 (garbageCollectionEnabled):
3004 2014-02-18 Dan Bernstein <mitz@apple.com>
3006 PLATFORM(MAC) is true when building for iOS
3007 https://bugs.webkit.org/show_bug.cgi?id=129025
3009 Reviewed by Mark Rowe.
3011 * wtf/Platform.h: Changed to define WTF_PLATFORM_MAC only on when building for OS X (but
3012 still not when WTF_PLATFORM_GTK or WTF_PLATFORM_EFL are defined).
3014 2014-02-18 Joseph Pecoraro <pecoraro@apple.com>
3016 [iOS] Web Inspector: JSContext inspection crashes in isMainThread, uninitialized WebCoreWebThreadIsLockedOrDisabled
3017 https://bugs.webkit.org/show_bug.cgi?id=128959
3019 Reviewed by David Kilzer.
3021 When JavaScriptCore is used without WebCore on iOS (e.g. JSContext)
3022 the WebCoreWebThread* functions will not be initialized. Avoid
3023 calling the function pointer if it is uninitialized. This was
3024 happening with remote inspection via StringImpl::createCFString
3025 for implicit NSString / WTFString conversion which uses isMainThread.
3027 * wtf/mac/MainThreadMac.mm:
3028 (WTF::webThreadIsUninitializedOrLockedOrDisabled):
3029 (WTF::isMainThread):
3030 (WTF::canAccessThreadLocalDataForThread):
3032 2014-02-17 Filip Pizlo <fpizlo@apple.com>
3035 https://bugs.webkit.org/show_bug.cgi?id=128948
3037 Reviewed by Sam Weinig.
3041 2014-02-17 Anders Carlsson <andersca@apple.com>
3043 Remove ENABLE_GLOBAL_FASTMALLOC_NEW
3044 https://bugs.webkit.org/show_bug.cgi?id=127067
3046 Reviewed by Geoffrey Garen.
3048 Remove the global operator new/operator delete overrides. Having ALWAYS_INLINE operators
3049 like we do is really undefined behavior according to the C++ standard and we've been lucky enough
3050 to get away with it so far, but any code that calls operator new/operator delete inside from the C++ standard
3051 library (not from headers that are included) will be mismatched and potentially crash. libc++ calls
3052 delete in it's std::thread implementation for example.
3054 The only supported way to override operator new and operator delete globally is to not use inline
3055 functions, but that would mean that any application using WebKit would not be able to provide custom
3056 operator new/operator delete functions so we'll just reuse the already existing infrastructure consisting
3057 of the WTF_MAKE_FAST_ALLOCATED macro.
3059 * wtf/FastMalloc.cpp:
3060 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3064 2014-02-17 Ryan Lortie <desrt@desrt.ca>
3066 Enable DFG_JIT on FreeBSD
3067 https://bugs.webkit.org/show_bug.cgi?id=128898
3069 Reviewed by Csaba Osztrogonác.
3073 2014-02-15 Filip Pizlo <fpizlo@apple.com>
3075 FTL should inline polymorphic heap accesses
3076 https://bugs.webkit.org/show_bug.cgi?id=128795
3078 Reviewed by Oliver Hunt.
3080 * wtf/PrintStream.h:
3081 (WTF::PointerDumpInContext::PointerDumpInContext):
3082 (WTF::PointerDumpInContext::dump):
3083 (WTF::pointerDumpInContext):
3085 2014-02-16 Zan Dobersek <zdobersek@igalia.com>
3087 Reintroduce const qualifiers for return types of (Filter|Transform)Iterator::operator*()
3088 https://bugs.webkit.org/show_bug.cgi?id=126875
3090 The const qualifiers for the return types of FilterIterator::operator*() and TransformIterator::operator*()
3091 were removed in r161797 and r161802 because of compilation failures when using GCC and having an Iterator
3092 type that already had the const qualifier. std::remove_const is now used to appease GCC and enforce the const
3093 qualifier on the return type, regardless of the Iterator type and its qualifiers.
3095 * wtf/IteratorAdaptors.h:
3096 (WTF::FilterIterator::operator*):
3097 (WTF::TransformIterator::operator*):
3099 2014-02-15 Filip Pizlo <fpizlo@apple.com>
3101 Vector with inline capacity should work with non-PODs
3102 https://bugs.webkit.org/show_bug.cgi?id=128864
3104 Reviewed by Michael Saboff.
3106 Previously, we would copy the inline storage of a vector as if it was a bag of bits.
3107 This presumed that the element type was relocatable. In general this is only true for
3110 This patch changes this by introducing a swap operation over inline storage. This swap
3111 operation requires being told about the size that is in use.
3113 Deques would have required some cleverness to make this work, because the swap
3114 operation needs to know which subset of elements are in-use and assumes that a size is
3115 sufficient for this. That's not true for deques. Instead of trying to do very clever
3116 things, I just removed the inline capacity option from Deque. I believe that this is
3117 fine since there are only two users of Deque with inline capacity, and both of them
3118 appear to be allocated rarely enough that inline capacity probably doesn't help much.
3121 (WTF::DequeIterator::DequeIterator):
3122 (WTF::DequeConstIterator::DequeConstIterator):
3123 (WTF::Deque<T>::checkValidity):
3124 (WTF::Deque<T>::checkIndexValidity):
3125 (WTF::Deque<T>::invalidateIterators):
3126 (WTF::Deque<T>::Deque):
3128 (WTF::Deque<T>::destroyAll):
3129 (WTF::Deque<T>::~Deque):
3130 (WTF::Deque<T>::swap):
3131 (WTF::Deque<T>::clear):
3132 (WTF::Deque<T>::expandCapacityIfNeeded):
3133 (WTF::Deque<T>::expandCapacity):
3134 (WTF::Deque<T>::append):
3135 (WTF::Deque<T>::prepend):
3136 (WTF::Deque<T>::removeFirst):
3137 (WTF::Deque<T>::removeLast):
3138 (WTF::Deque<T>::remove):
3139 (WTF::DequeIteratorBase<T>::checkValidity):
3140 (WTF::DequeIteratorBase<T>::addToIteratorsList):
3141 (WTF::DequeIteratorBase<T>::removeFromIteratorsList):
3142 (WTF::DequeIteratorBase<T>::DequeIteratorBase):
3143 (WTF::DequeIteratorBase<T>::~DequeIteratorBase):
3144 (WTF::DequeIteratorBase<T>::isEqual):
3145 (WTF::DequeIteratorBase<T>::increment):
3146 (WTF::DequeIteratorBase<T>::decrement):
3147 (WTF::DequeIteratorBase<T>::after):
3148 (WTF::DequeIteratorBase<T>::before):
3150 (WTF::VectorBuffer::swap):
3151 (WTF::VectorBuffer::swapInlineBuffer):
3152 (WTF::VectorBuffer::swapInlineBuffers):
3153 (WTF::Vector::swap):
3155 2014-02-15 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
3157 Remove 'static' specifier from free inline functions in StringImpl.h
3158 https://bugs.webkit.org/show_bug.cgi?id=118554
3160 Reviewed by Darin Adler.
3162 At first 'static' does not bring any use here, secondly static free
3163 inline functions in headers is a bad practice in general as each instance
3164 of function defined as inline is treated as a separate function and each
3165 instance has its own copy of static locals and string literals.
3167 * wtf/text/StringImpl.h:
3168 (WTF::codePointCompare):
3169 (WTF::codePointCompare8):
3170 (WTF::codePointCompare16):
3171 (WTF::codePointCompare8To16):
3172 (WTF::isSpaceOrNewline):
3174 2014-02-14 Benjamin Poulain <bpoulain@apple.com>
3176 Improve the performance on mobile of FTPDirectoryDocument
3177 https://bugs.webkit.org/show_bug.cgi?id=128778
3179 Reviewed by Antti Koivisto.
3181 * wtf/text/WTFString.h:
3182 (WTF::String::endsWith): add a missing overload.
3184 2014-02-14 Wojciech Bielawski <w.bielawski@samsung.com>
3186 (try)append and insert operations don't need new operator for PODs
3187 https://bugs.webkit.org/show_bug.cgi?id=128185
3189 Reviewed by Darin Adler.
3191 Vector's methods use VectorCopier to copy data.
3192 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.
3195 (WTF::OverflowHandler>::append): use VectorCopier to copy data.
3196 (WTF::OverflowHandler>::tryAppend): use VectorCopier to copy data.
3197 (WTF::OverflowHandler>::insert): use VectorCopier to copy data.
3199 2014-02-13 Daniel Bates <dabates@apple.com>
3201 Fix the iOS build after <http://trac.webkit.org/changeset/164064
3205 2014-02-13 Daniel Bates <dabates@apple.com>
3207 [iOS] Disable HAVE_ARM_NEON_INTRINSICS
3209 For now, disable HAVE_ARM_NEON_INTRINSICS when building for iOS. We want
3210 to audit the applicable code before we enable this define.
3214 2014-02-11 Filip Pizlo <fpizlo@apple.com>
3216 Hoist and combine array bounds checks
3217 https://bugs.webkit.org/show_bug.cgi?id=125433
3219 Reviewed by Mark Hahnenberg.
3221 * GNUmakefile.list.am:
3222 * WTF.vcxproj/WTF.vcxproj:
3223 * WTF.xcodeproj/project.pbxproj:
3224 * wtf/CMakeLists.txt:
3225 * wtf/HashMethod.h: Added.
3226 (WTF::HashMethod::operator()):
3228 2014-02-13 Tamas Gergely <tgergely.u-szeged@partner.samsung.com>
3230 Code cleanup: remove gcc<4.7 guards.
3231 https://bugs.webkit.org/show_bug.cgi?id=128729
3233 Reviewed by Anders Carlsson.
3235 Remove GCC_VERSION_AT_LEAST guards when it checks for pre-4.7 versions,
3236 as WK does not compile with earlier gcc versions.
3238 * wtf/Assertions.cpp:
3241 2014-02-12 Mark Lam <mark.lam@apple.com>
3243 No need to save reservedZoneSize when dropping the JSLock.
3244 <https://webkit.org/b/128719>
3246 Reviewed by Geoffrey Garen.
3248 * wtf/WTFThreadData.cpp:
3249 (WTF::WTFThreadData::WTFThreadData):
3250 * wtf/WTFThreadData.h:
3251 - removed unnneeded m_savedReservedZoneSize.
3253 2014-02-11 Mark Hahnenberg <mhahnenberg@apple.com>
3255 32-bit LLInt writeBarrierOnGlobalObject is wrong
3256 https://bugs.webkit.org/show_bug.cgi?id=128556
3258 Reviewed by Geoffrey Garen.
3260 * wtf/Platform.h: Removed OBJECT_MARK_LOGGING from Platform.h since it already exists in FeatureDefines.h
3262 2014-02-11 peavo@outlook.com <peavo@outlook.com>
3264 [WinCairo] Compile error, deleted file in WTF.
3265 https://bugs.webkit.org/show_bug.cgi?id=128601
3267 Reviewed by Csaba Osztrogonác.
3269 * WTF.vcxproj/WTF.vcxproj: Removed reference to deleted file.
3270 * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
3272 2014-02-10 Michael Saboff <msaboff@apple.com>
3274 Re-enable ARM Thumb2 disassembler
3275 https://bugs.webkit.org/show_bug.cgi?id=128577
3277 Reviewed by Filip Pizlo.
3279 Added definition of WTF_USE_ARMV7_DISASSEMBLER back to Platform.h
3283 2014-02-10 Benjamin Poulain <benjamin@webkit.org>
3285 Add the basic infrastructure to compile attributes matching in selectors
3286 https://bugs.webkit.org/show_bug.cgi?id=128484
3288 Reviewed by Gavin Barraclough.
3291 (WTF::VectorBufferBase::bufferMemoryOffset):
3292 (WTF::Vector::sizeMemoryOffset):
3293 (WTF::Vector::dataMemoryOffset):
3294 Expose the memory offsets of Vector::size() and the memory buffer pointer for the JIT.
3296 2014-02-10 Enrica Casucci <enrica@apple.com>
3298 copyShortASCIIString crashes on iOS after r163793.
3299 https://bugs.webkit.org/show_bug.cgi?id=128548.
3301 Reviewed by Alexey Proskuryakov.
3305 * wtf/unicode/icu/CollatorICU.cpp:
3306 (WTF::copyShortASCIIString):
3308 2014-02-10 Carlos Garcia Campos <cgarcia@igalia.com>
3310 [GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
3311 https://bugs.webkit.org/show_bug.cgi?id=127554
3313 Reviewed by Gustavo Noronha Silva.
3315 GUniqueOutPtr is a simplified version of GOwnPtr for the cases
3316 where we need the address of the contained pointer. GUniqueOutPtr
3317 uses GUniquePtr to free the contained object and to release the
3318 container pointer. The API is very simple to make sure this is
3319 only used when outPtr() is needed. It can't be constructed with a
3320 pointer, and there's not method to set a new pointer. Another
3321 difference with the old GOwnPtr is that outPtr() can be used
3322 multiple times, because it frees any pointer previously set.
3324 * GNUmakefile.list.am:
3325 * wtf/PlatformEfl.cmake:
3326 * wtf/PlatformGTK.cmake:
3327 * wtf/gobject/GOwnPtr.cpp: Removed.
3328 * wtf/gobject/GOwnPtr.h: Removed.
3329 * wtf/gobject/GUniquePtr.h:
3330 (WTF::GUniqueOutPtr::GUniqueOutPtr):
3331 (WTF::GUniqueOutPtr::~GUniqueOutPtr):
3332 (WTF::GUniqueOutPtr::outPtr):
3333 (WTF::GUniqueOutPtr::reset):
3334 (WTF::GUniqueOutPtr::release):
3335 (WTF::GUniqueOutPtr::operator*):
3336 (WTF::GUniqueOutPtr::operator->):
3337 (WTF::GUniqueOutPtr::get):
3338 (WTF::GUniqueOutPtr::operator!):
3339 (WTF::GUniqueOutPtr::operator UnspecifiedBoolType):
3341 2014-02-10 Darin Adler <darin@apple.com>
3343 Stop using String::deprecatedCharacters to call WTF::Collator
3344 https://bugs.webkit.org/show_bug.cgi?id=128517
3346 WTF passes ICU’s deprecated ULOC_REQUESTED_LOCALE to ucol_getLocaleByType()
3347 rdar://problem/15183390
3349 Reviewed by Alexey Proskuryakov.
3351 This patch fixes both bugs above by reworking WTF::Collator.
3353 * wtf/unicode/Collator.h: Fixed formatting. Got rid of the Collator::Result type,
3354 since the collator uses the same return value scheme as strcmp and as ICU; an int
3355 will do for the return type. Simplified the support for UCONFIG_NO_COLLATION by
3356 using a separate copy of the class definition. (We should check if anyone needs
3357 UCONFIG_NO_COLLATION support, and remove it if not.) Changed the lower-first flag
3358 from a separate function to a constructor argument. Changed the arguments to
3359 the collate function to StringView. Added a collate UTF8 function. Changed the
3360 m_collate data member to no longer be mutable since we no longer allocate it lazily.
3362 * wtf/unicode/CollatorDefault.cpp:
3363 (WTF::Collator::collate): Rewrote to be simpler.
3364 (WTF::Collator::collateUTF8): Added. Converts from UTF-8 to a String and then calls
3365 the collate function above.
3367 * wtf/unicode/icu/CollatorICU.cpp: Added a FIXME about the fact that this file
3368 has the wrong name and location. Since we always use ICU, there's no need to mention
3369 it in the file name.
3370 (WTF::copyASCIIString): Added.
3371 (WTF::copyDefaultLocale): Added.
3372 (WTF::resolveDefaultLocale): Added. Maps null locale to a default on Mac and iOS,
3373 since on those platforms ICU does not use the correct default locale when passed null.
3374 (WTF::localesMatch): Added.
3375 (WTF::Collator::Collator): Moved most of the code from createCollator here.
3376 Simplified it by storing the collator configuration along with the collator in globals.
3377 (WTF::Collator::~Collator): Moved most of the code from releaseCollator here.
3378 (WTF::getIndexLatin1): Added.
3379 (WTF::moveLatin1): Added.
3380 (WTF::hasNextLatin1): Added.
3381 (WTF::hasPreviousLatin1): Added.
3382 (WTF::currentLatin1): Added.
3383 (WTF::nextLatin1): Added.
3384 (WTF::previousLatin1): Added.
3385 (WTF::getStateLatin1): Added.
3386 (WTF::setStateLatin1): Added.
3387 (WTF::createLatin1Iterator): Added. Uses the functions above to make a UCharIterator
3388 that works for a WTF::StringView-style Latin-1 string.
3389 (WTF::createIterator): Added. Uses either createLatin1Iterator or uiter_setString to
3390 make a UCharIterator that works for a WTF::StringView.
3391 (WTF::Collator::collate): Changed to use ucol_strcollIter.
3392 (WTF::createIteratorUTF8): Added. Uses uiter_setUTF8.
3393 (WTF::Collator::collateUTF8): Added. Like collate, but for null-terminated UTF-8 strings.
3395 2014-02-10 Tamas Gergely <tgergely.u-szeged@partner.samsung.com>
3397 Code cleanup: Remove BUILDING_ON / TARGETING definitions.
3398 https://bugs.webkit.org/show_bug.cgi?id=128242
3400 Reviewed by Brent Fulgham.
3402 The BUILDING_ON_* and TARGETING_* macros have not been used for a while.
3403 According to the FIXME: they are removed.
3407 2014-02-09 Anders Carlsson <andersca@apple.com>
3409 Add WTF_MAKE_FAST_ALLOCATED to more classes
3410 https://bugs.webkit.org/show_bug.cgi?id=128506
3412 Reviewed by Andreas Kling.
3415 * wtf/ListHashSet.h:
3417 2014-02-08 Anders Carlsson <andersca@apple.com>
3419 Stop using getCharactersWithUpconvert in JavaScriptCore
3420 https://bugs.webkit.org/show_bug.cgi?id=128457
3422 Reviewed by Andreas Kling.
3424 * wtf/text/StringBuilder.h:
3425 (WTF::StringBuilder::append):
3426 Add a new overload that takes a StringView.
3428 * wtf/text/StringView.h:
3429 (WTF::StringView::find):
3430 Add new find member function.
3432 2014-02-08 Darin Adler <darin@apple.com>
3434 Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
3435 https://bugs.webkit.org/show_bug.cgi?id=128233
3437 Reviewed by Anders Carlsson.
3439 * WTF.xcodeproj/project.pbxproj: Added new source files.
3441 * wtf/text/StringView.h: Added operator[], createCFStringWithoutCopying, and
3442 createNSStringWithoutCopying.
3443 * wtf/text/cf/StringViewCF.cpp:
3444 (WTF::StringView::createCFStringWithoutCopying): Added.
3445 * wtf/text/mac/StringViewObjC.mm:
3446 (WTF::StringView::createNSString): Added.
3447 (WTF::StringView::createNSStringWithoutCopying): Added.
3449 2014-02-06 Andreas Kling <akling@apple.com>
3451 Remove unused ENABLE(REPAINT_THROTTLING) flag.
3452 <https://webkit.org/b/128329>
3454 Reviewed by Antti Koivisto.
3456 * wtf/FeatureDefines.h:
3458 2014-02-06 Filip Pizlo <fpizlo@apple.com>
3460 More FTL build scaffolding
3461 https://bugs.webkit.org/show_bug.cgi?id=128330
3463 Reviewed by Geoffrey Garen.
3467 2014-02-06 Anders Carlsson <andersca@apple.com>
3469 Use std::chrono functions in dispatchFunctionsFromMainThread()
3470 https://bugs.webkit.org/show_bug.cgi?id=128308
3472 Reviewed by Antti Koivisto.
3474 * wtf/MainThread.cpp:
3475 (WTF::dispatchFunctionsFromMainThread):
3477 2014-02-05 Zan Dobersek <zdobersek@igalia.com>
3479 Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro
3480 https://bugs.webkit.org/show_bug.cgi?id=128267
3482 Reviewed by Andreas Kling.
3484 Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro that was manually defined for compilers
3485 that support the C++11 initializer lists. The feature is well supported in Clang, MSVC and also GCC. It
3486 was actually already used unguarded in HashSet.
3490 (WTF::HashMap::HashMap):
3492 (WTF::Vector::Vector):
3494 2014-02-05 Andreas Kling <akling@apple.com>
3496 Remove ENABLE(DIRECTORY_UPLOAD).
3497 <https://webkit.org/b/128275>
3499 Rubber-stamped by Ryosuke Niwa.
3501 * wtf/FeatureDefines.h:
3503 2014-02-05 Carlos Garcia Campos <cgarcia@igalia.com>
3505 HashMap can't be used with std::unique_ptr as value when it has a custom deleter
3506 https://bugs.webkit.org/show_bug.cgi?id=128250
3508 Reviewed by Darin Adler.
3510 The problem is that the HashMap is using a unique_ptr with the
3511 default deleter, so that when trying to move the unique_ptr the
3512 deleters don't match.
3514 * wtf/HashTraits.h: Add the deleter also in the template
3515 definitation of the parent class for the HashTraits<std::unique_ptr<T, Deleter>>
3517 2014-02-05 Csaba Osztrogonác <ossy@webkit.org>
3519 Remove ENABLE(SVG) guards
3520 https://bugs.webkit.org/show_bug.cgi?id=127991
3522 Reviewed by Sam Weinig.
3524 * wtf/FeatureDefines.h:
3526 2014-02-04 Mark Lam <mark.lam@apple.com>
3528 The stack limit computation does not work for Windows.
3529 <https://webkit.org/b/128226>
3531 Reviewed by Geoffrey Garen.
3533 The current stack limit computation assumes that the stack is allocated
3534 in high memory. On Windows, the stack seems to be allocated very near
3535 address 0, and is smaller in size than our Options::maxPerThreadStackUsage().
3536 This combination triggers a bug where StackBounds::recursionLimit()
3537 underflows and computes a limit address that is ridiculously high in memory.
3538 The net effect is that the Windows port thinks its out of stack space all
3541 We now check for potential underflows in StackBounds and return an
3542 appropriate limit address.
3544 * wtf/StackBounds.h:
3545 (WTF::StackBounds::recursionLimit):
3547 2014-02-04 Andreas Kling <akling@apple.com>
3549 Remove <iframe seamless> support.
3550 <https://webkit.org/b/128213>
3552 Rubber-stamped by Antti Koivisto.
3554 * wtf/FeatureDefines.h:
3556 2014-02-04 Anders Carlsson <andersca@apple.com>
3558 Store StringImpl substring backpointers as tail data
3559 https://bugs.webkit.org/show_bug.cgi?id=128220
3561 Reviewed by Geoffrey Garen.
3563 This lets us get rid of m_substringBuffer from the union.
3565 * wtf/text/StringImpl.cpp:
3566 (WTF::StringImpl::~StringImpl):
3567 (WTF::StringImpl::getData16SlowCase):
3568 * wtf/text/StringImpl.h:
3569 (WTF::StringImpl::StringImpl):
3570 (WTF::StringImpl::createSubstringSharingImpl8):
3571 (WTF::StringImpl::createSubstringSharingImpl):
3572 (WTF::StringImpl::cost):
3573 (WTF::StringImpl::costDuringGC):
3574 (WTF::StringImpl::substringBuffer):
3576 2014-02-04 Anders Carlsson <andersca@apple.com>
3578 Rename the substring sharing StringImpl::create variants to better indicate what they do
3579 https://bugs.webkit.org/show_bug.cgi?id=128214
3581 Reviewed by Geoffrey Garen.
3583 * wtf/text/AtomicString.cpp:
3584 (WTF::SubstringTranslator::translate):
3585 * wtf/text/StringBuilder.cpp:
3586 (WTF::StringBuilder::reifyString):
3587 (WTF::StringBuilder::resize):
3588 * wtf/text/StringImpl.h:
3589 (WTF::StringImpl::createSubstringSharingImpl8):
3590 (WTF::StringImpl::createSubstringSharingImpl):
3591 * wtf/text/WTFString.cpp:
3592 (WTF::String::substringSharingImpl):
3594 2014-02-04 Alexey Proskuryakov <ap@apple.com>
3596 WebCrypto HMAC verification uses a non-constant-time memcmp
3597 https://bugs.webkit.org/show_bug.cgi?id=128198
3598 <rdar://problem/15976961>
3600 Reviewed by Oliver Hunt.
3602 Added a "constant time" memcmp that doesn't depend on data. The name is somewhat
3603 strange, as the function is of course O(length) and not constant time at all,
3604 but apparently this is how everyone calls such functions.
3606 * GNUmakefile.list.am:
3607 * WTF.vcxproj/WTF.vcxproj:
3608 * WTF.vcxproj/WTF.vcxproj.filters:
3609 * WTF.xcodeproj/project.pbxproj:
3610 * wtf/CMakeLists.txt:
3611 * wtf/CryptographicUtilities.cpp: Added. (WTF::constantTimeMemcmp):
3612 * wtf/CryptographicUtilities.h: Added.
3614 2014-02-04 Anders Carlsson <andersca@apple.com>
3616 Rename StringImpl::getCharacters to StringImpl::characters
3617 https://bugs.webkit.org/show_bug.cgi?id=128205
3619 Reviewed by Antti Koivisto.
3621 This lets us use StringImpl::getCharacters for the upconverting version.
3622 Also, change StringImpl::characters<UChar>() to call characters16() instead of deprecatedCharacters()
3623 and audit all call sites to make sure we weren't relying on upconversion anywhere.
3625 * wtf/text/AtomicString.cpp:
3627 * wtf/text/StringImpl.cpp:
3628 (WTF::StringImpl::simplifyMatchedCharactersToSpace):
3629 * wtf/text/StringImpl.h:
3630 (WTF::StringImpl::characters<LChar>):
3631 (WTF::StringImpl::characters<UChar>):
3633 2014-02-04 Anders Carlsson <andersca@apple.com>
3635 Rename equalNonNull to equal and make it take const StringImpl& instead
3636 https://bugs.webkit.org/show_bug.cgi?id=128206
3638 Reviewed by Andreas Kling.
3640 * wtf/text/StringHash.h:
3641 (WTF::StringHash::equal):
3642 * wtf/text/StringImpl.cpp:
3643 (WTF::stringImplContentEqual):
3645 * wtf/text/StringImpl.h:
3647 2014-02-04 Anders Carlsson <andersca@apple.com>
3649 Get rid of StringImpl::m_buffer
3650 https://bugs.webkit.org/show_bug.cgi?id=128200
3652 Reviewed by Michael Saboff.
3654 Trade one lousy hack for another by changing the CreateEmptyUnique StringImpl
3655 constructor to initialize its character buffer to point to m_length instead
3656 since it will always be null.
3658 Also change it to be an 8-bit string because why not.
3660 * wtf/text/StringImpl.h:
3661 (WTF::StringImpl::StringImpl):
3663 2014-02-04 Anders Carlsson <andersca@apple.com>
3665 Rename String::getCharacters to String::characters
3666 https://bugs.webkit.org/show_bug.cgi?id=128196
3668 Reviewed by Andreas Kling.
3670 This means String::characters() will end up calling either characters8() or characters16() which
3671 makes more logical sense. It also frees up the getCharacters name so we can use it for a new function
3672 that will do upconversion.
3674 * wtf/text/StringBuilder.cpp:
3675 (WTF::StringBuilder::appendUninitializedSlow):
3676 * wtf/text/WTFString.h:
3677 (WTF::String::characters<LChar>):
3678 (WTF::String::characters<UChar>):
3680 2014-02-03 Anders Carlsson <andersca@apple.com>
3684 * wtf/text/StringImpl.h:
3685 (WTF::StringImpl::tailOffset):
3687 2014-02-03 Anders Carlsson <andersca@apple.com>
3689 StringImpl::tailOffset() should return the offset right after m_hashAndFlags
3690 https://bugs.webkit.org/show_bug.cgi?id=128141
3692 Reviewed by Andreas Kling.
3694 * wtf/text/StringImpl.h:
3695 (WTF::StringImpl::tailOffset):
3697 2014-02-03 Anders Carlsson <andersca@apple.com>
3699 More tail pointer consolidation
3700 https://bugs.webkit.org/show_bug.cgi?id=128139
3702 Reviewed by Andreas Kling.
3704 Add a new tailOffset() function and reimplement allocationSize() and tailPointer()
3705 in terms of it. Use tailPointer() instead of reinterpret_cast-ing this + 1.
3707 * wtf/text/StringImpl.cpp:
3708 (WTF::StringImpl::createUninitializedInternalNonEmpty):
3709 * wtf/text/StringImpl.h:
3710 (WTF::StringImpl::StringImpl):
3711 (WTF::StringImpl::requiresCopy):
3712 (WTF::StringImpl::allocationSize):
3713 (WTF::StringImpl::tailOffset):
3714 (WTF::StringImpl::tailPointer):
3716 2014-02-03 Gustavo Noronha Silva <gns@gnome.org>
3718 [GTK][CMake] Enable SUBPIXEL_LAYOUT in FeatureDefines.h like EFL does
3719 https://bugs.webkit.org/show_bug.cgi?id=128136
3721 Reviewed by Martin Robinson.
3723 * wtf/FeatureDefines.h: enable SUBPIXEL_LAYOUT if it's not set, for GTK+.
3725 2014-02-03 Mark Hahnenberg <mhahnenberg@apple.com>
3728 https://bugs.webkit.org/show_bug.cgi?id=128109
3730 Reviewed by Oliver Hunt.
3732 * wtf/Platform.h: Initially it will only be enabled for X86-64.
3734 2014-02-03 Anders Carlsson <andersca@apple.com>
3736 Consolidate StringImpl tail handling into two functions
3737 https://bugs.webkit.org/show_bug.cgi?id=128122
3739 Reviewed by Andreas Kling.
3741 * wtf/text/StringImpl.cpp:
3742 (WTF::StringImpl::createUninitializedInternalNonEmpty):
3743 (WTF::StringImpl::reallocateInternal):
3744 * wtf/text/StringImpl.h:
3745 (WTF::StringImpl::tryCreateUninitialized):
3746 (WTF::StringImpl::allocationSize):
3747 (WTF::StringImpl::tailPointer):
3749 2014-02-03 Darin Adler <darin@apple.com>
3752 https://bugs.webkit.org/show_bug.cgi?id=128106
3754 Reviewed by Anders Carlsson.
3756 * GNUmakefile.list.am: Removed files.
3757 * WTF.vcxproj/WTF.vcxproj: Ditto.
3758 * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
3759 * WTF.xcodeproj/project.pbxproj: Ditto.
3760 * wtf/CMakeLists.txt: Ditto.
3762 * wtf/unicode/ScriptCodesFromICU.h: Removed.
3763 * wtf/unicode/Unicode.h: Removed.
3764 * wtf/unicode/UnicodeMacrosFromICU.h: Removed.
3765 * wtf/unicode/icu/UnicodeIcu.h: Removed.
3766 * wtf/unicode/wchar/UnicodeWchar.cpp: Removed.
3767 * wtf/unicode/wchar/UnicodeWchar.h: Removed.
3769 2014-01-25 Darin Adler <darin@apple.com>
3771 Stop using Unicode.h
3772 https://bugs.webkit.org/show_bug.cgi?id=127633
3774 Reviewed by Anders Carlsson.
3776 * wtf/StringHasher.h:
3778 * wtf/text/ASCIIFastPath.h:
3780 * wtf/text/StringBuffer.h:
3781 * wtf/text/StringImpl.h:
3782 * wtf/text/WTFString.cpp:
3783 * wtf/unicode/CharacterNames.h:
3784 * wtf/unicode/Collator.h:
3785 * wtf/unicode/UTF8.h:
3786 Removed includes of <wtf/unicode/Unicode.h>, adding includes of
3787 ICU headers and <wtf/text/LChar.h> as needed to replace it.
3789 2014-02-02 Darin Adler <darin@apple.com>
3791 Obey "delete this" comments, including deleting String::characters and friends
3792 https://bugs.webkit.org/show_bug.cgi?id=126865
3794 Reviewed by Andreas Kling.
3796 * wtf/text/AtomicString.h: Deleted the characters function.
3797 * wtf/text/StringBuilder.h: Deleted the characters function, leaving behind the
3798 deprecatedCharacters function.
3799 * wtf/text/StringImpl.h: Ditto.
3800 * wtf/text/WTFString.h: Ditto. Also added a constructor that takes a StringImpl&,
3801 helpful for later string refactoring.
3803 2014-02-02 Dan Bernstein <mitz@apple.com>
3805 Stop using PLATFORM(MAC) in WTF except where it means “OS X but not iOS”
3806 https://bugs.webkit.org/show_bug.cgi?id=128089
3808 Reviewed by Darin Adler.
3810 Replaced all uses of PLATFORM(MAC) that weren’t accompanied by !PLATFORM(IOS) with
3811 equivalent(*) tests that are more idiomatic and will not change once PLATFORM(MAC) changes to
3812 be false when building for iOS.
3814 * - One exception noted below.
3816 * wtf/AutodrainedPool.h: Changed PLATFORM(MAC) to USE(FOUNDATION), because NSAutoreleasePool
3817 is a Foundation class.
3819 * wtf/CurrentTime.cpp:
3820 (WTF::monotonicallyIncreasingTime): Changed PLATFORM(MAC) to OS(DARWIN), because Mach is
3821 part of the Darwin kernel, but reordered such that the EFL and GLIB implementations continue
3822 to take precedence regardless of the OS.
3824 * wtf/MainThread.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK).
3825 * wtf/MainThread.h: Ditto.
3827 * wtf/Platform.h: Changed USE(CG) and USE(CA) to depend on COCOA, rather than MAC or IOS.
3828 Ditto for USE(CFURLCACHE), HAVE(ACCESSIBILITY), USE(PROTECTION_SPACE_AUTH_CALLBACK),
3829 USE(ACCESSIBILITY_CONTEXT_MENUS), USE(EXPORT_MACROS), USE(AVFOUNDATION),
3830 USE(REQUEST_ANIMATION_FRAME_TIMER), USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR),
3831 USE(CONTENT_FILTERING), USE(UNIFIED_TEXT_CHECKING), USE(MARKER_REMOVAL_UPON_EDITING),
3832 USE(AUDIO_SESSION), USE(IOSURFACE), and ENABLE(CSS3_TEXT_DECORATION_SKIP_INK). Changed
3833 PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK) in controlling various
3834 JavaScriptCore or JavaScriptCore-dependent behaviors.
3836 * wtf/RunLoop.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
3837 * wtf/RunLoopTimerCF.cpp: Ditto.
3839 * wtf/SchedulePair.h: Changed PLATFORM(MAC) to USE(FOUNDATION), since it was used to guard
3840 usage of Foundation API.
3842 * wtf/Threading.cpp: Added an explicit !PLATFORM(IOS) in a guard around something needed
3843 only on OS X and Windows.
3845 2014-01-31 Benjamin Poulain <bpoulain@apple.com>
3847 Remove LEGACY_VIEWPORT_ADAPTION
3848 https://bugs.webkit.org/show_bug.cgi?id=128028
3850 Reviewed by Anders Carlsson.
3852 * wtf/FeatureDefines.h:
3854 2014-01-31 Tim Horton <timothy_horton@apple.com>
3856 [wk2] PlatformCALayerRemoteCustom doesn't work on iOS
3857 https://bugs.webkit.org/show_bug.cgi?id=128025
3858 <rdar://problem/15950271>
3860 Reviewed by Simon Fraser.
3863 Rename HAVE_LAYER_HOSTING_IN_WINDOW_SERVER to HAVE_OUT_OF_PROCESS_LAYER_HOSTING
3864 and make it true on iOS.
3866 2014-01-31 Michael Saboff <msaboff@apple.com>
3868 REGRESSION: Crash in sanitizeStackForVMImpl when scrolling @ lifehacker.com.au
3869 https://bugs.webkit.org/show_bug.cgi?id=128017
3871 Reviewed by Filip Pizlo.
3873 Moved the setting and saving of VM::stackPointerAtVMEntry and the corresponding stack limit
3874 to JSLock and JSLock::DropAllLocks. The saved data is now stored in per-thread in
3877 * wtf/WTFThreadData.cpp:
3878 (WTF::WTFThreadData::WTFThreadData):
3879 * wtf/WTFThreadData.h:
3880 (WTF::WTFThreadData::savedStackPointerAtVMEntry):
3881 (WTF::WTFThreadData::setSavedStackPointerAtVMEntry):
3882 (WTF::WTFThreadData::savedLastStackTop):
3883 (WTF::WTFThreadData::setSavedLastStackTop):
3884 (WTF::WTFThreadData::savedReservedZoneSize):
3885 (WTF::WTFThreadData::setSavedReservedZoneSize):
3887 2014-01-30 Andrei Bucur <abucur@adobe.com>
3889 Remove the ACCELERATED_COMPOSITING flag
3890 https://bugs.webkit.org/show_bug.cgi?id=127833
3892 Reviewed by Antti Koivisto.
3894 Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC
3897 * wtf/OwnPtrCommon.h:
3899 * wtf/efl/OwnPtrEfl.cpp:
3900 (WTF::deleteOwnedPtr):
3902 2014-01-28 Michael Saboff <msaboff@apple.com>
3904 Merge the jsCStack branch
3905 https://bugs.webkit.org/show_bug.cgi?id=127763
3907 Reviewed by Mark Hahnenberg.
3909 Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
3910 up to changeset 162958.
3912 2014-01-29 Csaba Osztrogonác <ossy@webkit.org>
3914 Remove ENABLE(JAVASCRIPT_DEBUGGER) guards
3915 https://bugs.webkit.org/show_bug.cgi?id=127840
3917 Reviewed by Mark Lam.
3919 * wtf/FeatureDefines.h:
3921 2014-01-28 Anders Carlsson <andersca@apple.com>
3923 Actually turn stack stats back off.
3925 * wtf/StackStats.cpp:
3928 2014-01-28 Anders Carlsson <andersca@apple.com>
3930 Turn stack stats back off.
3932 * wtf/StackStats.cpp:
3934 2014-01-28 Anders Carlsson <andersca@apple.com>
3936 Use std::mutex instead of WTF::Mutex in WTF
3937 https://bugs.webkit.org/show_bug.cgi?id=127783
3939 Reviewed by Antti Koivisto.
3941 * wtf/CryptographicallyRandomNumber.cpp:
3942 * wtf/MainThread.cpp:
3943 (WTF::mainThreadFunctionQueueMutex):
3944 (WTF::functionQueue):
3945 (WTF::dispatchFunctionsFromMainThread):
3946 (WTF::callOnMainThread):
3947 (WTF::cancelCallOnMainThread):
3948 * wtf/StackStats.cpp:
3949 (WTF::StackStats::initialize):
3950 (WTF::StackStats::CheckPoint::CheckPoint):
3951 (WTF::StackStats::CheckPoint::~CheckPoint):
3952 (WTF::StackStats::probe):
3953 (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
3954 (WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint):
3957 2014-01-27 Joseph Pecoraro <pecoraro@apple.com>
3959 WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
3960 https://bugs.webkit.org/show_bug.cgi?id=127671
3962 Reviewed by Ryosuke Niwa.
3964 * wtf/text/WTFString.h:
3965 (WTF::appendNumber):
3967 2014-01-27 Jer Noble <jer.noble@apple.com>
3969 [WK2] callOnMainThread() from main thread sometimes results in ASSERTs.
3970 https://bugs.webkit.org/show_bug.cgi?id=127370
3972 Reviewed by Alexey Proskuryakov.
3974 When WEB_THREAD is enabled, and callOnMainThread() is called from the main
3975 thread, if the web thread is locked, a timer is set and the passed-in function
3976 is called on the next run-loop. However, by that time the web thread may have
3977 been unlocked, and isMainThread() will no longer return true, resulting in
3980 Instead, scheduleDispatchFunctionsOnMainThread() should check isWebThread(),
3981 which is equivalent to isMainThread() when the WEB_THREAD is disabled, but
3982 will do the correct thing when WEB_THREAD is enabled.
3984 * wtf/mac/MainThreadMac.mm:
3985 (WTF::scheduleDispatchFunctionsOnMainThread):
3987 2014-01-27 Dan Bernstein <mitz@apple.com>
3991 * wtf/ThreadSafeRefCounted.h: Added a necessary #include.
3993 2014-01-25 Sam Weinig <sam@webkit.org>
3995 Remove unused support for DRAGGABLE_REGION
3996 https://bugs.webkit.org/show_bug.cgi?id=127642
3998 Reviewed by Simon Fraser.
4000 * wtf/FeatureDefines.h:
4002 2014-01-25 Joseph Pecoraro <pecoraro@apple.com>
4004 Add FALLTHROUGH and -Wimplicit-fallthrough to warn about unannotated implicit fallthroughs in switches
4005 https://bugs.webkit.org/show_bug.cgi?id=127637
4007 Reviewed by Darin Adler.
4009 For information about [[clang::fallthrough]], see:
4010 <http://clang.llvm.org/docs/LanguageExtensions.html#the-clang-fallthrough-attribute>
4012 * Configurations/Base.xcconfig:
4013 Enable -Wimplicit-fallthrough warnings.
4016 Define FALLTHROUGH on clang and fallback to outputing nothing when unsupported.
4018 * wtf/dtoa/fast-dtoa.cc:
4019 * wtf/unicode/UTF8.cpp:
4020 (WTF::Unicode::convertLatin1ToUTF8):
4021 (WTF::Unicode::convertUTF16ToUTF8):
4022 (WTF::Unicode::isLegalUTF8):
4023 (WTF::Unicode::readUTF8Sequence):
4024 Explicitly annotate implicit fallthroughs with FALLTHROUGH.
4026 2014-01-25 Darin Adler <darin@apple.com>
4028 Call deprecatedCharacters instead of characters at more call sites
4029 https://bugs.webkit.org/show_bug.cgi?id=127631
4031 Reviewed by Sam Weinig.
4033 * wtf/text/StringImpl.cpp:
4034 (WTF::StringImpl::replace):
4035 * wtf/text/WTFString.h:
4036 (WTF::String::isAllSpecialCharacters):
4039 2014-01-25 Darin Adler <darin@apple.com>
4041 Add a new separate LChar.h header file, to be used after we remove Unicode.h
4042 https://bugs.webkit.org/show_bug.cgi?id=127630
4044 Reviewed by Sam Weinig.
4046 * GNUmakefile.list.am: Added the new file
4047 * WTF.vcxproj/WTF.vcxproj: Ditto.
4048 * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
4049 * WTF.xcodeproj/project.pbxproj: Ditto.
4050 * wtf/CMakeLists.txt: Ditto.
4051 * wtf/text/LChar.h: Added.
4053 2014-01-25 Darin Adler <darin@apple.com>
4055 Get rid of ICU_UNICODE and WCHAR_UNICODE remnants
4056 https://bugs.webkit.org/show_bug.cgi?id=127623
4058 Reviewed by Anders Carlsson.
4060 * wtf/CMakeLists.txt: Removed WTF_USE_ICU_UNICODE and
4061 WTF_USE_WCHAR_UNICODE since they are true and false respectively.
4063 * wtf/Platform.h: Removed code to set WTF_USE_ICU_UNICODE.
4065 * wtf/unicode/Collator.h: Removed ifdefs.
4066 * wtf/unicode/CollatorDefault.cpp: Ditto.
4067 * wtf/unicode/Unicode.h: Ditto.
4068 * wtf/unicode/icu/CollatorICU.cpp: Ditto.
4070 2014-01-25 Anders Carlsson <andersca@apple.com>
4072 Remove atomicIncrement/atomicDecrement
4073 https://bugs.webkit.org/show_bug.cgi?id=127625
4075 Reviewed by Andreas Kling.
4077 Replace atomicIncrement/atomicDecrement with std::atomic.
4080 * wtf/RefCountedLeakCounter.cpp:
4081 (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
4082 (WTF::RefCountedLeakCounter::increment):
4083 (WTF::RefCountedLeakCounter::decrement):
4084 * wtf/RefCountedLeakCounter.h:
4085 * wtf/ThreadSafeRefCounted.h:
4086 (WTF::ThreadSafeRefCountedBase::ref):
4087 (WTF::ThreadSafeRefCountedBase::refCount):
4088 (WTF::ThreadSafeRefCountedBase::derefBase):
4090 2014-01-25 Anders Carlsson <andersca@apple.com>
4092 Modernize HashTable threading code
4093 https://bugs.webkit.org/show_bug.cgi?id=127621
4095 Reviewed by Darin Adler.
4097 Use std::mutex and std::atomic instead of WTF threading primitives.
4099 * wtf/DynamicAnnotations.h:
4100 Include Platform.h here since this file relies on USE macros.
4102 * wtf/HashTable.cpp:
4103 (WTF::HashTableStats::recordCollisionAtCount):
4104 Change this to take an unsigned.
4106 (WTF::HashTableStats::dumpStats):
4108 (WTF::KeyTraits>::HashTable):
4109 (WTF::KeyTraits>::remove):
4110 (WTF::KeyTraits>::invalidateIterators):
4111 Use a single probe counter.
4114 (WTF::removeIterator):
4116 2014-01-25 Darin Adler <darin@apple.com>
4118 Restore alphabetical order in Compiler.h
4119 https://bugs.webkit.org/show_bug.cgi?id=127620
4121 Reviewed by Sam Weinig.
4123 * wtf/Compiler.h: Resorted some things into alphabetical order
4125 2014-01-24 Brent Fulgham <bfulgham@apple.com>
4127 [Win] Convert some NMake files to MSBuild project files
4128 https://bugs.webkit.org/show_bug.cgi?id=127579
4130 Reviewed by Tim Horton.
4132 * WTF.vcxproj/WTF.make: Removed.
4133 * WTF.vcxproj/WTF.proj: Added.
4135 2014-01-24 Anders Carlsson <andersca@apple.com>
4137 Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead
4138 https://bugs.webkit.org/show_bug.cgi?id=127571
4140 Reviewed by Antti Koivisto.
4143 Add a CONSTEXPR define so we can still use constexpr on compilers that don't support them (MSVC).
4145 * wtf/CurrentTime.h:
4146 Remove monotonicallyIncreasingTimeMS().
4148 * wtf/StdLibExtras.h:
4149 (std::literals::chrono_literals::operator _s):
4150 (std::literals::chrono_literals::operator _ms):
4151 Add _s and _ms literals. Once we switch over to C++14, we can drop them and just use the built-in ones.
4153 2014-01-24 Anders Carlsson <andersca@apple.com>
4155 The CXX_EXPLICIT_CONVERSIONS COMPILER_SUPPORTS macro has been removed, and all
4156 compilers support explicit conversions now so simply remove the #ifdef.
4160 2014-01-24 Darin Adler <darin@apple.com>
4163 https://bugs.webkit.org/show_bug.cgi?id=127491
4165 Reviewed by Anders Carlsson.
4167 * wtf/Assertions.h: Remove COMPILER_SUPPORTS(CXX_STATIC_ASSERT), since
4168 we now have that for all compilers that can build WebKit.
4170 * wtf/Compiler.h: Removed always true feature flags, including:
4171 COMPILER_SUPPORTS(CXX_VARIADIC_TEMPLATES), COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES),
4172 COMPILER_SUPPORTS(CXX_DELETED_FUNCTIONS), COMPILER_SUPPORTS(CXX_NULLPTR),
4173 COMPILER_SUPPORTS(CXX_EXPLICIT_CONVERSIONS), COMPILER_SUPPORTS(CXX_STATIC_ASSERT),
4174 COMPILER_SUPPORTS(CXX_OVERRIDE_CONTROL), COMPILER_SUPPORTS(CXX_STRONG_ENUMS), and
4175 COMPILER_SUPPORTS(CXX_AUTO_TYPE). Sorted sections alphabetically. Separated out
4176 nested #if and #else into separate checks for greater readability. Removed obsolete
4177 check for COMPILER(RVCT). Removed unused COMPILER(GCCE) detection.
4179 * wtf/RefPtr.h: Remove COMPILER_SUPPORTS(CXX_NULLPTR), since we now have
4180 that for all compilers that can build WebKit.
4181 * wtf/RetainPtr.h: Ditto.
4183 2014-01-23 Max Vujovic <mvujovic@adobe.com>
4185 Remove CSS Custom Filters code and tests
4186 https://bugs.webkit.org/show_bug.cgi?id=127382
4188 Reviewed by Simon Fraser.
4190 * wtf/FeatureDefines.h:
4192 2014-01-22 Brent Fulgham <bfulgham@apple.com>
4194 [Win] Update project and solution files for 64-bit builds.
4195 https://bugs.webkit.org/show_bug.cgi?id=127457
4197 Reviewed by Eric Carlson.
4199 * WTF.vcxproj/WTF.submit.sln: Add x64 targets.
4200 * WTF.vcxproj/WTF.vcxproj: Update for VS2013
4202 2014-01-22 Myles C. Maxfield <mmaxfield@apple.com>
4204 Remove CSS3_TEXT_DECORATION define
4205 https://bugs.webkit.org/show_bug.cgi?id=127333
4207 Reviewed by Simon Fraser.
4209 This is required for unprefixing the text-decoration-* CSS properties.
4213 2014-01-22 Jae Hyun Park <jae.park@company100.net>
4215 Remove unnecessary include in Noncopyable.h
4216 https://bugs.webkit.org/show_bug.cgi?id=127406
4218 Reviewed by Anders Carlsson.
4220 * wtf/Noncopyable.h: We don't need Compiler.h as of r162198.
4222 2014-01-22 Carlos Garcia Campos <cgarcia@igalia.com>
4224 [GTK] Add GUniquePtr
4225 https://bugs.webkit.org/show_bug.cgi?id=127170
4227 Reviewed by Gustavo Noronha Silva.
4229 The idea is to replace GOwnPtr with a template alias of
4230 std:unique_ptr. Not everything can be replaced, though, because
4231 GOwnPtr::outPtr() doesn't seem to be possible to implement with
4232 unique_ptr. This smart pointer is more flexible than GOwnPtr and
4233 allows to transfer the ownership of the pointer using
4236 * GNUmakefile.list.am: Add new file to compilation.
4237 * wtf/gobject/GUniquePtr.h: Added.
4238 (WTF::GPtrDeleter::operator()):
4240 2014-01-20 Anders Carlsson <andersca@apple.com>
4242 Remove an unused member variable
4243 https://bugs.webkit.org/show_bug.cgi?id=127295
4245 Reviewed by Antti Koivisto.
4247 * wtf/MainThread.cpp:
4248 (WTF::FunctionWithContext::FunctionWithContext):
4249 (WTF::FunctionWithContext::operator == ):
4250 (WTF::dispatchFunctionsFromMainThread):
4252 2014-01-20 Anders Carlsson <andersca@apple.com>
4254 Remove MutexTryLocker
4255 https://bugs.webkit.org/show_bug.cgi?id=127294
4257 Reviewed by Antti Koivisto.
4259 MutexTryLocker has been replaced with std::unique_lock with std::try_to_lock everywhere now.
4261 * wtf/ThreadingPrimitives.h:
4263 2014-01-19 Carlos Garcia Campos <cgarcia@igalia.com>
4265 [GLIB] GVariant floating references are not correctly handled by GRefPtr
4266 https://bugs.webkit.org/show_bug.cgi?id=127246
4268 Reviewed by Martin Robinson.
4270 GRefPtr should always use g_variant_ref_sink to deal with GVariant
4271 floating references. In case of full references,
4272 g_variant_ref_sink calls g_variant_ref, so it's safe to use it always.
4274 * wtf/gobject/GRefPtr.cpp:
4275 (WTF::refGPtr): Use g_variant_ref_sink().
4277 2014-01-18 Anders Carlsson <andersca@apple.com>
4279 Remove support for the viewsource attribute
4280 https://bugs.webkit.org/show_bug.cgi?id=127232
4282 Reviewed by Andreas Kling.
4284 * wtf/FeatureDefines.h:
4286 2014-01-18 Anders Carlsson <andersca@apple.com>
4288 Remove ENABLE_THREADED_HTML_PARSER defines everywhere
4289 https://bugs.webkit.org/show_bug.cgi?id=127225
4291 Reviewed by Andreas Kling.
4293 This concludes the removal of over 8.8 million lines of threaded parser code.
4295 * wtf/FeatureDefines.h:
4297 2014-01-17 Anders Carlsson <andersca@apple.com>
4299 Add a callOnMainThreadAndWait variant in SocketStreamHandle
4300 https://bugs.webkit.org/show_bug.cgi?id=127180
4302 Reviewed by Geoffrey Garen.
4304 Remove callOnMainThreadAndWait from WTF.
4306 * wtf/MainThread.cpp:
4309 2014-01-17 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
4311 Remove workaround for compilers not supporting deleted functions
4312 https://bugs.webkit.org/show_bug.cgi?id=127166
4314 Reviewed by Andreas Kling.
4317 * wtf/Noncopyable.h:
4320 2014-01-16 Benjamin Poulain <bpoulain@apple.com>
4323 https://bugs.webkit.org/show_bug.cgi?id=127150
4325 Reviewed by Alexey Proskuryakov.
4327 * wtf/DisallowCType.h:
4328 * wtf/FeatureDefines.h:
4330 * wtf/PlatformNix.cmake: Removed.
4333 2014-01-16 Anders Carlsson <andersca@apple.com>
4336 https://bugs.webkit.org/show_bug.cgi?id=127149
4338 Reviewed by Tim Horton.
4342 2014-01-16 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
4344 Remove workaround for compilers not supporting explicit override control
4345 https://bugs.webkit.org/show_bug.cgi?id=127111
4347 Reviewed by Anders Carlsson.
4349 Now all compilers support explicit override control, this workaround can be removed.
4352 * wtf/FilePrintStream.h:
4354 * wtf/StringPrintStream.h:
4356 2014-01-16 Alberto Garcia <berto@igalia.com>
4358 Source/WTF/wtf/Atomics.h:300: Error: bad register name `%bpl'
4359 https://bugs.webkit.org/show_bug.cgi?id=126985